summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Events/midsummer.cpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/server/scripts/Events/midsummer.cpp b/src/server/scripts/Events/midsummer.cpp
index 0650c044c1..fa88734d7c 100644
--- a/src/server/scripts/Events/midsummer.cpp
+++ b/src/server/scripts/Events/midsummer.cpp
@@ -1195,6 +1195,49 @@ class spell_midsummer_torch_catch : public SpellScript
}
};
+// 46592 - Summon Ahune Lieutenant
+class spell_midsummer_summon_ahune_lieutenant : public SpellScript
+{
+ PrepareSpellScript(spell_midsummer_summon_ahune_lieutenant);
+
+ void HandleDummy(SpellEffIndex /*effIndex*/)
+ {
+ Unit* caster = GetCaster();
+ uint32 zoneId = caster->GetZoneId();
+ uint32 npcEntry = 0;
+
+ switch (zoneId)
+ {
+ case 331: // Ashenvale
+ npcEntry = 26116; // Frostwave Lieutenant
+ break;
+ case 405: // Desolace
+ npcEntry = 26178; // Hailstone Lieutenant
+ break;
+ case 33: // Stranglethorn Vale
+ npcEntry = 26204; // Chillwind Lieutenant
+ break;
+ case 51: // Searing Gorge
+ npcEntry = 26214; // Frigid Lieutenant
+ break;
+ case 1377: // Silithus
+ npcEntry = 26215; // Glacial Lieutenant
+ break;
+ case 3483: // Hellfire Peninsula
+ npcEntry = 26216; // Glacial Templar
+ break;
+ }
+
+ if (npcEntry)
+ caster->SummonCreature(npcEntry, caster->GetPosition(), TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, MINUTE * IN_MILLISECONDS);
+ }
+
+ void Register() override
+ {
+ OnEffectHit += SpellEffectFn(spell_midsummer_summon_ahune_lieutenant::HandleDummy, EFFECT_1, SPELL_EFFECT_APPLY_AURA);
+ }
+};
+
void AddSC_event_midsummer_scripts()
{
// Player
@@ -1215,5 +1258,6 @@ void AddSC_event_midsummer_scripts()
RegisterSpellScript(spell_midsummer_fling_torch);
RegisterSpellScript(spell_midsummer_juggling_torch);
RegisterSpellScript(spell_midsummer_torch_catch);
+ RegisterSpellScript(spell_midsummer_summon_ahune_lieutenant);
}