// TMW-2 scripts.
// Original Authors: Hal9000 & Qwerty Dragon
// TMW-2 Authors:
// dangerDuck
// +seeds
// Description:
// Piou royal who asks players to prove themselves against piou knights.
function script PoufMobCount {
.@q=getq(LilitQuest_Pouf);
.@t=getq2(LilitQuest_Pouf);
if (getmap() == "006-2-4" && .@q == 1 && killedrid == PiouKnight)
{
setq2 LilitQuest_Pouf, .@t+1;
}
if (.@t+1 >= 12)
{
setq LilitQuest_Pouf, 2, 0;
}
// Report progress
dispbottom l("@@/@@", .@t+1, 12);
return;
}
006-2-5,38,23,0 script Princess Pouf NPC_PIOU_QUEEN,{
function poufChallenge;
function poufQuest;
function poufQuestReport;
function poufQuestReward;
function poufQuestFinished;
.@q=getq(LilitQuest_Pouf);
if (BaseLevel < 60)
{
mesn;
mesq l("You are too weak to pass my test.");
mesc l("Return when you are stronger.");
}
else
{
poufChallenge();
}
closedialog;
close;
function poufChallenge {
if (.@q == 0)
{
mesn;
mesq l("Welcome to my Isles, traveller.");
next;
mesc l("To show you are worthy of remaining here, you must prove yourself to me! Do you accept my challenge?"), 1;
if (askyesno() == ASK_NO)
return;
poufQuest();
}
else if (.@q == 1)
{
poufQuestReport();
}
else if (.@q == 2)
{
poufQuestReward();
}
else
{
poufQuestFinished();
}
return;
}
function poufQuest { // L_Quest:
mes "";
mesn;
mesq l("Defeat 12 of my bravest @@ to prove yourself a warrior, brave of heart and strong of arm!", getmonsterlink(PiouKnight));
next;
select
l("Point the way! Little yellow birds can't be that hard."),
l("Scary pious with armor? No thank you!");
mes "";
switch (@menu)
{
case 1:
mesn;
mesq l("Excellent. You will find them in the training room beneath this chamber.");
setq LilitQuest_Pouf, 1, 0;
break;
case 2:
mesn;
mesq l("You are clearly not brave enough for this test. Leave my sight at once, chicken.");
break;
}
return;
}
function poufQuestReport { // L_Report:
mesn;
mesq l("You've only killed @@/8 @@! You must defeat more to win my favor.", getq2(LilitQuest_Pouf),getmonsterlink(PiouKnight));
return;
}
function poufQuestReward { // L_Reward:
mesn;
mesq l("You've defeated 8 of my knights without flinching! You are truly a brave warrior.");
mesn;
mesc l("The princess flies off her perch and alights upon your right and left shoulder in succession.");
mesn;
mesq l("I dub thee Honorary Piou Knight @@, with all the rewards and duties of the position!", strcharinfo(0));
mesn;
mesc l("The princess produces a small, shiny bronze feather and pins it to your lapel, then returns to her perch.");
mesn;
mesq l("Make me proud, knight!");
inventoryplace BronzePin, 1;
getitem BronzePin, 1;
getexp(91479, 24989);
setq LilitQuest_Pouf, 3, 0;
mesn;
return;
}
function poufQuestFinished { // L_Finished:
next;
.@r = rand2(3);
if (.@r == 0)
{
npctalk3 l("I bid you a good %s, brave knight.", (is_night() ? l("evening") : l("day")));
}
else if (.@r == 1)
{
npctalk3 l("Fight bravely for Queen +seeds and country, honorable knight!");
}
else
{
npctalk3 l("I wish you success on your ventures, Knight @@.", strcharinfo(0));
}
return;
}
OnInit:
.sex = G_OTHER;
.distance = 3;
end;
}