diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 3 | ||||
-rw-r--r-- | src/server/game/Entities/Unit/Unit.h | 2 | ||||
-rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 6 |
3 files changed, 5 insertions, 6 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 31419f99ce2..bc133cc31ec 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -11786,9 +11786,8 @@ uint32 Unit::GetModelForForm(ShapeshiftForm form, uint32 spellId) const return modelid; } -void Unit::JumpTo(float speedXY, float speedZ, bool forward, Optional<Position> dest) +void Unit::JumpTo(float speedXY, float speedZ, float angle, Optional<Position> dest) { - float angle = forward ? 0 : float(M_PI); if (dest) angle += GetRelativeAngle(*dest); diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index ba24f13bd0a..b25903e99fc 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -1196,7 +1196,7 @@ class TC_GAME_API Unit : public WorldObject void SendMoveKnockBack(Player* player, float speedXY, float speedZ, float vcos, float vsin); void KnockbackFrom(Position const& origin, float speedXY, float speedZ, Movement::SpellEffectExtraData const* spellEffectExtraData = nullptr); - void JumpTo(float speedXY, float speedZ, bool forward = true, Optional<Position> dest = {}); + void JumpTo(float speedXY, float speedZ, float angle, Optional<Position> dest = {}); void JumpTo(WorldObject* obj, float speedZ, bool withOrientation = false); void MonsterMoveWithSpeed(float x, float y, float z, float speed, bool generatePath = false, bool forceDestination = false); diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index ead692c1a52..67c667b268e 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -4095,7 +4095,7 @@ void Spell::EffectLeapBack() float speedxy = effectInfo->MiscValue / 10.f; float speedz = damage / 10.f; // Disengage - unitTarget->JumpTo(speedxy, speedz, m_spellInfo->IconFileDataId != 132572); + unitTarget->JumpTo(speedxy, speedz, effectInfo->PositionFacing); // changes fall time if (m_caster->GetTypeId() == TYPEID_PLAYER) @@ -4188,7 +4188,7 @@ void Spell::EffectPullTowards() return; } - unitTarget->JumpTo(speedXY, speedZ, true, pos); + unitTarget->JumpTo(speedXY, speedZ, 0.0f, pos); } void Spell::EffectPullTowardsDest() @@ -4224,7 +4224,7 @@ void Spell::EffectPullTowardsDest() return; } - unitTarget->JumpTo(speedXY, speedZ, true, *pos); + unitTarget->JumpTo(speedXY, speedZ, 0.0f, *pos); } void Spell::EffectChangeRaidMarker() |