-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathClimbShard.cmd
517 lines (500 loc) · 13.4 KB
/
ClimbShard.cmd
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
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
#Climbing in Shard by Shroom
#debuglevel 5
## USER VARIABLES
## Set weapons to wield for more difficult climbing
var weapon1 sabre
var weapon2 nightstick
## Play Zills while climbing?
var zills yes
## MAX NUMBER OF CLIMBING LOOPS TO DO REGARDLESS OF MINDSTATE
var maxLoops 12
## END USER VARIABLES
########################
var LOOP 0
counter set 0
ECHO
ECHO *** START ANYWHERE INSIDE OR AROUND SHARD
ECHO
## Add weapons here to make climbing harder for higher ranks
if ($Athletics.Ranks > 700) then send get %weapon1
pause 0.3
pause 0.1
if ($Athletics.Ranks > 750) then send get %weapon2
pause 0.5
pause 0.2
pause 0.1
if ($Athletics.Ranks > 1000) then
{
echo *** OVER 1000 Athletics Ranks!
echo *** Going to train climbing outside the west gate on Wyvern Peak
goto WESTGATE.TRAINING
}
if ($Athletics.Ranks <= 700) then
{
if !contains("$righthandnoun $lefthandnoun", "rope") then
{
pause 0.001
pause 0.1
send get my braided rope
pause 0.2
send uncoil my braided rope
pause 0.5
pause 0.5
}
if !contains("$righthandnoun $lefthandnoun", "rope") then
{
pause 0.001
pause 0.1
send get my heavy rope
pause 0.2
send uncoil my heavy rope
pause 0.5
pause 0.5
}
}
if_1 then goto %1
Start:
var location Undergondola
if $Athletics.LearningRate >= 29 then goto DONE
if (%c >= %maxLoops) then goto DONE
ECHO
ECHO *** STARTING CLIMBING SESSION %c ***
ECHO
counter add 1
if "$guild" = "Thief" then
{
send khri start focus flight
pause
pause 0.5
pause 0.2
pause 0.1
}
if "$guild" = "Moon Mage" then
{
##send prep symbiosis explore
pause 0.5
pause 0.2
send prep shadows 5
pause 2
send charge my ankl 5
pause 2
pause 0.5
send invoke my ankl
pause 14
send cast
}
if tounder("%zills" = "yes") then send play $song
pause 0.3
if ($Athletics.Ranks < 220) then goto SHARD.WALLS
SHARD.TO.UNDER:
if $zoneid = 68 then gosub automove shard
if $zoneid = 69 then gosub automove north
if $zoneid = 67 then gosub automove east
if $zoneid = 66 then gosub automove waterfall
BEGIN:
UNDER.TO.PRACTICE:
if $Athletics.Ranks < 240 then
{
gosub automove 40
goto BRANCH.CHECK
}
gosub automove 50
pause 0.2
BRANCH.CHECK:
if $Athletics.Ranks > 450 then goto BRANCH
BACK.TO.START:
gosub automove 26
pause 0.5
if ($Athletics.Ranks < 450) && ($Athletics.Ranks > 190) then
{
ECHO
ECHO **** PRACTICING CLIMBING
ECHO
put climb practice wall
goto PRACTICE.LOOP
}
goto TO.RESET
ESCAPE:
var LOOP 0
send stop climb
pause 0.1
pause 0.1
send ret;ret
pause 0.2
pause 0.1
TO.RESET:
gosub automove 2
pause 0.5
pause 0.1
if ("$lefthand" != "Empty") 750 then
{
put stow left
pause 0.5
}
FORAGING:
pause 0.2
if tounder("%zills" = "yes") then send stop play
pause 0.5
if contains("$roomobjs","(pile of coins|pile of coin|pile of rocks|pile of grass)") then gosub KICK.PILE
if contains("$roomobjs","(pile of coins|pile of coin|pile of rocks|pile of grass)") then gosub KICK.PILE
send collect rock
pause 3
pause
if contains("$roomobjs","(pile of coins|pile of coin|pile of rocks|pile of grass)") then gosub KICK.PILE
pause 0.1
send collect rock
pause 3
pause
if contains("$roomobjs","(pile of coins|pile of coin|pile of rocks|pile of grass)") then gosub KICK.PILE
pause 0.2
if (($Athletics.Ranks > 750) && ("$lefthand" = "Empty")) then
{
send get %weapon2
pause 0.5
}
goto CONTINUE
BRANCH:
var LOOP 0
if $Athletics.Ranks < 500 then
{
gosub automove 26
put climb practice wall
goto PRACTICE.LOOP2
}
var LOOP 0
if $Athletics.Ranks > 500 then gosub automove 43
if $Athletics.Ranks < 520 then
{
put climb practice ledge
goto PRACTICE.LOOP3
}
BRANCH2:
action remove ^You are engaged
var LOOP 0
put stop climb
pause 0.5
pause 0.1
send ret;ret
pause 0.5
if $Athletics.Ranks >= 520 then gosub automove 42
if $Athletics.Ranks < 520 then goto BRANCH.CONT
pause 0.5
if $Athletics.Ranks > 520 then gosub automove 41
pause 0.5
if $Athletics.Ranks < 560 then put app branch
pause
pause
if $Athletics.Ranks < 700 then
{
put climb practice branch
goto PRACTICE.LOOP4
}
BRANCH.CONT:
action remove ^You are engaged
var LOOP 0
put stop climb
pause 0.5
pause 0.1
send ret;ret
pause 0.5
if $Athletics.Ranks >= 520 then
{
if $zoneid = 65 then gosub automove cross
if $zoneid = 62 then gosub automove under
}
gosub automove 23
gosub automove 15
goto TO.RESET
CONTINUE:
CLIMBING.CHECK:
if %c > %maxLoops then goto LEAVE
if $Athletics.LearningRate < 28 then goto START
LEAVE:
pause 0.1
pause 0.1
if "$righthandnoun" = "rope" then
{
send coil my rope
send stow my rope
pause 0.5
pause 0.4
}
if $zoneid = 65 then gosub automove 1
pause 0.5
if "$righthandnoun" != "Empty" then put stow right
if "$lefthandnoun" != "Empty" then put stow left
pause 0.5
goto DONE
PRACTICE.LOOP:
matchre ESCAPE ^The climb is too difficult|^This climb is too difficult
pause 0.5
math LOOP add 1
if %LOOP > 60 then goto ESCAPE
if $monstercount > 0 then goto ESCAPE
pause 0.5
goto PRACTICE.LOOP
PRACTICE.LOOP2:
action goto BRANCH.CONT when ^You are engaged
action goto BANCH.CONT when ^The climb is too difficult|^This climb is too difficult
pause 0.5
math LOOP add 1
if %LOOP > 60 then goto BRANCH.CONT
if $monstercount > 0 then goto BRANCH.CONT
pause 0.5
goto PRACTICE.LOOP2
PRACTICE.LOOP3:
matchre ESCAPE ^The climb is too difficult|^This climb is too difficult
action goto BRANCH2 when ^You are engaged
pause 0.5
math LOOP add 1
if %LOOP > 60 then goto BRANCH2
if $monstercount > 0 then goto BRANCH2
pause 0.5
goto PRACTICE.LOOP3
PRACTICE.LOOP4:
matchre ESCAPE ^The climb is too difficult|^This climb is too difficult
action goto BRANCH.CONT when ^You are engaged
pause 0.5
math LOOP add 1
if %LOOP > 60 then goto BRANCH.CONT
if $monstercount > 0 then goto BRANCH.CONT
pause 0.5
goto PRACTICE.LOOP4
SHARD.WALLS:
var location Shard Walls
counter add 1
echo
echo *** STARTING CLIMBING SESSION %c ***
echo
if ($Athletics.LearningRate >= 29) then goto DONE
if $zoneid = 68 then gosub automove shard
if $zoneid = 69 then gosub automove north
if $zoneid = 66 then gosub automove portal
if $zoneid = 67 then gosub automove east
if $zoneid = 66 then gosub automove portal
if tounder("%zills" = "yes") then send play $song
pause 0.3
put app wall quick
pause 0.5
pause
put climb wall
pause 2
pause 0.5
put climb embra
pause 0.5
if !matchre("$roonname" "East Battlements") then goto SHARD.WALLS.2
pause 0.2
put south
pause 0.5
put climb ladder
pause 0.5
SHARD.WALLS.2:
if $zoneid = 67 then gosub automove east
if $zoneid = 66 then gosub automove 70
if tounder("%zills" = "yes") then send play $song
pause 0.3
put app wall quick
pause 0.5
pause
put climb wall
pause 2
pause 0.5
put climb embra
pause 0.5
if !matchre("$roonname" "North Battlements") then goto SHARD.WALLS.3
pause 0.2
put south
pause 0.5
put climb ladder
pause 0.5
SHARD.WALLS.3:
if $zoneid = 67 then gosub automove east
if $zoneid = 66 then gosub automove west
if $zoneid = 69 then gosub automove west
if tounder("%zills" = "yes") then send play $song
pause 0.2
put app wall quick
pause 0.5
pause
put climb wall
pause 2
pause 0.5
put climb embra
pause 0.5
if !matchre("$roonname" "West Battlements") then goto SHARD.WALLS.4
pause 0.2
put south
pause 0.5
put climb ladder
pause 0.5
SHARD.WALLS.4:
if $zoneid = 69 then gosub automove north
if $zoneid = 66 then gosub automove east
if $zoneid = 67 then gosub automove 42
if tounder("%zills" = "yes") then send stop play
pause 0.2
put climb practice wall
pause 50
put stop climb
pause 0.5
if ($Athletics.LearningRate >= 29) then goto DONE
goto SHARD.WALLS
###########################################################
WESTGATE.TRAINING:
var location Wyvern Peak
counter add 1
# if ("$guild" = "Thief" then
# {
# send khri silence
# pause 1
# pause
# }
if tounder("%zills" = "yes") then send play $song
pause 0.3
if $zoneid = 65 then gosub automove shard
if $zoneid = 67 then gosub automove east
if $zoneid = 66 then gosub automove west
if $zoneid = 69 then gosub automove 464
if $zoneid = 69 then gosub automove 468
if $zoneid = 69 then gosub automove 513
if $zoneid = 69 then gosub automove 509
if $zoneid = 69 then gosub automove 508
if $zoneid = 69 then gosub automove 536
WEST.FORAGE:
if ("$lefthand" != "Empty") then
{
put stow left
pause 0.5
}
if tounder("%zills" = "yes") then send stop play
pause 0.3
if matchre("$roomobjs","(pile of coins|pile of coin|pile of rocks|pile of grass)") then gosub KICK.PILE
if matchre("$roomobjs","(pile of coins|pile of coin|pile of rocks|pile of grass)") then gosub KICK.PILE
send collect rock
pause 3
pause
if matchre("$roomobjs","(pile of coins|pile of coin|pile of rocks|pile of grass)") then gosub KICK.PILE
if matchre("$roomobjs","(pile of coins|pile of coin|pile of rocks|pile of grass)") then gosub KICK.PILE
send collect rock
pause 3
pause
if matchre("$roomobjs","(pile of coins|pile of coin|pile of rocks|pile of grass)") then gosub KICK.PILE
if $Athletics.LearningRate >= 29 then goto DONE
if %c > %maxLoops then goto DONE
goto WESTGATE.TRAINING
KICK.PILE1:
pause
KICK.PILE:
pause 0.1
if !matchre("$roomobjs","(pile of coins|pile of coin|pile of rocks|pile of grass)") then RETURN
matchre RETURN ^I could not|^What were you
matchre KICK.PILE foot smashing down
matchre STAND ^You can't do that from your position
match KICK.PILE1 footing at the last moment
put kick pile
matchwait 20
goto FORAGE.EXP
##################################################
AUTOMOVE:
pause 0.001
pause 0.001
pause 0.001
var Destination $0
if ("%guild" = "Necromancer") then gosub EOTB
if !$standing then gosub STAND
if $roomid = %Destination then RETURN
AUTOMOVE_GO:
matchre AUTOMOVE_RETURN ^SHOP CLOSED\!|SHOP CLOSED
matchre AUTOMOVE_FAILED ^AUTOMAPPER MOVEMENT FAILED|^MOVE FAILED
matchre AUTOMOVE_RETURN ^YOU HAVE ARRIVED
send #goto %Destination
matchwait
AUTOMOVE_STAND:
send STAND
pause 0.5
if $standing then RETURN
goto AUTOMOVE_STAND
AUTOMOVE_FAILED:
pause 0.5
pause 0.5
pause 0.5
goto AUTOMOVE_GO
AUTOMOVE_RETURN:
if matchre("%Destination", "teller|exchange|debt|PAWN") then if $invisible = 1 then gosub stopinvis
pause 0.2
pause 0.1
pause 0.1
RETURN
PAUSE:
if ($roundtime > 0) then pause $roundtime
pause 0.5
pause 0.1
RETURN
STAND:
pause 0.2
matchre STAND ^Roundtime\:?|^\[Roundtime\:?|^\(Roundtime\:?
matchre STAND ^\.\.\.wait|^Sorry\,
matchre STAND ^You are so unbalanced you cannot manage to stand\.
matchre STAND ^The weight of all your possessions prevents you from standing\.
matchre STAND ^You are overburdened and cannot manage to stand\.
matchre STAND ^You are still stunned
matchre STAND ^You try
matchre STUNNED ^You are still stunned
matchre WEBBED ^You can't do that while entangled in a web
matchre IMMOBILE ^You don't seem to be able to move to do that
matchre RETURN ^You are already standing\.
matchre RETURN ^You stand back up\.
matchre RETURN ^You stand up\.
matchre RETURN ^There doesn't seem to be anything to stand on here
matchre RETURN ^You swim back up
matchre RETURN ^You are already standing\.
matchre RETURN ^You're unconscious
send STAND
matchwait
WAIT:
delay 0.0001
pause 0.1
if (!$standing) then gosub STAND
goto %LOCATION
WEBBED:
delay 0.0001
if ($webbed) then waiteval (!$webbed)
if (!$standing) then gosub STAND
goto %LOCATION
IMMOBILE:
delay 0.0001
if contains("$prompt" , "I") then pause 20
if (!$standing) then gosub STAND
goto %LOCATION
STUNNED:
delay 0.0001
if ($stunned) then waiteval (!$stunned)
if (!$standing) then gosub STAND
goto %LOCATION
#### RETURNS
RETURN_CLEAR:
delay 0.0001
put #queue clear
pause 0.0001
return
RETURN:
delay 0.0001
return
DONE:
put #echo >Log Lime *** %c Climbing loops of %location to $Athletics.LearningRate / 34 ***
if matchre("$righthand $lefthand", "%weapon1") then put stow %weapon1
pause 0.5
pause 0.4
if matchre("$righthand $lefthand", "%weapon2") then put stow %weapon2
pause 0.5
pause 0.5
if $zoneid = 65 then gosub automove shard
if $zoneid = 66 then gosub automove east
if $zoneid = 69 then gosub automove shard
pause 0.1
put exp
pause 0.5
put #parse CLIMBING DONE
put #parse DONE CLIMBING
put #parse CLIMBING LOCKED
exit