diff options
| author | edea <efectokoleos@gmail.com> | 2016-04-28 22:34:57 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2016-04-28 22:34:57 +0200 |
| commit | 2b411aa1488e57dd12198217196922b3c6f60a21 (patch) | |
| tree | a5d8c4d67a7b4e25056fe211fd846c70e85f4c93 | |
| parent | 926c1ac9a064780241f0a22fd6cab45d10e16f89 (diff) | |
Core/Spells: Fix PvP trinkets animations
Closes #16890
| -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 |
