diff options
| author | Shauren <shauren.trinity@gmail.com> | 2025-07-25 16:55:15 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2025-07-25 16:55:15 +0200 |
| commit | 65715e7dd9ad4fa94b7db54bcd1118bd6ffc5d1f (patch) | |
| tree | bcfc173f2acb9d8a6c88909f8366eafe7847797e /src/server/game/Spells/Spell.cpp | |
| parent | f536e1a266c2f38ed423a28116d3af88dbca5e40 (diff) | |
Core/Misc: Reduce differences between branches
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
| -rw-r--r-- | src/server/game/Spells/Spell.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index bbf7a39afbb..000bc453f6c 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -904,13 +904,13 @@ uint64 Spell::CalculateDelayMomentForDst() const { float speed = m_targets.GetSpeedXY(); if (speed > 0.0f) - return (uint64)floor(m_targets.GetDist2d() / speed * 1000.0f); + return uint64(std::floor(m_targets.GetDist2d() / speed * 1000.0f)); } else if (m_spellInfo->Speed > 0.0f) { // We should not subtract caster size from dist calculation (fixes execution time desync with animation on client, eg. Malleable Goo cast by PP) float dist = m_caster->GetExactDist(*m_targets.GetDstPos()); - return (uint64)std::floor(dist / m_spellInfo->Speed * 1000.0f); + return uint64(std::floor(dist / m_spellInfo->Speed * 1000.0f)); } } @@ -2185,6 +2185,7 @@ void Spell::AddUnitTarget(Unit* target, uint32 effectMask, bool checkIfValid /*= if (dist < 5.0f) dist = 5.0f; + targetInfo.TimeDelay = uint64(std::floor(dist / m_spellInfo->Speed * 1000.0f)); // Calculate minimum incoming time @@ -2269,7 +2270,9 @@ void Spell::AddGOTarget(GameObject* go, uint32 effectMask) float dist = m_caster->GetDistance(go->GetPositionX(), go->GetPositionY(), go->GetPositionZ()); if (dist < 5.0f) dist = 5.0f; + target.TimeDelay = uint64(std::floor(dist / m_spellInfo->Speed * 1000.0f)); + if (!m_delayMoment || m_delayMoment > target.TimeDelay) m_delayMoment = target.TimeDelay; } |
