aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPolarCookie <sei009@post.uit.no>2018-11-04 12:38:14 +0100
committerGiacomo Pozzoni <giacomopoz@gmail.com>2018-11-04 12:38:14 +0100
commita0999744ef02bf1494233411d873552d3d564d8a (patch)
treef6a7edf08e8ddacf72052985bdbb7ef049ed065b /src
parentae22fd6d7489e11d5bd208e90c1a5b6d27b81e4d (diff)
Core/Spells: fix issues with delayed spells and auras (#22382)
* Core/Spells: fix issues with delayed spells and auras * Make Travis Happy
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Spells/Spell.cpp9
1 files changed, 1 insertions, 8 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index b36a014d509..83afa7ff4c6 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -2763,14 +2763,7 @@ void Spell::DoSpellEffectHit(Unit* unit, uint8 effIndex, TargetInfo& hitInfo)
bool refresh = false;
// delayed spells with multiple targets need to create a new aura object, otherwise we'll access a deleted aura
- if (m_spellInfo->Speed > 0.0f && !m_spellInfo->IsChanneled())
- {
- _spellAura = nullptr;
- if (Aura* aura = unit->GetAura(m_spellInfo->Id, caster->GetGUID(), m_CastItem ? m_CastItem->GetGUID() : ObjectGuid::Empty, aura_effmask))
- _spellAura = aura->ToUnitAura();
- }
-
- if (!_spellAura)
+ if (!_spellAura || (m_spellInfo->Speed > 0.0f && !m_spellInfo->IsChanneled()))
{
bool const resetPeriodicTimer = !(_triggeredCastFlags & TRIGGERED_DONT_RESET_PERIODIC_TIMER);
uint8 const allAuraEffectMask = Aura::BuildEffectMaskForOwner(hitInfo.AuraSpellInfo, MAX_EFFECT_MASK, unit);