diff options
author | Jesusaves <cpntb1@ymail.com> | 2018-09-11 10:51:29 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2018-09-11 10:51:29 -0300 |
commit | e6f7144c50e5ffa640e0b7aaf3a3bfcaa861a0d2 (patch) | |
tree | f6377caea4d50b4b2236ec53be0ddc6162c2e22e /npc/019-1 | |
parent | c7be3198a4ef9e78a97ca2ea5dd6d32ed7d174c5 (diff) | |
download | serverdata-e6f7144c50e5ffa640e0b7aaf3a3bfcaa861a0d2.tar.gz serverdata-e6f7144c50e5ffa640e0b7aaf3a3bfcaa861a0d2.tar.bz2 serverdata-e6f7144c50e5ffa640e0b7aaf3a3bfcaa861a0d2.tar.xz serverdata-e6f7144c50e5ffa640e0b7aaf3a3bfcaa861a0d2.zip |
Nivalis Well Quest (complete)
Diffstat (limited to 'npc/019-1')
-rw-r--r-- | npc/019-1/well.txt | 73 |
1 files changed, 71 insertions, 2 deletions
diff --git a/npc/019-1/well.txt b/npc/019-1/well.txt index b21a37f24..fff9efc07 100644 --- a/npc/019-1/well.txt +++ b/npc/019-1/well.txt @@ -7,8 +7,9 @@ // TODO: We could also throw random stuff (dig script), and use makeitem() to // make it pop at Terranite Cave, near the lake, suggesting that's where the water // comes from. -// TODO: We also need to figure out who was there, and why to save that person. -// Is it related to the episode? +// TODO: Yeti related to Angela quest. Ever-cicle logic - sep 11st. +// Friendly, safe because water on Terranite Cave is too cold, but aware of +// Terranite. 019-1,110,101,0 script Well#Nivalis NPC_SWORDS_SIGN,{ mesc l("ERROR, missing sprite: Snowland.Well"), 1; @@ -22,6 +23,11 @@ mesc l("You are allowed to fill your bottles, but BE SURE TO PAY!"); mesc l("Otherwise, ##BYOU'LL DIE.##b Have a nice day!"); next; + if (.@q == 1) { + mesn l("???"); + mesq l("Hey, is somebody over there?"); + mes ""; + } menu l("Fill Water Bottles"), L_Bottle, @@ -55,6 +61,69 @@ L_Bucket: // Main Quest L_Throw: + mes "##B" + l("Drag and drop an item from your inventory.") + "##b"; + + .@id = requestitem(); + + // If ID is invalid, there's not enough items, it is bound = Cannot bury + if (.@id < 1 || countitem(.@id) < 1 || checkbound(.@id) || !getiteminfo(.@id, ITEMINFO_MAXCHANCE)) { + if (checkbound(.@id)) + mesc l("You cannot bury this item!"); + else if (!getiteminfo(.@id, ITEMINFO_MAXCHANCE)) + mesc l("This item is too precious, you cannot part with it!"); + else + mesc l("You give up."); + return; + } + // Delete item and spawn it at Terranite Cave (an Angry Yellow Slime might steal it) + delitem .@id, 1; + makeitem .@id, 1, "015-6", any(362,363), any(110, 112, 114); + // Now we check if quest must start + if (!.@q) + goto L_Quest; + close; + +// Quest Node +L_Quest: + mesn l("???"); + if (getiteminfo(.@id, ITEMINFO_WEIGHT) > 1000) + mesq l("Ouch! That's heavy!"); + else if (getiteminfo(.@id, ITEMINFO_TYPE) == IT_HEALING) + mesq l("Mhm, this looks healthy."); + else if (getiteminfo(.@id, ITEMINFO_TYPE) == IT_AMMO) + mesq l("This is useless for me!"); + else + mesq l("Who is throwing stuff at me?!"); + next; + select + l("Who are you?"), + l("How did you get down there?"), + l("Do you need help?"), + menuaction(l("Leave.")); + mes ""; + mesn; + switch (@menu) { + case 1: mesq l("I'll talk about who I am after leaving the well."); break; + case 2: mesq l("I don't remember. I guess somebody threw me here!"); break; + case 3: mesq l("I certainly can't get out on my own."); break; + default: mesq l("..Anyone there?"); close; break; + } + next; + do { + select + l("I'll call someone to aid you."), + l("Is it too deep?"), + l("Couldn't you climb the rope?"), + menuaction(l("Leave.")); + mes ""; + mesn; + switch (@menu) { + case 1: mesq l("Please do, my friend."); setq NivalisQuest_Well, 1; break; + case 2: mesq l("It's over a hundred meters in depth. There is some land here, but I'm afraid of Terranite."); break; + case 3: mesq l("I'm not crazy, the bucket is vicious and the rope won't withstand my weight."); break; + default: mesq l("..Anyone there?"); close; break; + } + } while (@menu != 1); close; OnInit: |