summaryrefslogtreecommitdiff
path: root/npc/001-2-22/chefgado.txt
blob: ae95d40887c6844f07fcc53f6b372d461a646259 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
// Evol scripts.
// Authors:
//    Hal9000
//    Qwerty Dragon
//    Reid
// Description:
//    La Johanne Chef.

001-2-22,27,28,0	script	Chef Gado#Artis	NPC_CHEF_GADO,{
    function foodQuest;

    .@r = rand(3);
    if (.@r == 0) npctalk3 l("What are you doing in my kitchen?! Get out, it's not a place for kids!");
    if (.@r == 1) npctalk3 l("Where is the damn salt?! Give me the salt, I know you have it!");
    if (.@r == 2) npctalk3 l("Are you going to stand here all day long? Do the dishes or go away.");

    if (getq(General_SmearedHands) < 3)
        foodQuest();
    close;

function foodQuest {
    .@q=getq(General_SmearedHands);
    mesc l("%s seems busy as usual.", l("Chef Gado"));
    select
        l("I'll get moving, sorry!"),
        //rif(.@r == 1 && countitem(Salt), l("Offer him the salt")),
        l("Can you teach me cooking?");
    mes "";
    if (@menu == 1)
        return;
    // FOOD QUEST: BEGIN
    .@ally=(getq(ShipQuests_ChefGado) == 4); // TRUE if you helped Gado
    mesn;
    mesq (.@ally ? l("I suppose I could. You helped me, after all.") : l("Why should I help you, traitor?"));
    next;
    // Empty Bowl needed
    if (!countitem(EmptyBowl)) {
        mesn;
        mesq l("Anyway: First, you'll need an %s. %s", getitemlink(EmptyBowl),
            (.@ally ? l("Cannot get one here in Artis, though. Well, if you travel far enough...") : l("Stop wasting my time!")));
        return;
    }
    // Recipe Book needed
    if (!countitem(RecipeBook)) {
        mesn;
        mesq l("Anyway: First, you'll need a %s. You cannot cook without that. So go find one!", getitemlink(RecipeBook));
        next;
        mesn;
        mesq l("These books are annoyingly expensive, but maybe you have luck elsewhere. I'm sure some housewife could give you one for helping her husband...");
        next;
        mesn;
        mesq l("That's how I got mine, anyway.");
        next;
        mesn;
        mesq l("Some nice lady called Ya... Micksha? No, it was not Yamicksha... For the life of me, I can't remember...");
        // FIXME: I'm ignoring that unpractical plot in favor of clarity
        return;
    }

    // Quest Loop
    if (.@q == 0) {
        mesn;
        mesq l("You got a bowl, I see. You won't be finding another one, so be careful with that.");
        next;
        // Will only learn Sailor Stew Recipe if helped Gado instead Julia
        if (.@ally) {
            mesn;
            mesq l("Now, watch and learn: The Sailor Stew Recipe!");
            mesc l("Learned %s recipe!", getitemlink(SailorStew)), 2;
            RECIPES[CraftSailorStew]=true;
            next;
        } else if (!RECIPES[CraftSailorStew]) {
            // They requested for a neutral approach because Julia
            mesn;
            mesq l("I will teach you %s... But for you, it will be %s E.",
                    getitemlink(SailorStew), format_number(5000));
            if (Zeny < 5000)
                return;
            next;
            mesc l("Pay Chef Gado the gold?");
            if (askyesno() == ASK_NO || Zeny < 5000)
                return;
            mesn;
            mesq l("Now, watch and learn: The Sailor Stew Recipe!");
            mesc l("Learned %s recipe!", getitemlink(SailorStew)), 2;
            RECIPES[CraftSailorStew]=true;
            Zeny-=5000;
            next;
        }
        setq General_SmearedHands, 1;
        .@q = 1;
        mesn;
        mesq l("Anyway, for the recipe, just add a few carps, carrots, manana, and roasted acorn in this order.");
        next;
    }
    if (.@q == 1 || .@q == 2) {
        mesn;
        mesq l("Now, your next task is: I've heard rumors... About some delicious food, like %s...", getitemlink(any(BarbecuePlate, VeggiePlate)));
        next;
        mesn;
        mesq l("They're related to Mouboos, but Artis cuisine is the worst. Go find the recipes!!");
        next;
    }
    mesn;
    mesq l("Get moving!");
    return;
}

OnInit:
    .distance = 4;
    end;
}