Bapeth's Ocean Master Backround by barryroser
Description: This script is the default background script that should be running most of the time
In defensive mode (peace mode) it will auto heal, auto cure, top up bard buffs, auto spyglass, auto drop loot to hold, and auto pick up bombs on your own deck
In offensive mode (war mode) it will use necro abilities, auto spyglass, auto spell cast, auto skin corpses, auto heal, auto cure, auto cleanse, and auto loot enemy holds
1# Bapeths "Master Background" Ship Script
2#
3# April 3rd 2025 - Pooner Update - Added Disarm Logic - Peace/War = Disarm off/on
4#
5# Script is designed for Necro and Chiv (Mage or Pooner)
6#
7# SCRIPT MUST BE NAMED "Master Background" OR IT WONT LINK TO OTHER SCRIPTS
8#
9# "****REQUIRED****"
10# Bapeths Ship Cooldowns xml file (copy paste into your characters Cooldown file)
11# "COPY" Link to get Bapeths Cooldowns "https://outlands.uorazorscripts.com/script/f1e41e2d-411e-461e-9fd0-c4fc2dc234b1"
12# "PASTE" FILE PATH : C:\Program Files (x86)\Ultima Online Outlands\ClassicUO\Data\Profiles\"YOUR-ACCOUNT-NAME"\UO Outlands\"YOUR-CHARACTER" Open file in notepad
13# The cooldowns with "Tigger Text" Must be adjusted to "your ships stats" and "your Wizard Grimoire upgrades" in the UO in game Options
14# Set spyglass cooldown to your preferred radar interval (default 7 is fastest possible) in the UO in game Options
15#
16# This script is the default background script that should be running most of the time
17# In defensive mode (peace mode) it will auto heal, auto cure, top up bard buffs, auto spyglass, auto drop loot to hold, and auto pick up bombs on your own deck
18# In offensive mode (war mode) it will use necro/chiv abilities, auto spell cast, auto heal, auto cure, auto cleanse, auto explode pot, and auto loot enemy holds
19# Generally you should be in peace mode when on your own ship and in war mode when on an enemy ship
20# Use warmode on your own ship for fighting mobs on your own ship (bosses and fishing)
21# Toggle "war mode on" for offensive stance and "war mode off" for defensive stance
22#
23# "Target Scheme"
24# This script can change into Target Closest or Target Random - default is Target Random
25# Type "[Atlas" in game to spawn a free weightless "Atlas" in your bag
26# Double click the atlas while this script is playing to switch between "Closest and Random"
27# Hotkey "Grants the player an Atlas" in razor hotkey tab if you dont want to doubleclick
28#
29# "Auto Net Caster and Fishing Spot Glasser"
30# Open the "Party Menu" while the script is playing to toggle this feature on/off
31# When its on it will replace the ship glassing routine with a fishing spot glass routine
32# The script will auto throw nets on fishing spots when nearby
33#
34# "Auto Loot Control"
35# This script uses razor "Auto-Queue Object Delay" setting
36# Make sure this setting is turned ON in the razor Options tab > Targeting & Queues sub-tab
37# And set "object delay to 503" AUTO LOOTING WILL BE SLOW IF YOU DONT DO THIS!
38#
39# "Spam Reduction"
40# Options tab > Targeting & Queues subtab > Uncheck "Attack/Target name overhead"
41# Filters tab > Text & Messages subtab > Check "Filter Repeating Razor Messages" ONLY
42# Replace your system messages with your Journal - See Journal options "Hide Messages in Viewport"
43#
44# Script starts here
45
46if not varexist "updatemessagebapfood"
47 overhead "Script Updated to Auto Eat Food" 88
48 pause 2000
49 overhead "Create a Cooldown called Food" 88
50 pause 2000
51 overhead "Or re-install the XML Cooldown file" 88
52 pause 2000
53 setvar "updatemessagebapfood" backpack
54endif
55
56if skill "Healing" >= 20
57 if hp = maxhp
58 //donothing
59 elseif not bandaging and findtype 3617 backpack
60 hotkey "Bandage Self"
61 cooldown "Bandage" 7000
62 endif
63endif
64
65while poisoned and not targetexists
66 if findtype "Orange Potion" backpack as curepot
67 dclick curepot
68 pause 500
69 getlabel backpack ping
70 endif
71endwhile
72
73if skill "Fishing" >= 80
74 if not find "MainPoon"
75 if findlayer self lefthand as pooninhand
76 @setvar "MainPoon" pooninhand
77 endif
78 elseif find "MainPoon" backpack
79 dclick "MainPoon"
80 pause 500
81 getlabel backpack ping
82 endif
83endif
84
85if skill "Alchemy" >= 0 and not hidden and not targetexists
86 if not findbuff "Strength" and findtype "White Potion" backpack as wpot
87 dclick wpot
88 pause 500
89 getlabel backpack ping
90 endif
91 if not findbuff "Agility" and findtype "Blue Potion" backpack as bpot
92 dclick bpot
93 pause 500
94 getlabel backpack ping
95 endif
96 if not findbuff "Magic Resist Potion" and findtype "Black Potion" backpack as mpot
97 dclick mpot
98 pause 500
99 getlabel backpack ping
100 endif
101endif
102
103if not cooldown "Food"
104 if findtype 2429|28885|29774|29773|28880|28888|28881|28883|28886|28879 backpack as food
105 dclick food
106 cooldown "Food" 3600000
107 getlabel backpack ping
108 endif
109endif
110
111if not targetexists and not hidden and not casting and stam < maxstam and findtype "Red Potion" backpack as redpot
112 while queued
113 //donothing
114 endwhile
115 dclick redpot
116endif
117
118if hp < 77 and not hidden and not timerexists brew and not targetexists and findbuff "Bleed" and findtype 50675 backpack as cbrew
119 clearsysmsg
120 while queued
121 //donothing
122 endwhile
123 dclick cbrew
124 getlabel backpack ping
125 if insysmsg "You drink a cleansing brew"
126 createtimer brew
127 endif
128elseif hp < 77 and not hidden and not timerexists brew and not targetexists and findbuff "Diseased" and findtype 50675 backpack as cbrew
129 while queued
130 //donothing
131 endwhile
132 dclick cbrew
133 getlabel backpack ping
134 if insysmsg "You drink a cleansing brew"
135 createtimer brew
136 endif
137endif
138if timerexists brew
139 if timer brew >= 120000
140 removetimer brew
141 endif
142endif
143
144if insysmsg "You now feel familiar with the area"
145 cooldown "Adv Pack" 720000
146endif
147if findtype 3834 backpack 0 as bbook
148 @ignore bbook
149endif
150if gumpexists 341416395 and not timerexists changetarget
151 gumpclose 341416395
152 createtimer changetarget
153 overhead "Closest Target Enabled" 87
154elseif gumpexists 341416395 and timerexists changetarget
155 gumpclose 341416395
156 removetimer changetarget
157 overhead "Random Target Enabled" 2085
158endif
159
160if not timerexists oceanscan
161 createtimer oceanscan
162 settimer oceanscan 300
163endif
164
165if not timerexists checktarget
166 createtimer checktarget
167 settimer checktarget 18000
168endif
169
170if timerexists changetarget and timer checktarget >= 18000
171 overhead "Closest Target Enabled" 87
172 settimer checktarget 0
173elseif not timerexists changetarget and timer checktarget >= 18000
174 overhead "Random Target Enabled" 2085
175 settimer checktarget 0
176endif
177
178if not timerexists sacredjourncheck
179 createtimer sacredjourncheck
180 settimer sacredjourncheck 75000
181endif
182
183if skill "Chivalry" >= 80 and timer sacredjourncheck >= 75000
184 if not findbuff "Sacred Journey"
185 overhead "A sacred jounrey awaits..." 201
186 endif
187 settimer sacredjourncheck 0
188endif
189
190if skill "Arcane" >= 80 and not gumpexists 3954121934
191 say '[abilityhotbar'
192 waitforgump 3954121934 500
193endif
194
195if skill "Chivalry" >= 80 and not gumpexists 3954121934
196 say '[abilityhotbar'
197 waitforgump 3954121934 500
198endif
199
200if insysmsg "repaired"
201 gumpclose 1271619955
202 say "[Repair"
203endif
204
205if findtype "fishing net" backpack 2785 as specialnetignore
206 @ignore specialnetignore
207elseif findtype "fishing net" backpack 2851 as specialnetignore
208 @ignore specialnetignore
209elseif findtype "fishing net" backpack 2880 as specialnetignore
210 @ignore specialnetignore
211elseif findtype "fishing net" backpack 2963 as specialnetignore
212 @ignore specialnetignore
213elseif findtype "fishing net" backpack 2839 as specialnetignore
214 @ignore specialnetignore
215elseif findtype "fishing net" backpack 2871 as specialnetignore
216 @ignore specialnetignore
217elseif findtype "fishing net" backpack 2795 as specialnetignore
218 @ignore specialnetignore
219elseif findtype "fishing net" backpack 2814 as specialnetignore
220 @ignore specialnetignore
221elseif findtype "fishing net" backpack 2900 as specialnetignore
222 @ignore specialnetignore
223endif
224if not timerexists autonetcast
225 if gumpexists 3527489586
226 gumpclose 3527489586
227 createtimer autonetcast
228 overhead "--Auto Net Cast Enabled--" 2085
229 endif
230endif
231if timerexists autonetcast
232 if gumpexists 3527489586
233 gumpclose 3527489586
234 removetimer autonetcast
235 overhead "--Auto Net Cast Disabled--" 1779
236 endif
237endif
238if timerexists autonetcast and findtype 1286|18824|3530|26683|39345|29410|29230|2646|18824|441|25769|39434|27641|3707|29230|25769 ground -1 -1 12
239 if not timerexists netwait
240 createtimer netwait
241 settimer netwait 4000
242 endif
243 if not queued and timer netwait >= 3400 and findtype "fishing net" backpack as net
244 dclick net
245 wft 500
246 target net
247 getlabel backpack ping
248 settimer netwait 0
249 endif
250 if insysmsg "You have completely fished out that location."
251 overhead "Fishing spot depleated..." 88
252 script "Master Background"
253 stop
254 endif
255endif
256
257if not warmode
258 if not timerexists autonetcast and not queued and not targetexists and not findbuff "Actively Meditating" and not cooldown "Spyglass" and hp >= 66 and findtype "spyglass" backpack as bspy
259 gumpclose 2890020940
260 dclick bspy
261 wft 500
262 target self
263 hotkey "Cancel Current Target"
264 waitforgump 2890020940 500
265 if gumpexists 2890020940
266 gumpresponse 4
267 waitforgump 2890020940 500
268 endif
269 if gumpexists 2890020940
270 overhead 'Yarr!' 67
271 endif
272 elseif timerexists autonetcast and not queued and not targetexists and not findbuff "Actively Meditating" and not cooldown "Spyglass" and hp >= 66 and findtype "spyglass" backpack as bspy
273 gumpclose 2890020940
274 dclick bspy
275 wft 500
276 target self
277 hotkey "Cancel Current Target"
278 waitforgump 2890020940 500
279 if gumpexists 2890020940 and not findtype 1286|18824|3530|26683|39345|29410|29230|2646|18824|441|25769|39434|27641|3707|29230|25769 ground -1 -1 12
280 gumpresponse 11
281 waitforgump 2890020940 500
282 gumpresponse 4
283 waitforgump 2890020940 500
284 elseif findtype 1286|18824|3530|26683|39345|29410|29230|2646|18824|441|25769|39434|27641|3707|29230|25769 ground -1 -1 12
285 gumpresponse 4
286 waitforgump 2890020940 500
287 endif
288 if gumpexists 2890020940
289 overhead 'Yarr!' 67
290 endif
291 endif
292
293 if not timerexists onetimewarmode
294 createtimer onetimewarmode
295 endif
296 if timerexists onetimepeacemode
297 settimer disarmcheck 90000
298 removetimer onetimepeacemode
299 endif
300 if skill "Arms Lore" >= 80 and not timerexists disarmcheck
301 createtimer disarmcheck
302 settimer disarmcheck 90000
303 elseif skill "Arms Lore" >= 80 and timerexists disarmcheck
304 clearsysmsg
305 for 4
306 if timer disarmcheck >= 90000
307 say "[Disarm"
308 getlabel backpack ping
309 if insysmsg "You refrain from making disarm attempts."
310 settimer disarmcheck 0
311 break
312 endif
313 endif
314 endfor
315 endif
316
317 if findtype 3834 backpack 0 as bbook
318 @ignore bbook
319 endif
320 if not timerexists petguard
321 createtimer petguard
322 settimer petguard 5000
323 endif
324 if followers >= 1 and timer petguard >= 14000 and not findbuff "Actively Meditating"
325 say "all guard me" 45
326 settimer petguard 0
327 endif
328
329 if skill "Magery" >= 80
330 if timerexists reflect
331 if timer reflect > 30000
332 overhead "Magic Reflect is ready..." 201
333 settimer reflect 12000
334 endif
335 endif
336 if findbuff "Magic Reflection" and timerexists reflect
337 removetimer reflect
338 endif
339 if not findbuff "Magic Reflection" and not timerexists reflect
340 createtimer reflect
341 endif
342 endif
343 if skill "Magery" >= 20
344 if timerexists reactive
345 if timer reactive > 30000
346 overhead "Reactive Armor is ready..." 139
347 settimer reactive 13500
348 endif
349 endif
350 if findbuff "Reactive Armor" and timerexists reactive
351 removetimer reactive
352 endif
353 if not findbuff "Reactive Armor" and not timerexists reactive
354 createtimer reactive
355 endif
356 endif
357 if skill "Tracking" >= 10 and not findbuff "Tracking Hunting"
358 skill 'tracking'
359 waitforgump 4267467659 500
360 gumpresponse 6
361 pause 250
362 gumpclose 4267467659
363 cooldown "Disco" 10000
364 endif
365 if not targetexists
366 while hp < 33 and skill "Magery" >= 30
367 hotkey 'Cancel Current Target'
368 cast 'Heal'
369 wft 2500
370 hotkey 'Target Self'
371 hotkey 'Cancel Current Target'
372 pause 250
373 endwhile
374 if hp < 77 and findtype "Yellow Potion" backpack as healpot
375 dclick healpot
376 endif
377 if hp < 55 and skill "Magery" >= 60
378 hotkey 'Cancel Current Target'
379 cast 'Greater Heal'
380 wft 3500
381 hotkey 'Target self'
382 hotkey 'Cancel Current Target'
383 pause 250
384 endif
385 if hp < 83 and skill "Magery" >= 30
386 hotkey 'Cancel Current Target'
387 cast 'Heal'
388 wft 2500
389 hotkey 'Target Self'
390 hotkey 'Cancel Current Target'
391 pause 250
392 endif
393 while poisoned and not targetexists
394 if findtype "Orange Potion" backpack as curepot
395 dclick curepot
396 elseif mana >= 6 and skill "Magery" >= 40
397 cast "Cure"
398 wft 2500
399 target self
400 hotkey 'Cancel Current Target'
401 endif
402 endwhile
403 if skill "Magery" >= 80 and mana <= 20 and not findbuff "Actively Meditating" and not cooldown "Magic Mushroom"
404 dclicktype 'mushroom'
405 endif
406 if skill "Provocation" >= 10 and not findbuff "Actively Meditating" and not cooldown "Disco" and not cooldown "Song of Discord" and not cooldown "Song of Provocation" and not cooldown "Song of Peacemaking" and not findbuff "Song of provocation"
407 hotkey "Cancel Current Target"
408 useskill "Provocation"
409 wft 500
410 targetrelloc -1 -1
411 endif
412 if skill "Discordance" >= 10 and not findbuff "Actively Meditating" and not cooldown "Disco" and not cooldown "Song of Discord" and not cooldown "Song of Provocation" and not cooldown "Song of Peacemaking" and not findbuff "Song of discordance"
413 hotkey "Cancel Current Target"
414 useskill "Discordance"
415 wft 500
416 targetrelloc -1 -1
417 endif
418 if not findbuff "Actively Meditating" and not findbuff "Cunning" and mana >= 6 and skill "Magery" >= 40
419 cast "Cunning"
420 wft 1500
421 target self
422 hotkey 'Cancel Current Target'
423 endif
424 endif
425 if skill "Magery" >= 50 and followers = 0 and timer petguard >= 12500
426 overhead 'I should get some followers...' 39
427 settimer petguard 0
428 endif
429 if skill "Necromancy" >= 80 and not gumpexists 622436516
430 say [necromancyhotbar
431 pause 250
432 endif
433 if skill "Chivalry" >= 80 and not gumpexists 1387930325
434 say [chivalryhotbar
435 pause 250
436 endif
437 if findtype "5188" ground -1 -1 2 as bomb
438 dclick bomb
439 endif
440 if findtype "5188" ground -1 -1 22 as bomb
441 overhead "***BOMB***" 34 bomb
442 endif
443
444 if timer oceanscan >= 300 and skill "Arcane" >= 80 and cooldown "Fray"
445 clearsysmsg
446 if varexist "oceantarget"
447 @unsetvar "oceantarget"
448 endif
449 hotkey "Next Enemy Monster Target"
450 if not insysmsg "No one matching"
451 @setvar "oceantarget" lasttarget
452 endif
453 hotkey "Next Grey Monster Target"
454 if not insysmsg "No one matching"
455 @setvar "oceantarget" lasttarget
456 endif
457 hotkey "Next Murderer Monster Target"
458 if not insysmsg "No one matching"
459 @setvar "oceantarget" lasttarget
460 endif
461 settimer oceanscan 0
462 elseif timer oceanscan >= 300 and skill "Fishing" >= 80 and cooldown "Fray"
463 clearsysmsg
464 if varexist "oceantarget"
465 @unsetvar "oceantarget"
466 endif
467 hotkey "Next Enemy Monster Target"
468 if not insysmsg "No one matching"
469 @setvar "oceantarget" lasttarget
470 endif
471 hotkey "Next Grey Monster Target"
472 if not insysmsg "No one matching"
473 @setvar "oceantarget" lasttarget
474 endif
475 hotkey "Next Murderer Monster Target"
476 if not insysmsg "No one matching"
477 @setvar "oceantarget" lasttarget
478 endif
479 settimer oceanscan 0
480 endif
481 if not timerexists changetarget and find "oceantarget" ground -1 -1 12 and not findbuff "Actively Meditating" and cooldown "Fray"
482 if find "Manual Override" ground and noto "Manual Override" = hostile
483 attack "Manual Override"
484 elseif noto "Manual Override" = criminal
485 attack "Manual Override"
486 elseif noto "Manual Override" = enemy
487 attack "Manual Override"
488 elseif noto "Manual Override" = murderer
489 attack "Manual Override"
490 else
491 attack "oceantarget"
492 endif
493 elseif timerexists changetarget and find "oceantarget" ground -1 -1 12 and not findbuff "Actively Meditating" and cooldown "Fray"
494 if find "Manual Override" ground and noto "Manual Override" = hostile
495 attack "Manual Override"
496 elseif noto "Manual Override" = criminal
497 attack "Manual Override"
498 elseif noto "Manual Override" = enemy
499 attack "Manual Override"
500 elseif noto "Manual Override" = murderer
501 attack "Manual Override"
502 else
503 hotkey 'Target Closest Enemy Monster'
504 hotkey 'Target Closest Grey Monster'
505 hotkey 'Target Closest Murderer Monster'
506 attack lasttarget
507 hotkey "Cancel Current Target"
508 endif
509 endif
510
511 if find "shiphold" ground -1 -1 1
512 clearsysmsg
513 while findtype "43206|cathedral tapestry|Darkscale tapestry|large painting|landscape painting|portrait painting|hieroglyph|figurine|statue|44987|49730|47107|18653|45127|47103|29363|47105|29361|3712|3648|3650|3708|3648|2475|3649|29833|29832|43453|5899|47109|45250|11858|41509|43447|18657|4025|51308|45156|51304|45214|28769|28799|28803|28765|45211|45248|51259|45220|51328|45218|3842|51327|45222|45241|51336|51375|45282|54722|45255|45246|28795|44983|45235|45251|45238|51258|51314|28761|45236|51260|54718|18400|45252|18656|47111|3839|45239|45242|45254|45281|45247|42241|45216|28775|2594|51321|3838|51318|5901|5905|5903|48407|51302|4248|27611|15296|43166|5359|5981|4026|3985|25359|17686|3836|17087|5356|29030|24434|22336|29036|3843|29025|51098|29034|8826|51094|576|3827|22326|45315|3891|2539|39898|39896|39892|39918|39911|39916|39905|39891|39917|39912|39909|39889|31047|31017|31049|31019|31055|31051|31053|31025|31027|31031|31041|54717|31021|31011|31023|31029|31043|31003|31035|31033|31045|31037|31002|20006|31169|31006|30999|31012|31009|30996|7109|7107|31128|31188|20014|31014|31004|31142|31001|31000|37181|31010|30998|31172|30988|30997|31038|31141|7947|20008|31005|31191|31008|31007|30994|30993|31182|30989|20012|31186|31178|31015|30991|20010|20016|31184|31190|30990|30995|31176|31180|30992|31130|5207|7031|7026|7034|7033|7027|7035|7029|5078|5063|5059|5105|5060|5138|5129|5201|5142|5143|5076|5106|7610|5139|5090|5103|5132|7177|5061|7181|7179|3920|5042|5127|5117|5185|5125|3938|5177|3937|5044|5121|3915|3909|3568|3932|5123|5144|5119|5056|5135|5187|5074|5089|3934|3913|3917|3721|5075|5046|5049|7170|5146|5205|5203|5115|5204|5040|5179|5070|5182|5085|5181|3719|7173|5131|3911|5101|7175|7169|3713|5112|22187|9917|3859|3862|3878|3865|3856|3873|3877|3834|3742|3762|3740|3763|10245|3572|3573|3571|3885|7127|4225|12686|19985|19981|19984|19982|19983|19991|19989|19986|19987|19988|19994|19995|19992|19993|19990|19980|19977|19976|19978|7154|19979|17619|17617|2508|7710|2463|3861|3821" backpack as bitem
514 drop backpack
515 lift bitem 60000
516 drop shiphold -1 -1 0
517 while queued
518 //dotnothing
519 endwhile
520 endwhile
521 endif
522elseif warmode
523 if skill "Healing" >= 20
524 if hp = maxhp
525 //donothing
526 elseif not bandaging and findtype 3617 backpack
527 hotkey "Bandage Self"
528 endif
529 endif
530
531 if skill "Arcane" >= 80
532 if not timerexists leylinetimer
533 createtimer leylinetimer
534 settimer leylinetimer 3000
535 endif
536 if mana <= 80 and timer leylinetimer >= 3000 and find "oceantarget" ground -1 -1 12
537 say "[weaponability2"
538 settimer leylinetimer 0
539 endif
540 endif
541
542 if skill "Fishing" >= 80
543 if not timerexists scouragetimer
544 createtimer scouragetimer
545 settimer scouragetimer 3000
546 endif
547 if mana <= 80 and timer scouragetimer >= 3000 and find "oceantarget" ground -1 -1 12
548 say "[weaponability2"
549 settimer scouragetimer 0
550 endif
551 endif
552
553 if not timerexists onetimepeacemode
554 createtimer onetimepeacemode
555 endif
556 if timerexists onetimewarmode
557 settimer disarmcheck 90000
558 removetimer onetimewarmode
559 endif
560 if skill "Arms Lore" >= 80 and not timerexists disarmcheck
561 createtimer disarmcheck
562 settimer disarmcheck 90000
563 elseif skill "Arms Lore" >= 80 and timerexists disarmcheck
564 clearsysmsg
565 for 4
566 if timer disarmcheck >= 90000
567 say "[Disarm"
568 getlabel backpack ping
569 if insysmsg "You will now attempt to disarm your opponents."
570 settimer disarmcheck 0
571 break
572 endif
573 endif
574 endfor
575 settimer oceanscan 300
576 endif
577
578 if gumpexists 341416395 and not timerexists changetarget
579 gumpclose 341416395
580 createtimer changetarget
581 overhead "Closest Target Enabled" 87
582 elseif gumpexists 341416395 and timerexists changetarget
583 gumpclose 341416395
584 removetimer changetarget
585 overhead "Random Target Enabled" 2085
586 endif
587
588 if timer oceanscan >= 300 and skill "Arcane" >= 80
589 clearsysmsg
590 if varexist "oceantarget"
591 @unsetvar "oceantarget"
592 endif
593 hotkey "Next Enemy Monster Target"
594 if not insysmsg "No one matching"
595 @setvar "oceantarget" lasttarget
596 endif
597 hotkey "Next Grey Monster Target"
598 if not insysmsg "No one matching"
599 @setvar "oceantarget" lasttarget
600 endif
601 hotkey "Next Murderer Monster Target"
602 if not insysmsg "No one matching"
603 @setvar "oceantarget" lasttarget
604 endif
605 settimer oceanscan 0
606 elseif timer oceanscan >= 300 and skill "Fishing" >= 80
607 clearsysmsg
608 if varexist "oceantarget"
609 @unsetvar "oceantarget"
610 endif
611 hotkey "Next Enemy Monster Target"
612 if not insysmsg "No one matching"
613 @setvar "oceantarget" lasttarget
614 endif
615 hotkey "Next Grey Monster Target"
616 if not insysmsg "No one matching"
617 @setvar "oceantarget" lasttarget
618 endif
619 hotkey "Next Murderer Monster Target"
620 if not insysmsg "No one matching"
621 @setvar "oceantarget" lasttarget
622 endif
623 settimer oceanscan 0
624 endif
625 if not timerexists changetarget and find "oceantarget" ground -1 -1 12 and not findbuff "Actively Meditating"
626 if find "Manual Override" ground and noto "Manual Override" = hostile
627 attack "Manual Override"
628 elseif noto "Manual Override" = criminal
629 attack "Manual Override"
630 elseif noto "Manual Override" = enemy
631 attack "Manual Override"
632 elseif noto "Manual Override" = murderer
633 attack "Manual Override"
634 else
635 attack "oceantarget"
636 endif
637 elseif timerexists changetarget and find "oceantarget" ground -1 -1 12 and not findbuff "Actively Meditating"
638 if find "Manual Override" ground and noto "Manual Override" = hostile
639 attack "Manual Override"
640 elseif noto "Manual Override" = criminal
641 attack "Manual Override"
642 elseif noto "Manual Override" = enemy
643 attack "Manual Override"
644 elseif noto "Manual Override" = murderer
645 attack "Manual Override"
646 else
647 hotkey 'Target Closest Enemy Monster'
648 hotkey 'Target Closest Grey Monster'
649 hotkey 'Target Closest Murderer Monster'
650 attack lasttarget
651 hotkey "Cancel Current Target"
652 endif
653 endif
654
655 if not poisoned and not timerexists autonetcast and not queued and not targetexists and not findbuff "Actively Meditating" and not cooldown "Spyglass" and hp >= 66 and findtype "spyglass" backpack as bspy
656 gumpclose 2890020940
657 dclick bspy
658 wft 500
659 target self
660 hotkey "Cancel Current Target"
661 waitforgump 2890020940 500
662 if gumpexists 2890020940
663 gumpresponse 4
664 waitforgump 2890020940 500
665 endif
666 if gumpexists 2890020940
667 overhead 'Yarr!' 67
668 endif
669 elseif not poisoned and timerexists autonetcast and not queued and not targetexists and not findbuff "Actively Meditating" and not cooldown "Spyglass" and hp >= 66 and findtype "spyglass" backpack as bspy
670 gumpclose 2890020940
671 dclick bspy
672 wft 500
673 target self
674 hotkey "Cancel Current Target"
675 waitforgump 2890020940 500
676 if gumpexists 2890020940 and not findtype 1286|18824|3530|26683|39345|29410|29230|2646|18824|441|25769|39434|27641|3707|29230|25769 ground -1 -1 12
677 gumpresponse 11
678 waitforgump 2890020940 500
679 gumpresponse 4
680 waitforgump 2890020940 500
681 elseif findtype 1286|18824|3530|26683|39345|29410|29230|2646|18824|441|25769|39434|27641|3707|29230|25769 ground -1 -1 12
682 gumpresponse 4
683 waitforgump 2890020940 500
684 endif
685 if gumpexists 2890020940
686 overhead 'Yarr!' 67
687 endif
688 endif
689
690 if not targetexists
691 while hp < 33 and skill "Magery" >= 30
692 hotkey 'Cancel Current Target'
693 cast 'Heal'
694 wft 2500
695 hotkey 'Target Self'
696 hotkey 'Cancel Current Target'
697 pause 250
698 endwhile
699 if hp < 77 and findtype "Yellow Potion" backpack as healpot
700 dclick healpot
701 endif
702 if hp < 55 and skill "Magery" >= 60
703 hotkey 'Cancel Current Target'
704 cast 'Greater Heal'
705 wft 3500
706 hotkey 'Target self'
707 hotkey 'Cancel Current Target'
708 pause 250
709 endif
710 if hp < 83 and skill "Magery" >= 30
711 hotkey 'Cancel Current Target'
712 cast 'Heal'
713 wft 2500
714 hotkey 'Target Self'
715 hotkey 'Cancel Current Target'
716 pause 250
717 endif
718 while poisoned and not targetexists
719 if findtype "Orange Potion" backpack as curepot
720 dclick curepot
721 elseif mana >= 6 and skill "Magery" >= 40
722 cast "Cure"
723 wft 2500
724 target self
725 hotkey 'Cancel Current Target'
726 endif
727 endwhile
728 if hp < 77 and not hidden and not timerexists brew and not targetexists and findbuff "Bleed" and findtype 50675 backpack as cbrew
729 clearsysmsg
730 while queued
731 //donothing
732 endwhile
733 dclick cbrew
734 getlabel backpack ping
735 if insysmsg "You drink a cleansing brew"
736 createtimer brew
737 endif
738 elseif hp < 77 and not hidden and not timerexists brew and not targetexists and findbuff "Diseased" and findtype 50675 backpack as cbrew
739 while queued
740 //donothing
741 endwhile
742 dclick cbrew
743 getlabel backpack ping
744 if insysmsg "You drink a cleansing brew"
745 createtimer brew
746 endif
747 endif
748 if timerexists brew
749 if timer brew >= 120000
750 removetimer brew
751 endif
752 endif
753 if skill "Magery" >= 80 and mana <= 80 and not findbuff "Actively Meditating" and not cooldown "Magic Mushroom"
754 dclicktype 'mushroom'
755 endif
756 endif
757
758 if skill "Necromancy" >= 80 and not gumpexists 622436516
759 say [necromancyhotbar
760 pause 250
761 endif
762 if skill "Chivalry" >= 80 and not gumpexists 1387930325
763 say [chivalryhotbar
764 pause 250
765 endif
766
767 if findtype "5188" ground -1 -1 22 as bomb
768 overhead "***BOMB***" 34 bomb
769 endif
770
771 if timerexists openhull
772 removetimer openhull
773 endif
774 if find "shiphold" ground -1 -1 1
775 //donothing
776 elseif not queued and findtype "hatch" ground -1 -1 1 as mobship
777 dclick mobship
778 getlabel backpack ping
779 while findtype "43206|cathedral tapestry|Darkscale tapestry|large painting|landscape painting|portrait painting|hieroglyph|figurine|statue|44987|49730|47107|18653|45127|47103|29363|47105|29361|43453|5899|47109|45250|41509|43447|18657|4025|3712|3648|3650|11858|3708|3648|2475|3649|29833|29832|51308|45156|51304|45214|28769|28799|28803|28765|45211|45248|51259|45220|51328|45218|3842|51327|45222|45241|51336|51375|45282|54722|45255|45246|28795|44983|45235|45251|45238|51258|51314|28761|45236|51260|54718|18400|45252|18656|47111|3839|45239|45242|45254|45281|45247|42241|45216|28775|2594|51321|3838|51318|5901|5905|5903|48407|51302|4248|27611|15296|43166|5359|5981|4026|3985|25359|17686|3836|17087|5356|29030|24434|22336|29036|3843|29025|51098|29034|8826|51094|576|3827|22326|45315|3891|2539|39898|39896|39892|39918|39911|39916|39897|39905|39891|39917|39912|39909|39889|31047|31017|31049|31019|31055|31051|31053|31025|31027|31031|31041|54717|31021|31011|31023|31029|31043|31003|31035|31033|31045|31037|31002|20006|31169|31006|30999|31012|31009|30996|7109|7107|3922|31128|31188|20014|31014|31004|31142|31001|31000|37181|31010|30998|31172|30988|30997|31038|31141|7947|20008|31005|31191|31008|31007|30994|30993|31182|30989|20012|31186|31178|31015|30991|20010|20016|31184|31190|30990|30995|31176|31180|30992|31130|5207|7031|7026|7034|7033|7027|7035|7029|5078|5063|5059|5105|5060|5138|5129|5201|5142|5143|5076|5106|7610|5139|5090|5103|5132|7177|5061|7181|7179|3920|5042|5127|5117|5185|5125|3938|5177|3937|5044|5121|3915|3909|3568|3932|5123|5144|5119|5056|5135|5187|5074|5089|3934|3913|3917|3721|5075|5046|5049|7170|5146|5205|5203|5115|5204|5040|5179|5070|5182|5085|5181|3719|7173|5131|3911|5101|7175|7169|3713|5112|22187|9917|3859|3862|3878|3865|3856|3873|3877|3834|3742|3762|3740|3763|10245|3572|3573|3571|3885|7127|4225|12686|19985|19981|19984|19982|19983|19991|19989|19986|19987|19988|19994|19995|19992|19993|19990|19980|19977|19976|19978|7154|19979|3861|3821" mobship as bitem
780 if not timerexists openhull
781 createtimer openhull
782 overhead "Yarr the booty be mine!" 2091
783 endif
784 hotkey 'Grab Item'
785 target bitem
786 while queued
787 //donothing
788 endwhile
789 endwhile
790 endif
791
792 if not find "oceantarget" ground -1 -1 12 and timer oceanscan >= 300
793 clearsysmsg
794 hotkey "Next Enemy Monster Target"
795 if not insysmsg "No one matching"
796 @setvar "oceantarget" lasttarget
797 endif
798 hotkey "Next Grey Monster Target"
799 if not insysmsg "No one matching"
800 @setvar "oceantarget" lasttarget
801 endif
802 hotkey "Next Murderer Monster Target"
803 if not insysmsg "No one matching"
804 @setvar "oceantarget" lasttarget
805 endif
806 settimer oceanscan 0
807 endif
808
809 if find "oceantarget" ground -1 -1 12 and not findbuff "Actively Meditating" and not cooldown "Disco" and skill "Discordance" >= 50
810 clearsysmsg
811 hotkey 'Cancel Current Target'
812 skill 'Discordance'
813 wft 500
814 if not timerexists changetarget
815 hotkey 'Target self'
816 elseif timerexists changetarget
817 // I took Manual Override out here because single target discord was hitting the ship hamburger bars. I could simply retarget the crew I want to hit but its an extra step when I can just place myself next to closest. This may have been needed for boss fights.
818 hotkey 'Target Closest Grey Monster'
819 hotkey 'Target Closest Murderer Monster'
820 endif
821 hotkey 'Cancel Current Target'
822 getlabel backpack ping
823 if insysmsg "Song of Discordance"
824 overhead "Argh!! Manual Override is not on a target that can be Discorded" 38
825 endif
826 if insysmsg "creatures"
827 overhead "Hear my sea song!" 91
828 cooldown "Disco" 5000
829 elseif insysmsg "You play successfully"
830 overhead "Hear my sea song!" 91
831 cooldown "Disco" 5000
832 elseif insysmsg "You fail to discord"
833 overhead "Argh, I missed a note..." 38
834 cooldown "Disco" 5000
835 if cooldown "Barding Reset"
836 cooldown "Disco" 0
837 replay
838 endif
839 endif
840 endif
841
842 if skill "Necromancy" >= 80 and findtype "corpse" ground -1 -1 12
843 if ingump '20/' 622436516
844 createtimer pain
845 elseif ingump '19/' 622436516
846 createtimer pain
847 elseif ingump '18/' 622436516
848 createtimer pain
849 elseif ingump '17/' 622436516
850 createtimer pain
851 elseif ingump '16/' 622436516
852 createtimer pain
853 elseif ingump '15/' 622436516
854 createtimer pain
855 elseif ingump '14/' 622436516
856 createtimer pain
857 elseif ingump '13/' 622436516
858 createtimer pain
859 elseif ingump '12/' 622436516
860 createtimer pain
861 elseif ingump '11/' 622436516
862 createtimer pain
863 elseif ingump '10/' 622436516
864 createtimer pain
865 elseif ingump '9/' 622436516
866 createtimer pain
867 elseif ingump '8/' 622436516
868 createtimer pain
869 elseif ingump '7/' 622436516
870 createtimer pain
871 elseif ingump '6/' 622436516
872 createtimer pain
873 elseif ingump '5/' 622436516
874 createtimer pain
875 endif
876 if skill "Necromancy" >= 80 and timerexists pain and find "oceantarget" ground -1 -1 12 and not findbuff "Actively Meditating" and not cooldown 'Pain Spike'
877 clearsysmsg
878 if targetexists
879 hotkey 'Cancel Current Target'
880 endif
881 say '[Painspike'
882 wft 500
883 hotkey 'Target Closest Grey Monster'
884 hotkey 'Target Closest Murderer Monster'
885 getlabel backpack ping
886 if insysmsg "Unholy"
887 cooldown "Pain Spike" 30000
888 endif
889 removetimer pain
890 endif
891 endif
892 if find "oceantarget" ground -1 -1 12
893 clearsysmsg
894 if skill "Alchemy" >= 80 and not queued and not cooldown "Explosion Potion" and findtype "Purple Potion" backpack as purp
895 clearsysmsg
896 dclick purp
897 wft 500
898 hotkey 'Target Closest Grey Monster'
899 hotkey 'Target Closest Murderer Monster'
900 getlabel backpack ping
901 if insysmsg "Your explosion potion sticks to your target."
902 cooldown "Explosion Potion" 15000
903 else
904 cooldown "Explosion Potion" 15000
905 hotkey '> Interrupt'
906 hotkey "Cancel Current Target"
907 dclicktype "Purple Potion"
908 wft 500
909 while targetexists
910 overhead "THROW IT OVERBOARD!!!" 38
911 endwhile
912 endif
913 hotkey "Cancel Current Target"
914 elseif skill "Magery" >= 50 and not queued and mana >= 9 and not cooldown "Explosion Potion" and findtype "Purple Potion" backpack as purp
915 clearsysmsg
916 cast "Telekinesis"
917 wft 3000
918 hotkey 'Target Closest Grey Monster'
919 hotkey 'Target Closest Murderer Monster'
920 @setvar "telemastertarget" lasttarget
921 getlabel backpack ping
922 if insysmsg "Target cannot be seen"
923 cooldown "Explosion Potion" 15000
924 elseif insysmsg "any explosive potions thrown" and not queued and find "telemastertarget" ground -1 -1 12
925 dclick purp
926 wft 500
927 lasttarget
928 getlabel backpack ping
929 endif
930 if insysmsg "Your explosion potion sticks to your target."
931 cooldown "Explosion Potion" 15000
932 elseif not cooldown "Explosion Potion" and insysmsg "Where should I throw this potion?"
933 cooldown "Explosion Potion" 15000
934 hotkey '> Interrupt'
935 hotkey "Cancel Current Target"
936 dclicktype "Purple Potion"
937 wft 500
938 while targetexists
939 overhead "THROW IT OVERBOARD!!!" 38
940 endwhile
941 endif
942 hotkey "Cancel Current Target"
943 endif
944 if skill "Necromancy" >= 80 and find "oceantarget" ground -1 -1 12
945 if ingump '20/' 622436516
946 createtimer necroab
947 elseif ingump '19/' 622436516
948 createtimer necroab
949 elseif ingump '18/' 622436516
950 createtimer necroab
951 elseif ingump '17/' 622436516
952 createtimer necroab
953 elseif ingump '16/' 622436516
954 createtimer necroab
955 elseif ingump '15/' 622436516
956 createtimer necroab
957 elseif ingump '14/' 622436516
958 createtimer necroab
959 elseif ingump '13/' 622436516
960 createtimer necroab
961 elseif ingump '12/' 622436516
962 createtimer necroab
963 endif
964 endif
965 if skill "Necromancy" >= 80 and timerexists necroab and find "oceantarget" ground -1 -1 12
966 if not cooldown "Strangle"
967 pause 550
968 say '[Strangle'
969 cooldown "Strangle" 30000
970 pause 550
971 endif
972 if not cooldown "Evil Omen"
973 say '[EvilOmen'
974 cooldown "Evil Omen" 30000
975 pause 550
976 endif
977 if not cooldown "Corpse Skin"
978 say '[CorpseSkin'
979 cooldown "Corpse Skin" 30000
980 pause 550
981 endif
982 removetimer necroab
983 endif
984
985 if skill "Chivalry" >= 80 and find "oceantarget" ground -1 -1 12
986 if ingump '20/' 1387930325
987 createtimer chivab
988 elseif ingump '19/' 1387930325
989 createtimer chivab
990 elseif ingump '18/' 1387930325
991 createtimer chivab
992 elseif ingump '17/' 1387930325
993 createtimer chivab
994 elseif ingump '16/' 1387930325
995 createtimer chivab
996 elseif ingump '15/' 1387930325
997 createtimer chivab
998 elseif ingump '14/' 1387930325
999 createtimer chivab
1000 elseif ingump '13/' 1387930325
1001 createtimer chivab
1002 elseif ingump '12/' 1387930325
1003 createtimer chivab
1004 elseif ingump '11/' 1387930325
1005 createtimer chivab
1006 elseif ingump '10/' 1387930325
1007 createtimer chivab
1008 elseif ingump '9/' 1387930325
1009 createtimer chivab
1010 endif
1011 endif
1012 if skill "Chivalry" >= 80 and timerexists chivab and find "oceantarget" ground -1 -1 12
1013 if not findbuff "Divine Fury"
1014 say '[DivineFury'
1015 pause 550
1016 endif
1017 if not findbuff "Enemy of One"
1018 say '[EnemyofOne'
1019 pause 550
1020 endif
1021 if not findbuff "Consecrate Weapon"
1022 say '[ConsecrateWeapon'
1023 pause 550
1024 endif
1025 removetimer chivab
1026 endif
1027
1028 if skill "Magery" >= 80
1029 if not cooldown "Magic Arrow" and mana >= 4
1030 hotkey 'Cancel Current Target'
1031 cast "Magic Arrow"
1032 wft 1000
1033 if not timerexists changetarget
1034 hotkey 'Target Random Grey Monster'
1035 hotkey 'Target Random Murderer Monster'
1036 elseif timerexists changetarget
1037 hotkey 'Target Closest Grey Monster'
1038 hotkey 'Target Closest Murderer Monster'
1039 endif
1040 elseif not cooldown "Harm" and mana >= 6
1041 hotkey 'Cancel Current Target'
1042 cast "Harm"
1043 wft 1500
1044 if not timerexists changetarget
1045 hotkey 'Target Random Grey Monster'
1046 hotkey 'Target Random Murderer Monster'
1047 elseif timerexists changetarget
1048 hotkey 'Target Closest Grey Monster'
1049 hotkey 'Target Closest Murderer Monster'
1050 endif
1051 elseif not cooldown "Lightning" and mana >= 11
1052 hotkey 'Cancel Current Target'
1053 cast "Lightning"
1054 wft 2500
1055 if not timerexists changetarget
1056 hotkey 'Target Random Grey Monster'
1057 hotkey 'Target Random Murderer Monster'
1058 elseif timerexists changetarget
1059 hotkey 'Target Closest Grey Monster'
1060 hotkey 'Target Closest Murderer Monster'
1061 endif
1062 elseif not cooldown "Chain Lightning" and cooldown "Lightning" and cooldown "Harm" and cooldown "Magic Arrow" and mana >= 40
1063 hotkey 'Cancel Current Target'
1064 cast "Chain Lightning"
1065 wft 3000
1066 if not timerexists changetarget
1067 hotkey 'Target Random Grey Monster'
1068 hotkey 'Target Random Murderer Monster'
1069 elseif timerexists changetarget
1070 hotkey 'Target Closest Grey Monster'
1071 hotkey 'Target Closest Murderer Monster'
1072 endif
1073 elseif cooldown "Lightning" and cooldown "Harm" and cooldown "Magic Arrow" and mana >= 40
1074 hotkey 'Cancel Current Target'
1075 cast "Flamestrike"
1076 wft 3000
1077 if not timerexists changetarget
1078 hotkey 'Target Random Grey Monster'
1079 hotkey 'Target Random Murderer Monster'
1080 elseif timerexists changetarget
1081 hotkey 'Target Closest Grey Monster'
1082 hotkey 'Target Closest Murderer Monster'
1083 endif
1084 endif
1085 pause 150
1086 endif
1087 endif
1088endif
1089loop