diff options
| author | Kaelima <kaelima@live.se> | 2012-07-28 08:49:36 -0700 |
|---|---|---|
| committer | Kaelima <kaelima@live.se> | 2012-07-28 08:49:36 -0700 |
| commit | 41da3fedc881419bb2e682eb960820dcc6526ffb (patch) | |
| tree | ab1a3bb612b4fbdb72536b0b70073607979874b0 | |
| parent | bf22bc11d377fb5aed49d77fca0626fb2d298433 (diff) | |
| parent | 5acae3253053ea91bb0327adf6eddd864669f80d (diff) | |
Merge pull request #7212 from Pesthuf/master
NPC knockback visual
| -rwxr-xr-x | src/server/game/Movement/MotionMaster.cpp | 10 |
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) |
