diff options
| author | Vincent-Michael <Vincent_Michael@gmx.de> | 2013-06-21 22:04:11 +0200 |
|---|---|---|
| committer | Vincent-Michael <Vincent_Michael@gmx.de> | 2013-06-21 22:04:11 +0200 |
| commit | 614e674b3438faa32177fb020ab78452963986a5 (patch) | |
| tree | a7716e68398c11b4ba9c18f3137fb150a47090d9 /src/server/scripts/Spells | |
| parent | b2cc07556c1470d5547f138e33a96b0296d5b6f2 (diff) | |
| parent | 4a8e92e8af6465bfe37dc3e9f78fb5b51c585471 (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.cpp | 74 |
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(); } |
