aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/FULL/world_scripts_full.sql1
-rw-r--r--sql/updates/7422_world_scriptname.sql1
-rw-r--r--src/scripts/world/go_scripts.cpp27
3 files changed, 29 insertions, 0 deletions
diff --git a/sql/FULL/world_scripts_full.sql b/sql/FULL/world_scripts_full.sql
index 3e64b6c3c2b..3d3299f8609 100644
--- a/sql/FULL/world_scripts_full.sql
+++ b/sql/FULL/world_scripts_full.sql
@@ -51,6 +51,7 @@ UPDATE `gameobject_template` SET `scriptname`='go_inconspicuous_landmark' WHERE
UPDATE `gameobject_template` SET `ScriptName`='go_soulwell' WHERE `entry` IN (181621,193169);
UPDATE `gameobject_template` SET `scriptname`='go_tadpole_cage' WHERE `entry`=187373;
UPDATE `gameobject_template` SET `ScriptName`='go_dragonflayer_cage' WHERE entry IN (186566,186567,186568,186569,186570,186571,186572,186573,186574,186575);
+UPDATE `gameobject_template` SET `ScriptName`='go_black_cage' WHERE `entry`=195310;
/* GUARD */
UPDATE `creature_template` SET `ScriptName`='guard_azuremyst' WHERE `entry`=18038;
diff --git a/sql/updates/7422_world_scriptname.sql b/sql/updates/7422_world_scriptname.sql
new file mode 100644
index 00000000000..d643cfa96f0
--- /dev/null
+++ b/sql/updates/7422_world_scriptname.sql
@@ -0,0 +1 @@
+UPDATE `gameobject_template` SET `ScriptName`='go_black_cage' WHERE `entry`=195310;
diff --git a/src/scripts/world/go_scripts.cpp b/src/scripts/world/go_scripts.cpp
index 91988022917..76b8c197f66 100644
--- a/src/scripts/world/go_scripts.cpp
+++ b/src/scripts/world/go_scripts.cpp
@@ -793,6 +793,33 @@ bool GOHello_go_tadpole_cage(Player *pPlayer, GameObject *pGO)
return true;
}
+/*######
+## Quest 14096 & 14142: You've Really Done It This Time, Kul
+## go_black_cage
+######*/
+
+enum eReallyDoneItThisTime
+{
+ QUEST_ALLIANCE_YOU_VE_REALLY_DONE_IT_THIS_TIME_KUL = 14096,
+ QUEST_HORDE_YOU_VE_REALLY_DONE_IT_THIS_TIME_KUL = 14142,
+ NPC_CAPTIVE_ASPIRANT = 34716,
+ NPC_KUL = 34956
+};
+
+bool GOHello_go_black_cage(Player *pPlayer, GameObject *pGO)
+{
+ Creature *pPrisoner;
+ if (((pPlayer->GetTeamId() == TEAM_ALLIANCE && pPlayer->GetQuestStatus(QUEST_ALLIANCE_YOU_VE_REALLY_DONE_IT_THIS_TIME_KUL) == QUEST_STATUS_INCOMPLETE) ||
+ (pPlayer->GetTeamId() == TEAM_HORDE && pPlayer->GetQuestStatus(QUEST_HORDE_YOU_VE_REALLY_DONE_IT_THIS_TIME_KUL) == QUEST_STATUS_INCOMPLETE)) &&
+ ((pPrisoner = pGO->FindNearestCreature(NPC_CAPTIVE_ASPIRANT,1.0f)) || (pPrisoner = pGO->FindNearestCreature(NPC_KUL,1.0f))))
+ {
+ pGO->UseDoorOrButton();
+ pPrisoner->DisappearAndDie();
+ pPlayer->KilledMonsterCredit(pPrisoner->GetEntry(),0);
+ }
+ return true;
+}
+
void AddSC_go_scripts()
{
Script *newscript;