aboutsummaryrefslogtreecommitdiff
path: root/src/game/PointMovementGenerator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/PointMovementGenerator.cpp')
-rw-r--r--src/game/PointMovementGenerator.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/game/PointMovementGenerator.cpp b/src/game/PointMovementGenerator.cpp
index 54fcba4898e..31b696bcd3b 100644
--- a/src/game/PointMovementGenerator.cpp
+++ b/src/game/PointMovementGenerator.cpp
@@ -44,7 +44,12 @@ bool PointMovementGenerator<T>::Update(T &unit, const uint32 &diff)
return false;
if(unit.hasUnitState(UNIT_STAT_ROOT | UNIT_STAT_STUNNED))
- return true;
+ {
+ if(unit.hasUnitState(UNIT_STAT_CHARGING))
+ return false;
+ else
+ return true;
+ }
Traveller<T> traveller(unit);
@@ -53,7 +58,8 @@ bool PointMovementGenerator<T>::Update(T &unit, const uint32 &diff)
if(i_destinationHolder.HasArrived())
{
unit.StopMoving();
- MovementInform(unit);
+ if(!unit.hasUnitState(UNIT_STAT_CHARGING))
+ MovementInform(unit);
return false;
}