From 29ea9c74105395c8e52b8973a5e0d86c1034eaae Mon Sep 17 00:00:00 2001 From: Sean Hulka Date: Thu, 3 Jun 2021 04:19:24 +0000 Subject: Add Annoying Piou Princess and Pin Quest --- npc/006-2-5/_import.txt | 1 + npc/006-2-5/pouf.txt | 132 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 133 insertions(+) create mode 100644 npc/006-2-5/pouf.txt 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; +} -- cgit v1.2.3-60-g2f50