diff options
-rw-r--r-- | sql/FULL/world_scripts_full.sql | 1 | ||||
-rw-r--r-- | sql/updates/7422_world_scriptname.sql | 1 | ||||
-rw-r--r-- | src/scripts/world/go_scripts.cpp | 27 |
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; |