summaryrefslogtreecommitdiff
path: root/world/map/npc/001-2/fieri.txt
blob: 1264be4e5e3b50a6c36456230d809340661ec8dc (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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
// Variables used: nibble 0 of QUEST_SouthTulimshar

001-2.gat,114,89,0|script|Fieri|117
{
    set @state, ((QUEST_SouthTulimshar & NIBBLE_6_MASK) >> NIBBLE_6_SHIFT);

    if (@state >= 4) goto L_Done2;
    if (@state == 3) goto L_Progress2;
    if (@state == 2) goto L_Done1;
    if (@state == 1) goto L_Progress;

    set @TEMP, rand(2);
    if(@TEMP == 1) goto L_Opening1;
    goto L_Opening0;

L_Opening0:
    mes "[Fieri]";
    mes "\"The Wizards are always hungry. All the magic all the time, sapping their energy.";
    mes "Could I ask a favor of you?\"";
    next;
    goto L_Ask;

L_Opening1:
    mes "[Fieri]";
    mes "\"These Wizards eat like a store house full of maggots.";
    mes "At this rate I'll have nothing left to cook. Can you help me with a task?\"";
    next;
    goto L_Ask;

L_Ask:
    menu
        "Yes.", L_Yes,
        "No.", L_Close;

L_Yes:
    set @TEMP, rand(2);
    if(@TEMP == 1) goto L_Req1;
    goto L_Req0;

L_Req0:
    mes "[Fieri]";
    mes "\"Great!  I need a Beer for my Tonori Delight.\"";
    next;
    goto L_Set;

L_Req1:
    mes "[Fieri]";
    mes "\"Bring me a Beer. I'll give you something if you do.\"";
    next;
    goto L_Set;

L_Set:
    set @state, 1;
    callsub S_Update_Var;
    mes "[Fieri]";
    mes "\"Please bring it to me!\"";
    goto L_Close;

L_Progress:
    if (countitem("Beer") < 1) goto L_NotEnough;
    mes "[Fieri]";
    mes "\"Oooh, perfect! It's perfect!";
    mes "You brought me my Beer!  Here, have some cake for your troubles.\"";
    getinventorylist;
    if (@inventorylist_count - (countitem("Beer") == 1) > 99 - (countitem("CherryCake") == 0) ) goto L_TooMany;
    delitem "Beer", 1;
    getexp 100, 0;
    getitem "CherryCake", 5;
    set @state, 2;
    callsub S_Update_Var;
    next;
    mes "\"Now let's see...\"";
    goto L_Close;

L_Progress2:
    if (countitem("MaggotSlime") < 3) goto L_NotEnough1;
    mes "[Fieri]";
    mes "\"Nice!  They're perfect, just perfect!";
    mes "You brought me the 3 Maggot Slimes! Here, have some Tonori Delight as reward.\"";
    getinventorylist;
    if ((@inventorylist_count - (countitem("MaggotSlime") == 3) > 99  - (countitem("TonoriDelight") == 0) )) goto L_TooMany;
    delitem "MaggotSlime", 3;
    getexp 100, 0;
    getitem "TonoriDelight", 3;
    set @state, 4;
    callsub S_Update_Var;
    goto L_Close;

L_NotEnough:
    mes "[Fieri]";
    mes "\"Oh, please hurry and bring me a Beer. The Wizards need their Tonori Delight!\"";
    goto L_Close;

L_NotEnough1:
    mes "[Fieri]";
    mes "\"Please do hurry and bring me 3 Maggot Slimes, so I can finish the Tonori Delight!\"";
    goto L_Close;

L_Done1:
    mes "[Fieri]";
    mes "\"Thank you so much!\"";
    mes "\"But... I need some more ingredients.\"";
    next;
    mes "\"I need 3 Maggot Slimes for that.\"";
    mes "\"Bring them to me, and I'll give you something nice.\"";
    set @state, 3;
    callsub S_Update_Var;
    goto L_Close;

L_Done2:
    mes "[Fieri]";
    mes "\"I hope you like Tonori Delight as much as I do, because, you see...\"";
    next;
    mes "\"Tonori Delight is life!\"";
    goto L_Close;

L_Close:
    set @TEMP, 0;
    set @state, 0;
    close;

L_TooMany:
    next;
    mes "[Fieri]";
    mes "\"You don't have room for my reward. I'll wait until you do.\"";
    goto L_Close;

S_Update_Var:
    set QUEST_SouthTulimshar, (QUEST_SouthTulimshar & ~(NIBBLE_6_MASK) | (@state << NIBBLE_6_SHIFT));
    return;
}