aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/6.x/2016_04_28_04_world.sql3
-rw-r--r--src/server/scripts/Spells/spell_generic.cpp43
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