summaryrefslogtreecommitdiff
path: root/npc/004-1/anwar.txt
blob: ca5371e04d30c1212753c8c57731d7eae0c75a5e (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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
// TMW2 Script
// Author:
//    TMW Org.
//    Jesusalva
// Description:
//    Part of Anwar Field quest

004-1,113,67,0	script	Anwar	NPC_RAIJIN,{
    .@q=getq(TulimsharQuest_AnwarField);
    if (BaseLevel < 18) goto L_Weak;

    if (.@q > 10) goto L_Complete;
    if (.@q == 10) goto L_SecondReward;
    if (.@q == 9) goto L_FirstReward;
    if (.@q == 8) goto L_SecondTry;
    if (.@q == 7) goto L_AnwarField;
    if (.@q == 6) goto L_FirstTry;
    if (.@q == 5) goto L_TryIt;
    if (.@q >= 1) goto L_FirstTry;

    mesn;
    mesq l("Hi. Could you perhaps be interested in doing some small errand for me?");
    menu
        l("Sure!"),L_Sure,
        l("I'm busy, sorry."),L_Close;

L_Complete:
    mesn;
    mesq l("Thanks for saving Tulimshar from a famine. I'll be forever grateful.");
    next;
    mesn;
    mesq l("Dealing with elves is too bothersome to me.");
    close;

L_AnwarField:
    mesn;
    mesq l("My crops! Hurry up, and talk to Eomie!!");
    close;

L_Sure:
    mes "";
    mesn;
    mesq l("Great! Eomie, the girl on Tulimshar's magic academy, is an alchemist. She probably makes fertilizers.");
    next;
    mesn;
    mesq l("This farm is dying due constant monster attacks, and without them, Tulimshar might face a famine.");
    next;
    mesn;
    mesq l("Please, talk to her. Maybe she understands the direness of the situation and help... But you know. Elves.");
    setq TulimsharQuest_AnwarField, 1;
    close;

L_FirstTry:
    mesn;
    mesq l("Good luck getting the fertilizer from Eomie! Many elves simply refuse to cooperate until it affects them directly.");
    close;

L_TryIt:
    .@q2=getq2(TulimsharQuest_AnwarField);
    mesn;
    mesq l("You've brought me fertilizer! Let me see if it works...");
    next;
    setq2 TulimsharQuest_AnwarField, .@q2+1;

    // Fail chances are 100% - 13% per attempt
    if (rand2(0,100) < 100-(.@q2*13)) {
        setq1 TulimsharQuest_AnwarField, 6;
        mesc l("Nothing happens.");
        next;
        mesn;
        mesq l("Uh... Something should happen, right? Can you get another one?");
    } else {
        setq1 TulimsharQuest_AnwarField, 7;
        mesc l("Evil worms crawl from earth and starts devouring the plants!");
        next;
        mesn;
        mesq l("Uh... That should not happen, right? RIGHT?");
        next;
        mesn;
        mesq l("Don't just stand here! Go fetch help, NOW!!");
    }

    close;

L_SecondTry:
    mesn strcharinfo(0);
    mesq l("Here is the bug bomb! Eomie just gave me. Hurry up!");
    next;
    getexp 20, 0;
    specialeffect(51);
    setq TulimsharQuest_AnwarField, 9;
    mesn;
    mesq l("Thanks God... The crops are safe. Not only that, but the fertilizer works!");
    next;
    mesn;
    mesq l("Ah, that was tiresome... I'll go make a reward for them, talk to me again later.");
    close;

L_FirstReward:
    mesn;
    mesq l("Here are two @@. Please deliver it to them. I hope they'll like it.", getitemlink(TortugaShell));
    setq TulimsharQuest_AnwarField, 10, 0;
    getitembound(TortugaShell, 2, 4); // Prevent accidental item loss
    close;

L_SecondReward:
    .@q2=getq2(TulimsharQuest_AnwarField);
    if (.@q2 < 3){
        mesn;
        mesq l("Please deliver the two @@ to Tinris and Eomie, and then I'll give you something for your help.", getitemlink(TortugaShell));
        close;
    }
    setq TulimsharQuest_AnwarField, 11, 0;
    getitem2(FarmerPants, 1, 1, 0, 0, OrangeDye, 0,0,0); // EXPERIMENTAL, required for Inspector Quest
    getexp 750, 0;
    mesn;
    mesq l("Many thanks for your help! Here, take this. I'm sure it can be very useful later. It always is.");
    close;

L_Weak:
    hello;
    end;

L_Close:
    close;

OnTimer1000:
    domovestep;

OnInit:
    .@npcId = getnpcid(.name$);
    setunitdata(.@npcId, UDT_HEADTOP, FarmerHat);
    setunitdata(.@npcId, UDT_HEADMIDDLE, DesertShirt);
    setunitdata(.@npcId, UDT_HEADBOTTOM, LeatherTrousers);
    setunitdata(.@npcId, UDT_WEAPON, Boots); // Boots
    setunitdata(.@npcId, UDT_HAIRSTYLE, 6);
    setunitdata(.@npcId, UDT_HAIRCOLOR, 14);

    .sex = G_MALE;
    .distance = 5;

    initpath "move", 99, 84,//A
             "dir", RIGHT, 0,
             "wait", 30, 0,
             "move", 90, 60,//C
             "dir", UP, 0,
             "wait", 12, 0,
             "move", 123, 64,//K
             "dir", LEFT, 0,
             "wait", 8, 0,
             "move", 101, 84,//B
             "dir", DOWN, 0,
             "wait", 29, 0,
             "move", 98, 68,//R
             "dir", DOWN, 0,
             "wait", 14, 0,
             "move", 100, 80,//F
             "dir", UP, 0,
             "wait", 13, 0,
             "move", 136, 73,//I
             "dir", DOWN, 0,
             "wait", 14, 0,
             "move", 101, 84,//B
             "dir", DOWN, 0,
             "wait", 28, 0,
             "move", 99, 64,//D
             "dir", UP, 0,
             "wait", 11, 0,
             "move", 114, 60,//M
             "dir", RIGHT, 0,
             "wait", 8, 0,
             "move", 99, 84,//A
             "dir", RIGHT, 0,
             "wait", 27, 0,
             "move", 104, 60,//O
             "dir", UP, 0,
             "wait", 18, 0,
             "move", 95, 62,//P
             "dir", DOWN, 0,
             "wait", 7, 0,
             "move", 101, 84,//B
             "dir", DOWN, 0,
             "wait", 26, 0,
             "move", 91, 66,//Q
             "dir", UP, 0,
             "wait", 21, 0,
             "move", 95, 82,//G
             "dir", UP, 0,
             "wait", 10, 0,
             "move", 99, 84,//A
             "dir", RIGHT, 0,
             "wait", 25, 0,
             "move", 111, 78,//H
             "dir", UP, 0,
             "wait", 17, 0,
             "move", 120, 63,//L
             "dir", UP, 0,
             "wait", 1, 0,
             "move", 101, 84,//B
             "dir", DOWN, 0,
             "wait", 24, 0,
            "move", 115, 69,//J
             "dir", DOWN, 0,
             "wait", 15, 0,
             "move", 110, 63,//N
             "dir", LEFT, 0,
             "wait", 1, 0,
             "move", 101, 84,//B
             "dir", DOWN, 0,
             "wait", 23, 0,
             "move", 100, 80,//F
             "dir", UP, 0,
             "wait", 9, 0,
             "move", 81, 63,//S
             "dir", UP, 0,
             "wait", 15, 0;

    initialmove;
    initnpctimer;
    end;
}