void FollowMovementGenerator<T>::Finalize(T &owner) { owner.clearUnitState(UNIT_STAT_FOLLOW|UNIT_STAT_FOLLOW_MOVE); _updateWalkMode(owner); _updateSpeed(owner); }
void FollowMovementGenerator<Creature>::Initialize(Creature& owner) { owner.addUnitState(UNIT_STAT_FOLLOW); // _MOVE set in _SetTargetLocation after required checks _updateSpeed(owner); _setTargetLocation(owner, true); }
void FollowMovementGenerator<T>::Interrupt(T& owner) { owner.clearUnitState(UNIT_STAT_FOLLOW | UNIT_STAT_FOLLOW_MOVE); _updateSpeed(owner); }
void FollowMovementGenerator<T>::DoFinalize(T* owner) { owner->ClearUnitState(UNIT_STATE_FOLLOW | UNIT_STATE_FOLLOW_MOVE); _updateSpeed(owner); }
void FollowMovementGenerator<Creature>::DoInitialize(Creature* owner) { owner->AddUnitState(UNIT_STATE_FOLLOW | UNIT_STATE_FOLLOW_MOVE); _updateSpeed(owner); _setTargetLocation(owner, true); }
void FollowMovementGenerator<Creature>::Initialize(Creature &owner) { owner.addUnitState(UNIT_STAT_FOLLOW|UNIT_STAT_FOLLOW_MOVE); _updateSpeed(owner); _setTargetLocation(owner); }
void FollowMovementGenerator<Player>::Initialize(Player& owner) { owner.addUnitState(UNIT_STAT_FOLLOW | UNIT_STAT_FOLLOW_MOVE); _updateSpeed(owner); _setTargetLocation(owner, true); }
void FollowMovementGenerator<T>::Finalize(T& owner) { owner.ClearUnitState(UNIT_STATE_FOLLOW); _updateSpeed(owner); }