diff --git a/sql/updates/world/4.3.4/2025_06_20_03_world.sql b/sql/updates/world/4.3.4/2025_06_20_03_world.sql new file mode 100644 index 0000000000..c3a56f4da5 --- /dev/null +++ b/sql/updates/world/4.3.4/2025_06_20_03_world.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_script_names` WHERE `ScriptName`= 'spell_dru_natures_grace'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(-16880, 'spell_dru_natures_grace'); diff --git a/src/server/scripts/Spells/spell_druid.cpp b/src/server/scripts/Spells/spell_druid.cpp index ebf4bec394..4797bd8b9e 100644 --- a/src/server/scripts/Spells/spell_druid.cpp +++ b/src/server/scripts/Spells/spell_druid.cpp @@ -96,6 +96,7 @@ enum DruidSpells SPELL_DRUID_MOONFIRE = 8921, SPELL_DRUID_NATURES_BOUNTY = 96206, SPELL_DRUID_NATURES_GRACE = 16880, + SPELL_DRUID_NATURES_TORMENT_COOLDOWN = 93432, SPELL_DRUID_PULVERIZE_TRIGGERED = 80951, SPELL_DRUID_REVITALIZE_R1 = 48539, SPELL_DRUID_RIP = 1079, @@ -2046,6 +2047,25 @@ private: bool _bountyActive = false; }; +// -16880 - Nature's Grace +class spell_dru_natures_grace : public AuraScript +{ + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_DRUID_NATURES_TORMENT_COOLDOWN }); + } + + bool CheckCooldown(AuraEffect const* /*aurEff*/, ProcEventInfo& /*eventInfo*/) + { + return !GetTarget()->HasAura(SPELL_DRUID_NATURES_TORMENT_COOLDOWN, GetCasterGUID()); + } + + void Register() override + { + DoCheckEffectProc.Register(&spell_dru_natures_grace::CheckCooldown, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL_WITH_VALUE); + } +}; + // 339 - Entangling Roots class spell_dru_entangling_roots : public AuraScript { @@ -2228,6 +2248,7 @@ void AddSC_druid_spell_scripts() RegisterSpellScript(spell_dru_maul); RegisterSpellScript(spell_dru_moonfire); RegisterSpellScript(spell_dru_natures_bounty); + RegisterSpellScript(spell_dru_natures_grace); RegisterSpellScript(spell_dru_nourish); RegisterSpellScript(spell_dru_pulverize); RegisterSpellScript(spell_dru_regrowth);