diff options
author | Discover- <amort11@hotmail.com> | 2011-10-02 02:03:16 +0100 |
---|---|---|
committer | Nay <dnpd.dd@gmail.com> | 2011-10-02 02:03:16 +0100 |
commit | bc030cc9eecff633e0450a4a365d4edb05215641 (patch) | |
tree | 95cef24fb49a92c2fd32f68b81f3dcb36fe6882f /src | |
parent | acf0bacd0da3fbae4f63313075fd8d0441f2f455 (diff) |
Scripts/Dustallow: Fix quest Prisoners of the Grimtotems
Closes #2904
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Kalimdor/dustwallow_marsh.cpp | 31 |
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(); } |