aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Spells/spell_quest.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_quest.cpp b/src/server/scripts/Spells/spell_quest.cpp
index c613a510b34..a833bad9cc5 100644
--- a/src/server/scripts/Spells/spell_quest.cpp
+++ b/src/server/scripts/Spells/spell_quest.cpp
@@ -2306,6 +2306,52 @@ class spell_q12308_escape_from_silverbrook_summon_worgen : public SpellScriptLoa
}
};
+enum BasicOrdersEmote
+{
+ SPELL_TEST_SALUTE = 73835,
+ SPELL_TEST_ROAR = 73836,
+ SPELL_TEST_CHEER = 73725,
+ SPELL_TEST_DANCE = 73837,
+ SPELL_TEST_STOP_DANCE = 73886
+};
+
+class spell_q25199_emote : public AuraScript
+{
+ PrepareAuraScript(spell_q25199_emote);
+
+ void HandlePeriodic(AuraEffect const* /*aurEff*/)
+ {
+ Unit* target = GetTarget();
+
+ switch (GetSpellInfo()->Id)
+ {
+ case SPELL_TEST_SALUTE:
+ target->HandleEmoteCommand(EMOTE_ONESHOT_SALUTE);
+ break;
+ case SPELL_TEST_ROAR:
+ target->HandleEmoteCommand(EMOTE_ONESHOT_ROAR);
+ break;
+ case SPELL_TEST_CHEER:
+ target->HandleEmoteCommand(EMOTE_ONESHOT_CHEER);
+ break;
+ case SPELL_TEST_DANCE:
+ target->SetEmoteState(EMOTE_STATE_DANCE);
+ break;
+ case SPELL_TEST_STOP_DANCE:
+ target->SetEmoteState(EMOTE_STATE_NONE);
+ break;
+ default:
+ return;
+ }
+ Remove();
+ }
+
+ void Register() override
+ {
+ OnEffectPeriodic += AuraEffectPeriodicFn(spell_q25199_emote::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
+ }
+};
+
enum DeathComesFromOnHigh
{
SPELL_FORGE_CREDIT = 51974,
@@ -3078,6 +3124,7 @@ void AddSC_quest_spell_scripts()
RegisterSpellScript(spell_q11896_weakness_to_lightning_46444);
new spell_q12308_escape_from_silverbrook_summon_worgen();
new spell_q12308_escape_from_silverbrook();
+ RegisterSpellScript(spell_q25199_emote);
new spell_q12641_death_comes_from_on_high();
new spell_q12641_recall_eye_of_acherus();
new spell_q12619_emblazon_runeblade();