summaryrefslogblamecommitdiff
path: root/npc/001-2-28/plush.txt
blob: 5600f2f24cd7ea4bf8e3962fefce47ddf177077a (plain) (tree)

































































































































                                                                                                                                                                         
// Evol scripts.
// Author:
//    Reid
// Description:
//    Red, the Innkeeper.
// Variable:
//    INN_REGISTER

001-2-28,28,28,0	script	Plush#001-2-28	NPC_RED,{

    function narrator_explication {
        narrator S_LAST_NEXT,
            l("You will respawn at this place if defeated in combat."),
            l("All you have to do is to select a bed in the upper level anytime after your reservation."),
            l("Unlike other respawn points, an inn can fully restore your HP."),
            l("Of course, you can select a bed somewhere else after your reservation, but you won't get your HP recovery until you choose to get some rest in the inn."),
            l("You can also use your room to get some rest after a long battle. That will consume your reservation but your HP will be fully restored.");
        return;
    }

    function accepted_room {
        .@price = getarg(0);
        if (Zeny < .@price)
        {
            speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("You don't have enough money, bring @@ E.", .@price);
        }
        else
        {
            emotion E_HAPPY;
            Zeny = Zeny - .@price;
            INN_REGISTER = REDPLUSH_INN;
            PC_IS_DEAD = false;

            speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
                lg("I registered you on the 4th room of the upper level.",
                   "I registered you on the 2nd room of the upper level."),
                l("You can go upstairs and choose a different room if you want.");
            savepoint "001-2-29", 29, g(49, 35);
        }
    }

    function register_room {
        .@price = lognbaselvl(100, 10);

        speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
            l("That will be @@ E to set your respawn point", .@price),
            l("This will remain your respawn point until set elsewhere."),
            l("Is that okay?");

        if (askyesno() == ASK_YES)
        {
            accepted_room(.@price);
        }
        else
        {
            speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
                l("Come back later if you changed your mind!");
        }

        return;
    }

    function lodge_check {
        if (INN_REGISTER == NO_INN)
        {
            register_room;
        }
        else if (INN_REGISTER == REDPLUSH_INN)
        {
            speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
                lg("You are already registered here."),
                l("Go on the upper level if you want to change your room or to use it.");
        }
        else
        {
            speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
                lg("If you are registered somewhere else you will loose that reservation."),
                l("Do you still want to lodge here?");

            if (askyesno() == ASK_YES)
            {
                register_room;
            }
        }
        return;
    }

    speech S_LAST_NEXT,
        l("Welcome to the Red Plush inn!"),
        l("What do you need?");

    do
    {
        .@q = select(
            l("Could I lodge here for a while?"),
            l("What service do you offer?"),
            l("What is your tipiou trying to do?"),
            l("Nothing."));

        switch (.@q)
        {
            case 1:
                lodge_check;
                break;
            case 2:
                emotion E_WINK;
                speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
                    l("We offer a room for travelers passing by Artis, our beds are comfy and you can be guaranteed to be right as rain after a night here!"),
                    l("If you wake up at the inn after a harsh battle, you will find yourself revitalized in an instant unlike other places where you can rest.");

                narrator_explication;
                break;
            case 3:
                speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
                    l("That poor one is doing his best to fly... But his last meal and the gravity is not helping him so far!");
                break;
            case 4:
                break;
        }
    } while (.@q != 1 && .@q != 4);

    closedialog;
    goodbye;
    close;

OnInit:
    .sex = G_FEMALE;
    .distance = 5;
}