aboutsummaryrefslogtreecommitdiff
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
parentacf0bacd0da3fbae4f63313075fd8d0441f2f455 (diff)
Scripts/Dustallow: Fix quest Prisoners of the Grimtotems
Closes #2904
-rw-r--r--sql/updates/world/2011_10_02_06_world_misc.sql6
-rw-r--r--src/server/scripts/Kalimdor/dustwallow_marsh.cpp31
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();
}