From 094b1421a205c0a0414190d81d1e26e703af175e Mon Sep 17 00:00:00 2001 From: Jeremy Date: Thu, 19 Feb 2026 20:57:52 +0100 Subject: [PATCH] Scripts/Spells: Update warrior talent Frenzy (#31665) --- .../world/master/2026_02_19_06_world.sql‎‎ | 5 ++ src/server/scripts/Spells/spell_warrior.cpp | 59 ------------------- 2 files changed, 5 insertions(+), 59 deletions(-) create mode 100644 sql/updates/world/master/2026_02_19_06_world.sql‎‎ diff --git a/sql/updates/world/master/2026_02_19_06_world.sql‎‎ b/sql/updates/world/master/2026_02_19_06_world.sql‎‎ new file mode 100644 index 0000000000..5af6ed0f73 --- /dev/null +++ b/sql/updates/world/master/2026_02_19_06_world.sql‎‎ @@ -0,0 +1,5 @@ +DELETE FROM `spell_proc` WHERE `SpellId` IN (335077); +INSERT INTO `spell_proc` (`SpellId`,`SchoolMask`,`SpellFamilyName`,`SpellFamilyMask0`,`SpellFamilyMask1`,`SpellFamilyMask2`,`SpellFamilyMask3`,`ProcFlags`,`ProcFlags2`,`SpellTypeMask`,`SpellPhaseMask`,`HitMask`,`AttributesMask`,`DisableEffectsMask`,`ProcsPerMinute`,`Chance`,`Cooldown`,`Charges`) VALUES +(335077,0x00,4,0x00000000,0x00000000,0x00000000,0x08000000,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0,0,0,0); -- Frenzy + +DELETE FROM `spell_script_names` WHERE `ScriptName` IN ('spell_warr_frenzy_rampage', 'spell_warr_frenzy'); diff --git a/src/server/scripts/Spells/spell_warrior.cpp b/src/server/scripts/Spells/spell_warrior.cpp index 5fd29883b4..dde84f93ad 100644 --- a/src/server/scripts/Spells/spell_warrior.cpp +++ b/src/server/scripts/Spells/spell_warrior.cpp @@ -742,63 +742,6 @@ class spell_warr_frenzied_enrage : public SpellScript } }; -// 335082 - frenzy -class spell_warr_frenzy : public AuraScript -{ -public: - void SetTargetGUID(ObjectGuid const& guid) { _targetGUID = guid; } - ObjectGuid const& GetTargetGUID() const { return _targetGUID; } - -private: - void Register() override { } - - ObjectGuid _targetGUID; -}; - -// 335077 - Frenzy (attached to 184367 - Rampage) -class spell_warr_frenzy_rampage : public SpellScript -{ - bool Validate(SpellInfo const* /*spellInfo*/) override - { - return ValidateSpellInfo({ SPELL_WARRIOR_FRENZY_BUFF, SPELL_WARRIOR_FRENZY_TALENT }); - } - - bool Load() override - { - return GetCaster()->HasAura(SPELL_WARRIOR_FRENZY_TALENT); - } - - void HandleAfterCast(SpellEffIndex /*effIndex*/) const - { - Unit* caster = GetCaster(); - Unit* hitUnit = GetHitUnit(); - - if (hitUnit != GetExplTargetUnit()) - return; - - caster->CastSpell(nullptr, SPELL_WARRIOR_FRENZY_BUFF, CastSpellExtraArgsInit{ - .TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR, - .TriggeringSpell = GetSpell() - }); - - if (Aura* frenzyAura = caster->GetAura(SPELL_WARRIOR_FRENZY_BUFF)) - { - if (spell_warr_frenzy* script = frenzyAura->GetScript()) - { - if (!script->GetTargetGUID().IsEmpty() && script->GetTargetGUID() != hitUnit->GetGUID()) - frenzyAura->SetStackAmount(1); - - script->SetTargetGUID(hitUnit->GetGUID()); - } - } - } - - void Register() override - { - OnEffectHitTarget += SpellEffectFn(spell_warr_frenzy_rampage::HandleAfterCast, EFFECT_0, SPELL_EFFECT_DUMMY); - } -}; - // 392792 - Frothing Berserker class spell_warr_frothing_berserker : public AuraScript { @@ -1909,8 +1852,6 @@ void AddSC_warrior_spell_scripts() RegisterSpellScript(spell_warr_enrage_proc); RegisterSpellScript(spell_warr_execute_damage); RegisterSpellScript(spell_warr_frenzied_enrage); - RegisterSpellScript(spell_warr_frenzy); - RegisterSpellScript(spell_warr_frenzy_rampage); RegisterSpellScript(spell_warr_frothing_berserker); RegisterSpellScript(spell_warr_fueled_by_violence); RegisterSpellScript(spell_warr_heroic_leap);