diff options
Diffstat (limited to 'npc/002-3/juliet.txt')
-rw-r--r-- | npc/002-3/juliet.txt | 324 |
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; +} |