diff options
| author | offl <11556157+offl@users.noreply.github.com> | 2022-02-17 22:40:28 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2022-03-26 14:49:55 +0100 |
| commit | df841dc9f2fab6f2e151b0f3b4afb564352b32ac (patch) | |
| tree | 9ac12eeb8cdac8b63e4603a0588f2a788a0cd235 /src/server/scripts/Spells | |
| parent | e1bba3d602f70dd24d17f45542b1161349dbb4c0 (diff) | |
Scripts/SL: Update Grandmaster Vorpil (#27765)
Closes #23801
(cherry picked from commit a19c9660b4be0e7d1bf75e98f93d1bffe5c1566b)
Diffstat (limited to 'src/server/scripts/Spells')
| -rw-r--r-- | src/server/scripts/Spells/spell_generic.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index 7f56fce52af..03e1cdf0a1b 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -1276,6 +1276,7 @@ class spell_gen_despawn_aura : public AuraScript } }; +/// @todo: migrate spells to spell_gen_despawn_target, then remove this class spell_gen_despawn_self : public SpellScript { PrepareSpellScript(spell_gen_despawn_self); @@ -1297,6 +1298,23 @@ class spell_gen_despawn_self : public SpellScript } }; +class spell_gen_despawn_target : public SpellScript +{ + PrepareSpellScript(spell_gen_despawn_target); + + void HandleDespawn(SpellEffIndex /*effIndex*/) + { + if (GetEffectInfo().IsEffect(SPELL_EFFECT_DUMMY) || GetEffectInfo().IsEffect(SPELL_EFFECT_SCRIPT_EFFECT)) + if (Creature* target = GetHitCreature()) + target->DespawnOrUnsummon(); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_gen_despawn_target::HandleDespawn, EFFECT_ALL, SPELL_EFFECT_ANY); + } +}; + enum DivineStormSpell { SPELL_DIVINE_STORM = 53385, @@ -4863,6 +4881,7 @@ void AddSC_generic_spell_scripts() RegisterSpellScript(spell_gen_defend); RegisterSpellScript(spell_gen_despawn_aura); RegisterSpellScript(spell_gen_despawn_self); + RegisterSpellScript(spell_gen_despawn_target); RegisterSpellScript(spell_gen_divine_storm_cd_reset); RegisterSpellScript(spell_gen_ds_flush_knockback); RegisterSpellScript(spell_gen_dungeon_credit); |
