diff options
author | Shauren <shauren.trinity@gmail.com> | 2018-03-20 23:52:52 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2018-03-20 23:52:52 +0100 |
commit | 2e47bceafd3550f5e7c8e64293ae5ac4da96e7d3 (patch) | |
tree | 331aa3cc168aefb1d6a3bb005e6342acec8055b2 | |
parent | 5734788c0277d7f342d534dca63db0ce4e862bc5 (diff) |
Core/Spells: Fixed crash with m_delayMoment calculation for reflected spells
-rw-r--r-- | src/server/game/Spells/Spell.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
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); } |