summaryrefslogblamecommitdiff
path: root/npc/002-3/juliet.txt
blob: 24b6a0e212717039dd9fd654cfe90f47d67aeeec (plain) (tree)
1
2
3
4
5
6
7
8
9




                    
               

                                                                     
                                    


























                                                                                                                
                                                        































































                                                                                                                                                
                                                             




















                                                                                                                                                                 
                                                             



































































                                                                                                                                                                                                                                                        
                                                                                          
             
                                                                                                                                                                                                              













                                                                                                                                            
 


                                                                    


               
                                                           



































































                                                                                                                                                                         
                                                                                              


                                            


























                                                                                                                                                                                                                                                        







                                    
// 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;
}