diff options
| author | QAston <qaston@gmail.com> | 2011-05-29 15:46:14 +0200 |
|---|---|---|
| committer | QAston <qaston@gmail.com> | 2011-05-29 15:49:32 +0200 |
| commit | 3c93cccdb11f40629d93c604d1b040d4f14144b0 (patch) | |
| tree | 3665d85ea913930c1a0a5fd7714ef6360237c281 /src/server/game/Spells/SpellMgr.cpp | |
| parent | ab15d2526f2a55086eb8e502b9e5499246b060b3 (diff) | |
Core/Auras: Prevent assertion fail due code in AuraEffect::HandleAuraLinked, also improve the sync between auras linked by this aura type.
Diffstat (limited to 'src/server/game/Spells/SpellMgr.cpp')
| -rwxr-xr-x | src/server/game/Spells/SpellMgr.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
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; } |
