Scripts/Spells: Implement evoker talent Call of Ysera (#30893)

This commit is contained in:
Aqua Deus
2025-04-28 16:08:07 +02:00
committed by GitHub
parent 4dae0c4bde
commit 369d668d85
2 changed files with 37 additions and 0 deletions

View File

@@ -0,0 +1,7 @@
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_evo_call_of_ysera';
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(361195, 'spell_evo_call_of_ysera');
DELETE FROM `spell_proc` WHERE `SpellId` IN (373835);
INSERT INTO `spell_proc` (`SpellId`,`SchoolMask`,`SpellFamilyName`,`SpellFamilyMask0`,`SpellFamilyMask1`,`SpellFamilyMask2`,`SpellFamilyMask3`,`ProcFlags`,`ProcFlags2`,`SpellTypeMask`,`SpellPhaseMask`,`HitMask`,`AttributesMask`,`DisableEffectsMask`,`ProcsPerMinute`,`Chance`,`Cooldown`,`Charges`) VALUES
(373835,0x00,224,0x00600000,0x00000000,0x00000000,0x00000000,0x0,0x0,0x0,0x1,0x0,0x12,0x0,0,0,0,0); -- Call of Ysera

View File

@@ -51,6 +51,8 @@ enum EvokerSpells
SPELL_EVOKER_BLESSING_OF_THE_BRONZE_SHAMAN = 381756,
SPELL_EVOKER_BLESSING_OF_THE_BRONZE_WARLOCK = 381757,
SPELL_EVOKER_BLESSING_OF_THE_BRONZE_WARRIOR = 381758,
SPELL_EVOKER_CALL_OF_YSERA_TALENT = 373834,
SPELL_EVOKER_CALL_OF_YSERA = 373835,
SPELL_EVOKER_CAUSALITY = 375777,
SPELL_EVOKER_DISINTEGRATE = 356995,
SPELL_EVOKER_EMERALD_BLOSSOM_HEAL = 355916,
@@ -153,6 +155,33 @@ class spell_evo_blessing_of_the_bronze : public SpellScript
}
};
// 373834 - Call of Ysera (attached to 361195 - Verdant Embrace (Green))
class spell_evo_call_of_ysera : public SpellScript
{
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_EVOKER_CALL_OF_YSERA_TALENT, SPELL_EVOKER_CALL_OF_YSERA });
}
bool Load() override
{
return GetCaster()->HasAura(SPELL_EVOKER_CALL_OF_YSERA_TALENT);
}
void HandleCallOfYsera() const
{
GetCaster()->CastSpell(GetCaster(), SPELL_EVOKER_CALL_OF_YSERA, CastSpellExtraArgsInit{
.TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR,
.TriggeringSpell = GetSpell()
});
}
void Register() override
{
AfterCast += SpellCastFn(spell_evo_call_of_ysera::HandleCallOfYsera);
}
};
static constexpr std::array<uint32, 2> CausalityAffectedEmpowerSpells = { SPELL_EVOKER_ETERNITY_SURGE, SPELL_EVOKER_FIRE_BREATH };
// Called by 356995 - Disintegrate (Blue)
@@ -685,6 +714,7 @@ void AddSC_evoker_spell_scripts()
{
RegisterSpellScript(spell_evo_azure_strike);
RegisterSpellScript(spell_evo_blessing_of_the_bronze);
RegisterSpellScript(spell_evo_call_of_ysera);
RegisterSpellScript(spell_evo_causality_disintegrate);
RegisterSpellScript(spell_evo_causality_pyre);
RegisterSpellScript(spell_evo_charged_blast);