From 2e47bceafd3550f5e7c8e64293ae5ac4da96e7d3 Mon Sep 17 00:00:00 2001 From: Shauren Date: Tue, 20 Mar 2018 23:52:52 +0100 Subject: Core/Spells: Fixed crash with m_delayMoment calculation for reflected spells --- src/server/game/Spells/Spell.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index e0623e54554..912de1a315d 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -2182,10 +2182,6 @@ void Spell::AddUnitTarget(Unit* target, uint32 effectMask, bool checkIfValid /*= targetInfo.timeDelay = uint64(std::floor(dist / m_spellInfo->Speed * 1000.0f)); else targetInfo.timeDelay = uint64(m_spellInfo->Speed * 1000.0f); - - // Calculate minimum incoming time - if (!m_delayMoment || m_delayMoment > targetInfo.timeDelay) - m_delayMoment = targetInfo.timeDelay; } else targetInfo.timeDelay = 0ULL; @@ -2205,6 +2201,10 @@ void Spell::AddUnitTarget(Unit* target, uint32 effectMask, bool checkIfValid /*= else targetInfo.reflectResult = SPELL_MISS_NONE; + // Calculate minimum incoming time + if (targetInfo.timeDelay && (!m_delayMoment || m_delayMoment > targetInfo.timeDelay)) + m_delayMoment = targetInfo.timeDelay; + // Add target to list m_UniqueTargetInfo.push_back(targetInfo); } -- cgit v1.2.3