void AssistanceMovementGenerator::Finalize(Creature &unit) { unit.clearUnitState(UNIT_STAT_ROAMING | UNIT_STAT_ROAMING_MOVE); unit.SetNoCallAssistance(false); unit.CallAssistance(); if (unit.isAlive()) unit.GetMotionMaster()->MoveSeekAssistanceDistract(sWorld.getConfig(CONFIG_UINT32_CREATURE_FAMILY_ASSISTANCE_DELAY)); }
void AssistanceMovementGenerator::Finalize(Unit* owner, bool active, bool movementInform) { AddFlag(MOVEMENTGENERATOR_FLAG_FINALIZED); if (active) owner->ClearUnitState(UNIT_STATE_ROAMING_MOVE); if (movementInform && HasFlag(MOVEMENTGENERATOR_FLAG_INFORM_ENABLED)) { Creature* ownerCreature = owner->ToCreature(); ownerCreature->SetNoCallAssistance(false); ownerCreature->CallAssistance(); if (ownerCreature->IsAlive()) ownerCreature->GetMotionMaster()->MoveSeekAssistanceDistract(sWorld->getIntConfig(CONFIG_CREATURE_FAMILY_ASSISTANCE_DELAY)); } }