From e4eb789e5243457476fd559849519a9bfff481fd Mon Sep 17 00:00:00 2001 From: avarishd <46330494+avarishd@users.noreply.github.com> Date: Thu, 12 Oct 2023 16:16:59 +0300 Subject: [PATCH] fix(Script/Spells): Script Priest Heal T4 4P Bonus (#17490) * fix(Core/Spells): Script Priest Heal T4 4P Bonus * RemoveAurasDueToSpell * comment out unused stuff --- .../rev_1697102499836430200.sql | 7 ++++++ src/server/scripts/Spells/spell_priest.cpp | 24 +++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1697102499836430200.sql diff --git a/data/sql/updates/pending_db_world/rev_1697102499836430200.sql b/data/sql/updates/pending_db_world/rev_1697102499836430200.sql new file mode 100644 index 000000000..c1c96e14b --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1697102499836430200.sql @@ -0,0 +1,7 @@ +-- 37565 - Flexibility | Item - Priest T4 Holy/Discipline 4P Bonus +DELETE FROM `spell_script_names` WHERE `spell_id`=37565; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES (37565, 'spell_pri_t4_4p_bonus'); + +DELETE FROM `spell_proc_event` WHERE `entry`=37565; +INSERT INTO `spell_proc_event` (`entry`, `SchoolMask`, `SpellFamilyName`, `SpellFamilyMask0`, `SpellFamilyMask1`, `SpellFamilyMask2`, `procFlags`, `procEx`, `procPhase`, `ppmRate`, `CustomChance`, `Cooldown`) VALUES +(37565, 0, 6, 4096, 0, 0, 16384, 0, 1, 0, 0, 0); diff --git a/src/server/scripts/Spells/spell_priest.cpp b/src/server/scripts/Spells/spell_priest.cpp index c5dc9dd0c..14deba616 100644 --- a/src/server/scripts/Spells/spell_priest.cpp +++ b/src/server/scripts/Spells/spell_priest.cpp @@ -48,6 +48,7 @@ enum PriestSpells SPELL_PRIEST_SHADOW_WORD_DEATH = 32409, SPELL_PRIEST_T9_HEALING_2P = 67201, SPELL_PRIEST_VAMPIRIC_TOUCH_DISPEL = 64085, + SPELL_PRIEST_T4_4P_FLEXIBILITY = 37565, SPELL_GENERIC_ARENA_DAMPENING = 74410, SPELL_GENERIC_BATTLEGROUND_DAMPENING = 74411, @@ -926,6 +927,28 @@ class spell_pri_mind_control : public AuraScript } }; +// 37565 - Flexibility | Item - Priest T4 Holy/Discipline 4P Bonus +class spell_pri_t4_4p_bonus : public AuraScript +{ + PrepareAuraScript(spell_pri_t4_4p_bonus); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_PRIEST_T4_4P_FLEXIBILITY }); + } + + void HandleProc(AuraEffect const* /*aurEff*/, ProcEventInfo& /*eventInfo*/) + { + PreventDefaultAction(); + GetTarget()->RemoveAurasDueToSpell(SPELL_PRIEST_T4_4P_FLEXIBILITY); + } + + void Register() override + { + OnEffectProc += AuraEffectProcFn(spell_pri_t4_4p_bonus::HandleProc, EFFECT_ALL, SPELL_AURA_OVERRIDE_CLASS_SCRIPTS); + } +}; + void AddSC_priest_spell_scripts() { RegisterSpellScript(spell_pri_shadowfiend_scaling); @@ -949,4 +972,5 @@ void AddSC_priest_spell_scripts() RegisterSpellScript(spell_pri_shadow_word_death); RegisterSpellScript(spell_pri_vampiric_touch); RegisterSpellScript(spell_pri_mind_control); + RegisterSpellScript(spell_pri_t4_4p_bonus); }