diff options
Diffstat (limited to 'src/server/game/Spells/SpellEffects.cpp')
| -rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 16 | 
1 files changed, 1 insertions, 15 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index e2aca6adda0..f731304766e 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -830,29 +830,15 @@ void Spell::CalculateJumpSpeeds(SpellEffectInfo const* effInfo, float dist, floa  {      Unit* unitCaster = GetUnitCasterForEffectHandlers();      ASSERT(unitCaster); -    float runSpeed = unitCaster->IsControlledByPlayer() ? playerBaseMoveSpeed[MOVE_RUN] : baseMoveSpeed[MOVE_RUN]; -    if (Creature* creature = unitCaster->ToCreature()) -        runSpeed *= creature->GetCreatureTemplate()->speed_run;      float multiplier = effInfo->Amplitude;      if (multiplier <= 0.0f)          multiplier = 1.0f; -    speedXY = std::min(runSpeed * 3.0f * multiplier, std::max(28.0f, unitCaster->GetSpeed(MOVE_RUN) * 4.0f)); - -    float duration = dist / speedXY; -    float durationSqr = duration * duration;      float minHeight = effInfo->MiscValue  ? effInfo->MiscValue  / 10.0f :    0.5f; // Lower bound is blizzlike      float maxHeight = effInfo->MiscValueB ? effInfo->MiscValueB / 10.0f : 1000.0f; // Upper bound is unknown -    float height; -    if (durationSqr < minHeight * 8 / Movement::gravity) -        height = minHeight; -    else if (durationSqr > maxHeight * 8 / Movement::gravity) -        height = maxHeight; -    else -        height = Movement::gravity * durationSqr / 8; -    speedZ = std::sqrt(2 * Movement::gravity * height); +    unitCaster->GetMotionMaster()->CalculateJumpSpeeds(dist, MOVE_RUN, multiplier, minHeight, maxHeight, speedXY, speedZ);  }  void Spell::EffectJump()  | 
