summaryrefslogtreecommitdiff
path: root/npc/000-2-0
diff options
context:
space:
mode:
Diffstat (limited to 'npc/000-2-0')
-rw-r--r--npc/000-2-0/_import.txt9
-rw-r--r--npc/000-2-0/_mobs.txt4
-rw-r--r--npc/000-2-0/_warps.txt3
-rw-r--r--npc/000-2-0/billybons.txt96
-rw-r--r--npc/000-2-0/doors.txt85
-rw-r--r--npc/000-2-0/julia.txt302
-rw-r--r--npc/000-2-0/mapflags.txt1
-rw-r--r--npc/000-2-0/note.txt27
8 files changed, 527 insertions, 0 deletions
diff --git a/npc/000-2-0/_import.txt b/npc/000-2-0/_import.txt
new file mode 100644
index 000000000..795dcc45d
--- /dev/null
+++ b/npc/000-2-0/_import.txt
@@ -0,0 +1,9 @@
+// Map 000-2-0: First Deck
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/000-2-0/_mobs.txt",
+"npc/000-2-0/_warps.txt",
+"npc/000-2-0/billybons.txt",
+"npc/000-2-0/doors.txt",
+"npc/000-2-0/julia.txt",
+"npc/000-2-0/mapflags.txt",
+"npc/000-2-0/note.txt", \ No newline at end of file
diff --git a/npc/000-2-0/_mobs.txt b/npc/000-2-0/_mobs.txt
new file mode 100644
index 000000000..018c21bf2
--- /dev/null
+++ b/npc/000-2-0/_mobs.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 000-2-0: Second Deck mobs
+000-2-1,52,32,21,9 monster Piou 1002,3,30000,20000
+000-2-1,52,32,21,9 monster Maggot 1030,2,30000,20000 \ No newline at end of file
diff --git a/npc/000-2-0/_warps.txt b/npc/000-2-0/_warps.txt
new file mode 100644
index 000000000..5496ecaea
--- /dev/null
+++ b/npc/000-2-0/_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-0: First Deck warps
+000-2-0,31,25,0 warp #000-2-0_31_25 0,0,000-2-1,72,29
diff --git a/npc/000-2-0/billybons.txt b/npc/000-2-0/billybons.txt
new file mode 100644
index 000000000..23e056a89
--- /dev/null
+++ b/npc/000-2-0/billybons.txt
@@ -0,0 +1,96 @@
+// Evol scripts.
+// Author:
+// Reid
+// Description:
+// Drunk easteregg telling about the player's past.
+
+000-2-0,20,23,0 script Billy Bons NPC_BILLY_BONS,{
+ if (rand(5) == 2) goto L_Hic;
+
+ mesn;
+ mesq l("You? Here?");
+ mesq l("How is *hic* it possible?");
+ next;
+
+ mesn "Narrator";
+ mes col(l("The sailor chugs his beer."), 9);
+ next;
+
+ select
+ lg("Excuse me? Do you know who I am?");
+
+ mes "";
+ mesn;
+ mesq l("Don't do theee... *hic* with me eh!");
+ next;
+
+ menu
+ l("Are you ok?"), L_Quit,
+ l("Alright... Bye."), -;
+
+ mes "";
+ mesn;
+ mesq lg("No and *hic*... No, you and you and your... *burp* stup*hic* guild!");
+ next;
+ mesq l("You tried to get rid of me, eeh? But surprise! I'm still here... *hic* Or there...");
+ next;
+ mesq l("But you won't *hic* me this time...");
+ next;
+
+ menu
+ l("What are you talking about? What guild?"), L_Quit,
+ l("You are full of wine, my friend..."), -,
+ l("You should go and get some sleep."), L_Quit;
+
+ mes "";
+ mesn;
+ mesq l("If I saw *hic* who you were... *hic* Would not have helped you! ");
+ next;
+
+ menu
+ l("But who am I?"), -,
+ l("What am I supposed to say?"), L_Quit,
+ l("You should go and get some sleep."), L_Secret;
+
+ mes "";
+ mesn;
+ mesq l("The giant boogeyman!");
+
+ close;
+
+L_Secret:
+ mes "";
+ mesn;
+ mesq l("Hear me *hic* well, what ever, whatididever you will *hic* said ab... uhm... out what?! You saw there, the Legion of Aemil won't let it get public.");
+ next;
+ mesq l("Nobody will know about the existence of the Mercurians.");
+ next;
+ mesq l("Nobody! *burp*");
+ next;
+
+ close;
+
+L_Hic:
+ npctalk3 l("*Hic*");
+
+ close;
+
+L_Quit:
+ mes "";
+ mesn;
+ mesq l("Yeah you're all like *hic* that in Esperia, but you won't get me! *burp*");
+ next;
+ mesq l("I'm not that numb eeh *hic* what did ever yous disco... ...vered there, the Legion of Aemil won't get me!");
+ mesq l("*burp*");
+ next;
+
+ mesn "Narrator";
+ mes col(l("The sailor turns his back to you."), 9);
+
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 3;
+ end;
+}
diff --git a/npc/000-2-0/doors.txt b/npc/000-2-0/doors.txt
new file mode 100644
index 000000000..dd65645c3
--- /dev/null
+++ b/npc/000-2-0/doors.txt
@@ -0,0 +1,85 @@
+// Evol scripts.
+// Author:
+// Reid
+// Description:
+// Doors NPCs.
+// The third value of the .@nard variable has been removed for the beta2, it'll then be re-added for the Aurora release.
+// Variable:
+// 0 ShipQUests_Nard
+// 1 ShipQuests_Julia
+// Values:
+// Nard:
+// 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.
+// 10 Has not talked to Julia
+// 11 Need to see Julia
+// 12 Has been registered by Julia
+
+000-2-0,19,28,0 script AreaNPC#doors1 NPC_HIDDEN,0,0,{
+
+OnTouch:
+ .@nard = getq(ShipQuests_Nard);
+
+ if (getq(General_Narrator) > 0)
+ {
+ warp "000-1", 93, 100;
+ close;
+ }
+
+ if (.@nard == 4) goto L_GotoNard;
+ if (.@nard == 5) goto L_End;
+ if (.@nard > 0 && countitem(718) > 0) goto L_Key;
+
+ setcamnpc "Julia";
+ mesn "Julia";
+ mesq l("The captain has locked the door, you should go see him.");
+ next;
+
+ mesn "Narrator";
+ mes col(l("Captain Nard is in the room to your right."), 9);
+ next;
+ restorecam;
+
+ close;
+
+L_Key:
+ warp "000-1", 93, 100;
+ close;
+
+L_GotoNard:
+ setcamnpc "Julia";
+ mesn "Julia";
+ mesq l("The captain is waiting for you! Hurry up.");
+ next;
+ restorecam;
+
+ close;
+
+L_End:
+ mesn "Narrator";
+ mesq col(l("This door is locked."), 9);
+ setcamnpc "Julia";
+ next;
+ mesn "Julia";
+ mesq l("We're soon leaving that island, please return to your cabine.");
+ next;
+ restorecam;
+
+ close;
+}
+
+000-2-0,33,28,0 script AreaNPC#doors2 NPC_HIDDEN,0,0,{
+
+OnTouch:
+ .@julia = getq(ShipQuests_Julia);
+ if (.@julia == 2) goto L_Warp;
+ close;
+
+L_Warp:
+ warp "000-2-3", 20, 27;
+ close;
+}
diff --git a/npc/000-2-0/julia.txt b/npc/000-2-0/julia.txt
new file mode 100644
index 000000000..33916d85b
--- /dev/null
+++ b/npc/000-2-0/julia.txt
@@ -0,0 +1,302 @@
+// Evol scripts.
+// Authors:
+// 4144
+// Qwerty Dragon
+// Vasily_Makarov
+// Description:
+// Allows to change language and talks about what happened to him.
+// 2 Bits Array:
+// ShipQuests
+// Variables:
+// 0 ShipQuests_Julia
+// 1 ShipQuests_ChefGado
+// 2 ShipQuests_Nard
+// Values:
+// Julia:
+// 10 Default, no quest given.
+// 01 Need to see Julia.
+// 02 Has been registered by Julia.
+// Gado:
+// 10 Default, no quest given.
+// 11 Quest accepted.
+// 12 Ingredients collected, ready to poison Julia.
+// 13 Julia poisoned.
+// 14 Quest complete. Chef Gago wins.
+// 15 Quest complete. Julia wins (poison dish returned).
+// 16 Quest complete. Julia wins.
+// Nard:
+// 20 Introduction of the boxes and Nard. This is displayed when the player never spoke to Nard or his box.
+// 21 Nard spoke and gave access to the outdoor of the ship.
+// 22 Completed the Gugli quest.
+// 23 ChefGado Quest accepted.
+// 24 ChefGado Quest completed and "Introduction" chapter finalized.
+// 25 Reward taken from the box.
+
+000-2-0,27,24,0 script Julia NPC_JULIA,2,10,{
+
+ function ynMenu {
+ if (select(l("Yes, I do."), l("No, none.")) == 1) {
+ return;
+ }
+ closedialog;
+ }
+
+ function poisonJulia {
+ mes "";
+ mesn;
+ mesq l("Seems yummy! Let me taste it!");
+ next;
+ mesq l("Hmmm, hm... *cough*, *cough*, *burp*, *cough*. What... What is that?!... *cough*, *burp*... Damn Gado... *cough*");
+ if (countitem(PoisonedDish) > 0) delitem PoisonedDish, 1;
+ setq ShipQuests_ChefGado, 3;
+ close;
+ }
+
+ function gotoSleep {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("You already did enough for us, follow Nard's advice and get some rest."),
+ l("We are at half a day from our final destination, by the time that you wake up I'm sure that we will be there!"),
+ l("Do you have any other questions for me?");
+ ynMenu;
+ return;
+ }
+
+ function heardRumors {
+ mes "";
+ mesn;
+ mesq l("You shouldn't believe every tale drunken sailors tell you.");
+ next;
+
+ select
+ l("Let's say the person who told me about that is well respected on this ship and never drunk.");
+
+ mes "";
+ mesn;
+ mesq l("Hahaha! All sailors aboard this ship are always drunk... Well... Except... Wait, what?! Nard told you?!");
+ next;
+ mesq l("Doesn't he like the way I'm taking care of his ship? Everything is clean and tidy with me, rightful lieutenant of La Johanne.");
+ next;
+ mesq l("I give tasks to every single sailor, all day long. That should make him happy!");
+ next;
+
+ select
+ l("Well... I don't think it is the best way to rule a ship. Think about it."),
+ l("In fact, everything seems to work perfectly under your guidance. Nard has made the right choice.");
+
+ if (@menu == 1)
+ {
+ closedialog;
+ end;
+ }
+
+ mes "";
+ mesn;
+ mesq l("I'm glad you're on my side.");
+ next;
+ mesq l("Take this money as a reward for your nice words.");
+
+ setq ShipQuests_ChefGado, 6;
+ Zeny += 100;
+ message strcharinfo(0), l("You receive @@ E!", 100);
+ getexp 8, 0;
+ close;
+ }
+
+ function gotRegrets {
+ mes "";
+ mesn;
+ mesq l("Why? And who should you bring it back to?");
+ next;
+
+ select
+ l("Ehm... He was really upset because of some past stories.");
+
+ mes "";
+ mesn;
+ mesq l("Gado! That coward lives in the past, I will ask Nard to punish him, again!");
+ next;
+ mesq l("Take this money for your wise choice. But do not try it again. The open sea has been merciful with you once... Do not further tempt the fates!");
+
+ setq ShipQuests_ChefGado, 5;
+ Zeny += 200;
+ message strcharinfo(0), l("You receive @@ E!", 200);
+ getexp 15, 0;
+ close;
+ }
+
+ function basicSkill {
+ mes "";
+ mesn;
+ mesq l("Let me check into it...");
+ next;
+ adddefaultskills;
+ mesq l("Here you go, everything is fixed.");
+ emotion E_HAPPY;
+ next;
+ mesq l("Do you have any other questions for me?");
+ next;
+ ynMenu;
+ return;
+ }
+
+ function chooseLang {
+ mes "";
+ mesn;
+ mesq l("Of course! Tell me which language you speak and I will change the note on the ship passenger list.");
+ next;
+
+ asklanguage(LANG_IN_SHIP);
+
+ mes "";
+ mesn;
+ mesq l("Ok, done.");
+
+ if (getq(ShipQuests_Julia) == 2)
+ {
+ next;
+ mesq l("Do you have any other questions for me?");
+ next;
+ ynMenu;
+ return;
+ }
+
+ next;
+ mesq l("I'm sure that you've got some questions for me, feel free to ask them, but first I need to tell you the rules of proper social conduct on board.");
+
+ mesq l("Here they are.");
+ next;
+
+ narrator S_LAST_NEXT,
+ l("There is a paper with some rules written on it.");
+
+ GameRules 8 | 4;
+
+ mesn;
+ mesq l("Oh, and I almost forgot! Do not give the password of your room to anybody! I am the only one who has the other key and I won't ask for yours so keep it secret and try not to use the same password for any other room in the future.");
+ next;
+ mesq l("If you want to read this page again, there is a copy up on the left wall.");
+ next;
+ mesq l("You can also read The Book of Laws at any time to see the rules.");
+ next;
+ mesq l("I think I'm done with that now. Do you have any questions?");
+ next;
+
+ setq ShipQuests_Julia, 2;
+ return;
+ }
+
+ function whereAmI {
+ mes "";
+ mesn;
+ mesq l("You're on a ship, we're on our way to the commercial capital of Artis.");
+ next;
+ mesq l("We should be there in a few days, once we arrive, I will warn the Legion of Aemil about what happened, I'm sure they can help.");
+ next;
+ mesq l("But for now, you can relax on the ship, or visit the island we're docked at! Its a small island, but a good place to get some exercise and stretch your legs.");
+ next;
+ mesq l("Do you have any other questions for me?");
+ next;
+ ynMenu;
+ return;
+ }
+
+ function whatHappened {
+ mes "";
+ mesn;
+ mesq l("We thought that you could help us understand this, all we know is that we found you cast in the sea, adrift on your raft.");
+ next;
+ mesq lg("You were in bad shape, you should be happy we found you before the sea killed you.");
+ next;
+ mesq l("Oh, and there was this inscription on your raft. It represents the Legion of Aemil, one of the four main guilds of Gasaron. Does that help you remember anything, anything at all?");
+ next;
+
+ select
+ l("Sorry, but I can't tell you anything about that."),
+ l("Nothing, sorry.");
+
+ mes "";
+ mesn;
+ mesq l("No problem, do you have any other questions for me?");
+ next;
+ ynMenu;
+ return;
+ }
+
+ function readRules {
+ mes "";
+ mesn;
+ mesq l("Of course, they are on the left wall, go have a look at them.");
+ next;
+ mesq l("Do you have any other questions for me?");
+ next;
+ ynMenu;
+ return;
+ }
+
+ function mainMenu {
+ do
+ {
+ .@q2 = getq(ShipQuests_ChefGado);
+ .@q3 = getq(ShipQuests_Nard);
+ .@q4 = getq(General_Narrator);
+
+ selectd
+ rif(.@q3 == 5 && .@q4 < 1, l("What can I do now?")),
+ rif(.@q3 == 3 && .@q2 == 0, l("I heard rumors about some old hostilities between you and Gado. Are they true?")),
+ rif(.@q2 == 2 && countitem(PoisonedDish), l("Well... No wait, I have something for you but you shouldn't eat it... I'm taking it back to the kitchen.")),
+ rif(.@q2 == 2 && countitem(PoisonedDish), l("I have brought you a tasty present for your delicate mouth.")),
+ rif(getskilllv(NV_BASIC) < 6, l("Something is wrong with me, I can't smile nor sit.")),
+ lg("I made a mistake, I would like to change my language."),
+ l("Could you explain to me where I am?"),
+ l("What happened to me?"),
+ l("Can I read these rules again?"),
+ l("Nothing, sorry.");
+
+ switch (@menu)
+ {
+ case 1: gotoSleep; break;
+ case 2: heardRumors; break;
+ case 3: gotRegrets; break;
+ case 4: poisonJulia; break;
+ case 5: basicSkill; break;
+ case 6: chooseLang .@s$; break;
+ case 7: whereAmI; break;
+ case 8: whatHappened; break;
+ case 9: readRules; break;
+ case 10: closedialog; end;
+ }
+ } while (1);
+ }
+
+ mesn;
+ mesq lg("Hello dear!");
+ next;
+ mesq l("What do you want today?");
+ next;
+
+ mainMenu;
+
+OnTouch:
+ .@q = getq(ShipQuests_Julia);
+ if (.@q > 1) end;
+
+ checkclientversion;
+
+ mesn;
+ mesq l("Hi, nice to see you!");
+ next;
+ mesq l("My name is Julia, it is me who took care of you after we found you in the sea.");
+ next;
+ mesq lg("I'm glad to see you're okay.");
+ next;
+ mesq lg("Could I ask you what your native language is? A sailor told me you're Russian, but another one told me you're French... I'm a bit lost. I will register you on the ship passenger list just after that.");
+ next;
+ chooseLang;
+ mainMenu;
+ end;
+
+OnInit:
+ .sex = G_FEMALE;
+ .distance = 10;
+ .quest_debug = ShipQuests_Julia;
+}
diff --git a/npc/000-2-0/mapflags.txt b/npc/000-2-0/mapflags.txt
new file mode 100644
index 000000000..d3a4bd222
--- /dev/null
+++ b/npc/000-2-0/mapflags.txt
@@ -0,0 +1 @@
+000-2-0 mapflag town
diff --git a/npc/000-2-0/note.txt b/npc/000-2-0/note.txt
new file mode 100644
index 000000000..fcb28f717
--- /dev/null
+++ b/npc/000-2-0/note.txt
@@ -0,0 +1,27 @@
+// Evol scripts.
+// Authors:
+// gumi
+// Qwerty Dragon
+// Reid
+// WildX
+// Description:
+// A small note presenting the 6 main rules of Evol Online.
+
+000-2-0,29,25,0 script Note NPC_PAPER_NOTE,{
+ narrator S_LAST_NEXT,
+ l("There is a paper with some rules written on it.");
+
+ GameRules 8 | 4;
+
+ narrator S_NO_NPC_NAME,
+ l("Following these lines are some other writings on this paper."),
+ l("Do not give the password of your room to anybody! Keep it secret and try not to use the same one in any other room in the future. - Julia"),
+ l("Does anyone know a good place to hang out in Esperia? - M. Arpan"),
+ l("Other things are written but are not legible anymore.");
+
+ close;
+
+OnInit:
+ .distance = 2;
+ end;
+}