diff options
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
-rw-r--r-- | src/server/game/Spells/Spell.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index b6cafb07edf..785ad4008f9 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -573,7 +573,7 @@ m_spellValue(new SpellValue(m_spellInfo, caster)), _spellEvent(nullptr) unitTarget = nullptr; itemTarget = nullptr; gameObjTarget = nullptr; - corpseTarget = nullptr; + m_corpseTarget = nullptr; destTarget = nullptr; damage = 0; targetMissInfo = SPELL_MISS_NONE; @@ -591,7 +591,6 @@ m_spellValue(new SpellValue(m_spellInfo, caster)), _spellEvent(nullptr) memset(m_misc.Raw.Data, 0, sizeof(m_misc.Raw.Data)); m_SpellVisual.SpellXSpellVisualID = caster->GetCastSpellXSpellVisualId(m_spellInfo); m_triggeredByAuraSpell = nullptr; - unitCaster = nullptr; _spellAura = nullptr; _dynObjAura = nullptr; @@ -5267,10 +5266,9 @@ void Spell::HandleEffects(Unit* pUnitTarget, Item* pItemTarget, GameObject* pGoT unitTarget = pUnitTarget; itemTarget = pItemTarget; gameObjTarget = pGoTarget; - corpseTarget = pCorpseTarget; + m_corpseTarget = pCorpseTarget; destTarget = &m_destTargets[spellEffectInfo.EffectIndex]._position; effectInfo = &spellEffectInfo; - unitCaster = m_originalCaster ? m_originalCaster : m_caster->ToUnit(); damage = CalculateDamage(spellEffectInfo, unitTarget, &variance); @@ -7829,6 +7827,11 @@ bool Spell::IsNeedSendToClient() const (m_spellInfo->HasAttribute(SPELL_ATTR8_AURA_SEND_AMOUNT)) || m_spellInfo->HasHitDelay() || (!m_triggeredByAuraSpell && !IsTriggered()); } +Unit* Spell::GetUnitCasterForEffectHandlers() const +{ + return m_originalCaster ? m_originalCaster : m_caster->ToUnit(); +} + SpellEvent::SpellEvent(Spell* spell) : BasicEvent() { m_Spell = spell; |