diff options
| -rw-r--r-- | sql/updates/world/6.x/2016_04_28_04_world.sql | 3 | ||||
| -rw-r--r-- | src/server/scripts/Spells/spell_generic.cpp | 43 |
2 files changed, 46 insertions, 0 deletions
diff --git a/sql/updates/world/6.x/2016_04_28_04_world.sql b/sql/updates/world/6.x/2016_04_28_04_world.sql new file mode 100644 index 00000000000..784238cfc52 --- /dev/null +++ b/sql/updates/world/6.x/2016_04_28_04_world.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_gen_pvp_trinket'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(42292, 'spell_gen_pvp_trinket'); 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 |
