mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-15 23:20:36 +01:00
Scripts/Spells: Fix Odyn's Fury target cap & Titanic Rage talent (#31043)
This commit is contained in:
7
sql/updates/world/master/2025_06_09_03_world.sql
Normal file
7
sql/updates/world/master/2025_06_09_03_world.sql
Normal file
@@ -0,0 +1,7 @@
|
||||
DELETE FROM `spell_proc` WHERE `SpellId` IN (394329);
|
||||
INSERT INTO `spell_proc` (`SpellId`,`SchoolMask`,`SpellFamilyName`,`SpellFamilyMask0`,`SpellFamilyMask1`,`SpellFamilyMask2`,`SpellFamilyMask3`,`ProcFlags`,`ProcFlags2`,`SpellTypeMask`,`SpellPhaseMask`,`HitMask`,`AttributesMask`,`DisableEffectsMask`,`ProcsPerMinute`,`Chance`,`Cooldown`,`Charges`) VALUES
|
||||
(394329,0x00,4,0x00000000,0x00000000,0x00000000,0x00000080,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0,0,0); -- Titanic Rage
|
||||
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_warr_titanic_rage';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(394329, 'spell_warr_titanic_rage');
|
||||
@@ -5368,6 +5368,12 @@ void SpellMgr::LoadSpellInfoTargetCaps()
|
||||
spellInfo->_LoadSqrtTargetLimit(5, 0, {}, EFFECT_4, {}, {});
|
||||
});
|
||||
|
||||
// Odyn's Fury
|
||||
ApplySpellFix({ 385060, 385061, 385062 }, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->_LoadSqrtTargetLimit(5, 0, 385059, EFFECT_5, {}, {});
|
||||
});
|
||||
|
||||
TC_LOG_INFO("server.loading", ">> Loaded SpellInfo target caps in {} ms", GetMSTimeDiffToNow(oldMSTime));
|
||||
}
|
||||
|
||||
|
||||
@@ -78,9 +78,11 @@ enum WarriorSpells
|
||||
SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK_1 = 12723,
|
||||
SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK_2 = 26654,
|
||||
SPELL_WARRIOR_TAUNT = 355,
|
||||
SPELL_WARRIOR_TITANIC_RAGE = 394329,
|
||||
SPELL_WARRIOR_TRAUMA_EFFECT = 215537,
|
||||
SPELL_WARRIOR_VICTORIOUS = 32216,
|
||||
SPELL_WARRIOR_VICTORY_RUSH_HEAL = 118779,
|
||||
SPELL_WARRIOR_WHIRLWIND_CLEAVE_AURA = 85739,
|
||||
SPELL_WARRIOR_WRATH_AND_FURY = 392936
|
||||
};
|
||||
|
||||
@@ -953,6 +955,41 @@ class spell_warr_sweeping_strikes : public AuraScript
|
||||
Unit* _procTarget = nullptr;
|
||||
};
|
||||
|
||||
// 394329 - Titanic Rage
|
||||
class spell_warr_titanic_rage : public AuraScript
|
||||
{
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_WARRIOR_WHIRLWIND_CLEAVE_AURA });
|
||||
}
|
||||
|
||||
void HandleProc(ProcEventInfo const& eventInfo) const
|
||||
{
|
||||
Player* target = GetTarget()->ToPlayer();
|
||||
if (!target)
|
||||
return;
|
||||
|
||||
target->CastSpell(nullptr, SPELL_WARRIOR_ENRAGE, CastSpellExtraArgsInit{
|
||||
.TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR,
|
||||
.TriggeringSpell = eventInfo.GetProcSpell()
|
||||
});
|
||||
|
||||
SpellInfo const* whirlwindCleaveAuraInfo = sSpellMgr->AssertSpellInfo(SPELL_WARRIOR_WHIRLWIND_CLEAVE_AURA, GetCastDifficulty());
|
||||
int32 stackAmount = static_cast<int32>(whirlwindCleaveAuraInfo->StackAmount);
|
||||
target->ApplySpellMod(whirlwindCleaveAuraInfo, SpellModOp::MaxAuraStacks, stackAmount);
|
||||
|
||||
target->CastSpell(nullptr, SPELL_WARRIOR_WHIRLWIND_CLEAVE_AURA, CastSpellExtraArgsInit{
|
||||
.TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR,
|
||||
.SpellValueOverrides = { { SPELLVALUE_AURA_STACK, stackAmount } }
|
||||
});
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnProc += AuraProcFn(spell_warr_titanic_rage::HandleProc);
|
||||
}
|
||||
};
|
||||
|
||||
// 215538 - Trauma
|
||||
class spell_warr_trauma : public AuraScript
|
||||
{
|
||||
@@ -1079,6 +1116,7 @@ void AddSC_warrior_spell_scripts()
|
||||
RegisterSpellScript(spell_warr_storm_bolts);
|
||||
RegisterSpellScript(spell_warr_strategist);
|
||||
RegisterSpellScript(spell_warr_sweeping_strikes);
|
||||
RegisterSpellScript(spell_warr_titanic_rage);
|
||||
RegisterSpellScript(spell_warr_trauma);
|
||||
RegisterSpellScript(spell_warr_t3_prot_8p_bonus);
|
||||
RegisterSpellScript(spell_warr_victorious_state);
|
||||
|
||||
Reference in New Issue
Block a user