summaryrefslogtreecommitdiff
path: root/npc/000-1
diff options
context:
space:
mode:
Diffstat (limited to 'npc/000-1')
-rw-r--r--npc/000-1/_import.txt24
-rw-r--r--npc/000-1/_mobs.txt38
-rw-r--r--npc/000-1/_warps.txt3
-rw-r--r--npc/000-1/ale.txt109
-rw-r--r--npc/000-1/astapolos.txt165
-rw-r--r--npc/000-1/boss.txt43
-rw-r--r--npc/000-1/chest.txt65
-rw-r--r--npc/000-1/couwan.txt94
-rw-r--r--npc/000-1/darlin.txt148
-rw-r--r--npc/000-1/fexil.txt43
-rw-r--r--npc/000-1/gugli.txt248
-rw-r--r--npc/000-1/gulukan.txt169
-rw-r--r--npc/000-1/jalad.txt130
-rw-r--r--npc/000-1/lean.txt73
-rw-r--r--npc/000-1/mapflags.txt1
-rw-r--r--npc/000-1/maxe.txt111
-rw-r--r--npc/000-1/muller.txt131
-rw-r--r--npc/000-1/panels.txt54
-rw-r--r--npc/000-1/sapartan.txt101
-rw-r--r--npc/000-1/shop.txt32
-rw-r--r--npc/000-1/silvio.txt185
-rw-r--r--npc/000-1/tarlan.txt64
-rw-r--r--npc/000-1/tibbo.txt122
23 files changed, 2153 insertions, 0 deletions
diff --git a/npc/000-1/_import.txt b/npc/000-1/_import.txt
new file mode 100644
index 00000000..55b14a90
--- /dev/null
+++ b/npc/000-1/_import.txt
@@ -0,0 +1,24 @@
+// Map 000-1: Drasil Island
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/000-1/_mobs.txt",
+"npc/000-1/_warps.txt",
+"npc/000-1/ale.txt",
+"npc/000-1/astapolos.txt",
+"npc/000-1/boss.txt",
+"npc/000-1/chest.txt",
+"npc/000-1/couwan.txt",
+"npc/000-1/darlin.txt",
+"npc/000-1/fexil.txt",
+"npc/000-1/gugli.txt",
+"npc/000-1/gulukan.txt",
+"npc/000-1/jalad.txt",
+"npc/000-1/lean.txt",
+"npc/000-1/mapflags.txt",
+"npc/000-1/maxe.txt",
+"npc/000-1/muller.txt",
+"npc/000-1/panels.txt",
+"npc/000-1/sapartan.txt",
+"npc/000-1/shop.txt",
+"npc/000-1/silvio.txt",
+"npc/000-1/tarlan.txt",
+"npc/000-1/tibbo.txt",
diff --git a/npc/000-1/_mobs.txt b/npc/000-1/_mobs.txt
new file mode 100644
index 00000000..4a1f05b5
--- /dev/null
+++ b/npc/000-1/_mobs.txt
@@ -0,0 +1,38 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 000-1: Drasil Island mobs
+000-1,28,49,6,9 monster Tortuga 1004,3,16000,120000
+000-1,58,118,34,14 monster Tortuga 1004,4,35000,300000
+000-1,71,95,4,12 monster Tortuga 1004,1,35000,300000
+000-1,52,92,4,17 monster Tortuga 1004,2,35000,300000
+000-1,37,66,11,5 monster Tortuga 1004,2,35000,120000
+000-1,42,41,9,16 monster Tortuga 1004,2,35000,120000
+000-1,87,37,12,11 monster Tortuga 1004,3,35000,120000
+000-1,44,75,2,1 monster Little Blub 1007,2,25000,120000
+000-1,61,64,7,10 monster Little Blub 1007,2,25000,120000
+000-1,62,25,10,4 monster Little Blub 1007,2,25000,120000
+000-1,85,33,2,3 monster Little Blub 1007,1,25000,120000
+000-1,85,58,14,9 monster Little Blub 1007,2,35000,120000
+000-1,48,61,9,6 monster Little Blub 1007,1,35000,120000
+000-1,28,48,3,5 monster Little Blub 1007,1,35000,120000
+000-1,35,50,0,1 monster Plushroom Field 1011,1,35000,150000
+000-1,54,115,0,1 monster Plushroom Field 1011,1,35000,150000
+000-1,63,80,4,2 monster Plushroom Field 1011,1,35000,150000
+000-1,54,64,0,2 monster Plushroom Field 1011,1,35000,150000
+000-1,78,58,4,5 monster Plushroom Field 1011,2,35000,150000
+000-1,71,62,1,1 monster Plushroom Field 1011,1,35000,150000
+000-1,32,116,8,9 monster Croc 1006,2,35000,300000
+000-1,63,31,10,3 monster Croc 1006,1,35000,300000
+000-1,76,68,1,1 monster Croc 1006,1,35000,300000
+000-1,52,92,4,17 monster Croc 1006,1,35000,300000
+000-1,71,77,4,4 monster Croc 1006,1,35000,300000
+000-1,0,0,0,0 monster Piou 1002,4,60000,15000
+000-1,78,115,0,0 monster Crocotree 1010,1,420000,240000
+000-1,57,104,0,0 monster Crocotree 1010,1,420000,240000
+000-1,39,112,0,0 monster Crocotree 1010,1,420000,240000
+000-1,67,93,0,0 monster Crocotree 1010,1,420000,240000
+000-1,53,77,0,0 monster Crocotree 1010,1,420000,240000
+000-1,64,63,0,0 monster Crocotree 1010,1,420000,240000
+000-1,31,69,0,0 monster Crocotree 1010,1,420000,240000
+000-1,44,44,0,0 monster Crocotree 1010,1,420000,240000
+000-1,70,33,0,0 monster Crocotree 1010,1,420000,240000
+000-1,84,66,0,0 monster Crocotree 1010,1,420000,240000
diff --git a/npc/000-1/_warps.txt b/npc/000-1/_warps.txt
new file mode 100644
index 00000000..47b4fb42
--- /dev/null
+++ b/npc/000-1/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 000-1: Drasil Island warps
+000-1,94,100,0 warp #000-1_94_100 0,0,000-2-0,21,28
diff --git a/npc/000-1/ale.txt b/npc/000-1/ale.txt
new file mode 100644
index 00000000..d7c6fed7
--- /dev/null
+++ b/npc/000-1/ale.txt
@@ -0,0 +1,109 @@
+// Evol scripts.
+// Authors:
+// Qwerty Dragon
+// Reid
+// Description:
+// Sailor part of the Gugli's quest.
+// Aquada box.
+
+000-1,55,23,0 script Ale#000-1 NPC_DEMON_MAN_SITTING,{
+ if (getq(General_Narrator) > 0)
+ {
+ sailortalk;
+ }
+
+ .@g = getq(ShipQuests_Gugli);
+ if (.@g == 0) goto L_NoTask;
+
+ .@q = getq(ShipQuests_Ale);
+ if (.@q == 1) goto L_CallFunc;
+
+ mesn;
+ mesq l("Ouch...");
+ next;
+ mesq l("These heavy boxes are killing me, I can't feel my arms anymore!");
+ next;
+
+ menu
+ l("Gugli sent me down here to help you."), -,
+ l("See you aboard."), L_Quit;
+
+ mes "";
+ mesn;
+ mesq l("Really? That's kind of you, I accept your help!");
+ next;
+ mesq l("Hmm... Let's see, take this one.");
+ next;
+
+ inventoryplace AquadaBox, 1;
+
+ setq ShipQuests_Ale, 1;
+ getitem AquadaBox, 1;
+
+ mes "";
+ mesn;
+ mesq l("I will take care of the other ones don't worry.");
+
+ close;
+
+L_CallFunc:
+ sailorfood;
+
+ menu
+ rif(getq(ShipQuests_Gugli) > 1, l("Task is done.")), L_TaskDone,
+ rif(getq(ShipQuests_Ale) == 1 && (getq(ShipQuests_Astapolos) == 0 || getq(ShipQuests_Gulukan) == 0 || getq(ShipQuests_Jalad) == 0 || getq(ShipQuests_QMuller) == 0 || getq(ShipQuests_Tibbo) == 0), l("I'm still busy, I need to find the other sailors.")), -;
+
+ mes "";
+ mesn;
+ mesq l("Who are you looking for?");
+ next;
+
+ menu
+ rif(getq(ShipQuests_Astapolos) == 0, l("Astapolos.")), L_Bottom,
+ rif(getq(ShipQuests_Gulukan) == 0, l("Gulukan.")), L_Bottom,
+ rif(getq(ShipQuests_Jalad) == 0, l("Jalad.")), L_Jalad,
+ rif(getq(ShipQuests_QMuller) == 0, l("Q'Muller.")), L_Bottom,
+ rif(getq(ShipQuests_Tibbo) == 0, l("Tibbo.")), L_Bottom,
+ l("Nobody."), L_Quit;
+
+L_Bottom:
+ mes "";
+ mesn;
+ mesq l("I've seen him down around the southern area of the island, ask Jalad for more information.");
+
+ close;
+
+L_Jalad:
+ setcamnpc "Jalad";
+
+ next;
+ mesn;
+ mesq l("Look, here he is!");
+ next;
+
+ restorecam;
+
+ close;
+
+L_NoTask:
+ mes "";
+ mesn;
+ mesq l("Ouch... These boxes are so heavy!");
+
+ close;
+
+L_TaskDone:
+ mes "";
+ mesn;
+ mesq l("That's good to hear!");
+
+ close;
+
+L_Quit:
+ closeclientdialog;
+ close;
+
+OnInit:
+ .distance = 2;
+ end;
+}
diff --git a/npc/000-1/astapolos.txt b/npc/000-1/astapolos.txt
new file mode 100644
index 00000000..f28d7422
--- /dev/null
+++ b/npc/000-1/astapolos.txt
@@ -0,0 +1,165 @@
+// Evol scripts.
+// Authors:
+// Hal9000
+// Qwerty Dragon
+// Reid
+// Description:
+// Sailor part of the Gugli's quest.
+// Croconut box.
+
+000-1,22,50,0 script Astapolos NPC_ELVEN_MAN_RED,{
+ if (getq(General_Narrator) > 0)
+ {
+ sailortalk;
+ }
+
+ .@g = getq(ShipQuests_Gugli);
+ if (.@g == 0) goto L_NoTask;
+
+ .@q = getq(ShipQuests_Astapolos);
+ if (.@q == 1) goto L_CallFunc;
+
+ mesn;
+ mesq l("So finally someone has came to visit me?");
+ next;
+
+ select
+ l("Actually, I came here to work on my task.");
+
+ mes "";
+ mesn;
+ mesq l("Oh, I see. That's right. Why should someone come here to see me, seriously?");
+ next;
+ mesq l("Do you think this is fair? They sent me down here alone, far away from everyone.");
+ next;
+
+ menu
+ l("I'm sorry for your situation. They should alternate shifts with other sailors from time to time."), -,
+ l("Well if you are whining like that all the time, then I think there is a reason behind their choice."), L_Whyning;
+
+ mes "";
+ mesn;
+ mesq l("Exactly. Even our task is ridiculous. Why should we collect food down here if we have plenty of those tasty and soft rattos inside our ship, waiting just to be hunted and cooked?");
+ next;
+
+ menu
+ l("You... You eat... rattos? I think you're just a fool."), L_Whyning,
+ l("Oh... eating rattos. Sounds... ehm... Delicious, yes."), -;
+
+ mes "";
+ mesn;
+ mesq l("You like them, don't you? Just speak with Peter then. He is on the second deck of the ship. He will send you downstairs to the hold, where you will find a furry meal!");
+ next;
+ mesq l("Oh, but you didn't come here to talk about that, am I right?");
+ next;
+
+ select
+ l("Actually, I was here to help you with those boxes. Can I bring one of them back to Gugli?");
+
+ mes "";
+ mesn;
+ mesq l("Usually I don't allow anyone to touch my boxes but...");
+ next;
+ mesq l("You have been so nice to me. So please, take one.");
+ next;
+
+ inventoryplace CroconutBox, 1;
+
+ setq ShipQuests_Astapolos, 1;
+ getitem CroconutBox, 1;
+
+ mes "";
+ mesn;
+ mesq l("Good luck! And remember to visit Peter and our little furry friends whenever you return back onboard!");
+
+ close;
+
+L_CallFunc:
+ sailorfood;
+
+ menu
+ rif(getq(ShipQuests_Gugli) > 1, l("Task is done.")), L_TaskDone,
+ rif(getq(ShipQuests_Astapolos) == 1 && (getq(ShipQuests_Ale) == 0 || getq(ShipQuests_Gulukan) == 0 || getq(ShipQuests_Jalad) == 0 || getq(ShipQuests_QMuller) == 0 || getq(ShipQuests_Tibbo) == 0), l("I'm still busy, I need to find the other sailors.")), -,
+ l("How are things going?"), L_HowAreYou,
+ l("Who are you?"), L_Who;
+
+ mes "";
+ mesn;
+ mesq l("Who are you looking for?");
+ next;
+
+ menu
+ rif(getq(ShipQuests_Ale) == 0, l("Ale.")), L_Top,
+ rif(getq(ShipQuests_Gulukan) == 0, l("Gulukan.")), L_Bottom,
+ rif(getq(ShipQuests_Jalad) == 0, l("Jalad.")), L_Top,
+ rif(getq(ShipQuests_QMuller) == 0, l("Q'Muller.")), L_Bottom,
+ rif(getq(ShipQuests_Tibbo) == 0, l("Tibbo.")), L_Bottom,
+ l("Nobody."), -;
+
+ closeclientdialog;
+ close;
+
+L_HowAreYou:
+
+ mes "";
+ mesn;
+ mesq l("A sunny and hot day,");
+ next;
+ mesq l("a quiet place,");
+ next;
+ mesq l("a ground!");
+ next;
+ mesq l("I hope that answers your question.") + " " + l("Hehe!");
+
+ close;
+
+L_Who:
+ mes "";
+ mesn;
+ mesq l("My name is Astapolos. Q'Muller and I joined Nard's crew a few years ago when it was just a little merchant ship.");
+ next;
+ mesq l("At that time, we were selling crab food on our old mushroom island.");
+ next;
+ mesq l("And now I'm a sailor, as you can see!");
+
+ close;
+
+L_Bottom:
+ mes "";
+ mesn;
+ mesq l("I've seen him at the southern part of the island, check around.");
+
+ close;
+
+L_Top:
+ mes "";
+ mesn;
+ mesq l("I've seen him at the northern part of the island.");
+ next;
+ mesq l("You should walk to the north.");
+
+ close;
+
+L_NoTask:
+ npctalk3 l("Just leave me alone.");
+
+ closeclientdialog;
+ close;
+
+L_TaskDone:
+ mes "";
+ mesn;
+ mesq l("Perfect!");
+
+ close;
+
+L_Whyning:
+ npctalk3 l("Then leave me alone.");
+
+ closeclientdialog;
+ close;
+
+OnInit:
+ .distance = 2;
+ end;
+}
diff --git a/npc/000-1/boss.txt b/npc/000-1/boss.txt
new file mode 100644
index 00000000..1b2f4449
--- /dev/null
+++ b/npc/000-1/boss.txt
@@ -0,0 +1,43 @@
+// The Mana World Script
+// Author:
+// Jesusalva
+// Description:
+// Controls the boss on 000-1 and the Master Book Learning
+// see npc/items/master_skillbook.txt for explanation about variables
+
+000-1,0,0,0 script #BossCtrl_000-1 NPC_HIDDEN,{
+ end;
+
+// Test server: 15 minutes only
+OnTimer900000:
+ if (!debug)
+ end;
+
+// Otherwise, respawn every hour
+OnTimer3600000:
+ stopnpctimer;
+OnInit:
+ $@MB_0001=0;
+ monster "000-1", 87, 69, strmobinfo(1, Blub), Blub, 1, "#BossCtrl_000-1::OnBossDeath";
+ end;
+
+OnBossDeath:
+ initnpctimer;
+ BossSlain(.name$, "$@MB_0001");
+ end;
+
+OnBossCheck:
+ @mb_BossId=-1;
+ // TODO: Check if you really fought or was just lurking
+ // Check if party is correct
+ if (getcharid(1) != $@MB_0001)
+ end;
+OnBegin:
+ @mb_BossId=Blub;
+ @mb_SkillId=false;
+ @mb_ItemId=MagicFeather; // Placeholder
+ @mb_ItemAm=1;
+ addtimer(15000, "#MasterBook::OnUnset");
+ end;
+
+}
diff --git a/npc/000-1/chest.txt b/npc/000-1/chest.txt
new file mode 100644
index 00000000..511023e0
--- /dev/null
+++ b/npc/000-1/chest.txt
@@ -0,0 +1,65 @@
+// Evol scripts.
+// Authors:
+// 4144
+// gumi
+// Hal9000
+// Reid
+// Description:
+// A treasure chest, with... Treasures inside!
+// Variable:
+// x ShipQuests_TreasureChest
+// Values:
+// 0 Treasure Chest has not been opened yet.
+// 1 Treasure Chest has been opened.
+
+000-1,83,70,0 script Chest#000-1 NPC_CHEST,3,3,{
+
+ if (.busy == false)
+ {
+ if (getq(ShipQuests_TreasureChest) == 0)
+ {
+ inventoryplace OldBook, 1;
+ setq ShipQuests_TreasureChest, 1;
+ npctalk3 l("Chest opened.");
+ Zeny += 100;
+ getitem OldBook, 1;
+ }
+
+ specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
+ .dir = .dir == 0 ? 2 : 6; // closed ? opening : closing
+ .busy = true; // lock until available again
+ initnpctimer;
+ }
+ end;
+
+OnTimer160:
+ .dir = .dir == 6 ? 0 : 4; // closing ? closed : open
+ end;
+
+OnTimer500:
+ .busy = false; // unlock
+
+ if (.dir == 0)
+ {
+ stopnpctimer; // stop here if the chest is closed
+ }
+ end;
+
+OnUnTouch:
+ if (getareausers(.x - 3, .y - 3, .x + 3, .y + 3) > 0 || .dir == 0)
+ {
+ end;
+ }
+OnTimer30000:
+ .busy = true;
+ .dir = 6; // closing
+ specialeffect(25, AREA, getnpcid()); // closing
+ setnpctimer 0;
+OnTouch:
+ end;
+
+
+OnInit:
+ .distance = 2;
+ end;
+}
diff --git a/npc/000-1/couwan.txt b/npc/000-1/couwan.txt
new file mode 100644
index 00000000..a4cdf6b8
--- /dev/null
+++ b/npc/000-1/couwan.txt
@@ -0,0 +1,94 @@
+// Evol scripts.
+// Authors:
+// Hal9000
+// Qwerty Dragon
+// Reid
+// Description:
+// Couwan is trying to scam the player.
+// Variable:
+// x ShipQuests_Couwan
+// Values:
+// 0 Never talked with Couwan.
+// 1 Spoke, and received the quest scam.
+// 2 Done quest scam.
+
+000-1,89,36,0 script Couwan NPC_TRITAN_MAN_SAILOR,{
+ .@q = getq(ShipQuests_Couwan);
+ if (.@q == 1)
+ {
+ mesn;
+ mesq l("What are you looking at?");
+ next;
+ mesq l("Yeye still have my box? Stare less and work more. Go give it to Gugli!");
+ close;
+ }
+ else if (.@q > 1)
+ {
+ mesn;
+ mesq l("What are you looking at?");
+ next;
+ mesq l("Yeye gave my box to Gugli? Nice, nice yeye!");
+ close;
+ }
+
+ mesn;
+ mesq l("Hello yeye.");
+ next;
+ mesq l("Look how splendid this landscape is!");
+ next;
+
+ switch(select(
+ l("Very nice, indeed!"),
+ l("I don't see anything else other than... water?")))
+ {
+ case 2:
+ mes "";
+ mesn;
+ mesq l("Yeye's brain is probably still full of sea water if yeye can't see the beauty of this place.");
+ next;
+ mesq l("Stupid yeye...");
+ close;
+ }
+
+ mes "";
+ mesn;
+ mesq l("Yeye got good eyes and seem to have fully recovered from your injuries...");
+ next;
+ mesq l("Hey, could yeye please take my box of fish to Gugli?");
+ next;
+
+ switch(select(
+ l("Sure, but what will I get in exchange?"),
+ l("I'm sorry, I don't have time right now.")))
+ {
+ case 2:
+ mes "";
+ mesn;
+ mesq l("Stupid yeye...");
+ break;
+
+ case 255:
+ break;
+
+ default:
+ mes "";
+ mesn;
+ mesq l("Yeye ask too much but do too little. Take this box and stop talking.");
+ next;
+
+ inventoryplace FishBox, 1;
+ mesn "Narrator";
+ mesc(l("Couwan hands you a box full of fish."), 9);
+ getitem FishBox, 1;
+ next;
+ mesc(l("The sailor turns his back to you."), 9);
+
+ setq ShipQuests_Couwan, 1;
+ break;
+ }
+ close;
+
+OnInit:
+ .distance = 2;
+ end;
+}
diff --git a/npc/000-1/darlin.txt b/npc/000-1/darlin.txt
new file mode 100644
index 00000000..e9f6649d
--- /dev/null
+++ b/npc/000-1/darlin.txt
@@ -0,0 +1,148 @@
+// Evol scripts.
+// Authors:
+// Alige
+// Reid
+// Description:
+// Darlin talks from the top of the tall mast.
+// Variable:
+// x ShipQuests_TreasureChest
+// Values:
+// 0 Treasure Chest has not been opened yet.
+// 1 Treasure Chest has been opened.
+
+000-1,89,95,0 script Darlin NPC_RAIJIN_MAN,{
+ .@q = getq(ShipQuests_TreasureChest);
+
+ mesn;
+ setcamnpc;
+ mesq l("HEY! HEY YOU!");
+ next;
+ mesq l("CAN YOU HEAR ME?!");
+ next;
+ restorecam;
+
+ menu
+ l("Yes!"), -,
+ l("No!"), L_Quit;
+
+ setcamnpc;
+ mes "";
+ mesn;
+ mesq l("GOOD!");
+ next;
+ mesq l("I WAS HERE WHEN THEY RESCUED YOU!");
+ next;
+ mesq l("DO YOU FEEL BETTER?!");
+ next;
+ restorecam;
+
+ menu
+ l("I do feel better!"), -,
+ l("Why don't you come down to talk?"), L_GoDown;
+
+ mes "";
+ menu
+ l("And you, how are you doing?"), -,
+ l("But I need to go, see you!"), L_Bye;
+
+ setcamnpc;
+ mes "";
+ mesn;
+ mesq l("I AM DOING FINE!");
+ next;
+ mesq l("HEY, WHAT'S YOUR NAME?!");
+ next;
+ restorecam;
+
+ select
+ strcharinfo(0) + ".",
+ l("Maybe you can come down to talk?");
+
+ setcamnpc;
+ mes "";
+ mesn;
+ mesq l("WHAT DID YOU SAY?!");
+ next;
+ mesq l("I DO NOT UNDERSTAND!");
+ next;
+ restorecam;
+
+ menu
+ l("I said... WHY DON'T YOU COME DOWN TO TALK?"), L_GoDown,
+ l("I SAID, SEE YOU LATER!"), L_Bye,
+ l("I'M CALLED, @@!", strtoupper(strcharinfo(0))), -;
+
+ setcamnpc;
+ mes "";
+ mesn;
+ mesq strtoupper(strcharinfo(0)) + "? " + l("THAT'S A NICE NAME!");
+ next;
+ mesq l("SO WHAT'S UP?! WHAT ARE YOU DOING?!");
+ next;
+ restorecam;
+
+ menu
+ l("I'm looking for Gugli, where is he?"), -,
+ l("I need to go, sorry."), L_Bye;
+
+ setcamnpc;
+ mes "";
+ mesn;
+ mesq l("OH, LOOK THERE!");
+ setcamnpc "Gugli";
+ next;
+ mesq l("HE IS AT THE BOTTOM OF THE SHIP, DOWN THE STAIRS. YOU CAN'T MISS HIM!");
+ next;
+ restorecam;
+
+ goto L_Quit;
+
+L_GoDown:
+ setcamnpc;
+ mes "";
+ mesn;
+ mesq l("I WOULD LOVE TO!");
+ next;
+ mesq l("BUT I CAN'T, I NEED TO KEEP AN EYE ON THE SEA, TO WARN THE CREW IF THERE HAPPENS TO BE SOME PIRATES AROUND!");
+ next;
+ mesq l("I ALSO AVOID THE DANGEROUS ANIMALS!");
+ next;
+ restorecam;
+
+ menu
+ l("Have you seen anything dangerous?"), -,
+ l("Interesting... I'll leave you to your task then!"), L_Bye;
+
+ mes "";
+ mesn;
+
+ if (.@q > 0) goto L_DangerAround;
+
+ setcamnpc;
+ mesq l("Oh no, but I've noticed a weird light on the other part of this island, I wonder what it could be...");
+ next;
+ restorecam;
+
+ goto L_Quit;
+
+L_Bye:
+ npctalk3 l("FINE, BYE!");
+
+ goto L_Quit;
+
+L_DangerAround:
+ setcamnpc;
+ mesq l("NOTHING ELSE OTHER THAN SHARKS AND AN ODD LIGHT!");
+ next;
+ restorecam;
+
+ goto L_Quit;
+
+L_Quit:
+ closeclientdialog;
+ close;
+
+OnInit:
+ .distance = 14;
+ end;
+}
diff --git a/npc/000-1/fexil.txt b/npc/000-1/fexil.txt
new file mode 100644
index 00000000..7740263c
--- /dev/null
+++ b/npc/000-1/fexil.txt
@@ -0,0 +1,43 @@
+// Evol scripts.
+// Author:
+// Reid
+// Description:
+// Newbie merchant.
+
+000-1,83,98,0 script Fexil NPC_ELVEN_MAN_TRADER,{
+ mesn;
+ mesq l("Greetings traveler.");
+ next;
+ mesq l("I have some clothes and other things for you at a fine price!");
+ next;
+ mesq l("What I sell comes from every corner of Gasaron. From Esperia to the Land of Fire!");
+ next;
+ mesq l("Interested?");
+ next;
+
+ switch (select("Yes, why not.:I would rather sell some stuff.:No, Sorry."))
+ {
+ case 1:
+ mes "";
+ mesn;
+ mesq l("Good, take a look in the bag next to me then!");
+ close;
+
+ case 2:
+ closeclientdialog;
+ shop "Bag#000-1";
+ close;
+
+ default:
+ mes "";
+ mesn;
+ mesq l("Oh... Well, I just started to trade... Thus my technique may not be the best.");
+ next;
+ mesq l("Anyway, if you ever feel interested, just check my bag!");
+ close;
+ }
+
+OnInit:
+ .distance = 2;
+ end;
+}
diff --git a/npc/000-1/gugli.txt b/npc/000-1/gugli.txt
new file mode 100644
index 00000000..265deae6
--- /dev/null
+++ b/npc/000-1/gugli.txt
@@ -0,0 +1,248 @@
+// Evol scripts.
+// Authors:
+// Hal9000
+// Qwerty Dragon
+// Reid
+// Description:
+// Elmo's twin
+// Charged of an important quest from Nard, he asks you to help other sailors to keep their box to the ship.
+// Variable:
+// 0 ShipQuests_Couwan
+// 1 ShipQuests_Nard
+// 2 ShipQuests_Gugli
+// Values:
+// 00 Never talked with Couwan.
+// 01 Spoke, and received the quest scam.
+// 02 Done quest scam.
+// 10 Introduction of the box and Nard. This is displayed when the player never spoke to Nard or his box.
+// 11 Nard spoke and gave access to the outdoor of the ship.
+// 12 Completed the quest.
+// 13 Opened the chest and finished the introduction.
+// 20 Never talked with Gugli.
+// 21 Gugli gives you the task.
+// 22 Gave all of the box to Gugli.
+
+000-1,85,108,0 script Gugli NPC_GUGLI,{
+
+ if (getq(ShipQuests_Couwan) == 1)
+ {
+ speech S_LAST_NEXT,
+ l("Great to see you! What can I do for you today?");
+ goto L_Menu;
+ }
+
+ if (getq(General_Narrator) > 0)
+ {
+ sailortalk;
+ }
+
+OnTalk:
+ mesn;
+ .@nard = getq(ShipQuests_Nard);
+ .@gugli = getq(ShipQuests_Gugli);
+ .@gado = getq(ShipQuests_ChefGado);
+
+ if (.@nard > 3) goto L_AllComplete;
+ if (.@nard > 1 || .@gugli == 2) goto L_TaskCompleted;
+ if (.@gugli == 1) goto L_TaskGiven;
+
+ mesq l("Hi @@, I heard the captain sent you down here, uh?", strcharinfo(0));
+ next;
+ mesq l("What an unexpected pleasure, your help is always welcome!");
+ next;
+ mesq l("As you may know, we are explorers on a long distance voyage, and our swashbuckling mariners need to store enough food to survive. You don't know how dangerous the sea life can be.");
+ next;
+
+ select
+ l("Actually, I have an in-depth knowledge of this type of life.");
+
+ mes "";
+ mesn;
+ mesq l("Well, even though you have been rescued by us, it doesn't make you an expert sailor, am I right?");
+ next;
+ mesq l("But let's talk about this island. We're docking here to find some fine quality goods.");
+ next;
+ mesq l("We usually dock around these small isles because they provide us some of the best food of all the archipelago.");
+ next;
+ mesq l("At the moment, our crew is busy collecting @@s, @@s and @@s.", getitemlink(Croconut), getitemlink(Plushroom), getitemlink(Aquada));
+ next;
+
+ select
+ l("So, what can I do for you?");
+
+ mes "";
+ mesn;
+ mesq l("Right! Ours is an earthsea realm. You see, sailors are swift at their tasks when out of sight of land, but docked by this verdant jewel, they have it so good, they are just taking too much time bringing all the food back to the ship. Maybe you can help them.");
+ next;
+ mesq l("The captain wants:");
+ mesq l("- 2 @@es", getitemlink(AquadaBox));
+ mesq l("- 2 @@es", getitemlink(CroconutBox));
+ mesq l("- 2 @@es", getitemlink(PlushroomBox));
+ next;
+ mesq l("Ask sailors around here they shouldn't be so far away.");
+ next;
+
+ setq ShipQuests_Gugli, 1;
+ close;
+
+L_TaskGiven:
+ mesq l("Great to see you! What can I do for you today?");
+ next;
+
+ if (getq(ShipQuests_Ale) == 1 && getq(ShipQuests_Astapolos) == 1 && getq(ShipQuests_Gulukan) == 1 && getq(ShipQuests_Jalad) == 1 && getq(ShipQuests_QMuller) == 1 && getq(ShipQuests_Tibbo) == 1) goto L_MenuDone;
+
+L_Menu:
+ menu
+ rif(getq(ShipQuests_Couwan) == 1, l("Couwan gave me this box, it is for you.")), L_Couwan,
+ rif(countitem(AquadaBox) > 0 || countitem(CroconutBox) > 0 || countitem(PlushroomBox) > 0, l("I have some food for you.")), L_CollectSmthing,
+ rif(getq(ShipQuests_Gugli) < 2, l("Who should I search for?")), L_SailorNames,
+ rif(getq(ShipQuests_Gugli) < 2, l("Where can I find your crew?")), L_Location,
+ l("Bye!"), L_Quit;
+
+L_MenuDone:
+ menu
+ rif(getq(ShipQuests_Couwan) == 1, l("Couwan gave me this box, it is for you.")), L_Couwan,
+ l("I have collected all the boxes you needed."), L_TaskDone,
+ l("See you!"), L_Quit;
+
+L_SailorNames:
+ mes "";
+ mesn;
+ mesq l("Ale and Tibbo should bring 2 boxes of @@s, Astapolos and Gulukan 2 of @@s and Jalad and Q'Muller were charged of the boxes of @@s.", getitemlink(Aquada), getitemlink(Croconut), getitemlink(Plushroom));
+ next;
+ mesq l("Do you need any other information?");
+ next;
+
+ goto L_Menu;
+
+L_CollectSmthing:
+ mes "";
+ mesn;
+ mesq l("Good job!");
+ next;
+
+ delitem AquadaBox, countitem(AquadaBox);
+ delitem CroconutBox, countitem(CroconutBox);
+ delitem PlushroomBox, countitem(PlushroomBox);
+
+ mesq l("You still need to give me boxes from: ");
+ if (getq(ShipQuests_Astapolos) == 0) mesq l("- Astapolos");
+ if (getq(ShipQuests_Ale) == 0) mesq l("- Ale");
+ if (getq(ShipQuests_Gulukan) == 0) mesq l("- Gulukan");
+ if (getq(ShipQuests_Jalad) == 0) mesq l("- Jalad");
+ if (getq(ShipQuests_QMuller) == 0) mesq l("- Q'Muller");
+ if (getq(ShipQuests_Tibbo) == 0) mesq l("- Tibbo");
+
+ close;
+
+L_Couwan:
+ mes "";
+ mesn;
+ mesq l("What?! This tritan is the worse shirker I ever met!");
+ next;
+ mesq l("Well, thanks for the box. But... He was supposed to bring it back to me himself. I never asked him to give it to you!");
+ next;
+ mesq l("Take these coins in exchange and be careful.");
+ next;
+ mesq l("Not everybody has a kind mind. Scammers can be anywhere, even among us!");
+ next;
+ mesq l("May this be a lesson for you.");
+
+ if (countitem(FishBox) > 0) delitem FishBox, 1;
+ setq ShipQuests_Couwan, 2;
+ Zeny += 10;
+ getexp 40, 0;
+ message strcharinfo(0), l("You receive @@ E!", 10);
+
+ close;
+
+L_Location:
+ mes "";
+ mesn;
+ mesq l("There are 6 sailors who will need your help. They are all around the island.");
+ next;
+ mesq l("I can't really help you find them since I've been checking the... Hmm... Landscape, since morning...");
+ next;
+ mesq l("You can try talking with some other sailors to get some information about that.");
+ next;
+
+ .@r = rand(3000)/1000;
+ if (.@r == 1) goto L_Silvio;
+ if (.@r == 2) goto L_Lean;
+
+ setcamnpc "Sapartan";
+ mesq l("Maxe and Sapartan for example?");
+ next;
+
+ restorecam;
+ close;
+
+L_Silvio:
+ setcamnpc "Silvio";
+ mesq l("Silvio for example?");
+ next;
+
+ restorecam;
+ close;
+
+L_Lean:
+ setcamnpc "Lean";
+ mesq l("Lean for example?");
+ next;
+
+ restorecam;
+ close;
+
+L_TaskDone:
+ if (countitem(AquadaBox) == 2) delitem AquadaBox, 2;
+ if (countitem(CroconutBox) == 2) delitem CroconutBox, 2;
+ if (countitem(PlushroomBox) == 2) delitem PlushroomBox, 2;
+ if (countitem(AquadaBox) == 1) delitem AquadaBox, 1;
+ if (countitem(CroconutBox) == 1) delitem CroconutBox, 1;
+ if (countitem(PlushroomBox) == 1) delitem PlushroomBox, 1;
+ setq ShipQuests_Gugli, 2;
+
+ Zeny += 250;
+ getexp 50, 0;
+
+ mes "";
+ mesn;
+ mesq l("Well done! The ship is now ready to sail again!");
+ next;
+ mesq l("You should inform Nard of the progress made in loading food and supplies on to the boat. He will be pleased to hear that good news!");
+
+ close;
+
+L_TaskCompleted:
+ mesq l("You are now part of the crew... At least for us down here!");
+ next;
+ mesq l("You should inform Nard of the progress made in loading food and supplies on to the boat. He will be pleased to hear that good news!");
+ next;
+ mesq l("Tell him that everything went fine and that we're almost done with the requisitions.");
+ next;
+
+ goto L_Menu;
+
+L_AllComplete:
+ mesq l("Elmo told me what Nard said, congrats!");
+ next;
+ mesq l("You're one of us now, that's great! I was sure that you were a good person the first time I saw you!");
+ next;
+
+ goto L_Menu;
+
+L_Quit:
+ closeclientdialog;
+ close;
+
+OnInit:
+ .distance = 2;
+ end;
+}
+
+000-1,83,107,0 script GugliBarrierCheck NPC_HIDDEN,2,0,{
+ .@gugli = getq(ShipQuests_Gugli);
+ if (.@gugli > 0) close;
+ doevent "Gugli::OnTalk";
+ close;
+}
diff --git a/npc/000-1/gulukan.txt b/npc/000-1/gulukan.txt
new file mode 100644
index 00000000..0d80c932
--- /dev/null
+++ b/npc/000-1/gulukan.txt
@@ -0,0 +1,169 @@
+// Evol scripts.
+// Authors:
+// Hal9000
+// Qwerty Dragon
+// Reid
+// Description:
+// Sailor part of the Gugli's quest.
+// Croconut box.
+
+000-1,54,90,0 script Gulukan NPC_TRITAN_MAN_SAILOR2,{
+ if (getq(General_Narrator) > 0)
+ {
+ sailortalk;
+ }
+
+ .@g = getq(ShipQuests_Gugli);
+ if (.@g == 0) goto L_NoTask;
+
+ .@q = getq(ShipQuests_Gulukan);
+ if (.@q == 1) goto L_Func;
+
+ mesn;
+ mesq l("Yeye @@!", strcharinfo(0));
+ next;
+ mesq l("How are you feeling, now that you walk on steady land? Yeye better?");
+ next;
+
+ menu
+ l("Wow, it seems everyone knows my name!"), -,
+ l("Well, it's not bad to finally feel something beneath my feet."), L_Continue,
+ l("Not so good actually... I would feel better on Nard's ship."), L_Quit;
+
+L_Name:
+ mes "";
+ mesn;
+ mesq l("You know, yeyes love to chat while working.");
+ next;
+
+goto L_Continue2;
+
+L_Continue:
+ mes "";
+ mesn;
+
+L_Continue2:
+ mesq l("Are you yaying here to explore the island?");
+ next;
+
+ menu
+ l("Actually Gugli asked me if I would help you bring him some of your boxes."), -,
+ l("Yes, indeed. I prefer to explore places I have never been to, before doing anything else."), L_Quit;
+
+ mes "";
+ mesn;
+ mesq l("Gugli? Oh I see. Yes, Gugli yeye pretty used to shout orders to everybody down here.");
+ next;
+ mesq l("Anyway I am glad I can give you some of these yoyoxs.");
+ next;
+
+ inventoryplace CroconutBox, 1;
+
+ setq ShipQuests_Gulukan, 1;
+ getitem CroconutBox, 1;
+
+ mes "";
+ mesn;
+ mesq l("Thank you my friend.");
+
+ close;
+
+L_Func:
+ mesn;
+
+ .@q = rand(0, 400) / 100;
+ if (.@q == 0) goto L_RandomA;
+ if (.@q == 1) goto L_RandomB;
+ if (.@q > 1) goto L_RandomC;
+
+L_RandomA:
+ mesq l("Hey.");
+ next;
+ mesq l("What did Gugli yayaid about the box? Was it ok?");
+ next;
+
+ menu
+ l("It's ok."), L_Fine,
+ l("He needs more food."), -;
+
+ mes "";
+ mesn;
+ mesq l("Yeye sure? I'll yaye some more food in the next box then.");
+
+ close;
+
+L_Fine:
+ mes "";
+ mesn;
+ mesq l("Alright! Yoyone more box and it'll be good.");
+
+ close;
+
+L_RandomB:
+ mesq l("Thanks for the help!");
+ next;
+ mesq l("These yeye boxes are way too heavy to be carried alone onto the ship.");
+
+ close;
+
+L_RandomC:
+ mesq l("I think that yeye's soon be done. Yeye'll soon have a full box of @@s!", getitemlink(CrocClaw));
+ next;
+ mesq l("And you? How's it yaying on your side?");
+ next;
+
+ menu
+ rif(getq(ShipQuests_Gugli) > 1, l("Task is done.")), L_TaskDone,
+ rif(getq(ShipQuests_Gulukan) == 1 && (getq(ShipQuests_Ale) == 0 || getq(ShipQuests_Astapolos) == 0 || getq(ShipQuests_Jalad) == 0 || getq(ShipQuests_QMuller) == 0 || getq(ShipQuests_Tibbo) == 0), l("I'm still busy, I need to find the other sailors.")), -;
+
+ mes "";
+ mesn;
+ mesq l("Who are yeye looking for?");
+ next;
+
+ menu
+ rif(getq(ShipQuests_Ale) == 0, l("Ale.")), L_Top,
+ rif(getq(ShipQuests_Astapolos) == 0, l("Astapolos.")), L_Top,
+ rif(getq(ShipQuests_Jalad) == 0, l("Jalad.")), L_Top,
+ rif(getq(ShipQuests_QMuller) == 0, l("Q'Muller.")), L_Top,
+ rif(getq(ShipQuests_Tibbo) == 0, l("Tibbo.")), L_Bottom,
+ l("Nobody."), L_Quit;
+
+L_Bottom:
+ mes "";
+ mesn;
+ mesq l("Yeye seen this yoiis at the bottom of the island, check around.");
+
+ close;
+
+L_Top:
+ mes "";
+ mesn;
+ mesq l("Yeye seen this yoiis at the top of the island.");
+ next;
+ mesq l("You yoiis should walk to the north.");
+
+ close;
+
+L_NoTask:
+ mes "";
+ mesn;
+ mesq l("*Uff*... And another box of @@s for our starving colleagues is ready.", getitemlink(Croconut));
+
+ close;
+
+L_TaskDone:
+ mes "";
+ mesn;
+ mesq l("That's perfect, yoiis.");
+
+ close;
+
+L_Quit:
+ closeclientdialog;
+ close;
+
+OnInit:
+ .distance = 2;
+ end;
+}
diff --git a/npc/000-1/jalad.txt b/npc/000-1/jalad.txt
new file mode 100644
index 00000000..43ba1f6e
--- /dev/null
+++ b/npc/000-1/jalad.txt
@@ -0,0 +1,130 @@
+// Evol scripts.
+// Authors:
+// Hal9000
+// Qwerty Dragon
+// Reid
+// Description:
+// Sailor part of the Gugli quest.
+// Plushroom box.
+
+000-1,46,35,0 script Jalad NPC_ELVEN_MAN_TRADER_SITTING,{
+ if (getq(General_Narrator) > 0)
+ {
+ sailortalk;
+ }
+
+ .@g = getq(ShipQuests_Gugli);
+ if (.@g == 0) goto L_NoTask;
+
+ .@q = getq(ShipQuests_Jalad);
+ if (.@q == 1) goto L_CallFunc;
+
+ mesn;
+ mesq l("*Uff*, *Argh*, why don't you give me some help?");
+ next;
+ mesq l("I'm not suited for this kind of work!");
+ next;
+
+ menu
+ l("I was going to ask you if you would need any help."), L_Continue,
+ l("What exactly is your real job?"), -;
+
+ mes "";
+ mesn;
+ mesq l("I'm the cook's assistant of the ship. I help Gado, La Johanne's Chef, in his daily work.");
+ next;
+ mesq l("You should go see him. He is one of the most experienced sailors we have.");
+ next;
+
+ select
+ l("I will surely visit him. Do you need any help with your boxes?");
+
+L_Continue:
+ mes "";
+ mesn;
+ mesq l("Surely. Take this box full of @@s.", getitemlink(Plushroom));
+ next;
+
+ inventoryplace PlushroomBox, 1;
+
+ setq ShipQuests_Jalad, 1;
+ getitem PlushroomBox, 1;
+
+ mes "";
+ mesn;
+ mesq l("They are so tasty when cooked with some @@. Don't drop any of them!", getitemlink(PiouLegs));
+
+ goto L_Close;
+
+L_CallFunc:
+ sailorfood;
+
+ menu
+ rif(getq(ShipQuests_Gugli) > 1, l("Task is done.")), L_TaskDone,
+ rif(getq(ShipQuests_Jalad) == 1 && (getq(ShipQuests_Ale) == 0 || getq(ShipQuests_Astapolos) == 0 || getq(ShipQuests_Gulukan) == 0 || getq(ShipQuests_QMuller) == 0 || getq(ShipQuests_Tibbo) == 0), l("I'm still busy, I need to find the other sailors.")), -,
+ l("What's that?"), L_Plushroom;
+
+ mes "";
+ mesn;
+ mesq l("Who are you looking for?");
+ next;
+
+ menu
+ rif(getq(ShipQuests_Ale) == 0, l("Ale.")), L_Ale,
+ rif(getq(ShipQuests_Astapolos) == 0, l("Astapolos.")), L_Bottom,
+ rif(getq(ShipQuests_Gulukan) == 0, l("Gulukan.")), L_Bottom,
+ rif(getq(ShipQuests_QMuller) == 0, l("Q'Muller.")), L_Bottom,
+ rif(getq(ShipQuests_Tibbo) == 0, l("Tibbo.")), L_Bottom,
+ l("Nobody."), -;
+
+ closeclientdialog;
+ close;
+
+L_Bottom:
+ mes "";
+ mesn;
+ mesq l("I've seen him at the bottom of the island, have a look around.");
+
+ close;
+
+L_Ale:
+ setcamnpc "Ale";
+
+ next;
+ mesn;
+ mesq l("Look, there he is!");
+ next;
+
+ restorecam;
+ close;
+
+L_Plushroom:
+ mes "";
+ mesn;
+ mesq l("'That', as you call it, is a @@. There are plenty on this island!", getitemlink(Plushroom));
+ next;
+ mesq l("It's a kind of mushroom. We call it like that because of it's taste, just like a marshmallow. It also has this name because of it's appearance. It looks like a plush!");
+ next;
+ mesq l("There are some groups of these @@s all around this island. Just pick some and have a try.", getitemlink(Plushroom));
+
+ close;
+
+L_NoTask:
+ mes "";
+ mesn;
+ mesq l("Sometimes, I wish someone would be sent here to help us.");
+
+ close;
+
+L_TaskDone:
+ mes "";
+ mesn;
+ mesq l("Perfect!");
+
+L_Close:
+ goodbye;
+
+OnInit:
+ .distance = 2;
+ end;
+}
diff --git a/npc/000-1/lean.txt b/npc/000-1/lean.txt
new file mode 100644
index 00000000..0cd3a1dd
--- /dev/null
+++ b/npc/000-1/lean.txt
@@ -0,0 +1,73 @@
+// Evol scripts.
+// Authors:
+// Hal9000
+// Qwerty Dragon
+// Reid
+// Description:
+// Sailor who gives some informations to the player.
+
+000-1,79,108,0 script Lean NPC_ELVEN_MAN_BLONDE,{
+ if (getq(General_Narrator) > 0)
+ {
+ sailortalk;
+ }
+
+ .@gugli = getq(ShipQuests_Gugli);
+
+ mesn;
+ mesq l("Hi! I can finally see you under the sunlight!");
+ next;
+ mesq l("I hope you don't mind that we used your raft to build this ramp.");
+ next;
+ mesq l("We usually don't stop in such splendid places, but the captain let us stay here while he writes down the location of this new island on his map!");
+ next;
+ mesq l("Some of the crew are looking for goods we can trade with at our next destination.");
+ next;
+
+ menu
+ rif(.@gugli == 1, l("Well, I was in fact looking for them. Where are they now?")), L_Sailors,
+ l("Wait... Where are we going?"), L_Artis;
+
+L_Artis:
+ mes "";
+ mesn;
+ mesq l("Artis of course!");
+ next;
+ mesq l("It's where every merchant ship end their road and we won't be an exception.");
+ next;
+ mesq l("If you're looking for us there, most of us will be at the tavern of the Red Plush, at the bar counter, for Silvio's case...");
+
+ goto L_Close;
+
+L_Sailors:
+ mes "";
+ mesn;
+ mesq l("They are all around the island.");
+ next;
+ mesq l("I'm sure Tibbo is alone in the south-west corner of the island. He believes it's the best place to collect @@s.", getitemlink(Aquada));
+ next;
+ mesq l("While Jalad and Ale like to work together, as they usually do on the ship, last time I've seen them, they were near the big lake, north from here.");
+ next;
+ mesq l("They shouldn't be too far from each other.");
+ next;
+
+ menu
+ l("Thank you for your help."), L_Close,
+ l("Gugli mentioned six sailors. What about the others?"), -;
+
+ mes "";
+ mesn;
+ mesq l("I'm not sure. They probably left the ship early this morning. I was not awake yet.");
+ next;
+ mesq l("You should ask Maxe. He's an early riser.");
+
+ close;
+
+L_Close:
+ goodbye;
+ close;
+
+OnInit:
+ .distance = 2;
+ end;
+}
diff --git a/npc/000-1/mapflags.txt b/npc/000-1/mapflags.txt
new file mode 100644
index 00000000..708dd2ab
--- /dev/null
+++ b/npc/000-1/mapflags.txt
@@ -0,0 +1 @@
+000-1 mapflag town
diff --git a/npc/000-1/maxe.txt b/npc/000-1/maxe.txt
new file mode 100644
index 00000000..f628c8c0
--- /dev/null
+++ b/npc/000-1/maxe.txt
@@ -0,0 +1,111 @@
+// Evol scripts.
+// Authors:
+// Hal9000
+// Qwerty Dragon
+// Reid
+// Description:
+// Friend of Sapartan, he gives some information on how to find Gulukan, Astapolos and Q-Muller.
+
+000-1,72,110,0 script Maxe NPC_DEMON_MAN_SITTING_UNDER_TREE,{
+ if (getq(General_Narrator) > 0)
+ {
+ sailortalk;
+ }
+
+ .@gugli = getq(ShipQuests_Gugli);
+ .@knife = getq(ShipQuests_Knife);
+
+ mesn;
+ mesq l("We are glad captain Nard has let you join us down here!");
+ next;
+ mesq l("Living inside a ship is great, but we sometimes need some fresh air.");
+ next;
+ mesq l("Anyway, can I help you in any way?");
+ next;
+
+ menu
+ rif(.@gugli == 0, l("Well, is there anything I can do here to help?")), L_Help,
+ rif(.@gugli == 1, l("Gugli asked me to help the sailors to gather food. Do you know where I can find them?")), L_Sailors,
+ rif(.@gugli > 1, l("Seems I've helped everyone here. I don't know what to do now!")), L_Annoyed,
+ rif(.@knife == 0, l("It looks like you are an expert of the life inside 'La Johanne'. Do you know any hidden secrets nobody knows?")), L_Secrets,
+ l("No thanks, not at the moment."), L_Quit;
+
+L_Help:
+ mes "";
+ mesn;
+ mesq l("You could start by talking to Gugli. He always has tasks for people willing to help!");
+
+ close;
+
+L_Sailors:
+ mes "";
+ mesn;
+ mesq l("I remember I saw a few of them leaving the ship early this morning to get a head start on today's work.");
+ next;
+ mesq l("I recall seeing Gulukan, Astapolos and Q'Muller.");
+ next;
+
+ goto L_MenuSailors;
+
+L_MenuSailors:
+ menu
+ l("Do you know where can I find Gulukan?"), L_Gulukan,
+ l("Any clue on where Astapolos may be hidden?"), L_Astapolos,
+ l("What about Q'Muller? Where is he?"), L_Qmuller,
+ l("Alright. I will go looking for them now."), L_Quit;
+
+L_Gulukan:
+ mes "";
+ mesn;
+ mesq l("Oh, he is not far away from here. Just take the road through the crocojungle north from here.");
+ next;
+ mesq l("You will find a wooden sign near a crossroad. He is a few steps on the left.");
+ next;
+
+ goto L_MenuSailors;
+
+L_Astapolos:
+ mes "";
+ mesn;
+ mesq l("Astapolos... That guy is shy like a piou!");
+ next;
+ mesq l("He likes to hide near the little lake in the north-west side of the island.");
+ next;
+
+ goto L_MenuSailors;
+
+L_Qmuller:
+ mes "";
+ mesn;
+ mesq l("You need to cross the crocojungle heading north.");
+ next;
+ mesq l("You can spot Q'Muller on a cliff off toward the west, busy collecting @@s.", getitemlink(Plushroom));
+ next;
+
+ goto L_MenuSailors;
+
+L_Annoyed:
+ mes "";
+ mesn;
+ mesq l("There is always something you can do here, like killing some tortugas or helping Peter clean the ship from rattos.");
+
+ close;
+
+L_Secrets:
+ mes "";
+ mesn;
+ mesq l("Nope, there are no secrets hidden within the ship's hull. Some sailors swear they have seen stowaways hidden somewhere. The bow or the stern? Just stories sailors love to tell...");
+ next;
+ mesq l("Oh! And in one of the rooms of the second deck you can find Gado's knives. Our chef keeps there the sharpest ones... Probably not just to cut some carrots...");
+ next;
+ mesq l("Go and grab one of them. A good knife will help with your hunting the creatures of this island.");
+
+ close;
+
+OnInit:
+ .distance = 2;
+ end;
+
+L_Quit:
+ goodbye;
+}
diff --git a/npc/000-1/muller.txt b/npc/000-1/muller.txt
new file mode 100644
index 00000000..0d13ff0d
--- /dev/null
+++ b/npc/000-1/muller.txt
@@ -0,0 +1,131 @@
+// Evol scripts.
+// Authors:
+// Hal9000
+// Reid
+// Description:
+// Sailor part of the Gugli's quest.
+// Plushroom box.
+
+000-1,35,69,0 script Q'Muller NPC_ORC_MAN,{
+ if (getq(General_Narrator) > 0)
+ {
+ sailortalk;
+ }
+
+ .@g = getq(ShipQuests_Gugli);
+ if (.@g == 0) goto L_NoTask;
+
+ .@q = getq(ShipQuests_QMuller);
+ if (.@q == 1) goto L_CallFunc;
+
+ mesn;
+ mesq l("Can't you see I'm working?!");
+ next;
+
+ select
+ l("Well I'm working too! Don't you want me to carry one of these boxes back to Gugli?");
+
+ mes "";
+ mesn;
+ mesq l("Oh I see... Sailors are not able to do their job anymore, is it like that?!");
+ next;
+
+ menu
+ l("Indeed! Goodbye."), L_Quit,
+ l("Yes, it is true! You are not able at all. Nard has been waiting for the food for too long already. Hurry up, you lazy sailors!"), -;
+
+ mes "";
+ mesn;
+ mesq l("Are you blind? Do you really think these boxes are light and soft as a piou's feather?!");
+ next;
+
+ select
+ l("I am sure that I can run with one of them on my shoulder.");
+
+ mes "";
+ mesn;
+ mesq l("Well then... Take this one!");
+ next;
+
+ inventoryplace PlushroomBox, 1;
+
+ setq ShipQuests_QMuller, 1;
+ getitem PlushroomBox, 1;
+
+ mes "";
+ mesn;
+ mesq l("And now I want to see you run!");
+
+ close;
+
+L_CallFunc:
+ sailorfood;
+
+ menu
+ rif(getq(ShipQuests_Gugli) > 1, l("Task is done.")), L_TaskDone,
+ rif(getq(ShipQuests_QMuller) == 1 && (getq(ShipQuests_Ale) == 0 || getq(ShipQuests_Astapolos) == 0 || getq(ShipQuests_Gulukan) == 0 || getq(ShipQuests_Jalad) == 0 || getq(ShipQuests_Tibbo) == 0), l("I'm still busy, I need to find the other sailors.")), -,
+ l("What's that?"), L_Plushroom;
+
+ mes "";
+ mesn;
+ mesq l("Who are you looking for?");
+ next;
+
+ menu
+ rif(getq(ShipQuests_Ale) == 0, l("Ale.")), L_Top,
+ rif(getq(ShipQuests_Astapolos) == 0, l("Astapolos.")), L_Top,
+ rif(getq(ShipQuests_Jalad) == 0, l("Jalad.")), L_Top,
+ rif(getq(ShipQuests_Gulukan) == 0, l("Gulukan.")), L_Bottom,
+ rif(getq(ShipQuests_Tibbo) == 0, l("Tibbo.")), L_Bottom,
+ l("Nobody."), L_Quit;
+
+L_Bottom:
+ mes "";
+ mesn;
+ mesq l("I've seen him at the bottom of the island, check around.");
+
+ close;
+
+L_Top:
+ mes "";
+ mesn;
+ mesq l("I've seen him at the top of the island.");
+ next;
+ mesq l("You should walk to the north.");
+
+ close;
+
+L_Plushroom:
+ mes "";
+ mesn;
+ mesq l("'That', as you call it, is a @@. There are plenty on this island!", getitemlink(Plushroom));
+ next;
+ mesq l("It's a kind of mushroom. We call it like that because of it's taste, just like a marshmallow. It also has this name because of it's appearance, it looks like a plush!");
+ next;
+ mesq l("There are few groups of these @@s all around this island. Just pick some and have a try.", getitemlink(Plushroom));
+
+ close;
+
+L_NoTask:
+ mes "";
+ mesn;
+ mesq l("You see? I'm working here!");
+
+ close;
+
+L_TaskDone:
+ mes "";
+ mesn;
+ mesq l("Good to hear!");
+ next;
+
+ goodbye;
+
+L_Quit:
+ closeclientdialog;
+ close;
+
+OnInit:
+ .distance = 2;
+ end;
+}
diff --git a/npc/000-1/panels.txt b/npc/000-1/panels.txt
new file mode 100644
index 00000000..93f25beb
--- /dev/null
+++ b/npc/000-1/panels.txt
@@ -0,0 +1,54 @@
+// Evol scripts.
+// Authors:
+// Alige
+// Qwerty Dragon
+// Description:
+// Panels to give advice to the players.
+
+000-1,65,93,0 script #panel1 NPC_NO_SPRITE,{
+ mesn "Narrator";
+ mesc(l("Your heart quickens as your gaze focuses upon a small wooden panel, partly obscured under a layer of wind-blown sand."), 9);
+ next;
+ mesc(l("You wipe off enough of the sand to manage to read the message written on this crude piece of wood."), 9);
+ next;
+ mesq l("It's a dangerous place out here. Beware of the mischievous creatures living here!");
+ next;
+ mesq l("Not content to stay buried in their burrows in the sand, Crocs can be quite a nuisance, infesting this whole island. Tender Feet and Newbies are advised: Avoid touching these crawling red devils. They have huge, deadly claws that can make mincemeat of you! You can recognize them easily by their crabby personalities. Be careful younglings.");
+ next;
+ mesq l("Furthermore, unless you are planning to stick it out, you should also not even think about gaining experience by messing with those icky pink land jellies. The pink could stick on you, imagine the horror!");
+ next;
+ mesq l("In fact... Oh, the things that I could tell... But ran out of space on this... Just be reasonable and go home.");
+ close;
+
+OnInit:
+ .distance = 2;
+ end;
+}
+
+000-1,89,51,0 script #panel2 NPC_NO_SPRITE,{
+ mesn "Narrator";
+ mesc(l("This panel looks in rather good shape, as though some people take care of it regularly. Maybe it has important information."), 9);
+ next;
+ mesc(l("You can read some lines that are nicely carved into the soft wooden planks."), 9);
+ next;
+ mesq l("The further you go, the more experience you will get, so here's a small description of all the stats you can upgrade with time. But note that these will probably change in the future and have more complex effects.");
+ next;
+ mesq l("Strength multiplies the damage of your hits, especially melee ones. You will also be able to carry heavier stuff.");
+ next;
+ mesq l("Agility greatly increases your attack speed and the chances of you dodging enemy hits.");
+ next;
+ mesq l("Vitality raises your maximum health points and defense.");
+ next;
+ mesq l("Intelligence raises your maximum mana points (good for mages) and your mind abilities. Please note: Magic system has not yet been implemented in this world.");
+ next;
+ mesq l("Dexterity increases your bow damage and your accuracy.");
+ next;
+ mesq l("Luck helps you do critical hits and dodge the ones dealt by enemies.");
+ next;
+ mesq l("Have fun, but always remember to pick your stats with good care.");
+ close;
+
+OnInit:
+ .distance = 2;
+ end;
+}
diff --git a/npc/000-1/sapartan.txt b/npc/000-1/sapartan.txt
new file mode 100644
index 00000000..5e33a086
--- /dev/null
+++ b/npc/000-1/sapartan.txt
@@ -0,0 +1,101 @@
+// Evol scripts.
+// Authors:
+// Hal9000
+// Qwerty Dragon
+// Description:
+// Friend of Maxe, he gives some information on combat system.
+
+000-1,74,111,0 script Sapartan NPC_SAPARTAN,{
+ mesn;
+ mesq l("Hey Maxe, it's @@!", strcharinfo(0));
+ next;
+
+ setcamnpc "Maxe";
+ mesn "Maxe";
+ mesq l("@@? Welcome my dear!", strcharinfo(0));
+ next;
+ mesq l("Last time I saw you, you were lost at sea on your raft.");
+ next;
+ restorecam;
+
+ mesn;
+ mesq l("True but now all seems pretty fine! Am I right?");
+ next;
+
+ menu
+ l("Thank you, sir, for your kind words. I am feeling better now."), -,
+ l("I'm still a bit weak at the moment. We should probably talk later."), L_Quit;
+
+ mes "";
+ mesn;
+ mesq l("You can now stay with your new friends and enjoy the warm sand of this little island.");
+ next;
+ mesq l("But remember that not every place in this world is peaceful and safe nowadays. Even the white shores you are walking on can hide some dangerous beings.");
+ next;
+
+ select
+ l("What danger?! Where?!");
+
+ setcamnpc "Maxe";
+ mes "";
+ mesn "Maxe";
+ mesq l("Come on, Sap! Do not always scare others with your horror stories.");
+ next;
+ mesq l("I'm sure this brave fellow will soon be able to fight all of the creatures living here without any problem.");
+ next;
+
+ restorecam;
+
+ mes "";
+ mesn;
+ mesq l("Maybe... But I prefer having well-trained people around me when it comes to fighting against dangerous creatures. Do you already feel adept fighting enemies?");
+ next;
+
+ menu
+ l("No, I don't, but I would like to know more about that."), -,
+ l("Well... I've only killed some little pious in the ship, that's all."), -,
+ l("Yes, I feel strong enough for dangerous combats!"), L_Quit;
+
+ mes "";
+ mesn;
+ mesq l("Then I can give you some tips about fighting.");
+ next;
+ mesq l("The first thing you should do is to evaluate your enemy.");
+ next;
+ mesq l("You can easily see if a monster is easy to kill or just impossible to defeat. Do not try against creatures that are way more powerful than you... You'd be risking your life for nothing.");
+ next;
+ mesq l("Secondly, choose wisely which weapon is suited for you. Some people like to face their enemies closely with a heavy axe, others prefer to attack from a distance with a bow for example.");
+ next;
+
+ select
+ l("Yeah, well what's the difference?");
+
+ mes "";
+ mesn;
+ mesq l("On one hand, ranged weapons are generally weaker than melee ones, but you attack from a safer position. On the other hand, depending on the level of the weapon, melee ones potentially can yeild quicker kills.");
+ next;
+ mesq l("After choosing your weapon, you also need to know how to use it.");
+ next;
+ mesq l("You can attack a monster by clicking directly on it. Once selected, you may notice a bar near your target showing you how much health it has left.");
+ next;
+ mesq l("You can also attack an enemy from your keyboard pressing the 'A' key to select it, and the 'Ctrl' key to attack it, this of course works if you didn't change your keyboard keys yet.");
+ next;
+
+ menu
+ l("Thank you for your tricks. I am going to try them now!"), -,
+ l("I already know everything. Bye."), L_Quit;
+
+ mes "";
+ mesn;
+ mesq l("You're welcome. If you can't remember something, just come back here!");
+ next;
+
+ goodbye;
+
+OnInit:
+ .distance = 2;
+ end;
+
+L_Quit:
+ goodbye;
+}
diff --git a/npc/000-1/shop.txt b/npc/000-1/shop.txt
new file mode 100644
index 00000000..be588e99
--- /dev/null
+++ b/npc/000-1/shop.txt
@@ -0,0 +1,32 @@
+// Evol scripts.
+// Authors:
+// 4144
+// Reid
+// Description:
+// Fexil's shop bag.
+
+000-1,84,98,0 trader Bag#000-1 NPC_SHOP_BAG,{
+
+OnInit:
+ tradertype(NST_MARKET);
+
+ sellitem PiouLegs, -1, 15;
+ sellitem Bread, -1, 15;
+ sellitem Croconut, -1, 50;
+ sellitem Aquada, -1, 50;
+ sellitem Armbands, -1, 20;
+ sellitem LousyMoccasins, -1, 20;
+ sellitem PiouSlayer, -1, 15;
+
+ .distance = 3;
+ end;
+
+OnClock0000:
+ restoreshopitem PiouLegs, 15;
+ restoreshopitem Bread, 15;
+ restoreshopitem Croconut, 50;
+ restoreshopitem Aquada, 50;
+ restoreshopitem Armbands, 20;
+ restoreshopitem LousyMoccasins, 20;
+ restoreshopitem PiouSlayer, 15;
+}
diff --git a/npc/000-1/silvio.txt b/npc/000-1/silvio.txt
new file mode 100644
index 00000000..ec5669d3
--- /dev/null
+++ b/npc/000-1/silvio.txt
@@ -0,0 +1,185 @@
+// Evol scripts.
+// Authors:
+// Qwerty Dragon
+// Reid
+// Description:
+// Perverted and arrogant sailor.
+
+000-1,86,99,0 script Silvio NPC_SILVIO,{
+ mesn;
+ mesq l("Hey!");
+ next;
+ mesq l("How are you doing?");
+ next;
+
+ menu
+ l("Hello... Do I know you?"), -,
+ rif(getq(ShipQuests_Gugli) > 0 && getq(General_Narrator) == 0, l("Fine, could you please tell me where I can find Gugli's sailors?")), L_Sailors,
+ l("Uhm, bye."), L_Quit;
+
+ mes "";
+ mesn;
+ mesq l("Hehe, no. But I'm sure somebody like you would love to meet somebody like me! Women want me, men want to be like me!");
+ next;
+ mesq l("So, what good wind brought you here? Were you on your raft to meet me or Julia? Or is it because you've heard of my feats in Artis?");
+ next;
+
+ menu
+ l("You're right, it's about you."), L_Julia,
+ l("What is Artis?"), L_Artis,
+ l("None of them?"), -;
+
+ mes "";
+ mesn;
+ mesq l("You know that I was not always a sailor, right? I was once a very important Person!");
+ next;
+ mesq l("Before...");
+ next;
+
+ setcamnpc "Gugli";
+ mes "";
+ mesn "Gugli";
+ mesq l("Hey, don't worry about him, it's one of the first days in a long time that we can just chill out.");
+ next;
+ mesq l("Maybe he over did it with the bottle today to celebrate that!");
+ next;
+ restorecam;
+
+ menu
+ l("He's funny, it's not a problem."), -,
+ l("Ok, I will leave him alone."), L_ForeverAlone;
+
+ setcamnpc "Gugli";
+ mes "";
+ mesn "Gugli";
+ mesq l("Oh alright, nevermind then.");
+ next;
+ restorecam;
+
+ mesn;
+ mesq l("Ah... Gugli... He's too young to understand our conversation.");
+ next;
+ mesq l("So, what was I saying?");
+ next;
+
+ menu
+ l("You told me that you 'were' important."), L_VeryImportantNoob,
+ l("You mentioned the quality of your wine."), -;
+
+ mes "";
+ mesn;
+ mesq l("Oh really? How could I forget something as important as that?!");
+ next;
+ mesq l("I think that my wine is of great quality! I'm on my second bottle and I already... What were we talking about again?");
+
+ close;
+
+L_VeryImportantNoob:
+ mes "";
+ mesn;
+ mesq l("It's true!");
+ next;
+ mesq l("But I can't tell you anything about it, I'm sorry.") ;
+ next;
+
+ setcamnpc "Gugli";
+ mes "";
+ mesn "Gugli";
+ mesq l("Hey Silvio, it's your turn to carry the package, go!");
+ next;
+ restorecam;
+
+ mesn;
+ mesq l("Duty calls me, *hic*, see you later.");
+
+ close;
+
+L_Julia:
+ mes "";
+ mesn;
+ mesq l("Not to kill your dreams, but i fear me and Julia are romantically entangled and there is no room for a third person ... on the other hand *smirks frivolous*");
+ next;
+ mesq l("She said she will accept me when pious will have teeth. It's just a matter of time, you see?");
+ next;
+
+ menu
+ l("I see. Bye!"), L_Quit,
+ l("Oh look, there's a piou behind you!"), L_Piou;
+
+L_Piou:
+ mes "";
+ mesn;
+ mesq l("Seriously?!");
+ next;
+ mesq l("Hurry, hurry! We need to check its teeth!");
+
+ close;
+
+L_Artis:
+ mes "";
+ mesn;
+ mesq l("Artis is a very nice place. There are some hot chicks...");
+ next;
+ mesq l("The Raijin from the library flirted with me a while ago, so has Enora from the Legion.");
+ next;
+ mesq l("Oh, and Olga from the marketplace as well!");
+ next;
+ mesq l("You should look for them when we arrive at the port. You won't regret it! Ehehe...");
+
+ goodbye;
+
+L_ForeverAlone:
+ mes "";
+ mesn "Narrator";
+ mesc(l("Silvio starts to speak to his bottle, you leave, letting him have a private conversation."), 9);
+
+ close;
+
+L_Sailors:
+ mes "";
+ mesn;
+ mesq l("What? Why? They aren't more attractive than me, why do you want to see them?");
+ next;
+ mesq l("And what would you give me in exchange for that information?");
+ next;
+
+ setcamnpc "Gugli";
+ mes "";
+ mesn "Gugli";
+ mesq l("Stop heckling, Silvio, or I'll tell about how you always cry like a little baby during thunderstorms.");
+ next;
+ restorecam;
+
+ mesn;
+ mesq l("I...");
+ next;
+ mesq l("How could you... We said we wouldn't talk about that again!");
+ next;
+ mesq l("Tibbo went to the south-east of the island, others are gone to the north, and I think that Gulukan is not so far from here.");
+ next;
+ mesq l("But anyway, take the road which goes to the north to find everybody.");
+ next;
+ mesq l("Now, leave me alone...");
+ next;
+
+ menu
+ l("See you."), L_Quit,
+ l("*Imitate a thunder's sound.*"), -;
+
+ closeclientdialog;
+
+ npctalk3 l("Aaaaaahhhhhh!");
+
+ close;
+
+L_Quit:
+ closeclientdialog;
+
+ npctalk3 l("Give me a kiss before you say goodbye!");
+
+ close;
+
+OnInit:
+ .distance = 2;
+ end;
+}
diff --git a/npc/000-1/tarlan.txt b/npc/000-1/tarlan.txt
new file mode 100644
index 00000000..fad4be2a
--- /dev/null
+++ b/npc/000-1/tarlan.txt
@@ -0,0 +1,64 @@
+// Evol scripts.
+// Author:
+// Reid
+// Description:
+// Sailor hitting a crocotree, then being struck by a falling croconut.
+
+000-1,33,37,0 script Tarlan NPC_TARLAN,{
+ .dir = 2;
+
+ mesn;
+ .@a = rand(4);
+ if (.@a == 0) goto L_HardToHit;
+ if (.@a == 1) goto L_Aouch;
+ if (.@a == 2) goto L_DoYou;
+
+ mesq l("Hey you!");
+ next;
+ mesq l("What are you looking for?");
+ next;
+
+ menu
+ l("Some food."), L_Food,
+ l("Nothing, just hanging around."), -;
+
+ closeclientdialog;
+ npctalk3 l("Ok, see you then!");
+ goto L_Quit;
+
+L_Food:
+ mes " ";
+ mesn;
+ mesq l("You can yaye some @@s by hitting these crocotrees.", getitemlink(Croconut));
+ next;
+ mesq l("Yeye be careful with wild animal's food, some of them are yeyery dangerous, especially the crocs.");
+
+ goto L_Quit;
+
+L_HardToHit:
+ mesq l("These crocotrees are full of yaying @@s, but they are so hard to hit...", getitemlink(Croconut));
+
+ goto L_Quit;
+
+L_Aouch:
+ mesq l("Ayouyouch! My head...");
+ next;
+ mesq l("Damn @@.", getitemlink(Croconut));
+
+ goto L_Quit;
+
+L_DoYou:
+ mesq l("Do you want to try?");
+ next;
+ mesq l("Just hit the trunk, and it will yeye a @@.", getitemlink(Croconut));
+
+ goto L_Quit;
+
+L_Quit:
+ .dir = 4;
+ close;
+
+OnInit:
+ .distance = 2;
+ end;
+}
diff --git a/npc/000-1/tibbo.txt b/npc/000-1/tibbo.txt
new file mode 100644
index 00000000..89c82f11
--- /dev/null
+++ b/npc/000-1/tibbo.txt
@@ -0,0 +1,122 @@
+// Evol scripts.
+// Authors:
+// Hal9000
+// Qwerty Dragon
+// Reid
+// Description:
+// Sailor part of the Gugli's quest.
+// Aquada box.
+
+000-1,34,111,0 script Tibbo NPC_ELVEN_MAN_STANDING,{
+ if (getq(General_Narrator) > 0)
+ {
+ sailortalk;
+ }
+
+ .@g = getq(ShipQuests_Gugli);
+ if (.@g == 0) goto L_NoTask;
+
+ .@q = getq(ShipQuests_Tibbo);
+ if (.@q == 1) goto L_CallFunc;
+
+ mesn;
+ mesq l("Uh? Hi! I'm sorry, but I have no time for chatting.");
+ next;
+
+ select
+ l("Fine... I was just going to give you some help...");
+
+ mes "";
+ mesn;
+ mesq l("Hel... What?! Wait!");
+ next;
+ mesq l("What kind of help?");
+ next;
+
+ select
+ l("Gugli asked me to help you carrying one of these boxes you are filling.");
+
+ mes "";
+ mesn;
+ mesq l("Then it seems I have to apologize.");
+ next;
+ mesq l("I am surprised someone has been sent here to help. It is quite... unusual.");
+ next;
+ mesq l("Bring this box to Gugli. He will be extremely happy!");
+ next;
+
+ inventoryplace AquadaBox, 1;
+
+ setq ShipQuests_Tibbo, 1;
+ getitem AquadaBox, 1;
+
+ mes "";
+ mesn;
+ mesq l("Thank you and be careful with that box. I have worked really hard to fill it!");
+
+ goto L_Close;
+
+L_CallFunc:
+ sailorfood;
+
+ menu
+ rif(getq(ShipQuests_Gugli) > 1, l("Task is done.")), L_TaskDone,
+ rif(getq(ShipQuests_Tibbo) == 1 && (getq(ShipQuests_Ale) == 0 || getq(ShipQuests_Astapolos) == 0 || getq(ShipQuests_Gulukan) == 0 || getq(ShipQuests_Jalad) == 0 || getq(ShipQuests_QMuller) == 0), l("I'm still busy, I need to find the other sailors.")), -,
+ l("What's that food?"), L_Aquada;
+
+ mes "";
+ mesn;
+ mesq l("Who are you looking for?");
+ next;
+
+ menu
+ rif(getq(ShipQuests_Ale) == 0, l("Ale.")), L_Top,
+ rif(getq(ShipQuests_Astapolos) == 0, l("Astapolos.")), L_Top,
+ rif(getq(ShipQuests_Gulukan) == 0, l("Gulukan.")), L_Top,
+ rif(getq(ShipQuests_Jalad) == 0, l("Jalad.")), L_Top,
+ rif(getq(ShipQuests_QMuller) == 0, l("Q'Muller.")), L_Top,
+ l("Nobody."), -;
+
+ goto L_Close;
+
+L_Top:
+ mes "";
+ mesn;
+ mesq l("I've seen him at the top of the island.");
+ next;
+ mesq l("You should walk to the north to find him.");
+
+ close;
+
+L_Aquada:
+ mes "";
+ mesn;
+ mesq l("This is an @@, a light blue sea fruit. They're highly desired in the archipelago.", getitemlink(Aquada));
+ next;
+ mesq l("You can find them in the ocean, near corals and other sea beings. But the sea is too heavy today, you shouldn't try swimming for now.");
+ next;
+ mesq l("Otherwise, if you really want one, and if you feel capable, you can try killing tortugas or crocs if you're strong enough. I'm sure they could drop one or two @@s.", getitemlink(Aquada));
+
+ close;
+
+L_NoTask:
+ mes "";
+ mesn;
+ mesq l("I'm sorry but I have no time to chat with you.");
+
+ close;
+
+L_TaskDone:
+ mes "";
+ mesn;
+ mesq l("Awesome!");
+
+ close;
+
+L_Close:
+ goodbye;
+
+OnInit:
+ .distance = 2;
+ end;
+}