aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Spells/Spell.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 33c95e4b2a2..a168305b559 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -3656,15 +3656,18 @@ void Spell::finish(bool ok)
{
if (!m_triggeredByAuraSpell)
m_caster->ToPlayer()->UpdatePotionCooldown(this);
+ }
+ if (Player* modOwner = m_caster->GetSpellModOwner())
+ {
// triggered spell pointer can be not set in some cases
// this is needed for proper apply of triggered spell mods
- m_caster->ToPlayer()->SetSpellModTakingSpell(this, true);
+ modOwner->SetSpellModTakingSpell(this, true);
// Take mods after trigger spell (needed for 14177 to affect 48664)
// mods are taken only on succesfull cast and independantly from targets of the spell
- m_caster->ToPlayer()->RemoveSpellMods(this);
- m_caster->ToPlayer()->SetSpellModTakingSpell(this, false);
+ modOwner->RemoveSpellMods(this);
+ modOwner->SetSpellModTakingSpell(this, false);
}
// Stop Attack for some spells