diff options
Diffstat (limited to 'npc/020-2-24/kylian.txt')
-rw-r--r-- | npc/020-2-24/kylian.txt | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/npc/020-2-24/kylian.txt b/npc/020-2-24/kylian.txt new file mode 100644 index 00000000..0b1bce37 --- /dev/null +++ b/npc/020-2-24/kylian.txt @@ -0,0 +1,130 @@ +// The Mana World scripts. +// Author: +// Jesusalva +// Description: +// Rich merchant +// Variables: +// TonoriQuest_Kylian +// q1 - State of the Quest +// q2 - "Know" mask +// q3 - Timer to return + +020-2-24,35,24,0 script Kylian NPC_KPG_MANAGER,{ + function kylianLuggage; + function kylianGiveLuggage; + function kylianLicense; + .@q=getq(TonoriQuest_Kylian); + switch (.@q) { + case 0: + kylianLuggage(); + break; + case 1: + mesn; + mesq l("Please show Adrian the luggage ticket I gave you."); + break; + case 2: + kylianGiveLuggage(); + break; + case 3: + kylianLicense(); + break; + default: + mesn; + mesq l("I wish to take a nap now, so please do not disturb me."); + break; + } + close; + +function kylianLuggage { + // Insert lore babbling here + mesn; + mesq l("Ah! Are you the room service? I have some requests."); + next; + select + l("Sure... What can I do for you?"), + l("No, I'm not!"); + mes ""; + if (@menu == 2) { + mesn; + mesq l("Too bad. Would you be interested in earning some quick money with some errands regardless?"); + next; + select + l("I'm a great adventurer! I don't do petty errands."), + l("No. I'm busy."), + l("Well... OK."); + mes ""; + if (@menu != 3) + return; + } + mesn; + mesq l("I need you to get my luggage from the docks. Just show this paper to the sailor who's watching the luggage."); + mesc l("%s gives you his ticket, which you promptly store in a safe pocket outside of your inventory.", .name$); + setq1 TonoriQuest_Kylian, 1; + next; + mesn; + mesq l("I'll be waiting your return."); + return; +} + +function kylianGiveLuggage { + if (!countitem(Suitcase)) { + mesn; + mesq l("Please come back with my %s.", getitemlink(Suitcase)); + return; + } + mesn; + mesq l("Did you get my luggage from the docks?"); + select + l("Here it is."), + l("Don't worry; I'm on my way."); + mes ""; + if (@menu == 2) + return; + delitem Suitcase, 1; + quest_gp(.maxLevel, 100); + quest_item(.maxLevel, Acorn, 12); + setq1 TonoriQuest_Kylian, 3; + mesn; + mesq l("Ah! Very good. I have some urgent paperwork that I've been needing to attend to."); + next; + mesn; + mesq l("Before you go, I also happen to have some acorns left over from my trip. You can have them if you wish; they're rather tasty."); + mesc l("He gives you some money and acorns."); + next; + mesn; + mesq l("If, however, you don't like them, you could take them to the %s. I heard they use them to make a special kind of flour.", b(l("Tulimshar bakery"))); + next; + kylianLicense(); + return; +} + +function kylianLicense { + mesn; + mesq l("I'm a merchant and came to Tulimshar because I'm thinking about establishing a shop here."); + next; + mesn; + mesq l("While I'm going through my papers, could you find out whom I have to talk to about opening up a shop in this city?"); + if (!(getq2(TonoriQuest_Kylian) & KYLIAN_YANIS)) + return; + next; + select + l("You need to go and talk to Yanis in the government building."), + l("I'll see what I can do."); + mes ""; + if (@menu == 2) + return; + mesc l("You explain Kylian how to reach the Townhall."); + next; + quest_gp(.maxLevel, 50); + setq1 TonoriQuest_Kylian, 4; + setq3 TonoriQuest_Kylian, gettimetick(2)+900; // 15 minutes + mesn; + mesq l("Ah... excellent! That's very helpful. I need to prepare my papers now. I might have some more questions later on though."); + return; +} + +OnInit: + .maxLevel = 35; + .distance = 4; + end; +} |