diff options
author | megamage <none@none> | 2009-06-09 23:53:08 -0500 |
---|---|---|
committer | megamage <none@none> | 2009-06-09 23:53:08 -0500 |
commit | c9d9ae1e491243f82be5ac84dc2ad51dfbae35eb (patch) | |
tree | 4dafeec4521dd31d3eaabb8eb30bc159f4c31dce | |
parent | 427a81649bed3dffd40d8107155a25266b441e78 (diff) |
*Fix the bug that fleeing movement does not work for players.
--HG--
branch : trunk
-rw-r--r-- | src/game/FleeingMovementGenerator.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/game/FleeingMovementGenerator.cpp b/src/game/FleeingMovementGenerator.cpp index 31fc350af70..27c4490801d 100644 --- a/src/game/FleeingMovementGenerator.cpp +++ b/src/game/FleeingMovementGenerator.cpp @@ -45,7 +45,7 @@ FleeingMovementGenerator<T>::_setTargetLocation(T &owner) if(!_getPoint(owner, x, y, z)) return; - owner.addUnitState(UNIT_STAT_FLEEING); + owner.addUnitState(UNIT_STAT_FLEEING | UNIT_STAT_ROAMING); Traveller<T> traveller(owner); i_destinationHolder.SetDestination(traveller, x, y, z); } @@ -304,7 +304,7 @@ FleeingMovementGenerator<T>::Initialize(T &owner) _Init(owner); owner.CastStop(); - owner.addUnitState(UNIT_STAT_FLEEING); + owner.addUnitState(UNIT_STAT_FLEEING | UNIT_STAT_ROAMING); owner.SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_FLEEING); owner.SetUInt64Value(UNIT_FIELD_TARGET, 0); owner.RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); @@ -353,7 +353,7 @@ void FleeingMovementGenerator<T>::Finalize(T &owner) { owner.RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_FLEEING); - owner.clearUnitState(UNIT_STAT_FLEEING); + owner.clearUnitState(UNIT_STAT_FLEEING | UNIT_STAT_ROAMING); if(owner.GetTypeId() == TYPEID_UNIT && owner.getVictim()) owner.SetUInt64Value(UNIT_FIELD_TARGET, owner.getVictim()->GetGUID()); } @@ -413,7 +413,7 @@ template bool FleeingMovementGenerator<Creature>::Update(Creature &, const uint3 void TimedFleeingMovementGenerator::Finalize(Unit &owner) { - owner.clearUnitState(UNIT_STAT_FLEEING); + owner.clearUnitState(UNIT_STAT_FLEEING | UNIT_STAT_ROAMING); if (Unit* victim = owner.getVictim()) { if (owner.isAlive()) |