aboutsummaryrefslogtreecommitdiff
path: root/src/game/ConfusedMovementGenerator.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2009-01-17 13:34:43 -0600
committermegamage <none@none>2009-01-17 13:34:43 -0600
commit8739ded05dbf68486551531024f1ad8ad7b389cf (patch)
tree87f71484a1fa5b4578fc46bebafa4adc64078fc2 /src/game/ConfusedMovementGenerator.cpp
parentfa2e6622ad9dca5051b451e14ea303670ec65fa6 (diff)
parentf414ab1686c300787e3dfb0c397227062b8feea6 (diff)
*Merge.
--HG-- branch : trunk
Diffstat (limited to 'src/game/ConfusedMovementGenerator.cpp')
-rw-r--r--src/game/ConfusedMovementGenerator.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/game/ConfusedMovementGenerator.cpp b/src/game/ConfusedMovementGenerator.cpp
index 1163d7249cb..ad8bab6e369 100644
--- a/src/game/ConfusedMovementGenerator.cpp
+++ b/src/game/ConfusedMovementGenerator.cpp
@@ -65,6 +65,9 @@ ConfusedMovementGenerator<T>::Initialize(T &unit)
i_waypoints[idx][2] = z;
}
+ unit.SetUInt64Value(UNIT_FIELD_TARGET, 0);
+ unit.SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_CONFUSED);
+ unit.CastStop();
unit.StopMoving();
unit.RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE);
unit.addUnitState(UNIT_STAT_CONFUSED);
@@ -144,7 +147,10 @@ template<class T>
void
ConfusedMovementGenerator<T>::Finalize(T &unit)
{
+ unit.RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_CONFUSED);
unit.clearUnitState(UNIT_STAT_CONFUSED);
+ if(unit.GetTypeId() == TYPEID_UNIT && unit.getVictim())
+ unit.SetUInt64Value(UNIT_FIELD_TARGET, unit.getVictim()->GetGUID());
}
template void ConfusedMovementGenerator<Player>::Initialize(Player &player);