From dda2fdff33a6d12d6e8f2913fbb439d9b670890f Mon Sep 17 00:00:00 2001 From: megamage Date: Sat, 11 Apr 2009 22:41:15 -0500 Subject: *Implement spell Disengage and Death Grip. --HG-- branch : trunk --- src/game/MotionMaster.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src/game/MotionMaster.cpp') diff --git a/src/game/MotionMaster.cpp b/src/game/MotionMaster.cpp index 6d7a40da045..b299fbfd40a 100644 --- a/src/game/MotionMaster.cpp +++ b/src/game/MotionMaster.cpp @@ -305,7 +305,7 @@ MotionMaster::MovePoint(uint32 id, float x, float y, float z) } } -void MotionMaster::MoveJumpFrom(float srcX, float srcY, float speedXY, float speedZ) +void MotionMaster::MoveKnockbackFrom(float srcX, float srcY, float speedXY, float speedZ) { //this function may make players fall below map if(i_owner->GetTypeId()==TYPEID_PLAYER) @@ -317,6 +317,18 @@ void MotionMaster::MoveJumpFrom(float srcX, float srcY, float speedXY, float spe MoveJump(x, y, z, speedXY, speedZ); } +void MotionMaster::MoveJumpTo(float angle, float speedXY, float speedZ) +{ + //this function may make players fall below map + if(i_owner->GetTypeId()==TYPEID_PLAYER) + return; + + float x, y, z; + float dist = speedXY * speedZ * 0.1f; + i_owner->GetClosePoint(x, y, z, i_owner->GetObjectSize(), dist, angle); + MoveJump(x, y, z, speedXY, speedZ); +} + void MotionMaster::MoveJump(float x, float y, float z, float speedXY, float speedZ) { uint32 moveFlag = MOVEFLAG_JUMP | MOVEFLAG_WALK; -- cgit v1.2.3