aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2018-07-21 23:21:06 +0200
committerShauren <shauren.trinity@gmail.com>2021-10-15 00:16:43 +0200
commit990e4d86576751c517549eecc0747b2a8b65129a (patch)
tree63c44a200ca7c6b5f973782cd8e2878005f2d0cf
parentca37b98fb80f3b431b6e95e88e16f579b429ac1b (diff)
Core/Spells: Fixed Righteous Defense crash caused by modifying target list inside effect handler
* Already handled in a script Closes #22158 (cherry picked from commit 2351d0293085873bde656bf93d717a793a0dcd69)
-rw-r--r--src/server/game/Spells/SpellEffects.cpp40
1 files changed, 0 insertions, 40 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index e22089ccd3f..92c1bb4a249 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -545,46 +545,6 @@ void Spell::EffectDummy()
if (!unitTarget && !gameObjTarget && !itemTarget)
return;
- // selection by spell family
- switch (m_spellInfo->SpellFamilyName)
- {
- case SPELLFAMILY_PALADIN:
- switch (m_spellInfo->Id)
- {
- case 31789: // Righteous Defense (step 1)
- {
- // Clear targets for eff 1
- for (auto ihit = m_UniqueTargetInfo.begin(); ihit != m_UniqueTargetInfo.end(); ++ihit)
- ihit->EffectMask &= ~(1 << 1);
-
- // not empty (checked), copy
- Unit::AttackerSet attackers = unitTarget->getAttackers();
-
- // remove invalid attackers
- for (Unit::AttackerSet::iterator aItr = attackers.begin(); aItr != attackers.end();)
- if (!(*aItr)->IsValidAttackTarget(m_caster))
- attackers.erase(aItr++);
- else
- ++aItr;
-
- // selected from list 3
- uint32 maxTargets = std::min<uint32>(3, attackers.size());
- for (uint32 i = 0; i < maxTargets; ++i)
- {
- Unit* attacker = Trinity::Containers::SelectRandomContainerElement(attackers);
- AddUnitTarget(attacker, 1 << 1);
- attackers.erase(attacker);
- }
-
- // now let next effect cast spell at each target.
- return;
- }
- }
- break;
- default:
- break;
- }
-
// pet auras
if (m_caster->GetTypeId() == TYPEID_PLAYER)
{