Bapeth's Peaceful Harvester by barryroser
Description: In Peace Mode - This script will auto harvest, auto heal/cure, auto peacemake hostile, auto track (set hunting mode manually)
In War Mode - This script will additionally look for nearby forges, smelt ingots, turn logs to boards, and auto sort resources into a Boombox/Trapped Pouch
1# Bapeths Peaceful Harvester
2#
3# December 1st 2024 (Fixed Barding while doing Resource Map)
4#
5# "Required" - Do not include quotations when entering data
6# Create cooldowns in game :
7#
8# "Resource Map" > Trigger Type : Overhead Message > Trigger Text : "You extract" + "You gather" > Cooldown : "0.5"
9# "Peacemaking" No data needed
10# "Barding Reset" > Trigger Type : Overhead Message > Trigger Text : "Your barding skill cooldowns reset" > Cooldown : "0.5"
11# "Tracking" No data needed
12#
13# Hold TAB key for combat should be unchecked in UO Options > Combat-Spells > General
14#
15# "Harvest Speed"
16# This script uses razor "Auto-Queue Object Delay" setting
17# Make sure this setting is turned ON in the razor Options tab > Targeting & Queues sub-tab
18# And set "object delay to 503" MINING WILL BE SLOW IF YOU DONT DO THIS
19#
20# "Required Items" : Pickaxe or Hatchet, BoomBox (or any container), Musical Instrument (supreme is good), Resource stockpile (or extraction script for ingots:boombox), Atlas
21#
22# "Boom Box / Ore Container"
23# Open the "Atlas" menu while the script is playing to "set your container"
24# Type [atlas or double click the party scroll in your paperdoll
25# Always keep your ore container in your backpack - "do not" put it on a pack animal
26#
27# "Optional"
28# If you want to install "Bapeths Custom Razor Overheads" for this Build
29# Copy overheads here " https://outlands.uorazorscripts.com/script/308de01b-9175-4ec3-9640-b302c619bc4c "
30# Paste them into your characters razor profile in the "Overheads" section
31# Default pathway is " C:\Program Files (x86)\Ultima Online Outlands\ClassicUO\Data\Plugins\Assistant\Profiles "
32#
33# Additional Items Script Uses : Cure pot, Heal pot, Refresh pot, Strength pot, Cleansing brew, Scissors (Blessed), Rune Tome/book (or Recall scroll and Rune), Pack Animal
34#
35# "Spam Reduction"
36# Options tab > Targeting & Queues subtab > Uncheck "Attack/Target name overhead"
37# Filters tab > Text & Messages subtab > Check "Filter Repeating Razor Messages" ONLY
38# Filters tab > Text & Messages subtab > Add > "You cannot produce any wood from that." and filter from overhead
39#
40# "Yell Emote"
41# Ctrl + F Search for "say [Yell" if you want to replace this with a different emote
42#
43# "**HOW TO USE**"
44# 1. Gather required items and play script near resource
45# 2. Script will auto sort ore/boards/ingots into Boom Box / Ore Container
46# 3. To get ingots out of trapped box: use "resource stockpile" in your house/inn room to grab ingots without triggering trap (or use a sorting script)
47# 4. Do not carry both a pickaxe and a hatchet at the same time, choose one or the other
48#
49# "In Peace Mode"
50# The script will auto harvest very quickly
51# Auto heal/cure
52# Auto peacemake hostile
53# Auto track (set hunting mode manually) <---- "Important for auto escape"
54#
55# "In War Mode" In addition to everything peace mode does...
56# Mining speed is 33% slower while ore is sorted into the Ore Container / Pack Animal
57# Look for and display nearby player forges (Natural non-player will not display)
58# Auto smelt ingots when near any forge
59# Turn logs into boards
60# Auto sort boards/ingots/ore into a Boombox / Ore Container
61#
62# "Pack Animals"
63# The script will auto sort your ore into the your pack animals pack when in "war mode"
64#
65# "Auto-Escape" Toggled on and off by double clicking the "scissors" while the script is playing
66# This feature uses a "Rune Tome/Book" - Your escape rune must be placed in the very "first slot" of your book
67# If you do not have a Rune Tome/Book you can simply use a "Recall Rune & Recall scroll" instead - Reagents also work here in place of scroll (make sure Auto Use Spell Scrolls is Enabled)
68# This feature will always be default "Off" and will reset to default if you restart your game completely
69#
70# War mode uses action resources and may slow down active mining slightly
71#
72# "***Recommended Build***"
73# -"Peace Harvester"-
74# Tracking ------ 120
75# Lumberjacking - 120
76# Mining -------- 120
77# Peacemaking --- 100
78# Magery -------- 100 (80 is fine, 100 only used for gate travel)
79# Musicianship -- 100
80# Camping ------- 60 (Use 80 here if your magery is 80)
81#
82# Use "Effective Harvest Skill" links if you can
83#
84# Script starts here
85
86if not varexist peaceharvfirsttime
87 @setvar peaceharvfirsttime backpack
88 overhead "Welcome to Bapeths Peaceful Harvester..." 88
89 pause 4000
90 overhead "This script may require up to three cooldowns:" 88
91 pause 800
92 overhead "Tracking" 78
93 overhead "Peacemaking" 78
94 overhead "Barding Reset" 78
95 pause 4000
96 overhead "Create these in your UO options page" 88
97 pause 4000
98 overhead "Read the breakdown at the top of the script for more info..." 88
99 pause 6000
100 overhead "Now, get out there and farm some resources!" 55
101endif
102
103if timerexists usetool
104 removetimer usetool
105endif
106
107if not timerexists htoolcheck
108 createtimer htoolcheck
109 settimer htoolcheck 28000
110endif
111
112if not hidden and not findtype "atlas" backpack
113 pause 500
114 say "[Atlas"
115 getlabel backpack ping
116 overhead "Double click the Atlas anytime you wish to reset your Ore Container..." 88
117 pause 500
118endif
119
120if gumpexists 341416395
121 gumpclose 341416395
122endif
123
124if not timerexists instrumcheck
125 createtimer instrumcheck
126 settimer instrumcheck 5000
127endif
128if skill "Peacemaking" >= 50 and not find "harvinstrument" backpack and findtype 3763|20016|20010|10245|20008|20006|20014|20012|3742|3740|3762 backpack as binstrument
129 @setvar "harvinstrument" binstrument
130 while queued
131 //donothing
132 endwhile
133 dclick binstrument
134 pause 500
135 getlabel backpack ping
136endif
137if timer instrumcheck >= 5000 and not find "harvinstrument" backpack and skill "Peacemaking" >= 50
138 overhead "I should get an instrument..." 88
139 settimer instrumcheck 0
140endif
141
142if not find "currentpackanimal"
143 if findtype "291|292" ground as bpackanimal
144 if noto bpackanimal = "friend"
145 @setvar "currentpackanimal" bpackanimal
146 endif
147 endif
148endif
149if not timerexists openanimalpack and not find "currentpackanimal" ground -1 -1 1
150 createtimer openanimalpack
151endif
152if timerexists openanimalpack and find "currentpackanimal" ground -1 -1 1 not targetexists and not casting
153 while queued
154 //donothing
155 endwhile
156 dclick "currentpackanimal"
157 getlabel backpack ping
158 removetimer openanimalpack
159endif
160
161if gumpexists 341416395
162 gumpclose 341416395
163 if targetexists
164 hotkey "Cancel Current Target"
165 endif
166 overhead "Select Boom Box" 88
167 overhead "-----> OR" 78
168 overhead "Select Trapped Pouch" 88
169 pause 550
170 hotkey "Set Last Target"
171 wft 500
172 while targetexists
173 //donothing
174 endwhile
175 @setvar "harvboombox" lasttarget
176 hotkey "Cancel Current Target"
177 overhead "Container Set" 78
178 if find "harvboombox"
179 hotkey "Set Grab Item HotBag"
180 wft 500
181 target "harvboombox"
182 endif
183 pause 750
184endif
185
186if not find "escaperune" backpack
187 overhead "Select Escape Method" 88
188 pause 1500
189 overhead "Select Runetome, or" 78
190 overhead "Select Runebook, or" 78
191 overhead "Select Rune" 78
192 pause 750
193 hotkey "Set Last Target"
194 wft 500
195 while targetexists
196 //donothing
197 endwhile
198 @setvar "escaperune" lasttarget
199 hotkey "Cancel Current Target"
200 overhead "Escape Method Set" 88
201 pause 750
202endif
203
204if not timerexists freshlogin
205 createtimer freshlogin
206 drop backpack
207 lift "harvboombox"
208 drop backpack
209 pause 500
210 getlabel backpack ping
211 if findtype "alchemists satchel" backpack as satch
212 dclick satch
213 endif
214endif
215
216if not timerexists escapeswitch
217 if insysmsg "What should I use these scissors on?"
218 hotkey "Cancel Current Target"
219 createtimer escapeswitch
220 overhead "--Escape Mode Enabled--" 88
221 endif
222endif
223
224if timerexists escapeswitch
225 if insysmsg "What should I use these scissors on?"
226 hotkey "Cancel Current Target"
227 removetimer escapeswitch
228 overhead "--Escape Mode Disabled--" 38
229 endif
230endif
231
232if not find "bharvest" and findtype 3718|3908 backpack as harvtool
233 @setvar "bharvest" harvtool
234endif
235if not find "bharvest" self and findlayer self lefthand as leftdrop
236 drop backpack
237 lift leftdrop
238 drop backpack
239 pause 500
240 getlabel backpack ping
241 replay
242elseif not find "bharvest" self and findlayer self righthand as rightdrop
243 drop backpack
244 lift rightdrop
245 drop backpack
246 pause 500
247 getlabel backpack ping
248 replay
249endif
250if find "bharvest" backpack and findlayer self lefthand as leftdrop
251 drop backpack
252 lift leftdrop
253 drop backpack
254 pause 500
255 getlabel backpack ping
256 replay
257elseif find "bharvest" backpack and findlayer self righthand as rightdrop
258 drop backpack
259 lift rightdrop
260 drop backpack
261 pause 500
262 getlabel backpack ping
263 replay
264endif
265if rhandempty and find "bharvest" backpack and not targetexists
266 dclick "bharvest"
267 overhead "Harvest Time!" 88
268 pause 500
269 getlabel backpack ping
270endif
271if lhandempty and find "bharvest" backpack and not targetexists
272 dclick "bharvest"
273 overhead "Harvest Time!" 88
274 pause 500
275 getlabel backpack ping
276endif
277
278while find "bharvest" self and not hidden and not casting
279 while queued
280 //donothing
281 endwhile
282 hotkey 'use item in hand'
283 if findlayer self lefthand
284 getlabel backpack ping
285 endif
286 if targetexists and findlayer self lefthand
287 target self
288 hotkey "Cancel Current Target"
289 getlabel backpack ping
290 endif
291
292 if not find "currentpackanimal"
293 if findtype "291|292" ground as bpackanimal
294 if noto bpackanimal = "friend"
295 @setvar "currentpackanimal" bpackanimal
296 endif
297 endif
298 endif
299 if not timerexists openanimalpack and not find "currentpackanimal" ground -1 -1 1
300 createtimer openanimalpack
301 endif
302 if timerexists openanimalpack and find "currentpackanimal" ground -1 -1 1 not targetexists and not casting
303 while queued
304 //donothing
305 endwhile
306 dclick "currentpackanimal"
307 getlabel backpack ping
308 removetimer openanimalpack
309 endif
310
311 if insysmsg "You do not see any harvestable resources nearby."
312 if timerexists rescheck
313 overhead "Resource Depleted..." 78
314 removetimer rescheck
315 endif
316 if warmode and not findtype "forge" ground -1 -1 2
317 if find "currentpackanimal" ground
318 if find "currentpackanimal" ground -1 -1 2 and findtype "6585" backpack as rawore
319 while queued
320 //donothing
321 endwhile
322 drop backpack
323 lift rawore 60000
324 drop "currentpackanimal"
325 pause 500
326 getlabel backpack ping
327 endif
328 elseif findtype "6585" backpack as rawore
329 while queued
330 //donothing
331 endwhile
332 hotkey "Grab Item"
333 wft 500
334 target rawore
335 pause 500
336 getlabel backpack ping
337 if not find "currentpackanimal"
338 @ignore rawore
339 endif
340 endif
341 if find "harvboombox" backpack
342 @clearignore
343 while findtype 7154|7127| backpack as refinedresource
344 @ignore refinedresource
345 endwhile
346 endif
347 if findtype "6585" backpack as natsmelt
348 clearsysmsg
349 while queued
350 //donothing
351 endwhile
352 dclick natsmelt
353 getlabel backpack ping
354 elseif find "currentpackanimal" ground -1 -1 1 and findtype "6585" "currentpackanimal" as natsmelt
355 dclick "currentpackanimal"
356 while queued
357 //donothing
358 endwhile
359 dclick natsmelt
360 getlabel backpack ping
361 endif
362 if insysmsg "You smelt the ore"
363 while findtype 7154|7127 backpack as refinedresource
364 while queued
365 //donothing
366 endwhile
367 hotkey "Grab Item"
368 wft 500
369 target refinedresource
370 pause 500
371 getlabel backpack ping
372 @ignore refinedresource
373 endwhile
374 if find "harvboombox" backpack
375 @clearignore
376 while findtype 7154|7127| backpack as refinedresource
377 @ignore refinedresource
378 endwhile
379 endif
380 while findtype "6585" backpack as natore
381 dclick natore
382 pause 500
383 getlabel backpack ping
384 if insysmsg "You do not see any nearby forges"
385 gumpclose 341416395
386 getlabel backpack ping
387 break
388 endif
389 endwhile
390 if find "currentpackanimal" -1 -1 1
391 dclick "currentpackanimal"
392 endif
393 while findtype "6585" "currentpackanimal" as natore
394 dclick natore
395 pause 500
396 getlabel backpack ping
397 if insysmsg "You do not see any nearby forges"
398 gumpclose 341416395
399 getlabel backpack ping
400 break
401 endif
402 endwhile
403 while findtype 7154|7127 backpack as refinedresource
404 while queued
405 //donothing
406 endwhile
407 hotkey "Grab Item"
408 wft 500
409 target refinedresource
410 pause 500
411 getlabel backpack ping
412 @ignore refinedresource
413 endwhile
414 endif
415 if not find "currentpackanimal"
416 while findtype 6585 backpack as ore
417 @ignore ore
418 endwhile
419 endif
420 endif
421 endif
422
423 if warmode
424 while findtype 7133 backpack as rawlog
425 dclick rawlog
426 pause 500
427 getlabel backpack ping
428 endwhile
429 endif
430
431 if timer htoolcheck >= 60000
432 getlabel "bharvest" desc
433 overhead desc
434 settimer htoolcheck 0
435 endif
436
437 if cooldown "Resource Map"
438 if not timerexists resourcemapskilltimer
439 createtimer resourcemapskilltimer
440 settimer resourcemapskilltimer 0
441 endif
442 endif
443
444 if find "harvinstrument" backpack and skill "Peacemaking" >= 10 and not cooldown "Peacemaking" and not targetexists and not casting
445 for 6
446 hotkey 'Next Grey Monster Target'
447 if insysmsg "No one matching"
448 break
449 endif
450 @setvar peacetarget lasttarget
451 #Actually non-hostile because razor code is backward (bug)
452 if noto "peacetarget" = hostile
453 //donothing
454 elseif find peacetarget ground -1 -1 1
455 createtimer peaceit
456 elseif find peacetarget ground -1 -1 2
457 createtimer peaceit
458 elseif find peacetarget ground -1 -1 3
459 createtimer peaceit
460 elseif find peacetarget ground -1 -1 4
461 createtimer peaceit
462 elseif find peacetarget ground -1 -1 5
463 createtimer peaceit
464 elseif find peacetarget ground -1 -1 6
465 createtimer peaceit
466 elseif find peacetarget ground -1 -1 7
467 createtimer peaceit
468 elseif find peacetarget ground -1 -1 8
469 createtimer peaceit
470 elseif find peacetarget ground -1 -1 9
471 createtimer peaceit
472 elseif find peacetarget ground -1 -1 10
473 createtimer peaceit
474 elseif find peacetarget ground -1 -1 11
475 createtimer peaceit
476 elseif find peacetarget ground -1 -1 12
477 createtimer peaceit
478 endif
479 if timerexists peaceit
480 getlabel peacetarget desc
481 if "pacified" in desc
482 //donothing
483 else
484 overhead "Peace target acquired..." 2085
485 overhead desc 1161
486 if timerexists resourcemapskilltimer
487 pause 2000
488 endif
489 skill "Peacemaking"
490 wft 500
491 target "peacetarget"
492 getlabel backpack ping
493 if insysmsg "You play successfully, pacifying your target"
494 cooldown "Peacemaking" 10000
495 cooldown "Tracking" 12500
496 elseif insysmsg "You fail"
497 cooldown "Peacemaking" 5000
498 cooldown "Tracking" 12500
499 elseif insysmsg "Target cannot be seen"
500 cooldown "Peacemaking" 3000
501 endif
502 if cooldown "Barding Reset"
503 cooldown "Peacemaking" 1
504 endif
505 endif
506 break
507 endif
508 endfor
509 hotkey "Cancel Current Target"
510 settimer findpeacetarget 0
511 removetimer peaceit
512 endif
513
514 if timerexists escapeswitch
515 if insysmsg 'Now tracking:'
516 if not timerexists emotetimer
517 createtimer emotetimer
518 settimer emotetimer 120000
519 endif
520 if timer emotetimer >= 120000
521 say "[Yell" 454
522 settimer emotetimer 0
523 endif
524 while not dead
525 getlabel "escaperune" desc
526 if "tome" in desc
527 dclick "escaperune"
528 waitforgump 167090027 500
529 if skill "Magery" <= 59
530 gumpresponse 100
531 while casting
532 //donothing
533 endwhile
534 pause 800
535 clearsysmsg
536 elseif skill "Magery" >= 60
537 gumpresponse 200
538 waitforgump 167090027 500
539 gumpresponse 10
540 while casting
541 //donothing
542 endwhile
543 pause 800
544 clearsysmsg
545 endif
546 break
547 elseif "runebook" in desc
548 dclick "escaperune"
549 waitforgump 167090027 500
550 if skill "Magery" <= 59
551 gumpresponse 2
552 while casting
553 //donothing
554 endwhile
555 pause 800
556 clearsysmsg
557 elseif skill "Magery" >= 60
558 gumpresponse 5
559 while casting
560 //donothing
561 endwhile
562 pause 800
563 clearsysmsg
564 endif
565 break
566 elseif findtype "7956" backpack
567 cast "Recall"
568 while casting
569 //donothing
570 endwhile
571 wft 500
572 target "escaperune"
573 pause 800
574 clearsysmsg
575 break
576 endif
577 endwhile
578 endif
579 endif
580
581 if not timerexists escapeswitch
582 if insysmsg 'Now tracking:'
583 if not timerexists emotetimer
584 createtimer emotetimer
585 settimer emotetimer 120000
586 endif
587 if timer emotetimer >= 120000
588 say "[Yell" 454
589 settimer emotetimer 0
590 endif
591 if not cooldown "Tracking" and not findtype "map" backpack
592 gumpclose 4267467659
593 getlabel backpack ping
594 skill "Tracking"
595 waitforgump 4267467659 500
596 gumpresponse 5
597 cooldown "Tracking" 6000
598 endif
599 endif
600 endif
601
602 if warmode
603 if findlayer self lefthand
604 //donothing
605 else
606 for 18
607 if index > 0 and findtype "forge|4017" ground -1 -1 index as bforge
608 overhead "****FORGE HERE****" 2085 bforge
609 break
610 endif
611 endfor
612 endif
613
614 if findtype "forge" ground -1 -1 2
615 if find "harvboombox" backpack
616 @clearignore
617 while findtype 7154|7127| backpack as refinedresource
618 @ignore refinedresource
619 endwhile
620 endif
621 while findtype 6585 backpack as Bapore
622 dclick Bapore
623 pause 500
624 getlabel backpack ping
625 endwhile
626 if find "currentpackanimal" -1 -1 1
627 dclick "currentpackanimal"
628 endif
629 while findtype 6585 "currentpackanimal" as Bapore
630 dclick Bapore
631 pause 500
632 getlabel backpack ping
633 endwhile
634 endif
635
636 while findtype 7154|7127 backpack as refinedresource
637 while queued
638 //donothing
639 endwhile
640 hotkey "Grab Item"
641 wft 500
642 target refinedresource
643 pause 500
644 getlabel backpack ping
645 @ignore refinedresource
646 endwhile
647
648 if find "currentpackanimal" ground
649 if find "currentpackanimal" ground -1 -1 2 and findtype "6585" backpack as rawore
650 while queued
651 //donothing
652 endwhile
653 drop backpack
654 lift rawore 60000
655 drop "currentpackanimal"
656 pause 500
657 getlabel backpack ping
658 endif
659 elseif findtype "6585" backpack as rawore
660 while queued
661 //donothing
662 endwhile
663 hotkey "Grab Item"
664 wft 500
665 target rawore
666 pause 500
667 getlabel backpack ping
668 if not find "currentpackanimal"
669 @ignore rawore
670 endif
671 endif
672 endif
673
674 if find "harvinstrument" backpack and skill "Peacemaking" >= 10 and not findbuff "Song Of Peacemaking"
675 skill "Peacemaking"
676 wft 500
677 targetrelloc -1 -1
678 endif
679 if skill "Tracking" >= 10 and not cooldown "Tracking" and not findbuff "Tracking Hunting"
680 skill 'tracking'
681 waitforgump 4267467659 500
682 gumpresponse 6
683 pause 250
684 gumpclose 4267467659
685 endif
686
687 if not hidden and not timerexists brew and findbuff "Bleed" and findtype 50675 backpack as cbrew
688 if not timerexists bleedmobdelay
689 createtimer bleedmobdelay
690 endif
691 if timer bleedmobdelay >= 1100
692 while queued
693 //donothing
694 endwhile
695 dclick cbrew
696 createtimer brew
697 removetimer bleedmobdelay
698 endif
699 elseif not hidden and not timerexists brew and findbuff "Diseased" and findtype 50675 backpack as cbrew
700 while queued
701 //donothing
702 endwhile
703 dclick cbrew
704 createtimer brew
705 endif
706 if timerexists brew
707 if timer brew >= 120000
708 removetimer brew
709 endif
710 endif
711
712 if not hidden and findbuff "Weaken" and not targetexists and findtype "White Potion" backpack as stpot
713 while queued
714 //donothing
715 endwhile
716 getlabel backpack ping
717 dclick stpot
718 pause 500
719 getlabel backpack ping
720 endif
721
722 if not hidden and stam <= 4 and findtype "Red Potion" backpack as redpot
723 while queued
724 //donothing
725 endwhile
726 dclick redpot
727 endif
728
729 if skill "Magery" >= 80 and mana >= 15
730 if timerexists reflect and not findbuff "Magic Reflection"
731 if timer reflect > 31000
732 cast "Magic Reflection"
733 pause 1800
734 replay
735 endif
736 endif
737 if findbuff "Magic Reflection" and timerexists reflect
738 removetimer reflect
739 endif
740 if not findbuff "Magic Reflection" and not timerexists reflect
741 createtimer reflect
742 endif
743 endif
744
745 if skill "Magery" >= 20 and mana >= 4
746 if timerexists reactive and not findbuff "Reactive Armor"
747 if timer reactive > 31000
748 cast "Reactive Armor"
749 pause 900
750 replay
751 endif
752 endif
753 if findbuff "Reactive Armor" and timerexists reactive
754 removetimer reactive
755 endif
756 if not findbuff "Reactive Armor" and not timerexists reactive
757 createtimer reactive
758 endif
759 endif
760
761 if not hidden and paralyzed and not targetexists and findtype "pouch" backpack 38
762 say "[Pouch"
763 pause 500
764 getlabel backpack ping
765 endif
766
767 if hp < 50
768 while hp < 50 and skill "Magery" >= 30
769 hotkey 'Cancel Current Target'
770 cast 'Heal'
771 wft 2500
772 hotkey 'Target Self'
773 hotkey 'Cancel Current Target'
774 pause 250
775 endwhile
776 replay
777 endif
778
779 if not timerexists bhealpot
780 createtimer bhealpot
781 settimer bhealpot 11000
782 endif
783 if timer bhealpot >= 11000 and hp < maxhp and findtype "Yellow Potion" backpack as healpot
784 while queued
785 //donothing
786 endwhile
787 dclick healpot
788 settimer bhealpot 0
789 pause 500
790 getlabel backpack ping
791 endif
792
793 if hp < 90 and skill "Magery" >= 30
794 cast 'Heal'
795 wft 2500
796 hotkey 'Target Self'
797 hotkey 'Cancel Current Target'
798 pause 250
799 replay
800 endif
801
802 if hp < 79 and skill "Magery" >= 60
803 hotkey 'Cancel Current Target'
804 cast 'Greater Heal'
805 wft 3500
806 hotkey 'Target self'
807 hotkey 'Cancel Current Target'
808 pause 250
809 replay
810 endif
811 while poisoned and not targetexists
812 if findtype "Orange Potion" backpack as curepot
813 dclick curepot
814 pause 500
815 getlabel backpack ping
816 elseif poisoned and skill "Magery" >= 40
817 while poisoned
818 mana >= 6
819 cast "Cure"
820 wft 2500
821 target self
822 hotkey 'Cancel Current Target'
823 endwhile
824 replay
825 endif
826 endwhile
827
828 if insysmsg "You have recently traveled and must wait"
829 removetimer usetool
830 overhead "Travel Cooldown..." 45
831 pause 500
832 getlabel backpack ping
833 endif
834
835 if insysmsg "You dig"
836 createtimer rescheck
837 endif
838
839 if insysmsg "You chop"
840 createtimer rescheck
841 endif
842
843 if not timerexists escapeswitch
844 if insysmsg "What should I use these scissors on?"
845 hotkey "Cancel Current Target"
846 createtimer escapeswitch
847 overhead "--Escape Mode Enabled--" 88
848 endif
849 endif
850
851 if timerexists escapeswitch
852 if insysmsg "What should I use these scissors on?"
853 hotkey "Cancel Current Target"
854 removetimer escapeswitch
855 overhead "--Escape Mode Disabled--" 38
856 endif
857 endif
858
859 if not find "currentpackanimal"
860 if findtype "291|292" ground as bpackanimal
861 if noto bpackanimal = "friend"
862 @setvar "currentpackanimal" bpackanimal
863 endif
864 endif
865 endif
866 if not timerexists openanimalpack and not find "currentpackanimal" ground -1 -1 1
867 createtimer openanimalpack
868 endif
869 if timerexists openanimalpack and find "currentpackanimal" ground -1 -1 1 not targetexists and not casting
870 while queued
871 //donothing
872 endwhile
873 dclick "currentpackanimal"
874 getlabel backpack ping
875 removetimer openanimalpack
876 endif
877
878 if gumpexists 341416395
879 gumpclose 341416395
880 if targetexists
881 hotkey "Cancel Current Target"
882 endif
883 overhead "Select Boom Box" 88
884 overhead "-----> OR" 78
885 overhead "Select Trapped Pouch" 88
886 pause 550
887 hotkey "Set Last Target"
888 wft 500
889 while targetexists
890 //donothing
891 endwhile
892 @setvar "harvboombox" lasttarget
893 hotkey "Cancel Current Target"
894 overhead "Container Set" 78
895 if find "harvboombox"
896 hotkey "Set Grab Item HotBag"
897 wft 500
898 target "harvboombox"
899 endif
900 pause 750
901 endif
902
903 if skill "Peacemaking" >= 50 and not find "harvinstrument" backpack and findtype 3763|20016|20010|10245|20008|20006|20014|20012|3742|3740|3762 backpack as binstrument
904 @setvar "harvinstrument" binstrument
905 while queued
906 //donothing
907 endwhile
908 dclick binstrument
909 pause 500
910 getlabel backpack ping
911 endif
912 if timer instrumcheck >= 5000 and not find "harvinstrument" backpack and skill "Peacemaking" >= 50
913 overhead "I should get an instrument..." 88
914 settimer instrumcheck 0
915 endif
916endwhile
917
918if not timerexists escapeswitch
919 if insysmsg "What should I use these scissors on?"
920 hotkey "Cancel Current Target"
921 createtimer escapeswitch
922 overhead "--Escape Mode Enabled--" 88
923 endif
924endif
925
926if timerexists escapeswitch
927 if insysmsg "What should I use these scissors on?"
928 hotkey "Cancel Current Target"
929 removetimer escapeswitch
930 overhead "--Escape Mode Disabled--" 38
931 endif
932endif
933
934if not findlayer self righthand and not findlayer self lefthand
935 overhead "Time for a break..." 45
936 stop
937endif
938loop