aboutsummaryrefslogtreecommitdiff
path: root/src/game/IdleMovementGenerator.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2009-05-01 21:04:02 -0500
committermegamage <none@none>2009-05-01 21:04:02 -0500
commita102098eb2f76ab1e49497c5ebbb8e6359c8b964 (patch)
tree87706926d1189d683e436e559d1c35dc3b02d2ae /src/game/IdleMovementGenerator.cpp
parentc9cd3b07f9e69030a86bcd9f06055f4247732d1d (diff)
*Send stop packet iff necessary. Hope this can fix the bug that cannot immediatly remove confuse movement and face wrong direction after charging.
--HG-- branch : trunk
Diffstat (limited to 'src/game/IdleMovementGenerator.cpp')
-rw-r--r--src/game/IdleMovementGenerator.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/game/IdleMovementGenerator.cpp b/src/game/IdleMovementGenerator.cpp
index c6598409b44..f8161c186c5 100644
--- a/src/game/IdleMovementGenerator.cpp
+++ b/src/game/IdleMovementGenerator.cpp
@@ -23,14 +23,19 @@
IdleMovementGenerator si_idleMovement;
+// StopMoving is needed to make unit stop if its last movement generator expires
+// But it should not be sent otherwise there are many redundent packets
void IdleMovementGenerator::Initialize(Unit &owner)
{
- owner.StopMoving();
+ if(owner.hasUnitState(UNIT_STAT_MOVE))
+ owner.StopMoving();
}
void
-IdleMovementGenerator::Reset(Unit& /*owner*/)
+IdleMovementGenerator::Reset(Unit& owner)
{
+ if(owner.hasUnitState(UNIT_STAT_MOVE))
+ owner.StopMoving();
}
void