@@ -0,0 +1,22 @@
|
|||||||
|
-- [Q] Of Keys and Cages
|
||||||
|
UPDATE `gameobject_template` SET `ScriptName`='go_gjalerbron_cage' WHERE `name`='Gjalerbron Cage';
|
||||||
|
UPDATE `gameobject_template` SET `ScriptName`='go_large_gjalerbron_cage' WHERE `entry`=186490;
|
||||||
|
DELETE FROM `creature_text` WHERE `entry`=24035;
|
||||||
|
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
|
||||||
|
(24035,0,0, "Avenge my friends who have already been sacrificed",12,0,100,0,0,0,"Gjalerbron Prisoner"),
|
||||||
|
(24035,0,1, "I don't want to be sacrificed",12,0,100,0,0,0,"Gjalerbron Prisoner"),
|
||||||
|
(24035,0,2, "I don't want to be taken down into the catacombs",12,0,100,0,0,0,"Gjalerbron Prisoner"),
|
||||||
|
(24035,0,3, "I think I saw a key on one of those Gjalerbron vrykul up top.",12,0,100,0,0,0,"Gjalerbron Prisoner"),
|
||||||
|
(24035,0,4, "I think I saw a key on one of those vrykul.",12,0,100,0,0,0,"Gjalerbron Prisoner"),
|
||||||
|
(24035,0,5, "Is there no hero to rescue me?",12,0,100,0,0,0,"Gjalerbron Prisoner"),
|
||||||
|
(24035,0,6, "My thanks to you, hero",12,0,100,0,0,0,"Gjalerbron Prisoner"),
|
||||||
|
(24035,0,7, "Oh, thank you, thank you",12,0,100,0,0,0,"Gjalerbron Prisoner"),
|
||||||
|
(24035,0,8, "Please, let me out of here",12,0,100,0,0,0,"Gjalerbron Prisoner"),
|
||||||
|
(24035,0,9, "Thank goodness for you",12,0,100,0,0,0,"Gjalerbron Prisoner"),
|
||||||
|
(24035,0,10, "Thank you. I will not forget this",12,0,100,0,0,0,"Gjalerbron Prisoner"),
|
||||||
|
(24035,0,11, "The key... you have to find the key",12,0,100,0,0,0,"Gjalerbron Prisoner"),
|
||||||
|
(24035,0,12, "The vrykul are evil and must be destroyed",12,0,100,0,0,0,"Gjalerbron Prisoner"),
|
||||||
|
(24035,0,13, "They're performing unholy rites down in the catacombs, and I'm about to be the sacrifice",12,0,100,0,0,0,"Gjalerbron Prisoner"),
|
||||||
|
(24035,0,14, "This is the end.",12,0,100,0,0,0,"Gjalerbron Prisoner"),
|
||||||
|
(24035,0,15, "You have to put a stop to this madness before it's too late",12,0,100,0,0,0,"Gjalerbron Prisoner"),
|
||||||
|
(24035,0,16, "You saved my life",12,0,100,0,0,0,"Gjalerbron Prisoner");
|
||||||
@@ -1176,7 +1176,7 @@ public:
|
|||||||
|
|
||||||
class go_massive_seaforium_charge : public GameObjectScript
|
class go_massive_seaforium_charge : public GameObjectScript
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
go_massive_seaforium_charge() : GameObjectScript("go_massive_seaforium_charge") { }
|
go_massive_seaforium_charge() : GameObjectScript("go_massive_seaforium_charge") { }
|
||||||
|
|
||||||
bool OnGossipHello(Player* /*player*/, GameObject* go)
|
bool OnGossipHello(Player* /*player*/, GameObject* go)
|
||||||
@@ -1186,6 +1186,68 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*######
|
||||||
|
## go_gjalerbron_cage
|
||||||
|
######*/
|
||||||
|
|
||||||
|
enum OfKeysAndCages
|
||||||
|
{
|
||||||
|
QUEST_OF_KEYS_AND_CAGES = 11231,
|
||||||
|
NPC_GJALERBRON_PRISONER = 24035,
|
||||||
|
SAY_FREE = 0,
|
||||||
|
};
|
||||||
|
|
||||||
|
class go_gjalerbron_cage : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_gjalerbron_cage() : GameObjectScript("go_gjalerbron_cage") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player* player, GameObject* go)
|
||||||
|
{
|
||||||
|
if (player->GetQuestStatus(QUEST_OF_KEYS_AND_CAGES) == QUEST_STATUS_INCOMPLETE)
|
||||||
|
{
|
||||||
|
if (Creature* prisoner = go->FindNearestCreature(NPC_GJALERBRON_PRISONER, 5.0f))
|
||||||
|
{
|
||||||
|
go->UseDoorOrButton();
|
||||||
|
|
||||||
|
if (player)
|
||||||
|
player->KilledMonsterCredit(NPC_GJALERBRON_PRISONER, 0);
|
||||||
|
|
||||||
|
prisoner->AI()->Talk(SAY_FREE);
|
||||||
|
prisoner->ForcedDespawn(6000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/*########
|
||||||
|
## go_large_gjalerbron_cage
|
||||||
|
#####*/
|
||||||
|
|
||||||
|
class go_large_gjalerbron_cage : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_large_gjalerbron_cage() : GameObjectScript("go_large_gjalerbron_cage") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player* player, GameObject* go)
|
||||||
|
{
|
||||||
|
if (player->GetQuestStatus(QUEST_OF_KEYS_AND_CAGES) == QUEST_STATUS_INCOMPLETE)
|
||||||
|
{
|
||||||
|
std::list<Creature*> prisonerList;
|
||||||
|
GetCreatureListWithEntryInGrid(prisonerList, go, NPC_GJALERBRON_PRISONER, INTERACTION_DISTANCE);
|
||||||
|
for (std::list<Creature*>::const_iterator itr = prisonerList.begin(); itr != prisonerList.end(); ++itr)
|
||||||
|
{
|
||||||
|
go->UseDoorOrButton();
|
||||||
|
player->KilledMonsterCredit(NPC_GJALERBRON_PRISONER, (*itr)->GetGUID());
|
||||||
|
(*itr)->ForcedDespawn(6000);
|
||||||
|
(*itr)->AI()->Talk(SAY_FREE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
void AddSC_go_scripts()
|
void AddSC_go_scripts()
|
||||||
{
|
{
|
||||||
new go_cat_figurine;
|
new go_cat_figurine;
|
||||||
@@ -1224,4 +1286,6 @@ void AddSC_go_scripts()
|
|||||||
new go_amberpine_outhouse;
|
new go_amberpine_outhouse;
|
||||||
new go_hive_pod;
|
new go_hive_pod;
|
||||||
new go_massive_seaforium_charge;
|
new go_massive_seaforium_charge;
|
||||||
|
new go_gjalerbron_cage;
|
||||||
|
new go_large_gjalerbron_cage;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user