From 3c93cccdb11f40629d93c604d1b040d4f14144b0 Mon Sep 17 00:00:00 2001 From: QAston Date: Sun, 29 May 2011 15:46:14 +0200 Subject: Core/Auras: Prevent assertion fail due code in AuraEffect::HandleAuraLinked, also improve the sync between auras linked by this aura type. --- src/server/game/Spells/SpellMgr.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/server/game/Spells/SpellMgr.cpp') diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index c852e2d133c..9c64c292a6e 100755 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -427,7 +427,7 @@ uint32 CalculatePowerCost(SpellEntry const * spellInfo, Unit const * caster, Spe return powerCost; } -Unit* GetTriggeredSpellCaster(SpellEntry const * spellInfo, Unit * caster, Unit * target) +bool IsSpellRequiringFocusedTarget(SpellEntry const * spellInfo) { for (uint8 i = 0 ; i < MAX_SPELL_EFFECTS; ++i) { @@ -437,8 +437,15 @@ Unit* GetTriggeredSpellCaster(SpellEntry const * spellInfo, Unit * caster, Unit || SpellTargetType[spellInfo->EffectImplicitTargetB[i]] == TARGET_TYPE_CHANNEL || SpellTargetType[spellInfo->EffectImplicitTargetA[i]] == TARGET_TYPE_DEST_TARGET || SpellTargetType[spellInfo->EffectImplicitTargetB[i]] == TARGET_TYPE_DEST_TARGET) - return caster; + return true; } + +} + +Unit* GetTriggeredSpellCaster(SpellEntry const * spellInfo, Unit * caster, Unit * target) +{ + if (IsSpellRequiringFocusedTarget(spellInfo)) + return caster; return target; } -- cgit v1.2.3