From 0ea0e9ee01383d8a74357000e854dc0777669d6d Mon Sep 17 00:00:00 2001 From: mik1893 Date: Wed, 15 Jul 2015 18:21:43 +0200 Subject: Merge pull request #14883 from tkrokli/omen_of_clarity [3.3.5] Core/Spells: Avoid losing spell mod auras when check on spellcast fails (cherry picked from commit 35f0d8e9c1e89c3095c82e0dd89d9f8f08f288a3) --- src/server/game/Spells/Spell.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/server') diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 8bca6ab88d5..ae9fd1bee0d 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -2997,6 +2997,14 @@ void Spell::prepare(SpellCastTargets const* targets, AuraEffect const* triggered triggeredByAura->GetBase()->SetDuration(0); } + if (m_caster->GetTypeId() == TYPEID_PLAYER) + { + m_caster->ToPlayer()->RestoreSpellMods(this); + // cleanup after mod system + // triggered spell pointer can be not removed in some cases + m_caster->ToPlayer()->SetSpellModTakingSpell(this, false); + } + SendCastResult(result); finish(false); -- cgit v1.2.3