Created: 08/29/2024, 05:28:34 AM Updated: 10/25/2024, 12:10:18 AM View Change History
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@setvar! maxFollowers 2
33
34
35
36
37
38@setvar! autoRecall 0
39
40
41
42
43
44
45
46@setvar! recallType 0
47
48
49
50
51
52@setvar! recallBookHue 0
53
54
55
56
57
58@setvar! minRegs 5
59
60
61
62
63
64@setvar! autoSplitRegs 1
65
66
67
68
69@setvar! autoSelectBag 1
70
71
72
73@setvar! drinkStr 1
74@setvar! drinkAgility 0
75@setvar! drinkMagicResist 1
76@setvar! drinkHeal 1
77@setvar! drinkCure 1
78@setvar! drinkRefresh 1
79
80@setvar! strengthLowerThan 100
81@setvar! staminaLowerThan 10
82
83
84
85@setvar! miniHeal 1
86@setvar! greaterHeal 1
87@setvar! cureSpell 1
88
89
90
91@setvar! magicReflect 1
92@setvar! bless 0
93@setvar! armorReflect 1
94@setvar! protectionSpell 1
95@setvar! miniumManaToBuff 50
96
97@setvar! useMeditationSkill 0
98@setvar! meditateWhenManaBelow 40
99@setvar! meditateUntilManaReach 70
100
101
102
103
104
105@setvar! mineTimerCD 575
106
107
108
109
110
111@setvar! isRecalling 0
112@setvar! isOverweight 0
113@setvar! myHarvestingTool 3718
114@setvar! maxwaittimeinms 650
115@setvar! foundBook 0
116@setvar! myPack 0
117@setvar! smeltingOre 0
118
119
120
121@setvar! lowDiff 20
122@setvar! medDiff 30
123@setvar! highDiff 50
124@setvar! extremeDiff 60
125@setvar! criticalDiff 75
126
127
128
129@setvar! myWeightDiff 41
130
131
132
133@setvar! enemyFound 0
134
135
136
137@setvar! storeTimerCD 45000
138settimer storeTimer storeTimerCD
139
140
141
142@setvar! magicReflectCD 15000
143settimer magicReflectTimer 15000
144
145@setvar! armorReflectCD 15000
146settimer armorReflectTimer 15000
147
148@setvar! protectionCD 15000
149settimer protectionTimer 15000
150
151
152
153@setvar! healingMessageCD 4500
154settimer healingMessageTimer 0
155
156@setvar! guardMessageCD 5500
157settimer guardMessageTimer guardMessageCD
158
159@setvar! summonCD 2500
160settimer summonTimer summonCD
161
162@setvar! beingAttackedCD 5000
163settimer beingAttackedTimer 5000
164
165@setvar! overweightCD 2000
166settimer overweightTimer overweightCD
167
168
169
170@setvar! pouchMessageCD 5000
171settimer pouchMessageTimer pouchMessageCD
172
173@setvar! aidsMessageCD 4000
174settimer aidsMessageTimer aidsMessageCD
175
176@setvar! whiteMessageCD 3000
177settimer whiteMessageTimer whiteMessageCD
178
179@setvar! blackMessageCD 2500
180settimer blackMessageTimer blackMessageCD
181
182@setvar! orangeMessageCD 2000
183settimer orangeMessageTimer orangeMessageCD
184
185@setvar! yellowMessageCD 1500
186settimer yellowMessageTimer yellowMessageCD
187
188@setvar! redMessageCD 1000
189settimer redMessageTimer redMessageCD
190
191@setvar! healingPotCD 11000
192
193
194
195if not findbuff "food" and findtype "tray" backpack as fody
196 dclick fody
197 wait 200
198endif
199
200if not findbuff "tracking"
201
202 while not gumpexists 4267467659
203 skill "tracking"
204 wait maxwaittimeinms
205 endwhile
206
207 while not insysmsg "You will now hunt all hostile players"
208 gumpresponse 8
209 wait 500
210 waitforgump 4267467659 maxwaittimeinms
211 endwhile
212
213 if ingump "Begin Hunting" 4267467659
214 gumpresponse 6
215 wait maxwaittimeinms
216 waitforgump 4267467659 maxwaittimeinms
217 wait maxwaittimeinms
218 gumpclose 4267467659
219 wait 100
220 endif
221
222 sysmsg "* tracking ON *" 66
223endif
224
225
226
227if autoSplitRegs = 1
228
229 clearignore
230
231 @setvar! amount 0
232 @setvar! myBag 0
233 @setvar! maxwaittimeinms 650
234
235 if autoSelectBag = 1
236 if findtype 30765 self as b
237 @setvar! myBag b
238 elseif findtype 3705 self as b
239 @setvar! myBag b
240 elseif findtype 3701 self as b
241 @setvar! myBag b
242 elseif findtype 3702 self as b
243 @setvar! myBag b
244 else
245 @setvar! myBag backpack
246 endif
247 else
248 clearsysmsg
249 overhead "Select bag:" 68
250 @setvar! myBag
251 getlabel backpack xxx
252 wait 200
253 while not targetexists and not insysmsg "Select"
254 @setvar! myBag
255 endwhile
256
257 if find myBag self
258 getlabel myBag bagLabel
259
260 if "wizard" in bagLabel or "pouch" in bagLabel or "bag" in bagLabel or "backpack" in bagLabel
261 sysmsg "new bag set" 55
262 else
263 @setvar! myBag 0
264 overhead "That is not a bag" 34
265 sysmsg "That is not a bag" 34
266 stop
267 endif
268 else
269 overhead "No bag found!" 34
270 stop
271 endif
272 endif
273
274 overhead "Splitter Begin.." 55
275
276
277
278 @setvar! regsID 3981
279 @setvar! myCounter 0
280
281 while findtype regsID self as r
282 @setvar! myCounter index
283 @ignore r
284 endwhile
285 @clearignore
286
287 if counttype regsID self <= 10
288 @setvar! amount 2
289 elseif counttype regsID self <= 20
290 @setvar! amount 4
291 elseif counttype regsID self <= 50
292 @setvar! amount 10
293 elseif counttype regsID self <= 100
294 @setvar! amount 20
295 elseif counttype regsID self <= 150
296 @setvar! amount 30
297 elseif counttype regsID self <= 200
298 @setvar! amount 40
299 else
300 @setvar! amount 50
301 endif
302
303 while findtype regsID self as regs
304 @setvar! moveRegs 0
305
306 if myCounter = 0
307 @setvar! moveRegs 1
308 elseif myCounter != 0 and not find regs myBag
309 @setvar! moveRegs 1
310 endif
311
312 if moveRegs = 1
313 overhead "splitting silks.." 0
314 if index = 0
315 lift regs amount
316 drop myBag 44 65 0
317 elseif index = 1
318 lift regs amount
319 drop myBag 68 65 0
320 elseif index = 2
321 lift regs amount
322 drop myBag 96 65 0
323 elseif index = 3
324 lift regs amount
325 drop myBag 121 65 0
326 else
327 lift regs amount
328 drop myBag 142 65 0
329 endif
330 endif
331
332 @ignore regs
333
334 if moveRegs = 1
335 wait maxwaittimeinms
336 endif
337
338 endwhile
339
340
341
342 @setvar! regsID 3962
343 @setvar! myCounter 0
344
345 while findtype regsID self as r
346 @setvar! myCounter index
347 @ignore r
348 endwhile
349 @clearignore
350
351 if counttype regsID self <= 10
352 @setvar! amount 2
353 elseif counttype regsID self <= 20
354 @setvar! amount 4
355 elseif counttype regsID self <= 50
356 @setvar! amount 10
357 elseif counttype regsID self <= 100
358 @setvar! amount 20
359 elseif counttype regsID self <= 150
360 @setvar! amount 30
361 elseif counttype regsID self <= 200
362 @setvar! amount 40
363 else
364 @setvar! amount 50
365 endif
366
367 while findtype regsID self as regs
368 @setvar! moveRegs 0
369
370 if myCounter = 0
371 @setvar! moveRegs 1
372 elseif myCounter != 0 and not find regs myBag
373 @setvar! moveRegs 1
374 endif
375
376 if moveRegs = 1
377 overhead "splitting pearls.." 11
378 if index = 0
379 lift regs amount
380 drop myBag 44 65 0
381 elseif index = 1
382 lift regs amount
383 drop myBag 68 65 0
384 elseif index = 2
385 lift regs amount
386 drop myBag 96 65 0
387 elseif index = 3
388 lift regs amount
389 drop myBag 121 65 0
390 else
391 lift regs amount
392 drop myBag 142 65 0
393 endif
394 endif
395
396 @ignore regs
397
398 if moveRegs = 1
399 wait maxwaittimeinms
400 endif
401
402 endwhile
403
404
405
406
407 @setvar! regsID 3976
408 @setvar! myCounter 0
409
410 while findtype regsID self as r
411 @setvar! myCounter index
412 @ignore r
413 endwhile
414 @clearignore
415
416 if counttype regsID self <= 10
417 @setvar! amount 2
418 elseif counttype regsID self <= 20
419 @setvar! amount 4
420 elseif counttype regsID self <= 50
421 @setvar! amount 10
422 elseif counttype regsID self <= 100
423 @setvar! amount 20
424 elseif counttype regsID self <= 150
425 @setvar! amount 30
426 elseif counttype regsID self <= 200
427 @setvar! amount 40
428 else
429 @setvar! amount 50
430 endif
431
432 while findtype regsID self as regs
433 @setvar! moveRegs 0
434
435 if myCounter = 0
436 @setvar! moveRegs 1
437 elseif myCounter != 0 and not find regs myBag
438 @setvar! moveRegs 1
439 endif
440
441 if moveRegs = 1
442 overhead "splitting shades.." 66
443 if index = 0
444 lift regs amount
445 drop myBag 44 88 0
446 elseif index = 1
447 lift regs amount
448 drop myBag 68 88 0
449 elseif index = 2
450 lift regs amount
451 drop myBag 96 88 0
452 elseif index = 3
453 lift regs amount
454 drop myBag 121 88 0
455 else
456 lift regs amount
457 drop myBag 142 88 0
458 endif
459 endif
460
461 @ignore regs
462
463 if moveRegs = 1
464 wait maxwaittimeinms
465 endif
466
467 endwhile
468
469
470
471 @setvar! regsID 3974
472 @setvar! myCounter 0
473
474 while findtype regsID self as r
475 @setvar! myCounter index
476 @ignore r
477 endwhile
478 @clearignore
479
480 if counttype regsID self <= 10
481 @setvar! amount 2
482 elseif counttype regsID self <= 20
483 @setvar! amount 4
484 elseif counttype regsID self <= 50
485 @setvar! amount 10
486 elseif counttype regsID self <= 100
487 @setvar! amount 20
488 elseif counttype regsID self <= 150
489 @setvar! amount 30
490 elseif counttype regsID self <= 200
491 @setvar! amount 40
492 else
493 @setvar! amount 50
494 endif
495
496 while findtype regsID self as regs
497 @setvar! moveRegs 0
498
499 if myCounter = 0
500 @setvar! moveRegs 1
501 elseif myCounter != 0 and not find regs myBag
502 @setvar! moveRegs 1
503 endif
504
505 if moveRegs = 1
506 overhead "splitting roots.." 439
507 if index = 0
508 lift regs amount
509 drop myBag 44 88 0
510 elseif index = 1
511 lift regs amount
512 drop myBag 68 88 0
513 elseif index = 2
514 lift regs amount
515 drop myBag 96 88 0
516 elseif index = 3
517 lift regs amount
518 drop myBag 121 88 0
519 else
520 lift regs amount
521 drop myBag 142 88 0
522 endif
523 endif
524
525 @ignore regs
526
527 if moveRegs = 1
528 wait maxwaittimeinms
529 endif
530
531 endwhile
532
533
534
535 @setvar! regsID 3980
536 @setvar! myCounter 0
537
538 while findtype regsID self as r
539 @setvar! myCounter index
540 @ignore r
541 endwhile
542 @clearignore
543
544 if counttype regsID self <= 10
545 @setvar! amount 2
546 elseif counttype regsID self <= 20
547 @setvar! amount 4
548 elseif counttype regsID self <= 50
549 @setvar! amount 10
550 elseif counttype regsID self <= 100
551 @setvar! amount 20
552 elseif counttype regsID self <= 150
553 @setvar! amount 30
554 elseif counttype regsID self <= 200
555 @setvar! amount 40
556 else
557 @setvar! amount 50
558 endif
559
560 while findtype regsID self as regs
561 @setvar! moveRegs 0
562
563 if myCounter = 0
564 @setvar! moveRegs 1
565 elseif myCounter != 0 and not find regs myBag
566 @setvar! moveRegs 1
567 endif
568
569 if moveRegs = 1
570 overhead "splitting ashes.." 56
571 if index = 0
572 lift regs amount
573 drop myBag 44 112 0
574 elseif index = 1
575 lift regs amount
576 drop myBag 68 112 0
577 elseif index = 2
578 lift regs amount
579 drop myBag 96 112 0
580 elseif index = 3
581 lift regs amount
582 drop myBag 121 112 0
583 else
584 lift regs amount
585 drop myBag 142 112 0
586 endif
587 endif
588
589 @ignore regs
590
591 if moveRegs = 1
592 wait maxwaittimeinms
593 endif
594
595 endwhile
596
597
598
599 @setvar! regsID 3973
600 @setvar! myCounter 0
601
602 while findtype regsID self as r
603 @setvar! myCounter index
604 @ignore r
605 endwhile
606 @clearignore
607
608 if counttype regsID self <= 10
609 @setvar! amount 2
610 elseif counttype regsID self <= 20
611 @setvar! amount 4
612 elseif counttype regsID self <= 50
613 @setvar! amount 10
614 elseif counttype regsID self <= 100
615 @setvar! amount 20
616 elseif counttype regsID self <= 150
617 @setvar! amount 30
618 elseif counttype regsID self <= 200
619 @setvar! amount 40
620 else
621 @setvar! amount 50
622 endif
623
624 while findtype regsID self as regs
625 @setvar! moveRegs 0
626
627 if myCounter = 0
628 @setvar! moveRegs 1
629 elseif myCounter != 0 and not find regs myBag
630 @setvar! moveRegs 1
631 endif
632
633 if moveRegs = 1
634 overhead "splitting gings.." 149
635 if index = 0
636 lift regs amount
637 drop myBag 44 112 0
638 elseif index = 1
639 lift regs amount
640 drop myBag 68 112 0
641 elseif index = 2
642 lift regs amount
643 drop myBag 96 112 0
644 elseif index = 3
645 lift regs amount
646 drop myBag 121 112 0
647 else
648 lift regs amount
649 drop myBag 142 112 0
650 endif
651 endif
652
653 @ignore regs
654
655 if moveRegs = 1
656 wait maxwaittimeinms
657 endif
658
659 endwhile
660
661
662
663 @setvar! regsID 3963
664 @setvar! myCounter 0
665
666 while findtype regsID self as r
667 @setvar! myCounter index
668 @ignore r
669 endwhile
670 @clearignore
671
672 if counttype regsID self <= 10
673 @setvar! amount 2
674 elseif counttype regsID self <= 20
675 @setvar! amount 4
676 elseif counttype regsID self <= 50
677 @setvar! amount 10
678 elseif counttype regsID self <= 100
679 @setvar! amount 20
680 elseif counttype regsID self <= 150
681 @setvar! amount 30
682 elseif counttype regsID self <= 200
683 @setvar! amount 40
684 else
685 @setvar! amount 50
686 endif
687
688 while findtype regsID self as regs
689 @setvar! moveRegs 0
690
691 if myCounter = 0
692 @setvar! moveRegs 1
693 elseif myCounter != 0 and not find regs myBag
694 @setvar! moveRegs 1
695 endif
696
697 if moveRegs = 1
698 overhead "splitting bloods.." 35
699 if index = 0
700 lift regs amount
701 drop myBag 44 130 0
702 elseif index = 1
703 lift regs amount
704 drop myBag 68 130 0
705 elseif index = 2
706 lift regs amount
707 drop myBag 96 130 0
708 elseif index = 3
709 lift regs amount
710 drop myBag 121 130 0
711 else
712 lift regs amount
713 drop myBag 142 130 0
714 endif
715 endif
716
717 @ignore regs
718
719 if moveRegs = 1
720 wait maxwaittimeinms
721 endif
722
723 endwhile
724
725
726
727 @setvar! regsID 3972
728 @setvar! myCounter 0
729
730 while findtype regsID self as r
731 @setvar! myCounter index
732 @ignore r
733 endwhile
734 @clearignore
735
736 if counttype regsID self <= 10
737 @setvar! amount 2
738 elseif counttype regsID self <= 20
739 @setvar! amount 4
740 elseif counttype regsID self <= 50
741 @setvar! amount 10
742 elseif counttype regsID self <= 100
743 @setvar! amount 20
744 elseif counttype regsID self <= 150
745 @setvar! amount 30
746 elseif counttype regsID self <= 200
747 @setvar! amount 40
748 else
749 @setvar! amount 50
750 endif
751
752 while findtype regsID self as regs
753 @setvar! moveRegs 0
754
755 if myCounter = 0
756 @setvar! moveRegs 1
757 elseif myCounter != 0 and not find regs myBag
758 @setvar! moveRegs 1
759 endif
760
761 if moveRegs = 1
762 overhead "splitting garlics.." 910
763 if index = 0
764 lift regs amount
765 drop myBag 44 130 0
766 elseif index = 1
767 lift regs amount
768 drop myBag 68 130 0
769 elseif index = 2
770 lift regs amount
771 drop myBag 96 130 0
772 elseif index = 3
773 lift regs amount
774 drop myBag 121 130 0
775 else
776 lift regs amount
777 drop myBag 142 130 0
778 endif
779 endif
780 @ignore regs
781
782 if moveRegs = 1
783 wait maxwaittimeinms
784 endif
785
786 endwhile
787
788
789
790 @setvar! regsID 8012
791 @setvar! myCounter 0
792
793 while findtype regsID self as r
794 @setvar! myCounter index
795 @ignore r
796 endwhile
797 @clearignore
798
799 if counttype regsID self <= 5
800 @setvar! amount 1
801 elseif counttype regsID self <= 10
802 @setvar! amount 2
803 elseif counttype regsID self <= 20
804 @setvar! amount 4
805 elseif counttype regsID self <= 40
806 @setvar! amount 8
807 else
808 @setvar! amount 15
809 endif
810
811 while findtype regsID self as regs
812 @setvar! moveRegs 0
813
814 if myCounter = 0
815 @setvar! moveRegs 1
816 elseif myCounter != 0 and not find regs myBag
817 @setvar! moveRegs 1
818 endif
819 if moveRegs = 1
820 overhead "splitting scrolls.." 0
821 if index = 0
822 lift regs amount
823 drop myBag 44 88 0
824 elseif index = 1
825 lift regs amount
826 drop myBag 68 88 0
827 elseif index = 2
828 lift regs amount
829 drop myBag 96 88 0
830 elseif index = 3
831 lift regs amount
832 drop myBag 121 88 0
833 else
834 lift regs amount
835 drop myBag 142 88 0
836 endif
837 endif
838
839 @ignore regs
840
841 if moveRegs = 1
842 wait maxwaittimeinms
843 endif
844 endwhile
845
846 overhead "Splitter completed" 44
847
848endif
849
850sysmsg "* auto-mining activated *" 66
851overhead "* auto-mining activated *" 66
852
853clearsysmsg
854clearhands both
855
856
857while not dead
858 settimer cycleTimer 0
859
860 if targetexists
861 hotkey 'cancel current target'
862 endif
863
864 if enemyFound = 0
865 if insysmsg! "Now tracking" or insysmsg! "Distance to"
866 @setvar! enemyFound 1
867 endif
868 endif
869
870
871
872 if cooldown "Danger" > 0
873 if timer beingAttackedTimer > beingAttackedCD
874 sysmsg "* being attacked *" 34
875 settimer beingAttackedTimer 0
876 endif
877 @setvar! autoRecall 1
878 @setvar! enemyFound 1
879 endif
880
881 if minRegs != 0
882 if counttype 3963 self <= minRegs or counttype 3973 self <= minRegs or counttype 3972 self <= minRegs or counttype 3980 self <= minRegs or counttype 3962 self <= minRegs or counttype 3981 self <= minRegs or counttype 3974 self <= minRegs or counttype 3976 self <= minRegs
883 overhead "* low reagents *" 34
884 sysmsg " *low reagents recalling out *" 34
885
886 @setvar! autoRecall 1
887 @setvar! enemyFound 1
888 endif
889 endif
890
891 if insysmsg ": 0 s" or insysmsg ": 1 s" or insysmsg ": 2 s" or insysmsg ": 3 s" or insysmsg ": 4 s" or insysmsg ": 5 s" or insysmsg ": 6 s" or insysmsg ": 7 s" or insysmsg ": 8 s" or insysmsg ": 9 s"
892 sysmsg "* recalling enemy very close [d 0-9] *" 33
893 @setvar! autoRecall 1
894 @setvar! enemyFound 1
895 elseif insysmsg ": 10 s" or insysmsg ": 11 s" or insysmsg ": 12 s" or insysmsg ": 13 s" or insysmsg ": 14 s" or insysmsg ": 15 s" or insysmsg ": 16 s" or insysmsg ": 17 s"
896 sysmsg "* recalling enemy very close [d 10-17] *" 33
897 @setvar! autoRecall 1
898 @setvar! enemyFound 1
899 elseif insysmsg ": 18 s" or insysmsg ": 19 s" or insysmsg ": 20 s" or insysmsg ": 21 s" or insysmsg ": 22 s" or insysmsg ": 23 s" or insysmsg ": 24 s" or insysmsg ": 25 s"
900 sysmsg "* recalling enemy very close [d 18-25] *" 33
901 @setvar! autoRecall 1
902 @setvar! enemyFound 1
903 elseif insysmsg ": 26 s" or insysmsg ": 27 s" or insysmsg ": 28 s" or insysmsg ": 29 s" or insysmsg ": 30 s" or insysmsg ": 31 s" or insysmsg ": 32 s" or insysmsg ": 33 s"
904 sysmsg "* recalling enemy very close [d 26-33] *" 33
905 @setvar! autoRecall 1
906 @setvar! enemyFound 1
907 elseif insysmsg ": 34 s" or insysmsg ": 35 s" or insysmsg ": 36 s" or insysmsg ": 37 s" or insysmsg ": 38 s" or insysmsg ": 39 s" or insysmsg ": 40 s"
908 sysmsg "* recalling enemy very close [d 34-40] *" 33
909 @setvar! autoRecall 1
910 @setvar! enemyFound 1
911 elseif insysmsg "(0 s" or insysmsg "(1 s" or insysmsg "(2 s" or insysmsg "(3 s" or insysmsg "(4 s" or insysmsg "(5 s" or insysmsg "(6 s" or insysmsg "(7 s" or insysmsg "(8 s" or insysmsg "(9 s"
912 sysmsg "* recalling enemy very close [n 0-9] *" 33
913 @setvar! autoRecall 1
914 @setvar! enemyFound 1
915 elseif insysmsg "(10 s" or insysmsg "(11 s" or insysmsg "(12 s" or insysmsg "(13 s" or insysmsg "(14 s" or insysmsg "(15 s" or insysmsg "(16 s" or insysmsg "(17 s"
916 sysmsg "* recalling enemy very close [n 10-17] *" 33
917 @setvar! autoRecall 1
918 @setvar! enemyFound 1
919 elseif insysmsg "(18 s" or insysmsg "(19 s" or insysmsg "(20 s" or insysmsg "(21 s" or insysmsg "(22 s" or insysmsg "(23 s" or insysmsg "(24 s" or insysmsg "(25 s"
920 sysmsg "* recalling enemy very close [n 18-25] *" 33
921 @setvar! autoRecall 1
922 @setvar! enemyFound 1
923 elseif insysmsg "(26 s" or insysmsg "(27 s" or insysmsg "(28 s" or insysmsg "(29 s" or insysmsg "(30 s" or insysmsg "(31 s" or insysmsg "(32 s" or insysmsg "(33 s"
924 sysmsg "* recalling enemy very close [n 26-33] *" 33
925 @setvar! autoRecall 1
926 @setvar! enemyFound 1
927 elseif insysmsg "(34 s" or insysmsg "(35 s" or insysmsg "(36 s" or insysmsg "(37 s" or insysmsg "(38 s" or insysmsg "(39 s" or insysmsg "(40 s"
928 sysmsg "* recalling enemy very close [n 34-40] *" 33
929 @setvar! autoRecall 1
930 @setvar! enemyFound 1
931 endif
932
933
934
935 if enemyFound = 1 and autoRecall = 1
936 sysmsg "recalling..." 66
937 interrupt
938 clearignore
939 if targetexists
940 hotkey 'cancel current target'
941 endif
942 wait 200
943
944 if mana <= 10
945 overhead "* low mana to recall *" 44
946 else
947
948
949
950 if recallType = 0 or recallType = 1
951
952 while diffhits < medDiff and not targetexists
953
954 if recallType = 0
955 cast 'recall'
956 sysmsg "recalling using regs" 11
957 else
958 dclicktype "recall" self
959 sysmsg "recalling using scroll" 11
960 endif
961
962 while not casting
963 if recallType = 0
964 cast 'recall'
965 else
966 dclicktype "recall" self
967 endif
968 endwhile
969
970 while not targetexists and casting
971 if insysmsg "your concentration"
972 break;
973 endif
974 endwhile
975
976 waitfortarget maxwaittimeinms
977
978 endwhile
979
980 if targetexists and findtype "runebook|runetome" backpack as obj
981
982 while findtype "runebook|runetome" backpack as book
983 if hue book = recallBookHue or recallBookHue = 0
984 target book
985 break
986 endif
987 @ignore book
988 endwhile
989
990 @clearignore
991 getlabel backpack xxx
992 wait 200
993
994 if insysmsg "marked"
995 overhead "Runebook is not marked! Mark the book NOW!" 34
996 elseif targetexists
997 overhead "Recall Book not found. Switching hue type to 0" 34
998 @setvar! recallBookHue 0
999 else
1000 overhead "Finished!" 65
1001 stop
1002 endif
1003
1004 elseif targetexists and findtype "recall rune" backpack as obj
1005 @setvar! tempRune 0
1006
1007 while findtype "recall rune" backpack as obj
1008 getlabel obj runeLabel
1009 if "blank" in runeLabel
1010 else
1011 if "home" in runeLabel
1012 target obj
1013 @setvar! tempRune obj
1014 break
1015 endif
1016 @setvar! tempRune obj
1017 endif
1018 @ignore obj
1019 endwhile
1020
1021 @clearignore
1022 getlabel backpack xxx
1023 wait 200
1024
1025 if targetexists and tempRune != 0
1026 target tempRune
1027 overhead "Finished!"
1028 elseif tempRune = 0
1029 overhead "No recalleable rune found" 34
1030 hotkey "cancel current target"
1031 elseif insysmsg "blocked"
1032 overhead "Location blocked" 34
1033 else
1034 overhead "Finished!"
1035 endif
1036 stop
1037
1038 elseif targetexists
1039 overhead "No recall book or rune found" 34
1040 endif
1041
1042 elseif recallType = 2 or recallType = 3
1043
1044
1045
1046 if findtype "runebook|runetome" backpack
1047
1048 if diffhits < medDiff
1049 @setvar! foundBook 0
1050
1051 while findtype "runebook" backpack as book
1052 if hue book = recallBookHue or recallBookHue = 0
1053 dclick book backpack
1054 waitforgump 1551740969 maxwaittimeinms
1055
1056 if recallType = 2
1057 gumpresponse 2
1058 elseif recallType = 3
1059 gumpresponse 92
1060 endif
1061
1062 @setvar! foundBook book
1063 break
1064 else
1065 @ignore book
1066 endif
1067 endwhile
1068
1069 while foundBook = 0 and findtype "runetome" backpack as book
1070 if hue book = recallBookHue or recallBookHue = 0
1071 dclick book backpack
1072 waitforgump 167090027 maxwaittimeinms
1073
1074 if recallType = 2
1075 gumpresponse 100
1076 elseif recallType = 3
1077 gumpresponse 125
1078 endif
1079
1080 @setvar! foundBook book
1081 break
1082 else
1083 @ignore book
1084 endif
1085 endwhile
1086
1087 getlabel backpack xxx
1088 wait 200
1089
1090 if foundBook = 0
1091 overhead "Recall book not found!" 34
1092 elseif insysmsg "charges"
1093 overhead "Recall book out of charges!" 34
1094 elseif insysmsg "This book"
1095 overhead "Recall book cooldown!" 34
1096 elseif casting
1097 while casting
1098 endwhile
1099
1100 getlabel backpack xxx
1101 wait 200
1102
1103 if insysmsg "concentration"
1104 overhead "Interrupted!" 34
1105 elseif insysmsg "location"
1106 overhead "Location blocked!"
1107 else
1108 overhead "Successful" 65
1109 sysmsg "Mining Completed!" 65
1110 stop
1111 endif
1112 else
1113 if insysmsg "concentration"
1114 overhead "Interrupted!" 34
1115 else
1116 if recallType = 2
1117 overhead "First rune not found" 34
1118 else
1119 overhead "Last rune not found" 34
1120 overhead "Changing to first rune.." 34
1121 @setvar! recallType 2
1122 endif
1123 endif
1124 endif
1125 endif
1126 else
1127 overhead "No runebook or runetome found to use charge!" 34
1128 endif
1129 else
1130 overhead "Variable 'recallType' value out of range" 34
1131 endif
1132 endif
1133 endif
1134
1135
1136
1137 while diffhits >= lowDiff or paralyzed or poisoned
1138 sysmsg "auto-healing activated" 11
1139
1140
1141 if paralyzed
1142 if findtype "pouch" backpack 38
1143 yell "[pouch"
1144 wait 200
1145 else
1146 if timer pouchMessageTimer > pouchMessageCD
1147 overhead "Out of Pouches!" 34
1148 settimer pouchMessageTimer 0
1149 endif
1150 endif
1151 endif
1152
1153
1154
1155 if diffhits >= 1 and not bandaging
1156 if skill 'healing' >= 50 or skill "veterinary" >= 50
1157 if findtype 'clean bandage%s%' backpack
1158
1159 if targetexists
1160 hotkey 'cancel current target'
1161 endif
1162 dclicktype 'clean bandage%s%'
1163 waitfortarget maxwaittimeinms
1164 target 'self'
1165 wait 200
1166 else
1167 if timer aidsMessageTimer > aidsMessageCD
1168 overhead "Out of bandages" 34
1169 settimer aidsMessageTimer 0
1170 endif
1171 endif
1172 endif
1173 endif
1174
1175
1176
1177 if drinkStr = 1 and str < strengthLowerThan
1178 if not findbuff "Strength"
1179 if findtype "White Potion" self
1180 dclicktype "White Potion"
1181 wait 200
1182 else
1183 if timer whiteMessageTimer > whiteMessageCD
1184 overhead "Out of str pots" 34
1185 settimer whiteMessageTimer 0
1186 endif
1187 endif
1188 endif
1189 endif
1190
1191
1192
1193 if drinkAgility = 1
1194 if not findbuff "Agility"
1195 if findtype "Blue Potion" self
1196 dclicktype "Blue Potion"
1197 wait 200
1198 else
1199 if timer blueMessageTimer > blueMessageCD
1200 overhead "Out of agility pots" 34
1201 settimer blueMessageTimer 0
1202 endif
1203 endif
1204 endif
1205 endif
1206
1207
1208
1209 if drinkMagicResist = 1
1210 if not findbuff "Magic Resist"
1211 if findtype "Black Potion" self
1212 dclicktype "Black Potion"
1213 wait 200
1214 else
1215 if timer blackMessageTimer > blackMessageCD
1216 overhead "Out of resist pots" 34
1217 settimer blackMessageTimer 0
1218 endif
1219 endif
1220 endif
1221 endif
1222
1223
1224
1225 if 1 = drinkCure or 1 = cureSpell
1226 while poisoned
1227 if findtype "Orange Potion" self
1228 dclicktype "Orange Potion"
1229 wait 200
1230 else
1231 if timer orangeMessageTimer > orangeMessageCD
1232 overhead "Out of cure pots" 34
1233 settimer orangeMessageTimer 0
1234 endif
1235
1236 if diffhits > highDiff or not findtype 3972 self or not findtype 3973 self
1237 break
1238 endif
1239
1240 if skill 'magery' >= 40 and mana >= 6 and 1 = cureSpell and not casting
1241 cast 'cure'
1242 wait 50
1243 while not casting
1244 if targetexists
1245 hotkey 'cancel current target'
1246 endif
1247 cast 'cure'
1248 wait 50
1249 endwhile
1250 while not targetexists and casting
1251 endwhile
1252 waitfortarget maxwaittimeinms
1253 target 'self'
1254 wait 200
1255 else
1256 break
1257 endif
1258 endif
1259
1260 endwhile
1261 endif
1262
1263
1264
1265 if diffhits >= highDiff and 1 = drinkHeal
1266 if findtype "Yellow Potion" self as hPot
1267 getlabel hPot potLabel
1268 if "next" in potLabel
1269
1270 else
1271 @setvar! ch 0
1272
1273 if counttype 3852 self as c
1274 @setvar! ch c
1275 endif
1276 clearsysmsg
1277
1278 dclicktype 3852
1279 getlabel backpack xxx
1280 wait 200
1281
1282 if ch != counttype 3852 self or insysmsg "potion satchel used"
1283 cooldown "Heal Pot" healingPotCD
1284 endif
1285 endif
1286 else
1287 if timer yellowMessageTimer > yellowMessageCD
1288 overhead "Out of heals pots" 34
1289 settimer yellowMessageTimer 0
1290 endif
1291 endif
1292 endif
1293
1294
1295
1296 if stam < staminaLowerThan and 1 = drinkRefresh
1297 if findtype "Red Potion" self
1298 dclicktype "Red Potion"
1299 wait 200
1300 else
1301 if timer redMessageTimer > redMessageCD
1302 overhead "Out of refresh pots" 34
1303 settimer redMessageTimer 0
1304 endif
1305 endif
1306 endif
1307
1308
1309
1310 if skill 'magery' >= 40 and diffhits >= lowDiff and diffhits < medDiff and mana >= 4 and miniHeal = 1 and not casting
1311 cast 'heal'
1312 while not casting
1313 if targetexists
1314 hotkey 'cancel current target'
1315 endif
1316 cast 'heal'
1317 endwhile
1318
1319 while not targetexists and casting
1320 endwhile
1321
1322 waitfortarget maxwaittimeinms
1323 target 'self'
1324 wait 200
1325
1326 elseif skill 'magery' >= 60 and diffhits >= medDiff and diffhits <= highDiff mana >= 11 and greaterHeal = 1 and not casting
1327 cast 'greater heal'
1328 while not casting
1329 if targetexists
1330 hotkey 'cancel current target'
1331 endif
1332 cast 'greater heal'
1333 endwhile
1334
1335 while not targetexists and casting
1336
1337
1338
1339 if 1 = drinkCure
1340 while poisoned
1341 if findtype "Orange Potion" self
1342 dclicktype "Orange Potion"
1343 wait 200
1344 else
1345 if timer orangeMessageTimer > orangeMessageCD
1346 overhead "Out of cure pots" 34
1347 settimer orangeMessageTimer 0
1348 break
1349 endif
1350
1351 endif
1352 endwhile
1353 endif
1354
1355
1356
1357 if diffhits >= highDiff and 1 = drinkHeal
1358 if findtype "Yellow Potion" self as hPot
1359 getlabel hPot potLabel
1360 if "next" in potLabel
1361
1362 else
1363 @setvar! ch 0
1364
1365 if counttype 3852 self as c
1366 @setvar! ch c
1367 endif
1368 clearsysmsg
1369
1370 dclicktype 3852
1371 getlabel backpack xxx
1372 wait 200
1373
1374 if ch != counttype 3852 self or insysmsg "potion satchel used"
1375 cooldown "Heal Pot" healingPotCD
1376 endif
1377 endif
1378 else
1379 if timer yellowMessageTimer > yellowMessageCD
1380 overhead "Out of heals pots" 34
1381 settimer yellowMessageTimer 0
1382 endif
1383 endif
1384 endif
1385
1386 endwhile
1387
1388 waitfortarget maxwaittimeinms
1389 target 'self'
1390 wait 200
1391
1392 elseif skill 'magery' >= 40 and diffhits > highDiff and mana >= 4 and miniHeal = 1 and not casting
1393 cast 'heal'
1394 while not casting
1395 if targetexists
1396 hotkey 'cancel current target'
1397 endif
1398 cast 'heal'
1399 endwhile
1400
1401 while not targetexists and casting
1402 endwhile
1403
1404 waitfortarget maxwaittimeinms
1405 target 'self'
1406 wait 200
1407
1408 endif
1409
1410 endwhile
1411
1412
1413
1414 if enemyFound = 0 or autoRecall = 0
1415 if magicReflect = 1 and skill 'magery' >= 70 and not findbuff "Magic Reflection" and mana >= miniumManaToBuff and diffhits < lowDiff
1416 if timer magicReflectTimer > magicReflectCD
1417 cast 'Magic Reflection'
1418 while not casting and diffhits < lowDiff
1419 getlabel backpack xxx
1420 wait 200
1421 if insysmsg "that spell will not" or insysmsg "that spell is already"
1422 settimer magicReflectTimer 0
1423 break
1424 endif
1425 if targetexists
1426 hotkey 'cancel current target'
1427 endif
1428 cast 'Magic Reflection'
1429 endwhile
1430
1431 while casting and diffhits < highDiff
1432
1433
1434
1435 if 1 = drinkCure
1436 while poisoned
1437 if findtype "Orange Potion" self
1438 dclicktype "Orange Potion"
1439 wait 200
1440 else
1441 if timer orangeMessageTimer > orangeMessageCD
1442 overhead "Out of cure pots" 34
1443 settimer orangeMessageTimer 0
1444 break
1445 endif
1446
1447 endif
1448 endwhile
1449 endif
1450
1451
1452
1453 if diffhits >= highDiff and 1 = drinkHeal
1454 if findtype "Yellow Potion" self as hPot
1455 getlabel hPot potLabel
1456 if "next" in potLabel
1457
1458 else
1459 @setvar! ch 0
1460
1461 if counttype 3852 self as c
1462 @setvar! ch c
1463 endif
1464 clearsysmsg
1465
1466 dclicktype 3852
1467 getlabel backpack xxx
1468 wait 200
1469
1470 if ch != counttype 3852 self or insysmsg "potion satchel used"
1471 cooldown "Heal Pot" healingPotCD
1472 endif
1473 endif
1474 else
1475 if timer yellowMessageTimer > yellowMessageCD
1476 overhead "Out of heals pots" 34
1477 settimer yellowMessageTimer 0
1478 endif
1479 endif
1480 endif
1481
1482 endwhile
1483 wait 200
1484 endif
1485 endif
1486
1487 if armorReflect = 1 and skill 'magery' >= 30 and not findbuff "Reactive Armor" and mana >= miniumManaToBuff and diffhits < lowDiff
1488 if timer magicReflectTimer > magicReflectCD
1489 cast 'Reactive Armor'
1490 while not casting and diffhits < highDiff
1491 getlabel backpack xxx
1492 wait 200
1493 if insysmsg "that spell will not" or insysmsg "that spell is already"
1494 settimer armorReflectTimer 0
1495 break
1496 endif
1497 if targetexists
1498 hotkey 'cancel current target'
1499 endif
1500 cast 'Reactive Armor'
1501 endwhile
1502
1503 while casting and diffhits < lowDiff
1504 endwhile
1505 wait 200
1506 endif
1507 endif
1508
1509 if protectionSpell = 1 and skill 'magery' >= 40 and not findbuff "Protection" and mana >= miniumManaToBuff and diffhits < lowDiff
1510 cast 'Protection'
1511 while not casting and diffhits < highDiff
1512 if targetexists
1513 hotkey 'cancel current target'
1514 endif
1515 cast 'Protection'
1516 endwhile
1517 while casting and diffhits < lowDiff
1518 endwhile
1519 wait 200
1520 endif
1521
1522 if bless = 1 and skill 'magery' >= 50 and not findbuff "Cunning" and mana >= miniumManaToBuff and diffhits < lowDiff
1523 sysmsg 'blessing..'
1524 cast 'Bless'
1525 while not casting and diffhits < highDiff
1526 if targetexists
1527 hotkey 'cancel current target'
1528 endif
1529 cast 'Bless'
1530 wait 50
1531 endwhile
1532
1533 while not targetexists and casting
1534 endwhile
1535
1536 waitfortarget maxwaittimeinms
1537 target 'self'
1538 wait 200
1539 endif
1540 endif
1541
1542
1543
1544 if not findtype "wooden box" backpack or not findtype "copper key" backpack
1545 overhead "Need 1 wooden box and 1 copper key to begin!" 33
1546 wait maxwaittimeinms
1547 elseif counttype 2474 backpack > 1 or counttype 4110 backpack > 1
1548 overhead "You have more than 2 wooden boxes or more than 2 copper keys" 33
1549 wait maxwaittimeinms
1550 elseif findtype "wooden box" backpack as chest and findtype "copper key" backpack as key and 0 = isRecalling
1551 getlabel chest chestLabel
1552 if "items" in chestLabel
1553 dclick key
1554 waitfortarget maxwaittimeinms
1555 target chest
1556 wait maxwaittimeinms
1557 overhead "[chest locked]" 55
1558 endif
1559
1560
1561 if enemyFound = 0 or autoRecall = 0
1562
1563
1564 if followers < 4 and followers < maxFollowers and skill 'magery' >= 80 and diffhits < lowDiff and 0 = isRecalling
1565
1566 if mana <= 49
1567 overhead "low mana to summon" 89
1568 else
1569 cast 'Water Elemental'
1570
1571 getlabel backpack XXX
1572 wait 200
1573
1574 while casting
1575 if enemyFound = 0
1576 if insysmsg! "Now tracking" or insysmsg! "Distance to"
1577 @setvar! enemyFound 1
1578 endif
1579 endif
1580
1581 if autoRecall = 1 and enemyFound = 1 or cooldown 'Danger' > 0
1582 @setvar! isRecalling 1
1583 interrupt
1584 break
1585 endif
1586
1587 if diffhits >= lowDiff
1588 interrupt
1589 break
1590 endif
1591
1592 if timer summonTimer > summonCD
1593 overhead "* summoning... *"
1594 settimer summonTimer 0
1595 endif
1596 endwhile
1597 wait 1000
1598 say 'all guard me' 901
1599 endif
1600 endif
1601 endif
1602
1603
1604
1605 if findtype 291|292 ground -1 -1 12 as pack
1606 if myPack = 0 and noto pack = "friend"
1607 @setvar! myPack pack
1608 endif
1609 endif
1610
1611 if diffweight <= myWeightDiff or weight > maxweight
1612 @setvar! isOverweight 1
1613 if timer overweightTimer > overweightCD
1614 overhead '[Overweight Reached]' 44
1615 settimer overweightTimer 0
1616 endif
1617 else
1618 @setvar! isOverweight 0
1619 endif
1620
1621 if find myPack ground -1 -1 12 and 1 = isOverweight
1622
1623 while findtype "iron ore" backpack any any 1 as ore and diffhits < lowDiff and 0 = isRecalling
1624
1625 if enemyFound = 0
1626 if insysmsg! "Now tracking" or insysmsg! "Distance to"
1627 @setvar! enemyFound 1
1628 endif
1629 endif
1630
1631 if autoRecall = 1 and enemyFound = 1 or cooldown 'Danger' > 0
1632 @setvar! isRecalling 1
1633 break
1634 endif
1635
1636 if find myPack ground -1 -1 2
1637 dclick myPack
1638 wait 200
1639 if counttype "iron ore" myPack >= 975
1640 overhead "* packy is full *" 34
1641 sysmsg "* auto recalling packy is full *" 34
1642 @setvar! enemyFound 1
1643 @setvar! autoRecall 1
1644 elseif counttype "iron ore" myPack >= 900
1645 lift ore 25
1646 drop myPack
1647 getlabel myPack testyL
1648 sysmsg '{{testyL}}'
1649 overhead "* dropping ore in pack *" 54
1650 wait 650
1651 else
1652 lift ore 50
1653 drop myPack
1654 getlabel myPack testyL
1655 sysmsg '{{testyL}}'
1656 overhead "* dropping ore in pack *" 54
1657 wait 650
1658 endif
1659 else
1660 overhead "* move closer to pack *" 44
1661 wait 650
1662 endif
1663
1664 endwhile
1665
1666 getlabel myPack packLabel
1667
1668 overhead "{{packLabel}}" 88 myPack
1669 sysmsg "{{packLabel}}" 88 myPack
1670
1671 endif
1672
1673
1674
1675
1676 while lhandempty and rhandempty and 0 = isRecalling
1677
1678 if enemyFound = 0
1679 if insysmsg! "Now tracking" or insysmsg! "Distance to"
1680 @setvar! enemyFound 1
1681 endif
1682 endif
1683
1684 if autoRecall = 1 and enemyFound = 1 or cooldown 'Danger' > 0
1685 @setvar! isRecalling 1
1686 break
1687 endif
1688
1689 if not findtype myHarvestingTool backpack
1690 overhead "Out of pickaxes!" 36
1691 wait maxwaittimeinms
1692 elseif not casting
1693 dclicktype myHarvestingTool
1694 wait maxwaittimeinms
1695 endif
1696 endwhile
1697
1698 if 0 = isOverweight and 0 = isRecalling
1699 hotkey 'Use Item In Hand'
1700
1701 settimer mineTimer 0
1702
1703 while timer mineTimer < mineTimerCD and diffhits < lowDiff
1704 if enemyFound = 0
1705 if insysmsg! "Now tracking" or insysmsg! "Distance to"
1706 @setvar! enemyFound 1
1707 endif
1708 endif
1709
1710 if autoRecall = 1 and enemyFound = 1 or cooldown 'Danger' > 0
1711 @setvar! isRecalling 1
1712 break
1713 endif
1714 endwhile
1715
1716 getlabel backpack xxx
1717 wait 200
1718
1719 if insysmsg "you do not see any"
1720 overhead "* no more ore to mine*" 44
1721 elseif insysmsg "you have recently traveled"
1722 overhead "* travel cooldown *" 901
1723 else
1724 overhead "* mining ore *" 11
1725 endif
1726 endif
1727
1728
1729
1730 while findtype 7154 backpack any any 1 as ingotz and diffhits < lowDiff and 0 = isRecalling
1731
1732 if enemyFound = 0
1733 if insysmsg! "Now tracking" or insysmsg! "Distance to"
1734 @setvar! enemyFound 1
1735 endif
1736 endif
1737
1738 if autoRecall = 1 and enemyFound = 1 or cooldown 'Danger' > 0
1739 @setvar! isRecalling 1
1740 break
1741 endif
1742
1743 overhead "* securing ingots *" 11
1744 clearsysmsg
1745 wait 200
1746 lift ingotz 9999
1747 drop chest -1 -1 0
1748
1749 getlabel backpack xxx
1750 wait 650
1751
1752 if insysmsg "it appears"
1753 overhead "[unlocking chest]" 44
1754 dclick key
1755 waitfortarget 1000
1756 target chest
1757 wait 650
1758 endif
1759 endwhile
1760
1761 getlabel chest chestLabel
1762 if "items" in chestLabel
1763 dclick key
1764 waitfortarget 1000
1765 target chest
1766 overhead "[chest closed]" 54
1767 endif
1768
1769
1770
1771 if findtype "forge" ground -1 -1 3 as forgy and 0 = isRecalling
1772 overhead " * FORGE NEAR HERE *" 88 forgy
1773 while find forgy ground -1 -1 3 and findtype "iron ore" backpack as ore
1774
1775 if enemyFound = 0
1776 if insysmsg! "Now tracking" or insysmsg! "Distance to"
1777 @setvar! enemyFound 1
1778 endif
1779 endif
1780
1781 if autoRecall = 1 and enemyFound = 1 or cooldown 'Danger' > 0
1782 @setvar! isRecalling 1
1783 break
1784 endif
1785
1786 dclick ore
1787 getlabel backpack xxx
1788 wait 650
1789 if insysmsg "you smelt"
1790 overhead "* backpack ore smelted *" 88
1791 elseif insysmsg "You do not see any nearby forges"
1792 overhead "* forge too far away *" 44
1793 endif
1794 endwhile
1795
1796 if find myPack ground -1 -1 2
1797 getlabel myPack packLabel
1798
1799 if "[0/2000" in packLabel
1800
1801 else
1802 dclick myPack
1803 wait 650
1804
1805 while find forgy ground -1 -1 3 and findtype "iron ore" myPack as ore
1806 if enemyFound = 0
1807 if insysmsg! "Now tracking" or insysmsg! "Distance to"
1808 @setvar! enemyFound 1
1809 endif
1810 endif
1811
1812 if autoRecall = 1 and enemyFound = 1 or cooldown 'Danger' > 0
1813 @setvar! isRecalling 1
1814 interrupt
1815 break
1816 endif
1817
1818 dclick ore
1819 getlabel backpack xxx
1820 wait 650
1821 if insysmsg "you smelt"
1822 overhead "* pack ore smelted *" 88
1823 getlabel myPack packLabel
1824 overhead "{{packLabel}}" 11
1825 sysmsg "{{packLabel}}" 11
1826 elseif insysmsg "you do not see"
1827 overhead "* pack too far smelt *" 44 myPack
1828 endif
1829 endwhile
1830
1831 endif
1832 endif
1833
1834 elseif findtype "forge" ground -1 -1 4 as forgy
1835 overhead " * FORGE HERE *" 88 forgy
1836 elseif findtype "forge" ground -1 -1 6 as forgy
1837 overhead " * FORGE HERE *" 88 forgy
1838 elseif findtype "forge" ground -1 -1 8 as forgy
1839 overhead " * FORGE HERE *" 88 forgy
1840 elseif findtype "forge" ground -1 -1 10 as forgy
1841 overhead " * FORGE HERE *" 88 forgy
1842 elseif findtype "forge" ground -1 -1 12 as forgy
1843 overhead " * FORGE HERE *" 88 forgy
1844 endif
1845
1846 endif
1847
1848
1849endwhile