Scripts/Nagrand: Fix quest Finding The Survivors

Closes #442
Closes #3033
This commit is contained in:
Discover-
2011-10-22 17:33:12 +01:00
committed by Nay
parent 6e1107f5fc
commit 8cc6750388
2 changed files with 50 additions and 0 deletions
@@ -0,0 +1,10 @@
SET @ENTRY := 18428;
UPDATE `gameobject_template` SET `ScriptName`='go_warmaul_prison' WHERE `entry` IN (182484,182486,182487,182488,182489,182490,182491,182492,182493,182494,182495,182496,182497,182498,182499,182501,182502,182503,182504);
UPDATE `quest_template` SET `ReqSpellCast1`=0 WHERE `entry`=9948;
DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
(@ENTRY,0,0,"Death to the ogres!",12,0,100,0,0,0,"Mag'har Prisoner"),
(@ENTRY,1,1,"Many thanks, hero!",12,0,100,0,0,0,"Mag'har Prisoner"),
(@ENTRY,2,2,"One day, a hero will rise and lift the orcs up to their former glory.",12,0,100,0,0,0,"Mag'har Prisoner"),
(@ENTRY,3,3,"Spirits watch over you, $R!",12,0,100,0,0,0,"Mag'har Prisoner"),
(@ENTRY,4,4,"Thank you, $R! Your service to the Mag'har will not be forgotten.",12,0,100,0,0,0,"Mag'har Prisoner");
+40
View File
@@ -1156,6 +1156,45 @@ public:
}; };
}; };
/*######
## go_warmaul_prison
######*/
enum FindingTheSurvivorsData
{
QUEST_FINDING_THE_SURVIVORS = 9948,
NPC_MAGHAR_PRISONER = 18428,
SAY_FREE_0 = 0,
SAY_FREE_1 = 1,
SAY_FREE_2 = 2,
SAY_FREE_3 = 3,
SAY_FREE_4 = 4,
};
class go_warmaul_prison : public GameObjectScript
{
public:
go_warmaul_prison() : GameObjectScript("go_warmaul_prison") { }
bool OnGossipHello(Player* player, GameObject* go)
{
if (Creature* prisoner = go->FindNearestCreature(NPC_MAGHAR_PRISONER, 1.0f))
{
if (prisoner)
{
go->UseDoorOrButton();
if (player)
player->KilledMonsterCredit(NPC_MAGHAR_PRISONER, 0);
prisoner->AI()->Talk(RAND(SAY_FREE_0, SAY_FREE_1, SAY_FREE_2, SAY_FREE_3, SAY_FREE_4), player->GetGUID());
prisoner->ForcedDespawn(6000);
}
}
return true;
}
};
void AddSC_nagrand() void AddSC_nagrand()
{ {
new mob_shattered_rumbler(); new mob_shattered_rumbler();
@@ -1169,4 +1208,5 @@ void AddSC_nagrand()
new npc_corki(); new npc_corki();
new go_corkis_prison(); new go_corkis_prison();
new npc_kurenai_captive(); new npc_kurenai_captive();
new go_warmaul_prison();
} }