aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDiscover- <amort11@hotmail.com>2011-10-02 02:03:16 +0100
committerNay <dnpd.dd@gmail.com>2011-10-02 02:03:16 +0100
commitbc030cc9eecff633e0450a4a365d4edb05215641 (patch)
tree95cef24fb49a92c2fd32f68b81f3dcb36fe6882f /src
parentacf0bacd0da3fbae4f63313075fd8d0441f2f455 (diff)
Scripts/Dustallow: Fix quest Prisoners of the Grimtotems
Closes #2904
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Kalimdor/dustwallow_marsh.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/server/scripts/Kalimdor/dustwallow_marsh.cpp b/src/server/scripts/Kalimdor/dustwallow_marsh.cpp
index 120f17c1cb6..244250b8204 100644
--- a/src/server/scripts/Kalimdor/dustwallow_marsh.cpp
+++ b/src/server/scripts/Kalimdor/dustwallow_marsh.cpp
@@ -823,6 +823,36 @@ class spell_energize_aoe : public SpellScriptLoader
}
};
+/*######
+## go_blackhoof_cage
+######*/
+
+enum PrisonersOfTheGrimTotems
+{
+ NPC_THERAMORE_PRISONER = 23720,
+ SAY_FREE = 0,
+};
+
+class go_blackhoof_cage : public GameObjectScript
+{
+public:
+ go_blackhoof_cage() : GameObjectScript("go_blackhoof_cage") { }
+
+ bool OnGossipHello(Player* player, GameObject* go)
+ {
+ if (Creature* prisoner = go->FindNearestCreature(NPC_THERAMORE_PRISONER, 1.0f))
+ {
+ go->UseDoorOrButton();
+ if (player)
+ player->KilledMonsterCredit(NPC_THERAMORE_PRISONER, 0);
+
+ prisoner->AI()->Talk(SAY_FREE); // We also emote cry here (handled in creature_text.emote)
+ prisoner->ForcedDespawn(6000);
+ }
+ return true;
+ }
+};
+
void AddSC_dustwallow_marsh()
{
new mobs_risen_husk_spirit();
@@ -836,4 +866,5 @@ void AddSC_dustwallow_marsh()
new spell_ooze_zap();
new spell_ooze_zap_channel_end();
new spell_energize_aoe();
+ new go_blackhoof_cage();
}