aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormegamage <none@none>2009-06-09 23:53:08 -0500
committermegamage <none@none>2009-06-09 23:53:08 -0500
commitc9d9ae1e491243f82be5ac84dc2ad51dfbae35eb (patch)
tree4dafeec4521dd31d3eaabb8eb30bc159f4c31dce
parent427a81649bed3dffd40d8107155a25266b441e78 (diff)
*Fix the bug that fleeing movement does not work for players.
--HG-- branch : trunk
-rw-r--r--src/game/FleeingMovementGenerator.cpp8
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())