summaryrefslogtreecommitdiff
path: root/npc/000-2-3
diff options
context:
space:
mode:
Diffstat (limited to 'npc/000-2-3')
-rw-r--r--npc/000-2-3/_import.txt10
-rw-r--r--npc/000-2-3/_warps.txt3
-rw-r--r--npc/000-2-3/box.txt112
-rw-r--r--npc/000-2-3/elmo.txt67
-rw-r--r--npc/000-2-3/hammock.txt17
-rw-r--r--npc/000-2-3/mapflags.txt1
-rw-r--r--npc/000-2-3/nard.txt277
-rw-r--r--npc/000-2-3/piourocket.txt29
-rw-r--r--npc/000-2-3/sailors.txt47
9 files changed, 563 insertions, 0 deletions
diff --git a/npc/000-2-3/_import.txt b/npc/000-2-3/_import.txt
new file mode 100644
index 000000000..16842f77b
--- /dev/null
+++ b/npc/000-2-3/_import.txt
@@ -0,0 +1,10 @@
+// Map 000-2-3: Nard's Room
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/000-2-3/_warps.txt",
+"npc/000-2-3/box.txt",
+"npc/000-2-3/elmo.txt",
+"npc/000-2-3/hammock.txt",
+"npc/000-2-3/mapflags.txt",
+"npc/000-2-3/nard.txt",
+"npc/000-2-3/piourocket.txt",
+"npc/000-2-3/sailors.txt",
diff --git a/npc/000-2-3/_warps.txt b/npc/000-2-3/_warps.txt
new file mode 100644
index 000000000..f5c0e1e70
--- /dev/null
+++ b/npc/000-2-3/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 000-2-3: Nard's Room warps
+000-2-3,19,27,0 warp #000-2-3_19_27 0,0,000-2-0,32,28
diff --git a/npc/000-2-3/box.txt b/npc/000-2-3/box.txt
new file mode 100644
index 000000000..cc280b746
--- /dev/null
+++ b/npc/000-2-3/box.txt
@@ -0,0 +1,112 @@
+// Evol scripts.
+// Authors:
+// Qwerty Dragon
+// Reid
+// Description:
+// Captain Nard dialogs.
+// Nard does the introduction with a small quest.
+// This quest is meant to teach the player how to use a weapon,and to bring food to the ship.
+// 4 bits array:
+// ShipQuests
+// Variable:
+// ShipQuests_Nard
+// Values:
+// 0 Introduction of the boxes and Nard. This is displayed when the player never spoke to Nard or his box.
+// 1 Nard spoke and gave access to the outdoor of the ship.
+// 2 Completed the Gugli quest.
+// 3 ChefGado Quest accepted.
+// 4 ChefGado Quest completed and "Introduction" chapter finalized.
+// 5 Reward taken from the box.
+
+000-2-3,25,24,0 script Box NPC_HAT_BOX,{
+ .@q = getq(ShipQuests_Nard);
+
+ mesn "Narrator";
+ mes col(l("Some Bandanas and Sailor Hats are inside this box."), 9);
+ next;
+ mes col(l("What do you wish to do?"), 9);
+ next;
+
+ menu
+ l("Take a Bandana."), -,
+ l("Nothing."), L_Quit;
+
+ if (.@q == 0) goto L_NoQuest;
+ if (.@q == 4) goto L_Give;
+ if (.@q > 4) goto L_Already;
+
+ setcamnpc "Nard";
+ mes "";
+ mesn "Nard";
+ mesq l("Please don't touch these hats, they are for crew members only.");
+
+ close;
+
+L_NoQuest:
+ mes "";
+ mesn "Narrator";
+ mes col(l("Nard looks surprised and stops you."), 9);
+ next;
+
+ setcamnpc "Nard";
+ mesn "Nard";
+ mesq l("You like these hats, right?");
+ next;
+ mesq l("How about I ask you to help the crew? It would mean that you're one of us and that you will be able to get one of these hats.");
+ next;
+ mesq l("We need as many hands as possible to explore the island out there, and to get some new food.");
+ next;
+ mesq l("You could meet some of the other sailors this way, and... Getting this hat of course, will be a sign of you becoming part of our crew.");
+ next;
+ mesq l("What do you think?");
+ next;
+
+ menu
+ l("Why not, I've got plenty of free time."), -,
+ l("I think that I'm still a bit sick."), L_Quit;
+
+ mes "";
+ mesn "Nard";
+ mesq l("Great!");
+ next;
+ mesq l("I give you this key, it opens all the doors on this ship.");
+ next;
+ mesq l("Now go outside and talk with Gugli, he'll tell you what provisions we need.");
+ next;
+
+ inventoryplace JohanneKey, 1;
+ setq ShipQuests_Nard, 1;
+ getitem JohanneKey, 1;
+
+ close;
+
+L_Give:
+ setcamnpc "Nard";
+ mes "";
+ mesn "Nard";
+ mesq l("Congrats, you are now part of the crew. Thanks again for your help.");
+
+ inventoryplace Bandana, 1;
+
+ setq ShipQuests_Nard, 5;
+ getitem Bandana, 1;
+// Need to add a skill for the crew at this line.
+
+ close;
+
+L_Already:
+ setcamnpc "Nard";
+ mes "";
+ mesn "Nard";
+ mesq l("You already took a @@, please put this one back in the box.", getitemlink(Bandana));
+
+ close;
+
+L_Quit:
+ closedialog;
+ close;
+
+OnInit:
+ .distance = 1;
+ end;
+}
diff --git a/npc/000-2-3/elmo.txt b/npc/000-2-3/elmo.txt
new file mode 100644
index 000000000..c623e3215
--- /dev/null
+++ b/npc/000-2-3/elmo.txt
@@ -0,0 +1,67 @@
+// Evol scripts.
+// Authors:
+// Qwerty Dragon
+// Reid
+// Description:
+// Elmo's second dialog.
+
+000-2-3,27,27,0 script Elmo NPC_ELMO,{
+ function got_money {
+ speech S_LAST_NEXT,
+ lg("Be patient a little while longer, in the next few days we will arrive at the port of Artis..."),
+ l("If you feel bored or like running around in circles, you may want to talk with the other sailors around here to get some tasks to do."),
+ l("From what I heard, my brother Gugli needs the help of as many people as possible in order to collect a lot of neat things that can be found on this island."),
+ l("Other than that, I don't know much about what else is going on, so directly asking the Cap'tain about it could be a good idea.");
+
+ goodbye;
+ }
+
+ if (getq(General_Narrator) > 0)
+ {
+ sailortalk;
+ }
+
+ if (getq(ShipQuests_ArpanMoney) == 2)
+ {
+ got_money;
+ }
+
+ speech S_LAST_NEXT,
+ l("Hey you, sorry for leaving your room so quickly. I needed to speak with the captain about the food reserves. You know, now that we have a new mouth to feed, we need to check what we have."),
+ l("So, how is it going? Did you meet any other crew members yet?");
+
+ switch (select(l("Yes, Arpan gave me these clothes."), l("Not yet.")))
+ {
+ case 1:
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Oh good! Did he give you your money back as well?");
+
+ switch (select(l("Yes he did."), l("He told me nothing about that.")))
+ {
+ case 1:
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Ok, be patient a little while longer, in the next few days we will arrive at the port of Artis...");
+ break;
+ case 2:
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Hehe, sometimes he gets his head in the clouds, You should go ask him about that.");
+ setq ShipQuests_ArpanMoney, 1;
+ break;
+ }
+
+ break;
+ case 2:
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("You should go see them."),
+ l("You still got a few days before we arrive at the port, maybe you can learn something from them?");
+
+ break;
+ }
+
+ goodbye;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/000-2-3/hammock.txt b/npc/000-2-3/hammock.txt
new file mode 100644
index 000000000..0ceeadbff
--- /dev/null
+++ b/npc/000-2-3/hammock.txt
@@ -0,0 +1,17 @@
+// Evol scripts.
+// Author:
+// Reid
+// Description:
+// Animated hammock at the top level of the ship.
+
+000-2-3,28,24,0 script #name5 NPC_LEFT_HAMMOCK,1,0,{
+
+OnTouch:
+ hamTouchRight;
+
+OnUnTouch:
+ hamUnTouch;
+
+OnTimer5440:
+ hamTimerRight;
+}
diff --git a/npc/000-2-3/mapflags.txt b/npc/000-2-3/mapflags.txt
new file mode 100644
index 000000000..b04a0fc96
--- /dev/null
+++ b/npc/000-2-3/mapflags.txt
@@ -0,0 +1 @@
+000-2-3 mapflag town
diff --git a/npc/000-2-3/nard.txt b/npc/000-2-3/nard.txt
new file mode 100644
index 000000000..86dbe50a2
--- /dev/null
+++ b/npc/000-2-3/nard.txt
@@ -0,0 +1,277 @@
+// Evol scripts.
+// Authors:
+// Qwerty Dragon
+// Reid
+// Description:
+// Captain Nard dialogs.
+// Nard does the introduction with a small quest.
+// This quest is meant to teach the player how to use a weapon,and to bring food to the ship.
+// 4 bits array:
+// ShipQuests
+// Variable:
+// 0 ShipQuests_Nard
+// 1 ShipQuests_Gugli
+// 2 ShipQuests_ChefGado
+// Values:
+// 00 Introduction of the boxes and Nard. This is displayed when the player never spoke to Nard or his box.
+// 01 Nard spoke and gave access to the outdoor of the ship.
+// 02 Completed the Gugli quest.
+// 03 ChefGado Quest accepted.
+// 04 ChefGado Quest completed and "Introduction" chapter finalized.
+// 05 Reward taken from the box.
+// 06 Intro finished
+// 10 Never talked with Gugli.
+// 11 Gugli gives you the task.
+// 12 Gave all of the boxes to Gugli.
+
+000-2-3,25,26,0 script Nard NPC_NARD,{
+ .@nard = getq(ShipQuests_Nard);
+ .@gugli = getq(ShipQuests_Gugli);
+ .@gado = getq(ShipQuests_ChefGado);
+
+L_Checker:
+ if (.@gado > 3 && .@nard == 3) goto L_ChefQuestComplete;
+ if (.@nard == 2) goto L_ChefQuestStart;
+ if (.@nard == 3) goto L_ChefQuestGiven;
+ if (.@nard == 4) goto L_Reward;
+ if (.@nard > 5) goto L_GoBackArtis;
+ if (.@nard > 4) goto L_Already;
+ if (.@gugli == 2) goto L_Done;
+ if (.@nard == 1) goto L_NotYet;
+
+ mesn;
+ mesq l("Hello.");
+ next;
+ mesq l("Let me introduce myself, I am Nard, captain of this ship.");
+ next;
+ mesq lg("I am pleased to see that you have woken up and are active. Elmo came here to tell me this good news!");
+ next;
+
+ setcamnpc "Elmo";
+ mesn "Elmo";
+ mesq l("Oh... Err, yes I did, or, well, good day to you!");
+ next;
+ restorecam;
+
+ mesn;
+ mesq l("Hehehe, he is a bit nervous, please forgive him, it is not everyday we have a new member in the crew!");
+ next;
+ mesq l("So, how do you feel? I see that Julia did a marvelous job! You look like you're in good health now.");
+ next;
+
+L_Menu:
+ menu
+ lg("I feel ok."), L_Ok,
+ l("Who's this Julia?"), L_Julia,
+ lg("I'm a bit sick..."), -;
+
+ mes "";
+ mesn;
+ mesq l("Oh, I was going to ask you if you wanted to help the crew search for some food and explore the island out there.");
+ next;
+
+L_MenuQuest:
+ menu
+ l("What do you need?"), -,
+ l("Is there a reward?"), L_NeedHead,
+ l("Wait, you never came here before?"), L_DrasilIsland;
+
+ mes "";
+ mesn;
+ mesq l("Oh! I like that sort of answer!");
+ next;
+ mesq lg("We need manpower on the island... Oh forgive me, women are also welcome, of course.", "We need manpower on the island.");
+ next;
+
+ goto L_NeedContent;
+
+L_NeedHead:
+ mes "";
+ mesn;
+ mesq l("Of course there is a reward for your task.");
+ next;
+ mesq l("Hard work always pays off!");
+ next;
+ mesq l("What? It's not good enough?");
+ next;
+
+L_NeedContent:
+ mesq l("Our crew is like a family, and if you agree to help us, I would like to invite you to join our family!");
+ next;
+ mesq l("Hmm, I'll also give you one of these hats from the box near you, but only after you complete your task!");
+ next;
+ mesq l("Here, take this key, it opens all the doors on this ship.");
+ next;
+ mesq l("Now go outside and talk to Gugli, he'll tell you what we need.");
+ next;
+
+ inventoryplace JohanneKey, 1;
+
+ setq ShipQuests_Nard, 1;
+ getitem JohanneKey, 1;
+
+ close;
+
+L_Ok:
+ mes "";
+ mesn;
+ mesq l("Good to know.");
+ next;
+ mesq l("We have made a stop at a little island, before making it on to the port of Artis.");
+ next;
+ mesq l("It would be good for you to do some exercise, the ship isn't big enough for that.");
+ next;
+
+ goto L_SpecialTask;
+
+L_Julia:
+ mes "";
+ mesn;
+ mesq l("You have an awful case of amnesia.");
+ next;
+ mesq l("She is the nurse and shipkeeper of this ship.");
+ next;
+ mesq lg("But most important, she is the one who took care of you when you were unconscious.");
+ next;
+
+L_SpecialTask:
+ mesq l("I know that you are just starting to feel better, but I'd like to give you a special task.");
+ next;
+
+ goto L_MenuQuest;
+
+L_DrasilIsland:
+ mes "";
+ mesn;
+ mesq l("To be honest, no, never.");
+ next;
+ mesq l("But discovering new territories is probably the best thing that can happen to sailors, don't you think?");
+ next;
+ mesq l("I'm really excited, this place reminds me of an ancient mythical tree, you might know what I'm talking about...");
+ emotion E_WINK;
+ next;
+ mesq l("As captain of this ship, I officially name this newly discovered land the ##BDrasil Island##b!");
+ next;
+ mesq l("Now, lets get back to business.");
+ next;
+
+ goto L_NeedContent;
+
+L_NotYet:
+ mesn;
+ mesq l("You still haven't completed your tasks.");
+ close;
+
+L_Done:
+ mesn;
+ mesq l("Hi @@.", strcharinfo(0));
+ next;
+ mesq l("Elmo and Gugli told me that you did all of the tasks outside, congrats!");
+
+ setq ShipQuests_Nard, 2;
+ next;
+ goto L_ChefQuestRedir;
+
+L_ChefQuestStart:
+ mesn;
+ mesq lg("Elmo told me you are now considered family and are numbered among us in our activities on the island. I do so very much appreciate the efforts you did down there.");
+ next;
+
+L_ChefQuestRedir:
+ mesq l("Unfortunately, we still need help from you. This time it will be a delicate task, here onboard.");
+ next;
+ mesq l("Elmo brought reports to me about some frictions between my old and new lieutenants. You probably already met Julia and Chef Gado.");
+ next;
+ mesq l("They are each valued individuals and I need them both. In the past, I probably made my share of mistakes. I regret good management is so difficult. I was wondering if you could investigate and... Sort out this situation.");
+ next;
+
+ select
+ l("Of the two of them, who has 'good' on their side?");
+
+ mes "";
+ mesq l("I do not want to go pointing my finger at someone. I want to be honorable and fair, and I sense the same quality in you, so I put my trust in you. I am sure you will be able to judge and solve this troubling situation.");
+
+ setq ShipQuests_Nard, 3;
+
+ close;
+
+L_ChefQuestGiven:
+ mesn;
+ mesq l("It seems you still have some work to do.");
+
+ close;
+
+L_ChefQuestComplete:
+ mesn;
+ mesq l("Congratulations!");
+ next;
+ mesq l("You are now officially part of my crew! Thanks again for your help.");
+ next;
+ mesq l("Take your reward from the box next to my desk!");
+ next;
+
+ select
+ l("I will take it! Thank you captain!");
+
+ setq ShipQuests_Nard, 4;
+ getexp 50, 0;
+
+// Need to add a skill for the crew at this line.
+ mes "";
+
+L_Already:
+ speech
+ l("I recommend you to take a nap on the inferior level, we will soon leave this place.");
+
+ close;
+
+L_GoBackArtis:
+ checkclientversion;
+ speech S_LAST_NEXT,
+ l("Enough of this island?"),
+ l("Where would you like to go now?");
+ switch (select(l("Let's go to Artis."),
+ l("Tell me, where are we right now?"),
+ l("I would like to stay here a bit more.")))
+ {
+ case 1:
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Let's set sail then!");
+
+ savepoint "001-2-22", 50, 38;
+ if (!getmapxy(.@map$, .@x, .@y, 0))
+ {
+ warp "001-2-24", .@x, .@y;
+ }
+ else
+ {
+ warp "001-2-24", 22, 27;
+ }
+
+ closedialog;
+ close;
+
+ case 2:
+ closedialog;
+ npctalk3 l("This is Drasil Island, I named it after an ancient mythical tree.");
+ close;
+
+ case 3:
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Ok I stay here with my paperwork if you need my help.");
+
+ closedialog;
+ close;
+ }
+
+L_Reward:
+ mesn;
+ mesq l("Hey! There's a reward for you in the box next to me!");
+
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/000-2-3/piourocket.txt b/npc/000-2-3/piourocket.txt
new file mode 100644
index 000000000..e6ff2039e
--- /dev/null
+++ b/npc/000-2-3/piourocket.txt
@@ -0,0 +1,29 @@
+// Evol scripts.
+// Author:
+// Ablu
+// Description:
+// Jumping piou.
+
+000-2-3,27,23,4 script #piourocket NPC_PIOU_ROCKET,{
+
+ .@now = gettimetick(2);
+
+ if (.@now - .last > 1)
+ {
+ .dir = 2;
+ .last = .@now;
+ specialeffect(26);
+ initnpctimer;
+ }
+
+ close;
+
+OnTimer1420:
+ .dir = 4;
+ stopnpctimer;
+ end;
+
+OnInit:
+ .distance = 3;
+ end;
+}
diff --git a/npc/000-2-3/sailors.txt b/npc/000-2-3/sailors.txt
new file mode 100644
index 000000000..968d8c92a
--- /dev/null
+++ b/npc/000-2-3/sailors.txt
@@ -0,0 +1,47 @@
+// Evol scripts.
+// Authors:
+// Ablu
+// Qwerty Dragon
+// Reid
+// Description:
+// End of introduction with Nard and Elmo talking about the player.
+
+000-2-3,21,28,0 script AreaTop NPC_HIDDEN,0,5,{
+
+OnTouch:
+ if (getq(ShipQuests_Door) == 1) end;
+ setq ShipQuests_Door, 1;
+
+ setcamnpc "Elmo";
+ mesn "Elmo";
+ mesq lg("So that's why we wanted to warn you, maybe she comes from that guild, as that sign was on her raft.", "So that's why we wanted to warn you, maybe he comes from that guild, as that sign was on his raft.");
+ next;
+
+ setcamnpc "Nard";
+ mesn "Captain Nard";
+ mesq lg("I see. Warn the other sailors about this. But if she's part of the Legion of Aemil, then she's also our friend and ally.", "I see. Warn the other sailors about this. But if he's part of the Legion of Aemil, then he's also our friend and ally.");
+ next;
+
+ setcamnpc "Elmo";
+ mesn "Elmo";
+ mesq l("I will.");
+ next;
+ mesq l("About the Legion of Aemil, I'm not sure about them, frankly.");
+ next;
+ mesq l("There are rumors going around that they did some monstrous things and that they are hiding quite a lot from us.");
+ next;
+
+ setcamnpc "Nard";
+ mesn "Captain Nard";
+ mesq lg("This kind of talk should be taken with a grain of salt, but I agree and admit that I too am skeptical, so keep an eye on her.", "This kind of talk should be taken with a grain of salt, but I agree and admit that I too am skeptical, so keep an eye on him.");
+ next;
+
+ mesq lg("But... If she has amnesia like Julia said... We don't need to worry about her. At least not yet.", "But... If he has amnesia like Julia said... We don't need to worry about him. At least not yet.");
+ next;
+
+ setcamnpc "Elmo";
+ mesn "Elmo";
+ mesq l("Sure, cap'tain.");
+
+ close;
+}