aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Spells/spell_generic.cpp43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp
index 14773601245..cf9ff3ef28b 100644
--- a/src/server/scripts/Spells/spell_generic.cpp
+++ b/src/server/scripts/Spells/spell_generic.cpp
@@ -2710,6 +2710,48 @@ class spell_gen_profession_research : public SpellScriptLoader
}
};
+enum TrinketSpells
+{
+ SPELL_PVP_TRINKET_ALLIANCE = 97403,
+ SPELL_PVP_TRINKET_HORDE = 97404
+};
+
+class spell_gen_pvp_trinket : public SpellScriptLoader
+{
+ public:
+ spell_gen_pvp_trinket() : SpellScriptLoader("spell_gen_pvp_trinket") { }
+
+ class spell_gen_pvp_trinket_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_gen_pvp_trinket_SpellScript);
+
+ void TriggerAnimation()
+ {
+ Player* caster = GetCaster()->ToPlayer();
+
+ switch (caster->GetTeam())
+ {
+ case ALLIANCE:
+ caster->CastSpell(caster, SPELL_PVP_TRINKET_ALLIANCE, TRIGGERED_FULL_MASK);
+ break;
+ case HORDE:
+ caster->CastSpell(caster, SPELL_PVP_TRINKET_HORDE, TRIGGERED_FULL_MASK);
+ break;
+ }
+ }
+
+ void Register() override
+ {
+ AfterCast += SpellCastFn(spell_gen_pvp_trinket_SpellScript::TriggerAnimation);
+ }
+ };
+
+ SpellScript* GetSpellScript() const override
+ {
+ return new spell_gen_pvp_trinket_SpellScript();
+ }
+};
+
class spell_gen_remove_flight_auras : public SpellScriptLoader
{
public:
@@ -4245,6 +4287,7 @@ void AddSC_generic_spell_scripts()
new spell_gen_parachute();
new spell_gen_pet_summoned();
new spell_gen_profession_research();
+ new spell_gen_pvp_trinket();
new spell_gen_remove_flight_auras();
new spell_gen_replenishment();
// Running Wild