-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathhebob.cmd
More file actions
378 lines (344 loc) · 9.92 KB
/
hebob.cmd
File metadata and controls
378 lines (344 loc) · 9.92 KB
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
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
include library.cmd
include helibrary.cmd
########CHARACTER_SETTINGS########
var maxpumpkins 10
var container tote
var empath YES
var fpprepmana 15
var fpaddmana 8
var healprepmana 15
var healaddmana 8
var cambrinth NO
var chargemax 20
var harnessing YES
var harnessmax 20
var minconcentration 80
################################
var pumpkinnum 0
var needhealing 0
var needflush 0
var needleeching 0
var hasleech 1
action (rummage) var rummagestring $2 when You rummage through (.+) and see (.+)
action var head 1;var hasleech 1 when a small black sand leech on your head
action var neck 1;var hasleech 1 when a small black sand leech on your neck
action var chest 1;var hasleech 1 when a small black sand leech on your chest
action var abdomen 1;var hasleech 1 when a small black sand leech on your abdomen
action var back 1;var hasleech 1 when a small black sand leech on your back
action var tail 1;var hasleech 1 when a small black sand leech on your tail
action var rightarm 1;var hasleech 1 when a small black sand leech on your right arm
action var leftarm 1;var hasleech 1 when a small black sand leech on your left arm
action var righthand 1;var hasleech 1 when a small black sand leech on your right hand
action var lefthand 1;var hasleech 1 when a small black sand leech on your left hand
action var rightleg 1;var hasleech 1 when a small black sand leech on your right leg
action var leftleg 1;var hasleech 1 when a small black sand leech on your left leg
action var righteye 1;var hasleech 1 when a small black sand leech on your right eye
action var lefteye 1;var hasleech 1 when a small black sand leech on your left eye
action var ready 0;var scancel 1 when Your concentration slips for a moment, and your spell is lost.
action var ready 1 when You feel fully prepared to cast your spell.
START:
gosub PRESET
gosub STOWALL
var rummageitem %container
gosub RUMMAGE
pause 1
action (rummage) off
eval rummagestring replace("%rummagestring", ",", "|")
eval rummagecount count("%rummagestring", "|")
var countpos 0
gosub COUNTLOOP
echo PumpkinNum: %pumpkinnum
if %pumpkinnum > 0 then
{
if $roomid = 249 then goto BREAKLOOP
else goto COLLECTLOOP
}
else goto COLLECTLOOP
COLLECTLOOP:
if $roomid != 382 then
{
var roomtarget 382
gosub MOVE
}
if %needhealing = 1 then gosub HEALING
if %pumpkinnum >= %maxpumpkins then goto BREAKLOOP
gosub GETPUMPKIN
if matchre("$righthand", "pumpkin") then
{
math pumpkinnum add 1
echo PumpkinNum: %pumpkinnum
var putitemname pumpkin
var putlocation %container
gosub PUTITEM
}
goto COLLECTLOOP
BREAKLOOP:
if $roomid != 249 then
{
var roomtarget 249
gosub MOVE
}
#echo needhealing %needhealing
#echo needflush %needflush
#echo needleeching %needleeching
if ((%needhealing = 1) || (%needleeching = 1) || (%needflush = 1)) then gosub HEALING
var getitemname pumpkin
gosub GETITEM
if matchre("$righthand", "pumpkin") then
{
gosub BREAKPUMPKIN
put glance
pause 2
if matchre("$righthand", "%keeplist") then
{
put #echo >Conversation Found $righthand!
var putitemname $righthandnoun
var putlocation my %container
gosub PUTITEM
}
else
{
var putitemname $righthandnoun
var putlocation bucket
gosub PUTITEM
}
}
else
{
var pumpkinnum 0
goto COLLECTLOOP
}
goto BREAKLOOP
########
HEALING:
if $roomid != 249 then
{
var roomtarget 249
gosub MOVE
}
if %needleeching = 1 then
{
gosub HEALTHCHECK
pause 1
if %hasleech = 1 then gosub TENDLEECH
}
if %needflush = 1 then
{
if %empath = "YES" then
{
var spell fp
var prepmana %fpprepmana
var addmana %fpaddmana
var casting 1
gosub CASTLOOP
var needflush 0
}
else
{
echo Need Flush Poison!
put #play JustArrived
exit
}
}
if %needhealing = 1 then
{
if %empath = "YES" then
{
var spell heal
var prepmana %healprepmana
var addmana %healaddmana
var casting 1
gosub CASTLOOP
var needhealing 0
}
else
{
echo Need healing!
put #play JustArrived
exit
}
}
return
CASTLOOP:
if %casting = 1 then gosub CASTINGLOGIC
pause 1
if ((%scancel = 1) || (%casting = 0)) then return
goto CASTLOOP
COUNTLOOP:
if %countpos > %rummagecount then return
if matchre("%rummagestring(%countpos)", "(a|an) (\w+) pumpkin") then
{
#echo rummagestring(%countpos): %rummagestring(%countpos)
math pumpkinnum add 1
}
if matchre("%rummagestring(%countpos)", "(a|an) (\w+) (\w+) pumpkin") then
{
if matchre("%rummagestring(%countpos)", "(a|an) (\w+) (\w+) pumpkin (.+)") then
else
{
math pumpkinnum add 1
}
}
math countpos add 1
goto COUNTLOOP
GETPUMPKINP:
pause
GETPUMPKIN:
matchre GETPUMPKINP ...wait|type ahead|stunned|while entangled in a web.
matchre RETURN Roundtime
matchre GETSTAND As you reach into the enormous vat to grab a pumpkin, two slender hands latch onto your arms and pull you in!|Perhaps that would work better if you were standing.
matchre GETWOUNDED You reach into the enormous vat and feel teeth clamp onto your hand! As you struggle to pull your arm free, you can see the glint of scales and a large sinuous body within the water. With a last surge of strength, you pull your bleeding hand free, counting your fingers to make sure that they are all there.|You are too injured to get a pumpkin.|Grasping the ripe pumpkin firmly, you bring it up swiftly into your forehead. With a grimace, you wipe off pumpkin residue on the back of your forearm. A bright flash of light barely gives you enough warning to attempt to shield yourself with your arms before the ripe pumpkin explodes, throwing you backward and to the ground!
matchre GETSTOW You must have your right hand free to do that.
put grab vat
matchwait
GETSTOW:
var putlocation my %container
gosub PUTALL
return
GETSTAND:
gosub STAND
return
GETWOUNDED:
var needhealing 1
return
BREAKPUMPKIN:
matchre RETURN Noticing something in the pumpkin debris, you reach down and pick up (.+)
matchre BREAKPOISON As you search through the remains of the (.+) pumpkin, you detect a slight nutty smell.
matchre BREAKPOISON The (.+) pumpkin releases a small dusty cloud that leaves you coughing for a moment.
matchre BREAKPOISON The (.+) pumpkin releases a small dusty cloud that leaves you coughing for a moment. You feel a like you're developing a headache.
matchre BREAKHEAL The (.+) pumpkin releases a small dusty cloud that leaves you coughing for a moment. You feel like your headache is getting worse.
matchre BREAKHEAL A bright flash of light barely gives you enough warning to attempt to shield yourself with your arms before the (.+) pumpkin explodes, throwing you backward and to the ground!
matchre BREAKLEECH Grasping the (.+) pumpkin firmly, you bring it up swiftly into your forehead. With a grimace, you wipe off pumpkin residue on the back of your forearm. Fragments from the (.+) pumpkin fly upwards through the air, only to rain down around you afterwards.
matchre BREAKSTAND Perhaps that would work better if you were standing.
put break pumpkin
matchwait
#Grasping the (.+) pumpkin firmly, you bring it up swiftly into your forehead. With a grimace, you wipe off pumpkin residue on the back of your forearm.
BREAKSTAND:
gosub STAND
goto BREAKPUMPKIN
BREAKPOISON:
var needflush 1
return
BREAKHEAL:
var needhealing 1
return
BREAKLEECH:
var needleeching 1
return
TENDLEECH:
if %head = 1 then
{
var tendtarget head
gosub TEND
var %tendtarget 0
}
if %neck = 1 then
{
var tendtarget neck
gosub TEND
var %tendtarget 0
}
if %abdomen = 1 then
{
var tendtarget abdomen
gosub TEND
var %tendtarget 0
}
if %back = 1 then
{
var tendtarget back
gosub TEND
var %tendtarget 0
}
if %tail = 1 then
{
var tendtarget tail
gosub TEND
var %tendtarget 0
}
if %rightarm = 1 then
{
var tendtarget rightarm
gosub TEND
var %tendtarget 0
}
if %leftarm = 1 then
{
var tendtarget leftarm
gosub TEND
var %tendtarget 0
}
if %righthand = 1 then
{
var tendtarget righthand
gosub TEND
var %tendtarget 0
}
if %lefthand = 1 then
{
var tendtarget lefthand
gosub TEND
var %tendtarget 0
}
if %rightleg = 1 then
{
var tendtarget rightleg
gosub TEND
var %tendtarget 0
}
if %leftleg = 1 then
{
var tendtarget leftleg
gosub TEND
var %tendtarget 0
}
if %righteye = 1 then
{
var tendtarget righteye
gosub TEND
var %tendtarget 0
}
if %lefteye = 1 then
{
var tendtarget lefteye
gosub TEND
var %tendtarget 0
}
var hasleech 0
var needleeching 0
return
TENDP:
pause
TEND:
matchre TENDP ...wait|type ahead|stunned|while entangled in a web.
matchre RETURN ^You work|^That area|^Look again|^Your .+ too injured|TEND {MY|<character>} {area}|You are a bit too busy performing to do that.|^You fumble|The sand leech slips free and quickly disappears.
put tend my %tendtarget
matchwait
PRESET:
var cambcharge 0
var cambcharge1 0
var cambcharge2 0
var ready 0
var prepped 0
var charged 0
var harnessed 0
var spell
var prepmana 0
var cambmana 0
var harnmana 0
var harntapped 0
var cambmana1 0
var cambmana2 0
var tmcast 0
var debilcast 0
var cycliccast 0
var casting 0
var othercast 0
var spellsymb 0
var cambtapped 0
var cambsplitting 0
var splittingmana 0
var splitcount 0
var multicast 0
var scancel 0
return