diff --git a/data/sql/updates/pending_db_world/rev_1661075973663887000.sql b/data/sql/updates/pending_db_world/rev_1661075973663887000.sql new file mode 100644 index 000000000..08f682904 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1661075973663887000.sql @@ -0,0 +1,4 @@ +-- +DELETE FROM `spell_script_names` WHERE `spell_id`=24905; +INSERT INTO `spell_script_names` VALUES +(24905,'spell_dru_moonkin_form_passive_proc'); diff --git a/src/server/scripts/Spells/spell_druid.cpp b/src/server/scripts/Spells/spell_druid.cpp index 9b15b0373..021dc7aa7 100644 --- a/src/server/scripts/Spells/spell_druid.cpp +++ b/src/server/scripts/Spells/spell_druid.cpp @@ -1150,6 +1150,27 @@ class spell_dru_berserk : public SpellScript } }; +// 24905 - Moonkin Form (Passive) +class spell_dru_moonkin_form_passive_proc : public AuraScript +{ + PrepareAuraScript(spell_dru_moonkin_form_passive_proc); + + bool CheckProc(ProcEventInfo& eventInfo) + { + if (SpellInfo const* spellInfo = eventInfo.GetSpellInfo()) + { + return !spellInfo->IsAffectingArea(); + } + + return false; + } + + void Register() override + { + DoCheckProc += AuraCheckProcFn(spell_dru_moonkin_form_passive_proc::CheckProc); + } +}; + void AddSC_druid_spell_scripts() { RegisterSpellScript(spell_dru_bear_form_passive); @@ -1185,4 +1206,5 @@ void AddSC_druid_spell_scripts() RegisterSpellScript(spell_dru_typhoon); RegisterSpellScript(spell_dru_t10_restoration_4p_bonus); RegisterSpellScript(spell_dru_wild_growth); + RegisterSpellScript(spell_dru_moonkin_form_passive_proc); }