summaryrefslogtreecommitdiff
path: root/npc/002-3/juliet.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/002-3/juliet.txt')
-rw-r--r--npc/002-3/juliet.txt324
1 files changed, 324 insertions, 0 deletions
diff --git a/npc/002-3/juliet.txt b/npc/002-3/juliet.txt
new file mode 100644
index 000000000..24b6a0e21
--- /dev/null
+++ b/npc/002-3/juliet.txt
@@ -0,0 +1,324 @@
+// Evol scripts.
+// Authors:
+// 4144
+// Qwerty Dragon
+// Vasily_Makarov
+// Jesusalva
+// Description:
+// Allows to change language and talks about what happened to him.
+// Modified by Jesusalva for TMW2
+// 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.
+
+002-3,27,24,0 script Juliet#TMW2 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 @@ GP!", 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 @@ GP!", 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 oldest human city, Tulishmar.");
+ next;
+ mesq l("We should be there in a few days. 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;
+
+ //select
+ // l("Sorry, but I can't tell you anything about that."),
+ // l("Nothing, sorry.");
+
+ mes "";
+ mesn;
+ mesq l("Did 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 Juliet, 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;
+ if (getq(ShipQuests_Julia) < 2)
+ {
+ 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;
+ }
+ //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;
+}