aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaelima <kaelima@live.se>2012-07-28 08:49:36 -0700
committerKaelima <kaelima@live.se>2012-07-28 08:49:36 -0700
commit41da3fedc881419bb2e682eb960820dcc6526ffb (patch)
treeab1a3bb612b4fbdb72536b0b70073607979874b0
parentbf22bc11d377fb5aed49d77fca0626fb2d298433 (diff)
parent5acae3253053ea91bb0327adf6eddd864669f80d (diff)
Merge pull request #7212 from Pesthuf/master
NPC knockback visual
-rwxr-xr-xsrc/server/game/Movement/MotionMaster.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/server/game/Movement/MotionMaster.cpp b/src/server/game/Movement/MotionMaster.cpp
index bc0570bb73b..cde176443f0 100755
--- a/src/server/game/Movement/MotionMaster.cpp
+++ b/src/server/game/Movement/MotionMaster.cpp
@@ -335,9 +335,17 @@ void MotionMaster::MoveKnockbackFrom(float srcX, float srcY, float speedXY, floa
float x, y, z;
float moveTimeHalf = speedZ / Movement::gravity;
float dist = 2 * moveTimeHalf * speedXY;
+ float max_height = -Movement::computeFallElevation(moveTimeHalf,false,-speedZ);
_owner->GetNearPoint(_owner, x, y, z, _owner->GetObjectSize(), dist, _owner->GetAngle(srcX, srcY) + M_PI);
- MoveJump(x, y, z, speedXY, speedZ);
+
+ Movement::MoveSplineInit init(*_owner);
+ init.MoveTo(x,y,z);
+ init.SetParabolic(max_height,0);
+ init.SetOrientationFixed(true);
+ init.SetVelocity(speedXY);
+ init.Launch();
+ Mutate(new EffectMovementGenerator(0), MOTION_SLOT_CONTROLLED);
}
void MotionMaster::MoveJumpTo(float angle, float speedXY, float speedZ)