summaryrefslogtreecommitdiff
path: root/npc/006-2-5/pouf.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/006-2-5/pouf.txt')
-rw-r--r--npc/006-2-5/pouf.txt151
1 files changed, 151 insertions, 0 deletions
diff --git a/npc/006-2-5/pouf.txt b/npc/006-2-5/pouf.txt
new file mode 100644
index 000000000..6b42846c4
--- /dev/null
+++ b/npc/006-2-5/pouf.txt
@@ -0,0 +1,151 @@
+// 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 (.@q == 1 && killedrid == PiouKnight)
+ {
+ setq2(LilitQuest_Pouf, .@t+1);
+ }
+ if (.@t+1 >= 10)
+ {
+ setq(LilitQuest_Pouf, 2);
+ }
+
+ // Report progress
+ dispbottom l("@@/@@", .@t+1, 10);
+
+ return;
+}
+
+006-2-5,38,23,0 script Princess Pouf NPC_PIOU_QUEEN,{
+ function poufChallenge;
+ function poufQuest;
+ function poufQuestReport;
+ function poufQuestReward;
+ function poufQuestFinished;
+ if (BaseLevel < 60)
+ {
+ mesn;
+ mesq l("You are too weak to pass my test.");
+ next;
+ mesn;
+ mesc l("Return when you are stronger.");
+ }
+ else
+ {
+ poufChallenge();
+ }
+ closedialog;
+ close;
+
+function poufChallenge {
+ .@q=getq(LilitQuest_Pouf);
+ 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 {
+ mes "";
+ mesn;
+ mesq l("Defeat 10 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.");
+ next;
+ setq(LilitQuest_Pouf, 1, 0);
+ break;
+ case 2:
+ next;
+ mesq l("You are clearly not brave enough for this test. Leave my sight at once, chicken.");
+ break;
+ }
+ return;
+}
+
+function poufQuestReport {
+ mesn;
+ mesq l("You've only killed @@/10 @@! You must defeat more to win my favor.", getq2(LilitQuest_Pouf),getmonsterlink(PiouKnight));
+ next;
+ return;
+}
+
+function poufQuestReward {
+ mesn;
+ mesq l("You've defeated 10 of my knights without flinching! You are truly a brave warrior.");
+ next;
+ mesn;
+ mesc l("The princess flies off her perch and alights upon your right and left shoulder in succession.");
+ next;
+ mesn;
+ mesq l("I dub thee Honorary Piou Knight @@, with all the rewards and duties of the position.", strcharinfo(0));
+ next;
+ mesn;
+ mesc l("The princess produces a small, shiny bronze feather and pins it to your lapel, then returns to her perch.");
+ next;
+ mesn;
+ mesq l("Make me proud, knight!");
+ inventoryplace BronzePin, 1;
+ getitem BronzePin, 1;
+ getexp(91479, 24989);
+ setq(LilitQuest_Pouf, 3);
+ next;
+ return;
+}
+
+function poufQuestFinished {
+ mesn;
+ .@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 our isles, honorable knight!");
+ }
+ else
+ {
+ npctalk3 l("I wish you success on your ventures, Knight @@.", strcharinfo(0));
+ }
+ return;
+}
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+}