aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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();
}