aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Spells
diff options
context:
space:
mode:
authorVincent-Michael <Vincent_Michael@gmx.de>2013-06-21 22:04:11 +0200
committerVincent-Michael <Vincent_Michael@gmx.de>2013-06-21 22:04:11 +0200
commit614e674b3438faa32177fb020ab78452963986a5 (patch)
treea7716e68398c11b4ba9c18f3137fb150a47090d9 /src/server/scripts/Spells
parentb2cc07556c1470d5547f138e33a96b0296d5b6f2 (diff)
parent4a8e92e8af6465bfe37dc3e9f78fb5b51c585471 (diff)
Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts: src/server/scripts/Northrend/zone_zuldrak.cpp
Diffstat (limited to 'src/server/scripts/Spells')
-rw-r--r--src/server/scripts/Spells/spell_generic.cpp74
1 files changed, 74 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp
index a99c02a60c0..2ffd8c80601 100644
--- a/src/server/scripts/Spells/spell_generic.cpp
+++ b/src/server/scripts/Spells/spell_generic.cpp
@@ -3673,6 +3673,78 @@ class spell_gen_whisper_gulch_yogg_saron_whisper : public SpellScriptLoader
}
};
+enum SpectatorCheerTrigger
+{
+ EMOTE_ONE_SHOT_CHEER = 4,
+ EMOTE_ONE_SHOT_EXCLAMATION = 5,
+ EMOTE_ONE_SHOT_APPLAUD = 21
+};
+
+uint8 const EmoteArray[3] = { EMOTE_ONE_SHOT_CHEER, EMOTE_ONE_SHOT_EXCLAMATION, EMOTE_ONE_SHOT_APPLAUD };
+
+class spell_gen_spectator_cheer_trigger : public SpellScriptLoader
+{
+ public:
+ spell_gen_spectator_cheer_trigger() : SpellScriptLoader("spell_gen_spectator_cheer_trigger") { }
+
+ class spell_gen_spectator_cheer_trigger_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_gen_spectator_cheer_trigger_SpellScript)
+
+ void HandleDummy(SpellEffIndex /*effIndex*/)
+ {
+ GetCaster()->HandleEmoteCommand(EmoteArray[urand(0, 2)]);
+ }
+
+ void Register()
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_gen_spectator_cheer_trigger_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
+ }
+ };
+
+ SpellScript* GetSpellScript() const
+ {
+ return new spell_gen_spectator_cheer_trigger_SpellScript();
+ }
+
+};
+
+enum VendorBarkTrigger
+
+{
+ NPC_AMPHITHEATER_VENDOR = 30098,
+ SAY_AMPHITHEATER_VENDOR = 0
+};
+
+class spell_gen_vendor_bark_trigger : public SpellScriptLoader
+{
+ public:
+ spell_gen_vendor_bark_trigger() : SpellScriptLoader("spell_gen_vendor_bark_trigger") { }
+
+ class spell_gen_vendor_bark_trigger_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_gen_vendor_bark_trigger_SpellScript)
+
+ void HandleDummy(SpellEffIndex /* effIndex */)
+ {
+ if (Creature* vendor = GetCaster()->ToCreature())
+ if (vendor->GetEntry() == NPC_AMPHITHEATER_VENDOR)
+ vendor->AI()->Talk(SAY_AMPHITHEATER_VENDOR);
+ }
+
+ void Register()
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_gen_vendor_bark_trigger_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
+ }
+ };
+
+ SpellScript* GetSpellScript() const
+ {
+ return new spell_gen_vendor_bark_trigger_SpellScript();
+ }
+
+};
+
void AddSC_generic_spell_scripts()
{
new spell_gen_absorb0_hitlimit1();
@@ -3762,4 +3834,6 @@ void AddSC_generic_spell_scripts()
new spell_gen_darkflight();
new spell_gen_orc_disguise();
new spell_gen_whisper_gulch_yogg_saron_whisper();
+ new spell_gen_spectator_cheer_trigger();
+ new spell_gen_vendor_bark_trigger();
}