aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAqua Deus <95978183+aquadeus@users.noreply.github.com>2025-04-28 16:27:52 +0200
committerGitHub <noreply@github.com>2025-04-28 16:27:52 +0200
commit98acdc510cda35b75c3ad86c2d1b7c1bce542c9a (patch)
treea0cd7371984547bb6110255a416ce88e52ed6e26 /src
parent369d668d852fd139954ee49d9cf6adbd94c573e2 (diff)
Scripts/Spells: Implement evoker talent Panacea (#30892)
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Spells/spell_evoker.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_evoker.cpp b/src/server/scripts/Spells/spell_evoker.cpp
index 2e53098137b..7eb055917db 100644
--- a/src/server/scripts/Spells/spell_evoker.cpp
+++ b/src/server/scripts/Spells/spell_evoker.cpp
@@ -67,6 +67,8 @@ enum EvokerSpells
SPELL_EVOKER_LIVING_FLAME = 361469,
SPELL_EVOKER_LIVING_FLAME_DAMAGE = 361500,
SPELL_EVOKER_LIVING_FLAME_HEAL = 361509,
+ SPELL_EVOKER_PANACEA_HEAL = 387763,
+ SPELL_EVOKER_PANACEA_TALENT = 387761,
SPELL_EVOKER_PERMEATING_CHILL_TALENT = 370897,
SPELL_EVOKER_PYRE_DAMAGE = 357212,
SPELL_EVOKER_RUBY_EMBERS = 365937,
@@ -513,6 +515,33 @@ class spell_evo_living_flame : public SpellScript
}
};
+// 387761 Panacea (Green) (attached to 355913 - Emerald Blossom (Green) and 360995 - Verdant Embrace (Green))
+class spell_evo_panacea : public SpellScript
+{
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_EVOKER_PANACEA_TALENT, SPELL_EVOKER_PANACEA_HEAL });
+ }
+
+ bool Load() override
+ {
+ return GetCaster()->HasAura(SPELL_EVOKER_PANACEA_TALENT);
+ }
+
+ void HandlePanacea() const
+ {
+ GetCaster()->CastSpell(GetCaster(), SPELL_EVOKER_PANACEA_HEAL, CastSpellExtraArgsInit{
+ .TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR,
+ .TriggeringSpell = GetSpell()
+ });
+ }
+
+ void Register() override
+ {
+ AfterCast += SpellCastFn(spell_evo_panacea::HandlePanacea);
+ }
+};
+
// 381773 - Permeating Chill
class spell_evo_permeating_chill : public AuraScript
{
@@ -727,6 +756,7 @@ void AddSC_evoker_spell_scripts()
RegisterSpellScript(spell_evo_fire_breath_damage);
RegisterSpellScript(spell_evo_glide);
RegisterSpellScript(spell_evo_living_flame);
+ RegisterSpellScript(spell_evo_panacea);
RegisterSpellScript(spell_evo_permeating_chill);
RegisterSpellScript(spell_evo_pyre);
RegisterSpellScript(spell_evo_ruby_embers);