aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/master/2025_07_13_12_world.sql3
-rw-r--r--src/server/scripts/Spells/spell_mage.cpp27
2 files changed, 30 insertions, 0 deletions
diff --git a/sql/updates/world/master/2025_07_13_12_world.sql b/sql/updates/world/master/2025_07_13_12_world.sql
new file mode 100644
index 00000000000..7a5634e08ab
--- /dev/null
+++ b/sql/updates/world/master/2025_07_13_12_world.sql
@@ -0,0 +1,3 @@
+DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_mage_molten_fury';
+INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
+(457803, 'spell_mage_molten_fury');
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);