// TMW2/LOF Script. // Author: // Jesusalva // Description: // Better to skip this quest. It is too poor and would require more work, // eg. rope and something to make the player take part on it... Probably? // 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: 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; mesc l("Blame Saulc"), 1; mesc "-------------------------------------", 1; // Begin here .@q=getq(NivalisQuest_Well); mesn l("The Self-Serving Ice Well!"); mesc l("Hello, my name is Mahid, and this well belongs to me!"); 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, rif(.@q == 2, l("Jump inside!")), L_Reckless, rif(.@q == 1, l("Steal bucket!")), L_Bucket, rif(.@q != 1, l("Throw something inside!")), L_Throw, l("Leave."), -; close; // Fill a water bottle L_Bottle: mes ""; mesc l("Temporaly out of order."), 1; close; // Jump to Terranite Cave (requires 55 vitality minimum) L_Reckless: closedialog; warp "015-6", 363, 109; percentheal -155+readparam(bVit), 0; dispbottom l("Ouch! That was kinda reckless!"); close; // Easter Egg L_Bucket: mes ""; percentheal -rand(10,20), 0; mesn strcharinfo(0); mesq l("Ouch, the bucket BITE me!"); close; // 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 (.@id < 1) mesc l("You give up."); else if (checkbound(.@id)) mesc l("You cannot drop 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."); close; } // 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: .sex = G_OTHER; .distance = 3; end; }