From 3a87b5a85e08b49f96e8445cb0be350a854d264b Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Mon, 11 Mar 2024 20:14:00 -0300 Subject: [PATCH] fix(Scripts/TempestKeep): Kael pyroblast target only main target (#18531) --- .../rev_1710146818912293800.sql | 4 ++++ .../Outland/TempestKeep/Eye/boss_kaelthas.cpp | 20 +++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1710146818912293800.sql diff --git a/data/sql/updates/pending_db_world/rev_1710146818912293800.sql b/data/sql/updates/pending_db_world/rev_1710146818912293800.sql new file mode 100644 index 000000000..85d67a7b7 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1710146818912293800.sql @@ -0,0 +1,4 @@ +-- +DELETE FROM `spell_script_names` WHERE `spell_id` = 36819; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(36819, 'spell_kael_pyroblast'); diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp index 6dedc4864..d0b14118e 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp @@ -1303,6 +1303,25 @@ class spell_kaelthas_summon_nether_vapor : public SpellScript } }; +class spell_kael_pyroblast : public SpellScript +{ + PrepareSpellScript(spell_kael_pyroblast); + + void FilterTargets(std::list& targets) + { + if (GetCaster()->GetVictim()) + { + if (Unit* victim = GetCaster()->GetVictim()) + targets.remove_if(Acore::ObjectGUIDCheck(victim->GetGUID(), false)); + } + } + + void Register() override + { + OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_kael_pyroblast::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY); + } +}; + void AddSC_boss_kaelthas() { RegisterTheEyeAI(boss_kaelthas); @@ -1320,5 +1339,6 @@ void AddSC_boss_kaelthas() RegisterSpellScript(spell_kaelthas_gravity_lapse); RegisterSpellScript(spell_kaelthas_nether_beam); RegisterSpellScript(spell_kaelthas_summon_nether_vapor); + RegisterSpellScript(spell_kael_pyroblast); }