summaryrefslogblamecommitdiff
path: root/npc/012-1/tiki.txt
blob: de6a65033e2398fc3abc86e7adc84866e1574959 (plain) (tree)






























































































































                                                                                                                                                                                                            
                       






















                                    
// The Mana World scripts.
// Author:
//    Jesusalva
// Description:
//    Tiki is the sandwich maker of Candor

012-1,116,118,0	script	Tiki	NPC_TIKI,{
    function tikiSubmit;
    function tikiMenu;
    function tikiShop;
    mesn;
    mesq l("Hey there, shady fella. Whaddaya want in Candor shores?");
    next;
    if (getq(General_Cooking) == 7)
        tikiMenu();
    if (getq(General_Cooking) == 8)
        tikiSubmit();
    tikiShop();
    end;

function tikiShop {
    closeclientdialog;
    shop .name$;
    return;
}

function tikiMenu {
    .@q2=getq2(General_Cooking);
    select
        l("Just wanted to purchase ingredients for cooking."),
        l("Actually, I would like to learn some recipes."),
        l("Actually I'm lost. Sorry.");
    mes "";
    // Explode script as requested
    if (@menu == 3)
        close;
    // Return so shop can take over
    if (@menu == 1)
        return;
    // @menu == 2, "I would like to learn some recipes"
    mesn strcharinfo(0);
    mesc l("You quickly explain the situation and request the %s sandwich.", getitemlink(.@q2 == VEGAN ? MananaSandwich : PioulegSandwich));
    next;
    mesn;
    mesq l("Ahh, I see! Very shady indeed, almost as shady as you are!");
    next;
    mesn;
    mesq l("I would like to help, but I can't. I'm busy, you see! Candor's Sandwich Making Contest is coming up, and I never lost a single instance of it!");
    next;
    select
        l("Ah, too bad, I'll ask Yannika for more ideas, bye."),
        l("How come you never lost before?"),
        l("Perhaps I can help?");
    mes "";
    if (@menu == 1)
        close;
    if (@menu == 2) {
        mesn;
        mesq l("Because I'm so great! I am so good, that the other challengers doesn't even show up in fear of losing to me!");
        next;
        mesn;
        mesq l("Anyway, perhaps you could help me, and I'll help you in exchange. Whaddaya think?");
        next;
    }
    mesn;
    mesq l("It is really easy - I need an idea. Bring me something NEW, revolutionary, to make a sandwich out of it. And I'll teach you the recipe!");
    next;
    setq1 General_Cooking, 8;
    return;
}

function tikiSubmit {
    mesc "[" + .name$ + "]";
    mesc l("\"Bring me something NEW, revolutionary, to make a sandwich out of it.\"");
    mes "##B" + l("Drag and drop an item from your inventory.") + "##b";

    .@id = requestitem();

    // If ID is invalid
    if (.@id < 1)
        close;

    // If there's not enough items, it is bound, it cannot be traded/dropped/sold, etc.
    // TODO: Prevent plates/bowls from being destroyed this way!!
    if (countitem(.@id) < 1 || checkbound(.@id) || getiteminfo(.@id, ITEMINFO_TYPE) != IT_HEALING) {
        mesc l("This item cannot be given.");
        close;
    }

    mesc l("Are you sure you want to give %s to %s? Item will be lost!",
           getitemlink(.@id), .name$), 1;
    if (askyesno() == ASK_NO)
        close;

    mesn;
    mesq l("%s puts %s on between two bread slices and try it.", .name$, getitemname(.@id));
    next;
    delitem .@id, 1;
    if (.@id != MoubooSteak) {
        mesn;
        mesc l("%s starts shouting insults at you!", .name$);
        next;
        mesn;
        mesq l("This is the worst. sandwich. ever! How do you dare to give me such thing?!");
        next;
        mesn;
        mesq l("Go get me something else, go do it NOW!!");
        mesc l("...Maybe if he put the cheese and lettuce as you usually do, it would have tasted great... *sigh*");
        close;
    }
    setq1 General_Cooking, 9;
    setq1 General_SmearedHands, 3;
    RECIPES[(.@q2 == VEGAN ? CraftMananaSandwich : CraftPioulegSandwich)]=true;
    mesn;
    mesq l("Uh - Oh. This is... Actually good!");
    next;
    mesn;
    mesq l("I'm sure I'll win this year's contest as well! Hah, just wait and see!");
    next;
    mesn;
    mesq l("What? Still want that shady recipe? Meh, just cut a bread, throw in  three lettuce leaves, two cheese, and put the special ingredient - A %s!", getitemname(.@q2 == VEGAN ? Manana : PiouLegs));
    next;
    mesq l("And vói-la, you have your sandwich done. Now go, I have a contest to win! Hahaha!");
    close;
}

OnInit:
    .sex = GENDER_MALE;
    .distance = 4;
    tradertype(NST_MARKET);

    sellitem Bread, -1, 35;
    sellitem PiouLegs, -1, 25;
    sellitem Manana, -1, 20;
    sellitem Cheese, -1, 12;
    sellitem LettuceLeaf, -1, 10;
    sellitem CommonCarp, -1, 8;
    sellitem GrassCarp, -1, 7;
    end;

OnClock0001:
    restoreshopitem Bread, 35;
    restoreshopitem PiouLegs, 25;
    restoreshopitem Manana, 20;
    restoreshopitem Cheese, 12;
    restoreshopitem LettuceLeaf, 10;
    restoreshopitem CommonCarp, 8;
    restoreshopitem GrassCarp, 7;
    end;
}