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 | |
| parent | acf0bacd0da3fbae4f63313075fd8d0441f2f455 (diff) | |
Scripts/Dustallow: Fix quest Prisoners of the Grimtotems
Closes #2904
| -rw-r--r-- | sql/updates/world/2011_10_02_06_world_misc.sql | 6 | ||||
| -rw-r--r-- | src/server/scripts/Kalimdor/dustwallow_marsh.cpp | 31 | 
2 files changed, 37 insertions, 0 deletions
diff --git a/sql/updates/world/2011_10_02_06_world_misc.sql b/sql/updates/world/2011_10_02_06_world_misc.sql new file mode 100644 index 00000000000..03a2bf96b7d --- /dev/null +++ b/sql/updates/world/2011_10_02_06_world_misc.sql @@ -0,0 +1,6 @@ +-- Prisoners of the Grimtotems +UPDATE `gameobject_template` SET `ScriptName`='go_blackhoof_cage'/*,`data2`=30000*/ WHERE `entry`=186287; +UPDATE `quest_template` SET `ReqSpellCast1`=0 WHERE `entry`=11145; +DELETE FROM `creature_text` WHERE `entry`=23720; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(23720,0,0,"Thank you! There's no telling what those brutes would've done to me.",12,0,100,18,0,0,"Theramore Prisoner"); 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();  }  | 
