Compatibility unverified
This community Razor script has not been tested in game by the Hub. Read its setup and client requirements before use.
Auto-summoner ver.3.12
HealingMagicHealing
Auto Summoner wauto healing.razor
1# This is an automated backup - check out https://outlands.uorazorscripts.com/script/5bd6403e-2c3c-4873-bb3e-a00dea6fe7db for latest2# Automation by Jaseowns3## Script: Auto Summoner w/auto healing4## Created by: dennozz#05#############################################6 7#Auto-summoner ver.3.128 9#********** INFORMATION **********# 10 11#Made by @dennozz on discord. 12#Inspired/learned by other scrips in https://outlands.uorazorscripts.com/13 14#This script will auto summon your desired followers and also auto heal you.15 16#********** SET YOUR SETTINGS **********# 17 18@setvar! earthElementals 119@setvar! waterElementals 120@setvar! airElementals 021@setvar! fireElementals 022@setvar! summonDaemons 023@setvar! summonCreature 124 25#--- Set Necromancy Spells ---#26 27@setvar! NecroVengefulSpirit 028@setvar! NecroBloodOath 029@setvar! NecroWither 030 31#--- Set mushrooms ---#32 33@setvar! mushroomCount 434@setvar! mushroomTimerCD 6000035settimer mushroomTimer mushroomTimerCD36 37#--- Set meditation ---#38 39@setvar! useMeditation 140@setvar! meditateManaReach 5041@setvar! meditateUntilManaReach 5542 43#--- Set Mage auto heals ---#44 45@setvar! miniHeal 146@setvar! greaterHeal 147@setvar! cureSpell 148 49#--- Set Mage Buffs ---#50 51@setvar! magicReflect 152@setvar! bless 153@setvar! armorReflect 154@setvar! protectionSpell 155@setvar! miniumManaToBuff 5056 57#--- Set potions ---#58 59@setvar! drinkStr 160@setvar! drinkAgility 061@setvar! drinkMagicResist 062@setvar! drinkHeal 163@setvar! drinkCure 164@setvar! drinkRefresh 165 66@setvar! strengthLowerThan 10067@setvar! staminaLowerThan 1068 69#--- Auto healing hp diffs ---#70 71@setvar! lowDiff 12 72@setvar! medDiff 2573@setvar! highDiff 4074@setvar! extremeDiff 6075@setvar! criticalDiff 7576 77#--- Optional : Have a cooldown named `Heal Pot` ---#78 79@setvar! healingPotCD 1100080 81@setvar! maxwaittimeinms 65082 83#********** DO NOT EDIT FROM HERE BELOW **********# 84 85if not varexist castingEarth 86 @setvar! castingEarth 087endif88if not varexist castingWater 89 @setvar! castingWater 090endif91if not varexist castingFire 92 @setvar! castingFire 093endif94if not varexist castingAir 95 @setvar! castingAir 096endif97if not varexist castingDaemon 98 @setvar! castingDaemon 099endif100if not varexist castingCreature 101 @setvar! castingCreature 0102endif103 104@setvar! necroGump 622436516105@setvar! unholyPoints 0106 107#-- elementals variables --#108 109@setvar! maxFollowers 0110@setvar! currentFollowers 0111 112removelist maxFollowersList113createlist maxFollowersList114 115if earthElementals = 1116 pushlist maxFollowersList x 117 pushlist maxFollowersList x 118elseif earthElementals = 2119 pushlist maxFollowersList x 120 pushlist maxFollowersList x 121 pushlist maxFollowersList x 122 pushlist maxFollowersList x123endif124 125if waterElementals = 1126 pushlist maxFollowersList x 127 pushlist maxFollowersList x 128elseif waterElementals = 2129 pushlist maxFollowersList x 130 pushlist maxFollowersList x 131 pushlist maxFollowersList x 132 pushlist maxFollowersList x133endif134 135if airElementals = 1136 pushlist maxFollowersList x 137 pushlist maxFollowersList x 138elseif airElementals = 2139 pushlist maxFollowersList x 140 pushlist maxFollowersList x 141 pushlist maxFollowersList x 142 pushlist maxFollowersList x143endif144 145if fireElementals = 1146 pushlist maxFollowersList x 147 pushlist maxFollowersList x 148elseif fireElementals = 2149 pushlist maxFollowersList x 150 pushlist maxFollowersList x 151 pushlist maxFollowersList x 152 pushlist maxFollowersList x153endif154 155if summonDaemons = 1156 pushlist maxFollowersList x 157 pushlist maxFollowersList x 158elseif summonDaemons = 2159 pushlist maxFollowersList x 160 pushlist maxFollowersList x 161 pushlist maxFollowersList x 162 pushlist maxFollowersList x163endif164 165if summonCreature = 1166 pushlist maxFollowersList x 167elseif summonCreature = 2168 pushlist maxFollowersList x 169 pushlist maxFollowersList x 170elseif summonCreature = 3171 pushlist maxFollowersList x 172 pushlist maxFollowersList x 173 pushlist maxFollowersList x 174elseif summonCreature = 4175 pushlist maxFollowersList x 176 pushlist maxFollowersList x 177 pushlist maxFollowersList x 178 pushlist maxFollowersList x 179elseif summonCreature = 5180 pushlist maxFollowersList x 181 pushlist maxFollowersList x 182 pushlist maxFollowersList x 183 pushlist maxFollowersList x 184 pushlist maxFollowersList x 185endif186 187if list maxFollowersList = 0 188 @setvar! maxFollowers 0189 190elseif list maxFollowersList = 1191 @setvar! maxFollowers 1192 193elseif list maxFollowersList = 2194 @setvar! maxFollowers 2195 196elseif list maxFollowersList = 3197 @setvar! maxFollowers 3198 199elseif list maxFollowersList = 4200 @setvar! maxFollowers 4201else 202 @setvar! maxFollowers 5203endif204 205if not varexist earthFirsty or followers = 0206 @setvar! earthFirsty 0207endif208 209if not varexist earthSecondly or followers = 0210 @setvar! earthSecondly 0211endif212 213if not varexist waterFirsty or followers = 0214 @setvar! waterFirsty 0215endif216 217if not varexist waterSecondly or followers = 0218 @setvar! waterSecondly 0219endif220 221if not varexist airFirsty or followers = 0222 @setvar! airFirsty 0223endif224 225if not varexist airSecondly or followers = 0226 @setvar! airSecondly 0227endif228 229if not varexist fireFirsty or followers = 0230 @setvar! fireFirsty 0231endif232 233if not varexist fireSecondly or followers = 0234 @setvar! fireSecondly 0235endif236 237if not varexist daemonFirsty or followers = 0238 @setvar! daemonFirsty 0239endif240 241if not varexist daemonSecondly or followers = 0242 @setvar! daemonSecondly 0243endif244 245if not varexist creatureFirsty or followers = 0246 @setvar! creatureFirsty 0247endif248 249if not varexist creatureSecondly or followers = 0250 @setvar! creatureSecondly 0251endif252 253if not varexist creatureThirdy or followers = 0254 @setvar! creatureThirdy 0255endif256 257if not varexist creatureFourthy or followers = 0258 @setvar! creatureFourthy 0259endif260 261if not varexist creatureFithy or followers = 0262 @setvar! creatureFithy 0263endif264 265#-- list creation --#266 267if not listexists earthListy or followers = 0268 removelist earthListy269 createlist earthListy270endif271 272if not listexists waterListy or followers = 0273 removelist waterListy274 createlist waterListy275endif276 277if not listexists airListy or followers = 0278 removelist airListy279 createlist airListy280endif281 282if not listexists fireListy or followers = 0283 removelist fireListy284 createlist fireListy285endif286 287if not listexists daemonListy or followers = 0288 removelist daemonListy289 createlist daemonListy290endif291 292if not listexists creatureListy or followers = 0293 removelist creatureListy294 createlist creatureListy295endif296 297@setvar! globalMessageCD 5000298settimer globalMessageTimer globalMessageCD299 300@setvar! summonMsgCD 1500301settimer summonMsgTimer summonMsgCD302 303@setvar! manaMsgCD 2500304settimer manaMsgTimer manaMsgCD305 306@setvar! guardMessageCD 5000307settimer guardMessageTimer guardMessageCD308 309#--- Script msgs timers ---#310 311@setvar! noRegsMessageCD 3000312settimer noRegsMessageTimer noRegsMessageCD313 314#--- Resources timers ---#315 316@setvar! pouchMessageCD 5000317settimer pouchMessageTimer pouchMessageCD318 319@setvar! aidsMessageCD 4000320settimer aidsMessageTimer aidsMessageCD321 322@setvar! whiteMessageCD 3000323settimer whiteMessageTimer whiteMessageCD324 325@setvar! blueMessageCD 3000326settimer blueMessageTimer blueMessageCD327 328@setvar! blackMessageCD 2500329settimer blackMessageTimer blackMessageCD330 331@setvar! orangeMessageCD 2000332settimer orangeMessageTimer orangeMessageCD333 334@setvar! yellowMessageCD 1500335settimer yellowMessageTimer yellowMessageCD336 337@setvar! redMessageCD 1000338settimer redMessageTimer redMessageCD339 340#--- Magery buffs timers ---#341 342@setvar! magicReflectCD 15000343settimer magicReflectTimer 15000344 345@setvar! armorReflectCD 15000346settimer armorReflectTimer 15000347 348@setvar! protectionCD 15000349settimer protectionTimer 15000350 351#sysmsg "MAX: {{maxFollowers}}" 34352 353while not dead354 355 if timer globalMessageTimer > globalMessageCD356 overhead "* Auto summoning *" 11357 settimer globalMessageTimer 0358 endif359 360#********* EAT TRAY FOOD *********361 362 if not findbuff "food" and findtype "tray" backpack as fody 363 dclick fody364 wait 200365 endif366 367#********** AUTO HEALING START **********# 368 369 while diffhits >= lowDiff or paralyzed or poisoned370 371 #sysmsg "auto-healing activated" 11 372 373 #--- Trapped ---#374 375 if paralyzed 376 if findtype "pouch" backpack 38 377 yell "[pouch" 378 wait 200379 else380 if timer pouchMessageTimer > pouchMessageCD381 overhead "Out of Pouches!" 34382 settimer pouchMessageTimer 0383 endif384 endif385 endif386 387 #--- Self bandage ---#388 389 if diffhits >= 1 and not bandaging390 if skill 'healing' >= 50 or skill "veterinary" >= 50391 if findtype 'clean bandage%s%' backpack392 393 if targetexists394 hotkey 'cancel current target' 395 endif396 dclicktype 'clean bandage%s%'397 waitfortarget maxwaittimeinms398 target 'self'399 wait 200 400 else401 if timer aidsMessageTimer > aidsMessageCD402 overhead "Out of bandages" 34403 settimer aidsMessageTimer 0404 endif405 endif406 endif407 endif408 409 #--- Drink str pot ---#410 411 if drinkStr = 1 and str < strengthLowerThan412 if not findbuff "Strength" 413 if findtype "White Potion" self414 dclicktype "White Potion"415 wait 200416 else417 if timer whiteMessageTimer > whiteMessageCD418 overhead "Out of str pots" 34419 settimer whiteMessageTimer 0 420 endif421 endif422 endif423 endif424 425 #--- Drink agility pot ---#426 427 if drinkAgility = 1428 if not findbuff "Agility" 429 if findtype "Blue Potion" self430 dclicktype "Blue Potion"431 wait 200432 else433 if timer blueMessageTimer > blueMessageCD434 overhead "Out of agility pots" 34435 settimer blueMessageTimer 0 436 endif437 endif438 endif439 endif440 441 #--- Drink magic resist pot ---#442 443 if drinkMagicResist = 1444 if not findbuff "Magic Resist" 445 if findtype "Black Potion" self446 dclicktype "Black Potion"447 wait 200448 else449 if timer blackMessageTimer > blackMessageCD450 overhead "Out of resist pots" 34451 settimer blackMessageTimer 0452 endif453 endif454 endif455 endif456 457 #--- Poisoned ---#458 459 if 1 = drinkCure or 1 = cureSpell460 while poisoned461 if findtype "Orange Potion" self462 dclicktype "Orange Potion"463 wait 200464 else465 if timer orangeMessageTimer > orangeMessageCD466 overhead "Out of cure pots" 34467 settimer orangeMessageTimer 0468 endif469 470 if diffhits > highDiff or not findtype 3972 self or not findtype 3973 self471 break472 endif473 474 if skill 'magery' >= 40 and mana >= 6 and 1 = cureSpell and not casting475 cast 'cure'476 wait 50477 while not casting 478 if targetexists479 hotkey 'cancel current target'480 endif481 cast 'cure' 482 wait 50483 endwhile 484 while not targetexists and casting485 endwhile486 waitfortarget maxwaittimeinms487 target 'self' 488 wait 200489 else 490 break491 endif492 endif493 494 endwhile495 endif496 497 #--- Drink Heal Pot ---#498 499 if diffhits >= highDiff and 1 = drinkHeal500 if findtype "Yellow Potion" self as hPot501 getlabel hPot potLabel502 if "next" in potLabel503 #do nothing504 else505 @setvar! ch 0506 507 if counttype 3852 self as c508 @setvar! ch c509 endif510 clearsysmsg 511 512 dclicktype 3852513 getlabel backpack xxx514 wait 200515 516 if ch != counttype 3852 self or insysmsg "potion satchel used"517 cooldown "Heal Pot" healingPotCD518 endif519 endif520 else521 if timer yellowMessageTimer > yellowMessageCD522 overhead "Out of heals pots" 34523 settimer yellowMessageTimer 0524 endif525 endif526 endif527 528 #--- Drink red pot ---#529 530 if stam < staminaLowerThan and 1 = drinkRefresh531 if findtype "Red Potion" self532 dclicktype "Red Potion"533 wait 200534 else535 if timer redMessageTimer > redMessageCD536 overhead "Out of refresh pots" 34537 settimer redMessageTimer 0 538 endif539 endif540 endif541 542 #--- Cast heals ---#543 544 if skill 'magery' >= 40 and diffhits >= lowDiff and diffhits < medDiff and mana >= 4 and miniHeal = 1 and not casting545 cast 'heal'546 while not casting 547 if targetexists548 hotkey 'cancel current target'549 endif550 cast 'heal'551 endwhile 552 553 while not targetexists and casting554 endwhile555 556 waitfortarget maxwaittimeinms557 target 'self' 558 wait 200 559 560 elseif skill 'magery' >= 60 and diffhits >= medDiff and diffhits <= highDiff mana >= 11 and greaterHeal = 1 and not casting561 cast 'greater heal' 562 while not casting 563 if targetexists564 hotkey 'cancel current target'565 endif566 cast 'greater heal'567 endwhile 568 569 while not targetexists and casting570 571 #--- Poisoned ---#572 573 if 1 = drinkCure574 while poisoned575 if findtype "Orange Potion" self576 dclicktype "Orange Potion"577 wait 200578 else579 if timer orangeMessageTimer > orangeMessageCD580 overhead "Out of cure pots" 34581 settimer orangeMessageTimer 0582 break583 endif584 585 endif586 endwhile587 endif 588 589 #--- Drink Heal Pot ---#590 591 if diffhits >= highDiff and 1 = drinkHeal592 if findtype "Yellow Potion" self as hPot593 getlabel hPot potLabel594 if "next" in potLabel595 #do nothing596 else597 @setvar! ch 0598 599 if counttype 3852 self as c600 @setvar! ch c601 endif602 clearsysmsg 603 604 dclicktype 3852605 getlabel backpack xxx606 wait 200607 608 if ch != counttype 3852 self or insysmsg "potion satchel used"609 cooldown "Heal Pot" healingPotCD610 endif611 endif612 else613 if timer yellowMessageTimer > yellowMessageCD614 overhead "Out of heals pots" 34615 settimer yellowMessageTimer 0616 endif617 endif618 endif619 620 endwhile621 622 waitfortarget maxwaittimeinms623 target 'self' 624 wait 200 625 626 elseif skill 'magery' >= 40 and diffhits > highDiff and mana >= 4 and miniHeal = 1 and not casting627 cast 'heal' 628 while not casting 629 if targetexists630 hotkey 'cancel current target'631 endif632 cast 'heal' 633 endwhile 634 635 while not targetexists and casting636 endwhile637 638 waitfortarget maxwaittimeinms639 target 'self' 640 wait 200 641 642 endif 643 644 endwhile645 646#********** CHECK FOR ANY DEAD ELEMENTAL **********# 647 648 while followers < maxFollowers and diffhits < medDiff649 650 if counttype 29012 backpack = 0651 while counttype 29012 backpack < mushroomCount652 cast 'create food'653 wait 100654 endwhile655 endif656 657 if 1 = castingEarth 658 sysmsg "fixing earth" 44659 while findtype 158|14 ground -1 -1 12 as ele 660 menu ele 1661 waitfortarget maxwaittimeinms662 if targetexists 663 if ele != earthFirsty and ele != earthSecondly664 hotkey 'cancel current target'665 666 if earthFirsty = 0 667 @setvar! earthFirsty ele668 sysmsg "add earth 1" 11669 overhead "Earth 1" 634 ele670 else 671 @setvar! earthSecondly ele672 sysmsg "add earth 2" 11673 overhead "Earth 2" 634 ele674 endif675 676 break677 endif678 endif679 @ignore ele680 endwhile 681 @clearignore682 @setvar! castingEarth 0683 684 elseif 1 = castingWater685 sysmsg "fixing water" 44686 while findtype 740|16 ground -1 -1 12 as ele 687 menu ele 1688 waitfortarget maxwaittimeinms689 if targetexists 690 if ele != waterFirsty and ele != waterSecondly691 hotkey 'cancel current target'692 693 if waterFirsty = 0 694 @setvar! waterFirsty ele695 sysmsg "add water 1" 11696 overhead "Water 1" 399 ele697 else 698 @setvar! waterSecondly ele699 sysmsg "add water 2" 11700 overhead "Water 2" 399 ele701 endif702 703 break704 endif705 endif706 @ignore ele707 endwhile708 @clearignore709 @setvar! castingWater 0710 711 elseif 1 = castingAir 712 while findtype 306|13 ground -1 -1 12 as ele 713 menu ele 1714 waitfortarget maxwaittimeinms715 if targetexists 716 if ele != airFirsty and ele != airSecondly717 hotkey 'cancel current target'718 719 if airFirsty = 0 720 @setvar! airFirsty ele721 sysmsg "add air 1" 11722 overhead "Air 1" 933 ele723 else 724 @setvar! airSecondly ele725 sysmsg "add air 2" 11726 overhead "Air 2" 933 ele727 endif728 729 break730 endif731 endif732 @ignore ele733 endwhile 734 @clearignore735 @setvar! castingAir 0736 737 elseif 1 = castingFire738 while findtype 24|15 ground -1 -1 12 as ele 739 menu ele 1740 waitfortarget maxwaittimeinms741 if targetexists 742 if ele != fireFirsty and ele != fireSecondly743 hotkey 'cancel current target'744 745 if fireFirsty = 0 746 @setvar! fireFirsty ele747 sysmsg "add fire 1" 11748 overhead "Fire 1" 353 ele749 else 750 @setvar! fireSecondly ele751 sysmsg "add fire 2" 11752 overhead "Fire 2" 353 ele753 endif754 755 break756 endif757 endif758 @ignore ele759 endwhile760 @clearignore761 @setvar! castingFire 0762 763 elseif 1 = castingDaemon764 while findtype 9|722 ground -1 -1 12 as ele 765 menu ele 1766 waitfortarget maxwaittimeinms767 if targetexists 768 if ele != daemonFirsty and ele != daemonSecondly769 hotkey 'cancel current target'770 771 if daemonFirsty = 0 772 @setvar! daemonFirsty ele773 sysmsg "add daemon 1" 11774 overhead "Daemon 1" 11 ele775 else 776 @setvar! daemonSecondly ele777 sysmsg "add daemon 2" 235778 overhead "Daemon 2" 235 ele779 endif780 781 break782 endif783 endif784 @ignore ele785 endwhile 786 @clearignore787 @setvar! castingDaemon 0788 789 elseif 1 = castingCreature790 while findtype 215|211|302|317|225|212|202|213|716|729|51|74|214|206|776|737|718|739|718|29|776|317|302|39|56|26|3|57|50|382 ground -1 -1 12 as ele 791 menu ele 1792 waitfortarget maxwaittimeinms793 if targetexists 794 if ele != creatureFirsty and ele != creatureSecondly and ele != creatureThirdy and ele != creatureFourthy and ele != creatureFithy795 hotkey 'cancel current target'796 797 if creatureFirsty = 0 798 @setvar! creatureFirsty ele799 sysmsg "Creature 1" 11800 overhead "Creature 1" 11 ele801 elseif creatureSecondly = 0 802 @setvar! creatureSecondly ele803 sysmsg "add creature 2" 11804 overhead "Creature 2" 11 ele805 elseif creatureThirdy = 0 806 @setvar! creatureThirdy ele807 sysmsg "add creature 3" 11808 overhead "Creature 3" 11 ele809 elseif creatureFourthy = 0 810 @setvar! creatureFourthy ele811 sysmsg "add creature 4" 11812 overhead "Creature 4" 11 ele813 elseif creatureFithy = 0 814 @setvar! creatureFithy ele815 sysmsg "add creature 5" 11816 overhead "Creature 5" 11 ele817 endif818 819 break820 endif821 endif822 @ignore ele823 endwhile 824 @clearignore825 @setvar! castingCreature 0826 endif827 828 if earthFirsty != 0 and dead earthFirsty829 if list earthListy != 0830 poplist earthListy 'front' 831 sysmsg "pop earth 1"832 endif 833 @setvar! earthFirsty 0834 endif835 836 if earthSecondly != 0 and dead earthSecondly837 if list earthListy != 0838 poplist earthListy 'front' 839 sysmsg "pop earth 2"840 endif 841 @setvar! earthSecondly 0842 endif843 844 if waterFirsty != 0 and dead waterFirsty845 if list waterListy != 0846 poplist waterListy 'front' 847 sysmsg "pop water 1"848 endif849 @setvar! waterFirsty 0850 endif851 852 if waterSecondly != 0 and dead waterSecondly853 if list waterListy != 0854 poplist waterListy 'front' 855 sysmsg "pop water 2"856 endif857 @setvar! waterSecondly 0858 endif859 860 if airFirsty != 0 and dead airFirsty861 if list airListy != 0862 poplist airListy 'front'863 endif864 @setvar! airFirsty 0865 endif866 867 if airSecondly != 0 and dead airSecondly 868 if list airListy != 0869 poplist airListy 'front'870 endif 871 @setvar! airSecondly 0872 endif873 874 if fireFirsty != 0 and dead fireFirsty 875 if list fireListy != 0876 poplist fireListy 'front' 877 endif878 @setvar! fireFirsty 0879 endif880 881 if fireSecondly != 0 and dead fireSecondly 882 if list fireListy != 0883 poplist fireListy 'front' 884 endif 885 @setvar! fireSecondly 0886 endif887 888 if daemonFirsty != 0 and dead daemonFirsty889 if list daemonListy != 0890 poplist daemonListy 'front'891 endif892 @setvar! daemonFirsty 0893 endif894 895 if daemonSecondly != 0 and dead daemonSecondly 896 if list daemonListy != 0897 poplist daemonListy 'front'898 endif 899 @setvar! daemonSecondly 0900 endif901 902 if creatureFirsty != 0 and dead creatureFirsty 903 if list creatureListy != 0904 poplist creatureListy 'front'905 sysmsg "pop creature 1"906 endif 907 @setvar! creatureFirsty 0908 endif909 910 if creatureSecondly != 0 and dead creatureSecondly 911 if list creatureListy != 0912 poplist creatureListy 'front'913 sysmsg "pop creature 2"914 endif 915 @setvar! creatureSecondly 0916 endif917 918 if creatureThirdy != 0 and dead creatureThirdy 919 if list creatureListy != 0920 poplist creatureListy 'front'921 sysmsg "pop creature 3"922 endif 923 @setvar! creatureThirdy 0924 endif925 926 if creatureFourthy != 0 and dead creatureFourthy 927 if list creatureListy != 0928 poplist creatureListy 'front'929 sysmsg "pop creature 4"930 endif 931 @setvar! creatureFourthy 0932 endif933 934 if creatureFithy != 0 and dead creatureFithy 935 if list creatureListy != 0936 poplist creatureListy 'front'937 sysmsg "pop creature 5"938 endif 939 @setvar! creatureFithy 0940 endif941 942#********* CREATE MUSHROOMS *********943 944 if mana <= 50945 if timer mushroomTimer > mushroomTimerCD946 if counttype 29012 backpack as c947 @setvar! cm c948 949 dclicktype 29012 backpack950 wait 200951 952 if cm != counttype 29012 backpack953 settimer mushroomTimer 0954 endif955 else 956 overhead "No mushrooms found!" 34957 endif958 endif 959 endif960 961 if mana < meditateManaReach and 1 = useMeditation962 skill 'meditation'963 getlabel backpack xxx964 wait 200965 if findbuff 'meditating'966 while mana < meditateUntilManaReach and diffhits < medDiff967 #interrupt here if hp is low968 if not findbuff 'meditating'969 break970 endif971 endwhile972 endif973 endif 974 975 if mana < 50976 if timer manaMsgTimer > manaMsgCD977 overhead "No mana to summon" 34978 settimer manaMsgTimer 0979 endif980 break981 endif982 983 @clearsysmsg984 @setvar! wasInterrupted 0985 986#********** ACTIVATE NECROMANCER BAR IF USING ANY NECRO SPELLS **********# 987 988 if NecroVengefulSpirit = 1 or NecroBloodOath = 1989 if findtype 'necromancer book' backpack990 yell '[necromancyhotbar'991 while not gumpexists 622436516992 yell '[necromancyhotbar'993 waitforgump 622436516 maxwaittimeinms994 endwhile995 endif996 endif997 998#********** ACTIVATE NECROMANCER VENGEFUL SPIRIT SPELL **********# 999 1000 if ingump "20/" 6224365161001 @setvar! unholyPoints 201002 elseif ingump "19/" 6224365161003 @setvar! unholyPoints 191004 elseif ingump "18/" 6224365161005 @setvar! unholyPoints 181006 elseif ingump "17/" 6224365161007 @setvar! unholyPoints 171008 elseif ingump "16/" 6224365161009 @setvar! unholyPoints 161010 elseif ingump "15/" 6224365161011 @setvar! unholyPoints 151012 elseif ingump "14/" 6224365161013 @setvar! unholyPoints 141014 elseif ingump "13/" 6224365161015 @setvar! unholyPoints 131016 elseif ingump "12/" 6224365161017 @setvar! unholyPoints 121018 elseif ingump "11/" 6224365161019 @setvar! unholyPoints 111020 elseif ingump "10/" 6224365161021 @setvar! unholyPoints 101022 elseif ingump "9/" 6224365161023 @setvar! unholyPoints 91024 elseif ingump "8/" 6224365161025 @setvar! unholyPoints 81026 elseif ingump "7/" 6224365161027 @setvar! unholyPoints 71028 elseif ingump "6/" 6224365161029 @setvar! unholyPoints 61030 elseif ingump "5/" 6224365161031 @setvar! unholyPoints 51032 elseif ingump "4/" 6224365161033 @setvar! unholyPoints 41034 elseif ingump "3/" 6224365161035 @setvar! unholyPoints 31036 elseif ingump "2/" 6224365161037 @setvar! unholyPoints 21038 elseif ingump "1/" 6224365161039 @setvar! unholyPoints 11040 else 1041 @setvar unholyPoints 01042 endif1043 1044 if 1 = NecroVengefulSpirit and 0 < unholyPoints1045 clearsysmsg1046 yell '[vengefulspirit'1047 wait 200 1048 1049 while not insysmsg! "unholy symbols remaining" and not insysmsg! "you must wait another"1050 yell '[vengefulspirit'1051 wait 2001052 endwhile1053 1054 if insysmsg "unholy symbols"1055 say '[>Vengeful Spirits<]' 441056 endif1057 1058 endif 1059 1060#********** ACTIVATE NECROMANCER BLOOD OATH SPELL **********# 1061 1062 if ingump "20/" 6224365161063 @setvar! unholyPoints 201064 elseif ingump "19/" 6224365161065 @setvar! unholyPoints 191066 elseif ingump "18/" 6224365161067 @setvar! unholyPoints 181068 elseif ingump "17/" 6224365161069 @setvar! unholyPoints 171070 elseif ingump "16/" 6224365161071 @setvar! unholyPoints 161072 elseif ingump "15/" 6224365161073 @setvar! unholyPoints 151074 elseif ingump "14/" 6224365161075 @setvar! unholyPoints 141076 elseif ingump "13/" 6224365161077 @setvar! unholyPoints 131078 elseif ingump "12/" 6224365161079 @setvar! unholyPoints 121080 elseif ingump "11/" 6224365161081 @setvar! unholyPoints 111082 elseif ingump "10/" 6224365161083 @setvar! unholyPoints 101084 elseif ingump "9/" 6224365161085 @setvar! unholyPoints 91086 elseif ingump "8/" 6224365161087 @setvar! unholyPoints 81088 elseif ingump "7/" 6224365161089 @setvar! unholyPoints 71090 elseif ingump "6/" 6224365161091 @setvar! unholyPoints 61092 elseif ingump "5/" 6224365161093 @setvar! unholyPoints 51094 elseif ingump "4/" 6224365161095 @setvar! unholyPoints 41096 elseif ingump "3/" 6224365161097 @setvar! unholyPoints 31098 elseif ingump "2/" 6224365161099 @setvar! unholyPoints 21100 elseif ingump "1/" 6224365161101 @setvar! unholyPoints 11102 else 1103 @setvar unholyPoints 01104 endif1105 1106 if 1 = NecroBloodOath and 3 < unholyPoints1107 clearsysmsg1108 yell '[bloodoath'1109 wait 200 1110 1111 while not insysmsg! "unholy symbols remaining" and not insysmsg! "you must wait another"1112 yell '[bloodoath'1113 wait 2001114 endwhile1115 1116 if insysmsg "unholy symbols"1117 say '[>Blood Oath<]' 551118 endif1119 endif1120 1121#********** ACTIVATE NECROMANCER WITHER SPELL **********# 1122 1123 if ingump "20/" 6224365161124 @setvar! unholyPoints 201125 elseif ingump "19/" 6224365161126 @setvar! unholyPoints 191127 elseif ingump "18/" 6224365161128 @setvar! unholyPoints 181129 elseif ingump "17/" 6224365161130 @setvar! unholyPoints 171131 elseif ingump "16/" 6224365161132 @setvar! unholyPoints 161133 elseif ingump "15/" 6224365161134 @setvar! unholyPoints 151135 elseif ingump "14/" 6224365161136 @setvar! unholyPoints 141137 elseif ingump "13/" 6224365161138 @setvar! unholyPoints 131139 elseif ingump "12/" 6224365161140 @setvar! unholyPoints 121141 elseif ingump "11/" 6224365161142 @setvar! unholyPoints 111143 elseif ingump "10/" 6224365161144 @setvar! unholyPoints 101145 elseif ingump "9/" 6224365161146 @setvar! unholyPoints 91147 elseif ingump "8/" 6224365161148 @setvar! unholyPoints 81149 elseif ingump "7/" 6224365161150 @setvar! unholyPoints 71151 elseif ingump "6/" 6224365161152 @setvar! unholyPoints 61153 elseif ingump "5/" 6224365161154 @setvar! unholyPoints 51155 elseif ingump "4/" 6224365161156 @setvar! unholyPoints 41157 elseif ingump "3/" 6224365161158 @setvar! unholyPoints 31159 elseif ingump "2/" 6224365161160 @setvar! unholyPoints 21161 elseif ingump "1/" 6224365161162 @setvar! unholyPoints 11163 else 1164 @setvar unholyPoints 01165 endif1166 1167 if 1 = NecroWither and 4 < unholyPoints and skill 'necromancy' >= 901168 clearsysmsg1169 yell '[wither'1170 wait 200 1171 1172 while not insysmsg! "unholy symbols remaining" and not insysmsg! "you must wait another"1173 yell '[wither'1174 wait 2001175 endwhile1176 1177 if insysmsg "unholy symbols"1178 say '[>Wither<]' 661179 endif1180 1181 endif1182 1183 if list earthListy = 0 1184 #sysmsg "Earth List = 0"1185 elseif list earthListy = 11186 #sysmsg "Earth List = 1"1187 elseif list earthListy = 21188 #sysmsg "Earth List = 2"1189 endif1190 1191 if list waterListy = 0 1192 #sysmsg "Water List = 0"1193 elseif list waterListy = 11194 #sysmsg "Water List = 1"1195 elseif list waterListy = 21196 #sysmsg "Water List = 2"1197 endif1198 1199 if list creatureListy = 0 1200 #sysmsg "Creature List = 0"1201 elseif list creatureListy = 11202 #sysmsg "Creature List = 1"1203 elseif list creatureListy = 21204 #sysmsg "Creature List = 2"1205 elseif list creatureListy = 21206 #sysmsg "Creature List = 2"1207 elseif list creatureListy = 21208 #sysmsg "Creature List = 2"1209 endif1210 1211 sysmsg 'begin casting elementals...' 111212 1213 if not findtype 3963 self or not findtype 3974 self or not findtype 3981 self1214 if timer noRegsMessageTimer > noRegsMessageCD1215 overhead 'Out of regs!' 341216 settimer noRegsMessageTimer 01217 endif1218 elseif fireElementals = 1 and not findtype 3980 self 1219 if timer noRegsMessageTimer > noRegsMessageCD1220 overhead 'Out of regs!' 341221 settimer noRegsMessageTimer 01222 endif1223 elseif summonDaemons = 1 and not findtype 3980 self 1224 if timer noRegsMessageTimer > noRegsMessageCD1225 overhead 'Out of regs!' 341226 settimer noRegsMessageTimer 01227 endif1228 1229#********** CAST EARTH ELEMENTAL **********# 1230 1231 elseif earthElementals != 0 and list earthListy < earthElementals and followers < 4 and diffhits < medDiff and not casting 1232 1233 cast 'Earth Elemental'1234 @setvar! castingEarth 11235 while not casting 1236 cast 'Earth Elemental' 1237 if targetexists1238 hotkey 'cancel current target'1239 endif1240 endwhile 1241 1242 while not dead1243 1244 if diffhits >= medDiff1245 @setvar! wasInterrupted 1 1246 sysmsg "interrupted low health" 331247 interrupt1248 break1249 endif1250 1251 if not casting1252 getlabel backpack xxx1253 wait 2001254 1255 if insysmsg "Your concentration"1256 @setvar! wasInterrupted 1 1257 sysmsg "interrupted concentration" 33 1258 else 1259 sysmsg "casting finished" 111260 endif1261 1262 break1263 endif1264 1265 if timer summonMsgTimer > summonMsgCD1266 overhead "* summoning earth... *" 6341267 sysmsg "* summoning earth... *" 6341268 settimer summonMsgTimer 01269 settimer globalMessageTimer 01270 endif1271 1272 endwhile1273 1274 if 0 = wasInterrupted1275 sysmsg "Summon Earth Successful" 1276 pushlist earthListy 'x' 'front'1277 1278 while not dead1279 if findtype 158|14 ground -1 -1 12 as ele 1280 menu ele 11281 waitfortarget maxwaittimeinms1282 if targetexists 1283 if ele != earthFirsty and ele != earthSecondly1284 hotkey 'cancel current target'1285 1286 if earthFirsty = 0 1287 @setvar! earthFirsty ele1288 sysmsg "add earth 1" 111289 overhead "Earth 1" 634 ele1290 else 1291 @setvar! earthSecondly ele1292 sysmsg "add earth 2" 111293 overhead "Earth 2" 634 ele1294 endif1295 1296 break1297 endif1298 endif1299 @ignore ele1300 endif1301 endwhile1302 1303 @clearignore1304 @setvar! castingEarth 01305 endif1306 1307#********** CAST WATER ELEMENTAL **********# 1308 1309 elseif waterElementals != 0 and list waterListy < waterElementals and followers < 4 and diffhits < medDiff and not casting1310 cast 'Water Elemental'1311 @setvar! castingWater 11312 while not casting 1313 cast 'Water Elemental' 1314 if targetexists1315 hotkey 'cancel current target'1316 endif1317 endwhile 1318 1319 while not dead1320 1321 if diffhits >= medDiff1322 @setvar! wasInterrupted 1 1323 sysmsg "interrupted low health" 331324 interrupt1325 break1326 endif1327 1328 if not casting1329 getlabel backpack xxx1330 wait 2001331 1332 if insysmsg "Your concentration"1333 @setvar! wasInterrupted 1 1334 sysmsg "interrupted concentration" 33 1335 else 1336 sysmsg "casting finished" 111337 endif1338 1339 break1340 endif1341 1342 if timer summonMsgTimer > summonMsgCD1343 overhead "* summoning water... *" 3991344 sysmsg "* summoning water... *" 3991345 settimer summonMsgTimer 01346 settimer globalMessageTimer 01347 endif1348 1349 endwhile1350 1351 if 0 = wasInterrupted1352 sysmsg "Summon Water Successful" 1353 pushlist waterListy 'x' 'front'1354 1355 while not dead1356 if findtype 740|16 ground -1 -1 12 as ele 1357 menu ele 11358 waitfortarget maxwaittimeinms1359 if targetexists 1360 if ele != waterFirsty and ele != waterSecondly1361 hotkey 'cancel current target'1362 1363 if waterFirsty = 0 1364 @setvar! waterFirsty ele1365 sysmsg "add water 1" 111366 overhead "Water 1" 399 ele1367 else 1368 @setvar! waterSecondly ele1369 sysmsg "add water 2" 111370 overhead "Water 2" 399 ele1371 endif1372 1373 break1374 endif1375 endif1376 @ignore ele1377 endif1378 endwhile1379 1380 @clearignore1381 @setvar! castingWater 01382 endif1383 1384#********** CAST AIR ELEMENTAL **********# 1385 1386 elseif airElementals != 0 and list airListy < airElementals and followers < 4 and diffhits < medDiff and not casting 1387 cast 'Air Elemental'1388 @setvar! castingAir 11389 while not casting 1390 cast 'Air Elemental' 1391 if targetexists1392 hotkey 'cancel current target'1393 endif1394 endwhile 1395 1396 while not dead1397 1398 if diffhits >= medDiff1399 @setvar! wasInterrupted 1 1400 sysmsg "interrupted low health" 331401 interrupt1402 break1403 endif1404 1405 if not casting1406 getlabel backpack xxx1407 wait 2001408 1409 if insysmsg "Your concentration"1410 @setvar! wasInterrupted 1 1411 sysmsg "interrupted concentration" 33 1412 else 1413 sysmsg "casting finished" 111414 endif1415 1416 break1417 endif1418 1419 if timer summonMsgTimer > summonMsgCD1420 overhead "* summoning air... *" 9331421 sysmsg "* summoning air... *" 9331422 settimer summonMsgTimer 01423 settimer globalMessageTimer 01424 endif1425 1426 endwhile1427 1428 if 0 = wasInterrupted1429 sysmsg "Summon Air Successful" 1430 pushlist airListy 'x' 'front'1431 1432 while not dead1433 if findtype 306|13 ground -1 -1 12 as ele 1434 menu ele 11435 waitfortarget maxwaittimeinms1436 if targetexists 1437 if ele != airFirsty and ele != airSecondly1438 hotkey 'cancel current target'1439 1440 if airFirsty = 0 1441 @setvar! airFirsty ele1442 sysmsg "add air 1" 111443 overhead "Air 1" 933 ele1444 else 1445 @setvar! airSecondly ele1446 sysmsg "add air 2" 111447 overhead "Air 2" 933 ele1448 endif1449 1450 break1451 endif1452 endif1453 @ignore ele1454 endif1455 endwhile1456 @clearignore1457 @setvar! castingAir 01458 endif1459 1460#********** CAST FIRE ELEMENTAL **********# 1461 1462 elseif fireElementals != 0 and list fireListy < fireElementals and followers < 4 and diffhits < medDiff and not casting 1463 cast 'Fire Elemental'1464 @setvar! castingFire 11465 while not casting 1466 cast 'Fire Elemental' 1467 if targetexists1468 hotkey 'cancel current target'1469 endif1470 endwhile 1471 1472 while not dead1473 1474 if diffhits >= medDiff1475 @setvar! wasInterrupted 1 1476 sysmsg "interrupted low health" 331477 interrupt1478 break1479 endif1480 1481 if not casting1482 getlabel backpack xxx1483 wait 2001484 1485 if insysmsg "Your concentration"1486 @setvar! wasInterrupted 1 1487 sysmsg "interrupted concentration" 33 1488 else 1489 sysmsg "casting finished" 111490 endif1491 1492 break1493 endif1494 1495 if timer summonMsgTimer > summonMsgCD1496 overhead "* summoning fire... *" 3531497 sysmsg "* summoning fire... *" 3531498 settimer summonMsgTimer 01499 settimer globalMessageTimer 01500 endif1501 1502 endwhile1503 1504 if 0 = wasInterrupted1505 sysmsg "Summon Fire Successful" 1506 pushlist fireListy 'x' 'front'1507 1508 while not dead1509 if findtype 24|15 ground -1 -1 12 as ele 1510 menu ele 11511 waitfortarget maxwaittimeinms1512 if targetexists 1513 if ele != fireFirsty and ele != fireSecondly1514 hotkey 'cancel current target'1515 1516 if fireFirsty = 0 1517 @setvar! fireFirsty ele1518 sysmsg "add fire 1" 111519 overhead "Fire 1" 353 ele1520 else 1521 @setvar! fireSecondly ele1522 sysmsg "add fire 2" 111523 overhead "Fire 2" 353 ele1524 endif1525 1526 break1527 endif1528 endif1529 @ignore ele1530 endif1531 endwhile1532 @clearignore1533 @setvar! castingFire 01534 endif1535 1536#********** CAST DAEMON **********# 1537 1538 elseif summonDaemons != 0 and list daemonListy < summonDaemons and followers < 4 and diffhits < medDiff and not casting 1539 cast 'Summon Daemon'1540 @setvar! castingDaemon 11541 while not casting 1542 cast 'Summon Daemon' 1543 if targetexists1544 hotkey 'cancel current target'1545 endif1546 endwhile 1547 1548 while not dead1549 1550 if diffhits >= medDiff1551 @setvar! wasInterrupted 1 1552 sysmsg "interrupted low health" 331553 interrupt1554 break1555 endif1556 1557 if not casting1558 getlabel backpack xxx1559 wait 2001560 1561 if insysmsg "Your concentration"1562 @setvar! wasInterrupted 1 1563 sysmsg "interrupted concentration" 33 1564 else 1565 sysmsg "casting finished" 111566 endif1567 1568 break1569 endif1570 1571 if timer summonMsgTimer > summonMsgCD1572 overhead "* summoning daemon... *" 2351573 sysmsg "* summoning daemon... *" 2351574 settimer summonMsgTimer 01575 settimer globalMessageTimer 01576 endif1577 1578 endwhile1579 1580 if 0 = wasInterrupted1581 sysmsg "Summon Daemon Successful" 1582 pushlist daemonListy 'x' 'front'1583 1584 while not dead1585 if findtype 9|722 ground -1 -1 12 as ele 1586 menu ele 11587 waitfortarget maxwaittimeinms1588 if targetexists 1589 if ele != daemonFirsty and ele != daemonSecondly1590 hotkey 'cancel current target'1591 1592 if daemonFirsty = 0 1593 @setvar! daemonFirsty ele1594 sysmsg "add daemon 1" 111595 overhead "Daemon 1" 11 ele1596 else 1597 @setvar! daemonSecondly ele1598 sysmsg "add daemon 2" 2351599 overhead "Daemon 2" 235 ele1600 endif1601 1602 break1603 endif1604 endif1605 @ignore ele1606 endif1607 endwhile1608 @clearignore1609 @setvar! castingDaemon 01610 endif1611 1612#********** CAST SUMMON CREATURE **********# 1613 1614 elseif summonCreature != 0 and list creatureListy < summonCreature and followers < 5 and diffhits < medDiff and not casting 1615 cast 'Summ. Creature'1616 @setvar! castingCreature 11617 while not casting 1618 cast 'Summ. Creature' 1619 if targetexists1620 hotkey 'cancel current target'1621 endif1622 endwhile 1623 1624 while not dead1625 1626 if diffhits >= medDiff1627 @setvar! wasInterrupted 1 1628 sysmsg "interrupted low health" 331629 interrupt1630 break1631 endif1632 1633 if not casting1634 getlabel backpack xxx1635 wait 2001636 1637 if insysmsg "Your concentration"1638 @setvar! wasInterrupted 1 1639 sysmsg "interrupted concentration" 33 1640 else 1641 sysmsg "casting finished" 111642 endif1643 1644 break1645 endif1646 1647 if timer summonMsgTimer > summonMsgCD1648 overhead "* summon creature... *" 8811649 sysmsg "* summon creature... *" 8811650 settimer summonMsgTimer 01651 settimer globalMessageTimer 01652 endif1653 1654 endwhile1655 1656 if 0 = wasInterrupted1657 sysmsg "Summon Creature Successful" 1658 pushlist creatureListy 'x' 'front'1659 while not dead1660 if findtype 215|211|302|317|225|212|202|213|716|729|51|74|214|206|776|737|718|739|718|29|776|317|302|39|56|26|3|57|50|382 ground -1 -1 12 as ele 1661 menu ele 11662 waitfortarget maxwaittimeinms1663 if targetexists 1664 if ele != creatureFirsty and ele != creatureSecondly and ele != creatureThirdy and ele != creatureFourthy and ele != creatureFithy1665 hotkey 'cancel current target'1666 1667 if creatureFirsty = 0 1668 @setvar! creatureFirsty ele1669 sysmsg "add creature 1" 11 1670 overhead "Creature 1" 11 ele1671 elseif creatureSecondly = 0 1672 @setvar! creatureSecondly ele1673 sysmsg "add creature 2" 111674 overhead "Creature 2" 11 ele1675 elseif creatureThirdy = 0 1676 @setvar! creatureThirdy ele1677 sysmsg "add creature 3" 111678 overhead "Creature 3" 11 ele1679 elseif creatureFourthy = 0 1680 @setvar! creatureFourthy ele1681 sysmsg "add creature 4" 111682 overhead "Creature 4" 11 ele1683 elseif creatureFithy = 0 1684 @setvar! creatureFithy ele1685 sysmsg "add creature 5" 111686 overhead "Creature 5" 11 ele1687 endif1688 1689 break1690 endif1691 endif1692 @ignore ele1693 endif1694 endwhile1695 1696 @clearignore1697 @setvar! castingCreature 01698 endif1699 1700 endif1701 1702 if followers > 01703 say 'ALL Guard ME' 111704 endif1705 1706 endwhile1707 1708#********** AUTO-MAGERY BUFFS IF NEEDED ********** 1709 1710 if magicReflect = 1 and skill 'magery' >= 70 and not findbuff "Magic Reflection" and mana >= miniumManaToBuff and diffhits < lowDiff1711 if timer magicReflectTimer > magicReflectCD1712 cast 'Magic Reflection'1713 while not casting and diffhits < lowDiff 1714 getlabel backpack xxx1715 wait 2001716 if insysmsg "that spell will not" or insysmsg "that spell is already"1717 settimer magicReflectTimer 01718 break 1719 endif1720 if targetexists1721 hotkey 'cancel current target'1722 endif1723 cast 'Magic Reflection'1724 endwhile 1725 1726 while casting and diffhits < highDiff 1727 1728 #--- Poisoned ---#1729 1730 if 1 = drinkCure1731 while poisoned1732 if findtype "Orange Potion" self1733 dclicktype "Orange Potion"1734 wait 2001735 else1736 if timer orangeMessageTimer > orangeMessageCD1737 overhead "Out of cure pots" 341738 settimer orangeMessageTimer 01739 break1740 endif1741 1742 endif1743 endwhile1744 endif 1745 1746 #--- Drink Heal Pot ---#1747 1748 if diffhits >= highDiff and 1 = drinkHeal1749 if findtype "Yellow Potion" self as hPot1750 getlabel hPot potLabel1751 if "next" in potLabel1752 #do nothing1753 else1754 @setvar! ch 01755 1756 if counttype 3852 self as c1757 @setvar! ch c1758 endif1759 clearsysmsg 1760 1761 dclicktype 38521762 getlabel backpack xxx1763 wait 2001764 1765 if ch != counttype 3852 self or insysmsg "potion satchel used"1766 cooldown "Heal Pot" healingPotCD1767 endif1768 endif1769 else1770 if timer yellowMessageTimer > yellowMessageCD1771 overhead "Out of heals pots" 341772 settimer yellowMessageTimer 01773 endif1774 endif1775 endif1776 1777 endwhile1778 wait 200 1779 endif 1780 endif1781 1782 if armorReflect = 1 and skill 'magery' >= 30 and not findbuff "Reactive Armor" and mana >= miniumManaToBuff and diffhits < lowDiff1783 if timer magicReflectTimer > magicReflectCD1784 cast 'Reactive Armor'1785 while not casting and diffhits < highDiff 1786 getlabel backpack xxx1787 wait 2001788 if insysmsg "that spell will not" or insysmsg "that spell is already"1789 settimer armorReflectTimer 01790 break 1791 endif1792 if targetexists1793 hotkey 'cancel current target'1794 endif1795 cast 'Reactive Armor'1796 endwhile 1797 1798 while casting and diffhits < lowDiff 1799 endwhile1800 wait 200 1801 endif 1802 endif 1803 1804 if protectionSpell = 1 and skill 'magery' >= 40 and not findbuff "Protection" and mana >= miniumManaToBuff and diffhits < lowDiff1805 cast 'Protection'1806 while not casting and diffhits < highDiff 1807 if targetexists1808 hotkey 'cancel current target'1809 endif1810 cast 'Protection'1811 endwhile 1812 while casting and diffhits < lowDiff 1813 endwhile1814 wait 200 1815 endif 1816 1817 if bless = 1 and skill 'magery' >= 50 and not findbuff "Cunning" and mana >= miniumManaToBuff and diffhits < lowDiff1818 sysmsg 'blessing..'1819 cast 'Bless' 1820 while not casting and diffhits < highDiff 1821 if targetexists1822 hotkey 'cancel current target'1823 endif1824 cast 'Bless'1825 wait 501826 endwhile 1827 1828 while not targetexists and casting1829 endwhile1830 1831 waitfortarget maxwaittimeinms1832 target 'self' 1833 wait 200 1834 endif 1835 1836endwhile