Core/Spells: Don't select corpses for spell targets that expect to hit units

Closes #24980

(cherry picked from commit 14db2215d3)
This commit is contained in:
Shauren
2020-07-09 18:44:21 +02:00
parent 508ea9e3c7
commit 0ac5b1da8c
2 changed files with 2 additions and 12 deletions

View File

@@ -1954,12 +1954,8 @@ uint32 Spell::GetSearcherTypeMask(SpellTargetObjectTypes objType, ConditionConta
{
case TARGET_OBJECT_TYPE_UNIT:
case TARGET_OBJECT_TYPE_UNIT_AND_DEST:
if (!m_spellInfo->HasAttribute(SPELL_ATTR2_CAN_TARGET_DEAD))
{
retMask &= GRID_MAP_TYPE_MASK_PLAYER | GRID_MAP_TYPE_MASK_CREATURE;
break;
}
[[fallthrough]];
retMask &= GRID_MAP_TYPE_MASK_PLAYER | GRID_MAP_TYPE_MASK_CREATURE;
break;
case TARGET_OBJECT_TYPE_CORPSE:
case TARGET_OBJECT_TYPE_CORPSE_ENEMY:
case TARGET_OBJECT_TYPE_CORPSE_ALLY:

View File

@@ -3188,11 +3188,6 @@ class spell_the_lich_king_jump_remove_aura : public SpellScriptLoader
{
PrepareSpellScript(spell_the_lich_king_jump_SpellScript);
void FilterTargets(std::list<WorldObject*>& targets)
{
targets.remove_if([](WorldObject const* target) { return target->IsCorpse(); });
}
void HandleScript(SpellEffIndex effIndex)
{
PreventHitDefaultEffect(effIndex);
@@ -3201,7 +3196,6 @@ class spell_the_lich_king_jump_remove_aura : public SpellScriptLoader
void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_the_lich_king_jump_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENTRY);
OnEffectHitTarget += SpellEffectFn(spell_the_lich_king_jump_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};