Scripts/Spells: Implement druid talent Ursoc's Fury (#30776)

This commit is contained in:
Aqua Deus
2025-08-23 00:54:05 +02:00
committed by GitHub
parent 6f574a2bfc
commit ae0602e23f
2 changed files with 38 additions and 0 deletions

View File

@@ -0,0 +1,7 @@
DELETE FROM `spell_proc` WHERE `SpellId` IN (377210);
INSERT INTO `spell_proc` (`SpellId`,`SchoolMask`,`SpellFamilyName`,`SpellFamilyMask0`,`SpellFamilyMask1`,`SpellFamilyMask2`,`SpellFamilyMask3`,`ProcFlags`,`ProcFlags2`,`SpellTypeMask`,`SpellPhaseMask`,`HitMask`,`AttributesMask`,`DisableEffectsMask`,`ProcsPerMinute`,`Chance`,`Cooldown`,`Charges`) VALUES
(377210,0x00,7,0x00000800,0x00000000,0x08000000,0x00000000,0x0,0x0,0x1,0x2,0x0,0x0,0x0,0,0,0,0); -- Ursoc's Fury
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_dru_ursocs_fury';
INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES
(377210,'spell_dru_ursocs_fury');

View File

@@ -141,6 +141,7 @@ enum DruidSpells
SPELL_DRUID_THRASH_BEAR = 77758,
SPELL_DRUID_THRASH_BEAR_AURA = 192090,
SPELL_DRUID_THRASH_CAT = 106830,
SPELL_DRUID_URSOCS_FURY_SHIELD = 372505,
SPELL_DRUID_YSERAS_GIFT_HEAL_PARTY = 145110,
SPELL_DRUID_YSERAS_GIFT_HEAL_SELF = 145109
};
@@ -2313,6 +2314,35 @@ class spell_dru_tiger_dash_aura : public AuraScript
}
};
// 377210 - Ursoc's Fury
class spell_dru_ursocs_fury : public AuraScript
{
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_DRUID_URSOCS_FURY_SHIELD });
}
static void HandleProc(AuraScript const&, AuraEffect const* aurEff, ProcEventInfo const& eventInfo)
{
DamageInfo* damageInfo = eventInfo.GetDamageInfo();
if (!damageInfo || !damageInfo->GetDamage())
return;
Unit* caster = eventInfo.GetActor();
int32 amount = CalculatePct(damageInfo->GetDamage(), aurEff->GetAmount());
caster->CastSpell(caster, SPELL_DRUID_URSOCS_FURY_SHIELD, CastSpellExtraArgsInit{
.TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR,
.SpellValueOverrides = { { SPELLVALUE_BASE_POINT0, amount } }
});
}
void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_dru_ursocs_fury::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
// 48438 - Wild Growth
class spell_dru_wild_growth : public SpellScript
{
@@ -2487,6 +2517,7 @@ void AddSC_druid_spell_scripts()
RegisterSpellScript(spell_dru_travel_form);
RegisterSpellAndAuraScriptPair(spell_dru_travel_form_dummy, spell_dru_travel_form_dummy_aura);
RegisterSpellAndAuraScriptPair(spell_dru_tiger_dash, spell_dru_tiger_dash_aura);
RegisterSpellScript(spell_dru_ursocs_fury);
RegisterSpellAndAuraScriptPair(spell_dru_wild_growth, spell_dru_wild_growth_aura);
RegisterSpellScript(spell_dru_yseras_gift);
RegisterSpellScript(spell_dru_yseras_gift_group_heal);