Back to "b" tags

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