diff options
author | Jesusaves <cpntb1@ymail.com> | 2022-10-23 21:44:22 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2022-10-23 21:44:22 -0300 |
commit | a7c45a192268da2601cef47a4cdba987ae2327ca (patch) | |
tree | c5fb5b97db109fe7106496dd96498c475881046b /npc/019-1 | |
download | serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.gz serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.bz2 serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.xz serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.zip |
Initial commit (Moubootaur Legends fork)
Diffstat (limited to 'npc/019-1')
-rw-r--r-- | npc/019-1/_import.txt | 6 | ||||
-rw-r--r-- | npc/019-1/_mobs.txt | 7 | ||||
-rw-r--r-- | npc/019-1/_warps.txt | 6 | ||||
-rw-r--r-- | npc/019-1/sign.txt | 21 | ||||
-rw-r--r-- | npc/019-1/well.txt | 169 |
5 files changed, 209 insertions, 0 deletions
diff --git a/npc/019-1/_import.txt b/npc/019-1/_import.txt new file mode 100644 index 0000000..0513ece --- /dev/null +++ b/npc/019-1/_import.txt @@ -0,0 +1,6 @@ +// Map 019-1: Snow Field +// This file is generated automatically. All manually added changes will be removed when running the Converter. +"npc/019-1/_mobs.txt", +"npc/019-1/_warps.txt", +"npc/019-1/sign.txt", +"npc/019-1/well.txt", diff --git a/npc/019-1/_mobs.txt b/npc/019-1/_mobs.txt new file mode 100644 index 0000000..25c4953 --- /dev/null +++ b/npc/019-1/_mobs.txt @@ -0,0 +1,7 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 019-1: Snow Field mobs +019-1,70,67,52,48 monster Fluffy 1022,50,100000,30000 +019-1,61,73,52,48 monster White Slime 1094,20,100000,30000 +019-1,79,61,52,48 monster Wolvern 1037,12,60000,30000 +019-1,56,60,21,18 monster Santa Slime 1096,2,30000,30000 +019-1,115,52,19,16 monster Pollet 1219,2,200000,30000 diff --git a/npc/019-1/_warps.txt b/npc/019-1/_warps.txt new file mode 100644 index 0000000..85492a9 --- /dev/null +++ b/npc/019-1/_warps.txt @@ -0,0 +1,6 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 019-1: Snow Field warps +019-1,70,21,0 warp #019-1_70_21 3,0,020-1,70,127 +019-1,61,102,0 warp #019-1_61_102 3,0,019-4,95,28 +019-1,21,70,0 warp #019-1_21_70 0,1,019-6,256,69 +019-1,84,53,0 warp #019-1_84_53 0,0,019-1-1,33,41 diff --git a/npc/019-1/sign.txt b/npc/019-1/sign.txt new file mode 100644 index 0000000..93599d6 --- /dev/null +++ b/npc/019-1/sign.txt @@ -0,0 +1,21 @@ +// TMW2 Script. +// Author: +// Jesusalva +// Description: +// Random Sign nobody bothers reading. + +019-1,67,30,0 script Sign#01916730 NPC_SWORDS_SIGN,{ + if (!$NIVALIS_LIBDATE) { + mesc l("WARNING: Nivalis is currently under siege from the Monster King himself."), 3; + next; + mesc l("We've built this blockade to prevent this area from being overrun with monsters, but who knows for how long this will last."); + } else { + mesc l("The city is still under repairs, but town square is safe already."), 1; + } + close; + +OnInit: + .sex = G_OTHER; + .distance = 3; + end; +} diff --git a/npc/019-1/well.txt b/npc/019-1/well.txt new file mode 100644 index 0000000..97a3e5d --- /dev/null +++ b/npc/019-1/well.txt @@ -0,0 +1,169 @@ +// TMW2/LOF Script. +// Author: +// Jesusalva +// Description: +// Well connected to Terranite Cave. This is the water Nivalis townsfolk uses. + +019-1,110,101,0 script Well#Nivalis NPC_NO_SPRITE,{ + // 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; + +// Jump to Terranite Cave (requires 55 vitality minimum) +L_Reckless: + closedialog; + warp "015-6", 363, 109; + dispbottom l("Ouch! That was kinda reckless!"); + percentheal -150+readparam2(bVit), 0; + 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) { + mesc l("You give up."); + close; + } + if (countitem(.@id) < 1 || checkbound(.@id) || !getiteminfo(.@id, ITEMINFO_MAXCHANCE)) { + 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; + // If not, report if it is safe to jump + if (readparam2(bVit) < 55) + mesc l("The item impact suggests you don't have enough vitality to jump inside."), 1; + else if (readparam2(bVit) < 75) + mesc l("The item impact suggests jumping inside will leave you badly wounded."); + else + mesc l("The item impact suggests jumping inside should be safe if you have enough life."); + close; + +// Quest Node +L_Quest: + mesn l("???"); + if (getiteminfo(.@id, ITEMINFO_WEIGHT) > 1000) + mesq l("Ouch! That's heavy!"); + else if (getiteminfo(.@id, ITEMINFO_SELLPRICE) < 10) + mesq l("What cheap crap is this? It's not worth even 10 GP."); + else if (getiteminfo(.@id, ITEMINFO_TYPE) == IT_HEALING) + mesq l("Mhm, this looks healthy."); + else if (getiteminfo(.@id, ITEMINFO_TYPE) == IT_AMMO) + mesq l("Ammo? I prefer power gloves! That 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; + +// Fill a water bottle +L_Bottle: + mes ""; + mesc l("Cost: @@ gp per bottle.", .price); + input .@count; + + if (!.@count) + close; + + .@gp = .@count * .price; + + if (Zeny < .@gp) { + mesc l("Not enough money."); + close; + } + + if (countitem(EmptyBottle) < .@count) { + mesc l("Not enough bottles."); + close; + } + + inventoryplace IcedBottle, .@count, BottleOfWoodlandWater, .@count; + delitem EmptyBottle, .@count; + + // Calculate how many iced bottles you'll get + .@iced=0; + for (.@i=0; .@i < .@count; .@i++) { + if (rand2(500) < 33) + .@iced++; + } + + // Apply the results and have a happy day! + Zeny-=.@gp; + if (.@iced) + getitem IcedBottle, .@iced; + getitem BottleOfWoodlandWater, .@count-.@iced; + close; + +OnInit: + .sex = G_OTHER; + .distance = 3; + + .price=60; + end; +} |