summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Hulka <sean.hulka@gmail.com>2021-06-03 04:19:24 +0000
committerSean Hulka <sean.hulka@gmail.com>2021-06-03 04:19:24 +0000
commit29ea9c74105395c8e52b8973a5e0d86c1034eaae (patch)
treed9472a553cd8c363df9d1ab3183038ce61414377
parent02df9bd50725842d5cb2a3f4c31312513094c3c7 (diff)
downloadserverdata-29ea9c74105395c8e52b8973a5e0d86c1034eaae.tar.gz
serverdata-29ea9c74105395c8e52b8973a5e0d86c1034eaae.tar.bz2
serverdata-29ea9c74105395c8e52b8973a5e0d86c1034eaae.tar.xz
serverdata-29ea9c74105395c8e52b8973a5e0d86c1034eaae.zip
Add Annoying Piou Princess and Pin Quest
-rw-r--r--npc/006-2-5/_import.txt1
-rw-r--r--npc/006-2-5/pouf.txt132
2 files changed, 133 insertions, 0 deletions
diff --git a/npc/006-2-5/_import.txt b/npc/006-2-5/_import.txt
index 7a07b21fb..ea48bfdb1 100644
--- a/npc/006-2-5/_import.txt
+++ b/npc/006-2-5/_import.txt
@@ -2,3 +2,4 @@
// This file is generated automatically. All manually added changes will be removed when running the Converter.
"npc/006-2-5/_mobs.txt",
"npc/006-2-5/_warps.txt",
+"npc/006-2-5/pouf.txt",
diff --git a/npc/006-2-5/pouf.txt b/npc/006-2-5/pouf.txt
new file mode 100644
index 000000000..a42ee8bff
--- /dev/null
+++ b/npc/006-2-5/pouf.txt
@@ -0,0 +1,132 @@
+// 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 >= 12) {
+ setq LilitQuest_Pouf, 2, 0;
+ }
+
+ // Report progress
+ dispbottom l("@@/@@", .@t+1, 8);
+
+ 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?"), 1;
+ if (askyesno() == ASK_NO)
+ return;
+ poufQuest();
+ }
+ elseif (.@q == 1)
+ {
+ poufQuestReport();
+ }
+ elseif (.@q == 2)
+ {
+ poufQuestReward();
+ }
+ else
+ {
+ poufQuestFinished();
+ }
+ return;
+}
+
+function poufQuest { // L_Quest:
+ mes "";
+ mesn;
+ mesq l("Defeat 6 of my brave @@ 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;
+ setq LilitQuest_Pouf, 3, 0;
+ mesn;
+ return;
+}
+
+function poufQuestFinished { // L_Finished:
+ next;
+ .@r = rand2(3);
+ if (.@r == 0) mesq l("I bid you a good %s, brave knight.", (is_night() ? l("evening") : l("day")));
+ if (.@r == 1) mesq l("Fight bravely for Queen +seeds and country, my knight!");
+ if (.@r == 2) mesq l("I wish you success on your ventures, Knight @@.", strcharinfo(0));
+ return;
+}
+
+OnInit:
+ .sex = G_Other;
+ .distance = 3;
+ end;
+}