diff options
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
-rw-r--r-- | src/server/game/Spells/Spell.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 70d918b4534..9cbdab91032 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -817,11 +817,16 @@ void Spell::SelectEffectImplicitTargets(SpellEffIndex effIndex, SpellImplicitTar return; // choose which targets we can select at once for (uint32 j = effIndex + 1; j < MAX_SPELL_EFFECTS; ++j) - if (GetSpellInfo()->Effects[effIndex].TargetA.GetTarget() == GetSpellInfo()->Effects[j].TargetA.GetTarget() && - GetSpellInfo()->Effects[effIndex].TargetB.GetTarget() == GetSpellInfo()->Effects[j].TargetB.GetTarget() && - GetSpellInfo()->Effects[effIndex].ImplicitTargetConditions == GetSpellInfo()->Effects[j].ImplicitTargetConditions && - GetSpellInfo()->Effects[effIndex].CalcRadius(m_caster) == GetSpellInfo()->Effects[j].CalcRadius(m_caster)) + { + SpellEffectInfo const* effects = GetSpellInfo()->Effects; + if (effects[effIndex].TargetA.GetTarget() == effects[j].TargetA.GetTarget() + && effects[effIndex].TargetB.GetTarget() == effects[j].TargetB.GetTarget() + && effects[effIndex].ImplicitTargetConditions == effects[j].ImplicitTargetConditions + && effects[effIndex].CalcRadius(m_caster) == effects[j].CalcRadius(m_caster)) + { effectMask |= 1 << j; + } + } processedEffectMask |= effectMask; break; default: @@ -5243,7 +5248,7 @@ SpellCastResult Spell::CheckCast(bool strict) } break; } - case SPELL_EFFECT_SUMMON_DEAD_PET: + case SPELL_EFFECT_RESURRECT_PET: { Creature* pet = m_caster->GetGuardianPet(); |