aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAqua Deus <95978183+aquadeus@users.noreply.github.com>2025-07-13 22:36:44 +0200
committerGitHub <noreply@github.com>2025-07-13 22:36:44 +0200
commit17bc1df948357880058126a2269a116af9630827 (patch)
tree15f7ec1e80469b3a3f7836693780fd2fbe3e26a2 /src
parent63a4ce5396ef17765380bbe7eddf1d052010a067 (diff)
Scripts/Spells: Implement mage talent Molten Fury (#31091)
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Spells/spell_mage.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_mage.cpp b/src/server/scripts/Spells/spell_mage.cpp
index 4540717fb28..f582870e8af 100644
--- a/src/server/scripts/Spells/spell_mage.cpp
+++ b/src/server/scripts/Spells/spell_mage.cpp
@@ -81,6 +81,7 @@ enum MageSpells
SPELL_MAGE_METEOR_AREATRIGGER = 177345,
SPELL_MAGE_METEOR_BURN_DAMAGE = 155158,
SPELL_MAGE_METEOR_MISSILE = 153564,
+ SPELL_MAGE_MOLTEN_FURY = 458910,
SPELL_MAGE_RADIANT_SPARK_PROC_BLOCKER = 376105,
SPELL_MAGE_RAY_OF_FROST_BONUS = 208141,
SPELL_MAGE_RAY_OF_FROST_FINGERS_OF_FROST = 269748,
@@ -1301,6 +1302,31 @@ struct at_mage_meteor_burn : public AreaTriggerAI
}
};
+// 457803 - Molten Fury
+class spell_mage_molten_fury : public AuraScript
+{
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_MAGE_MOLTEN_FURY });
+ }
+
+ static void HandleEffectProc(AuraEffect const* aurEff, ProcEventInfo const& eventInfo)
+ {
+ if (!eventInfo.GetActionTarget()->HealthAbovePct(aurEff->GetAmount()))
+ eventInfo.GetActor()->CastSpell(eventInfo.GetActionTarget(), SPELL_MAGE_MOLTEN_FURY, CastSpellExtraArgsInit{
+ .TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR,
+ .TriggeringAura = aurEff
+ });
+ else
+ eventInfo.GetActionTarget()->RemoveAurasDueToSpell(SPELL_MAGE_MOLTEN_FURY, eventInfo.GetActor()->GetGUID());
+ }
+
+ void Register() override
+ {
+ OnEffectProc += AuraEffectProcFn(spell_mage_molten_fury::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
+ }
+};
+
enum SilvermoonPolymorph
{
NPC_AUROSALIA = 18744
@@ -1696,6 +1722,7 @@ void AddSC_mage_spell_scripts()
RegisterSpellScript(spell_mage_meteor);
RegisterAreaTriggerAI(at_mage_meteor);
RegisterAreaTriggerAI(at_mage_meteor_burn);
+ RegisterSpellScript(spell_mage_molten_fury);
RegisterSpellScript(spell_mage_polymorph_visual);
RegisterSpellScript(spell_mage_prismatic_barrier);
RegisterSpellScript(spell_mage_radiant_spark);