aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/master/2025_04_18_00_world.sql3
-rw-r--r--src/server/scripts/Spells/spell_druid.cpp28
2 files changed, 31 insertions, 0 deletions
diff --git a/sql/updates/world/master/2025_04_18_00_world.sql b/sql/updates/world/master/2025_04_18_00_world.sql
new file mode 100644
index 00000000000..6aff53434db
--- /dev/null
+++ b/sql/updates/world/master/2025_04_18_00_world.sql
@@ -0,0 +1,3 @@
+DELETE FROM `spell_script_names` WHERE `spell_id`=33917;
+INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
+(33917, 'spell_dru_mangle');
diff --git a/src/server/scripts/Spells/spell_druid.cpp b/src/server/scripts/Spells/spell_druid.cpp
index 25d1039f162..0fbee0dc9fb 100644
--- a/src/server/scripts/Spells/spell_druid.cpp
+++ b/src/server/scripts/Spells/spell_druid.cpp
@@ -106,6 +106,7 @@ enum DruidSpells
SPELL_DRUID_LIFEBLOOM_FINAL_HEAL = 33778,
SPELL_DRUID_LUNAR_INSPIRATION_OVERRIDE = 155627,
SPELL_DRUID_MANGLE = 33917,
+ SPELL_DRUID_MANGLE_TALENT = 231064,
SPELL_DRUID_MASS_ENTANGLEMENT = 102359,
SPELL_DRUID_MOONFIRE_DAMAGE = 164812,
SPELL_DRUID_NATURES_GRACE_TALENT = 450347,
@@ -1324,6 +1325,32 @@ class spell_dru_luxuriant_soil : public AuraScript
}
};
+// 33917 - Mangle
+class spell_dru_mangle : public SpellScript
+{
+ bool Validate(SpellInfo const* spellInfo) override
+ {
+ return ValidateSpellInfo({ SPELL_DRUID_MANGLE_TALENT })
+ && ValidateSpellEffect({ { spellInfo->Id, EFFECT_2 } });
+ }
+
+ bool Load() override
+ {
+ return GetCaster()->HasAura(SPELL_DRUID_MANGLE_TALENT);
+ }
+
+ void CalculateDamage(SpellEffectInfo const& /*spellEffectInfo*/, Unit* victim, int32& /*damage*/, int32& /*flatMod*/, float& pctMod) const
+ {
+ if (victim->HasAuraState(AURA_STATE_BLEED))
+ AddPct(pctMod, GetEffectInfo(EFFECT_2).CalcValue(GetCaster()));
+ }
+
+ void Register() override
+ {
+ CalcDamage += SpellCalcDamageFn(spell_dru_mangle::CalculateDamage);
+ }
+};
+
// 8921 - Moonfire
class spell_dru_moonfire : public SpellScript
{
@@ -2356,6 +2383,7 @@ void AddSC_druid_spell_scripts()
RegisterSpellScript(spell_dru_lifebloom);
RegisterSpellScript(spell_dru_lunar_inspiration);
RegisterSpellScript(spell_dru_luxuriant_soil);
+ RegisterSpellScript(spell_dru_mangle);
RegisterSpellScript(spell_dru_moonfire);
RegisterSpellScript(spell_dru_natures_grace);
RegisterSpellScript(spell_dru_natures_grace_eclipse);