Razor script
Lord Glacier's Chill ARCANE MAGE AUTO PILOT - UO OUTLANDS RAZOR SCRIPT - v3.0.1
by danstock._98439 · 17652 lines
Lord Glaciers Chill ARCANE MAGE AUTO PILOT - UO OUTLANDS RAZOR SCRIPT version 3.0.1 UO Outlands Razor script - Released May 16, 2025 - Last updated October 9, 2026 Compiled by DanStock. (aka. Lord Glacier)
MagicArcaneHidingTracking
Lord Glaciers Chill ARCANE MAGE AUTO PILOT - UO OUTLANDS RAZOR SCRIPT - v301.razor
1# This is an automated backup - check out https://outlands.uorazorscripts.com/script/47716944-772c-422f-b3db-034d9a88ae76 for latest2# Automation by Jaseowns3## Script: Lord Glacier's Chill ARCANE MAGE AUTO PILOT - UO OUTLANDS RAZOR SCRIPT - v3.0.14## Created by: danstock._98439#05#############################################6 7/////////8//////// Lord Glaciers Chill ARCANE MAGE AUTO PILOT - UO OUTLANDS RAZOR SCRIPT version 3.0.19///////10////// UO Outlands Razor script - Released May 16, 2025 - Last updated October 9, 202611///// Compiled by DanStock. (aka. Lord Glacier)12////13///14 15 16 17 ################################18 // QUICK MODE CHANGE: \\19 ####################################20 21 @setvar! DUNGEONMODE 122 @setvar! WILDERNESSMODE 023 24 # DUNGEON = Auto FIND GATE25 # WILDERNESS = Auto RECALL26 27 ####################################28 ##################################29 30 31 32 33 34 ############################### ###############################35 // SUGGESTED SKILL TEMPLATE: \\ // INVENTORY ITEMS: \\36 ################################### ###################################37 38 # 120 Necromancy Book of Necromancy39 # 120 Cooking Wizards Grimoire40 # 100 Eval Intelligence Parrying Codex41 # 100 Magery Arcane Codex42 # 100 Arcane Arcane Staff43 # 100 Wrestling Potion Satchel (w/ potions)44 # 80 Parrying Wizard Satchel (w/ regs)45 # Magic Mushrooms46 # ASPECT: ARCANE weapon Delectable food trays47 # ARCANE armour Trapped pouches48 # Adventurers rope49 # or ELDRITCH armour Scissors [blessed] *50 # or VOID armour Wooden Box w/ copper key *51 # or BLOOD armour Platemail armour52 # or FROST armour Arcane aspect crystals53 54 ################################## ##################################55 ################################ ################################56 ############################## ##############################57 58 59 60 61 /////////////////////////62 //' CHANGE LOG: '//63 /////////////////////////64 65# Oct 09 2026 - version 3.0.1 Added checks for LootBag and Escape Runebook outside of script setup/reset and will now prompt to target new if not found66# Sep 30 2026 - version 3.0.0 Another significant update! Reworked the script again to further improve on speed, safety and other efficiencies67# Updated to new storage tome IDs, updated loot securing to latest version, improved healing and general combat/efficiency fixes68# Added separate large, medium and small damage spell loops based on mana levels to greatly improve speed and response69# The improvements are significant enough to call this a whole new version - email any bugs to dan@danstockman.com70#71# Jun 28 2026 - version 2.0.0: Big update! Bringing everything up to my current versions for all magery attacks and buffs plus overall tweaks and updates!72# This new version brings massive improvements to target acquisition speed, target attack speed and overall tempo73# Includes updates to nearly every section to improve efficiency, safety and speed as well as adjustments for new Arcane codex changes74# Also includes some new features such as Arcane Rune placement (check variable section) so be sure to check all your settings!75# Expect a few more minor updates and tweaks as I play-test the latest version over the next couple of weeks. Enjoy!76# Jan 05 2026 - version 1.1.7: Minor updates to the reagent splitter and potion keg sections77# Jan 04 2026 - version 1.1.6: Added poison potion option to keg filling and added skinning to dungeon escape loop78# Jan 03 2026 - version 1.1.5: Minor updates to a couple overheads and added a Storage Tome Container variable to the Auto Recall section79# Nov 26 2025 - version 1.1.4: Fixed small bugs in Auto PK Dungeon Gating and Auto Recall After Resurrection sections80# Nov 21 2025 - version 1.1.3: Big update! Overhauled entire script to include my latest upgrades and tweaks. Default is now WAR mode for COMBAT and PEACE mode for ESCAPE/RECALL81# Nov 16 2025 - version 1.1.2: Squashed bugs in Flamestrike, Potion Keg and Necromancy parts of script. Sorry it took so long (have not played my Arcane Mage echo in a while)82# Jun 06 2025 - version 1.1.1: Updated overhead messages for various potions and abilities and tweaked the order of a few things83# Jun 05 2025 - version 1.1.0: Added support for using potion kegs for auto filling potions84# Jun 04 2025 - version 1.0.9: Added new variable and option for Snacking during Healing Loop and added reagent checks for casting heals85# Jun 02 2025 - version 1.0.8: Various minor tweaks and adjustments to timing and orders of operation86# May 30 2025 - version 1.0.7: Added Telekinesis to AutoExplosionPotion loop87# May 29 2025 - version 1.0.6: Adjusted targeting loop and various no target tweaks based on player testing88# May 26 2025 - version 1.0.5: Added separate variable for 'EnableAutoRecallMessages' to control overhead messages during auto recall89# May 23 2025 - version 1.0.4: Timing and efficiency updates along with additional tips and comments added90# May 21 2025 - version 1.0.3: Added option for using DIY auto recall Razor scripts and added Frost Shell cooldown triggers91# May 20 2025 - version 1.0.2: Fixed typo in Gold Drop section and updated logic and cooldown triggers for Weapon Abilities92# May 18 2025 - version 1.0.1: Added optional cooldown trigger for Mana Thief proc93# May 16 2025 - version 1.0.0: Public script release!94 95 96 97 ///////////////////98 //' TIPS: '//99 ///////////////////100 101# IMPT! (IF USING AUTO RECALL): FIRST RUN OF SCRIPT SHOULD BE DONE IN HOUSE/INN ROOM AND TAKES ROUGHLY 15 SECONDS TO COMPLETE INITIAL (ONE TIME) SETUP!102# Initial setup can be redone by setting 'ResetScriptPermanentVariables' variable to '1' below!103# Or you can re-target script variables individually in the 'Options' tab above the script104#105#106# Use the skill template above along with ARCANE ASPECT WEAPON and ARCANE CODEX (LEECH stance, CLARITY finisher and LEYLINE ability for maximum MANA generation)107# Aspect armour can be ARCANE, ELDRITCH, BLOOD, FROST or your choice - I used ARCANE until it was level 10 and then switched to FROST for the protection (and I am Glacier lol)108# Recommend use of MELEE ASPECT CHANCE chain links to increase MANA THIEF proc chance on ARCANE ASPECT weapon (and then DAMAGE TO DISEASED chain links, etc.)109# Eating delectable FOOD (w/ cooking skill) will restore HP and MANA (w/ 60 second cooldown)110# Eating MUSHROOMS with the Wizards Grimoire will also restore MANA (60-180 second cooldown)111# Once ARCANE CODEX and ARCANE ASPECT WEAPON are sufficiently levelled PLATEMAIL ARMOUR can be used and no meditation skills will be necessary112# Recommend prioritizing CREATE FOOD and (at first) MANA DRAIN spells in WIZARDS GRIMOIRE before moving on to other spells (ie. FLAMESTRIKE, XPLOS, EBOLT, etc.)113# Use www.outlandsbutler.com (or 'PLAYER STATS' page) to make sure you are hitting your MANA REFUND CAP (early build may require use of MANA DRAIN spell)114# Recommend PARRY CODEX stances of BULWARK or SHIELD BASH w/ LAST STAND finisher - auto switching options are available based on war mode and buff status115# Script displays lots of OVERHEAD MESSAGES by default - these can be disabled in the variable section (minimal target indicators remain - it is my preferred mode!)116# Recommend using Razor TEXT FILTERS to cancel redundant system messages and Razor spam117# Script has optional COOLDOWNS you can add (see list below) but they are NOT required for script function - just handy to display on bars in your U.I.118# Script uses ORGANIZER AGENT-01 for optional MAIN INVENTORY pouch organization (can be set to auto select your main bag in inventory reset below)119# If enabled AUTO RECALL triggers when RED is within target range (~12 tiles) or when WEIGHT LIMIT is reached in WILDERNESSMODE (optional DIY script usage, as well)120# If enabled and RED is targeted (~12 tiles) in DUNGEONMODE (or WEIGHT LIMIT reached) script will use DUNGEON ESCAPE mode to locate and activate MOONGATES while keeping you alive121# If enabled POTIONS will be automatically consumed as needed and MANUAL POTION USE MAY DISRUPT SCRIPT TIMING (turn off script potions if manual hotkey is preferred)122# If enabled LOOT CHEST in your HOME/INN/BANK is used store goods, script uses ORGANIZER AGENTS 06-09 as sub-containers you can set inside the chest to organize items further123# If enabled and WOODEN BOX and COPPER KEY found in inventory, script will automatically store and lock any looted items when not in combat (ignores Arcane Staves to prevent losing weapon)124# Script allows for manual selection of CODEX STANCES in the variable section below (or you can enable AUTOMATIC STANCE SWITCHING instead)125# If AUTO ARCANE CODEX stance switching is enabled: WAR = LEECH/CLARITY PEACE = SURGE/CLARITY poisoned/bleeding/diseased/lowhp = SHIELD/CATALYST126# If AUTO PARRY CODEX stance switching is enabled: WAR = TESTUDO/LAST STAND PEACE = BULWARK/LAST STAND poisoned/bleeding/diseased/lowhp = WARDING/BARRIER127# If you die the DEATH LOOP will auto select moongates and travel to last gated town and then waits to auto-select the resurrection gump when a HEALER is located128# If enabled a DRESS LIST of your [blessed] wearables will be equipped after resurrection (must be named 'UltimateArcaneMage')129# If enabled after resurrection script can recall home (requires scrolls in [blessed] runebook), resupply, heal, activate aspect and even setup your pack with pouch stacks, etc.130# If enabled INVENTORY RESET will stack trapped pouches on your main inventory pouch (after putting scissors inside to protect them from shelf restocking) and then hide the stack131# MANY FEATURES ARE TURNED 'OFF' BY DEFAULT! MAKE SURE TO CHECK THE VARIABLE SECTION BELOW CLOSELY PRIOR TO FIRST USE!!132# This script is a compilation of many existing scripts married to my own new stuff, but big thanks to user dennozz for many features I learned from studying their scripts!133 134 135 136 137 138 #############################################################################################################################139 # #140 # ////////////////////////////// #141 # // RESET SCRIPT HERE: // #142 # ////////////////////////////// #143 # #144 # SET THIS VALUE TO '1' AND RUN SCRIPT TO UNSET ALL PERMANENT SCRIPT VARIABLES: #145 # #146 @setvar! ResetScriptPermanentVariables 0147 # #148 # THEN RETURN 'ResetScriptPermanentVariables' TO '0' TO RESTART INITIAL SETUP... #149 # (Or you can re-target script variables individually in the 'Options' tab above the script!) #150 # #151 # #152 #############################################################################################################################153 154 155 156 157 158 #####################################################159 ###' OPTIONAL COOLDOWNS TO ADD IN UO CLIENT: '###160 ###' (case sensitive!) '###161 #####################################################162 163# Mana Thief164# Seeking Active165# Leyline Active166# Mushroom167# Snacking168# Healing Potion169# Purple Potion170# Panacea Potion171# Weapon Ability172# Corpse Skin173# Evil Omen174# Mind Rot175# Pain Spike176# Poison Strike177# Strangle178# Frost Shell Cooldown179# Frost Shell Active180 181 182 183 184 ###########################################################################################################################185 # MOST FEATURES ARE TURNED 'OFF' BY DEFAULT! PLEASE CHECK THE 'VARIABLES' SECTION BELOW CAREFULLY DURING INITIAL SETUP! #186 ###########################################################################################################################187 188 189 190 191 #################################192 ###' USER VARIABLES: '###193 #################################194 195//////////////////////////196//' OFFENSIVE: '//197//////////////////////////198 199@setvar! EnableWeaponCheck 1200 # Checks hand for Arcane Staff and will equip if missing201 # Prioritizes aspect weapon and ignores unidentified magic items202 203// TARGET ATTACKING: //204 @setvar! TargetAttackRange 10205 # Set your target auto attack range (1-10 tiles)206 # Targeted grey MOBs within this range will be engaged207 # Grey MOBs will still be targeted and analyzed outside of attack range (up to 12 tiles), but not attacked208 209 @setvar! CheckClosestTargetTime 2500210 # Adjust the frequency of closest target checks during combat mode (1000 - 2500ms recommended)211 # If this is set to '0' the target will remain locked until dead or out of range (my preference)212 213// OPENING SPELLS: //214 @setvar! EnableCastCurse 0215 @setvar! EnableCastManaDrain 0216 # If enabled, Curse and/or Mana Drain will be cast on NEW targets (or every 60 seconds) before using large spells217 # Mana drain is helpful for newer builds - but likely not necessary once Aspect is levelled218 # Curse is highly recommended (upgrade using wizards grimoire)219 220 221// LARGE DAMAGE SPELLS: //222 @setvar! EnableCastFlamestrike 1223 @setvar! FlamestrikeCooldown 0224 # Flamestrike spell will be spammed repeatedly if parameters are met:225 // Mana > 'CastMediumSpellsBelowMana' (set below), Sulfurous Ash & Spiders silk in inventory, target in attack range, and HP diff < CastGreaterHealHPdiff226 // Recommend leaving Flamestrike cooldown at '0' unless you want to experiment227 228 229// MEDIUM DAMAGE SPELLS: //230 @setvar! CastMediumSpellsBelowMana 60231 # Medium damage spells will be used when mana < 'CastMediumSpellsBelowMana' but > 'CastSmallSpellsBelowMana'232 # I have found '60' for medium and '20' for small to work well but you can experiment (at your own risk)233 # Adjust your cooldowns to your preference234 235 @setvar! EnableCastExplosion 1236 @setvar! ExplosionCooldown 10000237 238 @setvar! EnableCastEnergyBolt 1239 @setvar! EnergyBoltCooldown 0240 241 @setvar! EnableCastMindblast 0242 @setvar! MindBlastCooldown 0243 244 245// SMALL DAMAGE SPELLS: //246 @setvar! CastSmallSpellsBelowMana 20247 # Script will prioritize big spells (FS, xplo, ebolt, MB) above this mana value248 # Magic Arrow, Harm, Fireball and Lightning will only be cast below this point249 # Value can range from '10-110' (lower than '10' may cause errors)250 # Spell cooldown values (below) can be increased to reduce casting frequency if necessary251 252 @setvar! EnableCastMagicArrow 0253 @setvar! MagicArrowCooldown 15000254 255 @setvar! EnableCastHarm 0256 @setvar! HarmCooldown 15000257 258 @setvar! EnableCastFireball 0259 @setvar! FireballCooldown 15000260 261 @setvar! EnableCastLightning 0262 @setvar! LightningCooldown 15000263 264 265// POISON SPELL: //266 @setvar! EnableCastPoison 0267 @setvar! SetPoisonLevel 0268 # '0' for 'Greater or less'269 # '1' for 'Deadly'270 # '2' for 'Lethal'271 # Poison spell will be cast repeatedly on targeted MOB until set poison level is reached272 273// MEDITATION SETTINGS: //274 @setvar! EnableMeditation 0275 @setvar! MeditateWhenManaBelow 11276 @setvar! MeditateUntilManaReaches 50277 # If enabled, meditation will trigger if mana falls below 'MeditateWhenManaBelow'278 # Peace Mode will be activated while meditating279 # Script will resume if HP drops below 'CastGreaterHealHPdiff' (below) or if War Mode is activated280 # Otherwise, meditation ends when 'MeditateUntilManaReaches' is reached and script resumes281 282 283//////////////////////////284//' DEFENSIVE: '//285//////////////////////////286 287@setvar! EnableAutoParalyzePouch 1288 # Will automatically pop trapped pouches if paralyzed (will also trigger auto recall/gating, if enabled below)289 290@setvar! AutoTrapYourPouches 0291 # Will automatically cast 'Magic Trap' any untrapped pouches found in your backpack292 293@setvar! EnableAutoTaunting 0294 # Requires 80+ Parrying skill and will automatically taunt (increases your AR against target)295 296 @setvar! EnableCastGreaterHeal 1297 @setvar! EnableCastHeal 1298 @setvar! CastGreaterHealHPdiff 60299 @setvar! CastHealHPdiff 70300 @setvar! CastEmergencyHealHPdiff 80301 # If damage exceeds 'CastHealHPdiff' Heal spell will be used to quickly recover before casting Greater Heal spell302 # If damage exceeds 'CastGreaterHealHPdiff' but is less than 'CastHealHPdiff' then Greater Heal spell will be used303 # If damage exceeds 'CastEmergencyHealHPdiff' then Heal spell will be spammed to keep you alive304 # Heal potions are always prioritized (if enabled below and found in inventory) for instant healing along with spellcasts305 306 @setvar! EnableCastCure 1307 # If poisoned and 'EnableCastCure' is enabled, Cure spell will be cast until no longer poisoned308 309@setvar! MinimumManaToApplyMageryBuffs 40310 # Magery Buffs (below) will only be applied if mana is above this set point311 @setvar! EnableMagicReflection 0312 @setvar! EnableBless 0313 @setvar! EnableReactiveArmour 0314 @setvar! EnableProtection 0315 316 @setvar! EnableFrostAspect 0317 @setvar! FrostAspectTier 0318 # Set your Frost Aspect level (if using Frost Aspect armour)319 # This will automatically set your optional Frost Shell Cooldown length320 # Add cooldowns in UO options 'Frost Shell Cooldown' and 'Frost Shell Active' (case sensitive)321 # Frost Shell cooldown can trigger stance switches (if using auto switching below)322 323@setvar! LowManaWarningAmount 10324 # Overhead Low Mana warning (independent of other overhead message settings)325 326 327//////////////////////////328//' POTIONS: '//329//////////////////////////330 331// POTS & KEGS: //332@setvar! EnableHealPotion 1333 @setvar! HealPotionHPdiff 25334 # Adjust HP diff set points for Heal and Refresh potion335 # Heal potions will be prioritized over all healing options if not on cooldown336 337 @setvar! HealingPotionCooldown 10000338 # This value only affects your OPTIONAL COOLDOWN BAR (script uses other checks to verify heal pots are available)339 # You can reduce this value if using Potion Codex340 # Add cooldown in UO options: 'Healing Potion' (case sensitive)341 342@setvar! EnableCurePotion 1343 # Cure pots will be used as needed (if enabled and found in inventory)344 345 @setvar! EnablePanaceaPotion 0346 # Requires 80+ Alchemy skill, Cure Potions and Potion Codex in inventory w/ Panacea buff unlocked347 # Will automatically consume Cure Potion if Bleeding or Diseased348 349 @setvar! EnableCleansingBrews 0350 # Requires Cleansing Brews in inventory351 # Will automatically consume Cleansing Brew if Bleeding or Diseased (and not on cooldown)352 353@setvar! EnableRefreshPotion 0354 @setvar! RefreshPotionSPdiff 10355 # Adjust SP diff set point for Refresh potion consumption356 357@setvar! EnableStrengthPotion 0358@setvar! EnableAgilityPotion 0359@setvar! EnableMagicResistPotion 0360 # Strength, Agility and Resist potions will auto-buff when effects wear off (if enabled) *361 // * If Alchemy skill is greater than 0.0 but less than 2.0 the script will take your next STRENGTH potion BEFORE the effect wears off!362 // For example, with an Alchemy skill of 1.0 your buff duration will be 2m 05s and a new strength potion is available after 2 mins363 // Taking your next potion during the extra 5 second buffer will keep your HP at 120 (instead of a temporary drop and HP of 100/120)364 365@setvar! EnableAutoExplosionPots 0366 @setvar! PurplePotionCooldown 15000367 # Uses 'Telekinesis' spell to make new target MOBs sticky first (if Alchemy skill < 80)368 369 @setvar! EnableUsePotionKegs 0370 # Will auto fill empty bottles from potion kegs if counts drop below set amounts:371 # Requires potion kegs and empty bottles (pack extra if using explosion potions)372 # A good way to carry lots of potions without weighing you down373 374 if EnableUsePotionKegs = 1375 @setvar! HealingPotionAmount 5376 @setvar! CurePotionAmount 5377 @setvar! RefreshPotionAmount 2378 @setvar! StrengthPotionAmount 1379 @setvar! AgilityPotionAmount 1380 @setvar! ResistPotionAmount 1381 @setvar! ExplosionPotionAmount 1382 @setvar! PoisonPotionAmount 0383 endif384 385// MUSHROOMS: //386@setvar! EnableEatMagicMushrooms 0387 @setvar! EatMushroomManadiff 30388 # Will consume Magic Mushrooms when mana diff exceeded (if not on cooldown)389 390@setvar! EnableMagicMushroomMaker 0391 @setvar! MakeMushroomAmount 5392 # Will automatically make mushrooms when you run out (to set amount)393 394// FOOD TRAYS: //395@setvar! EnableEatingFood 0396 # Will eat food if not buffed (requires delectable FOOD TRAYS)397 # Not likely to be needed if using Mana or HP Snacking (below)398 399@setvar! EnableEatManaSnacks 0400 # Requires cooking skill and delectable food trays in inventory401 # Will eat snacks to restore mana if mana diff exceeds setpoint (below)402 # You may also set a cooldown for snacking (below) which should be >= 60000403 # Cooldowns for Heal Snacking will also impede Mana Snacking404 @setvar! EatSnackManadiff 50405 @setvar! EatManaSnackCooldown 60000406 407@setvar! EnableEatHealSnacks 0408 # Requires cooking skill and delectable food trays in inventory409 # Will eat snacks to restore HP if HP diff exceeds setpoint (below)410 # You may also set a cooldown for snacking (below) which should be >= 60000411 # Cooldowns for Mana Snacking will also impede Heal Snacking412 @setvar! EatSnackHPdiff 80413 @setvar! EatHealSnackCooldown 60000414 415// ARCANE RUNES: //416@setvar! EnablePlaceArcaneRunes 0417 # '0' for 'Disabled'418 # '1' for 'Aggression Rune'419 # '2' for 'Essence Rune'420 # '3' for 'Fortification Rune'421 # '4' for 'Frenzy Rune'422 # '5' for 'Healing Rune'423 # '6' for 'Immunity Rune'424 # '7' for 'Mana Rune'425 # '8' for 'Poison Warding Rune'426 # '9' for 'Rage Rune'427 # '10' for 'Spellshielding Rune'428 # '11' for 'Spell Rune'429 # '12' for 'Toxicity Rune'430 # '13' for 'Trap Rune'431 # '14' for 'Place random rune found in inventory'432 433 @setvar! ArcaneRunePlacementCooldown 120000434 // Set 'EnablePlaceArcaneRunes' variable above to corresponding Arcane Rune you wish to place ('1-14')435 // Placement is triggered by PEACE MODE during combat loop (selected rune will be placed and WAR MODE will be resumed)436 // Placement cooldown can be controlled with 'ArcaneRunePlacementCooldown' variable above (default is 2 mins/120000ms)437 438 439/////////////////////////440//' NECROMANCY: '//441/////////////////////////442 443@setvar! MinimumManaAmounttoNecroBuff 20444 @setvar! EnableNecroStrangle 0445 @setvar! EnableNecroCorpseSkin 1446 @setvar! EnableNecroMindRot 1447 @setvar! EnableNecroEvilOmen 0448 # Necro buffs will be used (during combat) if Unholy Points are sufficient and minimum mana is exceeded449 # For optimum performance 'MinimumManaAmounttoNecroBuff' should be the same or higher than 'CastSmallSpellsBelowMana' (below)450 451@setvar! EnableNecroPainSpike 0452 @setvar! PainSpikeAttackDelay 15000453 # Adjust delay after acquiring a new target before attempting Pain Spike (to accumulate damage)454 # Increase delay if fighting tougher MOBs.455 # Timer starts when new target is attacked and delays Pain Spike (must have corpses in range to trigger)456 457@setvar! EnableNecroPoisonStrike 0458 # '0' for 'Disabled'459 # '1' for 'Apply after Corpse Skin disease delay timer only'460 # DO NOT USE SETTING '1' IF INTENDING TO TRIGGER FROM CAST POISON TICKS (use '2 - 9' instead!)461 # SETTING '1' IS FOR CORPSE SKIN DISEASE TRIGGERED POISON STRIKES ONLY! (set delay value below)462 # '2' for 'Apply in 2 poison ticks left or less'463 # '3' for 'Apply in 3 poison ticks left or less'464 # '4' for 'Apply in 4 poison ticks left or less'465 # '5' for 'Apply in 5 poison ticks left or less'466 # '6' for 'Apply in 6 poison ticks left or less'467 # '7' for 'Apply in 7 poison ticks left or less'468 # '8' for 'Apply in 8 poison ticks left or less'469 # '9' for 'Apply in 9 poison ticks left or less'470 # Poison Strike will be triggered by remaining Ticks (if spell poisoned) or by Corpse Skin timer (if diseased)471 # If using spell poison, use values '2 - 9' to set your Poison Strike trigger point (if sufficient Unholy Points available, etc.)472 # Poison Strike settings '2 - 9' require 'EnableCastPoison' turned on! (below)473 # If NOT using spell poison, use value '1' and set delay below (Corpse Skin must be enabled)474 475 @setvar! CorpseSkinPoisonStrikeDelay 18000476 # Poison Strike setting '1' requires 'EnableNecroCorpseSkin' turned on (above)477 # Setting 'CorpseSkinPoisonStrikeDelay' is the delay after casting CORPSE SKIN on NEW target before triggering POISON STRIKE478 # Increase delay value if fighting tougher MOBs479 480 481///////////////////////////482//' ARCANE CODEX: '//483///////////////////////////484 485@setvar! EnableArcaneCodexHotbar 0486@setvar! EnableArcaneCodexAbilityHotbar 0487 488@setvar! EnableArcaneCodexStances 0489 # '0' for 'Disabled'490 # '1' for 'Leech Stance'491 # '2' for 'Shield Stance'492 # '3' for 'Scatter Stance'493 # '4' for 'Fracture Stance'494 # '5' for 'Surge Stance'495 # '6' for 'Auto Arcane Stance Switching'496 // Auto: WAR = 'Leech Stance' PEACE = 'Surge Stance' BLEED/POISON/LOWHP = 'Shield Stance'497 498@setvar! EnableArcaneCodexFinisher 0499 # '0' for 'Disabled'500 # '1' for 'Clarity Finisher'501 # '2' for 'Catalyst Finisher'502 # '3' for 'Auto Arcane Finisher Switching'503 // Auto: WAR/PEACE = 'Clarity Finisher' BLEED/POISON/LOWHP = 'Catalyst Finisher'504 505if EnableArcaneCodexStances = 6 or EnableArcaneCodexFinisher = 3506 @setvar! SwitchArcaneCodexCooldown 0507 # If using Auto Weapon Stance or Finisher switching adjust this cooldown to avoid switching stances too often508endif509 510@setvar! EnableArcaneWeaponAbility 0511 # '0' for 'Disabled'512 # '1' for 'Seeking Ability'513 # '2' for 'Leyline Ability'514 # '3' for 'Soulfire Ability'515 516 517///////////////////////////518//' SHIELD CODEX: '//519///////////////////////////520 521@setvar! EnableShieldCodexHotbar 0522 523@setvar! EnableShieldCodexStances 0524 # '0' for 'Disabled'525 # '1' for 'Shield Bash Stance'526 # '2' for 'Warding Stance'527 # '3' for 'Testudo Stance'528 # '4' for 'Mirror Stance'529 # '5' for 'Bulwark Stance'530 # '6' for 'Auto Shield Stance Switching'531 // Auto: WAR = 'Testudo Stance' PEACE = 'Bulwark Stance' BLEED/POISON/LOWHP = 'Warding Stance'532 533@setvar! EnableShieldCodexFinisher 0534 # '0' for 'Disabled'535 # '1' for 'Last Stand Finisher'536 # '2' for 'Barrier Finisher'537 # '3' for 'Auto Shield Finisher Switching'538 // Auto: PEACE/WAR = 'Last Stand Finisher' BLEED/POISON/LOWHP = 'Barrier Finisher'539 540if EnableShieldCodexStances = 6 or EnableShieldCodexFinisher = 3541 @setvar! SwitchShieldCodexCooldown 0542 # If using Auto Shield Stance or Finisher switching adjust this cooldown to avoid switching stances too often543endif544 545 546//////////////////////////547//' UTILITY: '//548//////////////////////////549 550@setvar! EnableOverheadMessages 1551 # '0' Most overhead messages will be turned OFF (minimal target indicators will remain)552 # '1' All overhead messages will be turned ON (default mode)553 # '2' Only overhead messages for targeting or important warnings will be turned ON (my preferred mode!)554 555@setvar! EnableAutoCarving 0556 # Will automatically carve nearby corpses when found (requires SKINNING KNIFE)557 558@setvar! EnableAutoSatchels 0559 # Will automatically move potions and/or reagents to satchels (requires POTION or WIZARD SATCHELS)560 561@setvar! EnableGoldVacuum 0562 # Will automatically pickup discarded GOLD COINS nearby (2 tiles)563 # WARNING: This can cause you to grab large stacks of gold (and weigh you down) if you are not careful!564 565@setvar! EnableDungeonCleanup 0566 # Will automatically pickup discarded resources (regs, ingots, boards, etc.) nearby (2 tiles)567 568@setvar! EnableDropGoldWhenOverweight 0569 @setvar! DropGoldAmount 250570 # Will drop set amount of gold repeatedly when overweight until no longer impeded571 572@setvar! EnablePutLootinLockBox 0573 # Will move all loot into wooden box and then immediately lock it (requires WOODEN BOX and COPPER KEY)574 # Key must be kept outside the container (but not in your main pack where it can be stolen)575 # All loot will be automatically moved and secured while FARMING576 # This is a MUST for dungeon farming IMO - if you are not using this, you really should!577 578 @setvar! StoreLootTimer 4500579 # StoreLootTimer is the delay to trigger loot storage after target is eliminated580 581 # Use '>info' to ID anything you do NOT want locked up (up to 5 items) and add the serials here:582 @setvar! ItemToIgnore1 0x00000000583 @setvar! ItemToIgnore2 0x00000000584 @setvar! ItemToIgnore3 0x00000000585 @setvar! ItemToIgnore4 0x00000000586 @setvar! ItemToIgnore5 0x00000000587 # Anything you list above will be skipped while securing loot to avoid locking up things you do not want to. These items will be ignored (only during loot transfers)588 # You should add spare weapons or any other "loot" items that you do not want secured away during combat (blessed items should now be ignored automatically)589 590@setvar! EnableLootBag 0591 # Will open your selected LOOTBAG when unloading at HOME/INN/BANK (if using BUILT IN AUTO RECALL)592 # This should be the bag that is set as your 'Grab Bag' in Gridloot, etc.593 # You will be prompted to select a new loot bag whenever one is not found in your inventory594 # This can be retargeted in the 'Options' tab above the script (or by a full script reset)595 596@setvar! EnableWeightWarningMessage 1597 @setvar! GreenWarningDiffWeight 50598 @setvar! YellowWarningDiffWeight 25599 @setvar! RedWeightLimitDiffWeight 5600 # Will display overhead warnings that change colour as they approach your carry weight limit (Green, Yellow and Red)601 # Red weight limit will trigger AUTO RECALL or AUTO DUNGEON GATE if enabled below (otherwise just an overhead warning and script ends)602 603 604/////////////////////////////605//' AUTO RECALL/GATE: '//606/////////////////////////////607 608##########################609#' PK TRIGGERS: '#610##########################611 612// RED RECALL/ESCAPE (w/ TRACKING SKILL): //613 614if skill 'Tracking' >= 50615 616 @setvar! EnableTrackingAutoRecall 0617 # Make sure "Ignore Houses/Ships" is checked in the Tracking skill menu!618 619 if EnableTrackingAutoRecall = 1620 @setvar! PKTrackingRange 50621 # Range can be 40, 50 or 60 tiles (or 0 will trigger Auto Recall regardless of range)622 623 @setvar! EnableRedAlertOverhead 1624 # If your build has tracking skill, I highly recommend setting up a Razor overhead message instead of using the script one:625 // This will display PK name/distance overhead when tracked!626 // Add overhead message w/ a trigger of "Now tracking" and message '[ RED ALERT: {3} ]' (hue 335)627 // Then a second with a trigger of "Distance to destination" and message '[ {4} TILES AWAY! ]' (hue 253)628 // Once complete you should disable "EnableRedAlertOverhead" above629 630 if WILDERNESSMODE = 1631 @setvar! EnableAutoRedRecall 0632 # Auto Recall triggered if PK is tracked within 'PKTrackingRange' tiles (wilderness only)633 634 elseif DUNGEONMODE = 1635 @setvar! EnableAutoRedDungeonGate 0636 # Auto Dungeon Gate triggered if PK is tracked within 'PKTrackingRange' tiles (dungeons only)637 @setvar! DungeonEscapeTimeLimit 60000638 endif639 endif640 641 642// RED RECALL/ESCAPE (w/ NO TRACKING SKILL): //643 644elseif skill 'Tracking' < 50645 646 @setvar! EnablePKradar 0647 # PK radar must be enabled for Auto Red Recall/Dungeon Gate to function (w/o Tracking Skill)648 # Radar checks for PK targets within range (roughly every 2 secs) and will alert with an overhead message and/or trigger escapes649 650 if EnablePKradar = 1651 @setvar! EnableRedAlertOverhead 1652 # Optional overhead message alert when PK is targeted (independent of other overhead message settings)653 654 if WILDERNESSMODE = 1655 @setvar! EnableAutoRedRecall 0656 # Auto Recall triggered if PK comes into (~12 tile) target range (wilderness only)657 658 elseif DUNGEONMODE = 1659 @setvar! EnableAutoRedDungeonGate 0660 # Auto Dungeon Gate triggered if PK comes into (~12 tile) target range (dungeons only)661 @setvar! DungeonEscapeTimeLimit 60000662 endif663 endif664endif665 666############################667#' WEIGHT TRIGGERS: '#668############################669 670 if EnableWeightWarningMessage = 1671 if WILDERNESSMODE = 1672 @setvar! EnableAutoWeightRecall 0673 674 elseif DUNGEONMODE = 1675 @setvar! EnableAutoWeightDungeonGate 0676 @setvar! EnableRecallAfterDungeonGate 0677 endif678 endif679 # Requires 'EnableWeightWarningMessage' to be enabled (above) and is triggered by Red weight limit680 # Auto Recall or Auto Dungeon Gating will be triggered if 'RedWeightLimitDiffWeight' is reached (set above)681 # Auto Recall can also be triggered (optionally) upon successful dungeon gate exit via 'EnableRecallAfterDungeonGate'682 683##############################684#' RESURRECTION TRIGGERS: '#685##############################686 687 @setvar! EnableRecallAfterResurrection 0688 # Must have [blessed] runebook charged w/ scrolls to recall after resurrection!689 690 691###########################################################692####' YOU CAN TRIGGER YOUR OWN RAZOR RECALL SCRIPT: '####693###########################################################694 695# Enable use of your own Razor script for Auto Recall (otherwise script will prompt for a Runebook and use built-in auto recall):696 @setvar! EnableDIYRecallScript 0697 698 // Type the name of your own Home Recall Razor script here: //699 createlist DIYRecallScriptList700 pushlist DIYRecallScriptList " YOUR RECALL SCRIPT NAME "701 702 703 ############################################################704 ####' OR USE THE BUILT-IN AUTO RECALL/ESCAPE SCRIPT: '####705 ############################################################706 707 @setvar! EnableCastRecall 1708 # '0' for 'Scrolls in charged Runebook to "first" rune'709 # '1' for 'Cast Recall to Runebook using "default" rune'710 711 // AUTO RECALL DESTINATION (choose only one): //712 @setvar! BankRecall 0713 @setvar! OwnerInnRecall 0714 @setvar! CoOwnerInnRecall 0715 @setvar! InsideHouseRecall 0716 @setvar! OutsideHouseRecall 0717 718 if OutsideHouseRecall = 1719 @setvar! EnableCloseMyDoor 0720 @setvar! MyDoor 0x00000000721 # Use ">info" to ID your own house door (to quickly close it behind you)722 endif723 724 @setvar! HideAtHomeorInn 0725 # Will use hiding skill once inside home or inn room726 727 728 // LOADOUT RESET (after RECALL): //729 # Safe, Repair Bench, Resource Stockpile, Storage Shelf, Magic Recycler and/or Loot Chest must be found within 2 tiles!730 # Storage Tomes can be locked down (within 2 tiles) or located inside Loot Chest or Storage Tome Container731 732 @setvar! EnableAutoRecallOverheadMessages 1733 # Controls overhead messages for recall section only734 735 @setvar! EnableSafeDeposit 0736 # Will deposit all gold and doubloons found in inventory737 @setvar! EnableRepairBench 0738 # Will repair all equipment (Repair Bench must have charges available)739 @setvar! EnableResourceStockpile 0740 # Will deposit all resources (ingots, boards, gems, etc.)741 @setvar! EnableStorageShelf 0742 # Will restock shelf and then resupply a fresh loadout743 @setvar! EnableMagicRecycler 0744 # Will add all unidentified magic items to your Recycler745 @setvar! EnableRecycleItemsWhenFull 0746 # If Recycler is full, it will attempt to ID, Recycle and deposit resources (if stockpile nearby) before adding items747 @setvar! EnableStorageTomes 0748 # Will add items to any nearby storage tomes (skill scrolls, dyes, runes, maps, cards, etc)749 @setvar! EnableStorageTomeContainer 0750 # Script checks on ground (2 tiles) or in LOOT CHEST (enable below) by default751 # Otherwise you can designate a TOME CONTAINER to check for your books752 @setvar! EnableReagentSplitter 0753 # Will split reagents into smaller stacks after shelf resupply754 @setvar! EnableLootChest 0755 # Will open selected chest to store non-shelf/stockpile/tome items in your HOME/INN/BANK (uses Razor organizer agents 06-09)756 757 758 // LOADOUT RESET (after DEATH): //759 # This variable will dress you and reorganize your backpack after death (see instructions below)760 # Your pack will be setup with anti-theft measures and all aspects will be reactivated, etc.761 762 @setvar! EnableDressAfterResurrection 0763 # Must have a Razor 'Dress List' named 'UltimateArcaneMage' for all your [blessed] wearables764 765 @setvar! EnableResetInventoryAfterDeath 0766 @setvar! EnableSetMainPouchOrganizer01 0767 // Requires an equal amount of TRAPPED POUCHES (in shelf loadout) and SCISSORS [blessed] (in backpack)768 // Loadout also requires 1 UNTRAPPED POUCH (for main inventory - optionally set as Organizer Agent-01 above) and 1 BAG (for loot, etc.)769 // Script will put scissors in each trapped pouch (to keep them from being grabbed during future shelf loading)770 // Script then STACKS any trapped pouches on top of your main inventory pouch771 // Loot bag will be moved into main inventory pouch and automatically set as your Grab Bag for Gridloot, etc.772 // Script will then hide the stack underneath an ATLAS and put a DECOY TRAPPED POUCH out in the open773 // ASPECT WEAPON and ARMOR will be re-activated automatically and HP restored to MAX774 // Loadout reset finishes by opening backpack, main pouch, loot bag and any satchels775 776 777///////////////////////////778//' SCRIPT MODES: '//779///////////////////////////780 781 // I use this variable to setup multiple "modes" with different hotkeys.782 # Copy and paste to new script and update variables for different setups (Dungeon, Wilderness, SYG, etc.)783 # Just change the NUMBERS (ie. 'if ScriptMode = 2'/'@setvar! ScriptMode 2') and overhead message (ie.'overhead "[ WILDERNESS MODE ]" 1182') for each version784 # Script will only display overhead mode message when switching between modes or upon first run of a new client login785 # I use a ROG Ally and set each hotkey to a different button (A, B, X, Y) and have multiple script modes at the ready!786 787 if DUNGEONMODE = 1788 if ScriptMode = 1789 // Do nothing790 else791 overhead "[ DUNGEON MODE ]" 2338792 @setvar! ScriptMode 1793 hotkey 'Toggle War Only'794 endif795 elseif WILDERNESSMODE = 1796 if ScriptMode = 2797 // Do nothing798 else799 overhead "[ WILDERNESS MODE ]" 1182800 @setvar! ScriptMode 2801 hotkey 'Toggle War Only'802 endif803 endif804 805 806//////////////////////////807//' MOB IGNORE LIST: '//808//////////////////////////809 810removelist animalsIgnoreList811createlist animalsIgnoreList812pushlist animalsIgnoreList "a plover"813pushlist animalsIgnoreList "a sheep"814pushlist animalsIgnoreList "a frenzied ostard"815pushlist animalsIgnoreList "a tundra ostard"816pushlist animalsIgnoreList "a desert ostard"817pushlist animalsIgnoreList "a forest ostard"818pushlist animalsIgnoreList "a finch"819pushlist animalsIgnoreList "a sparrow"820pushlist animalsIgnoreList "a towhee"821pushlist animalsIgnoreList "a lapwing"822pushlist animalsIgnoreList "a silverback"823pushlist animalsIgnoreList "a giant frog"824pushlist animalsIgnoreList "a crow"825pushlist animalsIgnoreList "a woodpecker"826pushlist animalsIgnoreList "a horse"827pushlist animalsIgnoreList "a swift"828pushlist animalsIgnoreList "a skylark"829pushlist animalsIgnoreList "a hawk"830pushlist animalsIgnoreList "a chickadee"831pushlist animalsIgnoreList "a cat"832pushlist animalsIgnoreList "a dog"833pushlist animalsIgnoreList "a black bear"834pushlist animalsIgnoreList "a brown bear"835pushlist animalsIgnoreList "a grizzly bear"836pushlist animalsIgnoreList "a bull"837pushlist animalsIgnoreList "a cow"838pushlist animalsIgnoreList "a chicken"839pushlist animalsIgnoreList "a bird"840pushlist animalsIgnoreList "an eagle"841pushlist animalsIgnoreList "an elk"842pushlist animalsIgnoreList "a great hart"843pushlist animalsIgnoreList "a kingfisher"844pushlist animalsIgnoreList "a hind"845pushlist animalsIgnoreList "a llama"846pushlist animalsIgnoreList "a sand crab"847pushlist animalsIgnoreList "a pig"848pushlist animalsIgnoreList "a polar bear"849pushlist animalsIgnoreList "a walrus"850pushlist animalsIgnoreList "a cougar"851pushlist animalsIgnoreList "a wolf"852pushlist animalsIgnoreList "a goat"853pushlist animalsIgnoreList "a raven"854pushlist animalsIgnoreList "a magpie"855pushlist animalsIgnoreList "a warbler"856pushlist animalsIgnoreList "a tern"857pushlist animalsIgnoreList "a nightingale"858pushlist animalsIgnoreList "a wren"859pushlist animalsIgnoreList "a nuthatch"860pushlist animalsIgnoreList "a starling"861pushlist animalsIgnoreList "a cuckoo"862pushlist animalsIgnoreList "ADD MOBS TO IGNORE HERE"863pushlist animalsIgnoreList "ADD MOBS TO IGNORE HERE"864pushlist animalsIgnoreList "ADD MOBS TO IGNORE HERE"865 866///////////////////////////867//' END OF VARIABLES! '//868///////////////////////////869 870 871 872 873 874################ !EDIT BELOW THIS LINE AT YOUR OWN RISK! ######## !EDIT BELOW THIS LINE AT YOUR OWN RISK! ######## !EDIT BELOW THIS LINE AT YOUR OWN RISK! ######## !EDIT BELOW THIS LINE AT YOUR OWN RISK! ################875 876 877 878 879 880///////////////////////881// SCRIPT RESET: //882///////////////////////883 884 885if ResetScriptPermanentVariables = 1886 @setvar! IHAVEDIED 0887 @setvar! TimeToGo 0888 @setvar! DungeonGateThenTimeToGo 0889 @setvar! ResThenTimeToGo 0890 @setvar! RecallScrollsOnly 0891 @setvar! RedTargetFound 0892 @setvar! RECALLTIME 0893 @setvar! WarModeToggledWhileFighting 0894 unsetvar AutoRecallChargedRunebook895 unsetvar FirstRunArcaneMage896 unsetvar ArcaneMageAutoPilot897 unsetvar LootBag898 unsetvar LootChest899 overhead "[ SCRIPT VARIABLES RESET... ]" 333900 sysmsg "Please return 'ResetScriptPermanentVariables' to '0' to continue!" 153901 stop902endif903 904 905///////////////////////906// TIMER SETUPS: //907///////////////////////908 909if TimeToGo != 1 and AutoRecallTime != 1910 if not timerexists 'PotionKegPVPCooldown'911 createtimer 'PotionKegPVPCooldown'912 settimer 'PotionKegPVPCooldown' 30000913 endif914 915 if not timerexists 'WorldSaveTimer'916 createtimer 'WorldSaveTimer'917 settimer 'WorldSaveTimer' 0918 endif919 920 if not timerexists 'LootTimer'921 createtimer 'LootTimer'922 settimer 'LootTimer' 0923 endif924 925 if not timerexists 'PurplePotionTimer'926 createtimer 'PurplePotionTimer'927 settimer 'PurplePotionTimer' 0928 endif929 930 if not timerexists 'FlamestrikeCooldownTimer'931 createtimer 'FlamestrikeCooldownTimer'932 settimer 'FlamestrikeCooldownTimer' FlamestrikeCooldown933 endif934 935 if not timerexists 'ExplosionCooldownTimer'936 createtimer 'ExplosionCooldownTimer'937 settimer 'ExplosionCooldownTimer' ExplosionCooldown938 endif939 940 if not timerexists 'EnergyBoltCooldownTimer'941 createtimer 'EnergyBoltCooldownTimer'942 settimer 'EnergyBoltCooldownTimer' EnergyBoltCooldown943 endif944 945 if not timerexists 'MindBlastCooldownTimer'946 createtimer 'MindBlastCooldownTimer'947 settimer 'MindBlastCooldownTimer' MindBlastCooldown948 endif949 950 if not timerexists 'WeightTimer'951 createtimer 'WeightTimer'952 settimer 'WeightTimer' 0953 endif954 955 if not timerexists 'PKRadar'956 createtimer 'PKRadar'957 settimer 'PKRadar' 0958 endif959 960 if not timerexists 'DungeonEscape'961 createtimer 'DungeonEscape'962 settimer 'DungeonEscape' 0963 endif964 965 if not timerexists 'TargetChecker'966 createtimer 'TargetChecker'967 settimer 'TargetChecker' 0968 endif969 970 if not timerexists 'TauntingTimer'971 createtimer 'TauntingTimer'972 settimer 'TauntingTimer' 0973 endif974 975 if not timerexists 'WeaponCodexTimer'976 createtimer 'WeaponCodexTimer'977 settimer 'WeaponCodexTimer' 0978 endif979 980 if not timerexists 'WeaponCodexCheckTimer'981 createtimer 'WeaponCodexCheckTimer'982 settimer 'WeaponCodexCheckTimer' 2000983 endif984 985 if not timerexists 'ShieldCodexTimer'986 createtimer 'ShieldCodexTimer'987 settimer 'ShieldCodexTimer' 0988 endif989 990 if not timerexists 'ShieldCodexCheckTimer'991 createtimer 'ShieldCodexCheckTimer'992 settimer 'ShieldCodexCheckTimer' 2000993 endif994 995 if not timerexists 'DungeonCleanup'996 createtimer 'DungeonCleanup'997 settimer 'DungeonCleanup' 0998 endif999 1000 if not timerexists 'DungeonCleanupRadar'1001 createtimer 'DungeonCleanupRadar'1002 settimer 'DungeonCleanupRadar' 01003 endif1004 1005 if not timerexists 'ArcaneStaffCheck'1006 createtimer 'ArcaneStaffCheck'1007 settimer 'ArcaneStaffCheck' 45001008 endif1009 1010 if not timerexists 'TargetTimer'1011 createtimer 'TargetTimer'1012 settimer 'TargetTimer' 45001013 endif1014 1015 if not timerexists 'MissingRegsTimer'1016 createtimer 'MissingRegsTimer'1017 settimer 'MissingRegsTimer' 45001018 endif1019 1020 if not timerexists 'ManaOverheadTimer'1021 createtimer 'ManaOverheadTimer'1022 settimer 'ManaOverheadTimer' 45001023 endif1024 1025 if not timerexists 'REDALERT'1026 createtimer 'REDALERT'1027 settimer 'REDALERT' 01028 endif1029 1030 if not timerexists 'MANAWAIT'1031 createtimer 'MANAWAIT'1032 settimer 'MANAWAIT' 45001033 endif1034 1035 if not timerexists 'GETCLOSER'1036 createtimer 'GETCLOSER'1037 settimer 'GETCLOSER' 45001038 endif1039 1040 if not timerexists 'GATEHERE'1041 createtimer 'GATEHERE'1042 settimer 'GATEHERE' 45001043 endif1044 1045 if not timerexists 'RECALLDELAY'1046 createtimer 'RECALLDELAY'1047 settimer 'RECALLDELAY' 45001048 endif1049 1050 if not timerexists 'RUNAWAY'1051 createtimer 'RUNAWAY'1052 settimer 'RUNAWAY' 60001053 endif1054 1055 if not timerexists 'STORELOOT'1056 createtimer 'STORELOOT'1057 settimer 'STORELOOT' 50001058 endif1059 1060 if not timerexists 'OverweightMessageTimer'1061 createtimer 'OverweightMessageTimer'1062 settimer 'OverweightMessageTimer' 45001063 endif1064 1065 if not timerexists 'InventoryCheck'1066 createtimer 'InventoryCheck'1067 settimer 'InventoryCheck' 50001068 endif1069 1070 if not timerexists 'FoodMessageTimer'1071 createtimer 'FoodMessageTimer'1072 settimer 'FoodMessageTimer' 45001073 endif1074 1075 if not timerexists 'PouchMessageTimer'1076 createtimer 'PouchMessageTimer'1077 settimer 'PouchMessageTimer' 45001078 endif1079 1080 if not timerexists 'PotionKegTimer'1081 createtimer 'PotionKegTimer'1082 settimer 'PotionKegTimer' 35001083 endif1084 1085 if not timerexists 'HealPotionTimer'1086 createtimer 'HealPotionTimer'1087 settimer 'HealPotionTimer' 110001088 endif1089 1090 if not timerexists 'TelekinesisTimer'1091 createtimer 'TelekinesisTimer'1092 settimer 'TelekinesisTimer' 600001093 endif1094 1095 if not timerexists 'OrganizerAgentTimer'1096 createtimer 'OrganizerAgentTimer'1097 settimer 'OrganizerAgentTimer' 150001098 endif1099 1100 if not timerexists 'MeditationOverheadTimer'1101 createtimer 'MeditationOverheadTimer'1102 settimer 'MeditationOverheadTimer' 50001103 endif1104 1105 if not timerexists 'SkinningTimer'1106 createtimer 'SkinningTimer'1107 settimer 'SkinningTimer' 50001108 endif1109 1110 if not timerexists 'MeditationTimer'1111 createtimer 'MeditationTimer'1112 settimer 'MeditationTimer' 105001113 endif1114 1115 if not timerexists 'ArcaneWeaponAbilityTimer'1116 createtimer 'ArcaneWeaponAbilityTimer'1117 settimer 'ArcaneWeaponAbilityTimer' 105001118 endif1119 1120 if not timerexists 'MagicReflectTimer'1121 createtimer 'MagicReflectTimer'1122 settimer 'MagicReflectTimer' 150001123 endif1124 1125 if not timerexists 'EvilOmenTimer'1126 createtimer 'EvilOmenTimer'1127 settimer 'EvilOmenTimer' 300001128 endif1129 1130 if not timerexists 'CorpseSkinTimer'1131 createtimer 'CorpseSkinTimer'1132 settimer 'CorpseSkinTimer' 300001133 endif1134 1135 if not timerexists 'PainSpikeTimer'1136 createtimer 'PainSpikeTimer'1137 settimer 'PainSpikeTimer' 300001138 endif1139 1140 if not timerexists 'PainSpikeDelayTimer'1141 createtimer 'PainSpikeDelayTimer'1142 settimer 'PainSpikeDelayTimer' 100001143 endif1144 1145 if not timerexists 'StrangleTimer'1146 createtimer 'StrangleTimer'1147 settimer 'StrangleTimer' 300001148 endif1149 1150 if not timerexists 'MindRotTimer'1151 createtimer 'MindRotTimer'1152 settimer 'MindRotTimer' 300001153 endif1154 1155 if not timerexists 'EatManaSnackCooldownTimer'1156 createtimer 'EatManaSnackCooldownTimer'1157 settimer 'EatManaSnackCooldownTimer' EatManaSnackCooldown1158 endif1159 1160 if not timerexists 'EatHealSnackCooldownTimer'1161 createtimer 'EatHealSnackCooldownTimer'1162 settimer 'EatHealSnackCooldownTimer' EatHealSnackCooldown1163 endif1164 1165 if not timerexists 'WizardSatchelTimer'1166 createtimer 'WizardSatchelTimer'1167 settimer 'WizardSatchelTimer' 600001168 endif1169 1170 if not timerexists 'PotionSatchelTimer'1171 createtimer 'PotionSatchelTimer'1172 settimer 'PotionSatchelTimer' 600001173 endif1174 1175 if not timerexists 'CurseTimer'1176 createtimer 'CurseTimer'1177 settimer 'CurseTimer' 600001178 endif1179 1180 if not timerexists 'ManaDrainTimer'1181 createtimer 'ManaDrainTimer'1182 settimer 'ManaDrainTimer' 600001183 endif1184 1185 if not timerexists 'MagicArrowTimer'1186 createtimer 'MagicArrowTimer'1187 settimer 'MagicArrowTimer' MagicArrowCooldown1188 endif1189 1190 if not timerexists 'HarmTimer'1191 createtimer 'HarmTimer'1192 settimer 'HarmTimer' HarmCooldown1193 endif1194 1195 if not timerexists 'FireballTimer'1196 createtimer 'FireballTimer'1197 settimer 'FireballTimer' FireballCooldown1198 endif1199 1200 if not timerexists 'LightningTimer'1201 createtimer 'LightningTimer'1202 settimer 'LightningTimer' LightningCooldown1203 endif1204 1205 if not timerexists 'MushroomTimer'1206 createtimer 'MushroomTimer'1207 settimer 'MushroomTimer' 600001208 endif1209 1210 if not timerexists 'WeightMessageTimer'1211 createtimer 'WeightMessageTimer'1212 settimer 'WeightMessageTimer' 50001213 endif1214 1215 if not timerexists 'PKRadarTimer'1216 createtimer 'PKRadarTimer'1217 settimer 'PKRadarTimer' 15001218 endif1219 1220 if not timerexists 'GoldRadar'1221 createtimer 'GoldRadar'1222 settimer 'GoldRadar' 50001223 endif1224 1225 if not timerexists 'AnalyzingTargetsTimer'1226 createtimer 'AnalyzingTargetsTimer'1227 settimer 'AnalyzingTargetsTimer' 50001228 endif1229 1230 if not timerexists 'CannotSeeTargetTimer'1231 createtimer 'CannotSeeTargetTimer'1232 settimer 'CannotSeeTargetTimer' 50001233 endif1234 1235 if not timerexists 'ReactiveArmorTimer'1236 createtimer 'ReactiveArmorTimer'1237 settimer 'ReactiveArmorTimer' 50001238 endif1239 1240 if not timerexists 'AttackTargetTimer'1241 createtimer 'AttackTargetTimer'1242 settimer 'AttackTargetTimer' 50001243 endif1244 1245 if not timerexists 'HealPotionMessageTimer'1246 createtimer 'HealPotionMessageTimer'1247 settimer 'HealPotionMessageTimer' 50001248 endif1249 1250 if not timerexists 'BluePotionMessageTimer'1251 createtimer 'BluePotionMessageTimer'1252 settimer 'BluePotionMessageTimer' 45001253 endif1254 1255 if not timerexists 'PurplePotionMessageTimer'1256 createtimer 'PurplePotionMessageTimer'1257 settimer 'PurplePotionMessageTimer' 150001258 endif1259 1260 if not timerexists 'CurePotionMessageTimer'1261 createtimer 'CurePotionMessageTimer'1262 settimer 'CurePotionMessageTimer' 45001263 endif1264 if not timerexists 'WhitePotionMessageTimer'1265 createtimer 'WhitePotionMessageTimer'1266 settimer 'WhitePotionMessageTimer' 50001267 endif1268 1269 if not timerexists 'BlackPotionMessageTimer'1270 createtimer 'BlackPotionMessageTimer'1271 settimer 'BlackPotionMessageTimer' 50001272 endif1273 1274 if not timerexists 'RedPotionMessageTimer'1275 createtimer 'RedPotionMessageTimer'1276 settimer 'RedPotionMessageTimer' 50001277 endif1278 1279 if not timerexists 'CorpseSkinDiseaseTimer'1280 createtimer 'CorpseSkinDiseaseTimer'1281 settimer 'CorpseSkinDiseaseTimer' 300001282 endif1283 1284 if not timerexists 'PoisonStrikeTimer'1285 createtimer 'PoisonStrikeTimer'1286 settimer 'PoisonStrikeTimer' 300001287 endif1288 1289 if not timerexists 'MeditationMessageTimer'1290 createtimer 'MeditationMessageTimer'1291 settimer 'MeditationMessageTimer' 50001292 endif1293 1294 if not timerexists 'NothingToTargetMessageTimer'1295 createtimer 'NothingToTargetMessageTimer'1296 settimer 'NothingToTargetMessageTimer' 50001297 endif1298 1299 if not timerexists 'LootStorageTimer'1300 createtimer 'LootStorageTimer'1301 settimer 'LootStorageTimer' 50001302 endif1303 1304 if not timerexists 'SwapTargetsTimer'1305 createtimer 'SwapTargetsTimer'1306 settimer 'SwapTargetsTimer' 50001307 endif1308 1309 if not timerexists 'AutoHealOverheadTimer'1310 createtimer 'AutoHealOverheadTimer'1311 settimer 'AutoHealOverheadTimer' 50001312 endif1313 1314 if not timerexists 'TargetIsTooFarTimer'1315 createtimer 'TargetIsTooFarTimer'1316 settimer 'TargetIsTooFarTimer' 50001317 endif1318 1319 if not timerexists 'AntiStallTimer'1320 createtimer 'AntiStallTimer'1321 settimer 'AntiStallTimer' 35001322 endif1323 1324 if not timerexists 'SkinningTimeoutTimer'1325 createtimer 'SkinningTimeoutTimer'1326 settimer 'SkinningTimeoutTimer' 35001327 endif1328 1329 if not timerexists 'spellTimer'1330 createtimer 'spellTimer'1331 settimer 'spellTimer' 01332 endif1333 1334 if not timerexists 'WaitingToRecallTimer'1335 createtimer 'WaitingToRecallTimer'1336 settimer 'WaitingToRecallTimer' 45001337 endif1338 1339 if not timerexists 'MushroomMakerTimer'1340 createtimer 'MushroomMakerTimer'1341 settimer 'MushroomMakerTimer' 45001342 endif1343 1344 if not timerexists 'IgnoreMOBtimer'1345 createtimer 'IgnoreMOBtimer'1346 settimer 'IgnoreMOBtimer' 30001347 endif1348 1349 if not timerexists 'NoHealRegsTimer'1350 createtimer 'NoHealRegsTimer'1351 settimer 'NoHealRegsTimer' 45001352 endif1353 1354 if not timerexists 'PopPouchMessageTimer'1355 createtimer 'PopPouchMessageTimer'1356 settimer 'PopPouchMessageTimer' 45001357 endif1358 1359 if not timerexists 'EatFoodMessageTimer'1360 createtimer 'EatFoodMessageTimer'1361 settimer 'EatFoodMessageTimer' 45001362 endif1363 1364 if not timerexists 'RepairTimer'1365 createtimer 'RepairTimer'1366 settimer 'RepairTimer' 01367 endif1368 1369 if not timerexists 'WaitingForHealerTimer'1370 createtimer 'WaitingForHealerTimer'1371 settimer 'WaitingForHealerTimer' 45001372 endif1373 1374 if not timerexists 'GateIndicatorTimer'1375 createtimer 'GateIndicatorTimer'1376 settimer 'GateIndicatorTimer' 45001377 endif1378 1379 if not timerexists 'CleansingBrewTimer'1380 createtimer 'CleansingBrewTimer'1381 settimer 'CleansingBrewTimer' 1200001382 endif1383 1384 if not timerexists 'CleansingBrewOverhead'1385 createtimer 'CleansingBrewOverhead'1386 settimer 'CleansingBrewOverhead' 150001387 endif1388 1389 if not timerexists 'ArcaneRuneTimer'1390 createtimer 'ArcaneRuneTimer'1391 settimer 'ArcaneRuneTimer' ArcaneRunePlacementCooldown1392 endif1393 1394 if not timerexists 'NecroCooldownTimer'1395 createtimer 'NecroCooldownTimer'1396 settimer 'NecroCooldownTimer' 50001397 endif1398 1399 if not timerexists 'BandageMessageTimer'1400 createtimer 'BandageMessageTimer'1401 settimer 'BandageMessageTimer' 15001402 endif1403 1404 if not timerexists 'NoTargetTimer'1405 createtimer 'NoTargetTimer'1406 settimer 'NoTargetTimer' 50001407 endif1408 1409 if not varexist AutoRecallTime1410 @setvar! AutoRecallTime 01411 endif1412 1413 if not varexist previousTarget1414 @setvar! previousTarget 01415 endif1416 1417 if not varexist FirstRunArcaneMage1418 setvar FirstRunArcaneMage 01419 endif1420 1421 if not varexist TargetSwap1422 @setvar! TargetSwap 01423 endif1424 1425 if not varexist ClosestTarget1426 @setvar! ClosestTarget 01427 endif1428 1429 if not varexist TargetToAnalyze1430 @setvar! TargetToAnalyze 01431 endif1432 1433 if not varexist AttackModeActive1434 @setvar! AttackModeActive 01435 endif1436 1437 if not varexist TargetToCheck1438 @setvar! TargetToCheck 01439 endif1440 1441 if not varexist AutoWeightRecall1442 @setvar! AutoWeightRecall 01443 endif1444 1445 if not varexist SpellInterrupted1446 @setvar! SpellInterrupted 01447 endif1448 1449 if not varexist DisableVacuums1450 @setvar! DisableVacuums 01451 endif1452 1453 if not varexist NoLockbox1454 @setvar! NoLockbox 01455 endif1456 1457 @ignore MyBlessedSpellbook1458 1459 if WILDERNESSMODE = 1 and DUNGEONMODE = 11460 overhead '[ INVALID SCRIPT MODE! ]' 371461 sysmsg 'Both DUNGEONMODE and WILDERNESSMODE are enabled - please select only ONE AT A TIME at top of script!' 1531462 wait 15001463 overhead '[ STOPPING SCRIPT ]' 881464 stop1465 elseif WILDERNESSMODE = 0 and DUNGEONMODE = 01466 overhead '[ INVALID SCRIPT MODE! ]' 371467 sysmsg 'Both DUNGEONMODE and WILDERNESSMODE are disabled - please select your desired mode at top of script!' 1531468 wait 15001469 overhead '[ STOPPING SCRIPT ]' 881470 stop1471 endif1472 1473 @setvar! EnableUseEmotes 01474 @setvar! SetEmoteCooldown 1200001475 # Requires the following emotes to be unlocked: [Awoo, [HighFive, [Yes and [Whistle1476 # Requires 'EnableOverheadMessages' set to '1'1477 # Will use Emotes when Aspect, Codex or Chain Links are leveled up and when entering the Auto Heal loop1478 # Also uses Emotes when certain finishers are performed (W.I.P.) and when target is eliminated1479 # Cooldown defaults to 2 minutes but can be reduced via customizations in-game (375k gold reduces it to 30 seconds)1480 # Add optional cooldown in UO client: 'Emote Cooldown' (case sensitive)1481 1482 if not timerexists "EmoteCooldownTimer"1483 createtimer "EmoteCooldownTimer"1484 settimer "EmoteCooldownTimer" SetEmoteCooldown1485 endif1486endif1487 1488 1489//////////////////////1490// INITIAL SETUP: //1491//////////////////////1492 1493if not dead and TimeToGo != 1 and AutoRecallTime != 11494 if not varexist ArcaneMageAutoPilot or ArcaneMageAutoPilot != 11495 overhead "Lord Glacier's Chill Arcane Mage Auto Pilot Script" 22341496 # '1497 overhead "version 3.0.1" 22341498 wait 15001499 overhead "Last Updated: October 9, 2026" 881500 wait 25001501 overhead "Thank you for trying my Arcane Mage AUTO PILOT script! It appears this may be your first time running it..." 01502 wait 40001503 overhead "IMPT: Please make sure to check and adjust your VARIABLES!" 1531504 wait 45001505 overhead "Please read the TIPS section at the beginning of the script for more info" 881506 wait 30001507 setvar ArcaneMageAutoPilot 11508 sysmsg "Beginning Lord Glacier's Chill Arcane Mage Auto Pilot script.......... " 01509 # '1510 wait 10001511 endif1512 1513 while FirstRunArcaneMage != 11514 if EnableDIYRecallScript != 11515 if EnableAutoRedRecall = 1 or EnableAutoWeightRecall = 1 or EnableRecallAfterResurrection = 1 or EnableRecallAfterDungeonGate = 11516 if not varexist AutoRecallChargedRunebook or not find AutoRecallChargedRunebook self1517 wait 5001518 overhead "You have enabled Auto Recall (PK or Weight) and must select a runebook to continue!" 01519 wait 15001520 overhead "Select your escape runebook..." 2531521 setvar AutoRecallChargedRunebook1522 wait 5001523 while targetexists1524 wait 1001525 endwhile1526 sysmsg "Will cast to 'default rune' in Runebook (if 'casting' enabled) or uses scrolls to 'first location' in Runebook (if no Magery skill)" 1531527 wait 15001528 endif1529 endif1530 endif1531 1532 if EnableLootChest = 11533 if EnableAutoRedRecall = 1 or EnableAutoWeightRecall = 1 or EnableRecallAfterResurrection = 1 or EnableRecallAfterDungeonGate = 11534 if not varexist LootChest1535 wait 5001536 overhead "Select a secure container to store your Loot..." 2531537 sysmsg "Can be disabled under script variables section." 01538 wait 10001539 overhead "Anything that will not go into a Resource Stockpile, Storage Shelf, Tomes or Magic Recycler" 01540 overhead "(ie. Skill Orbs, Research Mats, Paragon chests, etc.)"1541 setvar LootChest1542 wait 5001543 while targetexists1544 wait 1001545 endwhile1546 sysmsg "Use Razor Organizer Agents 06 - 09 for the Loot Chest and its contents - organize to your own liking!" 01547 wait 15001548 endif1549 endif1550 endif1551 1552 if EnableStorageTomeContainer = 11553 if EnableAutoRedRecall = 1 or EnableAutoWeightRecall = 1 or EnableRecallAfterResurrection = 1 or EnableRecallAfterDungeonGate = 11554 if not varexist TomeContainer1555 wait 5001556 overhead "Please select a secure container to store your Tomes..." 2531557 sysmsg "Can be disabled under script variables section." 01558 wait 10001559 overhead "This will cause script to look in this container for any Storage Tomes when unloading loot..." 01560 setvar TomeContainer1561 wait 5001562 while targetexists1563 wait 1001564 endwhile1565 sysmsg "Turn this variable off if your tomes are stored on the ground in your home/inn room" 01566 wait 15001567 endif1568 endif1569 endif1570 1571 if EnableLootBag = 1 and IHAVEDIED != 11572 if EnableAutoRedRecall = 1 or EnableAutoWeightRecall = 1 or EnableRecallAfterResurrection = 1 or EnableRecallAfterDungeonGate = 11573 if not varexist LootBag1574 wait 5001575 overhead "Please select your loot bag..." 2531576 wait 10001577 overhead "This should be whatever is set as your 'Grab Bag' and will be opened when unloading loot after recalling..." 01578 setvar LootBag1579 wait 5001580 while targetexists1581 wait 1001582 endwhile1583 endif1584 1585 if not find LootBag self1586 overhead "[ NO LOOT BAG ]" 3371587 wait 15001588 overhead "Select your new loot bag..." 2531589 wait 5001590 setvar LootBag1591 wait 2501592 while targetexists1593 wait 1001594 endwhile1595 endif1596 endif1597 endif1598 1599 if not varexist FirstRunArcaneMage or FirstRunArcaneMage != 11600 wait 10001601 overhead "Good luck out there!" 22341602 overhead " - Dan (aka. Glacier)" 22341603 wait 15001604 setvar FirstRunArcaneMage 11605 getlabel backpack backpacklabel1606 endif1607 1608 if FirstRunArcaneMage = 11609 hotkey 'Toggle War Only'1610 break1611 endif1612 endwhile1613endif1614 1615 1616 1617 1618 1619 ###############################1620 ### SCRIPT STARTS HERE: ###1621 ###############################1622 1623 1624///////////////////1625// ALIVE LOOP: //1626///////////////////1627 1628while not dead1629 if dead1630 break1631 endif1632 1633 if TimeToGo != 1 and IHAVEDIED != 1 and AutoRecallTime != 11634 if EnableTrackingAutoRecall = 1 and skill 'Tracking' > 501635 if not findbuff 'tracking'1636 while not gumpexists 42674676591637 useskill 'tracking'1638 wait 2501639 endwhile1640 if gumpexists 42674676591641 while not insysmsg "You will now hunt all hostile players."1642 gumpresponse 8 42674676591643 waitforgump 4267467659 50001644 endwhile1645 gumpresponse 6 42674676591646 wait 5001647 clearsysmsg1648 endif1649 gumpclose 42674676591650 if EnableOverheadMessages = 11651 overhead "[ RED RECALL ACTIVATED! ]" 3341652 endif1653 endif1654 endif1655 1656 if EnableTrackingAutoRecall = 1 and TimeToGo != 11657 if PKTrackingRange = 601658 if insysmsg ": 60 step" or insysmsg "60 space" or insysmsg ": 59 step" or insysmsg "59 space" or insysmsg ": 58 step" or insysmsg "58 space" or insysmsg ": 57 step" or insysmsg "57 space" or insysmsg ": 56 step" or insysmsg "56 space" or insysmsg ": 55 step" or insysmsg "55 space" or insysmsg ": 54 step" or insysmsg "54 space" or insysmsg ": 53 step" or insysmsg "53 space" or insysmsg ": 52 step" or insysmsg "52 space" or insysmsg ": 51 step" or insysmsg "51 space" or insysmsg ": 50 step" or insysmsg "50 space" or insysmsg ": 49 step" or insysmsg "49 space" or insysmsg ": 48 step" or insysmsg "48 space" or insysmsg ": 47 step" or insysmsg "47 space" or insysmsg ": 46 step" or insysmsg "46 space" or insysmsg ": 45 step" or insysmsg "45 space" or insysmsg ": 44 step" or insysmsg "44 space" or insysmsg ": 43 step" or insysmsg "43 space" or insysmsg ": 42 step" or insysmsg "42 space" or insysmsg ": 41 step" or insysmsg "41 space" or insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space"1659 hotkey 'Toggle Peace Only'1660 if EnableRedAlertOverhead = 11661 overhead "[ !! RED ALERT !! ]" 371662 endif1663 @setvar! RedTargetFound 11664 @setvar! WarModeToggledWhileFighting 01665 @setvar! TimeToGo 11666 clearsysmsg1667 endif1668 elseif PKTrackingRange = 501669 if insysmsg ": 50 step" or insysmsg "50 space" or insysmsg ": 49 step" or insysmsg "49 space" or insysmsg ": 48 step" or insysmsg "48 space" or insysmsg ": 47 step" or insysmsg "47 space" or insysmsg ": 46 step" or insysmsg "46 space" or insysmsg ": 45 step" or insysmsg "45 space" or insysmsg ": 44 step" or insysmsg "44 space" or insysmsg ": 43 step" or insysmsg "43 space" or insysmsg ": 42 step" or insysmsg "42 space" or insysmsg ": 41 step" or insysmsg "41 space" or insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space"1670 hotkey 'Toggle Peace Only'1671 if EnableRedAlertOverhead = 11672 overhead "[ !! RED ALERT !! ]" 371673 endif1674 @setvar! RedTargetFound 11675 @setvar! WarModeToggledWhileFighting 01676 @setvar! TimeToGo 11677 clearsysmsg1678 endif1679 elseif PKTrackingRange = 401680 if insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space"1681 hotkey 'Toggle Peace Only'1682 if EnableRedAlertOverhead = 11683 overhead "[ !! RED ALERT !! ]" 371684 endif1685 @setvar! RedTargetFound 11686 @setvar! WarModeToggledWhileFighting 01687 @setvar! TimeToGo 11688 clearsysmsg1689 endif1690 elseif PKTrackingRange = 01691 if insysmsg "Now tracking"1692 hotkey 'Toggle Peace Only'1693 if EnableRedAlertOverhead = 11694 overhead "[ !! RED ALERT !! ]" 371695 endif1696 @setvar! RedTargetFound 11697 @setvar! WarModeToggledWhileFighting 01698 @setvar! TimeToGo 11699 clearsysmsg1700 endif1701 endif1702 endif1703 1704 if EnablePKradar = 1 and TimeToGo != 11705 if timer "PKRadar" > 15001706 clearsysmsg1707 hotkey 'Next Murderer Player Target'1708 wait 2501709 if insysmsg "No one matching that was found"1710 settimer "PKRadar" 01711 clearsysmsg1712 else1713 if EnableRedAlertOverhead = 11714 overhead "[ !! RED ALERT !! ]" 371715 endif1716 hotkey 'Toggle Peace Only'1717 @setvar! WarModeToggledWhileFighting 01718 @setvar! RedTargetFound 11719 @setvar! TimeToGo 11720 @setvar! MurdererTarget lasttarget1721 endif1722 endif1723 endif1724 1725 if skill 'necromancy' >= 50 and not gumpexists 6224365161726 if findtype 'necromancer book' backpack1727 yell '[necromancyhotbar'1728 while not gumpexists 6224365161729 yell '[necromancyhotbar'1730 wait 5001731 endwhile1732 elseif EnableOverheadMessages = 11733 overhead '[ NO NECRO BOOK! ]' 3371734 wait 5001735 endif1736 endif1737 1738 if not findtype "3972" self or not findtype "3962" self or not findtype "3963" self or not findtype "3980" self or not findtype "3976" self or not findtype "3973" self or not findtype "3974" self or not findtype "3981" self1739 clearignore1740 getlabel backpack backpacklabel1741 if not findtype "3972" self or not findtype "3962" self or not findtype "3963" self or not findtype "3980" self or not findtype "3976" self or not findtype "3973" self or not findtype "3974" self or not findtype "3981" self1742 if EnableOverheadMessages = 1 or EnableOverheadMessages = 21743 if timer MissingRegsTimer > 50001744 if counttype "3972" self = 01745 overhead '[ NO GARLIC ]' 6461746 endif1747 if counttype "3962" self = 01748 overhead '[ NO BLACK PEARL ]' 31749 endif1750 if counttype "3963" self = 01751 overhead '[ NO BLOODMOSS ]' 331752 endif1753 if counttype "3980" self = 01754 overhead '[ NO SULFUROUS ASH ]' 1531755 endif1756 if counttype "3976" self = 01757 overhead '[ NO NIGHTSHADE ]' 3631758 endif1759 if counttype "3973" self = 01760 overhead '[ NO GINSENG ]' 2471761 endif1762 if counttype "3974" self = 01763 overhead '[ NO MANDRAKE ROOT ]' 4421764 endif1765 if counttype "3981" self = 01766 overhead '[ NO SPIDERS SILK ]' 23381767 endif1768 settimer MissingRegsTimer 01769 endif1770 endif1771 @setvar! MissingRegs 11772 else1773 @setvar! MissingRegs 01774 endif1775 else1776 @setvar! MissingRegs 01777 endif1778 1779 if EnableWeightWarningMessage = 11780 if diffweight < RedWeightLimitDiffWeight1781 if EnableOverheadMessages = 1 or EnableOverheadMessages = 21782 if timer "WeightMessageTimer" > 100001783 overhead '[ WEIGHT LIMIT REACHED! ]' 371784 settimer "WeightMessageTimer" 01785 endif1786 else1787 if timer "WeightMessageTimer" > 100001788 overhead " � " 371789 settimer "WeightMessageTimer" 01790 endif1791 endif1792 1793 if EnableAutoWeightRecall = 1 and not find ClosestTarget ground -1 -1 8 and WILDERNESSMODE = 11794 wait 10001795 hotkey 'Toggle Peace Only'1796 @setvar! WarModeToggledWhileFighting 01797 @setvar! AutoWeightRecall 11798 replay1799 elseif EnableAutoWeightRecall = 1 and find ClosestTarget ground -1 -1 8 and WILDERNESSMODE = 11800 if timer "WaitingToRecallTimer" > 3500 and EnableAutoRecallOverheadMessages = 11801 overhead '[ WAITING TO RECALL... ]' 1491802 settimer "WaitingToRecallTimer" 01803 endif1804 wait 5001805 elseif EnableAutoWeightDungeonGate = 1 and DUNGEONMODE = 11806 wait 5001807 hotkey 'Toggle Peace Only'1808 @setvar! WarModeToggledWhileFighting 01809 @setvar! TimeToGo 11810 replay1811 else1812 if EnableOverheadMessages = 1 or EnableOverheadMessages = 21813 overhead '[ OVERWEIGHT! ]' 3371814 else1815 overhead " � " 3371816 endif1817 wait 15001818 overhead '[ STOPPING SCRIPT! ]' 881819 stop1820 endif1821 endif1822 endif1823 endif1824 1825 if paralyzed and EnableAutoParalyzePouch = 11826 if findtype "pouch" self1827 yell "[pouch"1828 wait 2501829 hotkey 'Toggle Peace Only'1830 @setvar! RedTargetFound 11831 @setvar! WarModeToggledWhileFighting 01832 @setvar! TimeToGo 11833 else1834 if timer PouchMessageTimer > 5000 and EnableOverheadMessages = 11835 overhead "[ NO MORE POUCHES! ]" 3371836 settimer PouchMessageTimer 01837 endif1838 endif1839 endif1840 1841 if EnableDropGoldWhenOverweight = 11842 if weight > maxweight1843 if timer OverweightMessageTimer > 45001844 overhead "[ OVERWEIGHT! ]" 341845 settimer OverweightMessageTimer 01846 endif1847 1848 if DropGoldAmount != 01849 clearignore1850 @setvar! DisableVacuums 11851 wait 2501852 1853 if EnablePutLootinLockBox = 11854 if findtype "wooden box" self as lockbox1855 if findtype "copper key" self as key1856 clearignore1857 getlabel lockbox lockboxlabel1858 wait 1001859 if "items" in lockboxlabel1860 // Do nothing1861 else1862 dclick key1863 wft 15001864 target lockbox1865 wait 5001866 if insysmsg "It appears to be locked."1867 dclick key1868 wft 15001869 target lockbox1870 wait 2501871 else1872 if EnableOverheadMessages != 01873 overhead "[loot box unlocked]" 841874 endif1875 endif1876 endif1877 elseif EnableOverheadMessages = 11878 overhead "[ NO LOCKBOX KEY! ]" 3371879 endif1880 endif1881 endif1882 1883 while weight > maxweight and diffhits < CastGreaterHealHPdiff1884 if findtype "gold coin" self as easycomeeasygo1885 lift easycomeeasygo DropGoldAmount1886 droprelloc 0 01887 getlabel backpack packdesc1888 if EnableOverheadMessages = 11889 overhead "[ DROPPING GOLD... ]" 1491890 endif1891 wait 2501892 if insysmsg "cannot drop anything"1893 drop backpack -1 -1 -11894 break1895 endif1896 wait 2501897 else1898 break1899 endif1900 if diffhits > CastGreaterHealHPdiff1901 break1902 endif1903 endwhile1904 endif1905 endif1906 endif1907 1908 1909 //////////////////////////1910 // BEGIN AUTO RECALL: //1911 //////////////////////////1912 1913 if not warmode and WarModeToggledWhileFighting != 11914 if dead1915 break1916 endif1917 1918 if EnableEatMagicMushrooms = 11919 if diffmana > EatMushroomManadiff and timer MushroomTimer > 600001920 if counttype 29012 backpack1921 dclicktype 29012 backpack1922 getlabel backpack packdesc1923 wait 2501924 if insysmsg "You consume a magic mushroom"1925 settimer MushroomTimer 01926 cooldown "Mushroom" 600001927 if EnableOverheadMessages = 11928 overhead '[ EATING SHROOMS... ]' 131929 endif1930 endif1931 elseif EnableOverheadMessages = 11932 overhead '[ OUT OF SHROOMS! ]' 3371933 endif1934 endif1935 endif1936 1937 if EnableEatManaSnacks = 11938 if skill 'Cooking' >= 501939 if findtype "29774|28883|28885|28880|28879|28888|28886|29773|28881" backpack as mysnack1940 if timer 'EatManaSnackCooldownTimer' > EatManaSnackCooldown and diffmana > EatSnackManadiff1941 if EnableOverheadMessages = 11942 overhead "[ MANA MUNCHING... ]" 4201943 endif1944 dclick mysnack1945 wait 2501946 settimer 'EatManaSnackCooldownTimer' 01947 settimer 'EatHealSnackCooldownTimer' 01948 cooldown "Snacking" EatManaSnackCooldown1949 endif1950 else1951 if timer FoodMessageTimer > 15000 and EnableOverheadMessages = 11952 overhead "[ NO MORE FOOD! ]" 3371953 settimer FoodMessageTimer 01954 endif1955 endif1956 endif1957 endif1958 1959 if EnableAutoWeightRecall = 1 and AutoWeightRecall = 11960 if EnableDIYRecallScript = 11961 @setvar! AutoWeightRecall 01962 foreach RecallScript in DIYRecallScriptList1963 script RecallScript1964 endfor1965 else1966 if targetexists1967 hotkey 'Cancel Current Target'1968 endif1969 1970 hotkey 'Toggle Peace only'1971 clearsysmsg1972 1973 while not varexist AutoRecallChargedRunebook and EnableDIYRecallScript != 11974 overhead "Select your escape runebook..." 2531975 @setvar! AutoRecallChargedRunebook1976 wait 25001977 endwhile1978 1979 while mana < 111980 if timer "MANAWAIT" > 4000 and EnableOverheadMessages = 11981 overhead '[ WAITING FOR MANA... ]' 121982 settimer "MANAWAIT" 01983 endif1984 wait 5001985 endwhile1986 1987 if EnableOverheadMessages = 1 or EnableOverheadMessages = 21988 overhead '[ AUTO WEIGHT RECALL! ]' 881989 wait 5001990 endif1991 @setvar! AutoWeightRecall 01992 @setvar! RECALLTIME 11993 endif1994 elseif EnableAutoRedRecall = 1 and RedTargetFound = 11995 if EnableDIYRecallScript = 11996 @setvar! RedTargetFound 01997 foreach RecallScript in DIYRecallScriptList1998 script RecallScript1999 endfor2000 else2001 if targetexists2002 hotkey 'Cancel Current Target'2003 endif2004 2005 hotkey 'Toggle Peace only'2006 clearsysmsg2007 2008 while not varexist AutoRecallChargedRunebook and EnableDIYRecallScript != 12009 overhead "Select your escape runebook..." 2532010 @setvar! AutoRecallChargedRunebook2011 wait 25002012 endwhile2013 2014 while mana < 112015 if timer "MANAWAIT" > 4000 and EnableOverheadMessages = 12016 overhead '[ WAITING FOR MANA... ]' 122017 settimer "MANAWAIT" 02018 endif2019 wait 5002020 endwhile2021 @setvar! RECALLTIME 12022 endif2023 elseif EnableRecallAfterDungeonGate = 1 and DungeonGateThenTimeToGo = 12024 if EnableDIYRecallScript = 12025 @setvar! DungeonGateThenTimeToGo 02026 foreach RecallScript in DIYRecallScriptList2027 script RecallScript2028 endfor2029 else2030 if targetexists2031 hotkey 'Cancel Current Target'2032 endif2033 2034 hotkey 'Toggle Peace only'2035 clearsysmsg2036 2037 while not varexist AutoRecallChargedRunebook and EnableDIYRecallScript != 12038 overhead "Select your escape runebook..." 2532039 @setvar! AutoRecallChargedRunebook2040 wait 25002041 endwhile2042 2043 while mana < 112044 if timer "MANAWAIT" > 4000 and EnableOverheadMessages = 12045 overhead '[ WAITING FOR MANA... ]' 122046 settimer "MANAWAIT" 02047 endif2048 wait 5002049 endwhile2050 2051 if EnableOverheadMessages = 12052 overhead '[ AUTO RECALL! ]' 882053 endif2054 @setvar! DungeonGateThenTimeToGo 02055 @setvar! TimeToGo 02056 @setvar! RECALLTIME 12057 endif2058 elseif EnableRecallAfterResurrection = 1 and ResThenTimeToGo = 12059 if EnableDIYRecallScript = 12060 @setvar! ResThenTimeToGo 02061 foreach RecallScript in DIYRecallScriptList2062 script RecallScript2063 endfor2064 else2065 if targetexists2066 hotkey 'Cancel Current Target'2067 endif2068 2069 hotkey 'Toggle Peace only'2070 clearsysmsg2071 2072 while not varexist AutoRecallChargedRunebook and EnableDIYRecallScript != 12073 overhead "Select your escape runebook..." 2532074 @setvar! AutoRecallChargedRunebook2075 wait 25002076 endwhile2077 2078 while mana < 112079 if timer "MANAWAIT" > 4000 and EnableOverheadMessages = 12080 overhead '[ WAITING FOR MANA... ]' 122081 settimer "MANAWAIT" 02082 endif2083 wait 5002084 endwhile2085 2086 if EnableOverheadMessages = 12087 overhead '[ AUTO RECALL! ]' 882088 wait 10002089 endif2090 @setvar! AutoRecallTime 02091 @setvar! TimeToGo 02092 @setvar! ResThenTimeToGo 02093 @setvar! RecallScrollsOnly 12094 @setvar! RECALLTIME 12095 endif2096 elseif AutoRecallTime = 12097 if EnableDIYRecallScript = 12098 @setvar! AutoRecallTime 02099 foreach RecallScript in DIYRecallScriptList2100 script RecallScript2101 endfor2102 else2103 if targetexists2104 hotkey 'Cancel Current Target'2105 endif2106 2107 hotkey 'Toggle Peace only'2108 clearsysmsg2109 2110 while not varexist AutoRecallChargedRunebook and EnableDIYRecallScript != 12111 overhead "Select your escape runebook..." 2532112 @setvar! AutoRecallChargedRunebook2113 wait 25002114 endwhile2115 2116 while mana < 112117 if timer "MANAWAIT" > 4000 and EnableOverheadMessages = 12118 overhead '[ WAITING FOR MANA... ]' 122119 settimer "MANAWAIT" 02120 endif2121 wait 5002122 endwhile2123 2124 if EnableOverheadMessages = 12125 overhead '[ AUTO RECALL! ]' 882126 wait 10002127 endif2128 @setvar! AutoRecallTime 02129 @setvar! RECALLTIME 12130 endif2131 elseif EnableAutoRedDungeonGate = 1 or EnableAutoWeightDungeonGate = 12132 if TimeToGo = 12133 settimer "DungeonEscape" 02134 sysmsg "Dungeon Escape mode enabled! (variables 'EnableAutoRedDungeonGate' and/or 'EnableAutoWeightDungeonGate')" 02135 sysmsg "Script will automatically revert after {{DungeonEscapeTimeLimit}}ms or upon dungeon exit" 882136 wait 2502137 sysmsg "Please proceed to the nearest exit gate! It will be indicated by overhead arrows!" 1532138 2139 ////////////////////////////2140 // DUNGEON ESCAPE LOOP: //2141 ////////////////////////////2142 2143 while timer "DungeonEscape" < DungeonEscapeTimeLimit2144 if dead2145 break2146 endif2147 2148 while not gumpexists 3899019871 and findtype "blue moongate" ground 0 1 2 as EscapeGate2149 dclick EscapeGate2150 wait 5002151 endwhile2152 2153 if gumpexists 3899019871 and findtype "blue moongate" ground 0 1 2 as EscapeGate2154 while gumpexists 3899019871 and findtype "blue moongate" ground 0 1 2 as EscapeGate2155 gumpresponse 2 38990198712156 wait 2502157 endwhile2158 wait 15002159 @setvar! TimeToGo 02160 if EnableDIYRecallScript = 12161 foreach RecallScript in DIYRecallScriptList2162 script RecallScript2163 endfor2164 else2165 hotkey 'Toggle Peace Only'2166 @setvar! WarModeToggledWhileFighting 02167 @setvar! DungeonGateThenTimeToGo 12168 @setvar! AutoRecallTime 12169 replay2170 endif2171 endif2172 2173 while not gumpexists 3899019871 and findtype 30528 ground 2091 1 1 as EscapeGate2174 dclick EscapeGate2175 wait 5002176 endwhile2177 2178 if gumpexists 3899019871 and findtype 30528 ground 2091 1 1 as EscapeGate2179 while gumpexists 3899019871 and findtype 30528 ground 2091 1 1 as EscapeGate2180 gumpresponse 2 38990198712181 wait 2502182 endwhile2183 @setvar! TimeToGo 02184 if EnableDIYRecallScript = 12185 foreach RecallScript in DIYRecallScriptList2186 script RecallScript2187 endfor2188 else2189 hotkey 'Toggle Peace Only'2190 @setvar! WarModeToggledWhileFighting 02191 @setvar! DungeonGateThenTimeToGo 12192 @setvar! AutoRecallTime 12193 replay2194 endif2195 endif2196 2197 while not gumpexists 3773199800 and findtype "blue moongate" ground -1 1 2 as EscapeGate2198 dclick EscapeGate2199 wait 5002200 endwhile2201 2202 if gumpexists 3773199800 and findtype "blue moongate" ground -1 1 2 as EscapeGate2203 while gumpexists 3773199800 and findtype "blue moongate" ground -1 1 2 as EscapeGate2204 gumpresponse 2 37731998002205 wait 2502206 endwhile2207 wait 15002208 @setvar! TimeToGo 02209 if EnableDIYRecallScript = 12210 foreach RecallScript in DIYRecallScriptList2211 script RecallScript2212 endfor2213 else2214 hotkey 'Toggle Peace Only'2215 @setvar! WarModeToggledWhileFighting 02216 @setvar! DungeonGateThenTimeToGo 12217 @setvar! AutoRecallTime 12218 replay2219 endif2220 endif2221 2222 while not gumpexists 3899019871 and findtype "moongate" ground -1 -1 2 as EscapeGate2223 dclick EscapeGate2224 wait 5002225 endwhile2226 2227 if gumpexists 3899019871 and findtype "moongate" ground -1 -1 2 as EscapeGate2228 while gumpexists 3899019871 and findtype "moongate" ground -1 -1 2 as EscapeGate2229 gumpresponse 2 38990198712230 wait 2502231 endwhile2232 wait 15002233 @setvar! TimeToGo 02234 if EnableDIYRecallScript = 12235 foreach RecallScript in DIYRecallScriptList2236 script RecallScript2237 endfor2238 else2239 hotkey 'Toggle Peace Only'2240 @setvar! WarModeToggledWhileFighting 02241 @setvar! DungeonGateThenTimeToGo 12242 @setvar! AutoRecallTime 12243 replay2244 endif2245 endif2246 2247 if findtype "moongate" ground -1 1 12 or findtype "blue moongate" ground -1 1 12 as EscapeGate2248 if timer "GETCLOSER" > 45002249 if EnableOverheadMessages = 1 or EnableOverheadMessages = 22250 overhead '[ GET CLOSER TO GATE! ]' 2532251 else2252 overhead " � " 2532253 endif2254 settimer "GETCLOSER" 02255 endif2256 if timer "GATEHERE" > 5002257 overhead " � " 253 EscapeGate2258 settimer "GATEHERE" 02259 endif2260 else2261 if timer "RUNAWAY" > 45002262 if EnableOverheadMessages = 1 or EnableOverheadMessages = 22263 overhead '[ GET TO A GATE... ]' 772264 else2265 overhead " � " 772266 endif2267 settimer "RUNAWAY" 02268 endif2269 endif2270 2271 if EnableAutoParalyzePouch = 12272 if paralyzed2273 if findtype "pouch" self2274 yell "[pouch"2275 else2276 if EnableOverheadMessages = 12277 overhead '[ NO MORE POUCHES! ]' 3372278 endif2279 endif2280 endif2281 endif2282 2283 if EnableDropGoldWhenOverweight = 12284 if weight > maxweight2285 if timer OverweightMessageTimer > 45002286 overhead "[ OVERWEIGHT! ]" 342287 settimer OverweightMessageTimer 02288 endif2289 2290 if DropGoldAmount != 02291 clearignore2292 @setvar! DisableVacuums 12293 wait 2502294 2295 if EnablePutLootinLockBox = 12296 if findtype "wooden box" self as lockbox2297 if findtype "copper key" self as key2298 clearignore2299 getlabel lockbox lockboxlabel2300 wait 1002301 if "items" in lockboxlabel2302 // Do nothing2303 else2304 dclick key2305 wft 15002306 target lockbox2307 wait 5002308 if insysmsg "It appears to be locked."2309 dclick key2310 wft 15002311 target lockbox2312 wait 2502313 else2314 if EnableOverheadMessages != 02315 overhead "[loot box unlocked]" 842316 endif2317 endif2318 endif2319 elseif EnableOverheadMessages = 12320 overhead "[ NO LOCKBOX KEY! ]" 3372321 endif2322 endif2323 endif2324 2325 while weight > maxweight and diffhits < CastGreaterHealHPdiff2326 if findtype "gold coin" self as easycomeeasygo2327 lift easycomeeasygo DropGoldAmount2328 droprelloc 0 02329 getlabel backpack packdesc2330 if EnableOverheadMessages = 12331 overhead "[ DROPPING GOLD... ]" 1492332 endif2333 wait 2502334 if insysmsg "cannot drop anything"2335 drop backpack -1 -1 -12336 break2337 endif2338 wait 2502339 else2340 break2341 endif2342 if diffhits > CastGreaterHealHPdiff2343 break2344 endif2345 endwhile2346 endif2347 endif2348 endif2349 2350 if EnableStrengthPotion = 12351 if not findbuff "Strength Potion Usage Cooldown"2352 if findtype "White Potion" self2353 dclicktype "White Potion"2354 if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 45002355 if insysmsg "potion satchel used"2356 overhead '[ FREE STRENGTH POTION ]' 9562357 else2358 overhead '[ STRENGTH POTION ]' 9562359 endif2360 settimer WhitePotionMessageTimer 02361 endif2362 clearsysmsg2363 wait 2502364 else2365 if timer WhitePotionMessageTimer > 45002366 overhead '[ NO STRENGTH POTS! ]' 3372367 settimer WhitePotionMessageTimer 02368 endif2369 endif2370 endif2371 endif2372 2373 if targetexists2374 hotkey 'cancel current target'2375 endif2376 2377 if EnableCastHeal = 1 and RedTargetFound = 12378 if EnableHealPotion = 12379 if skill 'magery' >= 40 and mana >= 4 and not casting2380 while diffhits > 25 and mana >= 4 and findtype 3972 self and findtype 3973 self and findtype 3974 self and cooldown 'Healing Potion'2381 @setvar! SpellInterrupted 02382 clearsysmsg2383 cast 'heal'2384 getlabel backpack backpacklabel2385 settimer AntiStallTimer 02386 while not targetexists and timer AntiStallTimer < 15002387 if insysmsg "Your concentration is disturbed"2388 interrupt2389 @setvar! SpellInterrupted 12390 break2391 endif2392 if timer AntiStallTimer > 15002393 settimer AntiStallTimer 02394 break2395 endif2396 endwhile2397 if SpellInterrupted = 02398 target 'self'2399 else2400 if targetexists2401 hotkey 'cancel current target'2402 endif2403 endif2404 if not cooldown 'Healing Potion'2405 break2406 endif2407 wait 5002408 endwhile2409 endif2410 else2411 if skill 'magery' >= 40 and mana >= 4 and not casting2412 while diffhits > 25 and mana >= 4 and findtype 3972 self and findtype 3973 self and findtype 3974 self2413 @setvar! SpellInterrupted 02414 clearsysmsg2415 cast 'heal'2416 getlabel backpack backpacklabel2417 settimer AntiStallTimer 02418 while not targetexists and timer AntiStallTimer < 15002419 if insysmsg "Your concentration is disturbed"2420 interrupt2421 @setvar! SpellInterrupted 12422 break2423 endif2424 if timer AntiStallTimer > 15002425 settimer AntiStallTimer 02426 break2427 endif2428 endwhile2429 if SpellInterrupted = 02430 target 'self'2431 else2432 if targetexists2433 hotkey 'cancel current target'2434 endif2435 endif2436 wait 5002437 endwhile2438 endif2439 endif2440 endif2441 2442 if EnableHealPotion = 1 and diffhits > 252443 if findtype "Yellow Potion" self as HealPot2444 getlabel HealPot HealPotlabel2445 if "next" in HealPotlabel2446 // Do nothing2447 else2448 @setvar! HealPotionCheck 02449 2450 if counttype 3852 self as HealPotCount2451 @setvar! HealPotionCheck HealPotCount2452 endif2453 clearsysmsg2454 dclicktype 38522455 getlabel backpack backpackdesc2456 wait 2502457 if insysmsg "potion satchel used"2458 settimer 'HealPotionTimer' 02459 cooldown "Healing Potion" HealingPotionCooldown2460 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 45002461 overhead '[ FREE HEAL POTION ]' 2532462 endif2463 elseif HealPotionCheck != counttype 3852 self2464 settimer 'HealPotionTimer' 02465 cooldown "Healing Potion" HealingPotionCooldown2466 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 45002467 overhead '[ HEAL POTION ]' 2532468 endif2469 endif2470 clearsysmsg2471 endif2472 else2473 if timer 'HealPotionMessageTimer' > 4500 and EnableOverheadMessages = 12474 overhead '[ NO HEAL POTS! ]' 3372475 settimer 'HealPotionMessageTimer' 02476 endif2477 endif2478 endif2479 2480 if not findtype 3972 self or not findtype 3973 self or not findtype 3974 self or not findtype 3981 self2481 @setvar! missingGreaterHealRegs 12482 getlabel backpack backpacklabel2483 else2484 @setvar! missingGreaterHealRegs 02485 endif2486 2487 if not findtype 3972 self or not findtype 3973 self or not findtype 3974 self2488 @setvar! missingHealRegs 12489 getlabel backpack backpacklabel2490 else2491 @setvar! missingHealRegs 02492 endif2493 2494 if missingGreaterHealRegs = 1 or missingHealRegs = 12495 if timer NoHealRegsTimer > 40002496 overhead '[ MISSING HEALING REGS! ]' 3372497 settimer NoHealRegsTimer 02498 endif2499 endif2500 2501 @setvar! SpellInterrupted 02502 clearsysmsg2503 2504 if skill 'magery' >= 60 and diffhits >= CastGreaterHealHPdiff and diffhits <= CastHealHPdiff and mana >= 11 and EnableCastGreaterHeal = 1 and not casting and missingGreaterHealRegs != 12505 @setvar! SpellInterrupted 02506 cast 'greater heal'2507 getlabel backpack backpacklabel2508 settimer spellTimer 02509 @setvar! spellCD 25002510 while not targetexists and timer spellTimer < spellCD2511 if insysmsg "Your concentration is disturbed"2512 interrupt2513 @setvar! SpellInterrupted 12514 break2515 endif2516 if timer spellTimer > spellCD2517 break2518 endif2519 endwhile2520 if SpellInterrupted = 02521 target 'self'2522 endif2523 elseif skill 'magery' >= 40 and diffhits >= CastHealHPdiff and diffhits < CastEmergencyHealHPdiff and mana >= 4 and EnableCastHeal = 1 and not casting and missingHealRegs != 12524 @setvar! SpellInterrupted 02525 cast 'heal'2526 getlabel backpack backpacklabel2527 settimer AntiStallTimer 02528 while not targetexists and timer AntiStallTimer < 15002529 if insysmsg "Your concentration is disturbed"2530 interrupt2531 @setvar! SpellInterrupted 12532 break2533 endif2534 if timer AntiStallTimer > 15002535 settimer AntiStallTimer 02536 break2537 endif2538 endwhile2539 if SpellInterrupted = 02540 target 'self'2541 endif2542 elseif skill 'magery' >= 40 and diffhits >= CastEmergencyHealHPdiff and mana >= 4 and EnableCastHeal = 1 and not casting and missingHealRegs != 12543 while diffhits > CastGreaterHealHPdiff and mana >= 4 and findtype 3972 self and findtype 3973 self and findtype 3974 self and not dead2544 if targetexists2545 hotkey 'Cancel current target'2546 endif2547 @setvar! SpellInterrupted 02548 cast 'heal'2549 getlabel backpack backpacklabel2550 settimer AntiStallTimer 02551 while not targetexists and timer AntiStallTimer < 15002552 if insysmsg "Your concentration is disturbed"2553 interrupt2554 @setvar! SpellInterrupted 12555 break2556 endif2557 2558 if timer AntiStallTimer > 15002559 settimer AntiStallTimer 02560 break2561 endif2562 endwhile2563 if SpellInterrupted = 02564 target 'self'2565 getlabel backpack backpacklabel2566 endif2567 if diffhits <= CastGreaterHealHPdiff2568 break2569 endif2570 endwhile2571 endif2572 2573 @setvar! SpellInterrupted 02574 2575 if skill 'healing' > 0 and hp < maxhp and not bandaging2576 if findtype 'clean bandage%s%' self2577 hotkey 'Bandage Self'2578 if EnableOverheadMessages = 12579 overhead '[ BANDAGING... ]' 882580 endif2581 else2582 if EnableOverheadMessages = 12583 overhead '[ NO BANDAGES! ]' 3372584 endif2585 endif2586 endif2587 2588 if EnableRefreshPotion = 1 and diffstam > RefreshPotionSPdiff2589 if findtype "Red Potion" self2590 dclicktype "Red Potion"2591 if EnableOverheadMessages = 1 and timer RedPotionMessageTimer > 45002592 if insysmsg "potion satchel used"2593 overhead '[ FREE REFRESH POTION ]' 372594 else2595 overhead '[ REFRESH POTION ]' 372596 endif2597 clearsysmsg2598 settimer RedPotionMessageTimer 02599 endif2600 wait 2502601 else2602 if timer RedPotionMessageTimer > 45002603 overhead '[ NO REFRESH POTS! ]' 3372604 settimer RedPotionMessageTimer 02605 endif2606 endif2607 endif2608 2609 if EnablePanaceaPotion = 1 and skill 'Alchemy' >= 80 and RedTargetFound != 12610 if findbuff "Bleed" or findbuff "Diseased"2611 if not findbuff "panacea potion cooldown"2612 if findtype "Orange Potion" self2613 dclicktype "Orange Potion"2614 wait 5002615 if findbuff "panacea potion cooldown" and EnableOverheadMessages = 12616 overhead '[ PANACEA ACTIVATED ]' 552617 cooldown "Panacea Potion" 300002618 endif2619 endif2620 endif2621 endif2622 endif2623 2624 if EnableCleansingBrews = 12625 if findbuff "Diseased" or findbuff "Bleed"2626 if timer CleansingBrewTimer > 1200002627 if findtype 50675 self 2935 as CleansingBrew2628 dclick CleansingBrew2629 if EnableOverheadMessages = 12630 overhead '[ CLEANSING BREW ]' 21172631 endif2632 cooldown 'Cleansing Brew' 1200002633 settimer CleansingBrewTimer 02634 wait 2502635 else2636 if timer CleansingBrewOverhead > 150002637 overhead "[ NO CLEANSING BREWS! ]" 3372638 settimer CleansingBrewOverhead 02639 settimer CleansingBrewTimer 02640 endif2641 endif2642 else2643 if EnableOverheadMessages = 1 and timer CleansingBrewOverhead > 150002644 overhead '[ BREW ON COOLDOWN! ]' 372645 settimer CleansingBrewOverhead 02646 endif2647 endif2648 endif2649 endif2650 2651 if EnableCurePotion = 12652 while poisoned2653 if findtype "Orange Potion" self2654 dclicktype "Orange Potion"2655 if EnableOverheadMessages = 1 and timer 'CurePotionMessageTimer' > 35002656 if insysmsg "potion satchel used"2657 overhead '[ FREE CURE POTION ]' 442658 else2659 overhead '[ CURE POTION ]' 442660 endif2661 clearsysmsg2662 settimer 'CurePotionMessageTimer' 02663 endif2664 wait 2502665 else2666 if timer 'CurePotionMessageTimer' > 50002667 overhead '[ NO CURE POTS! ]' 3372668 settimer 'CurePotionMessageTimer' 02669 endif2670 2671 if diffhits >= 30 or not findtype 3972 self or not findtype 3973 self2672 break2673 endif2674 endif2675 endwhile2676 endif2677 2678 if EnableAgilityPotion = 1 and not findbuff "Agility"2679 if findtype "Blue Potion" self2680 dclicktype "Blue Potion"2681 if EnableOverheadMessages = 1 and timer BluePotionMessageTimer > 45002682 if insysmsg "potion satchel used"2683 overhead '[ FREE AGILITY POTION ]' 932684 else2685 overhead '[ AGILITY POTION ]' 932686 endif2687 clearsysmsg2688 settimer BluePotionMessageTimer 02689 endif2690 wait 2502691 else2692 if timer BluePotionMessageTimer > 45002693 overhead '[ NO AGILITY POTS! ]' 3372694 settimer BluePotionMessageTimer 02695 endif2696 endif2697 endif2698 2699 if EnableMagicResistPotion = 1 and not findbuff "Magic Resist"2700 if findtype "Black Potion" self2701 dclicktype "Black Potion"2702 if EnableOverheadMessages = 1 and timer BlackPotionMessageTimer > 45002703 if insysmsg "potion satchel used"2704 overhead '[ FREE RESIST POTION ]' 11092705 else2706 overhead '[ RESIST POTION ]' 11092707 endif2708 clearsysmsg2709 settimer BlackPotionMessageTimer 02710 endif2711 wait 2502712 else2713 if timer BlackPotionMessageTimer > 45002714 overhead '[ NO RESIST POTS! ]' 3372715 settimer BlackPotionMessageTimer 02716 endif2717 endif2718 endif2719 2720 if EnableEatMagicMushrooms = 12721 if diffmana > EatMushroomManadiff and timer MushroomTimer > 600002722 if counttype 29012 backpack2723 dclicktype 29012 backpack2724 getlabel backpack packdesc2725 wait 2502726 if insysmsg "You consume a magic mushroom"2727 settimer MushroomTimer 02728 cooldown "Mushroom" 600002729 if EnableOverheadMessages = 12730 overhead '[ EATING SHROOMS... ]' 132731 endif2732 endif2733 elseif EnableOverheadMessages = 12734 overhead '[ OUT OF SHROOMS! ]' 3372735 endif2736 endif2737 endif2738 2739 if EnableEatManaSnacks = 12740 if skill 'Cooking' >= 502741 if findtype "29774|28883|28885|28880|28879|28888|28886|29773|28881" backpack as mysnack2742 if timer 'EatManaSnackCooldownTimer' > EatManaSnackCooldown and diffmana > EatSnackManadiff2743 if EnableOverheadMessages = 12744 overhead "[ MANA MUNCHING... ]" 4202745 endif2746 dclick mysnack2747 wait 2502748 settimer 'EatManaSnackCooldownTimer' 02749 settimer 'EatHealSnackCooldownTimer' 02750 cooldown "Snacking" EatManaSnackCooldown2751 endif2752 else2753 if timer FoodMessageTimer > 15000 and EnableOverheadMessages = 12754 overhead "[ NO MORE FOOD! ]" 3372755 settimer FoodMessageTimer 02756 endif2757 endif2758 endif2759 endif2760 2761 if EnableAutoCarving = 1 and findtype 11552 self2762 while findtype "corpse" ground -1 -1 2 as deadbody and diffhits < CastGreaterHealHPdiff2763 settimer SkinningTimeoutTimer 02764 if findtype 11552 self2765 if targetexists2766 hotkey 'cancel current target'2767 endif2768 2769 while not targetexists2770 skill 'forensicevaluation'2771 getlabel backpack backpacklabel2772 endwhile2773 2774 if targetexists and find deadbody ground -1 -1 22775 target 'self'2776 @ignore deadbody2777 wait 2502778 endif2779 2780 if insysmsg "You dont see anything nearby"2781 clearsysmsg2782 break2783 else2784 if EnableOverheadMessages = 1 and timer SkinningTimer > 30002785 overhead '[ SKINNING... ]' 3332786 settimer SkinningTimer 02787 endif2788 endif2789 else2790 if EnableOverheadMessages = 1 and timer SkinningTimer > 150002791 overhead '[ NO SKINNING KNIFE ]' 3372792 settimer SkinningTimer 02793 break2794 endif2795 endif2796 2797 if timer SkinningTimeoutTimer > 1500 or diffhits > CastGreaterHealHPdiff2798 break2799 endif2800 endwhile2801 endif2802 2803 if EnableUsePotionKegs = 1 and findtype 'empty bottle%s%' self and findtype 'keg' self and timer 'PotionKegPVPCooldown' > 30000 and AttackModeActive != 22804 @setvar! PotionStockCheck 02805 2806 while PotionStockCheck < 8 and findtype 'empty bottle%s%' self2807 2808 if PotionStockCheck = 02809 if HealingPotionAmount = 02810 @setvar! PotionStockCheck 12811 else2812 @setvar! PotionType 38522813 @setvar! KegColour 2532814 @setvar! PotionAmounttoFill HealingPotionAmount2815 @setvar! PotionStockCheck 12816 endif2817 elseif PotionStockCheck = 12818 if CurePotionAmount = 02819 @setvar! PotionStockCheck 22820 else2821 @setvar! PotionType 38472822 @setvar! KegColour 442823 @setvar! PotionAmounttoFill CurePotionAmount2824 @setvar! PotionStockCheck 22825 endif2826 elseif PotionStockCheck = 22827 if RefreshPotionAmount = 02828 @setvar! PotionStockCheck 32829 else2830 @setvar! PotionType 38512831 @setvar! KegColour 372832 @setvar! PotionAmounttoFill RefreshPotionAmount2833 @setvar! PotionStockCheck 32834 endif2835 elseif PotionStockCheck = 32836 if StrengthPotionAmount = 02837 @setvar! PotionStockCheck 42838 else2839 @setvar! PotionType 38492840 @setvar! KegColour 9562841 @setvar! PotionAmounttoFill StrengthPotionAmount2842 @setvar! PotionStockCheck 42843 endif2844 elseif PotionStockCheck = 42845 if AgilityPotionAmount = 02846 @setvar! PotionStockCheck 52847 else2848 @setvar! PotionType 38482849 @setvar! KegColour 932850 @setvar! PotionAmounttoFill AgilityPotionAmount2851 @setvar! PotionStockCheck 52852 endif2853 elseif PotionStockCheck = 52854 if ResistPotionAmount = 02855 @setvar! PotionStockCheck 62856 else2857 @setvar! PotionType 38462858 @setvar! KegColour 11092859 @setvar! PotionAmounttoFill ResistPotionAmount2860 @setvar! PotionStockCheck 62861 endif2862 elseif PotionStockCheck = 62863 if PoisonPotionAmount = 02864 @setvar! PotionStockCheck 72865 else2866 @setvar! PotionType 38502867 @setvar! KegColour 3632868 @setvar! PotionAmounttoFill PoisonPotionAmount2869 @setvar! PotionStockCheck 72870 endif2871 elseif PotionStockCheck = 72872 if ExplosionPotionAmount = 02873 @setvar! PotionStockCheck 82874 else2875 @setvar! PotionType 38532876 @setvar! KegColour 4192877 @setvar! PotionAmounttoFill ExplosionPotionAmount2878 @setvar! PotionStockCheck 82879 endif2880 else2881 break2882 endif2883 2884 while counttype PotionType self < PotionAmounttoFill2885 if not findtype 'empty bottle%s%' self2886 if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 50002887 overhead '[ NO EMPTY BOTTLES... ]' 3372888 settimer 'PotionKegTimer' 02889 endif2890 break2891 endif2892 2893 if diffhits > HealPotionHPdiff2894 break2895 endif2896 2897 if findtype 'keg' self KegColour as myKeg2898 dclick myKeg2899 wait 2502900 if EnableOverheadMessages = 12901 if timer 'PotionKegTimer' > 20002902 overhead '[ FILLING POTS... ]' KegColour2903 settimer 'PotionKegTimer' 02904 endif2905 endif2906 else2907 if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 50002908 overhead '[ NO KEG TO USE... ]' KegColour2909 settimer 'PotionKegTimer' 02910 endif2911 break2912 endif2913 if insysmsg "You have been in combat with another player"2914 settimer "PotionKegPVPCooldown" 02915 break2916 endif2917 endwhile2918 2919 if counttype PotionType self < PotionAmounttoFill and not findtype 'empty bottle%s%' self2920 if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 50002921 overhead '[ NO EMPTY BOTTLES... ]' 3372922 settimer 'PotionKegTimer' 02923 endif2924 break2925 endif2926 endwhile2927 endif2928 2929 if warmode2930 if EnableOverheadMessages = 1 or EnableOverheadMessages = 22931 overhead '[ ESCAPE CANCELLED! ]' 1492932 else2933 overhead " � " 1492934 endif2935 @setvar! TimeToGo 02936 hotkey 'Toggle War Only'2937 settimer "DungeonEscape" DungeonEscapeTimeLimit2938 break2939 endif2940 2941 if timer DungeonEscape > DungeonEscapeTimeLimit2942 if EnableOverheadMessages = 1 or EnableOverheadMessages = 22943 overhead '[ ESCAPE TIMEOUT! ]' 3332944 endif2945 @setvar! TimeToGo 02946 hotkey 'Toggle War Only'2947 break2948 endif2949 2950 if dead2951 break2952 endif2953 endwhile2954 2955 ///////////////////////2956 // END ESCAPE LOOP //2957 ///////////////////////2958 endif2959 elseif EnableAutoRedRecall = 0 and EnableAutoWeightRecall = 02960 // Do nothing2961 elseif EnableAutoRedDungeonGate = 0 and EnableAutoWeightDungeonGate = 02962 // Do nothing2963 endif2964 endif2965 2966 getlabel backpack backpacklabel2967 2968 if RECALLTIME = 12969 if EnableCastRecall = 1 and skill "Magery" >= 60 and RecallScrollsOnly != 1 and findtype '3962' self and findtype '3963' self and findtype '3974' self2970 cast "Recall"2971 settimer AntiStallTimer 02972 2973 while not targetexists and timer AntiStallTimer < 25002974 if timer AntiStallTimer > 25002975 settimer AntiStallTimer 02976 break2977 endif2978 wait 1002979 endwhile2980 2981 target AutoRecallChargedRunebook2982 wait 10002983 else2984 dclick AutoRecallChargedRunebook2985 waitforgump 15517409692986 gumpresponse 22987 wait 10002988 endif2989 2990 if insysmsg 'Your concentration is disturbed'2991 overhead '[ INTERRUPTED! ]' 1532992 wait 5002993 for 52994 if diffhits > 25 and timer 'HealPotionTimer' > HealingPotionCooldown2995 if findtype "Yellow Potion" self as healpot2996 dclick healpot2997 wait 2502998 settimer 'HealPotionTimer' 02999 cooldown "Healing Potion" HealingPotionCooldown3000 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 45003001 if insysmsg "potion satchel used"3002 overhead '[ FREE HEAL POTION ]' 2533003 else3004 overhead '[ HEAL POTION ]' 2533005 endif3006 settimer 'HealPotionMessageTimer' 03007 endif3008 endif3009 endif3010 3011 while poisoned3012 if findtype "Orange Potion" self as curepot3013 dclick curepot3014 wait 5003015 endif3016 endwhile3017 3018 clearsysmsg3019 wait 5003020 3021 if EnableCastRecall = 1 and skill "Magery" >= 60 and RecallScrollsOnly != 1 and findtype '3962' self and findtype '3963' self and findtype '3974' self3022 cast "Recall"3023 settimer AntiStallTimer 03024 3025 while not targetexists and timer AntiStallTimer < 25003026 if timer AntiStallTimer > 25003027 settimer AntiStallTimer 03028 break3029 endif3030 wait 1003031 endwhile3032 3033 target AutoRecallChargedRunebook3034 wait 10003035 else3036 dclick AutoRecallChargedRunebook3037 waitforgump 15517409693038 gumpresponse 23039 wait 10003040 endif3041 3042 if insysmsg 'Your concentration is disturbed'3043 wait 5003044 else3045 break3046 endif3047 endfor3048 endif3049 3050 @setvar! TimeToGo 03051 @setvar! RECALLTIME 03052 @setvar! AutoRecallTime 03053 3054 if OutsideHouseRecall = 13055 wait 25003056 if find MyDoor ground -1 -1 2 and EnableCloseMyDoor = 13057 dclick MyDoor3058 overhead "*door slams!*" 0 MyDoor3059 wait 10003060 endif3061 wait 25003062 elseif OwnerInnRecall = 13063 wait 5003064 say "Innkeeper, I need a room!" 22343065 waitforgump 23938324113066 gumpresponse 43067 wait 15003068 elseif CoOwnerInnRecall = 13069 wait 5003070 say "Innkeeper, I need a room!" 22343071 waitforgump 23938324113072 gumpresponse 53073 wait 5003074 gumpresponse 1003075 wait 15003076 elseif InsideHouseRecall = 13077 wait 15003078 elseif BankRecall = 13079 say "Open my bank!" 22343080 wait 10003081 else3082 wait 15003083 endif3084 3085 if HideAtHomeorInn = 13086 useskill "Hiding"3087 endif3088 3089 clearignore3090 @setvar! RecallScrollsOnly 03091 3092 if EnableResetInventoryAfterDeath = 1 and IHAVEDIED = 13093 if EnableAutoRecallOverheadMessages = 13094 overhead '[ RESETTING LOADOUT... ]' 773095 wait 15003096 endif3097 endif3098 3099 if EnableLootChest = 13100 dclick LootChest3101 wait 5003102 endif3103 3104 while queued3105 wait 1003106 endwhile3107 3108 if EnableStorageTomeContainer = 13109 dclick TomeContainer3110 wait 5003111 endif3112 3113 while queued3114 wait 1003115 endwhile3116 3117 if IHAVEDIED != 13118 if EnableLootBag = 1 and varexist LootBag3119 if find LootBag self3120 dclick LootBag3121 wait 5003122 else3123 if EnableAutoRecallOverheadMessages = 13124 overhead '[ NO LOOT BAG! ]' 3373125 endif3126 unsetvar LootBag3127 endif3128 endif3129 3130 if EnablePutLootinLockBox = 13131 if findtype "wooden box" self as lockbox3132 if findtype "copper key" self as key3133 clearignore3134 getlabel lockbox lockboxlabel3135 wait 2503136 if "items" in lockboxlabel3137 dclick lockbox3138 wait 5003139 else3140 dclick key3141 wft 15003142 target lockbox3143 if EnableAutoRecallOverheadMessages = 13144 overhead "[loot box unlocked]" 843145 endif3146 wait 5003147 dclick lockbox3148 wait 2503149 if insysmsg "It appears to be locked."3150 dclick key3151 wft 15003152 target lockbox3153 wait 5003154 dclick lockbox3155 wait 5003156 endif3157 endif3158 elseif EnableAutoRecallOverheadMessages = 13159 overhead '[ NO LOCKBOX KEY! ]' 3373160 endif3161 endif3162 endif3163 3164 wait 5003165 3166 if EnableSafeDeposit = 13167 if findtype "bank deposit safe" ground -1 -1 2 as safe3168 clearignore3169 while findtype "gold coin" self as gold3170 if findtype "wooden box" self as lockbox3171 if findtype "copper key" self as key3172 getlabel lockbox lockboxlabel3173 if "items" in lockboxlabel3174 wait 5003175 else3176 dclick key3177 wft 15003178 target lockbox3179 wait 2503180 if insysmsg "It appears to be locked."3181 dclick key3182 wft 15003183 target lockbox3184 wait 2503185 endif3186 endif3187 elseif EnableAutoRecallOverheadMessages = 13188 overhead '[ NO LOCKBOX KEY! ]' 3373189 endif3190 endif3191 3192 if EnableAutoRecallOverheadMessages = 13193 overhead '[ DEPOSITING GOLD... ]' 1493194 else3195 overhead " � " 1493196 endif3197 3198 menu safe 03199 wait 5003200 endwhile3201 while findtype 2539 self as dubs3202 if EnableAutoRecallOverheadMessages = 13203 overhead '[ DEPOSITING DUBS... ]' 1493204 else3205 overhead " � " 1493206 endif3207 3208 menu safe 03209 wait 5003210 endwhile3211 elseif EnableAutoRecallOverheadMessages = 13212 overhead '[ NO BANK SAFE FOUND ]' 3373213 wait 15003214 endif3215 endif3216 3217 if EnableMagicRecycler = 13218 if findtype "ornate elven chest|magic item recycler" ground -1 -1 2 as recycler3219 for 23220 getlabel recycler recyclerdesc3221 3222 if EnableRecycleItemsWhenFull = 13223 if "(125 items" in recyclerdesc3224 dclick recycler3225 waitforgump 40451111013226 gumpresponse 73227 waitforgump 40451111013228 gumpresponse 63229 waitforgump 40451111013230 gumpresponse 63231 3232 if EnableAutoRecallOverheadMessages = 13233 overhead '[ RECYCLING JUNK... ]' 663234 else3235 overhead " � " 663236 endif3237 3238 wait 5003239 gumpclose 40451111013240 3241 if EnableResourceStockpile = 13242 if findtype "resource container" ground -1 -1 2 as resource3243 menu resource 03244 wft 15003245 target recycler3246 wait 5003247 if EnableAutoRecallOverheadMessages = 13248 overhead '[ PILING RESOURCES... ]' 843249 else3250 overhead " � " 843251 endif3252 wait 5003253 elseif EnableAutoRecallOverheadMessages = 13254 overhead '[ NO RESOURCE STOCKPILE FOUND ]' 3373255 endif3256 endif3257 3258 menu recycler 13259 getlabel backpack backpacklabel3260 3261 if insysmsg "0 recyclable"3262 break3263 else3264 if EnableAutoRecallOverheadMessages = 13265 overhead '[ ADDING TO RECYCLER... ]' 63266 else3267 overhead " � " 63268 endif3269 wait 15003270 endif3271 endif3272 endif3273 menu recycler 13274 wait 5003275 if insysmsg "0 recyclable"3276 if EnableAutoRecallOverheadMessages = 1 and timer "InventoryCheck" > 50003277 overhead '[ NO MAGIC LOOT! ]' 63278 elseif timer "InventoryCheck" > 50003279 overhead " � " 63280 endif3281 break3282 else3283 if EnableAutoRecallOverheadMessages = 13284 overhead '[ ADDING TO RECYCLER... ]' 63285 else3286 overhead " � " 63287 endif3288 settimer "InventoryCheck" 03289 wait 15003290 endif3291 wait 5003292 endfor3293 elseif EnableAutoRecallOverheadMessages = 13294 overhead '[ NO MAGIC ITEM RECYCLER FOUND ]' 3373295 endif3296 endif3297 3298 if EnableLootChest = 13299 dclick LootChest3300 if EnableAutoRecallOverheadMessages = 13301 overhead '[ STASHING LOOT... ]' 693302 else3303 overhead " � " 693304 endif3305 wait 5003306 for 23307 hotkey "Organizer Agent-06"3308 wait 2503309 hotkey "Organizer Agent-07"3310 wait 2503311 hotkey "Organizer Agent-08"3312 wait 2503313 hotkey "Organizer Agent-09"3314 wait 2503315 endfor3316 while queued3317 wait 1003318 endwhile3319 endif3320 if EnableStorageTomes = 13321 if EnableStorageTomeContainer = 13322 dclick TomeContainer3323 wait 5003324 endif3325 if findtype "70142|70143|70144|70145|70158|70159|70160|70161|70162|70163|70164|70165|70166|70167|70168" ground -1 -1 2 as StorageTome or findtype "70142|70143|70144|70145|70158|70159|70160|70161|70162|70163|70164|70165|70166|70167|70168" LootChest as StorageTome or findtype "70142|70143|70144|70145|70158|70159|70160|70161|70162|70163|70164|70165|70166|70167|70168" TomeContainer as StorageTome3326 while findtype "70142|70143|70144|70145|70158|70159|70160|70161|70162|70163|70164|70165|70166|70167|70168" ground -1 -1 2 as StorageTome3327 menu StorageTome 03328 if EnableAutoRecallOverheadMessages = 1 and timer "InventoryCheck" > 35003329 overhead '[ STORING TOME ITEMS... ]' 21173330 settimer "InventoryCheck" 03331 elseif EnableAutoRecallOverheadMessages = 0 and timer "InventoryCheck" > 35003332 overhead " � " 21173333 settimer "InventoryCheck" 03334 endif3335 wait 2503336 @ignore StorageTome3337 endwhile3338 while findtype "70142|70143|70144|70145|70158|70159|70160|70161|70162|70163|70164|70165|70166|70167|70168" LootChest as StorageTome or findtype "70142|70143|70144|70145|70158|70159|70160|70161|70162|70163|70164|70165|70166|70167|70168" TomeContainer as StorageTome3339 menu StorageTome 03340 if EnableAutoRecallOverheadMessages = 1 and timer "InventoryCheck" > 35003341 overhead '[ STORING TOME ITEMS... ]' 21173342 settimer "InventoryCheck" 03343 elseif EnableAutoRecallOverheadMessages = 0 and timer "InventoryCheck" > 35003344 overhead " � " 21173345 settimer "InventoryCheck" 03346 endif3347 wait 2503348 @ignore StorageTome3349 endwhile3350 @clearignore3351 elseif EnableAutoRecallOverheadMessages = 13352 overhead '[ NO STORAGE TOMES FOUND ]' 3373353 wait 15003354 endif3355 endif3356 3357 if EnableResourceStockpile = 13358 if findtype "resource container" ground -1 -1 2 as resource3359 menu resource 03360 wft 5003361 target self3362 if EnableAutoRecallOverheadMessages = 13363 overhead '[ PILING RESOURCES... ]' 843364 else3365 overhead " � " 843366 endif3367 wait 15003368 elseif EnableAutoRecallOverheadMessages = 13369 overhead '[ NO RESOURCE STOCKPILE FOUND ]' 3373370 wait 15003371 endif3372 endif3373 3374 if EnableRepairBench = 13375 if findtype "repair bench" ground -1 -1 3 as RepairBench3376 clearsysmsg3377 dclick RepairBench3378 wait 5003379 if insysmsg "You do not have any items equipped or in your backpack in need of repairs."3380 if EnableAutoRecallOverheadMessages = 13381 overhead '[ NOTHING TO REPAIR! ]' 03382 endif3383 wait 15003384 else3385 if EnableAutoRecallOverheadMessages = 13386 overhead '[ REPAIRING EQUIPMENT... ]' 3393387 else3388 overhead " � " 3393389 endif3390 settimer RepairTimer 03391 while timer RepairTimer <= 50003392 if insysmsg "Repair"3393 break3394 endif3395 endwhile3396 if EnableAutoRecallOverheadMessages = 13397 overhead '[ ITEMS REPAIRED! ]' 03398 wait 5003399 overhead "Repair took: {{RepairTimer}}ms" 773400 else3401 overhead " � " 03402 endif3403 removetimer RepairTimer3404 wait 5003405 endif3406 elseif EnableAutoRecallOverheadMessages = 13407 overhead '[ NO REPAIR BENCH FOUND ]' 3373408 wait 15003409 endif3410 endif3411 endif3412 3413 wait 5003414 3415 if EnableStorageShelf = 13416 if findtype "storage shelf" ground -1 -1 2 as shelf3417 if IHAVEDIED != 13418 menu shelf 03419 wft 5003420 target self3421 if EnableAutoRecallOverheadMessages = 13422 overhead '[ STORING GOODS... ]' 21143423 else3424 overhead " � " 21143425 endif3426 wait 5003427 gumpclose 32328259653428 wait 10003429 endif3430 menu shelf 13431 if EnableAutoRecallOverheadMessages = 13432 overhead '[ RESUPPLYING... ]' 933433 wait 5003434 else3435 overhead " � " 933436 endif3437 wait 10003438 elseif EnableAutoRecallOverheadMessages = 13439 overhead '[ NO STORAGE SHELF FOUND ]' 3373440 wait 15003441 endif3442 endif3443 3444 if EnableResetInventoryAfterDeath = 1 and IHAVEDIED = 13445 clearignore3446 3447 if not varexist maininventorybag or not find maininventorybag self3448 overhead '[ SELECT MAIN POUCH... ]' 2533449 @setvar! maininventorybag3450 wft 5003451 while targetexists3452 wait 1003453 endwhile3454 overhead '[ MAIN POUCH SET! ]' 933455 wait 5003456 endif3457 3458 lift maininventorybag3459 wait 5003460 drop backpack 69 69 03461 wait 5003462 3463 if EnableSetMainPouchOrganizer01 = 13464 hotkey 'Set Organizer Hotbag-01'3465 wft 10003466 target maininventorybag3467 if EnableAutoRecallOverheadMessages = 13468 overhead '[ POUCH SET TO AGENT-01! ]' 843469 endif3470 wait 5003471 endif3472 3473 dclick maininventorybag3474 wait 10003475 sysmsg "Auto-selecting your loot/grab bag..." 03476 hotkey 'Set Grab Item Hotbag'3477 wft 15003478 3479 while targetexists3480 if findtype 'bag' self as grabbag3481 target grabbag3482 wait 5003483 else3484 wait 10003485 sysmsg "Auto-select failed! Please manually target your loot/grab bag!" 03486 wait 10003487 overhead '[ SELECT GRAB BAG... ]' 2533488 wait 35003489 endif3490 wait 5003491 endwhile3492 overhead '[ GRAB BAG SET! ]' 933493 wait 5003494 3495 if EnableLootBag = 13496 if not find LootBag self3497 wait 5003498 overhead "Select your new loot bag..." 2533499 wait 5003500 @setvar! LootBag3501 wait 5003502 while targetexists3503 wait 1003504 endwhile3505 endif3506 endif3507 3508 if find grabbag self3509 lift grabbag3510 wait 5003511 drop maininventorybag -1 -1 -13512 wait 5003513 endif3514 3515 while findtype 'scissors' self3516 if skill 'healing' > 0 and hp < maxhp and not bandaging3517 if findtype 'clean bandage%s%' self3518 hotkey 'Bandage Self'3519 if EnableAutoRecallOverheadMessages = 13520 overhead '[ BANDAGING... ]' 883521 endif3522 else3523 if EnableAutoRecallOverheadMessages = 13524 overhead '[ NO BANDAGES! ]' 3373525 endif3526 endif3527 endif3528 3529 if findtype 'scissors' backpack as myscissors3530 if findtype 'pouch' self as trappedpouch3531 lift myscissors3532 wait 2503533 drop trappedpouch3534 wait 7503535 lift trappedpouch3536 wait 2503537 drop backpack 69 69 03538 @ignore trappedpouch3539 @ignore myscissors3540 endif3541 endif3542 3543 wait 5003544 while queued3545 wait 1003546 endwhile3547 endwhile3548 3549 clearignore3550 3551 while findtype 'pouch' backpack as decoypouch3552 getlabel decoypouch decoypouchlabel3553 wait 2503554 if '(1 items' in decoypouchlabel3555 lift decoypouch3556 drop backpack 97 97 03557 break3558 else3559 @ignore decoypouch3560 endif3561 endwhile3562 3563 if findtype 'atlas' backpack as hidemypouchstack3564 lift hidemypouchstack3565 drop backpack 72 66 03566 wait 5003567 else3568 say "[atlas"3569 wait 5003570 if findtype 'atlas' backpack as hidemypouchstack3571 lift hidemypouchstack3572 drop backpack 72 66 03573 wait 5003574 endif3575 endif3576 3577 if EnableAutoRecallOverheadMessages = 13578 overhead '[ ACTIVATING ASPECT... ]' 22343579 wait 5003580 endif3581 3582 say "[aspect"3583 waitforgump 24242931733584 gumpresponse 133585 wait 5003586 gumpresponse 133587 wait 2503588 gumpresponse 173589 wait 5003590 gumpresponse 173591 wait 2503592 gumpclose 24242931733593 wait 5003594 3595 if skill 'magery' >= 60 and hp < maxhp and mana >= 11 and not casting3596 while hp < maxhp3597 cast 'greater heal'3598 settimer AntiStallTimer 03599 3600 while not targetexists and timer AntiStallTimer < 25003601 if timer AntiStallTimer > 25003602 settimer AntiStallTimer 03603 break3604 endif3605 wait 1003606 endwhile3607 3608 target 'self'3609 wait 5003610 endwhile3611 endif3612 3613 if findtype "storage shelf" ground -1 -1 2 as shelf3614 menu shelf 13615 wait 5003616 endif3617 3618 if find maininventorybag self3619 dclick maininventorybag3620 wait 5003621 endif3622 3623 if findtype 'alchemists satchel' self as BagofPot3624 dclick BagofPot3625 wait 5003626 endif3627 3628 if findtype 'reagent satchel' self as WizardBag3629 dclick WizardBag3630 wait 5003631 endif3632 3633 if find grabbag self3634 dclick grabbag3635 wait 5003636 endif3637 3638 clearignore3639 @setvar! IHAVEDIED 03640 overhead '[ RESET COMPLETE! ]' 693641 wait 5003642 endif3643 3644 if EnableUsePotionKegs = 1 and findtype 'empty bottle%s%' self and findtype 'keg' self and timer 'PotionKegPVPCooldown' > 300003645 @setvar! PotionStockCheck 03646 3647 while PotionStockCheck < 8 and findtype 'empty bottle%s%' self3648 3649 if PotionStockCheck = 03650 if HealingPotionAmount = 03651 @setvar! PotionStockCheck 13652 else3653 @setvar! PotionType 38523654 @setvar! KegColour 2533655 @setvar! PotionAmounttoFill HealingPotionAmount3656 @setvar! PotionStockCheck 13657 endif3658 elseif PotionStockCheck = 13659 if CurePotionAmount = 03660 @setvar! PotionStockCheck 23661 else3662 @setvar! PotionType 38473663 @setvar! KegColour 443664 @setvar! PotionAmounttoFill CurePotionAmount3665 @setvar! PotionStockCheck 23666 endif3667 elseif PotionStockCheck = 23668 if RefreshPotionAmount = 03669 @setvar! PotionStockCheck 33670 else3671 @setvar! PotionType 38513672 @setvar! KegColour 373673 @setvar! PotionAmounttoFill RefreshPotionAmount3674 @setvar! PotionStockCheck 33675 endif3676 elseif PotionStockCheck = 33677 if StrengthPotionAmount = 03678 @setvar! PotionStockCheck 43679 else3680 @setvar! PotionType 38493681 @setvar! KegColour 9563682 @setvar! PotionAmounttoFill StrengthPotionAmount3683 @setvar! PotionStockCheck 43684 endif3685 elseif PotionStockCheck = 43686 if AgilityPotionAmount = 03687 @setvar! PotionStockCheck 53688 else3689 @setvar! PotionType 38483690 @setvar! KegColour 933691 @setvar! PotionAmounttoFill AgilityPotionAmount3692 @setvar! PotionStockCheck 53693 endif3694 elseif PotionStockCheck = 53695 if ResistPotionAmount = 03696 @setvar! PotionStockCheck 63697 else3698 @setvar! PotionType 38463699 @setvar! KegColour 11093700 @setvar! PotionAmounttoFill ResistPotionAmount3701 @setvar! PotionStockCheck 63702 endif3703 elseif PotionStockCheck = 63704 if PoisonPotionAmount = 03705 @setvar! PotionStockCheck 73706 else3707 @setvar! PotionType 38503708 @setvar! KegColour 3633709 @setvar! PotionAmounttoFill PoisonPotionAmount3710 @setvar! PotionStockCheck 73711 endif3712 elseif PotionStockCheck = 73713 if ExplosionPotionAmount = 03714 @setvar! PotionStockCheck 83715 else3716 @setvar! PotionType 38533717 @setvar! KegColour 4193718 @setvar! PotionAmounttoFill ExplosionPotionAmount3719 @setvar! PotionStockCheck 83720 endif3721 else3722 break3723 endif3724 3725 while counttype PotionType self < PotionAmounttoFill3726 if not findtype 'empty bottle%s%' self3727 if EnableAutoRecallOverheadMessages = 1 and timer 'PotionKegTimer' > 50003728 overhead '[ NO EMPTY BOTTLES... ]' 3373729 settimer 'PotionKegTimer' 03730 endif3731 break3732 endif3733 3734 if diffhits > HealPotionHPdiff3735 break3736 endif3737 3738 if findtype 'keg' self KegColour as myKeg3739 dclick myKeg3740 wait 2503741 if EnableAutoRecallOverheadMessages = 13742 if timer 'PotionKegTimer' > 20003743 overhead '[ FILLING POTS... ]' KegColour3744 settimer 'PotionKegTimer' 03745 endif3746 endif3747 else3748 if EnableAutoRecallOverheadMessages = 1 and timer 'PotionKegTimer' > 50003749 overhead '[ NO KEG TO USE... ]' KegColour3750 settimer 'PotionKegTimer' 03751 endif3752 break3753 endif3754 if insysmsg "You have been in combat with another player"3755 settimer "PotionKegPVPCooldown" 03756 break3757 endif3758 endwhile3759 3760 if counttype PotionType self < PotionAmounttoFill and not findtype 'empty bottle%s%' self3761 if EnableAutoRecallOverheadMessages = 1 and timer 'PotionKegTimer' > 50003762 overhead '[ NO EMPTY BOTTLES... ]' 3373763 settimer 'PotionKegTimer' 03764 endif3765 break3766 endif3767 endwhile3768 endif3769 3770 if EnableReagentSplitter = 13771 if findtype "reagent satchel" self as MyWizardBag3772 while findtype "reagent satchel" self as MyWizardBag3773 getlabel MyWizardBag MyWizardBaglabel3774 wait 5003775 if "decorative" in MyWizardBaglabel3776 @ignore MyWizardBag3777 wait 5003778 else3779 break3780 endif3781 endwhile3782 3783 dclick MyWizardBag3784 wait 5003785 3786 if EnableAutoRecallOverheadMessages = 13787 overhead '[ SPLITTING REGS... ]' 23383788 endif3789 3790 # Spiders Silk3791 @setvar! ReagentStack 03792 @setvar! ReagentSerial 39813793 @setvar! ReagentCount 03794 3795 while findtype ReagentSerial self as regs3796 @setvar! ReagentCount index3797 @ignore regs3798 endwhile3799 3800 @clearignore3801 3802 if counttype ReagentSerial self <= 103803 @setvar! ReagentStack 23804 elseif counttype ReagentSerial self <= 203805 @setvar! ReagentStack 43806 elseif counttype ReagentSerial self <= 503807 @setvar! ReagentStack 103808 elseif counttype ReagentSerial self <= 1003809 @setvar! ReagentStack 203810 elseif counttype ReagentSerial self <= 1503811 @setvar! ReagentStack 303812 elseif counttype ReagentSerial self <= 2003813 @setvar! ReagentStack 403814 else3815 @setvar! ReagentStack 503816 endif3817 3818 while findtype ReagentSerial self as regs3819 @setvar! moveRegs 03820 3821 if ReagentCount = 03822 @setvar! moveRegs 13823 elseif ReagentCount != 0 and not find regs MyWizardBag3824 @setvar! moveRegs 13825 endif3826 3827 if moveRegs = 13828 if index = 03829 lift regs ReagentStack3830 drop MyWizardBag 44 65 03831 wait 1503832 elseif index = 13833 lift regs ReagentStack3834 drop MyWizardBag 68 65 03835 wait 1503836 elseif index = 23837 lift regs ReagentStack3838 drop MyWizardBag 96 65 03839 wait 1503840 elseif index = 33841 lift regs ReagentStack3842 drop MyWizardBag 121 65 03843 wait 1503844 else3845 lift regs ReagentStack3846 drop MyWizardBag 142 65 03847 wait 1503848 endif3849 endif3850 3851 @ignore regs3852 3853 if moveRegs = 13854 wait 5003855 endif3856 endwhile3857 3858 if EnableAutoRecallOverheadMessages = 13859 overhead '[ SPLITTING REGS... ]' 33860 endif3861 3862 # Black Pearl3863 @setvar! ReagentSerial 39623864 @setvar! ReagentCount 03865 3866 while findtype ReagentSerial self as regs3867 @setvar! ReagentCount index3868 @ignore regs3869 endwhile3870 3871 @clearignore3872 3873 if counttype ReagentSerial self <= 103874 @setvar! ReagentStack 23875 elseif counttype ReagentSerial self <= 203876 @setvar! ReagentStack 43877 elseif counttype ReagentSerial self <= 503878 @setvar! ReagentStack 103879 elseif counttype ReagentSerial self <= 1003880 @setvar! ReagentStack 203881 elseif counttype ReagentSerial self <= 1503882 @setvar! ReagentStack 303883 elseif counttype ReagentSerial self <= 2003884 @setvar! ReagentStack 403885 else3886 @setvar! ReagentStack 503887 endif3888 3889 while findtype ReagentSerial self as regs3890 @setvar! moveRegs 03891 3892 if ReagentCount = 03893 @setvar! moveRegs 13894 elseif ReagentCount != 0 and not find regs MyWizardBag3895 @setvar! moveRegs 13896 endif3897 3898 if moveRegs = 13899 if index = 03900 lift regs ReagentStack3901 drop MyWizardBag 44 76 03902 wait 1503903 elseif index = 13904 lift regs ReagentStack3905 drop MyWizardBag 68 76 03906 wait 1503907 elseif index = 23908 lift regs ReagentStack3909 drop MyWizardBag 96 76 03910 wait 1503911 elseif index = 33912 lift regs ReagentStack3913 drop MyWizardBag 121 76 03914 wait 1503915 else3916 lift regs ReagentStack3917 drop MyWizardBag 142 76 03918 wait 1503919 endif3920 endif3921 3922 @ignore regs3923 3924 if moveRegs = 13925 wait 5003926 endif3927 endwhile3928 3929 if EnableAutoRecallOverheadMessages = 13930 overhead '[ SPLITTING REGS... ]' 3633931 endif3932 3933 # Nightshade3934 @setvar! ReagentSerial 39763935 @setvar! ReagentCount 03936 3937 while findtype ReagentSerial self as regs3938 @setvar! ReagentCount index3939 @ignore regs3940 endwhile3941 3942 @clearignore3943 3944 if counttype ReagentSerial self <= 103945 @setvar! ReagentStack 23946 elseif counttype ReagentSerial self <= 203947 @setvar! ReagentStack 43948 elseif counttype ReagentSerial self <= 503949 @setvar! ReagentStack 103950 elseif counttype ReagentSerial self <= 1003951 @setvar! ReagentStack 203952 elseif counttype ReagentSerial self <= 1503953 @setvar! ReagentStack 303954 elseif counttype ReagentSerial self <= 2003955 @setvar! ReagentStack 403956 else3957 @setvar! ReagentStack 503958 endif3959 3960 while findtype ReagentSerial self as regs3961 @setvar! moveRegs 03962 3963 if ReagentCount = 03964 @setvar! moveRegs 13965 elseif ReagentCount != 0 and not find regs MyWizardBag3966 @setvar! moveRegs 13967 endif3968 3969 if moveRegs = 13970 if index = 03971 lift regs ReagentStack3972 drop MyWizardBag 44 88 03973 wait 1503974 elseif index = 13975 lift regs ReagentStack3976 drop MyWizardBag 68 88 03977 wait 1503978 elseif index = 23979 lift regs ReagentStack3980 drop MyWizardBag 96 88 03981 wait 1503982 elseif index = 33983 lift regs ReagentStack3984 drop MyWizardBag 121 88 03985 wait 1503986 else3987 lift regs ReagentStack3988 drop MyWizardBag 142 88 03989 wait 1503990 endif3991 endif3992 3993 @ignore regs3994 3995 if moveRegs = 13996 wait 5003997 endif3998 endwhile3999 4000 if EnableAutoRecallOverheadMessages = 14001 overhead '[ SPLITTING REGS... ]' 4424002 endif4003 4004 # Mandrake Root4005 @setvar! ReagentSerial 39744006 @setvar! ReagentCount 04007 4008 while findtype ReagentSerial self as regs4009 @setvar! ReagentCount index4010 @ignore regs4011 endwhile4012 @clearignore4013 4014 if counttype ReagentSerial self <= 104015 @setvar! ReagentStack 24016 elseif counttype ReagentSerial self <= 204017 @setvar! ReagentStack 44018 elseif counttype ReagentSerial self <= 504019 @setvar! ReagentStack 104020 elseif counttype ReagentSerial self <= 1004021 @setvar! ReagentStack 204022 elseif counttype ReagentSerial self <= 1504023 @setvar! ReagentStack 304024 elseif counttype ReagentSerial self <= 2004025 @setvar! ReagentStack 404026 else4027 @setvar! ReagentStack 504028 endif4029 4030 while findtype ReagentSerial self as regs4031 @setvar! moveRegs 04032 4033 if ReagentCount = 04034 @setvar! moveRegs 14035 elseif ReagentCount != 0 and not find regs MyWizardBag4036 @setvar! moveRegs 14037 endif4038 4039 if moveRegs = 14040 if index = 04041 lift regs ReagentStack4042 drop MyWizardBag 44 100 04043 wait 1504044 elseif index = 14045 lift regs ReagentStack4046 drop MyWizardBag 68 100 04047 wait 1504048 elseif index = 24049 lift regs ReagentStack4050 drop MyWizardBag 96 100 04051 wait 1504052 elseif index = 34053 lift regs ReagentStack4054 drop MyWizardBag 121 100 04055 wait 1504056 else4057 lift regs ReagentStack4058 drop MyWizardBag 142 100 04059 wait 1504060 endif4061 endif4062 4063 @ignore regs4064 4065 if moveRegs = 14066 wait 5004067 endif4068 endwhile4069 4070 if EnableAutoRecallOverheadMessages = 14071 overhead '[ SPLITTING REGS... ]' 1534072 endif4073 4074 # Sulfurous Ash4075 @setvar! ReagentSerial 39804076 @setvar! ReagentCount 04077 4078 while findtype ReagentSerial self as regs4079 @setvar! ReagentCount index4080 @ignore regs4081 endwhile4082 4083 @clearignore4084 4085 if counttype ReagentSerial self <= 104086 @setvar! ReagentStack 24087 elseif counttype ReagentSerial self <= 204088 @setvar! ReagentStack 44089 elseif counttype ReagentSerial self <= 504090 @setvar! ReagentStack 104091 elseif counttype ReagentSerial self <= 1004092 @setvar! ReagentStack 204093 elseif counttype ReagentSerial self <= 1504094 @setvar! ReagentStack 304095 elseif counttype ReagentSerial self <= 2004096 @setvar! ReagentStack 404097 else4098 @setvar! ReagentStack 504099 endif4100 4101 while findtype ReagentSerial self as regs4102 @setvar! moveRegs 04103 4104 if ReagentCount = 04105 @setvar! moveRegs 14106 elseif ReagentCount != 0 and not find regs MyWizardBag4107 @setvar! moveRegs 14108 endif4109 4110 if moveRegs = 14111 if index = 04112 lift regs ReagentStack4113 drop MyWizardBag 44 112 04114 wait 1504115 elseif index = 14116 lift regs ReagentStack4117 drop MyWizardBag 68 112 04118 wait 1504119 elseif index = 24120 lift regs ReagentStack4121 drop MyWizardBag 96 112 04122 wait 1504123 elseif index = 34124 lift regs ReagentStack4125 drop MyWizardBag 121 112 04126 wait 1504127 else4128 lift regs ReagentStack4129 drop MyWizardBag 142 112 04130 wait 1504131 endif4132 endif4133 4134 @ignore regs4135 4136 if moveRegs = 14137 wait 5004138 endif4139 endwhile4140 4141 if EnableAutoRecallOverheadMessages = 14142 overhead '[ SPLITTING REGS... ]' 2474143 endif4144 4145 # Giseng4146 @setvar! ReagentSerial 39734147 @setvar! ReagentCount 04148 4149 while findtype ReagentSerial self as regs4150 @setvar! ReagentCount index4151 @ignore regs4152 endwhile4153 4154 @clearignore4155 4156 if counttype ReagentSerial self <= 104157 @setvar! ReagentStack 24158 elseif counttype ReagentSerial self <= 204159 @setvar! ReagentStack 44160 elseif counttype ReagentSerial self <= 504161 @setvar! ReagentStack 104162 elseif counttype ReagentSerial self <= 1004163 @setvar! ReagentStack 204164 elseif counttype ReagentSerial self <= 1504165 @setvar! ReagentStack 304166 elseif counttype ReagentSerial self <= 2004167 @setvar! ReagentStack 404168 else4169 @setvar! ReagentStack 504170 endif4171 4172 while findtype ReagentSerial self as regs4173 @setvar! moveRegs 04174 4175 if ReagentCount = 04176 @setvar! moveRegs 14177 elseif ReagentCount != 0 and not find regs MyWizardBag4178 @setvar! moveRegs 14179 endif4180 4181 if moveRegs = 14182 if index = 04183 lift regs ReagentStack4184 drop MyWizardBag 44 124 04185 wait 1504186 elseif index = 14187 lift regs ReagentStack4188 drop MyWizardBag 68 124 04189 wait 1504190 elseif index = 24191 lift regs ReagentStack4192 drop MyWizardBag 96 124 04193 wait 1504194 elseif index = 34195 lift regs ReagentStack4196 drop MyWizardBag 121 124 04197 wait 1504198 else4199 lift regs ReagentStack4200 drop MyWizardBag 142 124 04201 wait 1504202 endif4203 endif4204 4205 @ignore regs4206 4207 if moveRegs = 14208 wait 5004209 endif4210 endwhile4211 4212 if EnableAutoRecallOverheadMessages = 14213 overhead '[ SPLITTING REGS... ]' 334214 endif4215 4216 # Bloodmoss4217 @setvar! ReagentSerial 39634218 @setvar! ReagentCount 04219 4220 while findtype ReagentSerial self as regs4221 @setvar! ReagentCount index4222 @ignore regs4223 endwhile4224 4225 @clearignore4226 4227 if counttype ReagentSerial self <= 104228 @setvar! ReagentStack 24229 elseif counttype ReagentSerial self <= 204230 @setvar! ReagentStack 44231 elseif counttype ReagentSerial self <= 504232 @setvar! ReagentStack 104233 elseif counttype ReagentSerial self <= 1004234 @setvar! ReagentStack 204235 elseif counttype ReagentSerial self <= 1504236 @setvar! ReagentStack 304237 elseif counttype ReagentSerial self <= 2004238 @setvar! ReagentStack 404239 else4240 @setvar! ReagentStack 504241 endif4242 4243 while findtype ReagentSerial self as regs4244 @setvar! moveRegs 04245 4246 if ReagentCount = 04247 @setvar! moveRegs 14248 elseif ReagentCount != 0 and not find regs MyWizardBag4249 @setvar! moveRegs 14250 endif4251 4252 if moveRegs = 14253 if index = 04254 lift regs ReagentStack4255 drop MyWizardBag 44 136 04256 wait 1504257 elseif index = 14258 lift regs ReagentStack4259 drop MyWizardBag 68 136 04260 wait 1504261 elseif index = 24262 lift regs ReagentStack4263 drop MyWizardBag 96 136 04264 wait 1504265 elseif index = 34266 lift regs ReagentStack4267 drop MyWizardBag 121 136 04268 wait 1504269 else4270 lift regs ReagentStack4271 drop MyWizardBag 142 136 04272 wait 1504273 endif4274 endif4275 4276 @ignore regs4277 4278 if moveRegs = 14279 wait 5004280 endif4281 endwhile4282 4283 if EnableAutoRecallOverheadMessages = 14284 overhead '[ SPLITTING REGS... ]' 6464285 endif4286 4287 # Garlic4288 @setvar! ReagentSerial 39724289 @setvar! ReagentCount 04290 4291 while findtype ReagentSerial self as regs4292 @setvar! ReagentCount index4293 @ignore regs4294 endwhile4295 4296 @clearignore4297 4298 if counttype ReagentSerial self <= 104299 @setvar! ReagentStack 24300 elseif counttype ReagentSerial self <= 204301 @setvar! ReagentStack 44302 elseif counttype ReagentSerial self <= 504303 @setvar! ReagentStack 104304 elseif counttype ReagentSerial self <= 1004305 @setvar! ReagentStack 204306 elseif counttype ReagentSerial self <= 1504307 @setvar! ReagentStack 304308 elseif counttype ReagentSerial self <= 2004309 @setvar! ReagentStack 404310 else4311 @setvar! ReagentStack 504312 endif4313 4314 while findtype ReagentSerial self as regs4315 @setvar! moveRegs 04316 4317 if ReagentCount = 04318 @setvar! moveRegs 14319 elseif ReagentCount != 0 and not find regs MyWizardBag4320 @setvar! moveRegs 14321 endif4322 4323 if moveRegs = 14324 if index = 04325 lift regs ReagentStack4326 drop MyWizardBag 44 148 04327 wait 1504328 elseif index = 14329 lift regs ReagentStack4330 drop MyWizardBag 68 148 04331 wait 1504332 elseif index = 24333 lift regs ReagentStack4334 drop MyWizardBag 96 148 04335 wait 1504336 elseif index = 34337 lift regs ReagentStack4338 drop MyWizardBag 121 148 04339 wait 1504340 else4341 lift regs ReagentStack4342 drop MyWizardBag 142 148 04343 wait 1504344 endif4345 endif4346 4347 @ignore regs4348 4349 if moveRegs = 14350 wait 5004351 endif4352 endwhile4353 else4354 if EnableAutoRecallOverheadMessages = 14355 overhead '[ NO WIZARD BAG! ]' 3374356 wait 5004357 endif4358 endif4359 endif4360 overhead '[ SCRIPT COMPLETE! ]' 884361 hotkey "Organizer Agent-01"4362 @setvar! IHAVEDIED 04363 @setvar! DisableVacuums 04364 @setvar! RedTargetFound 04365 stop4366 else4367 if not warmode and WarModeToggledWhileFighting = 14368 @setvar! WarModeToggledWhileFighting 04369 hotkey 'Toggle War Only'4370 wait 2504371 endif4372 endif4373 4374 //////////////////////////4375 // END AUTO RECALL //4376 //////////////////////////4377 4378 4379 ////////////////////////4380 // CHECKS: //4381 ////////////////////////4382 4383 if EnableTrackingAutoRecall = 1 and AttackModeActive != 2 and TimeToGo != 14384 if PKTrackingRange = 604385 if insysmsg ": 60 step" or insysmsg "60 space" or insysmsg ": 59 step" or insysmsg "59 space" or insysmsg ": 58 step" or insysmsg "58 space" or insysmsg ": 57 step" or insysmsg "57 space" or insysmsg ": 56 step" or insysmsg "56 space" or insysmsg ": 55 step" or insysmsg "55 space" or insysmsg ": 54 step" or insysmsg "54 space" or insysmsg ": 53 step" or insysmsg "53 space" or insysmsg ": 52 step" or insysmsg "52 space" or insysmsg ": 51 step" or insysmsg "51 space" or insysmsg ": 50 step" or insysmsg "50 space" or insysmsg ": 49 step" or insysmsg "49 space" or insysmsg ": 48 step" or insysmsg "48 space" or insysmsg ": 47 step" or insysmsg "47 space" or insysmsg ": 46 step" or insysmsg "46 space" or insysmsg ": 45 step" or insysmsg "45 space" or insysmsg ": 44 step" or insysmsg "44 space" or insysmsg ": 43 step" or insysmsg "43 space" or insysmsg ": 42 step" or insysmsg "42 space" or insysmsg ": 41 step" or insysmsg "41 space" or insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space"4386 hotkey 'Toggle Peace Only'4387 if EnableRedAlertOverhead = 14388 overhead '[ !! RED ALERT !! ]' 374389 endif4390 @setvar! WarModeToggledWhileFighting 04391 @setvar! RedTargetFound 14392 @setvar! TimeToGo 14393 clearsysmsg4394 replay4395 endif4396 elseif PKTrackingRange = 504397 if insysmsg ": 50 step" or insysmsg "50 space" or insysmsg ": 49 step" or insysmsg "49 space" or insysmsg ": 48 step" or insysmsg "48 space" or insysmsg ": 47 step" or insysmsg "47 space" or insysmsg ": 46 step" or insysmsg "46 space" or insysmsg ": 45 step" or insysmsg "45 space" or insysmsg ": 44 step" or insysmsg "44 space" or insysmsg ": 43 step" or insysmsg "43 space" or insysmsg ": 42 step" or insysmsg "42 space" or insysmsg ": 41 step" or insysmsg "41 space" or insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space"4398 hotkey 'Toggle Peace Only'4399 if EnableRedAlertOverhead = 14400 overhead '[ !! RED ALERT !! ]' 374401 endif4402 @setvar! WarModeToggledWhileFighting 04403 @setvar! RedTargetFound 14404 @setvar! TimeToGo 14405 clearsysmsg4406 replay4407 endif4408 elseif PKTrackingRange = 404409 if insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space"4410 hotkey 'Toggle Peace Only'4411 if EnableRedAlertOverhead = 14412 overhead '[ !! RED ALERT !! ]' 374413 endif4414 @setvar! WarModeToggledWhileFighting 04415 @setvar! RedTargetFound 14416 @setvar! TimeToGo 14417 clearsysmsg4418 replay4419 endif4420 elseif PKTrackingRange = 04421 if insysmsg "Now tracking"4422 hotkey 'Toggle Peace Only'4423 if EnableRedAlertOverhead = 14424 overhead '[ !! RED ALERT !! ]' 374425 endif4426 @setvar! WarModeToggledWhileFighting 04427 @setvar! RedTargetFound 14428 @setvar! TimeToGo 14429 clearsysmsg4430 replay4431 endif4432 endif4433 endif4434 4435 if EnablePKradar = 1 and AttackModeActive != 2 and TimeToGo != 14436 if timer "PKRadarTimer" > 15004437 clearsysmsg4438 hotkey 'Next Murderer Player Target'4439 wait 2504440 if insysmsg "No one matching that was found"4441 settimer "PKRadarTimer" 04442 clearsysmsg4443 else4444 if EnableRedAlertOverhead = 14445 overhead "[ !! RED ALERT !! ]" 374446 endif4447 hotkey 'Toggle Peace Only'4448 @setvar! WarModeToggledWhileFighting 04449 @setvar! RedTargetFound 14450 @setvar! TimeToGo 14451 @setvar! MurdererTarget lasttarget4452 replay4453 endif4454 endif4455 endif4456 4457 if dead4458 break4459 endif4460 4461 if not warmode and WarModeToggledWhileFighting = 14462 hotkey 'Toggle War Only'4463 @setvar! WarModeToggledWhileFighting 04464 getlabel backpack backpacklabel4465 endif4466 4467 if EnableEatingFood = 1 and AttackModeActive != 24468 if not findbuff 'food satisfaction'4469 if findtype "tray" self as Food4470 if EnableOverheadMessages = 14471 overhead '[ EATING FOOD... ]' 884472 endif4473 dclick Food4474 wait 2504475 settimer 'EatHealSnackCooldownTimer' 04476 settimer 'EatManaSnackCooldownTimer' 04477 else4478 if timer EatFoodMessageTimer > 40004479 if EnableOverheadMessages = 14480 overhead '[ NO FOOD FOUND ]' 3374481 settimer EatFoodMessageTimer 04482 endif4483 endif4484 endif4485 endif4486 endif4487 4488 if EnableGoldVacuum = 1 and DisableVacuums != 1 and AttackModeActive != 24489 if findtype "gold coin" ground -1 -1 15 as droppedmoney and timer "GoldRadar" > 35004490 overhead " � " 149 droppedmoney4491 settimer "GoldRadar" 04492 endif4493 4494 while findtype "gold coin" ground -1 -1 2 as droppedmoney and diffhits < CastGreaterHealHPdiff4495 overhead " � " 1494496 hotkey "Grab Item"4497 wft 25004498 target droppedmoney4499 wait 2504500 4501 if dead4502 break4503 endif4504 4505 if diffhits >= CastGreaterHealHPdiff4506 @setvar! AttackModeActive 14507 break4508 endif4509 4510 if insysmsg "Invalid or inaccessible item"4511 wait 5004512 @ignore droppedmoney4513 endif4514 wait 2504515 endwhile4516 endif4517 4518 if EnableDungeonCleanup = 1 and diffhits < CastGreaterHealHPdiff and AttackModeActive != 24519 while findtype "iron ingot%s|board%s|cut up leather|3972|3962|3963|3980|3976|3973|3974|3981" ground -1 -1 2 as item4520 if EnableOverheadMessages = 14521 if timer "DungeonCleanup" > 15004522 overhead '[ CLEANUP... ]' 4204523 settimer "DungeonCleanup" 04524 endif4525 else4526 if timer "DungeonCleanup" > 15004527 overhead ' � ' 4204528 settimer "DungeonCleanup" 04529 endif4530 endif4531 4532 hotkey "Grab Item"4533 wft 10004534 target item4535 wait 5004536 4537 if dead4538 break4539 endif4540 4541 if diffhits >= CastGreaterHealHPdiff4542 @setvar! AttackModeActive 14543 break4544 endif4545 endwhile4546 4547 if findtype "iron ingot%s|board%s|cut up leather|3972|3962|3963|3980|3976|3973|3974|3981" ground -1 -1 15 as dungeonjunk and timer "DungeonCleanupRadar" > 35004548 overhead "�" 420 dungeonjunk4549 settimer "DungeonCleanupRadar" 04550 endif4551 endif4552 4553 if counttype 29012 self = 0 and EnableMagicMushroomMaker = 1 and AttackModeActive != 24554 while counttype 29012 self < MakeMushroomAmount and mana > 3 and diffhits < CastGreaterHealHPdiff4555 if timer 'MushroomMakerTimer' > 45004556 overhead '[ MAKING SHROOMS... ]' 4194557 settimer 'MushroomMakerTimer' 04558 endif4559 4560 if not casting4561 cast 'create food'4562 wait 5004563 endif4564 4565 if diffhits > CastGreaterHealHPdiff4566 break4567 endif4568 endwhile4569 endif4570 4571 if dead4572 break4573 endif4574 4575 if diffhits >= CastGreaterHealHPdiff4576 @setvar! AttackModeActive 14577 endif4578 4579 if EnableEatMagicMushrooms = 14580 if diffmana > EatMushroomManadiff and timer MushroomTimer > 600004581 if counttype 29012 backpack4582 dclicktype 29012 backpack4583 getlabel backpack packdesc4584 wait 2504585 if insysmsg "You consume a magic mushroom"4586 settimer MushroomTimer 04587 cooldown "Mushroom" 600004588 if EnableOverheadMessages = 14589 overhead '[ EATING SHROOMS... ]' 134590 endif4591 endif4592 elseif EnableOverheadMessages = 14593 overhead '[ OUT OF SHROOMS! ]' 3374594 endif4595 endif4596 endif4597 4598 if EnableEatManaSnacks = 14599 if skill 'Cooking' >= 504600 if findtype "29774|28883|28885|28880|28879|28888|28886|29773|28881" backpack as mysnack4601 if timer 'EatManaSnackCooldownTimer' > EatManaSnackCooldown and diffmana > EatSnackManadiff4602 if EnableOverheadMessages = 14603 overhead "[ MANA MUNCHING... ]" 4204604 endif4605 dclick mysnack4606 wait 2504607 settimer 'EatManaSnackCooldownTimer' 04608 settimer 'EatHealSnackCooldownTimer' 04609 cooldown "Snacking" EatManaSnackCooldown4610 endif4611 else4612 if timer FoodMessageTimer > 15000 and EnableOverheadMessages = 14613 overhead "[ NO MORE FOOD! ]" 3374614 settimer FoodMessageTimer 04615 endif4616 endif4617 endif4618 endif4619 4620 if timer 'OrganizerAgentTimer' > 30000 and AttackModeActive != 24621 hotkey "Organizer Agent-01"4622 settimer 'OrganizerAgentTimer' 04623 endif4624 4625 if EnableAutoCarving = 1 and findtype 11552 self and AttackModeActive != 24626 while findtype "corpse" ground -1 -1 2 as deadbody and diffhits < CastGreaterHealHPdiff4627 settimer SkinningTimeoutTimer 04628 if findtype 11552 self4629 if targetexists4630 hotkey 'cancel current target'4631 endif4632 4633 while not targetexists4634 skill 'forensicevaluation'4635 getlabel backpack backpacklabel4636 endwhile4637 4638 clearsysmsg4639 4640 if targetexists and find deadbody ground -1 -1 24641 target 'self'4642 @ignore deadbody4643 getlabel backpack backpacklabel4644 endif4645 4646 if insysmsg "You dont see anything nearby"4647 clearsysmsg4648 break4649 else4650 if EnableOverheadMessages = 1 and timer SkinningTimer > 30004651 overhead '[ SKINNING... ]' 3334652 settimer SkinningTimer 04653 endif4654 break4655 endif4656 else4657 if EnableOverheadMessages = 1 and timer SkinningTimer > 150004658 overhead '[ NO SKINNING KNIFE ]' 3374659 settimer SkinningTimer 04660 break4661 endif4662 endif4663 4664 if timer SkinningTimeoutTimer > 1500 or diffhits > CastGreaterHealHPdiff4665 break4666 endif4667 endwhile4668 endif4669 4670 if targetexists4671 if findtype " Elven Spellblade" self4672 targettype "Elven Spellblade"4673 else4674 hotkey 'Cancel current target'4675 endif4676 endif4677 4678 if EnableUsePotionKegs = 1 and findtype 'empty bottle%s%' self and findtype 'keg' self and timer 'PotionKegPVPCooldown' > 30000 and AttackModeActive != 24679 @setvar! PotionStockCheck 04680 4681 while PotionStockCheck < 8 and findtype 'empty bottle%s%' self4682 4683 if PotionStockCheck = 04684 if HealingPotionAmount = 04685 @setvar! PotionStockCheck 14686 else4687 @setvar! PotionType 38524688 @setvar! KegColour 2534689 @setvar! PotionAmounttoFill HealingPotionAmount4690 @setvar! PotionStockCheck 14691 endif4692 elseif PotionStockCheck = 14693 if CurePotionAmount = 04694 @setvar! PotionStockCheck 24695 else4696 @setvar! PotionType 38474697 @setvar! KegColour 444698 @setvar! PotionAmounttoFill CurePotionAmount4699 @setvar! PotionStockCheck 24700 endif4701 elseif PotionStockCheck = 24702 if RefreshPotionAmount = 04703 @setvar! PotionStockCheck 34704 else4705 @setvar! PotionType 38514706 @setvar! KegColour 374707 @setvar! PotionAmounttoFill RefreshPotionAmount4708 @setvar! PotionStockCheck 34709 endif4710 elseif PotionStockCheck = 34711 if StrengthPotionAmount = 04712 @setvar! PotionStockCheck 44713 else4714 @setvar! PotionType 38494715 @setvar! KegColour 9564716 @setvar! PotionAmounttoFill StrengthPotionAmount4717 @setvar! PotionStockCheck 44718 endif4719 elseif PotionStockCheck = 44720 if AgilityPotionAmount = 04721 @setvar! PotionStockCheck 54722 else4723 @setvar! PotionType 38484724 @setvar! KegColour 934725 @setvar! PotionAmounttoFill AgilityPotionAmount4726 @setvar! PotionStockCheck 54727 endif4728 elseif PotionStockCheck = 54729 if ResistPotionAmount = 04730 @setvar! PotionStockCheck 64731 else4732 @setvar! PotionType 38464733 @setvar! KegColour 11094734 @setvar! PotionAmounttoFill ResistPotionAmount4735 @setvar! PotionStockCheck 64736 endif4737 elseif PotionStockCheck = 64738 if PoisonPotionAmount = 04739 @setvar! PotionStockCheck 74740 else4741 @setvar! PotionType 38504742 @setvar! KegColour 3634743 @setvar! PotionAmounttoFill PoisonPotionAmount4744 @setvar! PotionStockCheck 74745 endif4746 elseif PotionStockCheck = 74747 if ExplosionPotionAmount = 04748 @setvar! PotionStockCheck 84749 else4750 @setvar! PotionType 38534751 @setvar! KegColour 4194752 @setvar! PotionAmounttoFill ExplosionPotionAmount4753 @setvar! PotionStockCheck 84754 endif4755 else4756 break4757 endif4758 4759 while counttype PotionType self < PotionAmounttoFill4760 if not findtype 'empty bottle%s%' self4761 if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 50004762 overhead '[ NO EMPTY BOTTLES... ]' 3374763 settimer 'PotionKegTimer' 04764 endif4765 break4766 endif4767 4768 if diffhits > HealPotionHPdiff4769 break4770 endif4771 4772 if findtype 'keg' self KegColour as myKeg4773 dclick myKeg4774 wait 2504775 if EnableOverheadMessages = 14776 if timer 'PotionKegTimer' > 20004777 overhead '[ FILLING POTS... ]' KegColour4778 settimer 'PotionKegTimer' 04779 endif4780 endif4781 else4782 if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 50004783 overhead '[ NO KEG TO USE... ]' KegColour4784 settimer 'PotionKegTimer' 04785 endif4786 break4787 endif4788 if insysmsg "You have been in combat with another player"4789 settimer "PotionKegPVPCooldown" 04790 break4791 endif4792 endwhile4793 4794 if counttype PotionType self < PotionAmounttoFill and not findtype 'empty bottle%s%' self4795 if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 50004796 overhead '[ NO EMPTY BOTTLES... ]' 3374797 settimer 'PotionKegTimer' 04798 endif4799 break4800 endif4801 endwhile4802 endif4803 4804 @setvar! CastingWasInterrupted 04805 4806 if EnableWeaponCheck = 1 and skill 'Arcane' >= 50 and not findtype "31043|31017|31019|31021|31023|31025|31027|31029|31031|31033|31035|31037|31038|31041|31045|31047|31049|31051|31053|31055" hand4807 if findtype "31043|31017|31019|31021|31023|31025|31027|31029|31031|31033|31035|31037|31038|31041|31045|31047|31049|31051|31053|31055" self as myArcaneStaff4808 for 54809 if findtype "31043|31017|31019|31021|31023|31025|31027|31029|31031|31033|31035|31037|31038|31041|31045|31047|31049|31051|31053|31055" self as myArcaneStaff4810 getlabel myArcaneStaff myArcaneStafflabel4811 if "Aspect" in myArcaneStafflabel4812 break4813 elseif "unidentified" in myArcaneStafflabel4814 ignore myArcaneStaff4815 else4816 break4817 endif4818 endif4819 endfor4820 dclick myArcaneStaff4821 clearignore4822 wait 5004823 else4824 if timer "ArcaneStaffCheck" > 5000 and EnableOverheadMessages = 14825 overhead "[ NO ARCANE STAFF! ]" 3374826 settimer "ArcaneStaffCheck" 04827 endif4828 endif4829 endif4830 4831 if EnableEatManaSnacks = 14832 if skill 'Cooking' >= 504833 if findtype "29774|28883|28885|28880|28879|28888|28886|29773|28881" backpack as mysnack4834 if timer 'EatManaSnackCooldownTimer' > EatManaSnackCooldown and diffmana > EatSnackManadiff4835 if EnableOverheadMessages = 14836 overhead "[ MANA MUNCHING... ]" 4204837 endif4838 dclick mysnack4839 wait 2504840 settimer 'EatManaSnackCooldownTimer' 04841 settimer 'EatHealSnackCooldownTimer' 04842 cooldown "Snacking" EatManaSnackCooldown4843 endif4844 else4845 if timer FoodMessageTimer > 15000 and EnableOverheadMessages = 14846 overhead "[ NO MORE FOOD! ]" 3374847 settimer FoodMessageTimer 04848 endif4849 endif4850 endif4851 endif4852 4853 if EnableEatHealSnacks = 14854 if skill 'Cooking' >= 50 and timer 'EatHealSnackCooldownTimer' > EatHealSnackCooldown and timer 'HealPotionTimer' < 10500 and diffhits > EatSnackHPdiff4855 if findtype "29774|28883|28885|28880|28879|28888|28886|29773|28881" backpack as myhpsnack4856 if EnableOverheadMessages = 14857 overhead "[ HP MUNCHING... ]" 4204858 endif4859 dclick myhpsnack4860 wait 2504861 settimer 'EatHealSnackCooldownTimer' 04862 settimer 'EatManaSnackCooldownTimer' 04863 cooldown 'Snacking' EatHealSnackCooldown4864 else4865 if timer FoodMessageTimer > 15000 and EnableOverheadMessages = 14866 overhead "[ NO MORE FOOD! ]" 3374867 settimer FoodMessageTimer 04868 endif4869 endif4870 endif4871 endif4872 4873 4874 ///////////////////////4875 // FIND A TARGET //4876 ///////////////////////4877 4878 if not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and AttackModeActive != 24879 @setvar! AttackModeActive 14880 // Skip target check and jump to attack loop if ClosestTarget is alive and within attack range4881 4882 elseif not dead TargetToAnalyze and find TargetToAnalyze ground -1 -1 12 and AttackModeActive = 24883 @setvar! AttackModeActive 04884 // Proceed to target checks if TargetToAnalyze is alive and within targeting range4885 4886 else4887 if targetexists4888 hotkey 'cancel current target'4889 endif4890 4891 clearsysmsg4892 hotkey 'target closest grey monster'4893 getlabel backpack backpacklabel4894 @setvar! TargetToAnalyze lasttarget4895 4896 if insysmsg 'No one matching that'4897 @setvar! NoTargetMode 14898 getlabel backpack backpacklabel4899 4900 4901 ////////////////////////4902 // NO TARGET LOOP //4903 ////////////////////////4904 4905 while NoTargetMode = 14906 if dead4907 break4908 endif4909 4910 if targetexists4911 hotkey 'cancel current target'4912 endif4913 4914 if weight > maxweight and EnableDropGoldWhenOverweight = 14915 if timer OverweightMessageTimer > 45004916 overhead '[ OVERWEIGHT! ]' 344917 settimer OverweightMessageTimer 04918 endif4919 4920 if DropGoldAmount != 04921 clearignore4922 @setvar! DisableVacuums 14923 wait 2504924 4925 if EnablePutLootinLockBox = 14926 if find lockbox self4927 getlabel lockbox lockboxlabel4928 wait 2504929 if 'items' in lockboxlabel4930 @clearignore4931 wait 5004932 else4933 dclick key4934 wft 15004935 dclick lockbox4936 wait 5004937 if insysmsg "It appears to be locked."4938 dclick key4939 wft 15004940 target lockbox4941 wait 2504942 else4943 if EnableOverheadMessages != 04944 overhead "[loot box unlocked]" 844945 endif4946 endif4947 endif4948 endif4949 endif4950 4951 while weight > maxweight4952 if findtype "gold coin" backpack as easycomeeasygo4953 lift easycomeeasygo DropGoldAmount4954 droprelloc 0 04955 getlabel backpack packdesc4956 if EnableOverheadMessages = 14957 overhead '[ DROPPING GOLD... ]' 1494958 endif4959 wait 2504960 if insysmsg "cannot drop anything"4961 drop backpack -1 -1 -14962 endif4963 wait 5004964 endif4965 if dead4966 break4967 endif4968 if diffhits > CastGreaterHealHPdiff4969 break4970 endif4971 endwhile4972 endif4973 endif4974 4975 if paralyzed and EnableAutoParalyzePouch = 14976 if findtype "pouch" self4977 yell "[pouch"4978 wait 2504979 hotkey 'Toggle Peace Only'4980 @setvar! WarModeToggledWhileFighting 04981 @setvar! RedTargetFound 14982 @setvar! TimeToGo 14983 else4984 if timer PopPouchMessageTimer > 5000 and EnableOverheadMessages = 14985 overhead '[ NO MORE POUCHES! ]' 3374986 settimer PopPouchMessageTimer 04987 endif4988 endif4989 endif4990 4991 if dead4992 break4993 endif4994 4995 if EnableWeightWarningMessage = 14996 if diffweight < GreenWarningDiffWeight and diffweight > YellowWarningDiffWeight and timer "WeightTimer" > 60004997 if EnableOverheadMessages = 1 or EnableOverheadMessages = 24998 overhead '[ WEIGHT WARNING... ]' 774999 settimer "WeightTimer" 05000 else5001 overhead " � " 775002 settimer "WeightTimer" 05003 endif5004 elseif diffweight < YellowWarningDiffWeight and diffweight > RedWeightLimitDiffWeight and timer "WeightTimer" > 60005005 if EnableOverheadMessages = 1 or EnableOverheadMessages = 25006 overhead '[ WEIGHT WARNING! ]' 1535007 settimer "WeightTimer" 05008 else5009 overhead " � " 1535010 settimer "WeightTimer" 05011 endif5012 elseif diffweight < RedWeightLimitDiffWeight5013 if EnableOverheadMessages = 1 or EnableOverheadMessages = 25014 if timer "WeightMessageTimer" > 60005015 overhead '[ WEIGHT LIMIT REACHED! ]' 375016 settimer "WeightMessageTimer" 05017 endif5018 else5019 if timer "WeightMessageTimer" > 60005020 overhead " � " 375021 settimer "WeightMessageTimer" 05022 endif5023 endif5024 5025 if EnableAutoWeightRecall = 1 and not find ClosestTarget ground -1 -1 8 and WILDERNESSMODE = 15026 wait 10005027 hotkey 'Toggle Peace Only'5028 @setvar! WarModeToggledWhileFighting 05029 @setvar! AutoWeightRecall 15030 replay5031 elseif EnableAutoWeightRecall = 1 and find ClosestTarget ground -1 -1 8 and WILDERNESSMODE = 15032 if timer "RECALLDELAY" > 3500 and EnableAutoRecallOverheadMessages = 15033 overhead '[ WAITING TO RECALL... ]' 1495034 settimer "RECALLDELAY" 05035 endif5036 wait 5005037 elseif EnableAutoWeightDungeonGate = 1 and DUNGEONMODE = 15038 wait 5005039 hotkey 'Toggle Peace Only'5040 @setvar! WarModeToggledWhileFighting 05041 @setvar! TimeToGo 15042 replay5043 else5044 if EnableOverheadMessages = 1 or EnableOverheadMessages = 25045 overhead '[ OVERWEIGHT! ]' 3375046 else5047 overhead " � " 3375048 endif5049 wait 15005050 overhead '[ STOPPING SCRIPT! ]' 885051 stop5052 endif5053 endif5054 endif5055 5056 if warmode5057 clearsysmsg5058 hotkey 'target closest grey monster'5059 getlabel backpack backpacklabel5060 @setvar! TargetToAnalyze lasttarget5061 wait 2505062 5063 if insysmsg 'No one matching that'5064 if timer NothingToTargetMessageTimer > 35005065 if EnableOverheadMessages = 1 or EnableOverheadMessages = 25066 overhead '[ NOTHING TO TARGET... ]' 23385067 else5068 overhead ' � ' 23385069 endif5070 settimer NothingToTargetMessageTimer 05071 endif5072 clearsysmsg5073 else5074 @setvar! AttackModeActive 05075 @setvar! NoTargetMode 05076 break5077 endif5078 endif5079 5080 while not warmode5081 if WarModeToggledWhileFighting = 1 or TimeToGo = 15082 break5083 else5084 if WILDERNESSMODE = 15085 if EnableAutoRedRecall = 1 or EnableAutoWeightRecall = 15086 overhead '[ RECALLING IN... ]' 21145087 if warmode5088 break5089 endif5090 wait 5005091 overhead "3" 695092 wait 10005093 if warmode5094 break5095 endif5096 overhead "2" 695097 wait 10005098 if warmode5099 break5100 endif5101 overhead "1" 695102 wait 5005103 if warmode5104 break5105 else5106 @setvar! TimeToGo 15107 @setvar! AutoRecallTime 15108 break5109 endif5110 endif5111 elseif DUNGEONMODE = 15112 if EnableAutoRedDungeonGate = 1 or EnableAutoWeightDungeonGate = 15113 if EnableOverheadMessages = 1 or EnableOverheadMessages = 25114 overhead '[ DUNGEON ESCAPE! ]' 3375115 else5116 overhead "�" 3375117 endif5118 hotkey 'Toggle Peace Only'5119 @setvar! TimeToGo 15120 getlabel backpack backpacklabel5121 wait 2505122 break5123 endif5124 endif5125 endif5126 endwhile5127 5128 if TimeToGo = 1 and not warmode5129 break5130 endif5131 5132 if EnableDIYRecallScript != 1 and diffhits < CastGreaterHealHPdiff5133 if EnableAutoRedRecall = 1 or EnableAutoWeightRecall = 1 or EnableRecallAfterResurrection = 1 or EnableRecallAfterDungeonGate = 15134 if not varexist AutoRecallChargedRunebook5135 wait 5005136 overhead "You have enabled Auto Recall (PK or Weight) and must select a runebook to continue!" 05137 wait 15005138 overhead "Select your escape runebook..." 2535139 setvar AutoRecallChargedRunebook5140 wait 5005141 while targetexists5142 wait 1005143 endwhile5144 sysmsg "Will cast to 'default rune' in Runebook (if 'casting' enabled) or uses scrolls to 'first location' in Runebook (if no Magery skill)" 1535145 wait 15005146 endif5147 if not find AutoRecallChargedRunebook self5148 overhead "[ NO RUNEBOOK FOUND! ]" 3375149 wait 15005150 overhead "Select your new escape runebook..." 2535151 wait 5005152 setvar AutoRecallChargedRunebook5153 wait 2505154 while targetexists5155 if diffhits > CastGreaterHealHPdiff5156 break5157 endif5158 wait 1005159 endwhile5160 endif5161 endif5162 endif5163 5164 if EnableLootBag = 1 and IHAVEDIED != 1 and diffhits < CastGreaterHealHPdiff5165 if EnableAutoRedRecall = 1 or EnableAutoWeightRecall = 1 or EnableRecallAfterResurrection = 1 or EnableRecallAfterDungeonGate = 15166 if not varexist LootBag5167 wait 5005168 overhead "Please select your loot bag..." 2535169 wait 10005170 overhead "This should be whatever is set as your 'Grab Bag' and will be opened when unloading loot after recalling..." 05171 setvar LootBag5172 wait 5005173 while targetexists5174 wait 1005175 endwhile5176 endif5177 if not find LootBag self5178 overhead "[ NO LOOT BAG ]" 3375179 wait 15005180 overhead "Select your new loot bag..." 2535181 wait 5005182 setvar LootBag5183 wait 2505184 while targetexists5185 if diffhits > CastGreaterHealHPdiff5186 break5187 endif5188 wait 1005189 endwhile5190 endif5191 endif5192 endif5193 5194 if EnableAutoSatchels = 1 and diffhits < CastGreaterHealHPdiff5195 if findtype "3962|3963|3972|3973|3974|3976|3980|3981" backpack and findtype "reagent satchel" self as MyWizardBag5196 while findtype "reagent satchel" self as MyWizardBag5197 getlabel MyWizardBag MyWizardBagdesc5198 if 'decorative' in MyWizardBagdesc5199 @ignore MyWizardBag5200 else5201 break5202 endif5203 endwhile5204 if timer "WizardSatchelTimer" > 600005205 menu MyWizardBag 05206 wait 5005207 settimer "WizardSatchelTimer" 05208 endif5209 endif5210 if findtype "Yellow Potion|Orange Potion|Red Potion|White Potion|Blue Potion|Black Potion|" backpack and findtype 31262 self as MyPotBag5211 if timer "PotionSatchelTimer" > 600005212 menu MyPotBag 05213 wait 5005214 settimer "PotionSatchelTimer" 05215 endif5216 endif5217 endif5218 5219 if EnableAutoCarving = 1 and findtype 11552 self5220 while findtype "corpse" ground -1 -1 2 as deadbody and diffhits < CastGreaterHealHPdiff5221 settimer SkinningTimeoutTimer 05222 if findtype 11552 self5223 if targetexists5224 hotkey 'cancel current target'5225 endif5226 5227 while not targetexists5228 skill 'forensicevaluation'5229 getlabel backpack backpacklabel5230 endwhile5231 5232 if targetexists and find deadbody ground -1 -1 25233 target 'self'5234 @ignore deadbody5235 wait 2505236 endif5237 5238 if insysmsg "You dont see anything nearby"5239 clearsysmsg5240 break5241 else5242 if EnableOverheadMessages = 1 and timer SkinningTimer > 30005243 overhead '[ SKINNING... ]' 3335244 settimer SkinningTimer 05245 endif5246 endif5247 else5248 if EnableOverheadMessages = 1 and timer SkinningTimer > 150005249 overhead '[ NO SKINNING KNIFE ]' 3375250 settimer SkinningTimer 05251 break5252 endif5253 endif5254 5255 if timer SkinningTimeoutTimer > 1500 or diffhits > CastGreaterHealHPdiff5256 break5257 endif5258 endwhile5259 endif5260 5261 if TimeToGo = 1 and not warmode5262 break5263 endif5264 5265 if EnableTrackingAutoRecall = 1 and TimeToGo != 15266 if PKTrackingRange = 605267 if insysmsg ": 60 step" or insysmsg "60 space" or insysmsg ": 59 step" or insysmsg "59 space" or insysmsg ": 58 step" or insysmsg "58 space" or insysmsg ": 57 step" or insysmsg "57 space" or insysmsg ": 56 step" or insysmsg "56 space" or insysmsg ": 55 step" or insysmsg "55 space" or insysmsg ": 54 step" or insysmsg "54 space" or insysmsg ": 53 step" or insysmsg "53 space" or insysmsg ": 52 step" or insysmsg "52 space" or insysmsg ": 51 step" or insysmsg "51 space" or insysmsg ": 50 step" or insysmsg "50 space" or insysmsg ": 49 step" or insysmsg "49 space" or insysmsg ": 48 step" or insysmsg "48 space" or insysmsg ": 47 step" or insysmsg "47 space" or insysmsg ": 46 step" or insysmsg "46 space" or insysmsg ": 45 step" or insysmsg "45 space" or insysmsg ": 44 step" or insysmsg "44 space" or insysmsg ": 43 step" or insysmsg "43 space" or insysmsg ": 42 step" or insysmsg "42 space" or insysmsg ": 41 step" or insysmsg "41 space" or insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space"5268 hotkey 'Toggle Peace Only'5269 if EnableRedAlertOverhead = 15270 overhead '[ !! RED ALERT !! ]' 375271 endif5272 @setvar! WarModeToggledWhileFighting 05273 @setvar! RedTargetFound 15274 @setvar! TimeToGo 15275 clearsysmsg5276 replay5277 endif5278 elseif PKTrackingRange = 505279 if insysmsg ": 50 step" or insysmsg "50 space" or insysmsg ": 49 step" or insysmsg "49 space" or insysmsg ": 48 step" or insysmsg "48 space" or insysmsg ": 47 step" or insysmsg "47 space" or insysmsg ": 46 step" or insysmsg "46 space" or insysmsg ": 45 step" or insysmsg "45 space" or insysmsg ": 44 step" or insysmsg "44 space" or insysmsg ": 43 step" or insysmsg "43 space" or insysmsg ": 42 step" or insysmsg "42 space" or insysmsg ": 41 step" or insysmsg "41 space" or insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space"5280 hotkey 'Toggle Peace Only'5281 if EnableRedAlertOverhead = 15282 overhead '[ !! RED ALERT !! ]' 375283 endif5284 @setvar! WarModeToggledWhileFighting 05285 @setvar! RedTargetFound 15286 @setvar! TimeToGo 15287 clearsysmsg5288 replay5289 endif5290 elseif PKTrackingRange = 405291 if insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space"5292 hotkey 'Toggle Peace Only'5293 if EnableRedAlertOverhead = 15294 overhead '[ !! RED ALERT !! ]' 375295 endif5296 @setvar! WarModeToggledWhileFighting 05297 @setvar! RedTargetFound 15298 @setvar! TimeToGo 15299 clearsysmsg5300 replay5301 endif5302 elseif PKTrackingRange = 05303 if insysmsg "Now tracking"5304 hotkey 'Toggle Peace Only'5305 if EnableRedAlertOverhead = 15306 overhead '[ !! RED ALERT !! ]' 375307 endif5308 @setvar! WarModeToggledWhileFighting 05309 @setvar! RedTargetFound 15310 @setvar! TimeToGo 15311 clearsysmsg5312 replay5313 endif5314 endif5315 endif5316 5317 if EnablePKradar = 1 and TimeToGo != 15318 if timer "PKRadarTimer" > 15005319 clearsysmsg5320 hotkey 'Next Murderer Player Target'5321 wait 2505322 if insysmsg "No one matching that was found"5323 settimer "PKRadarTimer" 05324 clearsysmsg5325 else5326 if EnableRedAlertOverhead = 15327 overhead "[ !! RED ALERT !! ]" 375328 endif5329 hotkey 'Toggle Peace Only'5330 @setvar! WarModeToggledWhileFighting 05331 @setvar! RedTargetFound 15332 @setvar! TimeToGo 15333 @setvar! MurdererTarget lasttarget5334 replay5335 endif5336 endif5337 endif5338 5339 if AutoTrapYourPouches = 1 and diffhits < CastGreaterHealHPdiff5340 while findtype 3705 backpack 0 and findtype 3972 self and findtype 3973 self and findtype 3980 self5341 cast 'magic trap'5342 settimer AntiStallTimer 05343 5344 while not targetexists and timer AntiStallTimer < 15005345 if insysmsg "Your concentration is disturbed"5346 interrupt5347 @setvar! CastingWasInterrupted 15348 break5349 endif5350 5351 if timer AntiStallTimer > 15005352 settimer AntiStallTimer 05353 break5354 endif5355 endwhile5356 5357 if dead5358 break5359 endif5360 5361 if diffhits >= CastGreaterHealHPdiff5362 @setvar! AttackModeActive 15363 break5364 endif5365 5366 if CastingWasInterrupted = 05367 target self5368 endif5369 wait 2505370 endwhile5371 endif5372 5373 if dead5374 break5375 endif5376 5377 if warmode5378 clearsysmsg5379 hotkey 'target closest grey monster'5380 getlabel backpack backpacklabel5381 @setvar! TargetToAnalyze lasttarget5382 wait 2505383 5384 if insysmsg 'No one matching that'5385 if timer NothingToTargetMessageTimer > 35005386 if EnableOverheadMessages = 1 or EnableOverheadMessages = 25387 overhead '[ NOTHING TO TARGET... ]' 23385388 else5389 overhead ' � ' 23385390 endif5391 settimer NothingToTargetMessageTimer 05392 endif5393 clearsysmsg5394 else5395 @setvar! AttackModeActive 05396 @setvar! NoTargetMode 05397 break5398 endif5399 endif5400 5401 if TimeToGo = 1 and not warmode5402 break5403 endif5404 5405 if EnableUsePotionKegs = 1 and findtype 'empty bottle%s%' self and findtype 'keg' self and timer 'PotionKegPVPCooldown' > 300005406 @setvar! PotionStockCheck 05407 5408 while PotionStockCheck < 8 and findtype 'empty bottle%s%' self5409 5410 if PotionStockCheck = 05411 if HealingPotionAmount = 05412 @setvar! PotionStockCheck 15413 else5414 @setvar! PotionType 38525415 @setvar! KegColour 2535416 @setvar! PotionAmounttoFill HealingPotionAmount5417 @setvar! PotionStockCheck 15418 endif5419 elseif PotionStockCheck = 15420 if CurePotionAmount = 05421 @setvar! PotionStockCheck 25422 else5423 @setvar! PotionType 38475424 @setvar! KegColour 445425 @setvar! PotionAmounttoFill CurePotionAmount5426 @setvar! PotionStockCheck 25427 endif5428 elseif PotionStockCheck = 25429 if RefreshPotionAmount = 05430 @setvar! PotionStockCheck 35431 else5432 @setvar! PotionType 38515433 @setvar! KegColour 375434 @setvar! PotionAmounttoFill RefreshPotionAmount5435 @setvar! PotionStockCheck 35436 endif5437 elseif PotionStockCheck = 35438 if StrengthPotionAmount = 05439 @setvar! PotionStockCheck 45440 else5441 @setvar! PotionType 38495442 @setvar! KegColour 9565443 @setvar! PotionAmounttoFill StrengthPotionAmount5444 @setvar! PotionStockCheck 45445 endif5446 elseif PotionStockCheck = 45447 if AgilityPotionAmount = 05448 @setvar! PotionStockCheck 55449 else5450 @setvar! PotionType 38485451 @setvar! KegColour 935452 @setvar! PotionAmounttoFill AgilityPotionAmount5453 @setvar! PotionStockCheck 55454 endif5455 elseif PotionStockCheck = 55456 if ResistPotionAmount = 05457 @setvar! PotionStockCheck 65458 else5459 @setvar! PotionType 38465460 @setvar! KegColour 11095461 @setvar! PotionAmounttoFill ResistPotionAmount5462 @setvar! PotionStockCheck 65463 endif5464 elseif PotionStockCheck = 65465 if PoisonPotionAmount = 05466 @setvar! PotionStockCheck 75467 else5468 @setvar! PotionType 38505469 @setvar! KegColour 3635470 @setvar! PotionAmounttoFill PoisonPotionAmount5471 @setvar! PotionStockCheck 75472 endif5473 elseif PotionStockCheck = 75474 if ExplosionPotionAmount = 05475 @setvar! PotionStockCheck 85476 else5477 @setvar! PotionType 38535478 @setvar! KegColour 4195479 @setvar! PotionAmounttoFill ExplosionPotionAmount5480 @setvar! PotionStockCheck 85481 endif5482 else5483 break5484 endif5485 5486 while counttype PotionType self < PotionAmounttoFill and warmode5487 if not findtype 'empty bottle%s%' self5488 if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 50005489 overhead '[ NO EMPTY BOTTLES... ]' 3375490 settimer 'PotionKegTimer' 05491 endif5492 break5493 endif5494 5495 if diffhits > HealPotionHPdiff5496 break5497 endif5498 5499 if not warmode5500 break5501 endif5502 5503 if findtype 'keg' self KegColour as myKeg5504 dclick myKeg5505 wait 2505506 if EnableOverheadMessages = 15507 if timer 'PotionKegTimer' > 20005508 overhead '[ FILLING POTS... ]' KegColour5509 settimer 'PotionKegTimer' 05510 endif5511 endif5512 else5513 if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 50005514 overhead '[ NO KEG TO USE... ]' KegColour5515 settimer 'PotionKegTimer' 05516 endif5517 break5518 endif5519 if insysmsg "You have been in combat with another player"5520 settimer "PotionKegPVPCooldown" 05521 break5522 endif5523 endwhile5524 5525 if counttype PotionType self < PotionAmounttoFill and not findtype 'empty bottle%s%' self5526 if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 50005527 overhead '[ NO EMPTY BOTTLES... ]' 3375528 settimer 'PotionKegTimer' 05529 endif5530 break5531 endif5532 endwhile5533 endif5534 5535 if EnableStrengthPotion = 1 and diffhits < CastGreaterHealHPdiff5536 if skill 'Alchemy' > 0 and skill 'Alchemy' < 25537 if insysmsg "You may now use a strength" or not findbuff "Strength Potion Usage Cooldown"5538 if findtype "White Potion" self5539 dclicktype "White Potion"5540 if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 45005541 if insysmsg "potion satchel used"5542 overhead '[ FREE STRENGTH POTION ]' 9565543 else5544 overhead '[ STRENGTH POTION ]' 9565545 endif5546 clearsysmsg5547 settimer WhitePotionMessageTimer 05548 endif5549 wait 2505550 else5551 if timer WhitePotionMessageTimer > 45005552 overhead '[ NO STRENGTH POTS! ]' 3375553 settimer WhitePotionMessageTimer 05554 endif5555 endif5556 clearsysmsg5557 endif5558 elseif skill 'Alchemy' = 05559 if insysmsg "You may now use a strength" or not findbuff "Strength Potion Usage Cooldown"5560 if findtype "White Potion" self5561 dclicktype "White Potion"5562 if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 45005563 if insysmsg "potion satchel used"5564 overhead '[ FREE STRENGTH POTION ]' 9565565 else5566 overhead '[ STRENGTH POTION ]' 9565567 endif5568 clearsysmsg5569 settimer WhitePotionMessageTimer 05570 endif5571 wait 2505572 else5573 if timer WhitePotionMessageTimer > 45005574 overhead '[ NO STRENGTH POTS! ]' 3375575 settimer WhitePotionMessageTimer 05576 endif5577 endif5578 clearsysmsg5579 endif5580 else5581 if not findbuff "Strength"5582 if findtype "White Potion" self5583 dclicktype "White Potion"5584 if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 45005585 if insysmsg "potion satchel used"5586 overhead '[ FREE STRENGTH POTION ]' 9565587 else5588 overhead '[ STRENGTH POTION ]' 9565589 endif5590 clearsysmsg5591 settimer WhitePotionMessageTimer 05592 endif5593 wait 2505594 else5595 if timer WhitePotionMessageTimer > 45005596 overhead '[ NO STRENGTH POTS! ]' 3375597 settimer WhitePotionMessageTimer 05598 endif5599 endif5600 endif5601 endif5602 endif5603 5604 if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff5605 if findtype "Yellow Potion" self as HealPot5606 getlabel HealPot HealPotlabel5607 if "next" in HealPotlabel5608 // Do nothing5609 else5610 @setvar! HealPotionCheck 05611 5612 if counttype 3852 self as HealPotCount5613 @setvar! HealPotionCheck HealPotCount5614 endif5615 clearsysmsg5616 dclicktype 38525617 getlabel backpack backpackdesc5618 wait 2505619 if insysmsg "potion satchel used"5620 settimer 'HealPotionTimer' 05621 cooldown "Healing Potion" HealingPotionCooldown5622 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 45005623 overhead '[ FREE HEAL POTION ]' 2535624 endif5625 elseif HealPotionCheck != counttype 3852 self5626 settimer 'HealPotionTimer' 05627 cooldown "Healing Potion" HealingPotionCooldown5628 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 45005629 overhead '[ HEAL POTION ]' 2535630 endif5631 endif5632 clearsysmsg5633 endif5634 else5635 if timer 'HealPotionMessageTimer' > 4500 and EnableOverheadMessages = 15636 overhead '[ NO HEAL POTS! ]' 3375637 settimer 'HealPotionMessageTimer' 05638 endif5639 endif5640 endif5641 5642 if skill 'healing' > 0 and hp < maxhp and not bandaging5643 if findtype 'clean bandage%s%' self5644 hotkey 'Bandage Self'5645 if EnableOverheadMessages = 15646 overhead '[ BANDAGING... ]' 885647 endif5648 else5649 if EnableOverheadMessages = 15650 overhead '[ NO BANDAGES! ]' 3375651 endif5652 endif5653 endif5654 5655 if not findtype 3972 self or not findtype 3973 self or not findtype 3974 self or not findtype 3981 self5656 @setvar! missingGreaterHealRegs 15657 getlabel backpack backpacklabel5658 else5659 @setvar! missingGreaterHealRegs 05660 endif5661 5662 if not findtype 3972 self or not findtype 3973 self or not findtype 3974 self5663 @setvar! missingHealRegs 15664 getlabel backpack backpacklabel5665 else5666 @setvar! missingHealRegs 05667 endif5668 5669 if missingGreaterHealRegs = 1 or missingHealRegs = 15670 if timer NoHealRegsTimer > 40005671 overhead '[ MISSING HEALING REGS! ]' 3375672 settimer NoHealRegsTimer 05673 endif5674 endif5675 5676 @setvar! SpellInterrupted 05677 clearsysmsg5678 5679 if skill 'magery' >= 60 and diffhits >= CastGreaterHealHPdiff and diffhits <= CastHealHPdiff and mana >= 11 and EnableCastGreaterHeal = 1 and not casting and missingGreaterHealRegs != 15680 @setvar! SpellInterrupted 05681 cast 'greater heal'5682 getlabel backpack backpacklabel5683 settimer spellTimer 05684 @setvar! spellCD 25005685 while not targetexists and timer spellTimer < spellCD5686 if insysmsg "Your concentration is disturbed"5687 interrupt5688 @setvar! SpellInterrupted 15689 break5690 endif5691 if timer spellTimer > spellCD5692 break5693 endif5694 endwhile5695 if SpellInterrupted = 05696 target 'self'5697 endif5698 elseif skill 'magery' >= 40 and diffhits >= CastHealHPdiff and diffhits < CastEmergencyHealHPdiff and mana >= 4 and EnableCastHeal = 1 and not casting and missingHealRegs != 15699 @setvar! SpellInterrupted 05700 cast 'heal'5701 getlabel backpack backpacklabel5702 settimer AntiStallTimer 05703 while not targetexists and timer AntiStallTimer < 15005704 if insysmsg "Your concentration is disturbed"5705 interrupt5706 @setvar! SpellInterrupted 15707 break5708 endif5709 if timer AntiStallTimer > 15005710 settimer AntiStallTimer 05711 break5712 endif5713 endwhile5714 if SpellInterrupted = 05715 target 'self'5716 endif5717 elseif skill 'magery' >= 40 and diffhits >= CastEmergencyHealHPdiff and mana >= 4 and EnableCastHeal = 1 and not casting and missingHealRegs != 15718 while diffhits > CastGreaterHealHPdiff and mana >= 4 and findtype 3972 self and findtype 3973 self and findtype 3974 self and not dead5719 if targetexists5720 hotkey 'Cancel current target'5721 endif5722 @setvar! SpellInterrupted 05723 cast 'heal'5724 getlabel backpack backpacklabel5725 settimer AntiStallTimer 05726 while not targetexists and timer AntiStallTimer < 15005727 if insysmsg "Your concentration is disturbed"5728 interrupt5729 @setvar! SpellInterrupted 15730 break5731 endif5732 5733 if timer AntiStallTimer > 15005734 settimer AntiStallTimer 05735 break5736 endif5737 endwhile5738 if SpellInterrupted = 05739 target 'self'5740 getlabel backpack backpacklabel5741 endif5742 if diffhits <= CastGreaterHealHPdiff5743 break5744 endif5745 endwhile5746 endif5747 5748 if EnableAgilityPotion = 1 and not findbuff "Agility" and diffhits < CastGreaterHealHPdiff5749 if findtype "Blue Potion" self5750 dclicktype "Blue Potion"5751 if EnableOverheadMessages = 1 and timer BluePotionMessageTimer > 45005752 if insysmsg "potion satchel used"5753 overhead '[ FREE AGILITY POTION ]' 935754 else5755 overhead '[ AGILITY POTION ]' 935756 endif5757 clearsysmsg5758 settimer BluePotionMessageTimer 05759 endif5760 wait 2505761 else5762 if timer BluePotionMessageTimer > 45005763 overhead '[ NO AGILITY POTS! ]' 3375764 settimer BluePotionMessageTimer 05765 endif5766 endif5767 endif5768 5769 if EnableMagicResistPotion = 1 and not findbuff "Magic Resist" and diffhits < CastGreaterHealHPdiff5770 if findtype "Black Potion" self5771 dclicktype "Black Potion"5772 if EnableOverheadMessages = 1 and timer BlackPotionMessageTimer > 45005773 if insysmsg "potion satchel used"5774 overhead '[ FREE RESIST POTION ]' 11095775 else5776 overhead '[ RESIST POTION ]' 11095777 endif5778 clearsysmsg5779 settimer BlackPotionMessageTimer 05780 endif5781 wait 2505782 else5783 if timer BlackPotionMessageTimer > 45005784 overhead '[ NO RESIST POTS! ]' 3375785 settimer BlackPotionMessageTimer 05786 endif5787 endif5788 endif5789 5790 if TimeToGo = 1 and warmode5791 break5792 endif5793 5794 if EnableEatMagicMushrooms = 15795 if diffmana > EatMushroomManadiff and timer MushroomTimer > 600005796 if counttype 29012 backpack5797 dclicktype 29012 backpack5798 getlabel backpack packdesc5799 wait 2505800 if insysmsg "You consume a magic mushroom"5801 settimer MushroomTimer 05802 cooldown "Mushroom" 600005803 if EnableOverheadMessages = 15804 overhead '[ EATING SHROOMS... ]' 135805 endif5806 endif5807 elseif EnableOverheadMessages = 15808 overhead '[ OUT OF SHROOMS! ]' 3375809 endif5810 endif5811 endif5812 5813 if EnableEatManaSnacks = 15814 if skill 'Cooking' >= 505815 if findtype "29774|28883|28885|28880|28879|28888|28886|29773|28881" backpack as mysnack5816 if timer 'EatManaSnackCooldownTimer' > EatManaSnackCooldown and diffmana > EatSnackManadiff5817 if EnableOverheadMessages = 15818 overhead "[ MANA MUNCHING... ]" 4205819 endif5820 dclick mysnack5821 wait 2505822 settimer 'EatManaSnackCooldownTimer' 05823 settimer 'EatHealSnackCooldownTimer' 05824 cooldown "Snacking" EatManaSnackCooldown5825 endif5826 else5827 if timer FoodMessageTimer > 15000 and EnableOverheadMessages = 15828 overhead "[ NO MORE FOOD! ]" 3375829 settimer FoodMessageTimer 05830 endif5831 endif5832 endif5833 endif5834 5835 if warmode5836 clearsysmsg5837 hotkey 'target closest grey monster'5838 getlabel backpack backpacklabel5839 @setvar! TargetToAnalyze lasttarget5840 wait 2505841 5842 if insysmsg 'No one matching that'5843 if timer NothingToTargetMessageTimer > 35005844 if EnableOverheadMessages = 1 or EnableOverheadMessages = 25845 overhead '[ NOTHING TO TARGET... ]' 23385846 else5847 overhead ' � ' 23385848 endif5849 settimer NothingToTargetMessageTimer 05850 endif5851 clearsysmsg5852 else5853 @setvar! AttackModeActive 05854 @setvar! NoTargetMode 05855 break5856 endif5857 endif5858 5859 if warmode5860 if EnableMagicReflection = 1 and skill 'magery' >= 70 and not findbuff "Magic Reflection" and mana >= MinimumManaToApplyMageryBuffs and diffhits < CastGreaterHealHPdiff and timer MagicReflectTimer > 15000 and findtype 3972 self and findtype 3974 self and findtype 3981 self5861 if targetexists5862 hotkey 'cancel current target'5863 endif5864 cast 'Magic Reflection'5865 while not casting5866 wait 2505867 if insysmsg "that spell will not" or insysmsg "that spell is already" or insysmsg "You must wait"5868 settimer MagicReflectTimer 05869 clearsysmsg5870 break5871 endif5872 if targetexists5873 hotkey 'cancel current target'5874 endif5875 cast 'Magic Reflection'5876 endwhile5877 while casting5878 if timer MagicReflectTimer < 50005879 break5880 endif5881 if diffhits >= CastGreaterHealHPdiff5882 interrupt5883 @setvar! AttackModeActive 15884 break5885 endif5886 5887 if EnableCurePotion = 15888 while poisoned and casting and not targetexists5889 if findtype "Orange Potion" self5890 dclicktype "Orange Potion"5891 if EnableOverheadMessages = 1 and timer 'CurePotionMessageTimer' > 35005892 if insysmsg "potion satchel used"5893 overhead '[ FREE CURE POTION ]' 445894 else5895 overhead '[ CURE POTION ]' 445896 endif5897 clearsysmsg5898 settimer 'CurePotionMessageTimer' 05899 endif5900 wait 5005901 else5902 if timer 'CurePotionMessageTimer' > 5000 and EnableOverheadMessages = 15903 overhead '[ NO CURE POTS! ]' 3375904 settimer 'CurePotionMessageTimer' 05905 endif5906 break5907 endif5908 endwhile5909 endif5910 5911 if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff5912 if findtype "Yellow Potion" self as HealPot5913 getlabel HealPot HealPotlabel5914 if "next" in HealPotlabel5915 // Do nothing5916 else5917 @setvar! HealPotionCheck 05918 5919 if counttype 3852 self as HealPotCount5920 @setvar! HealPotionCheck HealPotCount5921 endif5922 clearsysmsg5923 dclicktype 38525924 getlabel backpack backpackdesc5925 wait 2505926 if insysmsg "potion satchel used"5927 settimer 'HealPotionTimer' 05928 cooldown "Healing Potion" HealingPotionCooldown5929 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 45005930 overhead '[ FREE HEAL POTION ]' 2535931 endif5932 elseif HealPotionCheck != counttype 3852 self5933 settimer 'HealPotionTimer' 05934 cooldown "Healing Potion" HealingPotionCooldown5935 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 45005936 overhead '[ HEAL POTION ]' 2535937 endif5938 endif5939 clearsysmsg5940 endif5941 else5942 if timer 'HealPotionMessageTimer' > 4500 and EnableOverheadMessages = 15943 overhead '[ NO HEAL POTS! ]' 3375944 settimer 'HealPotionMessageTimer' 05945 endif5946 endif5947 endif5948 endwhile5949 settimer MagicReflectTimer 05950 wait 2505951 5952 if dead5953 break5954 endif5955 5956 if diffhits >= CastGreaterHealHPdiff5957 @setvar! AttackModeActive 15958 break5959 endif5960 endif5961 5962 if EnableReactiveArmour = 1 and skill 'magery' >= 30 and not findbuff "Reactive Armor" and mana >= MinimumManaToApplyMageryBuffs and diffhits < CastGreaterHealHPdiff and timer ReactiveArmorTimer > 15000 and findtype 3980 self and findtype 3972 self and findtype 3981 self5963 if targetexists5964 hotkey 'cancel current target'5965 endif5966 cast 'Reactive Armor'5967 settimer AntiStallTimer 05968 while not casting and timer AntiStallTimer < 35005969 wait 2505970 if insysmsg "that spell will not" or insysmsg "that spell is already"5971 settimer ReactiveArmorTimer 05972 break5973 endif5974 if targetexists5975 hotkey 'cancel current target'5976 endif5977 cast 'Reactive Armor'5978 endwhile5979 if timer ReactiveArmorTimer < 50005980 // Do nothing5981 else5982 while casting5983 wait 2505984 endwhile5985 settimer ReactiveArmorTimer 05986 endif5987 wait 2505988 endif5989 5990 if EnableProtection = 1 and skill 'magery' >= 40 and not findbuff "Protection" and mana >= MinimumManaToApplyMageryBuffs and diffhits < CastGreaterHealHPdiff and findtype 3980 self and findtype 3972 self and findtype 3973 self5991 cast 'Protection'5992 settimer AntiStallTimer 05993 while not casting and timer AntiStallTimer < 35005994 if timer AntiStallTimer > 35005995 settimer AntiStallTimer 05996 break5997 endif5998 cast 'Protection'5999 wait 2506000 endwhile6001 while casting6002 wait 2506003 endwhile6004 endif6005 6006 if EnableBless = 1 and skill 'magery' >= 50 and not findbuff "Cunning" and mana >= MinimumManaToApplyMageryBuffs and diffhits < CastGreaterHealHPdiff and findtype 3972 self and findtype 3974 self6007 if targetexists6008 hotkey 'cancel current target'6009 endif6010 cast 'Bless'6011 settimer AntiStallTimer 06012 while not casting and timer AntiStallTimer < 35006013 if timer AntiStallTimer > 35006014 settimer AntiStallTimer 06015 break6016 endif6017 cast 'Bless'6018 wait 2506019 endwhile6020 while casting6021 wait 2506022 endwhile6023 wft 15006024 target 'self'6025 wait 2506026 endif6027 endif6028 6029 if EnableRefreshPotion = 1 and diffstam > RefreshPotionSPdiff6030 if findtype "Red Potion" self6031 dclicktype "Red Potion"6032 if EnableOverheadMessages = 1 and timer RedPotionMessageTimer > 45006033 if insysmsg "potion satchel used"6034 overhead '[ FREE REFRESH POTION ]' 376035 else6036 overhead '[ REFRESH POTION ]' 376037 endif6038 clearsysmsg6039 settimer RedPotionMessageTimer 06040 endif6041 wait 2506042 else6043 if timer RedPotionMessageTimer > 45006044 overhead '[ NO REFRESH POTS! ]' 3376045 settimer RedPotionMessageTimer 06046 endif6047 endif6048 endif6049 6050 if EnableGoldVacuum = 1 and DisableVacuums != 1 and warmode6051 if findtype "gold coin" ground -1 -1 15 as droppedmoney and timer "GoldRadar" > 35006052 overhead " � " 149 droppedmoney6053 settimer "GoldRadar" 06054 endif6055 6056 while findtype "gold coin" ground -1 -1 2 as droppedmoney and diffhits < CastGreaterHealHPdiff6057 overhead " � " 1496058 hotkey "Grab Item"6059 wft 25006060 target droppedmoney6061 wait 2506062 6063 if dead6064 break6065 endif6066 6067 if diffhits >= CastGreaterHealHPdiff6068 @setvar! AttackModeActive 16069 break6070 endif6071 6072 if insysmsg "Invalid or inaccessible item"6073 wait 5006074 @ignore droppedmoney6075 endif6076 wait 2506077 endwhile6078 endif6079 6080 if not varexist "NoLockbox"6081 @setvar! NoLockbox 06082 endif6083 6084 if findtype "wooden box" self and findtype "copper key" self6085 @setvar! NoLockbox 06086 else6087 @setvar! NoLockbox 16088 endif6089 6090 if EnablePutLootinLockBox = 1 and NoLockbox != 1 and timer LootTimer > StoreLootTimer and warmode and NeedtoSecureLoot = 16091 if not findtype "wooden box" backpack or not findtype "copper key" backpack6092 if EnableOverheadMessages != 06093 overhead '[ NO LOCKBOX FOUND! ]' 3376094 endif6095 @setvar! NoLockbox 16096 wait 15006097 elseif counttype 2474 backpack > 1 or counttype 4110 backpack > 16098 if EnableOverheadMessages != 06099 overhead '[ TOO MANY LOCKBOXES/KEYS! ]' 3376100 endif6101 @setvar! NoLockbox 16102 wait 15006103 else6104 if targetexists6105 hotkey 'Cancel Current Target'6106 endif6107 6108 clearsysmsg6109 hotkey 'Target closest grey monster'6110 wait 2506111 6112 if insysmsg "No one matching that was found"6113 if findtype "wooden box" backpack as lockbox and findtype "copper key" backpack as key6114 @ignore ItemToIgnore16115 @ignore ItemToIgnore26116 @ignore ItemToIgnore36117 @ignore ItemToIgnore46118 @ignore ItemToIgnore56119 @ignore weapon6120 @setvar! FoundNewTarget 06121 settimer STORELOOT 06122 settimer LootTimer 06123 settimer PKRadar 06124 getlabel lockbox lockboxLabel6125 6126 if "items" in lockboxLabel6127 // Do nothing6128 else6129 if EnableOverheadMessages != 06130 overhead "[loot box unlocked]" 846131 endif6132 dclick key6133 wft 15006134 target lockbox6135 getlabel backpack backpacklabel6136 endif6137 6138 removelist TemporaryLootIgnoreList6139 createlist TemporaryLootIgnoreList6140 6141 if findtype '3821|5356|70148|70151|70154|70157|30988|20016|11858|39889|39891|39892|39896|39897|39898|39905|39909|39911|39912|39916|39917|39918|3834|67713|67723|67734|67744|67754|67764|67773|67774|67775|67776|67777|67778|7109|31017|31019|31021|31023|31025|31027|31029|31031|31033|31035|31037|31038|31041|31043|31045|31047|31049|31051|31053|31055|31169|31172|31128|31141|31002|31130|31000|31001|31180|31182|31178|30991|30999|20014|20012|20010|20008|20006|30992|30997|31176|31188|30998|30989|30996|30995|31186|31184|30990|30993|37181|4026|4025|31010|31008|31007|31006|31015|31005|31009|31012|31011|31004|31003|31191|17686|31014|30994|31142|31190|24434|43206|29363|43166|22336|29348|17087|3985|8826|3827|29030|3836|5981|4248|5359|3839|3838|48407|3865|3859|3885|3856|3878|3877|3873|3861|3862|576|5123|7177|7027|3920|5131|5179|5075|5060|5076|5042|10245|3938|3913|7169|3909|5063|5089|7170|7033|3762|5040|5103|5117|7181|7029|3568|6264|3742|5139|6263|7026|5125|3740|5121|5204|5105|5185|5078|5115|7175|5059|7034|3713|3915|5112|5070|5049|5205|5046|7035|3911|7179|5106|5143|3573|3719|5177|7610|5181|3917|5132|7031|5207|5056|5085|3763|5129|5187|3721|5138|3570|5101|5061|5074|5142|5182|5146|6265|5090|5203|5044|5144|3932|5201|5127|3572|7173|5135|3937|3571|22326|27611|9917|8455|5362|45315|8454|22187|5901|7982|7983|7984|7985|7986|7987|7988|7989|7990|7991|7992|7993|7994|7995|7996|7997|7998|7999|8000|8001|8002|8003|8004|8005|8006|8007|8008|8009|8010|8011|8012|8013|8014|8015|8016|8017|8018|8019|8020|8021|8022|8023|8024|8025|8026|8027|8028|8029|8030|8031|8032|8034|8035|8036|8037|8038|8039|8040|8041|8042|8033|8044|3843|3842|15296|15297|29025|29034|29036|2472|2475|3648|3649|3650|3651|3708|3712|29832|29833|7107' backpack as loottostore6142 6143 //////////////////////////6144 // LOOT STORAGE LOOP: //6145 //////////////////////////6146 6147 while findtype '5356|70148|70151|70154|70157|30988|20016|11858|39889|39891|39892|39896|39897|39898|39905|39909|39911|39912|39916|3821|39917|39918|3834|67713|67723|67734|67744|67754|67764|67773|67774|67775|67776|67777|67778|7109|31017|31019|31021|31023|31025|31027|31029|31031|31033|31035|31037|31038|31041|31043|31045|31047|31049|31051|31053|31055|31169|31172|31128|31141|31002|31130|31000|31001|31180|31182|31178|30991|30999|20014|20012|20010|20008|20006|30992|30997|31176|31188|30998|30989|30996|30995|31186|31184|30990|30993|37181|4026|4025|31010|31008|31007|31006|31015|31005|31009|31012|31011|31004|31003|31191|17686|31014|30994|31142|31190|24434|43206|29363|43166|22336|29348|17087|3985|8826|3827|29030|3836|5981|4248|5359|3839|3838|48407|3865|3859|3885|3856|3878|3877|3873|3861|3862|576|5123|7177|7027|3920|5131|5179|5075|5060|5076|5042|10245|3938|3913|7169|3909|5063|5089|7170|7033|3762|5040|5103|5117|7181|7029|3568|6264|3742|5139|6263|7026|5125|3740|5121|5204|5105|5185|5078|5115|7175|5059|7034|3713|3915|5112|5070|5049|5205|5046|7035|3911|7179|5106|5143|3573|3719|5177|7610|5181|3917|5132|7031|5207|5056|5085|3763|5129|5187|3721|5138|3570|5101|5061|5074|5142|5182|5146|6265|5090|5203|5044|5144|3932|5201|5127|3572|7173|5135|3937|3571|22326|27611|9917|8455|5362|45315|8454|22187|5901|7982|7983|7984|7985|7986|7987|7988|7989|7990|7991|7992|7993|7994|7995|7996|7997|7998|7999|8000|8001|8002|8003|8004|8005|8006|8007|8008|8009|8010|8011|8012|8013|8014|8015|8016|8017|8018|8019|8020|8021|8022|8023|8024|8025|8026|8027|8028|8029|8030|8031|8032|8034|8035|8036|8037|8038|8039|8040|8041|8042|8033|8044|3843|3842|15296|15297|29025|29034|29036|2472|2475|3648|3649|3650|3651|3708|3712|29832|29833|7107' backpack as loottostore6148 if dead6149 break6150 endif6151 6152 if diffhits >= CastGreaterHealHPdiff6153 sysmsg 'Damage threshold exceeded - Loot storage loop cancelled!' 1536154 break6155 endif6156 6157 if not warmode6158 sysmsg 'Peace Mode triggered - Loot storage loop cancelled!' 1536159 hotkey 'Toggle War Only'6160 break6161 endif6162 6163 if EnableOverheadMessages = 1 or EnableOverheadMessages = 26164 if timer "LootStorageTimer" > 32006165 overhead '[ SECURING LOOT... ]' 1496166 settimer "LootStorageTimer" 06167 endif6168 endif6169 6170 getlabel loottostore loottostorelabel6171 wait 2006172 6173 if "blessed" in loottostorelabel or "aspect" in loottostorelabel6174 @ignore loottostore6175 pushlist TemporaryLootIgnoreList loottostore6176 else6177 lift loottostore 600006178 drop lockbox -1 -1 -16179 wait 2006180 if find loottostore lockbox6181 @ignore loottostore6182 else6183 @ignore loottostore6184 pushlist TemporaryLootIgnoreList loottostore6185 endif6186 endif6187 6188 if insysmsg "to be locked"6189 clearsysmsg6190 dclick key6191 wft 15006192 target lockbox6193 wait 2506194 endif6195 6196 if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff and not dead6197 if findtype "Yellow Potion" self as HealPot6198 getlabel HealPot HealPotlabel6199 if "next" in HealPotlabel6200 // Do nothing6201 else6202 @setvar! HealPotionCheck 06203 6204 if counttype 3852 self as HealPotCount6205 @setvar! HealPotionCheck HealPotCount6206 endif6207 6208 clearsysmsg6209 dclicktype 38526210 getlabel backpack backpackdesc6211 wait 2506212 6213 if HealPotionCheck != counttype 3852 self or insysmsg "potion satchel used"6214 settimer 'HealPotionTimer' 06215 cooldown "Healing Potion" HealingPotionCooldown6216 if EnableOverheadMessages = 16217 if insysmsg "potion satchel used"6218 overhead '[ FREE HEAL POTION ]' 2536219 else6220 overhead "[ HEAL POTION ]" 2536221 endif6222 endif6223 clearsysmsg6224 endif6225 endif6226 else6227 if timer 'HealPotionMessageTimer' > 45006228 overhead "[ NO HEAL POTS! ]" 3376229 settimer 'HealPotionMessageTimer' 06230 endif6231 endif6232 endif6233 6234 if diffhits > 0 and not bandaging and not dead6235 if skill 'healing' > 06236 if findtype 'clean bandage%s%' self6237 if targetexists6238 hotkey 'cancel current target'6239 endif6240 hotkey 'Bandage Self'6241 if EnableOverheadMessages = 16242 if timer BandageMessageTimer > 50006243 overhead "[ BANDAGING... ]" 886244 settimer BandageMessageTimer 06245 endif6246 endif6247 else6248 if timer BandageMessageTimer > 5000 and EnableOverheadMessages = 16249 overhead "[ OUT OF BANDAGES! ]" 3376250 settimer BandageMessageTimer 06251 endif6252 endif6253 endif6254 endif6255 6256 if EnableCurePotion = 1 and not dead6257 while poisoned6258 if findtype "Orange Potion" self6259 dclicktype "Orange Potion"6260 if EnableOverheadMessages = 1 and timer 'CurePotionMessageTimer' > 35006261 overhead "[ CURE POTION ]" 446262 settimer 'CurePotionMessageTimer' 06263 endif6264 wait 2506265 else6266 if timer 'CurePotionMessageTimer' > 50006267 overhead "[ NO CURE POTS! ]" 3376268 settimer 'CurePotionMessageTimer' 06269 endif6270 6271 if not findtype 3972 self or not findtype 3973 self6272 break6273 endif6274 endif6275 if not poisoned6276 break6277 endif6278 endwhile6279 endif6280 6281 if EnablePKradar = 1 and TimeToGo != 16282 if timer "PKRadar" > 20006283 clearsysmsg6284 hotkey 'Next Murderer Player Target'6285 wait 1506286 if insysmsg "No one matching that was found"6287 settimer "PKRadar" 06288 else6289 hotkey 'Toggle Peace Only'6290 @setvar! RedTargetFound 16291 @setvar! WarModeToggledWhileFighting 06292 @setvar! TimeToGo 16293 @setvar! SkipInfiniteLoop 16294 @setvar! MurdererTarget lasttarget6295 if EnableRedAlertOverhead = 16296 overhead "[ !! RED ALERT !! ]" 376297 endif6298 settimer "REDALERT" 06299 replay6300 endif6301 endif6302 endif6303 6304 if EnableTrackingAutoRecall = 1 and TimeToGo != 16305 if PKTrackingRange = 606306 if insysmsg ": 60 step" or insysmsg "60 space" or insysmsg ": 59 step" or insysmsg "59 space" or insysmsg ": 58 step" or insysmsg "58 space" or insysmsg ": 57 step" or insysmsg "57 space" or insysmsg ": 56 step" or insysmsg "56 space" or insysmsg ": 55 step" or insysmsg "55 space" or insysmsg ": 54 step" or insysmsg "54 space" or insysmsg ": 53 step" or insysmsg "53 space" or insysmsg ": 52 step" or insysmsg "52 space" or insysmsg ": 51 step" or insysmsg "51 space" or insysmsg ": 50 step" or insysmsg "50 space" or insysmsg ": 49 step" or insysmsg "49 space" or insysmsg ": 48 step" or insysmsg "48 space" or insysmsg ": 47 step" or insysmsg "47 space" or insysmsg ": 46 step" or insysmsg "46 space" or insysmsg ": 45 step" or insysmsg "45 space" or insysmsg ": 44 step" or insysmsg "44 space" or insysmsg ": 43 step" or insysmsg "43 space" or insysmsg ": 42 step" or insysmsg "42 space" or insysmsg ": 41 step" or insysmsg "41 space" or insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space"6307 hotkey 'Toggle Peace Only'6308 if EnableRedAlertOverhead = 16309 overhead "[ !! RED ALERT !! ]" 376310 endif6311 settimer "REDALERT" 06312 @setvar! RedTargetFound 16313 @setvar! SkipInfiniteLoop 16314 @setvar! WarModeToggledWhileFighting 06315 @setvar! TimeToGo 16316 clearsysmsg6317 replay6318 endif6319 elseif PKTrackingRange = 506320 if insysmsg ": 50 step" or insysmsg "50 space" or insysmsg ": 49 step" or insysmsg "49 space" or insysmsg ": 48 step" or insysmsg "48 space" or insysmsg ": 47 step" or insysmsg "47 space" or insysmsg ": 46 step" or insysmsg "46 space" or insysmsg ": 45 step" or insysmsg "45 space" or insysmsg ": 44 step" or insysmsg "44 space" or insysmsg ": 43 step" or insysmsg "43 space" or insysmsg ": 42 step" or insysmsg "42 space" or insysmsg ": 41 step" or insysmsg "41 space" or insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space"6321 hotkey 'Toggle Peace Only'6322 if EnableRedAlertOverhead = 16323 overhead "[ !! RED ALERT !! ]" 376324 endif6325 settimer "REDALERT" 06326 @setvar! RedTargetFound 16327 @setvar! SkipInfiniteLoop 16328 @setvar! WarModeToggledWhileFighting 06329 @setvar! TimeToGo 16330 clearsysmsg6331 replay6332 endif6333 elseif PKTrackingRange = 406334 if insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space"6335 hotkey 'Toggle Peace Only'6336 if EnableRedAlertOverhead = 16337 overhead "[ !! RED ALERT !! ]" 376338 endif6339 settimer "REDALERT" 06340 @setvar! RedTargetFound 16341 @setvar! SkipInfiniteLoop 16342 @setvar! WarModeToggledWhileFighting 06343 @setvar! TimeToGo 16344 clearsysmsg6345 replay6346 endif6347 elseif PKTrackingRange = 06348 if insysmsg "Now tracking"6349 hotkey 'Toggle Peace Only'6350 if EnableRedAlertOverhead = 16351 overhead "[ !! RED ALERT !! ]" 376352 endif6353 settimer "REDALERT" 06354 @setvar! RedTargetFound 16355 @setvar! SkipInfiniteLoop 16356 @setvar! WarModeToggledWhileFighting 06357 @setvar! TimeToGo 16358 clearsysmsg6359 replay6360 endif6361 endif6362 endif6363 6364 if timer 'STORELOOT' > 15006365 clearsysmsg6366 hotkey 'Target Closest Grey Monster'6367 getlabel backpack backpacklabel6368 wait 1006369 if insysmsg 'No one matching that was found'6370 @setvar! FoundNewTarget 06371 @setvar! LootTargetMOB 06372 else6373 @setvar! LootTargetMOB lasttarget6374 getlabel LootTargetMOB templabel6375 if inlist animalsIgnoreList tempLabel6376 if timer "IgnoreMOBtimer" > 25006377 if EnableOverheadMessages = 1 or EnableOverheadMessages = 26378 overhead '[ IGNORING MOB! ]' 333 LootTargetMOB6379 else6380 overhead " � " 333 LootTargetMOB6381 endif6382 getlabel backpack backpacklabel6383 settimer "IgnoreMOBtimer" 06384 endif6385 @ignore LootTargetMOB6386 elseif find LootTargetMOB ground -1 -1 126387 clearsysmsg6388 skill 'begging'6389 wft 5006390 if not targetexists or insysmsg 'You must wait'6391 clearsysmsg6392 skill 'begging'6393 wft 5006394 endif6395 target LootTargetMOB6396 getlabel backpack backpackdesc6397 6398 if not dead LootTargetMOB6399 if insysmsg "Target cannot be seen" or insysmsg "That is too far away."6400 @setvar! FoundNewTarget 06401 @setvar! LootTargetMOB 06402 elseif insysmsg "Perhaps" or insysmsg "They do not appear to have anything to offer you"6403 sysmsg 'Nearby MOB detected - Loot storage loop cancelled!' 1536404 @setvar! FoundNewTarget 16405 break6406 endif6407 endif6408 else6409 @setvar! LootTargetMOB 06410 endif6411 endif6412 settimer 'STORELOOT' 06413 endif6414 endwhile6415 endif6416 6417 /////////////////////////////6418 // END LOOT STORAGE LOOP //6419 /////////////////////////////6420 6421 if not dead6422 dclick key6423 wft 15006424 target lockbox6425 if EnableOverheadMessages != 06426 overhead "[loot box locked]" 696427 endif6428 @setvar! NeedtoSecureLoot 06429 endif6430 6431 foreach TemporaryLootIgnore in TemporaryLootIgnoreList6432 @unignore TemporaryLootIgnore6433 endfor6434 6435 removelist TemporaryLootIgnoreList6436 @unignore ItemToIgnore16437 @unignore ItemToIgnore26438 @unignore ItemToIgnore36439 @unignore ItemToIgnore46440 @unignore ItemToIgnore56441 @unignore weapon6442 @setvar! NeedtoSecureLoot 06443 settimer LootTimer 06444 getlabel lockbox lockboxLabel6445 6446 if "items" in lockboxLabel and not dead6447 dclick key6448 wft 15006449 target lockbox6450 endif6451 endif6452 else6453 @setvar! TargetToAnalyze lasttarget6454 getlabel backpack backpacklabel6455 break6456 endif6457 endif6458 settimer LootTimer 06459 endif6460 6461 if dead6462 break6463 endif6464 6465 if EnableDungeonCleanup = 1 and diffhits < CastGreaterHealHPdiff and warmode6466 while findtype "iron ingot%s|board%s|cut up leather|3972|3962|3963|3980|3976|3973|3974|3981" ground -1 -1 2 as item6467 if EnableOverheadMessages = 16468 if timer "DungeonCleanup" > 15006469 overhead '[ CLEANUP... ]' 4206470 settimer "DungeonCleanup" 06471 endif6472 else6473 if timer "DungeonCleanup" > 15006474 overhead ' � ' 4206475 settimer "DungeonCleanup" 06476 endif6477 endif6478 hotkey "Grab Item"6479 wft 10006480 target item6481 wait 5006482 if dead6483 break6484 endif6485 if diffhits > CastGreaterHealHPdiff6486 break6487 endif6488 endwhile6489 6490 if findtype "iron ingot%s|board%s|cut up leather|3972|3962|3963|3980|3976|3973|3974|3981" ground -1 -1 15 as dungeonjunk and timer "DungeonCleanupRadar" > 35006491 overhead "�" 420 dungeonjunk6492 settimer "DungeonCleanupRadar" 06493 endif6494 endif6495 6496 if dead6497 break6498 endif6499 6500 if targetexists6501 hotkey 'cancel current target'6502 endif6503 6504 if SkipTimers != 16505 @setvar! SkipTimers 16506 endif6507 endwhile6508 6509 ////////////////////////////6510 // END NO TARGET LOOP //6511 ////////////////////////////6512 6513 getlabel backpack backpacklabel6514 else6515 @setvar! AttackModeActive 06516 endif6517 endif6518 6519 if not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and AttackModeActive = 1 and warmode and TimeToGo != 16520 // Skip target checks and begin attack loop!6521 6522 //////////////////////6523 // TARGET CHECKER //6524 //////////////////////6525 6526 elseif not dead TargetToAnalyze and find TargetToAnalyze ground -1 -1 12 and TimeToGo != 16527 if warmode6528 while diffhits < CastGreaterHealHPdiff and find TargetToAnalyze ground -1 -1 12 and AttackModeActive = 06529 if EnableOverheadMessages = 1 or EnableOverheadMessages = 26530 if timer AnalyzingTargetsTimer > 100006531 overhead '[ ANALYZING TARGET... ]' 906532 settimer AnalyzingTargetsTimer 06533 endif6534 endif6535 6536 if dead6537 break6538 endif6539 6540 if dead TargetToAnalyze or not find TargetToAnalyze ground -1 -1 126541 @setvar! AttackModeActive 06542 break6543 endif6544 6545 if EnableAutoCarving = 1 and findtype 11552 self6546 while findtype "corpse" ground -1 -1 2 as deadbody and diffhits < CastGreaterHealHPdiff6547 settimer SkinningTimeoutTimer 06548 if findtype 11552 self6549 if targetexists6550 hotkey 'cancel current target'6551 endif6552 6553 while not targetexists6554 skill 'forensicevaluation'6555 getlabel backpack backpacklabel6556 endwhile6557 6558 clearsysmsg6559 6560 if targetexists and find deadbody ground -1 -1 26561 target 'self'6562 @ignore deadbody6563 wait 2506564 endif6565 6566 if insysmsg "You dont see anything nearby"6567 clearsysmsg6568 break6569 else6570 if EnableOverheadMessages = 1 and timer SkinningTimer > 30006571 overhead '[ SKINNING... ]' 3336572 settimer SkinningTimer 06573 endif6574 break6575 endif6576 else6577 if EnableOverheadMessages = 1 and timer SkinningTimer > 150006578 overhead '[ NO SKINNING KNIFE ]' 3376579 settimer SkinningTimer 06580 break6581 endif6582 endif6583 6584 if timer SkinningTimeoutTimer > 1500 or diffhits > CastGreaterHealHPdiff6585 break6586 endif6587 endwhile6588 endif6589 6590 if find TargetToAnalyze ground -1 -1 126591 getlabel TargetToAnalyze tempLabel6592 6593 while "-" in tempLabel6594 getlabel TargetToAnalyze tempLabel6595 endwhile6596 6597 if inlist animalsIgnoreList tempLabel6598 if timer "IgnoreMOBtimer" > 25006599 if EnableOverheadMessages = 1 or EnableOverheadMessages = 26600 overhead '[ IGNORING MOB! ]' 333 TargetToAnalyze6601 else6602 overhead " � " 333 TargetToAnalyze6603 endif6604 getlabel backpack backpacklabel6605 settimer "IgnoreMOBtimer" 06606 @ignore TargetToAnalyze6607 endif6608 settimer NoTargetTimer 06609 else6610 clearsysmsg6611 skill 'begging'6612 settimer AntiStallTimer 06613 wait 2506614 while not targetexists6615 if insysmsg 'you must wait'6616 clearsysmsg6617 skill 'begging'6618 wait 2506619 endif6620 wait 2506621 if timer AntiStallTimer > 15006622 settimer AntiStallTimer 06623 break6624 endif6625 endwhile6626 6627 if targetexists6628 target TargetToAnalyze6629 getlabel backpack backpacklabel6630 endif6631 6632 if not dead TargetToAnalyze and find TargetToAnalyze ground -1 -1 126633 if insysmsg "cannot be seen"6634 if EnableOverheadMessages = 1 or EnableOverheadMessages = 26635 if timer "CannotSeeTargetTimer" > 30006636 overhead '[ CANNOT SEE TARGET! ]' 446637 settimer "CannotSeeTargetTimer" 06638 endif6639 elseif timer "CannotSeeTargetTimer" > 45006640 overhead " � " 44 TargetToAnalyze6641 settimer "CannotSeeTargetTimer" 06642 endif6643 6644 settimer NoTargetTimer 06645 6646 if diffhits > CastGreaterHealHPdiff6647 break6648 endif6649 6650 clearsysmsg6651 hotkey 'target closest grey monster'6652 getlabel backpack backpacklabel6653 @setvar! TargetToCheck lasttarget6654 6655 if insysmsg 'No one matching that'6656 @setvar! AttackModeActive 06657 @setvar! TargetToAnalyze 06658 @setvar! TargetToCheck 06659 break6660 elseif TargetToCheck != TargetToAnalyze6661 @setvar! AttackModeActive 06662 @setvar! TargetToAnalyze 06663 @setvar! TargetToCheck 06664 break6665 elseif find TargetToAnalyze ground -1 -1 TargetAttackRange6666 @setvar! TargetToAnalyze lasttarget6667 @setvar! AttackModeActive 26668 else6669 break6670 endif6671 elseif insysmsg "That is too far away."6672 if EnableOverheadMessages = 1 or EnableOverheadMessages = 26673 if timer "TargetIsTooFarTimer" > 20006674 overhead '[ GET CLOSER! ]' 696675 overhead " � " 69 TargetToAnalyze6676 settimer "TargetIsTooFarTimer" 06677 endif6678 elseif timer "TargetIsTooFarTimer" > 45006679 overhead " � " 44 TargetToAnalyze6680 settimer "TargetIsTooFarTimer" 06681 endif6682 settimer NoTargetTimer 06683 elseif insysmsg "Perhaps" or insysmsg "You are too far away from them." or insysmsg "They do not appear to have anything to offer you." or insysmsg "You must wait" or insysmsg "You cannot beg from an individual"6684 if find TargetToAnalyze ground -1 -1 TargetAttackRange6685 if ClosestTarget != TargetToAnalyze6686 settimer CurseTimer 600006687 settimer ManaDrainTimer 600006688 getlabel backpack backpacklabel6689 endif6690 6691 clearsysmsg6692 @setvar! ClosestTarget TargetToAnalyze6693 @setvar! previousTarget ClosestTarget6694 settimer 'PainSpikeDelayTimer' 06695 @setvar! ClosestTargetisSticky 06696 6697 6698 attack ClosestTarget6699 6700 6701 if timer "AttackTargetTimer" > 150006702 if EnableOverheadMessages != 06703 overhead '[ ATTACKING! ]' 696704 endif6705 settimer "AttackTargetTimer" 06706 endif6707 6708 @setvar! AttackModeActive 16709 @setvar! NoTargetMode 06710 @setvar! TargetSwap 06711 @setvar! ClosestTargetisSticky 06712 @setvar! RepeatCastingPoison 16713 settimer PainSpikeDelayTimer 06714 settimer TargetChecker 06715 settimer NoTargetTimer 06716 6717 if EnableNecroCorpseSkin = 16718 settimer CorpseSkinDiseaseTimer 06719 endif6720 6721 if find ClosestTarget ground -1 -1 TargetAttackRange6722 getlabel ClosestTarget TargetDesc6723 if EnableOverheadMessages = 1 or EnableOverheadMessages = 26724 if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange6725 overhead '[ PARAGON! ]' 12 ClosestTarget6726 overhead " � " 12 ClosestTarget6727 settimer "TargetTimer" 06728 elseif find ClosestTarget ground -1 -1 TargetAttackRange6729 overhead '[ TARGET ]' 69 ClosestTarget6730 overhead " � " 69 ClosestTarget6731 settimer "TargetTimer" 06732 endif6733 else6734 if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange6735 overhead " ��� " 12 ClosestTarget6736 settimer "TargetTimer" 06737 elseif find ClosestTarget ground -1 -1 TargetAttackRange6738 overhead " � " 69 ClosestTarget6739 settimer "TargetTimer" 06740 endif6741 endif6742 endif6743 break6744 else6745 if EnableOverheadMessages = 1 or EnableOverheadMessages = 26746 if timer "TargetIsTooFarTimer" > 35006747 overhead '[ GET CLOSER! ]' 696748 settimer "TargetIsTooFarTimer" 06749 endif6750 elseif timer "TargetIsTooFarTimer" > 45006751 overhead " � " 69 TargetToAnalyze6752 settimer "TargetIsTooFarTimer" 06753 endif6754 settimer NoTargetTimer 06755 endif6756 endif6757 else6758 break6759 endif6760 endif6761 else6762 @setvar! TargetToAnalyze 06763 break6764 endif6765 6766 getlabel backpack backpacklabel6767 6768 if AttackModeActive != 06769 break6770 endif6771 6772 if targetexists6773 hotkey 'cancel current target'6774 endif6775 6776 if casting6777 interrupt6778 endif6779 endwhile6780 6781 if dead6782 break6783 endif6784 else6785 if WarModeToggledWhileFighting = 16786 hotkey 'Toggle War Only'6787 @setvar! AttackModeActive 26788 replay6789 else6790 if DUNGEONMODE = 16791 @setvar! TimeToGo 16792 elseif WILDERNESSMODE = 16793 @setvar! AutoRecallTime 16794 endif6795 replay6796 endif6797 endif6798 getlabel backpack backpacklabel6799 endif6800 6801 6802 ////////////////////////6803 // BUFFS: //6804 ////////////////////////6805 6806 if dead6807 break6808 endif6809 6810 if EnableEatMagicMushrooms = 16811 if diffmana > EatMushroomManadiff and timer MushroomTimer > 600006812 if counttype 29012 backpack6813 dclicktype 29012 backpack6814 getlabel backpack packdesc6815 wait 2506816 if insysmsg "You consume a magic mushroom"6817 settimer MushroomTimer 06818 cooldown "Mushroom" 600006819 if EnableOverheadMessages = 16820 overhead '[ EATING SHROOMS... ]' 136821 endif6822 endif6823 elseif EnableOverheadMessages = 16824 overhead '[ OUT OF SHROOMS! ]' 3376825 endif6826 endif6827 endif6828 6829 if EnableEatManaSnacks = 16830 if skill 'Cooking' >= 506831 if findtype "29774|28883|28885|28880|28879|28888|28886|29773|28881" backpack as mysnack6832 if timer 'EatManaSnackCooldownTimer' > EatManaSnackCooldown and diffmana > EatSnackManadiff6833 if EnableOverheadMessages = 16834 overhead "[ MANA MUNCHING... ]" 4206835 endif6836 dclick mysnack6837 wait 2506838 settimer 'EatManaSnackCooldownTimer' 06839 settimer 'EatHealSnackCooldownTimer' 06840 cooldown "Snacking" EatManaSnackCooldown6841 endif6842 else6843 if timer FoodMessageTimer > 15000 and EnableOverheadMessages = 16844 overhead "[ NO MORE FOOD! ]" 3376845 settimer FoodMessageTimer 06846 endif6847 endif6848 endif6849 endif6850 6851 @setvar! CastingWasInterrupted 06852 6853 if TimeToGo != 16854 if EnableMagicReflection = 1 and skill 'magery' >= 70 and not findbuff "Magic Reflection" and mana >= MinimumManaToApplyMageryBuffs and diffhits < CastGreaterHealHPdiff and timer MagicReflectTimer > 15000 and findtype 3972 self and findtype 3974 self and findtype 3981 self6855 if targetexists6856 hotkey 'cancel current target'6857 endif6858 cast 'Magic Reflection'6859 while not casting6860 wait 2506861 if insysmsg "that spell will not" or insysmsg "that spell is already" or insysmsg "You must wait"6862 settimer MagicReflectTimer 06863 clearsysmsg6864 break6865 endif6866 if targetexists6867 hotkey 'cancel current target'6868 endif6869 cast 'Magic Reflection'6870 endwhile6871 while casting6872 if timer MagicReflectTimer < 50006873 break6874 endif6875 if diffhits >= CastGreaterHealHPdiff6876 interrupt6877 @setvar! AttackModeActive 16878 break6879 endif6880 6881 if EnableCurePotion = 16882 while poisoned and casting and not targetexists6883 if findtype "Orange Potion" self6884 dclicktype "Orange Potion"6885 if EnableOverheadMessages = 1 and timer 'CurePotionMessageTimer' > 35006886 if insysmsg "potion satchel used"6887 overhead '[ FREE CURE POTION ]' 446888 else6889 overhead '[ CURE POTION ]' 446890 endif6891 clearsysmsg6892 settimer 'CurePotionMessageTimer' 06893 endif6894 wait 5006895 else6896 if timer 'CurePotionMessageTimer' > 5000 and EnableOverheadMessages = 16897 overhead '[ NO CURE POTS! ]' 3376898 settimer 'CurePotionMessageTimer' 06899 endif6900 break6901 endif6902 endwhile6903 endif6904 6905 if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff6906 if findtype "Yellow Potion" self as HealPot6907 getlabel HealPot HealPotlabel6908 if "next" in HealPotlabel6909 // Do nothing6910 else6911 @setvar! HealPotionCheck 06912 6913 if counttype 3852 self as HealPotCount6914 @setvar! HealPotionCheck HealPotCount6915 endif6916 clearsysmsg6917 dclicktype 38526918 getlabel backpack backpackdesc6919 wait 2506920 if insysmsg "potion satchel used"6921 settimer 'HealPotionTimer' 06922 cooldown "Healing Potion" HealingPotionCooldown6923 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 45006924 overhead '[ FREE HEAL POTION ]' 2536925 endif6926 elseif HealPotionCheck != counttype 3852 self6927 settimer 'HealPotionTimer' 06928 cooldown "Healing Potion" HealingPotionCooldown6929 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 45006930 overhead '[ HEAL POTION ]' 2536931 endif6932 endif6933 clearsysmsg6934 endif6935 else6936 if timer 'HealPotionMessageTimer' > 4500 and EnableOverheadMessages = 16937 overhead '[ NO HEAL POTS! ]' 3376938 settimer 'HealPotionMessageTimer' 06939 endif6940 endif6941 endif6942 endwhile6943 settimer MagicReflectTimer 06944 wait 2506945 endif6946 6947 if EnableReactiveArmour = 1 and skill 'magery' >= 30 and not findbuff "Reactive Armor" and mana >= MinimumManaToApplyMageryBuffs and diffhits < CastGreaterHealHPdiff and timer ReactiveArmorTimer > 15000 and findtype 3980 self and findtype 3972 self and findtype 3981 self6948 if targetexists6949 hotkey 'cancel current target'6950 endif6951 cast 'Reactive Armor'6952 settimer AntiStallTimer 06953 while not casting and timer AntiStallTimer < 35006954 wait 2506955 if insysmsg "that spell will not" or insysmsg "that spell is already"6956 settimer ReactiveArmorTimer 06957 break6958 endif6959 if targetexists6960 hotkey 'cancel current target'6961 endif6962 cast 'Reactive Armor'6963 endwhile6964 if timer ReactiveArmorTimer < 50006965 // Do nothing6966 else6967 while casting6968 wait 2506969 endwhile6970 settimer ReactiveArmorTimer 06971 endif6972 wait 2506973 endif6974 6975 if EnableProtection = 1 and skill 'magery' >= 40 and not findbuff "Protection" and mana >= MinimumManaToApplyMageryBuffs and diffhits < CastGreaterHealHPdiff and findtype 3980 self and findtype 3972 self and findtype 3973 self6976 cast 'Protection'6977 settimer AntiStallTimer 06978 while not casting and timer AntiStallTimer < 35006979 if timer AntiStallTimer > 35006980 settimer AntiStallTimer 06981 break6982 endif6983 cast 'Protection'6984 wait 2506985 endwhile6986 while casting6987 wait 2506988 endwhile6989 endif6990 6991 if EnableBless = 1 and skill 'magery' >= 50 and not findbuff "Cunning" and mana >= MinimumManaToApplyMageryBuffs and diffhits < CastGreaterHealHPdiff and findtype 3972 self and findtype 3974 self6992 if targetexists6993 hotkey 'cancel current target'6994 endif6995 cast 'Bless'6996 settimer AntiStallTimer 06997 while not casting and timer AntiStallTimer < 35006998 if timer AntiStallTimer > 35006999 settimer AntiStallTimer 07000 break7001 endif7002 cast 'Bless'7003 wait 2507004 endwhile7005 while casting7006 wait 2507007 endwhile7008 wft 15007009 target 'self'7010 wait 2507011 endif7012 endif7013 7014 7015 //////////////////////////7016 // BEGIN ATTACK LOOP: //7017 //////////////////////////7018 7019 while not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and AttackModeActive = 1 and TargetSwap != 1 and TimeToGo != 17020 if skill "Arcane" >= 80 and EnableArcaneWeaponAbility != 07021 if EnableArcaneCodexAbilityHotbar = 17022 if not gumpexists 39541219347023 yell '[abilitieshotbar'7024 wait 5007025 endif7026 endif7027 endif7028 7029 if EnableWeaponCheck = 1 and skill 'Arcane' >= 50 and not findtype "31043|31017|31019|31021|31023|31025|31027|31029|31031|31033|31035|31037|31038|31041|31045|31047|31049|31051|31053|31055" hand7030 if findtype "31043|31017|31019|31021|31023|31025|31027|31029|31031|31033|31035|31037|31038|31041|31045|31047|31049|31051|31053|31055" self as myArcaneStaff7031 for 57032 if findtype "31043|31017|31019|31021|31023|31025|31027|31029|31031|31033|31035|31037|31038|31041|31045|31047|31049|31051|31053|31055" self as myArcaneStaff7033 getlabel myArcaneStaff myArcaneStafflabel7034 if "Aspect" in myArcaneStafflabel7035 break7036 elseif "unidentified" in myArcaneStafflabel7037 ignore myArcaneStaff7038 else7039 break7040 endif7041 endif7042 endfor7043 dclick myArcaneStaff7044 clearignore7045 wait 5007046 else7047 if timer "ArcaneStaffCheck" > 5000 and EnableOverheadMessages = 17048 overhead "[ NO ARCANE STAFF! ]" 3377049 settimer "ArcaneStaffCheck" 07050 endif7051 endif7052 endif7053 7054 if timer "TargetTimer" > 3500 and find ClosestTarget ground -1 -1 TargetAttackRange7055 getlabel ClosestTarget TargetDesc7056 if EnableOverheadMessages = 1 or EnableOverheadMessages = 27057 if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange7058 overhead '[ PARAGON! ]' 12 ClosestTarget7059 overhead " � " 12 ClosestTarget7060 settimer "TargetTimer" 07061 elseif find ClosestTarget ground -1 -1 TargetAttackRange7062 overhead '[ TARGET ]' 253 ClosestTarget7063 overhead " � " 253 ClosestTarget7064 settimer "TargetTimer" 07065 endif7066 else7067 if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange7068 overhead " ��� " 12 ClosestTarget7069 settimer "TargetTimer" 07070 elseif find ClosestTarget ground -1 -1 TargetAttackRange7071 overhead " � " 253 ClosestTarget7072 settimer "TargetTimer" 07073 endif7074 endif7075 endif7076 7077 if not warmode7078 @setvar! WarModeToggledWhileFighting 17079 elseif warmode7080 @setvar! WarModeToggledWhileFighting 07081 endif7082 7083 if EnableAutoTaunting = 17084 if skill 'Parrying' >= 80 and find ClosestTarget ground -1 -1 12 and timer "TauntingTimer" > 150007085 say "[Taunt"7086 wft 5007087 target ClosestTarget7088 wait 2507089 if not targetexists7090 if insysmsg "Cannot be seen"7091 settimer "TauntingTimer" 100007092 else7093 if EnableOverheadMessages = 17094 overhead "[ TAUNTING... ]" 21177095 endif7096 settimer "TauntingTimer" 07097 endif7098 endif7099 endif7100 endif7101 7102 if EnableStrengthPotion = 1 and diffhits < CastGreaterHealHPdiff7103 if skill 'Alchemy' > 0 and skill 'Alchemy' < 27104 if insysmsg "You may now use a strength" or not findbuff "Strength Potion Usage Cooldown"7105 if findtype "White Potion" self7106 dclicktype "White Potion"7107 if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 45007108 if insysmsg "potion satchel used"7109 overhead '[ FREE STRENGTH POTION ]' 9567110 else7111 overhead '[ STRENGTH POTION ]' 9567112 endif7113 clearsysmsg7114 settimer WhitePotionMessageTimer 07115 endif7116 wait 5007117 else7118 if timer WhitePotionMessageTimer > 45007119 overhead '[ NO STRENGTH POTS! ]' 3377120 settimer WhitePotionMessageTimer 07121 endif7122 endif7123 clearsysmsg7124 endif7125 elseif skill 'Alchemy' = 07126 if insysmsg "You may now use a strength" or not findbuff "Strength Potion Usage Cooldown"7127 if findtype "White Potion" self7128 dclicktype "White Potion"7129 if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 45007130 if insysmsg "potion satchel used"7131 overhead '[ FREE STRENGTH POTION ]' 9567132 else7133 overhead '[ STRENGTH POTION ]' 9567134 endif7135 clearsysmsg7136 settimer WhitePotionMessageTimer 07137 endif7138 wait 5007139 else7140 if timer WhitePotionMessageTimer > 45007141 overhead '[ NO STRENGTH POTS! ]' 3377142 settimer WhitePotionMessageTimer 07143 endif7144 endif7145 clearsysmsg7146 endif7147 else7148 if not findbuff "Strength"7149 if findtype "White Potion" self7150 dclicktype "White Potion"7151 if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 45007152 if insysmsg "potion satchel used"7153 overhead '[ FREE STRENGTH POTION ]' 9567154 else7155 overhead '[ STRENGTH POTION ]' 9567156 endif7157 clearsysmsg7158 settimer WhitePotionMessageTimer 07159 endif7160 wait 5007161 else7162 if timer WhitePotionMessageTimer > 45007163 overhead '[ NO STRENGTH POTS! ]' 3377164 settimer WhitePotionMessageTimer 07165 endif7166 endif7167 endif7168 endif7169 endif7170 7171 if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff7172 if findtype "Yellow Potion" self as HealPot7173 getlabel HealPot HealPotlabel7174 if "next" in HealPotlabel7175 // Do nothing7176 else7177 @setvar! HealPotionCheck 07178 7179 if counttype 3852 self as HealPotCount7180 @setvar! HealPotionCheck HealPotCount7181 endif7182 clearsysmsg7183 dclicktype 38527184 getlabel backpack backpackdesc7185 wait 2507186 if insysmsg "potion satchel used"7187 settimer 'HealPotionTimer' 07188 cooldown "Healing Potion" HealingPotionCooldown7189 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 45007190 overhead '[ FREE HEAL POTION ]' 2537191 endif7192 elseif HealPotionCheck != counttype 3852 self7193 settimer 'HealPotionTimer' 07194 cooldown "Healing Potion" HealingPotionCooldown7195 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 45007196 overhead '[ HEAL POTION ]' 2537197 endif7198 endif7199 clearsysmsg7200 endif7201 else7202 if timer 'HealPotionMessageTimer' > 4500 and EnableOverheadMessages = 17203 overhead '[ NO HEAL POTS! ]' 3377204 settimer 'HealPotionMessageTimer' 07205 endif7206 endif7207 endif7208 7209 if skill 'healing' > 0 and hp < maxhp and not bandaging7210 if findtype 'clean bandage%s%' self7211 hotkey 'Bandage Self'7212 if EnableOverheadMessages = 17213 overhead '[ BANDAGING... ]' 887214 endif7215 else7216 if EnableOverheadMessages = 17217 overhead '[ NO BANDAGES! ]' 3377218 endif7219 endif7220 endif7221 7222 if EnableAgilityPotion = 1 and not findbuff "Agility" and diffhits < CastGreaterHealHPdiff7223 if findtype "Blue Potion" self7224 dclicktype "Blue Potion"7225 if EnableOverheadMessages = 1 and timer BluePotionMessageTimer > 45007226 if insysmsg "potion satchel used"7227 overhead '[ FREE AGILITY POTION ]' 937228 else7229 overhead '[ AGILITY POTION ]' 937230 endif7231 clearsysmsg7232 settimer BluePotionMessageTimer 07233 endif7234 wait 2507235 else7236 if timer BluePotionMessageTimer > 4500 and EnableOverheadMessages = 17237 overhead '[ NO AGILITY POTS! ]' 3377238 settimer BluePotionMessageTimer 07239 endif7240 endif7241 endif7242 7243 if EnableMagicResistPotion = 1 and not findbuff "Magic Resist" and diffhits < CastGreaterHealHPdiff7244 if findtype "Black Potion" self7245 dclicktype "Black Potion"7246 if EnableOverheadMessages = 1 and timer BlackPotionMessageTimer > 45007247 if insysmsg "potion satchel used"7248 overhead '[ FREE RESIST POTION ]' 11097249 else7250 overhead '[ RESIST POTION ]' 11097251 endif7252 clearsysmsg7253 settimer BlackPotionMessageTimer 07254 endif7255 wait 2507256 else7257 if timer BlackPotionMessageTimer > 4500 and EnableOverheadMessages = 17258 overhead '[ NO RESIST POTS! ]' 3377259 settimer BlackPotionMessageTimer 07260 endif7261 endif7262 endif7263 7264 if EnableRefreshPotion = 1 and diffstam > RefreshPotionSPdiff7265 if findtype "Red Potion" self7266 dclicktype "Red Potion"7267 if EnableOverheadMessages = 1 and timer RedPotionMessageTimer > 45007268 if insysmsg "potion satchel used"7269 overhead '[ FREE REFRESH POTION ]' 377270 else7271 overhead '[ REFRESH POTION ]' 377272 endif7273 clearsysmsg7274 settimer RedPotionMessageTimer 07275 endif7276 wait 2507277 else7278 if timer RedPotionMessageTimer > 4500 and EnableOverheadMessages = 17279 overhead '[ NO REFRESH POTS! ]' 3377280 settimer RedPotionMessageTimer 07281 endif7282 endif7283 endif7284 7285 if EnableAutoExplosionPots = 1 and diffhits < CastGreaterHealHPdiff7286 if findtype 'purple potion' self as explotPot7287 getlabel explotPot potLabel7288 if "(" in potLabel7289 if timer PurplePotionTimer > PurplePotionCooldown7290 @setvar! PurplePotionReady 17291 else7292 @setvar! PurplePotionReady 07293 endif7294 else7295 @setvar! PurplePotionReady 17296 endif7297 7298 if skill 'Alchemy' < 807299 if timer TelekinesisTimer > 60000 or ClosestTargetisSticky = 07300 if PurplePotionReady = 1 and find ClosestTarget ground -1 -1 TargetAttackRange and not dead ClosestTarget7301 if findtype 'purple potion' self7302 settimer AntiStallTimer 07303 while not targetexists and timer AntiStallTimer < 15007304 if timer AntiStallTimer > 15007305 break7306 endif7307 cast 'Telekinesis'7308 wait 5007309 endwhile7310 clearsysmsg7311 wft 5007312 target ClosestTarget7313 wait 2507314 if insysmsg "You are too far"7315 @setvar! ClosestTargetisSticky 07316 clearsysmsg7317 else7318 if EnableOverheadMessages = 1 and timer PurplePotionMessageTimer > 45007319 overhead '[ EXPLOSION POTION! ]' 4197320 settimer PurplePotionMessageTimer 07321 endif7322 settimer TelekinesisTimer 07323 @setvar! ClosestTargetisSticky 17324 endif7325 endif7326 endif7327 endif7328 else7329 @setvar! ClosestTargetisSticky 17330 endif7331 else7332 if EnableOverheadMessages = 1 and timer PurplePotionMessageTimer > 150007333 overhead '[ NO PURPLE POTIONS ]' 3377334 settimer PurplePotionMessageTimer 07335 endif7336 endif7337 endif7338 7339 @setvar! CastingWasInterrupted 07340 7341 if targetexists7342 hotkey 'cancel current target'7343 endif7344 7345 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange7346 @setvar! RepeatCastingPoison 07347 @setvar! AttackModeActive 07348 @setvar! ClosestTargetisSticky 07349 @setvar! TargetSwap 07350 settimer TargetChecker 07351 break7352 endif7353 7354 if EnableAutoExplosionPots = 17355 if timer TelekinesisTimer > 600007356 @setvar! ClosestTargetisSticky 07357 settimer TelekinesisTimer 07358 endif7359 endif7360 7361 if PurplePotionReady = 1 and ClosestTargetisSticky = 1 and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and diffhits < CastGreaterHealHPdiff7362 settimer AntiStallTimer 07363 while not insysmsg "Where should i throw this potion?" and timer AntiStallTimer < 15007364 potion 'explosion'7365 if timer AntiStallTimer > 15007366 settimer AntiStallTimer 07367 break7368 endif7369 endwhile7370 7371 @setvar! PurplePotionReady 07372 settimer PurplePotionTimer 07373 settimer AntiStallTimer 07374 7375 while not targetexists and timer AntiStallTimer < 15007376 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange7377 @setvar! RepeatCastingPoison 07378 @setvar! AttackModeActive 07379 @setvar! ClosestTargetisSticky 07380 @setvar! CastingWasInterrupted 17381 @setvar! TargetSwap 07382 hotkey 'cancel current target'7383 break7384 endif7385 7386 if timer AntiStallTimer > 15007387 settimer AntiStallTimer 07388 break7389 endif7390 endwhile7391 7392 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange7393 break7394 endif7395 7396 if CastingWasInterrupted = 07397 target ClosestTarget7398 cooldown "Purple Potion" PurplePotionCooldown7399 getlabel backpack packdesc7400 wait 2507401 endif7402 endif7403 7404 if EnableEatMagicMushrooms = 17405 if diffmana > EatMushroomManadiff and timer MushroomTimer > 600007406 if counttype 29012 backpack7407 dclicktype 29012 backpack7408 getlabel backpack packdesc7409 wait 2507410 if insysmsg "You consume a magic mushroom"7411 settimer MushroomTimer 07412 cooldown "Mushroom" 600007413 if EnableOverheadMessages = 17414 overhead '[ EATING SHROOMS... ]' 137415 endif7416 endif7417 elseif EnableOverheadMessages = 17418 overhead '[ OUT OF SHROOMS! ]' 3377419 endif7420 endif7421 endif7422 7423 if EnableEatManaSnacks = 17424 if skill 'Cooking' >= 507425 if findtype "29774|28883|28885|28880|28879|28888|28886|29773|28881" backpack as mysnack7426 if timer 'EatManaSnackCooldownTimer' > EatManaSnackCooldown and diffmana > EatSnackManadiff7427 if EnableOverheadMessages = 17428 overhead "[ MANA MUNCHING... ]" 4207429 endif7430 dclick mysnack7431 wait 2507432 settimer 'EatManaSnackCooldownTimer' 07433 settimer 'EatHealSnackCooldownTimer' 07434 cooldown "Snacking" EatManaSnackCooldown7435 endif7436 else7437 if timer FoodMessageTimer > 15000 and EnableOverheadMessages = 17438 overhead "[ NO MORE FOOD! ]" 3377439 settimer FoodMessageTimer 07440 endif7441 endif7442 endif7443 endif7444 7445 if EnableCastCurse = 1 and timer CurseTimer > 60000 and mana >= 11 and diffhits < CastGreaterHealHPdiff and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and findtype 3972 self and findtype 3976 self and findtype 3980 self7446 clearsysmsg7447 cast 'Curse'7448 settimer spellTimer 07449 settimer AntiStallTimer 07450 @setvar! SpellcastCooldown 8007451 7452 while not targetexists and timer AntiStallTimer < 25007453 if diffhits >= CastGreaterHealHPdiff7454 interrupt7455 @setvar! AttackModeActive 17456 @setvar! CastingWasInterrupted 17457 break7458 endif7459 7460 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange7461 @setvar! RepeatCastingPoison 07462 @setvar! AttackModeActive 07463 @setvar! CastingWasInterrupted 17464 @setvar! ClosestTargetisSticky 07465 @setvar! TargetSwap 07466 interrupt7467 break7468 endif7469 7470 if insysmsg "Your concentration is disturbed"7471 interrupt7472 @setvar! CastingWasInterrupted 17473 break7474 endif7475 7476 if timer AntiStallTimer > 25007477 settimer AntiStallTimer 07478 break7479 endif7480 7481 if timer spellTimer < SpellcastCooldown7482 if EnableCurePotion = 17483 while poisoned and casting and not targetexists7484 if findtype "Orange Potion" self7485 dclicktype "Orange Potion"7486 if EnableOverheadMessages = 1 and timer 'CurePotionMessageTimer' > 35007487 if insysmsg "potion satchel used"7488 overhead '[ FREE CURE POTION ]' 447489 else7490 overhead '[ CURE POTION ]' 447491 endif7492 clearsysmsg7493 settimer 'CurePotionMessageTimer' 07494 endif7495 wait 5007496 else7497 if timer 'CurePotionMessageTimer' > 5000 and EnableOverheadMessages = 17498 overhead '[ NO CURE POTS! ]' 3377499 settimer 'CurePotionMessageTimer' 07500 endif7501 break7502 endif7503 endwhile7504 endif7505 7506 if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff and casting and not targetexists7507 if findtype "Yellow Potion" self as HealPot7508 getlabel HealPot HealPotlabel7509 if "next" in HealPotlabel7510 // Do nothing7511 else7512 @setvar! HealPotionCheck 07513 7514 if counttype 3852 self as HealPotCount7515 @setvar! HealPotionCheck HealPotCount7516 endif7517 clearsysmsg7518 dclicktype 38527519 getlabel backpack backpackdesc7520 wait 2507521 if insysmsg "potion satchel used"7522 settimer 'HealPotionTimer' 07523 cooldown "Healing Potion" HealingPotionCooldown7524 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 45007525 overhead '[ FREE HEAL POTION ]' 2537526 endif7527 elseif HealPotionCheck != counttype 3852 self7528 settimer 'HealPotionTimer' 07529 cooldown "Healing Potion" HealingPotionCooldown7530 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 45007531 overhead '[ HEAL POTION ]' 2537532 endif7533 endif7534 clearsysmsg7535 endif7536 else7537 if timer 'HealPotionMessageTimer' > 4500 and EnableOverheadMessages = 17538 overhead '[ NO HEAL POTS! ]' 3377539 settimer 'HealPotionMessageTimer' 07540 endif7541 endif7542 endif7543 endif7544 endwhile7545 7546 if CastingWasInterrupted = 07547 clearsysmsg7548 settimer CurseTimer 07549 target ClosestTarget7550 getlabel backpack packdesc7551 wait 2507552 7553 if insysmsg "cannot be seen"7554 break7555 elseif insysmsg "You curse your target"7556 if EnableOverheadMessages = 17557 overhead "[ CURSED ]" 1109 ClosestTarget7558 elseif EnableOverheadMessages = 27559 overhead "*cursed*" 1109 ClosestTarget7560 endif7561 endif7562 endif7563 endif7564 7565 if EnableCastManaDrain = 1 and timer ManaDrainTimer > 60000 and mana >= 11 and diffhits < CastGreaterHealHPdiff and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and findtype 3962 self and findtype 3974 self and findtype 3981 self7566 clearsysmsg7567 cast 'Mana Drain'7568 settimer spellTimer 07569 settimer AntiStallTimer 07570 @setvar! SpellcastCooldown 8007571 7572 while not targetexists and timer AntiStallTimer < 25007573 if diffhits >= CastGreaterHealHPdiff7574 interrupt7575 @setvar! AttackModeActive 17576 @setvar! CastingWasInterrupted 17577 break7578 endif7579 7580 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange7581 @setvar! RepeatCastingPoison 07582 @setvar! AttackModeActive 07583 @setvar! CastingWasInterrupted 17584 @setvar! ClosestTargetisSticky 07585 @setvar! TargetSwap 07586 interrupt7587 break7588 endif7589 7590 if insysmsg "Your concentration is disturbed"7591 interrupt7592 @setvar! CastingWasInterrupted 17593 break7594 endif7595 7596 if timer AntiStallTimer > 25007597 settimer AntiStallTimer 07598 break7599 endif7600 7601 if timer spellTimer < SpellcastCooldown7602 if EnableCurePotion = 17603 while poisoned and casting and not targetexists7604 if findtype "Orange Potion" self7605 dclicktype "Orange Potion"7606 if EnableOverheadMessages = 1 and timer 'CurePotionMessageTimer' > 35007607 if insysmsg "potion satchel used"7608 overhead '[ FREE CURE POTION ]' 447609 else7610 overhead '[ CURE POTION ]' 447611 endif7612 clearsysmsg7613 settimer 'CurePotionMessageTimer' 07614 endif7615 wait 5007616 else7617 if timer 'CurePotionMessageTimer' > 5000 and EnableOverheadMessages = 17618 overhead '[ NO CURE POTS! ]' 3377619 settimer 'CurePotionMessageTimer' 07620 endif7621 break7622 endif7623 endwhile7624 endif7625 7626 if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff and casting and not targetexists7627 if findtype "Yellow Potion" self as HealPot7628 getlabel HealPot HealPotlabel7629 if "next" in HealPotlabel7630 // Do nothing7631 else7632 @setvar! HealPotionCheck 07633 7634 if counttype 3852 self as HealPotCount7635 @setvar! HealPotionCheck HealPotCount7636 endif7637 clearsysmsg7638 dclicktype 38527639 getlabel backpack backpackdesc7640 wait 2507641 if insysmsg "potion satchel used"7642 settimer 'HealPotionTimer' 07643 cooldown "Healing Potion" HealingPotionCooldown7644 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 45007645 overhead '[ FREE HEAL POTION ]' 2537646 endif7647 elseif HealPotionCheck != counttype 3852 self7648 settimer 'HealPotionTimer' 07649 cooldown "Healing Potion" HealingPotionCooldown7650 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 45007651 overhead '[ HEAL POTION ]' 2537652 endif7653 endif7654 clearsysmsg7655 endif7656 else7657 if timer 'HealPotionMessageTimer' > 4500 and EnableOverheadMessages = 17658 overhead '[ NO HEAL POTS! ]' 3377659 settimer 'HealPotionMessageTimer' 07660 endif7661 endif7662 endif7663 endif7664 endwhile7665 7666 if CastingWasInterrupted = 07667 clearsysmsg7668 settimer ManaDrainTimer 07669 target ClosestTarget7670 getlabel backpack packdesc7671 wait 2507672 7673 if insysmsg "cannot be seen"7674 break7675 endif7676 endif7677 endif7678 7679 if EnableGoldVacuum = 1 and DisableVacuums != 1 and warmode7680 if findtype "gold coin" ground -1 -1 15 as droppedmoney and timer "GoldRadar" > 35007681 overhead " � " 149 droppedmoney7682 settimer "GoldRadar" 07683 endif7684 7685 while findtype "gold coin" ground -1 -1 2 as droppedmoney and diffhits < CastGreaterHealHPdiff7686 overhead " � " 1497687 hotkey "Grab Item"7688 wft 25007689 target droppedmoney7690 wait 2507691 7692 if dead7693 break7694 endif7695 7696 if diffhits >= CastGreaterHealHPdiff7697 @setvar! AttackModeActive 17698 break7699 endif7700 7701 if insysmsg "Invalid or inaccessible item"7702 wait 5007703 @ignore droppedmoney7704 endif7705 wait 2507706 endwhile7707 endif7708 7709 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange7710 @setvar! RepeatCastingPoison 07711 @setvar! AttackModeActive 07712 @setvar! ClosestTargetisSticky 07713 @setvar! TargetSwap 07714 settimer TargetChecker 07715 break7716 endif7717 7718 if dead7719 break7720 endif7721 7722 if CheckClosestTargetTime != 07723 if timer TargetChecker > CheckClosestTargetTime7724 @setvar! TargetSwap 07725 hotkey "Target Closest Grey Monster"7726 getlabel backpack backpacklabel7727 @setvar! TargetToCheck lasttarget7728 wait 2507729 if TargetToCheck != ClosestTarget7730 settimer TargetChecker 07731 @setvar! TargetToAnalyze lasttarget7732 @setvar! ClosestTargetisSticky 07733 @setvar! AttackModeActive 27734 @setvar! TargetSwap 17735 break7736 endif7737 settimer TargetChecker 07738 endif7739 endif7740 7741 if skill 'Necromancy' >= 50 and not gumpexists 6224365167742 if findtype 'necromancer book' backpack7743 yell '[necromancyhotbar'7744 while not gumpexists 6224365167745 yell '[necromancyhotbar'7746 wait 5007747 endwhile7748 elseif EnableOverheadMessages = 17749 overhead '[ NO NECRO BOOK! ]' 3377750 wait 5007751 endif7752 endif7753 7754 if not findtype "3972" self or not findtype "3962" self or not findtype "3963" self or not findtype "3980" self or not findtype "3976" self or not findtype "3973" self or not findtype "3974" self or not findtype "3981" self7755 clearignore7756 getlabel backpack backpacklabel7757 if not findtype "3972" self or not findtype "3962" self or not findtype "3963" self or not findtype "3980" self or not findtype "3976" self or not findtype "3973" self or not findtype "3974" self or not findtype "3981" self7758 if EnableOverheadMessages = 1 or EnableOverheadMessages = 27759 if timer MissingRegsTimer > 50007760 if counttype "3972" self = 07761 overhead '[ NO GARLIC ]' 6467762 endif7763 if counttype "3962" self = 07764 overhead '[ NO BLACK PEARL ]' 37765 endif7766 if counttype "3963" self = 07767 overhead '[ NO BLOODMOSS ]' 337768 endif7769 if counttype "3980" self = 07770 overhead '[ NO SULFUROUS ASH ]' 1537771 endif7772 if counttype "3976" self = 07773 overhead '[ NO NIGHTSHADE ]' 3637774 endif7775 if counttype "3973" self = 07776 overhead '[ NO GINSENG ]' 2477777 endif7778 if counttype "3974" self = 07779 overhead '[ NO MANDRAKE ROOT ]' 4427780 endif7781 if counttype "3981" self = 07782 overhead '[ NO SPIDERS SILK ]' 23387783 endif7784 settimer MissingRegsTimer 07785 endif7786 endif7787 @setvar! MissingRegs 17788 else7789 @setvar! MissingRegs 07790 endif7791 else7792 @setvar! MissingRegs 07793 endif7794 7795 if EnableEatMagicMushrooms = 17796 if diffmana > EatMushroomManadiff and timer MushroomTimer > 600007797 if counttype 29012 backpack7798 dclicktype 29012 backpack7799 getlabel backpack packdesc7800 wait 2507801 if insysmsg "You consume a magic mushroom"7802 settimer MushroomTimer 07803 cooldown "Mushroom" 600007804 if EnableOverheadMessages = 17805 overhead '[ EATING SHROOMS... ]' 137806 endif7807 endif7808 elseif EnableOverheadMessages = 17809 overhead '[ OUT OF SHROOMS! ]' 3377810 endif7811 endif7812 endif7813 7814 if EnableEatManaSnacks = 17815 if skill 'Cooking' >= 507816 if findtype "29774|28883|28885|28880|28879|28888|28886|29773|28881" backpack as mysnack7817 if timer 'EatManaSnackCooldownTimer' > EatManaSnackCooldown and diffmana > EatSnackManadiff7818 if EnableOverheadMessages = 17819 overhead "[ MANA MUNCHING... ]" 4207820 endif7821 dclick mysnack7822 wait 2507823 settimer 'EatManaSnackCooldownTimer' 07824 settimer 'EatHealSnackCooldownTimer' 07825 cooldown "Snacking" EatManaSnackCooldown7826 endif7827 else7828 if timer FoodMessageTimer > 15000 and EnableOverheadMessages = 17829 overhead "[ NO MORE FOOD! ]" 3377830 settimer FoodMessageTimer 07831 endif7832 endif7833 endif7834 endif7835 7836 7837 //////////////////////////////7838 // SPAM FLAMESTRIKE LOOP: //7839 //////////////////////////////7840 7841 while EnableCastFlamestrike = 1 and mana >= CastMediumSpellsBelowMana and findtype 3981 self and findtype 3980 self and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and TargetSwap != 1 and diffhits < CastGreaterHealHPdiff7842 if dead7843 break7844 endif7845 7846 if EnableDropGoldWhenOverweight = 17847 if weight > maxweight7848 replay7849 endif7850 endif7851 7852 if EnableWeightWarningMessage = 17853 if diffweight < GreenWarningDiffWeight and diffweight > YellowWarningDiffWeight and timer "WeightMessageTimer" > 60007854 if EnableOverheadMessages = 1 or EnableOverheadMessages = 27855 overhead '[ WEIGHT WARNING... ]' 777856 settimer "WeightMessageTimer" 07857 else7858 overhead " � " 777859 settimer "WeightMessageTimer" 07860 endif7861 elseif diffweight < YellowWarningDiffWeight and diffweight > RedWeightLimitDiffWeight and timer "WeightMessageTimer" > 60007862 if EnableOverheadMessages = 1 or EnableOverheadMessages = 27863 overhead '[ WEIGHT WARNING! ]' 1537864 settimer "WeightMessageTimer" 07865 else7866 overhead " � " 1537867 settimer "WeightMessageTimer" 07868 endif7869 elseif diffweight < RedWeightLimitDiffWeight7870 if EnableOverheadMessages = 1 or EnableOverheadMessages = 27871 if timer "WeightMessageTimer" > 60007872 overhead '[ WEIGHT LIMIT REACHED! ]' 377873 settimer "WeightMessageTimer" 07874 endif7875 else7876 if timer "WeightMessageTimer" > 60007877 overhead " � " 377878 settimer "WeightMessageTimer" 07879 endif7880 endif7881 7882 if EnableAutoWeightRecall = 1 and not find ClosestTarget ground -1 -1 8 and WILDERNESSMODE = 17883 wait 5007884 hotkey 'Toggle Peace Only'7885 @setvar! WarModeToggledWhileFighting 07886 @setvar! AutoWeightRecall 17887 replay7888 elseif EnableAutoWeightRecall = 1 and find ClosestTarget ground -1 -1 8 and WILDERNESSMODE = 17889 if timer "WaitingToRecallTimer" > 3500 and EnableAutoRecallOverheadMessages = 17890 overhead '[ WAITING TO RECALL... ]' 1497891 settimer "WaitingToRecallTimer" 07892 endif7893 wait 5007894 elseif EnableAutoWeightDungeonGate = 1 and DUNGEONMODE = 17895 wait 5007896 hotkey 'Toggle Peace Only'7897 @setvar! WarModeToggledWhileFighting 07898 @setvar! TimeToGo 17899 replay7900 else7901 if EnableOverheadMessages = 1 or EnableOverheadMessages = 27902 overhead '[ OVERWEIGHT! ]' 3377903 else7904 overhead " � " 3377905 endif7906 wait 15007907 overhead '[ STOPPING SCRIPT! ]' 887908 stop7909 endif7910 endif7911 endif7912 7913 if insysmsg "Mana Thief activated"7914 if EnableOverheadMessages != 07915 overhead "[ MANA THIEF! ]" 227916 endif7917 cooldown "Mana Thief" 600007918 endif7919 7920 if diffhits > CastGreaterHealHPdiff or paralyzed7921 break7922 endif7923 7924 if not warmode7925 @setvar! WarModeToggledWhileFighting 17926 elseif warmode7927 @setvar! WarModeToggledWhileFighting 07928 endif7929 7930 if TargetSwap = 17931 @setvar! AttackModeActive 27932 break7933 endif7934 7935 if timer "TargetTimer" > 3500 and find ClosestTarget ground -1 -1 TargetAttackRange7936 getlabel ClosestTarget TargetDesc7937 if EnableOverheadMessages = 1 or EnableOverheadMessages = 27938 if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange7939 overhead '[ PARAGON! ]' 12 ClosestTarget7940 overhead " � " 12 ClosestTarget7941 settimer "TargetTimer" 07942 elseif find ClosestTarget ground -1 -1 TargetAttackRange7943 overhead '[ TARGET ]' 253 ClosestTarget7944 overhead " � " 253 ClosestTarget7945 settimer "TargetTimer" 07946 endif7947 else7948 if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange7949 overhead " ��� " 12 ClosestTarget7950 settimer "TargetTimer" 07951 elseif find ClosestTarget ground -1 -1 TargetAttackRange7952 overhead " � " 253 ClosestTarget7953 settimer "TargetTimer" 07954 endif7955 endif7956 endif7957 7958 if EnableWeaponCheck = 1 and skill 'Arcane' >= 50 and not findtype "31043|31017|31019|31021|31023|31025|31027|31029|31031|31033|31035|31037|31038|31041|31045|31047|31049|31051|31053|31055" hand7959 if findtype "31043|31017|31019|31021|31023|31025|31027|31029|31031|31033|31035|31037|31038|31041|31045|31047|31049|31051|31053|31055" self as myArcaneStaff7960 for 57961 if findtype "31043|31017|31019|31021|31023|31025|31027|31029|31031|31033|31035|31037|31038|31041|31045|31047|31049|31051|31053|31055" self as myArcaneStaff7962 getlabel myArcaneStaff myArcaneStafflabel7963 if "Aspect" in myArcaneStafflabel7964 break7965 elseif "unidentified" in myArcaneStafflabel7966 ignore myArcaneStaff7967 else7968 break7969 endif7970 endif7971 endfor7972 dclick myArcaneStaff7973 clearignore7974 wait 5007975 else7976 if timer "ArcaneStaffCheck" > 5000 and EnableOverheadMessages = 17977 overhead "[ NO ARCANE STAFF! ]" 3377978 settimer "ArcaneStaffCheck" 07979 endif7980 endif7981 endif7982 7983 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange7984 settimer TargetChecker 07985 @setvar! TargetSwap 07986 @setvar! RepeatCastingPoison 07987 @setvar! ClosestTargetisSticky 07988 @setvar! AttackModeActive 07989 break7990 endif7991 7992 if CheckClosestTargetTime != 07993 if timer TargetChecker > CheckClosestTargetTime7994 @setvar! TargetSwap 07995 hotkey "Target Closest Grey Monster"7996 getlabel backpack backpacklabel7997 @setvar! TargetToCheck lasttarget7998 wait 2507999 if TargetToCheck != ClosestTarget8000 settimer TargetChecker 08001 @setvar! TargetToAnalyze lasttarget8002 @setvar! ClosestTargetisSticky 08003 @setvar! AttackModeActive 28004 @setvar! TargetSwap 18005 break8006 endif8007 settimer TargetChecker 08008 endif8009 endif8010 8011 if skill "Arcane" >= 80 and EnableArcaneWeaponAbility != 0 and diffhits < CastGreaterHealHPdiff8012 if EnableArcaneCodexAbilityHotbar = 18013 if not gumpexists 39541219348014 yell '[abilitieshotbar'8015 wait 5008016 endif8017 endif8018 if timer ArcaneWeaponAbilityTimer > 600008019 if EnableArcaneWeaponAbility = 18020 say "[Weaponability1"8021 getlabel backpack packdesc8022 wait 5008023 if insysmsg "You cannot perform that ability yet"8024 settimer ArcaneWeaponAbilityTimer 550008025 else8026 settimer ArcaneWeaponAbilityTimer 08027 if EnableOverheadMessages = 18028 overhead "[ SEEKING ABILITY! ]" 21148029 endif8030 cooldown "Seeking Active" 150008031 cooldown "Weapon Ability" 600008032 endif8033 elseif EnableArcaneWeaponAbility = 2 and diffmana > 258034 say "[Weaponability2"8035 getlabel backpack packdesc8036 wait 5008037 if insysmsg "You cannot perform that ability yet"8038 settimer ArcaneWeaponAbilityTimer 550008039 else8040 settimer ArcaneWeaponAbilityTimer 08041 if EnableOverheadMessages = 18042 overhead "[ LEYLINE ABILITY! ]" 4208043 endif8044 cooldown "Leyline Active" 150008045 cooldown "Weapon Ability" 600008046 endif8047 elseif EnableArcaneWeaponAbility = 38048 say "[Weaponability3"8049 getlabel backpack packdesc8050 wait 5008051 if insysmsg "You cannot perform that ability yet"8052 settimer ArcaneWeaponAbilityTimer 550008053 else8054 settimer ArcaneWeaponAbilityTimer 08055 if EnableOverheadMessages = 18056 overhead "[ SOULFIRE ABILITY! ]" 21168057 endif8058 cooldown "Weapon Ability" 600008059 endif8060 endif8061 endif8062 endif8063 8064 if mana < LowManaWarningAmount and timer ManaOverheadTimer > 4500 and LowManaWarningAmount != 08065 overhead "[ LOW MANA! ]" 348066 settimer ManaOverheadTimer 08067 endif8068 8069 if EnableNecroStrangle = 1 or EnableNecroCorpseSkin = 1 or EnableNecroMindRot = 1 or EnableNecroEvilOmen = 1 or EnableNecroPainSpike = 18070 if findtype 'necromancer book' backpack8071 yell '[necromancyhotbar'8072 while not gumpexists 6224365168073 yell '[necromancyhotbar'8074 endwhile8075 endif8076 endif8077 8078 if gumpexists 6224365168079 if ingump "12/|13/|14/|15/|16/|17/|18/|19/|20/|21/|11/|10/|9/|8/|7/|6/|5/" 6224365168080 @setvar! StrangleAvailable 18081 @setvar! MindRotAvailable 18082 @setvar! CorpseSkinAvailable 18083 @setvar! EvilOmenAvailable 18084 @setvar! PainSpikeAvailable 18085 elseif ingump "4/" 6224365168086 if ingump "14/" 6224365168087 @setvar! StrangleAvailable 18088 @setvar! MindRotAvailable 18089 @setvar! CorpseSkinAvailable 18090 @setvar! EvilOmenAvailable 18091 @setvar! PainSpikeAvailable 18092 else8093 @setvar! StrangleAvailable 18094 @setvar! MindRotAvailable 18095 @setvar! CorpseSkinAvailable 18096 @setvar! EvilOmenAvailable 18097 @setvar! PainSpikeAvailable 08098 endif8099 elseif ingump "3/" 6224365168100 if ingump "13/" 6224365168101 @setvar! StrangleAvailable 18102 @setvar! MindRotAvailable 18103 @setvar! CorpseSkinAvailable 18104 @setvar! EvilOmenAvailable 18105 @setvar! PainSpikeAvailable 18106 else8107 @setvar! StrangleAvailable 08108 @setvar! MindRotAvailable 18109 @setvar! CorpseSkinAvailable 18110 @setvar! EvilOmenAvailable 18111 @setvar! PainSpikeAvailable 08112 endif8113 elseif ingump "2/" 6224365168114 if ingump "12/" 6224365168115 @setvar! StrangleAvailable 18116 @setvar! MindRotAvailable 18117 @setvar! CorpseSkinAvailable 18118 @setvar! EvilOmenAvailable 18119 @setvar! PainSpikeAvailable 18120 else8121 @setvar! StrangleAvailable 08122 @setvar! MindRotAvailable 08123 @setvar! CorpseSkinAvailable 18124 @setvar! EvilOmenAvailable 18125 @setvar! PainSpikeAvailable 08126 endif8127 elseif ingump "1/" 6224365168128 if ingump "11/" 6224365168129 @setvar! StrangleAvailable 18130 @setvar! MindRotAvailable 18131 @setvar! CorpseSkinAvailable 18132 @setvar! EvilOmenAvailable 18133 @setvar! PainSpikeAvailable 18134 else8135 @setvar! StrangleAvailable 08136 @setvar! MindRotAvailable 08137 @setvar! CorpseSkinAvailable 08138 @setvar! EvilOmenAvailable 08139 @setvar! PainSpikeAvailable 08140 endif8141 elseif ingump "0/" 6224365168142 if ingump "10/" 6224365168143 @setvar! StrangleAvailable 18144 @setvar! MindRotAvailable 18145 @setvar! CorpseSkinAvailable 18146 @setvar! EvilOmenAvailable 18147 @setvar! PainSpikeAvailable 18148 else8149 @setvar! StrangleAvailable 08150 @setvar! MindRotAvailable 08151 @setvar! CorpseSkinAvailable 08152 @setvar! EvilOmenAvailable 08153 @setvar! PainSpikeAvailable 08154 endif8155 endif8156 endif8157 8158 if EnableNecroStrangle = 1 and StrangleAvailable = 1 and timer StrangleTimer > 30000 and skill 'necromancy' >= 85 and mana >= 50 and diffhits < CastGreaterHealHPdiff and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and timer NecroCooldownTimer > 10008159 @setvar! CastingWasInterrupted 08160 clearsysmsg8161 while not insysmsg "unholy symbols remaining"8162 yell '[Strangle'8163 getlabel backpack packdesc8164 wait 2508165 if insysmsg "seconds before you may use that ability again."8166 @setvar! CastingWasInterrupted 18167 settimer StrangleTimer 280008168 break8169 endif8170 endwhile8171 8172 if CastingWasInterrupted = 08173 if EnableOverheadMessages = 18174 overhead '[ STRANGLE ]' 3348175 endif8176 settimer StrangleTimer 08177 cooldown "Strangle" 300008178 settimer NecroCooldownTimer 08179 endif8180 endif8181 8182 if EnableNecroCorpseSkin = 1 and CorpseSkinAvailable = 1 and timer CorpseSkinTimer > 30000 and skill 'necromancy' >= 65 and mana >= MinimumManaAmounttoNecroBuff and diffhits < CastGreaterHealHPdiff and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and timer NecroCooldownTimer > 10008183 @setvar! CastingWasInterrupted 08184 clearsysmsg8185 while not insysmsg "unholy symbols remaining"8186 yell '[CorpseSkin'8187 getlabel backpack packdesc8188 wait 2508189 if insysmsg "seconds before you may use that ability again."8190 @setvar! CastingWasInterrupted 18191 settimer CorpseSkinTimer 280008192 break8193 endif8194 endwhile8195 8196 if CastingWasInterrupted = 08197 if EnableOverheadMessages = 18198 overhead '[ CORPSE SKIN ]' 408199 endif8200 settimer CorpseSkinTimer 08201 cooldown "Corpse Skin" 300008202 settimer NecroCooldownTimer 08203 endif8204 endif8205 8206 if EnableNecroMindRot = 1 and MindRotAvailable = 1 and timer MindRotTimer > 30000 and skill 'necromancy' >= 75 and mana >= MinimumManaAmounttoNecroBuff and diffhits < CastGreaterHealHPdiff and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and timer NecroCooldownTimer > 10008207 @setvar! CastingWasInterrupted 08208 clearsysmsg8209 while not insysmsg "unholy symbols remaining"8210 yell '[MindRot'8211 getlabel backpack packdesc8212 wait 2508213 if insysmsg "seconds before you may use that ability again."8214 @setvar! CastingWasInterrupted 18215 settimer MindRotTimer 280008216 break8217 else8218 break8219 endif8220 endwhile8221 8222 if CastingWasInterrupted = 08223 if EnableOverheadMessages = 18224 overhead '[ MIND ROT ]' 2238225 endif8226 settimer MindRotTimer 08227 cooldown "Mind Rot" 300008228 settimer NecroCooldownTimer 08229 endif8230 endif8231 8232 if EnableNecroEvilOmen = 1 and EvilOmenAvailable = 1 and timer EvilOmenTimer > 30000 and skill 'necromancy' >= 60 and mana >= MinimumManaAmounttoNecroBuff and diffhits < CastGreaterHealHPdiff and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and timer NecroCooldownTimer > 10008233 @setvar! CastingWasInterrupted 08234 clearsysmsg8235 while not insysmsg "unholy symbols remaining"8236 yell '[EvilOmen'8237 getlabel backpack packdesc8238 wait 2508239 if insysmsg "seconds before you may use that ability again."8240 @setvar! CastingWasInterrupted 18241 settimer EvilOmenTimer 280008242 break8243 endif8244 endwhile8245 8246 if CastingWasInterrupted = 08247 if EnableOverheadMessages = 18248 overhead '[ EVIL OMEN ]' 2388249 endif8250 settimer EvilOmenTimer 08251 cooldown "Evil Omen" 300008252 settimer NecroCooldownTimer 08253 endif8254 endif8255 8256 if EnableNecroPainSpike = 1 and PainSpikeAvailable = 1 and timer 'PainSpikeTimer' > 30000 and skill 'necromancy' >= 95 and mana >= MinimumManaAmounttoNecroBuff and diffhits < CastGreaterHealHPdiff and not dead ClosestTarget and find ClosestTarget ground -1 -1 4 and findtype 8198 ground -1 -1 2 as corpsespike and timer 'PainSpikeDelayTimer' > PainSpikeAttackDelay and timer NecroCooldownTimer > 10008257 @setvar! CastingWasInterrupted 08258 clearsysmsg8259 yell "[PainSpike"8260 wft 10008261 target ClosestTarget8262 getlabel backpack backpacklabel8263 wft 2508264 if insysmsg "You do not see any corpses" or insysmsg "seconds before you may use that ability again."8265 settimer PainSpikeTimer 250008266 @setvar! CastingWasInterrupted 18267 endif8268 8269 if CastingWasInterrupted = 08270 if EnableOverheadMessages = 18271 overhead '[ PAIN SPIKE! ]' 3378272 endif8273 settimer PainSpikeTimer 08274 cooldown "Pain Spike" 300008275 settimer NecroCooldownTimer 08276 endif8277 endif8278 8279 if EnableNecroPoisonStrike != 0 and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and diffhits < CastGreaterHealHPdiff and timer NecroCooldownTimer > 10008280 getlabel ClosestTarget targetLabel8281 if "-" in targetLabel8282 getlabel ClosestTarget targetLabel8283 endif8284 8285 @setvar! CastPoisonStrike 08286 8287 if EnableCastPoison = 18288 if "Ticks" in targetLabel or "resists" in targetLabel and EnableCastPoison = 18289 @setvar! RepeatCastingPoison 18290 8291 if SetPoisonLevel = 28292 if "Lethal" in targetLabel8293 @setvar! RepeatCastingPoison 08294 endif8295 elseif SetPoisonLevel = 18296 if "Lethal" in targetLabel or "Deadly" in targetLabel8297 @setvar! RepeatCastingPoison 08298 endif8299 else8300 @setvar! RepeatCastingPoison 08301 endif8302 8303 if EnableNecroPoisonStrike != 08304 if findtype 'necromancer book' backpack and not gumpexists 6224365168305 yell '[necromancyhotbar'8306 while not gumpexists 6224365168307 yell '[necromancyhotbar'8308 wait 5008309 endwhile8310 endif8311 8312 if EnableNecroPoisonStrike = 28313 if "[2" in targetLabel8314 @setvar! CastPoisonStrike 18315 else8316 @setvar! CastPoisonStrike 08317 endif8318 elseif EnableNecroPoisonStrike = 38319 if "[2" in targetLabel or "[3" in targetLabel8320 @setvar! CastPoisonStrike 18321 else8322 @setvar! CastPoisonStrike 08323 endif8324 elseif EnableNecroPoisonStrike = 48325 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel8326 @setvar! CastPoisonStrike 18327 else8328 @setvar! CastPoisonStrike 08329 endif8330 elseif EnableNecroPoisonStrike = 58331 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel or "[5" in targetLabel8332 @setvar! CastPoisonStrike 18333 else8334 @setvar! CastPoisonStrike 08335 endif8336 elseif EnableNecroPoisonStrike = 68337 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel or "[5" in targetLabel or "[6" in targetLabel8338 @setvar! CastPoisonStrike 18339 else8340 @setvar! CastPoisonStrike 08341 endif8342 elseif EnableNecroPoisonStrike = 78343 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel or "[5" in targetLabel or "[6" in targetLabel or "[7" in targetLabel8344 @setvar! CastPoisonStrike 18345 else8346 @setvar! CastPoisonStrike 08347 endif8348 elseif EnableNecroPoisonStrike = 88349 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel or "[5" in targetLabel or "[6" in targetLabel or "[7" in targetLabel or "[8" in targetLabel8350 @setvar! CastPoisonStrike 18351 else8352 @setvar! CastPoisonStrike 08353 endif8354 elseif EnableNecroPoisonStrike = 98355 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel or "[5" in targetLabel or "[6" in targetLabel or "[7" in targetLabel or "[8" in targetLabel or "[9" in targetLabel8356 @setvar! CastPoisonStrike 18357 else8358 @setvar! CastPoisonStrike 08359 endif8360 endif8361 getlabel backpack packdesc8362 endif8363 endif8364 else8365 if timer CorpseSkinDiseaseTimer > CorpseSkinPoisonStrikeDelay and EnableNecroPoisonStrike = 1 and EnableNecroCorpseSkin = 18366 @setvar! CastPoisonStrike 18367 else8368 @setvar! CastPoisonStrike 08369 endif8370 endif8371 8372 getlabel backpack packdesc8373 8374 if CastPoisonStrike = 18375 if findtype 'necromancer book' backpack and not gumpexists 6224365168376 while not gumpexists 6224365168377 yell '[necromancyhotbar'8378 endwhile8379 endif8380 8381 @setvar! PoisonStrikeAvailable 08382 8383 if gumpexists 6224365168384 if ingump "12/|13/|14/|15/|16/|17/|18/|19/|20/|21/|11/|10/|9/|8/|7/|6/|5/|4/|3/|2/" 6224365168385 @setvar! PoisonStrikeAvailable 18386 elseif ingump "1/" 6224365168387 @setvar! PoisonStrikeAvailable 18388 elseif ingump "0/" 6224365168389 if ingump "10/" 6224365168390 @setvar! PoisonStrikeAvailable 18391 else8392 @setvar! PoisonStrikeAvailable 08393 endif8394 endif8395 endif8396 8397 if CastPoisonStrike = 1 and PoisonStrikeAvailable = 1 and timer PoisonStrikeTimer > 30000 and skill 'necromancy' >= 55 and diffhits < CastGreaterHealHPdiff and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange8398 clearsysmsg8399 while not insysmsg "unholy symbols remaining"8400 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange8401 @setvar! RepeatCastingPoison 08402 @setvar! AttackModeActive 08403 @setvar! ClosestTargetisSticky 08404 @setvar! TargetSwap 08405 break8406 endif8407 8408 yell '[PoisonStrike'8409 wft 15008410 clearsysmsg8411 target ClosestTarget8412 wait 2508413 8414 if insysmsg "seconds before you may use that ability again."8415 settimer PoisonStrikeTimer 280008416 clearsysmsg8417 break8418 elseif insysmsg "You do not have a Spell-based poison or disease effect on that target."8419 settimer PoisonStrikeTimer 150008420 clearsysmsg8421 break8422 else8423 break8424 endif8425 endwhile8426 8427 if insysmsg "unholy symbols remaining"8428 if EnableOverheadMessages = 18429 overhead '[ POISON STRIKE! ]' 778430 endif8431 @setvar! PoisonStrikeAvailable 08432 settimer PoisonStrikeTimer 08433 cooldown "Poison Strike" 300008434 @setvar! CastPoisonStrike 08435 settimer NecroCooldownTimer 08436 endif8437 endif8438 endif8439 8440 if EnableCastPoison = 1 and RepeatCastingPoison = 1 and diffhits < CastGreaterHealHPdiff and mana >= 9 and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and findtype 3976 self8441 cast 'Poison'8442 settimer AntiStallTimer 08443 8444 while not targetexists and timer AntiStallTimer < 25008445 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange8446 @setvar! RepeatCastingPoison 08447 @setvar! AttackModeActive 08448 @setvar! CastingWasInterrupted 18449 @setvar! ClosestTargetisSticky 08450 @setvar! TargetSwap 08451 interrupt8452 break8453 endif8454 8455 if insysmsg "Your concentration is disturbed"8456 interrupt8457 @setvar! CastingWasInterrupted 18458 break8459 endif8460 8461 if timer AntiStallTimer > 25008462 settimer AntiStallTimer 08463 break8464 endif8465 endwhile8466 8467 if CastingWasInterrupted = 1 and EnableNecroMindRot = 1 and MindRotAvailable = 1 and timer MindRotTimer > 30000 and skill 'necromancy' >= 758468 while not insysmsg "unholy symbols remaining"8469 yell '[MindRot'8470 getlabel backpack packdesc8471 wait 2508472 if insysmsg "seconds before you may use that ability again."8473 @setvar! CastingWasInterrupted 18474 settimer MindRotTimer 280008475 break8476 endif8477 endwhile8478 8479 if CastingWasInterrupted = 08480 if EnableOverheadMessages = 18481 overhead '[ MIND ROT ]' 3308482 endif8483 settimer MindRotTimer 08484 cooldown "Mind Rot" 300008485 endif8486 @setvar! CastingWasInterrupted 08487 endif8488 8489 if CastingWasInterrupted = 08490 clearsysmsg8491 target ClosestTarget8492 getlabel backpack packdesc8493 wait 2508494 if insysmsg "cannot be seen"8495 break8496 endif8497 endif8498 endif8499 endif8500 8501 if EnableMeditation = 1 and mana < MeditateWhenManaBelow and not findbuff "meditating" and timer 'MeditationTimer' > 100008502 skill 'meditation'8503 getlabel backpack packdesc8504 wait 2508505 8506 if not findbuff 'meditating'8507 settimer 'MeditationTimer' 75008508 elseif findbuff 'meditating'8509 hotkey 'Toggle Peace Only'8510 settimer 'MeditationTimer' 08511 8512 while mana < maxmana and diffhits < CastGreaterHealHPdiff8513 if not findbuff 'meditating'8514 hotkey 'Toggle War Only'8515 break8516 endif8517 8518 if mana > MeditateUntilManaReaches8519 hotkey 'Toggle War Only'8520 break8521 endif8522 8523 if warmode on8524 break8525 endif8526 8527 if diffhits > CastGreaterHealHPdiff8528 break8529 endif8530 8531 if dead8532 break8533 endif8534 8535 if timer 'MeditationMessageTimer' > 40008536 if EnableOverheadMessages = 18537 overhead '[ MEDITATING... ]' 118538 else8539 overhead "*meditating*" 118540 endif8541 settimer 'MeditationMessageTimer' 08542 endif8543 endwhile8544 8545 if diffhits > CastGreaterHealHPdiff8546 break8547 endif8548 8549 if dead8550 break8551 endif8552 endif8553 elseif EnableMeditation != 1 and MeditateWhenManaBelow != 0 and mana < MeditateWhenManaBelow8554 if timer MissingRegsTimer > 40008555 if EnableOverheadMessages = 18556 overhead '[ WAITING FOR MANA... ]' 4208557 settimer MissingRegsTimer 08558 endif8559 endif8560 endif8561 8562 if EnablePKradar = 1 and TimeToGo != 18563 if timer "PKRadarTimer" > 15008564 clearsysmsg8565 hotkey 'Next Murderer Player Target'8566 wait 1508567 if insysmsg "No one matching that was found"8568 settimer "PKRadarTimer" 08569 clearsysmsg8570 else8571 if EnableRedAlertOverhead = 18572 overhead "[ !! RED ALERT !! ]" 378573 endif8574 hotkey 'Toggle Peace Only'8575 @setvar! WarModeToggledWhileFighting 08576 @setvar! RedTargetFound 18577 @setvar! TimeToGo 18578 @setvar! MurdererTarget lasttarget8579 replay8580 endif8581 endif8582 endif8583 8584 if EnableTrackingAutoRecall = 1 and TimeToGo != 18585 if PKTrackingRange = 608586 if insysmsg ": 60 step" or insysmsg "60 space" or insysmsg ": 59 step" or insysmsg "59 space" or insysmsg ": 58 step" or insysmsg "58 space" or insysmsg ": 57 step" or insysmsg "57 space" or insysmsg ": 56 step" or insysmsg "56 space" or insysmsg ": 55 step" or insysmsg "55 space" or insysmsg ": 54 step" or insysmsg "54 space" or insysmsg ": 53 step" or insysmsg "53 space" or insysmsg ": 52 step" or insysmsg "52 space" or insysmsg ": 51 step" or insysmsg "51 space" or insysmsg ": 50 step" or insysmsg "50 space" or insysmsg ": 49 step" or insysmsg "49 space" or insysmsg ": 48 step" or insysmsg "48 space" or insysmsg ": 47 step" or insysmsg "47 space" or insysmsg ": 46 step" or insysmsg "46 space" or insysmsg ": 45 step" or insysmsg "45 space" or insysmsg ": 44 step" or insysmsg "44 space" or insysmsg ": 43 step" or insysmsg "43 space" or insysmsg ": 42 step" or insysmsg "42 space" or insysmsg ": 41 step" or insysmsg "41 space" or insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space"8587 hotkey 'Toggle Peace Only'8588 if EnableRedAlertOverhead = 18589 overhead '[ !! RED ALERT !! ]' 378590 endif8591 @setvar! WarModeToggledWhileFighting 08592 @setvar! RedTargetFound 18593 @setvar! TimeToGo 18594 clearsysmsg8595 replay8596 endif8597 elseif PKTrackingRange = 508598 if insysmsg ": 50 step" or insysmsg "50 space" or insysmsg ": 49 step" or insysmsg "49 space" or insysmsg ": 48 step" or insysmsg "48 space" or insysmsg ": 47 step" or insysmsg "47 space" or insysmsg ": 46 step" or insysmsg "46 space" or insysmsg ": 45 step" or insysmsg "45 space" or insysmsg ": 44 step" or insysmsg "44 space" or insysmsg ": 43 step" or insysmsg "43 space" or insysmsg ": 42 step" or insysmsg "42 space" or insysmsg ": 41 step" or insysmsg "41 space" or insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space"8599 hotkey 'Toggle Peace Only'8600 if EnableRedAlertOverhead = 18601 overhead '[ !! RED ALERT !! ]' 378602 endif8603 @setvar! WarModeToggledWhileFighting 08604 @setvar! RedTargetFound 18605 @setvar! TimeToGo 18606 clearsysmsg8607 replay8608 endif8609 elseif PKTrackingRange = 408610 if insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space"8611 hotkey 'Toggle Peace Only'8612 if EnableRedAlertOverhead = 18613 overhead '[ !! RED ALERT !! ]' 378614 endif8615 @setvar! WarModeToggledWhileFighting 08616 @setvar! RedTargetFound 18617 @setvar! TimeToGo 18618 clearsysmsg8619 replay8620 endif8621 elseif PKTrackingRange = 08622 if insysmsg "Now tracking"8623 hotkey 'Toggle Peace Only'8624 if EnableRedAlertOverhead = 18625 overhead '[ !! RED ALERT !! ]' 378626 endif8627 @setvar! WarModeToggledWhileFighting 08628 @setvar! RedTargetFound 18629 @setvar! TimeToGo 18630 clearsysmsg8631 replay8632 endif8633 endif8634 endif8635 8636 if EnableEatMagicMushrooms = 18637 if diffmana > EatMushroomManadiff and timer MushroomTimer > 600008638 if counttype 29012 backpack8639 dclicktype 29012 backpack8640 getlabel backpack packdesc8641 wait 2508642 if insysmsg "You consume a magic mushroom"8643 settimer MushroomTimer 08644 cooldown "Mushroom" 600008645 if EnableOverheadMessages = 18646 overhead '[ EATING SHROOMS... ]' 138647 endif8648 endif8649 elseif EnableOverheadMessages = 18650 overhead '[ OUT OF SHROOMS! ]' 3378651 endif8652 endif8653 endif8654 8655 if EnableEatManaSnacks = 18656 if skill 'Cooking' >= 508657 if findtype "29774|28883|28885|28880|28879|28888|28886|29773|28881" backpack as mysnack8658 if timer 'EatManaSnackCooldownTimer' > EatManaSnackCooldown and diffmana > EatSnackManadiff8659 if EnableOverheadMessages = 18660 overhead "[ MANA MUNCHING... ]" 4208661 endif8662 dclick mysnack8663 wait 2508664 settimer 'EatManaSnackCooldownTimer' 08665 settimer 'EatHealSnackCooldownTimer' 08666 cooldown "Snacking" EatManaSnackCooldown8667 endif8668 else8669 if timer FoodMessageTimer > 15000 and EnableOverheadMessages = 18670 overhead "[ NO MORE FOOD! ]" 3378671 settimer FoodMessageTimer 08672 endif8673 endif8674 endif8675 endif8676 8677 if EnableStrengthPotion = 1 and diffhits < CastGreaterHealHPdiff8678 if skill 'Alchemy' > 0 and skill 'Alchemy' < 28679 if insysmsg "You may now use a strength" or not findbuff "Strength Potion Usage Cooldown"8680 if findtype "White Potion" self8681 dclicktype "White Potion"8682 if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 45008683 if insysmsg "potion satchel used"8684 overhead '[ FREE STRENGTH POTION ]' 9568685 else8686 overhead '[ STRENGTH POTION ]' 9568687 endif8688 clearsysmsg8689 settimer WhitePotionMessageTimer 08690 endif8691 wait 2508692 else8693 if timer WhitePotionMessageTimer > 45008694 overhead '[ NO STRENGTH POTS! ]' 3378695 settimer WhitePotionMessageTimer 08696 endif8697 endif8698 clearsysmsg8699 endif8700 elseif skill 'Alchemy' = 08701 if insysmsg "You may now use a strength" or not findbuff "Strength Potion Usage Cooldown"8702 if findtype "White Potion" self8703 dclicktype "White Potion"8704 if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 45008705 if insysmsg "potion satchel used"8706 overhead '[ FREE STRENGTH POTION ]' 9568707 else8708 overhead '[ STRENGTH POTION ]' 9568709 endif8710 clearsysmsg8711 settimer WhitePotionMessageTimer 08712 endif8713 wait 2508714 else8715 if timer WhitePotionMessageTimer > 45008716 overhead '[ NO STRENGTH POTS! ]' 3378717 settimer WhitePotionMessageTimer 08718 endif8719 endif8720 clearsysmsg8721 endif8722 else8723 if not findbuff "Strength"8724 if findtype "White Potion" self8725 dclicktype "White Potion"8726 if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 45008727 if insysmsg "potion satchel used"8728 overhead '[ FREE STRENGTH POTION ]' 9568729 else8730 overhead '[ STRENGTH POTION ]' 9568731 endif8732 clearsysmsg8733 settimer WhitePotionMessageTimer 08734 endif8735 wait 2508736 else8737 if timer WhitePotionMessageTimer > 45008738 overhead '[ NO STRENGTH POTS! ]' 3378739 settimer WhitePotionMessageTimer 08740 endif8741 endif8742 endif8743 endif8744 endif8745 8746 if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff8747 if findtype "Yellow Potion" self as HealPot8748 getlabel HealPot HealPotlabel8749 if "next" in HealPotlabel8750 // Do nothing8751 else8752 @setvar! HealPotionCheck 08753 8754 if counttype 3852 self as HealPotCount8755 @setvar! HealPotionCheck HealPotCount8756 endif8757 clearsysmsg8758 dclicktype 38528759 getlabel backpack backpackdesc8760 wait 2508761 if insysmsg "potion satchel used"8762 settimer 'HealPotionTimer' 08763 cooldown "Healing Potion" HealingPotionCooldown8764 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 45008765 overhead '[ FREE HEAL POTION ]' 2538766 endif8767 elseif HealPotionCheck != counttype 3852 self8768 settimer 'HealPotionTimer' 08769 cooldown "Healing Potion" HealingPotionCooldown8770 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 45008771 overhead '[ HEAL POTION ]' 2538772 endif8773 endif8774 clearsysmsg8775 endif8776 else8777 if timer 'HealPotionMessageTimer' > 4500 and EnableOverheadMessages = 18778 overhead '[ NO HEAL POTS! ]' 3378779 settimer 'HealPotionMessageTimer' 08780 endif8781 endif8782 endif8783 8784 if skill 'healing' > 0 and hp < maxhp and not bandaging8785 if findtype 'clean bandage%s%' self8786 hotkey 'Bandage Self'8787 if EnableOverheadMessages = 18788 overhead '[ BANDAGING... ]' 888789 endif8790 else8791 if EnableOverheadMessages = 18792 overhead '[ NO BANDAGES! ]' 3378793 endif8794 endif8795 endif8796 8797 if EnableAgilityPotion = 1 and not findbuff "Agility" and diffhits < CastGreaterHealHPdiff8798 if findtype "Blue Potion" self8799 dclicktype "Blue Potion"8800 if EnableOverheadMessages = 1 and timer BluePotionMessageTimer > 45008801 if insysmsg "potion satchel used"8802 overhead '[ FREE AGILITY POTION ]' 938803 else8804 overhead '[ AGILITY POTION ]' 938805 endif8806 clearsysmsg8807 settimer BluePotionMessageTimer 08808 endif8809 wait 2508810 else8811 if timer BluePotionMessageTimer > 4500 and EnableOverheadMessages = 18812 overhead '[ NO AGILITY POTS! ]' 3378813 settimer BluePotionMessageTimer 08814 endif8815 endif8816 endif8817 8818 if EnableMagicResistPotion = 1 and not findbuff "Magic Resist" and diffhits < CastGreaterHealHPdiff8819 if findtype "Black Potion" self8820 dclicktype "Black Potion"8821 if EnableOverheadMessages = 1 and timer BlackPotionMessageTimer > 45008822 if insysmsg "potion satchel used"8823 overhead '[ FREE RESIST POTION ]' 11098824 else8825 overhead '[ RESIST POTION ]' 11098826 endif8827 clearsysmsg8828 settimer BlackPotionMessageTimer 08829 endif8830 wait 2508831 else8832 if timer BlackPotionMessageTimer > 4500 and EnableOverheadMessages = 18833 overhead '[ NO RESIST POTS! ]' 3378834 settimer BlackPotionMessageTimer 08835 endif8836 endif8837 endif8838 8839 if EnableRefreshPotion = 1 and diffstam > RefreshPotionSPdiff8840 if findtype "Red Potion" self8841 dclicktype "Red Potion"8842 if EnableOverheadMessages = 1 and timer RedPotionMessageTimer > 45008843 if insysmsg "potion satchel used"8844 overhead '[ FREE REFRESH POTION ]' 378845 else8846 overhead '[ REFRESH POTION ]' 378847 endif8848 clearsysmsg8849 settimer RedPotionMessageTimer 08850 endif8851 wait 2508852 else8853 if timer RedPotionMessageTimer > 4500 and EnableOverheadMessages = 18854 overhead '[ NO REFRESH POTS! ]' 3378855 settimer RedPotionMessageTimer 08856 endif8857 endif8858 endif8859 8860 @setvar! SpellcastCooldown 08861 @setvar! CastingWasInterrupted 08862 8863 if EnableCastFlamestrike = 1 and mana >= CastMediumSpellsBelowMana and findtype 3981 self and findtype 3980 self and timer FlamestrikeCooldownTimer > FlamestrikeCooldown8864 cast 'flamestrike'8865 settimer FlamestrikeCooldownTimer 08866 settimer spellTimer 08867 @setvar! SpellcastCooldown 14008868 else8869 break8870 endif8871 8872 settimer AntiStallTimer 08873 8874 while not targetexists8875 if targetexists8876 break8877 endif8878 8879 if diffhits >= CastGreaterHealHPdiff8880 interrupt8881 @setvar! AttackModeActive 18882 @setvar! CastingWasInterrupted 18883 endif8884 8885 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange8886 @setvar! AttackModeActive 08887 @setvar! RepeatCastingPoison 08888 @setvar! CastingWasInterrupted 18889 @setvar! ClosestTargetisSticky 08890 @setvar! TargetSwap 08891 interrupt8892 break8893 endif8894 8895 if insysmsg "Your concentration is disturbed"8896 interrupt8897 @setvar! CastingWasInterrupted 18898 break8899 endif8900 8901 if EnablePanaceaPotion = 1 and skill 'Alchemy' >= 80 and RedTargetFound != 18902 if findbuff "Bleed" or findbuff "Diseased"8903 if not findbuff "panacea potion cooldown"8904 if findtype "Orange Potion" self8905 dclicktype "Orange Potion"8906 wait 5008907 if findbuff "panacea potion cooldown" and EnableOverheadMessages = 18908 overhead '[ PANACEA ACTIVATED ]' 558909 cooldown "Panacea Potion" 300008910 endif8911 endif8912 endif8913 endif8914 endif8915 8916 if EnableCleansingBrews = 18917 if findbuff "Diseased" or findbuff "Bleed"8918 if timer CleansingBrewTimer > 1200008919 if findtype 50675 self 2935 as CleansingBrew8920 dclick CleansingBrew8921 if EnableOverheadMessages = 18922 overhead '[ CLEANSING BREW ]' 21178923 endif8924 cooldown 'Cleansing Brew' 1200008925 settimer CleansingBrewTimer 08926 wait 2508927 else8928 if timer CleansingBrewOverhead > 150008929 overhead "[ NO CLEANSING BREWS! ]" 3378930 settimer CleansingBrewOverhead 08931 settimer CleansingBrewTimer 08932 endif8933 endif8934 else8935 if EnableOverheadMessages = 1 and timer CleansingBrewOverhead > 150008936 overhead '[ BREW ON COOLDOWN! ]' 378937 settimer CleansingBrewOverhead 08938 endif8939 endif8940 endif8941 endif8942 8943 if EnableCurePotion = 18944 while poisoned and casting and not targetexists8945 if findtype "Orange Potion" self8946 dclicktype "Orange Potion"8947 if EnableOverheadMessages = 1 and timer 'CurePotionMessageTimer' > 35008948 if insysmsg "potion satchel used"8949 overhead '[ FREE CURE POTION ]' 448950 else8951 overhead '[ CURE POTION ]' 448952 endif8953 clearsysmsg8954 settimer 'CurePotionMessageTimer' 08955 endif8956 wait 5008957 else8958 if timer 'CurePotionMessageTimer' > 5000 and EnableOverheadMessages = 18959 overhead '[ NO CURE POTS! ]' 3378960 settimer 'CurePotionMessageTimer' 08961 endif8962 break8963 endif8964 endwhile8965 endif8966 8967 if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff and casting and not targetexists8968 if findtype "Yellow Potion" self as HealPot8969 getlabel HealPot HealPotlabel8970 if "next" in HealPotlabel8971 // Do nothing8972 else8973 @setvar! HealPotionCheck 08974 8975 if counttype 3852 self as HealPotCount8976 @setvar! HealPotionCheck HealPotCount8977 endif8978 clearsysmsg8979 dclicktype 38528980 getlabel backpack backpackdesc8981 wait 2508982 if insysmsg "potion satchel used"8983 settimer 'HealPotionTimer' 08984 cooldown "Healing Potion" HealingPotionCooldown8985 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 45008986 overhead '[ FREE HEAL POTION ]' 2538987 endif8988 elseif HealPotionCheck != counttype 3852 self8989 settimer 'HealPotionTimer' 08990 cooldown "Healing Potion" HealingPotionCooldown8991 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 45008992 overhead '[ HEAL POTION ]' 2538993 endif8994 endif8995 clearsysmsg8996 endif8997 else8998 if timer 'HealPotionMessageTimer' > 4500 and EnableOverheadMessages = 18999 overhead '[ NO HEAL POTS! ]' 3379000 settimer 'HealPotionMessageTimer' 09001 endif9002 endif9003 endif9004 9005 if timer AntiStallTimer > 35009006 settimer AntiStallTimer 09007 break9008 endif9009 endwhile9010 9011 if CastingWasInterrupted = 09012 clearsysmsg9013 target ClosestTarget9014 getlabel backpack backpacklabel9015 wait 1009016 if insysmsg "cannot be seen"9017 @setvar! AttackModeActive 29018 break9019 endif9020 endif9021 9022 if insysmsg "Mana Thief activated"9023 if EnableOverheadMessages != 09024 overhead "[ MANA THIEF! ]" 229025 endif9026 cooldown "Mana Thief" 600009027 endif9028 9029 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange9030 @setvar! RepeatCastingPoison 09031 @setvar! AttackModeActive 09032 @setvar! ClosestTargetisSticky 09033 @setvar! TargetSwap 09034 break9035 endif9036 9037 if EnableFrostAspect = 19038 if insysmsg "Frost Shell activated"9039 cooldown "Frost Shell Active" 50009040 if EnableOverheadMessages = 19041 overhead '[ FROST SHELL! ]' 22349042 endif9043 if FrostAspectTier = 09044 cooldown "Frost Shell Cooldown" 300009045 elseif FrostAspectTier = 19046 cooldown "Frost Shell Cooldown" 290009047 elseif FrostAspectTier = 29048 cooldown "Frost Shell Cooldown" 280009049 elseif FrostAspectTier = 39050 cooldown "Frost Shell Cooldown" 270009051 elseif FrostAspectTier = 49052 cooldown "Frost Shell Cooldown" 260009053 elseif FrostAspectTier = 59054 cooldown "Frost Shell Cooldown" 250009055 elseif FrostAspectTier = 69056 cooldown "Frost Shell Cooldown" 240009057 elseif FrostAspectTier = 79058 cooldown "Frost Shell Cooldown" 230009059 elseif FrostAspectTier = 89060 cooldown "Frost Shell Cooldown" 220009061 elseif FrostAspectTier = 99062 cooldown "Frost Shell Cooldown" 210009063 elseif FrostAspectTier = 109064 cooldown "Frost Shell Cooldown" 200009065 elseif FrostAspectTier = 119066 cooldown "Frost Shell Cooldown" 190009067 elseif FrostAspectTier = 129068 cooldown "Frost Shell Cooldown" 180009069 elseif FrostAspectTier = 139070 cooldown "Frost Shell Cooldown" 170009071 elseif FrostAspectTier = 149072 cooldown "Frost Shell Cooldown" 160009073 elseif FrostAspectTier = 159074 cooldown "Frost Shell Cooldown" 150009075 endif9076 clearsysmsg9077 endif9078 endif9079 9080 if dead9081 break9082 endif9083 9084 if EnableUsePotionKegs = 1 and findtype 'empty bottle%s%' self and findtype 'keg' self and timer 'PotionKegPVPCooldown' > 300009085 @setvar! PotionStockCheck 09086 9087 while PotionStockCheck < 8 and findtype 'empty bottle%s%' self9088 if PotionStockCheck = 09089 if HealingPotionAmount = 09090 @setvar! PotionStockCheck 19091 else9092 @setvar! PotionType 38529093 @setvar! KegColour 2539094 @setvar! PotionAmounttoFill HealingPotionAmount9095 @setvar! PotionStockCheck 19096 endif9097 elseif PotionStockCheck = 19098 if CurePotionAmount = 09099 @setvar! PotionStockCheck 29100 else9101 @setvar! PotionType 38479102 @setvar! KegColour 449103 @setvar! PotionAmounttoFill CurePotionAmount9104 @setvar! PotionStockCheck 29105 endif9106 elseif PotionStockCheck = 29107 if RefreshPotionAmount = 09108 @setvar! PotionStockCheck 39109 else9110 @setvar! PotionType 38519111 @setvar! KegColour 379112 @setvar! PotionAmounttoFill RefreshPotionAmount9113 @setvar! PotionStockCheck 39114 endif9115 elseif PotionStockCheck = 39116 if StrengthPotionAmount = 09117 @setvar! PotionStockCheck 49118 else9119 @setvar! PotionType 38499120 @setvar! KegColour 9569121 @setvar! PotionAmounttoFill StrengthPotionAmount9122 @setvar! PotionStockCheck 49123 endif9124 elseif PotionStockCheck = 49125 if AgilityPotionAmount = 09126 @setvar! PotionStockCheck 59127 else9128 @setvar! PotionType 38489129 @setvar! KegColour 939130 @setvar! PotionAmounttoFill AgilityPotionAmount9131 @setvar! PotionStockCheck 59132 endif9133 elseif PotionStockCheck = 59134 if ResistPotionAmount = 09135 @setvar! PotionStockCheck 69136 else9137 @setvar! PotionType 38469138 @setvar! KegColour 11099139 @setvar! PotionAmounttoFill ResistPotionAmount9140 @setvar! PotionStockCheck 69141 endif9142 elseif PotionStockCheck = 69143 if PoisonPotionAmount = 09144 @setvar! PotionStockCheck 79145 else9146 @setvar! PotionType 38509147 @setvar! KegColour 3639148 @setvar! PotionAmounttoFill PoisonPotionAmount9149 @setvar! PotionStockCheck 79150 endif9151 elseif PotionStockCheck = 79152 if ExplosionPotionAmount = 09153 @setvar! PotionStockCheck 89154 else9155 @setvar! PotionType 38539156 @setvar! KegColour 4199157 @setvar! PotionAmounttoFill ExplosionPotionAmount9158 @setvar! PotionStockCheck 89159 endif9160 else9161 break9162 endif9163 9164 while counttype PotionType self < PotionAmounttoFill9165 if not findtype 'empty bottle%s%' self9166 if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 50009167 overhead '[ NO EMPTY BOTTLES... ]' 3379168 settimer 'PotionKegTimer' 09169 endif9170 break9171 endif9172 9173 if diffhits > HealPotionHPdiff9174 break9175 endif9176 9177 if findtype 'keg' self KegColour as myKeg9178 dclick myKeg9179 wait 2509180 if EnableOverheadMessages = 19181 if timer 'PotionKegTimer' > 20009182 overhead '[ FILLING POTS... ]' KegColour9183 settimer 'PotionKegTimer' 09184 endif9185 endif9186 else9187 if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 50009188 overhead '[ NO KEG TO USE... ]' KegColour9189 settimer 'PotionKegTimer' 09190 endif9191 break9192 endif9193 if insysmsg "You have been in combat with another player"9194 settimer "PotionKegPVPCooldown" 09195 break9196 endif9197 endwhile9198 9199 if counttype PotionType self < PotionAmounttoFill and not findtype 'empty bottle%s%' self9200 if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 50009201 overhead '[ NO EMPTY BOTTLES... ]' 3379202 settimer 'PotionKegTimer' 09203 endif9204 break9205 endif9206 endwhile9207 endif9208 9209 if EnableAutoExplosionPots = 1 and diffhits < CastGreaterHealHPdiff9210 if findtype 'purple potion' self as explotPot9211 getlabel explotPot potLabel9212 if "(" in potLabel9213 if timer PurplePotionTimer > PurplePotionCooldown9214 @setvar! PurplePotionReady 19215 else9216 @setvar! PurplePotionReady 09217 endif9218 else9219 @setvar! PurplePotionReady 19220 endif9221 9222 if skill 'Alchemy' < 809223 if timer TelekinesisTimer > 60000 or ClosestTargetisSticky = 09224 if PurplePotionReady = 1 and find ClosestTarget ground -1 -1 TargetAttackRange and not dead ClosestTarget9225 if findtype 'purple potion' self9226 settimer AntiStallTimer 09227 while not targetexists and timer AntiStallTimer < 15009228 if timer AntiStallTimer > 15009229 break9230 endif9231 cast 'Telekinesis'9232 wait 5009233 endwhile9234 clearsysmsg9235 wft 5009236 target ClosestTarget9237 wait 2509238 if insysmsg "You are too far"9239 @setvar! ClosestTargetisSticky 09240 clearsysmsg9241 else9242 if EnableOverheadMessages = 1 and timer PurplePotionMessageTimer > 45009243 overhead '[ EXPLOSION POTION! ]' 4199244 settimer PurplePotionMessageTimer 09245 endif9246 settimer TelekinesisTimer 09247 @setvar! ClosestTargetisSticky 19248 endif9249 endif9250 endif9251 endif9252 else9253 @setvar! ClosestTargetisSticky 19254 endif9255 else9256 if EnableOverheadMessages = 1 and timer PurplePotionMessageTimer > 150009257 overhead '[ NO PURPLE POTIONS ]' 3379258 settimer PurplePotionMessageTimer 09259 endif9260 endif9261 endif9262 9263 @setvar! CastingWasInterrupted 09264 9265 if targetexists9266 hotkey 'cancel current target'9267 endif9268 9269 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange9270 @setvar! RepeatCastingPoison 09271 @setvar! AttackModeActive 09272 @setvar! ClosestTargetisSticky 09273 @setvar! TargetSwap 09274 settimer TargetChecker 09275 break9276 endif9277 9278 if EnableAutoExplosionPots = 19279 if timer TelekinesisTimer > 600009280 @setvar! ClosestTargetisSticky 09281 settimer TelekinesisTimer 09282 endif9283 endif9284 9285 if PurplePotionReady = 1 and ClosestTargetisSticky = 1 and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and diffhits < CastGreaterHealHPdiff9286 settimer AntiStallTimer 09287 while not insysmsg "Where should i throw this potion?" and timer AntiStallTimer < 15009288 potion 'explosion'9289 if timer AntiStallTimer > 15009290 settimer AntiStallTimer 09291 break9292 endif9293 endwhile9294 9295 @setvar! PurplePotionReady 09296 settimer PurplePotionTimer 09297 settimer AntiStallTimer 09298 9299 while not targetexists and timer AntiStallTimer < 15009300 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange9301 @setvar! RepeatCastingPoison 09302 @setvar! AttackModeActive 09303 @setvar! ClosestTargetisSticky 09304 @setvar! CastingWasInterrupted 19305 @setvar! TargetSwap 09306 hotkey 'cancel current target'9307 break9308 endif9309 9310 if timer AntiStallTimer > 15009311 settimer AntiStallTimer 09312 break9313 endif9314 endwhile9315 9316 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange9317 break9318 endif9319 9320 if CastingWasInterrupted = 09321 target ClosestTarget9322 cooldown "Purple Potion" PurplePotionCooldown9323 getlabel backpack packdesc9324 wait 2509325 endif9326 endif9327 9328 if counttype 29012 self = 0 and EnableMagicMushroomMaker = 19329 while counttype 29012 self < MakeMushroomAmount and mana > 3 and diffhits < CastGreaterHealHPdiff9330 if timer 'MushroomMakerTimer' > 45009331 overhead '[ MAKING SHROOMS... ]' 4199332 settimer 'MushroomMakerTimer' 09333 endif9334 9335 if not casting9336 cast 'create food'9337 wait 5009338 endif9339 9340 if diffhits > CastGreaterHealHPdiff9341 break9342 endif9343 endwhile9344 9345 if dead9346 break9347 endif9348 endif9349 9350 if EnableGoldVacuum = 1 and DisableVacuums != 19351 if findtype "gold coin" ground -1 -1 15 as droppedmoney and timer "GoldRadar" > 35009352 overhead " � " 149 droppedmoney9353 settimer "GoldRadar" 09354 endif9355 9356 while findtype "gold coin" ground -1 -1 2 as droppedmoney and diffhits < CastGreaterHealHPdiff9357 overhead " � " 1499358 hotkey "Grab Item"9359 wft 25009360 target droppedmoney9361 wait 2509362 9363 if dead9364 break9365 endif9366 9367 if diffhits >= CastGreaterHealHPdiff9368 @setvar! AttackModeActive 19369 break9370 endif9371 9372 if insysmsg "Invalid or inaccessible item"9373 wait 5009374 @ignore droppedmoney9375 endif9376 wait 2509377 endwhile9378 endif9379 9380 if EnableDungeonCleanup = 1 and diffhits < CastGreaterHealHPdiff9381 while findtype "iron ingot%s|board%s|cut up leather|3972|3962|3963|3980|3976|3973|3974|3981" ground -1 -1 2 as item9382 if EnableOverheadMessages = 19383 if timer "DungeonCleanup" > 15009384 overhead '[ CLEANUP... ]' 4209385 settimer "DungeonCleanup" 09386 endif9387 else9388 if timer "DungeonCleanup" > 15009389 overhead ' � ' 4209390 settimer "DungeonCleanup" 09391 endif9392 endif9393 hotkey "Grab Item"9394 wft 10009395 target item9396 wait 5009397 if dead9398 break9399 endif9400 if diffhits > CastGreaterHealHPdiff9401 break9402 endif9403 endwhile9404 9405 if findtype "iron ingot%s|board%s|cut up leather|3972|3962|3963|3980|3976|3973|3974|3981" ground -1 -1 15 as dungeonjunk and timer "DungeonCleanupRadar" > 35009406 overhead "�" 420 dungeonjunk9407 settimer "DungeonCleanupRadar" 09408 endif9409 endif9410 9411 if EnableAutoCarving = 1 and findtype 11552 self9412 while findtype "corpse" ground -1 -1 2 as deadbody and diffhits < CastGreaterHealHPdiff9413 settimer SkinningTimeoutTimer 09414 if findtype 11552 self9415 if targetexists9416 hotkey 'cancel current target'9417 endif9418 9419 while not targetexists9420 skill 'forensicevaluation'9421 getlabel backpack backpacklabel9422 endwhile9423 9424 if targetexists and find deadbody ground -1 -1 29425 target 'self'9426 @ignore deadbody9427 wait 2509428 endif9429 9430 if insysmsg "You dont see anything nearby"9431 clearsysmsg9432 break9433 else9434 if EnableOverheadMessages = 1 and timer SkinningTimer > 30009435 overhead '[ SKINNING... ]' 3339436 settimer SkinningTimer 09437 endif9438 endif9439 else9440 if EnableOverheadMessages = 1 and timer SkinningTimer > 150009441 overhead '[ NO SKINNING KNIFE ]' 3379442 settimer SkinningTimer 09443 break9444 endif9445 endif9446 9447 if timer SkinningTimeoutTimer > 1500 or diffhits > CastGreaterHealHPdiff9448 break9449 endif9450 endwhile9451 endif9452 9453 if EnableArcaneCodexStances != 0 or EnableArcaneCodexFinisher != 09454 if skill 'Arcane' >= 809455 if findtype "arcane codex" backpack as MyCodex9456 if not gumpexists 2016719803 and EnableArcaneCodexHotbar = 19457 while not gumpexists 10666475539458 say "[CodexHotBar"9459 wait 5009460 if gumpexists 20167198039461 break9462 endif9463 endwhile9464 endif9465 9466 if EnableArcaneCodexStances = 69467 if not warmode9468 @setvar! SwitchToLeechStance 09469 @setvar! SwitchToShieldStance 09470 @setvar! SwitchToScatterStance 09471 @setvar! SwitchToFractureStance 09472 @setvar! SwitchToSurgeStance 19473 elseif cooldown "Frost Shell" or poisoned or findbuff "bleed" or findbuff "disease" or diffhits > 709474 @setvar! SwitchToLeechStance 09475 @setvar! SwitchToShieldStance 19476 @setvar! SwitchToScatterStance 09477 @setvar! SwitchToFractureStance 09478 @setvar! SwitchToSurgeStance 09479 elseif warmode9480 @setvar! SwitchToLeechStance 19481 @setvar! SwitchToShieldStance 09482 @setvar! SwitchToScatterStance 09483 @setvar! SwitchToFractureStance 09484 @setvar! SwitchToSurgeStance 09485 endif9486 elseif EnableArcaneCodexStances = 19487 getlabel MyCodex MyCodexDesc9488 @setvar! SwitchToLeechStance 19489 @setvar! SwitchToShieldStance 09490 @setvar! SwitchToScatterStance 09491 @setvar! SwitchToFractureStance 09492 @setvar! SwitchToSurgeStance 09493 elseif EnableArcaneCodexStances = 29494 getlabel MyCodex MyCodexDesc9495 @setvar! SwitchToLeechStance 09496 @setvar! SwitchToShieldStance 19497 @setvar! SwitchToScatterStance 09498 @setvar! SwitchToFractureStance 09499 @setvar! SwitchToSurgeStance 09500 elseif EnableArcaneCodexStances = 39501 getlabel MyCodex MyCodexDesc9502 @setvar! SwitchToLeechStance 09503 @setvar! SwitchToShieldStance 09504 @setvar! SwitchToScatterStance 19505 @setvar! SwitchToFractureStance 09506 @setvar! SwitchToSurgeStance 09507 elseif EnableArcaneCodexStances = 49508 getlabel MyCodex MyCodexDesc9509 @setvar! SwitchToLeechStance 09510 @setvar! SwitchToShieldStance 09511 @setvar! SwitchToScatterStance 09512 @setvar! SwitchToFractureStance 19513 @setvar! SwitchToSurgeStance 09514 elseif EnableArcaneCodexStances = 59515 getlabel MyCodex MyCodexDesc9516 @setvar! SwitchToLeechStance 09517 @setvar! SwitchToShieldStance 09518 @setvar! SwitchToScatterStance 09519 @setvar! SwitchToFractureStance 09520 @setvar! SwitchToSurgeStance 19521 endif9522 9523 getlabel MyCodex MyCodexDesc9524 9525 if EnableArcaneCodexStances = 6 or EnableArcaneCodexFinisher = 39526 if timer "WeaponCodexTimer" > SwitchArcaneCodexCooldown and diffhits < CastGreaterHealHPdiff9527 if SwitchToLeechStance = 19528 if "Leech" in MyCodexDesc9529 // Do nothing9530 else9531 yell [ArcaneStance19532 settimer "WeaponCodexTimer" 09533 wait 2509534 endif9535 9536 if EnableArcaneCodexFinisher = 3 or EnableArcaneCodexFinisher = 19537 if "Clarity" in MyCodexDesc9538 // Do nothing9539 elseif DisableWeaponFinisher != 19540 yell [ArcaneFinisher19541 @setvar! DisableWeaponFinisher 09542 settimer "WeaponCodexTimer" 09543 wait 2509544 if insysmsg "You must first reach rank 5"9545 @setvar! DisableWeaponFinisher 19546 endif9547 endif9548 elseif EnableArcaneCodexFinisher = 29549 if "Catalyst" in MyCodexDesc9550 // Do nothing9551 elseif DisableWeaponFinisher != 19552 yell [ArcaneFinisher29553 @setvar! DisableWeaponFinisher 09554 settimer "WeaponCodexTimer" 09555 wait 2509556 if insysmsg "You must first reach rank 5"9557 @setvar! DisableWeaponFinisher 19558 endif9559 endif9560 endif9561 elseif SwitchToShieldStance = 19562 if "Shield" in MyCodexDesc9563 // Do nothing9564 else9565 yell [ArcaneStance29566 settimer "WeaponCodexTimer" 09567 wait 2509568 endif9569 9570 if EnableArcaneCodexFinisher = 29571 if "Catalyst" in MyCodexDesc9572 // Do nothing9573 elseif DisableWeaponFinisher != 19574 yell [ArcaneFinisher29575 @setvar! DisableWeaponFinisher 09576 settimer "WeaponCodexTimer" 09577 wait 2509578 if insysmsg "You must first reach rank 5"9579 @setvar! DisableWeaponFinisher 19580 endif9581 endif9582 elseif EnableArcaneCodexFinisher = 1 or EnableArcaneCodexFinisher = 39583 if "Clarity" in MyCodexDesc9584 // Do nothing9585 elseif DisableWeaponFinisher != 19586 yell [ArcaneFinisher19587 @setvar! DisableWeaponFinisher 09588 settimer "WeaponCodexTimer" 09589 wait 2509590 if insysmsg "You must first reach rank 5"9591 @setvar! DisableWeaponFinisher 19592 endif9593 endif9594 endif9595 elseif SwitchToScatterStance = 19596 if "Scatter" in MyCodexDesc9597 // Do nothing9598 else9599 yell [ArcaneStance39600 settimer "WeaponCodexTimer" 09601 wait 2509602 endif9603 9604 if EnableArcaneCodexFinisher = 3 or EnableArcaneCodexFinisher = 29605 if "Catalyst" in MyCodexDesc9606 // Do nothing9607 elseif DisableWeaponFinisher != 19608 say [ArcaneFinisher29609 @setvar! DisableWeaponFinisher 09610 settimer "WeaponCodexTimer" 09611 wait 2509612 if insysmsg "You must first reach rank 5"9613 @setvar! DisableWeaponFinisher 19614 endif9615 endif9616 elseif EnableArcaneCodexFinisher = 19617 if "Clarity" in MyCodexDesc9618 // Do nothing9619 elseif DisableWeaponFinisher != 19620 say [ArcaneFinisher19621 @setvar! DisableWeaponFinisher 09622 settimer "WeaponCodexTimer" 09623 wait 2509624 if insysmsg "You must first reach rank 5"9625 @setvar! DisableWeaponFinisher 19626 endif9627 endif9628 endif9629 elseif SwitchToFractureStance = 19630 if "Fracture" in MyCodexDesc9631 // Do nothing9632 else9633 yell [ArcaneStance49634 settimer "WeaponCodexTimer" 09635 wait 2509636 endif9637 9638 if EnableArcaneCodexFinisher = 19639 if "Clarity" in MyCodexDesc9640 // Do nothing9641 elseif DisableWeaponFinisher != 19642 say [ArcaneFinisher19643 @setvar! DisableWeaponFinisher 09644 settimer "WeaponCodexTimer" 09645 wait 2509646 if insysmsg "You must first reach rank 5"9647 @setvar! DisableWeaponFinisher 19648 endif9649 endif9650 elseif EnableArcaneCodexFinisher = 2 or EnableArcaneCodexFinisher = 39651 if "Catalyst" in MyCodexDesc9652 // Do nothing9653 elseif DisableWeaponFinisher != 19654 yell [ArcaneFinisher29655 @setvar! DisableWeaponFinisher 09656 settimer "WeaponCodexTimer" 09657 wait 2509658 if insysmsg "You must first reach rank 5"9659 @setvar! DisableWeaponFinisher 19660 endif9661 endif9662 endif9663 elseif SwitchToSurgeStance = 19664 if "Surge" in MyCodexDesc9665 // Do nothing9666 else9667 yell [ArcaneStance59668 settimer "WeaponCodexTimer" 09669 wait 2509670 endif9671 9672 if EnableArcaneCodexFinisher = 3 or EnableArcaneCodexFinisher = 29673 if "Catalyst" in MyCodexDesc9674 // Do nothing9675 elseif DisableWeaponFinisher != 19676 say [ArcaneFinisher29677 @setvar! DisableWeaponFinisher 09678 settimer "WeaponCodexTimer" 09679 wait 2509680 if insysmsg "You must first reach rank 5"9681 @setvar! DisableWeaponFinisher 19682 endif9683 endif9684 elseif EnableArcaneCodexFinisher = 19685 if "Clarity" in MyCodexDesc9686 // Do nothing9687 elseif DisableWeaponFinisher != 19688 say [ArcaneFinisher19689 @setvar! DisableWeaponFinisher 09690 settimer "WeaponCodexTimer" 09691 wait 2509692 if insysmsg "You must first reach rank 5"9693 @setvar! DisableWeaponFinisher 19694 endif9695 endif9696 endif9697 endif9698 endif9699 elseif EnableArcaneCodexStances != 6 and EnableArcaneCodexStances != 0 and EnableArcaneCodexFinisher != 39700 if EnableArcaneCodexFinisher != 0 and timer "WeaponCodexCheckTimer" > 2000 and mana > 50 and diffhits < CastGreaterHealHPdiff9701 if SwitchToLeechStance = 19702 if "Leech" in MyCodexDesc9703 // Do nothing9704 else9705 yell [ArcaneStance19706 settimer "WeaponCodexCheckTimer" 09707 wait 2509708 endif9709 9710 if EnableArcaneCodexFinisher = 3 or EnableArcaneCodexFinisher = 19711 if "Clarity" in MyCodexDesc9712 // Do nothing9713 elseif DisableWeaponFinisher != 19714 yell [ArcaneFinisher19715 @setvar! DisableWeaponFinisher 09716 settimer "WeaponCodexCheckTimer" 09717 wait 2509718 if insysmsg "You must first reach rank 5"9719 @setvar! DisableWeaponFinisher 19720 endif9721 endif9722 elseif EnableArcaneCodexFinisher = 29723 if "Catalyst" in MyCodexDesc9724 // Do nothing9725 elseif DisableWeaponFinisher != 19726 yell [ArcaneFinisher29727 @setvar! DisableWeaponFinisher 09728 settimer "WeaponCodexCheckTimer" 09729 wait 2509730 if insysmsg "You must first reach rank 5"9731 @setvar! DisableWeaponFinisher 19732 endif9733 endif9734 endif9735 elseif SwitchToShieldStance = 19736 if "Shield" in MyCodexDesc9737 // Do nothing9738 else9739 yell [ArcaneStance29740 settimer "WeaponCodexCheckTimer" 09741 wait 2509742 endif9743 9744 if EnableArcaneCodexFinisher = 29745 if "Catalyst" in MyCodexDesc9746 // Do nothing9747 elseif DisableWeaponFinisher != 19748 yell [ArcaneFinisher29749 @setvar! DisableWeaponFinisher 09750 settimer "WeaponCodexCheckTimer" 09751 wait 2509752 if insysmsg "You must first reach rank 5"9753 @setvar! DisableWeaponFinisher 19754 endif9755 endif9756 elseif EnableArcaneCodexFinisher = 1 or EnableArcaneCodexFinisher = 39757 if "Clarity" in MyCodexDesc9758 // Do nothing9759 elseif DisableWeaponFinisher != 19760 yell [ArcaneFinisher19761 @setvar! DisableWeaponFinisher 09762 settimer "WeaponCodexCheckTimer" 09763 wait 2509764 if insysmsg "You must first reach rank 5"9765 @setvar! DisableWeaponFinisher 19766 endif9767 endif9768 endif9769 elseif SwitchToScatterStance = 19770 if "Scatter" in MyCodexDesc9771 // Do nothing9772 else9773 yell [ArcaneStance39774 settimer "WeaponCodexCheckTimer" 09775 wait 2509776 endif9777 9778 if EnableArcaneCodexFinisher = 3 or EnableArcaneCodexFinisher = 29779 if "Catalyst" in MyCodexDesc9780 // Do nothing9781 elseif DisableWeaponFinisher != 19782 say [ArcaneFinisher29783 @setvar! DisableWeaponFinisher 09784 settimer "WeaponCodexCheckTimer" 09785 wait 2509786 if insysmsg "You must first reach rank 5"9787 @setvar! DisableWeaponFinisher 19788 endif9789 endif9790 elseif EnableArcaneCodexFinisher = 19791 if "Clarity" in MyCodexDesc9792 // Do nothing9793 elseif DisableWeaponFinisher != 19794 say [ArcaneFinisher19795 @setvar! DisableWeaponFinisher 09796 settimer "WeaponCodexCheckTimer" 09797 wait 2509798 if insysmsg "You must first reach rank 5"9799 @setvar! DisableWeaponFinisher 19800 endif9801 endif9802 endif9803 elseif SwitchToFractureStance = 19804 if "Fracture" in MyCodexDesc9805 // Do nothing9806 else9807 yell [ArcaneStance49808 settimer "WeaponCodexCheckTimer" 09809 wait 2509810 endif9811 9812 if EnableArcaneCodexFinisher = 19813 if "Clarity" in MyCodexDesc9814 // Do nothing9815 elseif DisableWeaponFinisher != 19816 say [ArcaneFinisher19817 @setvar! DisableWeaponFinisher 09818 settimer "WeaponCodexCheckTimer" 09819 wait 2509820 if insysmsg "You must first reach rank 5"9821 @setvar! DisableWeaponFinisher 19822 endif9823 endif9824 elseif EnableArcaneCodexFinisher = 2 or EnableArcaneCodexFinisher = 39825 if "Catalyst" in MyCodexDesc9826 // Do nothing9827 elseif DisableWeaponFinisher != 19828 yell [ArcaneFinisher29829 @setvar! DisableWeaponFinisher 09830 settimer "WeaponCodexCheckTimer" 09831 wait 2509832 if insysmsg "You must first reach rank 5"9833 @setvar! DisableWeaponFinisher 19834 endif9835 endif9836 endif9837 elseif SwitchToSurgeStance = 19838 if "Surge" in MyCodexDesc9839 // Do nothing9840 else9841 yell [ArcaneStance59842 settimer "WeaponCodexCheckTimer" 09843 wait 2509844 endif9845 9846 if EnableArcaneCodexFinisher = 3 or EnableArcaneCodexFinisher = 29847 if "Catalyst" in MyCodexDesc9848 // Do nothing9849 elseif DisableWeaponFinisher != 19850 say [ArcaneFinisher29851 @setvar! DisableWeaponFinisher 09852 settimer "WeaponCodexCheckTimer" 09853 wait 2509854 if insysmsg "You must first reach rank 5"9855 @setvar! DisableWeaponFinisher 19856 endif9857 endif9858 elseif EnableArcaneCodexFinisher = 19859 if "Clarity" in MyCodexDesc9860 // Do nothing9861 elseif DisableWeaponFinisher != 19862 say [ArcaneFinisher19863 @setvar! DisableWeaponFinisher 09864 settimer "WeaponCodexCheckTimer" 09865 wait 2509866 if insysmsg "You must first reach rank 5"9867 @setvar! DisableWeaponFinisher 19868 endif9869 endif9870 endif9871 endif9872 endif9873 endif9874 endif9875 endif9876 endif9877 9878 if EnableShieldCodexStances != 0 or EnableShieldCodexFinisher != 09879 if skill "Parrying" >= 80 and findtype "shield codex" backpack as ShieldCodex9880 if not gumpexists 2016719803 and EnableShieldCodexHotbar = 19881 while not gumpexists 10666475539882 say "[CodexHotBar"9883 wait 5009884 if gumpexists 20167198039885 break9886 endif9887 endwhile9888 endif9889 9890 if EnableShieldCodexStances = 69891 if not warmode9892 @setvar! SwitchToShieldBashStance 09893 @setvar! SwitchToWardingStance 09894 @setvar! SwitchToTestudoStance 09895 @setvar! SwitchToMirrorStance 09896 @setvar! SwitchToBulwarkStance 19897 elseif cooldown "Frost Shell" or findbuff "bleed" or findbuff "disease" or poisoned or diffhits > 709898 @setvar! SwitchToShieldBashStance 09899 @setvar! SwitchToWardingStance 19900 @setvar! SwitchToTestudoStance 09901 @setvar! SwitchToMirrorStance 09902 @setvar! SwitchToBulwarkStance 09903 elseif warmode9904 @setvar! SwitchToShieldBashStance 09905 @setvar! SwitchToWardingStance 09906 @setvar! SwitchToTestudoStance 19907 @setvar! SwitchToMirrorStance 09908 @setvar! SwitchToBulwarkStance 09909 endif9910 elseif EnableShieldCodexStances = 19911 @setvar! SwitchToShieldBashStance 19912 @setvar! SwitchToWardingStance 09913 @setvar! SwitchToTestudoStance 09914 @setvar! SwitchToMirrorStance 09915 @setvar! SwitchToBulwarkStance 09916 elseif EnableShieldCodexStances = 29917 @setvar! SwitchToShieldBashStance 09918 @setvar! SwitchToWardingStance 29919 @setvar! SwitchToTestudoStance 09920 @setvar! SwitchToMirrorStance 09921 @setvar! SwitchToBulwarkStance 09922 elseif EnableShieldCodexStances = 39923 @setvar! SwitchToShieldBashStance 09924 @setvar! SwitchToWardingStance 09925 @setvar! SwitchToTestudoStance 19926 @setvar! SwitchToMirrorStance 09927 @setvar! SwitchToBulwarkStance 09928 elseif EnableShieldCodexStances = 49929 @setvar! SwitchToShieldBashStance 09930 @setvar! SwitchToWardingStance 09931 @setvar! SwitchToTestudoStance 09932 @setvar! SwitchToMirrorStance 19933 @setvar! SwitchToBulwarkStance 09934 elseif EnableShieldCodexStances = 59935 @setvar! SwitchToShieldBashStance 09936 @setvar! SwitchToWardingStance 09937 @setvar! SwitchToTestudoStance 09938 @setvar! SwitchToMirrorStance 09939 @setvar! SwitchToBulwarkStance 19940 endif9941 9942 getlabel ShieldCodex ShieldCodexDesc9943 9944 if EnableShieldCodexStances = 6 or EnableShieldCodexFinisher = 39945 if timer "ShieldCodexTimer" > SwitchShieldCodexCooldown and diffhits < CastGreaterHealHPdiff9946 if SwitchToWardingStance = 19947 if "Warding" in ShieldCodexDesc9948 // Do nothing9949 else9950 yell [ShieldsStance29951 settimer "ShieldCodexTimer" 09952 wait 5009953 endif9954 9955 if EnableShieldCodexFinisher != 09956 if EnableShieldCodexFinisher = 2 or EnableShieldCodexFinisher = 3 and DisableShieldFinisher != 19957 if "Barrier" in ShieldCodexDesc9958 // Do nothing9959 else9960 say [ShieldsFinisher29961 settimer "ShieldCodexTimer" 09962 wait 5009963 if insysmsg "You must first reach rank 5"9964 @setvar! DisableShieldFinisher 19965 endif9966 endif9967 elseif EnableShieldCodexFinisher = 1 and DisableShieldFinisher != 19968 if "Last Stand" in ShieldCodexDesc9969 // Do nothing9970 else9971 yell [ShieldsFinisher19972 settimer "ShieldCodexTimer" 09973 wait 5009974 if insysmsg "You must first reach rank 5"9975 @setvar! DisableShieldFinisher 19976 endif9977 endif9978 endif9979 endif9980 elseif SwitchToMirrorStance = 19981 if "Mirror" in ShieldCodexDesc9982 // Do nothing9983 else9984 yell [ShieldsStance49985 settimer "ShieldCodexTimer" 09986 wait 5009987 endif9988 9989 if EnableShieldCodexFinisher != 0 and DisableShieldFinisher != 19990 if EnableShieldCodexFinisher = 1 or EnableShieldCodexFinisher = 39991 if "Last Stand" in ShieldCodexDesc9992 // Do nothing9993 else9994 yell [ShieldsFinisher19995 settimer "ShieldCodexTimer" 09996 wait 5009997 if insysmsg "You must first reach rank 5"9998 @setvar! DisableShieldFinisher 19999 endif10000 endif10001 elseif EnableShieldCodexFinisher = 2 and DisableShieldFinisher != 110002 if "Barrier" in ShieldCodexDesc10003 // Do nothing10004 else10005 say [ShieldsFinisher210006 settimer "ShieldCodexTimer" 010007 wait 50010008 if insysmsg "You must first reach rank 5"10009 @setvar! DisableShieldFinisher 110010 endif10011 endif10012 endif10013 endif10014 elseif SwitchToBulwarkStance = 110015 if "Bulwark" in ShieldCodexDesc10016 // Do nothing10017 else10018 yell [ShieldsStance510019 settimer "ShieldCodexTimer" 010020 wait 50010021 endif10022 10023 if EnableShieldCodexFinisher != 0 and DisableShieldFinisher != 110024 if EnableShieldCodexFinisher = 1 or EnableShieldCodexFinisher = 310025 if "Last Stand" in ShieldCodexDesc10026 // Do nothing10027 else10028 yell [ShieldsFinisher110029 settimer "ShieldCodexTimer" 010030 wait 50010031 if insysmsg "You must first reach rank 5"10032 @setvar! DisableShieldFinisher 110033 endif10034 endif10035 elseif EnableShieldCodexFinisher = 2 and DisableShieldFinisher != 110036 if "Barrier" in ShieldCodexDesc10037 // Do nothing10038 else10039 say [ShieldsFinisher210040 settimer "ShieldCodexTimer" 010041 wait 50010042 if insysmsg "You must first reach rank 5"10043 @setvar! DisableShieldFinisher 110044 endif10045 endif10046 endif10047 endif10048 elseif SwitchToTestudoStance = 110049 if "Testudo" in ShieldCodexDesc10050 // Do nothing10051 else10052 yell [ShieldsStance310053 settimer "ShieldCodexTimer" 010054 wait 50010055 endif10056 10057 if EnableShieldCodexFinisher != 0 and DisableShieldFinisher != 110058 if EnableShieldCodexFinisher = 1 or EnableShieldCodexFinisher = 310059 if "Last Stand" in ShieldCodexDesc10060 // Do nothing10061 else10062 yell [ShieldsFinisher110063 settimer "ShieldCodexTimer" 010064 wait 50010065 if insysmsg "You must first reach rank 5"10066 @setvar! DisableShieldFinisher 110067 endif10068 endif10069 elseif EnableShieldCodexFinisher = 2 and DisableShieldFinisher != 110070 if "Barrier" in ShieldCodexDesc10071 // Do nothing10072 else10073 say [ShieldsFinisher210074 settimer "ShieldCodexTimer" 010075 wait 50010076 if insysmsg "You must first reach rank 5"10077 @setvar! DisableShieldFinisher 110078 endif10079 endif10080 endif10081 endif10082 elseif SwitchToShieldBashStance = 110083 if "Shield Bash" in ShieldCodexDesc10084 // Do nothing10085 else10086 yell [ShieldsStance110087 settimer "ShieldCodexTimer" 010088 wait 50010089 endif10090 10091 if EnableShieldCodexFinisher != 0 and DisableShieldFinisher != 110092 if EnableShieldCodexFinisher = 210093 if "Barrier" in ShieldCodexDesc10094 // Do nothing10095 else10096 say [ShieldsFinisher210097 settimer "ShieldCodexTimer" 010098 wait 50010099 if insysmsg "You must first reach rank 5"10100 @setvar! DisableShieldFinisher 110101 endif10102 endif10103 elseif EnableShieldCodexFinisher = 1 or EnableShieldCodexFinisher = 310104 if "Last Stand" in ShieldCodexDesc10105 // Do nothing10106 else10107 yell [ShieldsFinisher110108 settimer "ShieldCodexTimer" 010109 wait 50010110 if insysmsg "You must first reach rank 5"10111 @setvar! DisableShieldFinisher 110112 endif10113 endif10114 endif10115 endif10116 endif10117 endif10118 elseif EnableShieldCodexStances != 6 and EnableShieldCodexFinisher != 310119 if timer "ShieldCodexCheckTimer" > 200010120 if SwitchToWardingStance = 110121 if "Warding" in ShieldCodexDesc10122 // Do nothing10123 else10124 yell [ShieldsStance210125 settimer "ShieldCodexCheckTimer" 010126 wait 50010127 endif10128 10129 if EnableShieldCodexFinisher != 010130 if EnableShieldCodexFinisher = 2 or EnableShieldCodexFinisher = 3 and DisableShieldFinisher != 110131 if "Barrier" in ShieldCodexDesc10132 // Do nothing10133 else10134 say [ShieldsFinisher210135 settimer "ShieldCodexCheckTimer" 010136 wait 50010137 if insysmsg "You must first reach rank 5"10138 @setvar! DisableShieldFinisher 110139 endif10140 endif10141 elseif EnableShieldCodexFinisher = 1 and DisableShieldFinisher != 110142 if "Last Stand" in ShieldCodexDesc10143 // Do nothing10144 else10145 yell [ShieldsFinisher110146 settimer "ShieldCodexCheckTimer" 010147 wait 50010148 if insysmsg "You must first reach rank 5"10149 @setvar! DisableShieldFinisher 110150 endif10151 endif10152 endif10153 endif10154 elseif SwitchToMirrorStance = 110155 if "Mirror" in ShieldCodexDesc10156 // Do nothing10157 else10158 yell [ShieldsStance410159 settimer "ShieldCodexCheckTimer" 010160 wait 50010161 endif10162 10163 if EnableShieldCodexFinisher != 0 and DisableShieldFinisher != 110164 if EnableShieldCodexFinisher = 1 or EnableShieldCodexFinisher = 310165 if "Last Stand" in ShieldCodexDesc10166 // Do nothing10167 else10168 yell [ShieldsFinisher110169 settimer "ShieldCodexCheckTimer" 010170 wait 50010171 if insysmsg "You must first reach rank 5"10172 @setvar! DisableShieldFinisher 110173 endif10174 endif10175 elseif EnableShieldCodexFinisher = 2 and DisableShieldFinisher != 110176 if "Barrier" in ShieldCodexDesc10177 // Do nothing10178 else10179 say [ShieldsFinisher210180 settimer "ShieldCodexCheckTimer" 010181 wait 50010182 if insysmsg "You must first reach rank 5"10183 @setvar! DisableShieldFinisher 110184 endif10185 endif10186 endif10187 endif10188 elseif SwitchToBulwarkStance = 110189 if "Bulwark" in ShieldCodexDesc10190 // Do nothing10191 else10192 yell [ShieldsStance510193 settimer "ShieldCodexCheckTimer" 010194 wait 50010195 endif10196 10197 if EnableShieldCodexFinisher != 0 and DisableShieldFinisher != 110198 if EnableShieldCodexFinisher = 1 or EnableShieldCodexFinisher = 310199 if "Last Stand" in ShieldCodexDesc10200 // Do nothing10201 else10202 yell [ShieldsFinisher110203 settimer "ShieldCodexCheckTimer" 010204 wait 50010205 if insysmsg "You must first reach rank 5"10206 @setvar! DisableShieldFinisher 110207 endif10208 endif10209 elseif EnableShieldCodexFinisher = 2 and DisableShieldFinisher != 110210 if "Barrier" in ShieldCodexDesc10211 // Do nothing10212 else10213 say [ShieldsFinisher210214 settimer "ShieldCodexCheckTimer" 010215 wait 50010216 if insysmsg "You must first reach rank 5"10217 @setvar! DisableShieldFinisher 110218 endif10219 endif10220 endif10221 endif10222 elseif SwitchToTestudoStance = 110223 if "Testudo" in ShieldCodexDesc10224 // Do nothing10225 else10226 yell [ShieldsStance310227 settimer "ShieldCodexCheckTimer" 010228 wait 50010229 endif10230 10231 if EnableShieldCodexFinisher != 0 and DisableShieldFinisher != 110232 if EnableShieldCodexFinisher = 1 or EnableShieldCodexFinisher = 310233 if "Last Stand" in ShieldCodexDesc10234 // Do nothing10235 else10236 yell [ShieldsFinisher110237 settimer "ShieldCodexCheckTimer" 010238 wait 50010239 if insysmsg "You must first reach rank 5"10240 @setvar! DisableShieldFinisher 110241 endif10242 endif10243 elseif EnableShieldCodexFinisher = 2 and DisableShieldFinisher != 110244 if "Barrier" in ShieldCodexDesc10245 // Do nothing10246 else10247 say [ShieldsFinisher210248 settimer "ShieldCodexCheckTimer" 010249 wait 50010250 if insysmsg "You must first reach rank 5"10251 @setvar! DisableShieldFinisher 110252 endif10253 endif10254 endif10255 endif10256 elseif SwitchToShieldBashStance = 110257 if "Shield Bash" in ShieldCodexDesc10258 // Do nothing10259 else10260 yell [ShieldsStance110261 settimer "ShieldCodexCheckTimer" 010262 wait 50010263 endif10264 10265 if EnableShieldCodexFinisher != 0 and DisableShieldFinisher != 110266 if EnableShieldCodexFinisher = 2 and DisableShieldFinisher != 110267 if "Barrier" in ShieldCodexDesc10268 // Do nothing10269 else10270 say [ShieldsFinisher210271 settimer "ShieldCodexCheckTimer" 010272 wait 50010273 if insysmsg "You must first reach rank 5"10274 @setvar! DisableShieldFinisher 110275 endif10276 endif10277 elseif EnableShieldCodexFinisher = 1 or EnableShieldCodexFinisher = 310278 if "Last Stand" in ShieldCodexDesc10279 // Do nothing10280 else10281 yell [ShieldsFinisher110282 settimer "ShieldCodexCheckTimer" 010283 wait 50010284 if insysmsg "You must first reach rank 5"10285 @setvar! DisableShieldFinisher 110286 endif10287 endif10288 endif10289 endif10290 endif10291 endif10292 endif10293 endif10294 endif10295 10296 if not warmode10297 if EnablePlaceArcaneRunes != 0 and timer ArcaneRuneTimer > ArcaneRunePlacementCooldown10298 if findtype '39889|39891|39892|39896|39897|39898|39905|39909|39911|39912|39916|39917|39918' self10299 if EnablePlaceArcaneRunes = 110300 # Aggression Rune10301 if findtype '39892' self as MyArcaneRune10302 dclick MyArcaneRune10303 getlabel backpack backpacklabel10304 if EnableOverheadMessages = 110305 overhead '[ AGGRESSION RUNE PLACED ]' 211710306 endif10307 else10308 if EnableOverheadMessages = 110309 overhead '[ NO AGGRESSION RUNE! ]' 33710310 endif10311 endif10312 elseif EnablePlaceArcaneRunes = 210313 # Essence Rune10314 if findtype '39909' self as MyArcaneRune10315 dclick MyArcaneRune10316 getlabel backpack backpacklabel10317 if EnableOverheadMessages = 110318 overhead '[ ESSENCE RUNE PLACED ]' 291610319 endif10320 else10321 if EnableOverheadMessages = 110322 overhead '[ NO ESSENCE RUNE! ]' 33710323 endif10324 endif10325 elseif EnablePlaceArcaneRunes = 310326 # Fortification Rune10327 if findtype '39918' self as MyArcaneRune10328 dclick MyArcaneRune10329 getlabel backpack backpacklabel10330 if EnableOverheadMessages = 110331 overhead '[ FORTIFICATION RUNE PLACED ]' 237710332 endif10333 else10334 if EnableOverheadMessages = 110335 overhead '[ NO FORTIFICATION RUNE! ]' 33710336 endif10337 endif10338 elseif EnablePlaceArcaneRunes = 410339 # Frenzy Rune10340 if findtype '39889' self as MyArcaneRune10341 dclick MyArcaneRune10342 getlabel backpack backpacklabel10343 if EnableOverheadMessages = 110344 overhead '[ FRENZY RUNE PLACED ]' 237710345 endif10346 else10347 if EnableOverheadMessages = 110348 overhead '[ NO FRENZY RUNE! ]' 33710349 endif10350 endif10351 elseif EnablePlaceArcaneRunes = 510352 # Healing Rune10353 if findtype '39896' self as MyArcaneRune10354 dclick MyArcaneRune10355 getlabel backpack backpacklabel10356 if EnableOverheadMessages = 110357 overhead '[ HEALING RUNE PLACED ]' 224710358 endif10359 else10360 if EnableOverheadMessages = 110361 overhead '[ NO HEALING RUNE! ]' 33710362 endif10363 endif10364 elseif EnablePlaceArcaneRunes = 610365 # Immunity Rune10366 if findtype '39898' self as MyArcaneRune10367 dclick MyArcaneRune10368 getlabel backpack backpacklabel10369 if EnableOverheadMessages = 110370 overhead '[ IMMUNITY RUNE PLACED ]' 289710371 endif10372 else10373 if EnableOverheadMessages = 110374 overhead '[ NO IMMUNITY RUNE! ]' 33710375 endif10376 endif10377 elseif EnablePlaceArcaneRunes = 710378 # Mana Rune10379 if findtype '39912' self as MyArcaneRune10380 dclick MyArcaneRune10381 getlabel backpack backpacklabel10382 if EnableOverheadMessages = 110383 overhead '[ MANA RUNE PLACED ]' 260610384 endif10385 else10386 if EnableOverheadMessages = 110387 overhead '[ NO MANA RUNE! ]' 33710388 endif10389 endif10390 elseif EnablePlaceArcaneRunes = 810391 # Poison Warding Rune10392 if findtype '39905' self as MyArcaneRune10393 dclick MyArcaneRune10394 getlabel backpack backpacklabel10395 if EnableOverheadMessages = 110396 overhead '[ POISON WARD RUNE PLACED ]' 238410397 endif10398 else10399 if EnableOverheadMessages = 110400 overhead '[ NO POISON WARD RUNE! ]' 33710401 endif10402 endif10403 elseif EnablePlaceArcaneRunes = 910404 # Rage Rune10405 if findtype '39897' self as MyArcaneRune10406 dclick MyArcaneRune10407 getlabel backpack backpacklabel10408 if EnableOverheadMessages = 110409 overhead '[ RAGE RUNE PLACED ]' 237710410 endif10411 else10412 if EnableOverheadMessages = 110413 overhead '[ NO RAGE RUNE! ]' 33710414 endif10415 endif10416 elseif EnablePlaceArcaneRunes = 1010417 # Spellshielding Rune10418 if findtype '39916' self as MyArcaneRune10419 dclick MyArcaneRune10420 getlabel backpack backpacklabel10421 if EnableOverheadMessages = 110422 overhead '[ SPELLSHIELD RUNE PLACED ]' 224710423 endif10424 else10425 if EnableOverheadMessages = 110426 overhead '[ NO SPELLSHIELD RUNE! ]' 33710427 endif10428 endif10429 elseif EnablePlaceArcaneRunes = 1110430 # Spell Rune10431 if findtype '39891' self as MyArcaneRune10432 dclick MyArcaneRune10433 getlabel backpack backpacklabel10434 if EnableOverheadMessages = 110435 overhead '[ SPELL RUNE PLACED ]' 260610436 endif10437 else10438 if EnableOverheadMessages = 110439 overhead '[ NO SPELL RUNE! ]' 33710440 endif10441 endif10442 elseif EnablePlaceArcaneRunes = 1210443 # Toxicity Rune10444 if findtype '39911' self as MyArcaneRune10445 dclick MyArcaneRune10446 getlabel backpack backpacklabel10447 if EnableOverheadMessages = 110448 overhead '[ TOXICITY RUNE PLACED ]' 238410449 endif10450 else10451 if EnableOverheadMessages = 110452 overhead '[ NO TOXICITY RUNE! ]' 33710453 endif10454 endif10455 elseif EnablePlaceArcaneRunes = 1310456 # Trap Rune10457 if findtype '39917' self as MyArcaneRune10458 dclick MyArcaneRune10459 getlabel backpack backpacklabel10460 if EnableOverheadMessages = 110461 overhead '[ TRAP RUNE PLACED ]' 224710462 endif10463 else10464 if EnableOverheadMessages = 110465 overhead '[ NO TRAP RUNE! ]' 33710466 endif10467 endif10468 elseif EnablePlaceArcaneRunes = 1410469 # Random Rune10470 if findtype '39889|39891|39892|39896|39897|39898|39905|39909|39911|39912|39916|39917|39918' self as MyArcaneRune10471 dclick MyArcaneRune10472 getlabel backpack backpacklabel10473 if EnableOverheadMessages = 110474 overhead '[ ARCANE RUNE PLACED ]' 1310475 endif10476 else10477 if EnableOverheadMessages = 110478 overhead '[ NO ARCANE RUNES! ]' 33710479 endif10480 endif10481 endif10482 else10483 if EnableOverheadMessages = 110484 overhead '[ NO ARCANE RUNES! ]' 33710485 endif10486 endif10487 settimer ArcaneRuneTimer 010488 hotkey 'Toggle War Only'10489 wait 50010490 endif10491 endif10492 10493 if not warmode10494 @setvar! WarModeToggledWhileFighting 110495 elseif warmode10496 @setvar! WarModeToggledWhileFighting 010497 endif10498 10499 if EnableOverheadMessages = 110500 if insysmsg "something invisible out of"10501 overhead "� SOMEONE HIDING! �" 610502 endif10503 10504 if insysmsg "additional mastery chain link"10505 overhead "[ CHAIN LINK UNLOCKED!! ]" 14910506 wait 50010507 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown10508 wait 50010509 say "[Yes"10510 settimer EmoteCooldownTimer 010511 cooldown "Emote Cooldown" SetEmoteCooldown10512 endif10513 endif10514 10515 if insysmsg "enough experience to upgrade"10516 overhead "[ ASPECT TIER UNLOCKED!! ]" 223410517 wait 50010518 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown10519 wait 50010520 say "[Whistle"10521 settimer EmoteCooldownTimer 010522 cooldown "Emote Cooldown" SetEmoteCooldown10523 endif10524 endif10525 10526 if insysmsg "You have unlocked a codex upgrade point"10527 overhead "[ CODEX POINT UNLOCKED! ]" 211410528 wait 25010529 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown10530 wait 50010531 say "[HighFive"10532 settimer EmoteCooldownTimer 010533 cooldown "Emote Cooldown" SetEmoteCooldown10534 endif10535 endif10536 10537 if insysmsg "You have completed a society job"10538 overhead "[ SOCIETY JOB COMPLETE! ]" 41910539 wait 50010540 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown10541 wait 50010542 say "[Awoo"10543 settimer EmoteCooldownTimer 010544 cooldown "Emote Cooldown" SetEmoteCooldown10545 endif10546 endif10547 10548 if insysmsg "Society Job Progress"10549 overhead "[ � SOCIETY POINTS � ]" 41910550 endif10551 10552 if insysmsg 'You charge your spell with additional energy'10553 overhead '[ CHARGED SPELL! ]' 2210554 endif10555 10556 if insysmsg 'You generate mana for your spell'10557 overhead '[ MANA REFUNDED! ]' 1110558 endif10559 10560 if insysmsg "You parry the spell"10561 overhead "[ SPELL PARRY ]" 11110562 endif10563 10564 if insysmsg "You enter a state of arcane clarity"10565 overhead '[ CLARITY! ]' 1110566 endif10567 10568 if insysmsg "Your attack places a hex"10569 overhead '[ HEX ACTIVE ]' 14 ClosestTarget10570 endif10571 10572 if insysmsg "100% arcane buildup"10573 overhead '[ ARCANE BUILDUP 100%! ]' 211410574 endif10575 10576 if insysmsg "causes you to bleed"10577 overhead "[ YOU ARE BLEEDING... ]" 211810578 endif10579 10580 if insysmsg "been struck by an ancient blight"10581 overhead "[ DISEASED... ]" 110910582 endif10583 10584 if insysmsg "You feel chilled!"10585 overhead "[ YOU ARE CHILLED... ]" 223410586 endif10587 10588 if insysmsg "You resist a disease effect"10589 overhead "[ DISEASE RESISTED! ]" 88810590 endif10591 10592 if insysmsg "resist a bleed"10593 overhead "[ BLEED RESISTED! ]" 88810594 endif10595 10596 if insysmsg "The creature pierces and bypasses your armor!"10597 overhead "[ YOU ARE PIERCED... ]" 33710598 endif10599 10600 if insysmsg "Their attack disarms you!"10601 overhead "[ DISARMED! ]" 33710602 endif10603 10604 if insysmsg "Their attack hamstrings you!"10605 overhead "[ HAMSTRUNG! ]" 33710606 endif10607 10608 if insysmsg "attempting to steal" or insysmsg "attempting to peek"10609 overhead "[ THIEF DETECTED! ]" 91010610 endif10611 else10612 if insysmsg "something invisible out of"10613 overhead "� SOMEONE HIDING! �" 610614 endif10615 10616 if insysmsg "additional mastery chain link"10617 overhead "[ � CHAIN! � ]" 14910618 wait 50010619 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown10620 wait 50010621 say "[Yes"10622 settimer EmoteCooldownTimer 010623 cooldown "Emote Cooldown" SetEmoteCooldown10624 endif10625 endif10626 10627 if insysmsg "enough experience to upgrade"10628 overhead "[ � ASPECT � ]" 223410629 wait 50010630 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown10631 wait 50010632 say "[Whistle"10633 settimer EmoteCooldownTimer 010634 cooldown "Emote Cooldown" SetEmoteCooldown10635 endif10636 endif10637 10638 if insysmsg "You have unlocked a codex upgrade point"10639 overhead '[ � CODEX! � ]' 211410640 wait 25010641 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown10642 wait 50010643 say "[HighFive"10644 settimer EmoteCooldownTimer 010645 cooldown "Emote Cooldown" SetEmoteCooldown10646 endif10647 endif10648 10649 if insysmsg "You have completed a society job"10650 overhead "[ SOCIETY COMPLETE! ]" 41910651 wait 50010652 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown10653 wait 50010654 say "[Awoo"10655 settimer EmoteCooldownTimer 010656 cooldown "Emote Cooldown" SetEmoteCooldown10657 endif10658 endif10659 10660 if insysmsg "You parry the spell"10661 overhead "*spell parry*" 11110662 endif10663 10664 if insysmsg "Your attack places a hex"10665 overhead '*hexxed*' 14 ClosestTarget10666 endif10667 10668 if insysmsg "100% arcane buildup"10669 overhead '[ ARCANE 100%! ]' 211410670 endif10671 10672 if insysmsg "Society Job Progress"10673 overhead "[ � SOCIETY � ]" 41910674 endif10675 10676 if insysmsg "attempting to steal" or insysmsg "attempting to peek"10677 overhead "[ THIEF DETECTED! ]" 91010678 endif10679 10680 if insysmsg "Their attack disarms you!"10681 overhead "*disarmed*" 33710682 endif10683 10684 if insysmsg "Their attack hamstrings you!"10685 overhead "*hamstrung*" 33710686 endif10687 endif10688 10689 if insysmsg "Mana Thief activated"10690 if EnableOverheadMessages != 010691 overhead "[ MANA THIEF! ]" 2210692 endif10693 cooldown "Mana Thief" 6000010694 endif10695 10696 if dead10697 break10698 endif10699 10700 if not warmode10701 @setvar! WarModeToggledWhileFighting 110702 elseif warmode10703 @setvar! WarModeToggledWhileFighting 010704 endif10705 10706 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange10707 settimer TargetChecker 010708 @setvar! AttackModeActive 010709 @setvar! RepeatCastingPoison 010710 @setvar! ClosestTargetisSticky 010711 @setvar! TargetSwap 010712 break10713 endif10714 10715 if diffhits > CastGreaterHealHPdiff or paralyzed10716 break10717 endif10718 endwhile10719 10720 ////////////////////////////10721 // END FLAMESTRIKE LOOP //10722 ////////////////////////////10723 10724 if not warmode10725 @setvar! WarModeToggledWhileFighting 110726 elseif warmode10727 @setvar! WarModeToggledWhileFighting 010728 endif10729 10730 ///////////////////////////10731 // MEDIUM ATTACK LOOP: //10732 ///////////////////////////10733 10734 while mana <= CastMediumSpellsBelowMana and mana >= CastSmallSpellsBelowMana and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and TargetSwap != 1 and diffhits < CastGreaterHealHPdiff10735 if dead10736 break10737 endif10738 10739 if EnableDropGoldWhenOverweight = 110740 if weight > maxweight10741 replay10742 endif10743 endif10744 10745 if EnableWeightWarningMessage = 110746 if diffweight < GreenWarningDiffWeight and diffweight > YellowWarningDiffWeight and timer "WeightMessageTimer" > 600010747 if EnableOverheadMessages = 1 or EnableOverheadMessages = 210748 overhead '[ WEIGHT WARNING... ]' 7710749 settimer "WeightMessageTimer" 010750 else10751 overhead " � " 7710752 settimer "WeightMessageTimer" 010753 endif10754 elseif diffweight < YellowWarningDiffWeight and diffweight > RedWeightLimitDiffWeight and timer "WeightMessageTimer" > 600010755 if EnableOverheadMessages = 1 or EnableOverheadMessages = 210756 overhead '[ WEIGHT WARNING! ]' 15310757 settimer "WeightMessageTimer" 010758 else10759 overhead " � " 15310760 settimer "WeightMessageTimer" 010761 endif10762 elseif diffweight < RedWeightLimitDiffWeight10763 if EnableOverheadMessages = 1 or EnableOverheadMessages = 210764 if timer "WeightMessageTimer" > 600010765 overhead '[ WEIGHT LIMIT REACHED! ]' 3710766 settimer "WeightMessageTimer" 010767 endif10768 else10769 if timer "WeightMessageTimer" > 600010770 overhead " � " 3710771 settimer "WeightMessageTimer" 010772 endif10773 endif10774 10775 if EnableAutoWeightRecall = 1 and not find ClosestTarget ground -1 -1 8 and WILDERNESSMODE = 110776 wait 50010777 hotkey 'Toggle Peace Only'10778 @setvar! WarModeToggledWhileFighting 010779 @setvar! AutoWeightRecall 110780 replay10781 elseif EnableAutoWeightRecall = 1 and find ClosestTarget ground -1 -1 8 and WILDERNESSMODE = 110782 if timer "WaitingToRecallTimer" > 3500 and EnableAutoRecallOverheadMessages = 110783 overhead '[ WAITING TO RECALL... ]' 14910784 settimer "WaitingToRecallTimer" 010785 endif10786 wait 50010787 elseif EnableAutoWeightDungeonGate = 1 and DUNGEONMODE = 110788 wait 50010789 hotkey 'Toggle Peace Only'10790 @setvar! WarModeToggledWhileFighting 010791 @setvar! TimeToGo 110792 replay10793 else10794 if EnableOverheadMessages = 1 or EnableOverheadMessages = 210795 overhead '[ OVERWEIGHT! ]' 33710796 else10797 overhead " � " 33710798 endif10799 wait 150010800 overhead '[ STOPPING SCRIPT! ]' 8810801 stop10802 endif10803 endif10804 endif10805 10806 if diffhits > CastGreaterHealHPdiff or paralyzed10807 break10808 endif10809 10810 if insysmsg "Mana Thief activated"10811 if EnableOverheadMessages != 010812 overhead "[ MANA THIEF! ]" 2210813 endif10814 cooldown "Mana Thief" 6000010815 endif10816 10817 if not warmode10818 @setvar! WarModeToggledWhileFighting 110819 elseif warmode10820 @setvar! WarModeToggledWhileFighting 010821 endif10822 10823 if TargetSwap = 110824 @setvar! AttackModeActive 210825 break10826 endif10827 10828 if mana > CastMediumSpellsBelowMana10829 break10830 endif10831 10832 if timer "TargetTimer" > 3500 and find ClosestTarget ground -1 -1 TargetAttackRange10833 getlabel ClosestTarget TargetDesc10834 if EnableOverheadMessages = 1 or EnableOverheadMessages = 210835 if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange10836 overhead '[ PARAGON! ]' 12 ClosestTarget10837 overhead " � " 12 ClosestTarget10838 settimer "TargetTimer" 010839 elseif find ClosestTarget ground -1 -1 TargetAttackRange10840 overhead '[ TARGET ]' 253 ClosestTarget10841 overhead " � " 253 ClosestTarget10842 settimer "TargetTimer" 010843 endif10844 else10845 if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange10846 overhead " ��� " 12 ClosestTarget10847 settimer "TargetTimer" 010848 elseif find ClosestTarget ground -1 -1 TargetAttackRange10849 overhead " � " 253 ClosestTarget10850 settimer "TargetTimer" 010851 endif10852 endif10853 endif10854 10855 if EnableWeaponCheck = 1 and skill 'Arcane' >= 50 and not findtype "31043|31017|31019|31021|31023|31025|31027|31029|31031|31033|31035|31037|31038|31041|31045|31047|31049|31051|31053|31055" hand10856 if findtype "31043|31017|31019|31021|31023|31025|31027|31029|31031|31033|31035|31037|31038|31041|31045|31047|31049|31051|31053|31055" self as myArcaneStaff10857 for 510858 if findtype "31043|31017|31019|31021|31023|31025|31027|31029|31031|31033|31035|31037|31038|31041|31045|31047|31049|31051|31053|31055" self as myArcaneStaff10859 getlabel myArcaneStaff myArcaneStafflabel10860 if "Aspect" in myArcaneStafflabel10861 break10862 elseif "unidentified" in myArcaneStafflabel10863 ignore myArcaneStaff10864 else10865 break10866 endif10867 endif10868 endfor10869 dclick myArcaneStaff10870 clearignore10871 wait 50010872 else10873 if timer "ArcaneStaffCheck" > 5000 and EnableOverheadMessages = 110874 overhead "[ NO ARCANE STAFF! ]" 33710875 settimer "ArcaneStaffCheck" 010876 endif10877 endif10878 endif10879 10880 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange10881 settimer TargetChecker 010882 @setvar! TargetSwap 010883 @setvar! RepeatCastingPoison 010884 @setvar! ClosestTargetisSticky 010885 @setvar! AttackModeActive 010886 break10887 endif10888 10889 if CheckClosestTargetTime != 010890 if timer TargetChecker > CheckClosestTargetTime10891 @setvar! TargetSwap 010892 hotkey "Target Closest Grey Monster"10893 getlabel backpack backpacklabel10894 @setvar! TargetToCheck lasttarget10895 wait 25010896 if TargetToCheck != ClosestTarget10897 settimer TargetChecker 010898 @setvar! TargetToAnalyze lasttarget10899 @setvar! ClosestTargetisSticky 010900 @setvar! AttackModeActive 210901 @setvar! TargetSwap 110902 break10903 endif10904 settimer TargetChecker 010905 endif10906 endif10907 10908 if skill "Arcane" >= 80 and EnableArcaneWeaponAbility != 0 and diffhits < CastGreaterHealHPdiff10909 if EnableArcaneCodexAbilityHotbar = 110910 if not gumpexists 395412193410911 yell '[abilitieshotbar'10912 wait 50010913 endif10914 endif10915 if timer ArcaneWeaponAbilityTimer > 6000010916 if EnableArcaneWeaponAbility = 110917 say "[Weaponability1"10918 getlabel backpack packdesc10919 wait 50010920 if insysmsg "You cannot perform that ability yet"10921 settimer ArcaneWeaponAbilityTimer 5500010922 else10923 settimer ArcaneWeaponAbilityTimer 010924 if EnableOverheadMessages = 110925 overhead "[ SEEKING ABILITY! ]" 211410926 endif10927 cooldown "Seeking Active" 1500010928 cooldown "Weapon Ability" 6000010929 endif10930 elseif EnableArcaneWeaponAbility = 2 and diffmana > 2510931 say "[Weaponability2"10932 getlabel backpack packdesc10933 wait 50010934 if insysmsg "You cannot perform that ability yet"10935 settimer ArcaneWeaponAbilityTimer 5500010936 else10937 settimer ArcaneWeaponAbilityTimer 010938 if EnableOverheadMessages = 110939 overhead "[ LEYLINE ABILITY! ]" 42010940 endif10941 cooldown "Leyline Active" 1500010942 cooldown "Weapon Ability" 6000010943 endif10944 elseif EnableArcaneWeaponAbility = 310945 say "[Weaponability3"10946 getlabel backpack packdesc10947 wait 50010948 if insysmsg "You cannot perform that ability yet"10949 settimer ArcaneWeaponAbilityTimer 5500010950 else10951 settimer ArcaneWeaponAbilityTimer 010952 if EnableOverheadMessages = 110953 overhead "[ SOULFIRE ABILITY! ]" 211610954 endif10955 cooldown "Weapon Ability" 6000010956 endif10957 endif10958 endif10959 endif10960 10961 if mana < LowManaWarningAmount and timer ManaOverheadTimer > 4500 and LowManaWarningAmount != 010962 overhead "[ LOW MANA! ]" 3410963 settimer ManaOverheadTimer 010964 endif10965 10966 if EnableNecroStrangle = 1 or EnableNecroCorpseSkin = 1 or EnableNecroMindRot = 1 or EnableNecroEvilOmen = 1 or EnableNecroPainSpike = 110967 if findtype 'necromancer book' backpack10968 yell '[necromancyhotbar'10969 while not gumpexists 62243651610970 yell '[necromancyhotbar'10971 endwhile10972 endif10973 endif10974 10975 if gumpexists 62243651610976 if ingump "12/|13/|14/|15/|16/|17/|18/|19/|20/|21/|11/|10/|9/|8/|7/|6/|5/" 62243651610977 @setvar! StrangleAvailable 110978 @setvar! MindRotAvailable 110979 @setvar! CorpseSkinAvailable 110980 @setvar! EvilOmenAvailable 110981 @setvar! PainSpikeAvailable 110982 elseif ingump "4/" 62243651610983 if ingump "14/" 62243651610984 @setvar! StrangleAvailable 110985 @setvar! MindRotAvailable 110986 @setvar! CorpseSkinAvailable 110987 @setvar! EvilOmenAvailable 110988 @setvar! PainSpikeAvailable 110989 else10990 @setvar! StrangleAvailable 110991 @setvar! MindRotAvailable 110992 @setvar! CorpseSkinAvailable 110993 @setvar! EvilOmenAvailable 110994 @setvar! PainSpikeAvailable 010995 endif10996 elseif ingump "3/" 62243651610997 if ingump "13/" 62243651610998 @setvar! StrangleAvailable 110999 @setvar! MindRotAvailable 111000 @setvar! CorpseSkinAvailable 111001 @setvar! EvilOmenAvailable 111002 @setvar! PainSpikeAvailable 111003 else11004 @setvar! StrangleAvailable 011005 @setvar! MindRotAvailable 111006 @setvar! CorpseSkinAvailable 111007 @setvar! EvilOmenAvailable 111008 @setvar! PainSpikeAvailable 011009 endif11010 elseif ingump "2/" 62243651611011 if ingump "12/" 62243651611012 @setvar! StrangleAvailable 111013 @setvar! MindRotAvailable 111014 @setvar! CorpseSkinAvailable 111015 @setvar! EvilOmenAvailable 111016 @setvar! PainSpikeAvailable 111017 else11018 @setvar! StrangleAvailable 011019 @setvar! MindRotAvailable 011020 @setvar! CorpseSkinAvailable 111021 @setvar! EvilOmenAvailable 111022 @setvar! PainSpikeAvailable 011023 endif11024 elseif ingump "1/" 62243651611025 if ingump "11/" 62243651611026 @setvar! StrangleAvailable 111027 @setvar! MindRotAvailable 111028 @setvar! CorpseSkinAvailable 111029 @setvar! EvilOmenAvailable 111030 @setvar! PainSpikeAvailable 111031 else11032 @setvar! StrangleAvailable 011033 @setvar! MindRotAvailable 011034 @setvar! CorpseSkinAvailable 011035 @setvar! EvilOmenAvailable 011036 @setvar! PainSpikeAvailable 011037 endif11038 elseif ingump "0/" 62243651611039 if ingump "10/" 62243651611040 @setvar! StrangleAvailable 111041 @setvar! MindRotAvailable 111042 @setvar! CorpseSkinAvailable 111043 @setvar! EvilOmenAvailable 111044 @setvar! PainSpikeAvailable 111045 else11046 @setvar! StrangleAvailable 011047 @setvar! MindRotAvailable 011048 @setvar! CorpseSkinAvailable 011049 @setvar! EvilOmenAvailable 011050 @setvar! PainSpikeAvailable 011051 endif11052 endif11053 endif11054 11055 if EnableNecroStrangle = 1 and StrangleAvailable = 1 and timer StrangleTimer > 30000 and skill 'necromancy' >= 85 and mana >= 50 and diffhits < CastGreaterHealHPdiff and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and timer NecroCooldownTimer > 100011056 @setvar! CastingWasInterrupted 011057 clearsysmsg11058 while not insysmsg "unholy symbols remaining"11059 yell '[Strangle'11060 getlabel backpack packdesc11061 wait 25011062 if insysmsg "seconds before you may use that ability again."11063 @setvar! CastingWasInterrupted 111064 settimer StrangleTimer 2800011065 break11066 endif11067 endwhile11068 11069 if CastingWasInterrupted = 011070 if EnableOverheadMessages = 111071 overhead '[ STRANGLE ]' 33411072 endif11073 settimer StrangleTimer 011074 cooldown "Strangle" 3000011075 settimer NecroCooldownTimer 011076 endif11077 endif11078 11079 if EnableNecroCorpseSkin = 1 and CorpseSkinAvailable = 1 and timer CorpseSkinTimer > 30000 and skill 'necromancy' >= 65 and mana >= MinimumManaAmounttoNecroBuff and diffhits < CastGreaterHealHPdiff and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and timer NecroCooldownTimer > 100011080 @setvar! CastingWasInterrupted 011081 clearsysmsg11082 while not insysmsg "unholy symbols remaining"11083 yell '[CorpseSkin'11084 getlabel backpack packdesc11085 wait 25011086 if insysmsg "seconds before you may use that ability again."11087 @setvar! CastingWasInterrupted 111088 settimer CorpseSkinTimer 2800011089 break11090 endif11091 endwhile11092 11093 if CastingWasInterrupted = 011094 if EnableOverheadMessages = 111095 overhead '[ CORPSE SKIN ]' 4011096 endif11097 settimer CorpseSkinTimer 011098 cooldown "Corpse Skin" 3000011099 settimer NecroCooldownTimer 011100 endif11101 endif11102 11103 if EnableNecroMindRot = 1 and MindRotAvailable = 1 and timer MindRotTimer > 30000 and skill 'necromancy' >= 75 and mana >= MinimumManaAmounttoNecroBuff and diffhits < CastGreaterHealHPdiff and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and timer NecroCooldownTimer > 100011104 @setvar! CastingWasInterrupted 011105 clearsysmsg11106 while not insysmsg "unholy symbols remaining"11107 yell '[MindRot'11108 getlabel backpack packdesc11109 wait 25011110 if insysmsg "seconds before you may use that ability again."11111 @setvar! CastingWasInterrupted 111112 settimer MindRotTimer 2800011113 break11114 else11115 break11116 endif11117 endwhile11118 11119 if CastingWasInterrupted = 011120 if EnableOverheadMessages = 111121 overhead '[ MIND ROT ]' 22311122 endif11123 settimer MindRotTimer 011124 cooldown "Mind Rot" 3000011125 settimer NecroCooldownTimer 011126 endif11127 endif11128 11129 if EnableNecroEvilOmen = 1 and EvilOmenAvailable = 1 and timer EvilOmenTimer > 30000 and skill 'necromancy' >= 60 and mana >= MinimumManaAmounttoNecroBuff and diffhits < CastGreaterHealHPdiff and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and timer NecroCooldownTimer > 100011130 @setvar! CastingWasInterrupted 011131 clearsysmsg11132 while not insysmsg "unholy symbols remaining"11133 yell '[EvilOmen'11134 getlabel backpack packdesc11135 wait 25011136 if insysmsg "seconds before you may use that ability again."11137 @setvar! CastingWasInterrupted 111138 settimer EvilOmenTimer 2800011139 break11140 endif11141 endwhile11142 11143 if CastingWasInterrupted = 011144 if EnableOverheadMessages = 111145 overhead '[ EVIL OMEN ]' 23811146 endif11147 settimer EvilOmenTimer 011148 cooldown "Evil Omen" 3000011149 settimer NecroCooldownTimer 011150 endif11151 endif11152 11153 if EnableNecroPainSpike = 1 and PainSpikeAvailable = 1 and timer 'PainSpikeTimer' > 30000 and skill 'necromancy' >= 95 and mana >= MinimumManaAmounttoNecroBuff and diffhits < CastGreaterHealHPdiff and not dead ClosestTarget and find ClosestTarget ground -1 -1 4 and findtype 8198 ground -1 -1 2 as corpsespike and timer 'PainSpikeDelayTimer' > PainSpikeAttackDelay and timer NecroCooldownTimer > 100011154 @setvar! CastingWasInterrupted 011155 clearsysmsg11156 yell "[PainSpike"11157 wft 100011158 target ClosestTarget11159 getlabel backpack backpacklabel11160 wft 25011161 if insysmsg "You do not see any corpses" or insysmsg "seconds before you may use that ability again."11162 settimer PainSpikeTimer 2500011163 @setvar! CastingWasInterrupted 111164 endif11165 11166 if CastingWasInterrupted = 011167 if EnableOverheadMessages = 111168 overhead '[ PAIN SPIKE! ]' 33711169 endif11170 settimer PainSpikeTimer 011171 cooldown "Pain Spike" 3000011172 settimer NecroCooldownTimer 011173 endif11174 endif11175 11176 if EnableNecroPoisonStrike != 0 and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and diffhits < CastGreaterHealHPdiff and timer NecroCooldownTimer > 100011177 getlabel ClosestTarget targetLabel11178 if "-" in targetLabel11179 getlabel ClosestTarget targetLabel11180 endif11181 11182 @setvar! CastPoisonStrike 011183 11184 if EnableCastPoison = 111185 if "Ticks" in targetLabel or "resists" in targetLabel and EnableCastPoison = 111186 @setvar! RepeatCastingPoison 111187 11188 if SetPoisonLevel = 211189 if "Lethal" in targetLabel11190 @setvar! RepeatCastingPoison 011191 endif11192 elseif SetPoisonLevel = 111193 if "Lethal" in targetLabel or "Deadly" in targetLabel11194 @setvar! RepeatCastingPoison 011195 endif11196 else11197 @setvar! RepeatCastingPoison 011198 endif11199 11200 if EnableNecroPoisonStrike != 011201 if findtype 'necromancer book' backpack and not gumpexists 62243651611202 yell '[necromancyhotbar'11203 while not gumpexists 62243651611204 yell '[necromancyhotbar'11205 wait 50011206 endwhile11207 endif11208 11209 if EnableNecroPoisonStrike = 211210 if "[2" in targetLabel11211 @setvar! CastPoisonStrike 111212 else11213 @setvar! CastPoisonStrike 011214 endif11215 elseif EnableNecroPoisonStrike = 311216 if "[2" in targetLabel or "[3" in targetLabel11217 @setvar! CastPoisonStrike 111218 else11219 @setvar! CastPoisonStrike 011220 endif11221 elseif EnableNecroPoisonStrike = 411222 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel11223 @setvar! CastPoisonStrike 111224 else11225 @setvar! CastPoisonStrike 011226 endif11227 elseif EnableNecroPoisonStrike = 511228 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel or "[5" in targetLabel11229 @setvar! CastPoisonStrike 111230 else11231 @setvar! CastPoisonStrike 011232 endif11233 elseif EnableNecroPoisonStrike = 611234 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel or "[5" in targetLabel or "[6" in targetLabel11235 @setvar! CastPoisonStrike 111236 else11237 @setvar! CastPoisonStrike 011238 endif11239 elseif EnableNecroPoisonStrike = 711240 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel or "[5" in targetLabel or "[6" in targetLabel or "[7" in targetLabel11241 @setvar! CastPoisonStrike 111242 else11243 @setvar! CastPoisonStrike 011244 endif11245 elseif EnableNecroPoisonStrike = 811246 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel or "[5" in targetLabel or "[6" in targetLabel or "[7" in targetLabel or "[8" in targetLabel11247 @setvar! CastPoisonStrike 111248 else11249 @setvar! CastPoisonStrike 011250 endif11251 elseif EnableNecroPoisonStrike = 911252 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel or "[5" in targetLabel or "[6" in targetLabel or "[7" in targetLabel or "[8" in targetLabel or "[9" in targetLabel11253 @setvar! CastPoisonStrike 111254 else11255 @setvar! CastPoisonStrike 011256 endif11257 endif11258 getlabel backpack packdesc11259 endif11260 endif11261 else11262 if timer CorpseSkinDiseaseTimer > CorpseSkinPoisonStrikeDelay and EnableNecroPoisonStrike = 1 and EnableNecroCorpseSkin = 111263 @setvar! CastPoisonStrike 111264 else11265 @setvar! CastPoisonStrike 011266 endif11267 endif11268 11269 getlabel backpack packdesc11270 11271 if CastPoisonStrike = 111272 if findtype 'necromancer book' backpack and not gumpexists 62243651611273 while not gumpexists 62243651611274 yell '[necromancyhotbar'11275 endwhile11276 endif11277 11278 @setvar! PoisonStrikeAvailable 011279 11280 if gumpexists 62243651611281 if ingump "12/|13/|14/|15/|16/|17/|18/|19/|20/|21/|11/|10/|9/|8/|7/|6/|5/|4/|3/|2/" 62243651611282 @setvar! PoisonStrikeAvailable 111283 elseif ingump "1/" 62243651611284 @setvar! PoisonStrikeAvailable 111285 elseif ingump "0/" 62243651611286 if ingump "10/" 62243651611287 @setvar! PoisonStrikeAvailable 111288 else11289 @setvar! PoisonStrikeAvailable 011290 endif11291 endif11292 endif11293 11294 if CastPoisonStrike = 1 and PoisonStrikeAvailable = 1 and timer PoisonStrikeTimer > 30000 and skill 'necromancy' >= 55 and diffhits < CastGreaterHealHPdiff and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange11295 clearsysmsg11296 while not insysmsg "unholy symbols remaining"11297 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange11298 @setvar! RepeatCastingPoison 011299 @setvar! AttackModeActive 011300 @setvar! ClosestTargetisSticky 011301 @setvar! TargetSwap 011302 break11303 endif11304 11305 yell '[PoisonStrike'11306 wft 150011307 clearsysmsg11308 target ClosestTarget11309 wait 25011310 11311 if insysmsg "seconds before you may use that ability again."11312 settimer PoisonStrikeTimer 2800011313 clearsysmsg11314 break11315 elseif insysmsg "You do not have a Spell-based poison or disease effect on that target."11316 settimer PoisonStrikeTimer 1500011317 clearsysmsg11318 break11319 else11320 break11321 endif11322 endwhile11323 11324 if insysmsg "unholy symbols remaining"11325 if EnableOverheadMessages = 111326 overhead '[ POISON STRIKE! ]' 7711327 endif11328 @setvar! PoisonStrikeAvailable 011329 settimer PoisonStrikeTimer 011330 cooldown "Poison Strike" 3000011331 @setvar! CastPoisonStrike 011332 settimer NecroCooldownTimer 011333 endif11334 endif11335 endif11336 11337 if EnableCastPoison = 1 and RepeatCastingPoison = 1 and diffhits < CastGreaterHealHPdiff and mana >= 9 and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and findtype 3976 self11338 cast 'Poison'11339 settimer AntiStallTimer 011340 11341 while not targetexists and timer AntiStallTimer < 250011342 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange11343 @setvar! RepeatCastingPoison 011344 @setvar! AttackModeActive 011345 @setvar! CastingWasInterrupted 111346 @setvar! ClosestTargetisSticky 011347 @setvar! TargetSwap 011348 interrupt11349 break11350 endif11351 11352 if insysmsg "Your concentration is disturbed"11353 interrupt11354 @setvar! CastingWasInterrupted 111355 break11356 endif11357 11358 if timer AntiStallTimer > 250011359 settimer AntiStallTimer 011360 break11361 endif11362 endwhile11363 11364 if CastingWasInterrupted = 1 and EnableNecroMindRot = 1 and MindRotAvailable = 1 and timer MindRotTimer > 30000 and skill 'necromancy' >= 7511365 while not insysmsg "unholy symbols remaining"11366 yell '[MindRot'11367 getlabel backpack packdesc11368 wait 25011369 if insysmsg "seconds before you may use that ability again."11370 @setvar! CastingWasInterrupted 111371 settimer MindRotTimer 2800011372 break11373 endif11374 endwhile11375 11376 if CastingWasInterrupted = 011377 if EnableOverheadMessages = 111378 overhead '[ MIND ROT ]' 33011379 endif11380 settimer MindRotTimer 011381 cooldown "Mind Rot" 3000011382 endif11383 @setvar! CastingWasInterrupted 011384 endif11385 11386 if CastingWasInterrupted = 011387 clearsysmsg11388 target ClosestTarget11389 getlabel backpack packdesc11390 wait 25011391 if insysmsg "cannot be seen"11392 break11393 endif11394 endif11395 endif11396 endif11397 11398 if EnableMeditation = 1 and mana < MeditateWhenManaBelow and not findbuff "meditating" and timer 'MeditationTimer' > 1000011399 skill 'meditation'11400 getlabel backpack packdesc11401 wait 25011402 11403 if not findbuff 'meditating'11404 settimer 'MeditationTimer' 750011405 elseif findbuff 'meditating'11406 hotkey 'Toggle Peace Only'11407 settimer 'MeditationTimer' 011408 11409 while mana < maxmana and diffhits < CastGreaterHealHPdiff11410 if not findbuff 'meditating'11411 hotkey 'Toggle War Only'11412 break11413 endif11414 11415 if mana > MeditateUntilManaReaches11416 hotkey 'Toggle War Only'11417 break11418 endif11419 11420 if warmode on11421 break11422 endif11423 11424 if diffhits > CastGreaterHealHPdiff11425 break11426 endif11427 11428 if dead11429 break11430 endif11431 11432 if timer 'MeditationMessageTimer' > 400011433 if EnableOverheadMessages = 111434 overhead '[ MEDITATING... ]' 1111435 else11436 overhead "*meditating*" 1111437 endif11438 settimer 'MeditationMessageTimer' 011439 endif11440 endwhile11441 11442 if diffhits > CastGreaterHealHPdiff11443 break11444 endif11445 11446 if dead11447 break11448 endif11449 endif11450 elseif EnableMeditation != 1 and MeditateWhenManaBelow != 0 and mana < MeditateWhenManaBelow11451 if timer MissingRegsTimer > 400011452 if EnableOverheadMessages = 111453 overhead '[ WAITING FOR MANA... ]' 42011454 settimer MissingRegsTimer 011455 endif11456 endif11457 endif11458 11459 if EnablePKradar = 1 and TimeToGo != 111460 if timer "PKRadarTimer" > 150011461 clearsysmsg11462 hotkey 'Next Murderer Player Target'11463 wait 25011464 if insysmsg "No one matching that was found"11465 settimer "PKRadarTimer" 011466 clearsysmsg11467 else11468 if EnableRedAlertOverhead = 111469 overhead "[ !! RED ALERT !! ]" 3711470 endif11471 hotkey 'Toggle Peace Only'11472 @setvar! WarModeToggledWhileFighting 011473 @setvar! RedTargetFound 111474 @setvar! TimeToGo 111475 @setvar! MurdererTarget lasttarget11476 replay11477 endif11478 endif11479 endif11480 11481 if EnableTrackingAutoRecall = 1 and TimeToGo != 111482 if PKTrackingRange = 6011483 if insysmsg ": 60 step" or insysmsg "60 space" or insysmsg ": 59 step" or insysmsg "59 space" or insysmsg ": 58 step" or insysmsg "58 space" or insysmsg ": 57 step" or insysmsg "57 space" or insysmsg ": 56 step" or insysmsg "56 space" or insysmsg ": 55 step" or insysmsg "55 space" or insysmsg ": 54 step" or insysmsg "54 space" or insysmsg ": 53 step" or insysmsg "53 space" or insysmsg ": 52 step" or insysmsg "52 space" or insysmsg ": 51 step" or insysmsg "51 space" or insysmsg ": 50 step" or insysmsg "50 space" or insysmsg ": 49 step" or insysmsg "49 space" or insysmsg ": 48 step" or insysmsg "48 space" or insysmsg ": 47 step" or insysmsg "47 space" or insysmsg ": 46 step" or insysmsg "46 space" or insysmsg ": 45 step" or insysmsg "45 space" or insysmsg ": 44 step" or insysmsg "44 space" or insysmsg ": 43 step" or insysmsg "43 space" or insysmsg ": 42 step" or insysmsg "42 space" or insysmsg ": 41 step" or insysmsg "41 space" or insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space"11484 hotkey 'Toggle Peace Only'11485 if EnableRedAlertOverhead = 111486 overhead '[ !! RED ALERT !! ]' 3711487 endif11488 @setvar! WarModeToggledWhileFighting 011489 @setvar! RedTargetFound 111490 @setvar! TimeToGo 111491 clearsysmsg11492 replay11493 endif11494 elseif PKTrackingRange = 5011495 if insysmsg ": 50 step" or insysmsg "50 space" or insysmsg ": 49 step" or insysmsg "49 space" or insysmsg ": 48 step" or insysmsg "48 space" or insysmsg ": 47 step" or insysmsg "47 space" or insysmsg ": 46 step" or insysmsg "46 space" or insysmsg ": 45 step" or insysmsg "45 space" or insysmsg ": 44 step" or insysmsg "44 space" or insysmsg ": 43 step" or insysmsg "43 space" or insysmsg ": 42 step" or insysmsg "42 space" or insysmsg ": 41 step" or insysmsg "41 space" or insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space"11496 hotkey 'Toggle Peace Only'11497 if EnableRedAlertOverhead = 111498 overhead '[ !! RED ALERT !! ]' 3711499 endif11500 @setvar! WarModeToggledWhileFighting 011501 @setvar! RedTargetFound 111502 @setvar! TimeToGo 111503 clearsysmsg11504 replay11505 endif11506 elseif PKTrackingRange = 4011507 if insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space"11508 hotkey 'Toggle Peace Only'11509 if EnableRedAlertOverhead = 111510 overhead '[ !! RED ALERT !! ]' 3711511 endif11512 @setvar! WarModeToggledWhileFighting 011513 @setvar! RedTargetFound 111514 @setvar! TimeToGo 111515 clearsysmsg11516 replay11517 endif11518 elseif PKTrackingRange = 011519 if insysmsg "Now tracking"11520 hotkey 'Toggle Peace Only'11521 if EnableRedAlertOverhead = 111522 overhead '[ !! RED ALERT !! ]' 3711523 endif11524 @setvar! WarModeToggledWhileFighting 011525 @setvar! RedTargetFound 111526 @setvar! TimeToGo 111527 clearsysmsg11528 replay11529 endif11530 endif11531 endif11532 11533 if EnableEatMagicMushrooms = 111534 if diffmana > EatMushroomManadiff and timer MushroomTimer > 6000011535 if counttype 29012 backpack11536 dclicktype 29012 backpack11537 getlabel backpack packdesc11538 wait 25011539 if insysmsg "You consume a magic mushroom"11540 settimer MushroomTimer 011541 cooldown "Mushroom" 6000011542 if EnableOverheadMessages = 111543 overhead '[ EATING SHROOMS... ]' 1311544 endif11545 endif11546 elseif EnableOverheadMessages = 111547 overhead '[ OUT OF SHROOMS! ]' 33711548 endif11549 endif11550 endif11551 11552 if EnableEatManaSnacks = 111553 if skill 'Cooking' >= 5011554 if findtype "29774|28883|28885|28880|28879|28888|28886|29773|28881" backpack as mysnack11555 if timer 'EatManaSnackCooldownTimer' > EatManaSnackCooldown and diffmana > EatSnackManadiff11556 if EnableOverheadMessages = 111557 overhead "[ MANA MUNCHING... ]" 42011558 endif11559 dclick mysnack11560 wait 25011561 settimer 'EatManaSnackCooldownTimer' 011562 settimer 'EatHealSnackCooldownTimer' 011563 cooldown "Snacking" EatManaSnackCooldown11564 endif11565 else11566 if timer FoodMessageTimer > 15000 and EnableOverheadMessages = 111567 overhead "[ NO MORE FOOD! ]" 33711568 settimer FoodMessageTimer 011569 endif11570 endif11571 endif11572 endif11573 11574 if EnableStrengthPotion = 1 and diffhits < CastGreaterHealHPdiff11575 if skill 'Alchemy' > 0 and skill 'Alchemy' < 211576 if insysmsg "You may now use a strength" or not findbuff "Strength Potion Usage Cooldown"11577 if findtype "White Potion" self11578 dclicktype "White Potion"11579 if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 450011580 if insysmsg "potion satchel used"11581 overhead '[ FREE STRENGTH POTION ]' 95611582 else11583 overhead '[ STRENGTH POTION ]' 95611584 endif11585 clearsysmsg11586 settimer WhitePotionMessageTimer 011587 endif11588 wait 25011589 else11590 if timer WhitePotionMessageTimer > 450011591 overhead '[ NO STRENGTH POTS! ]' 33711592 settimer WhitePotionMessageTimer 011593 endif11594 endif11595 clearsysmsg11596 endif11597 elseif skill 'Alchemy' = 011598 if insysmsg "You may now use a strength" or not findbuff "Strength Potion Usage Cooldown"11599 if findtype "White Potion" self11600 dclicktype "White Potion"11601 if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 450011602 if insysmsg "potion satchel used"11603 overhead '[ FREE STRENGTH POTION ]' 95611604 else11605 overhead '[ STRENGTH POTION ]' 95611606 endif11607 clearsysmsg11608 settimer WhitePotionMessageTimer 011609 endif11610 wait 25011611 else11612 if timer WhitePotionMessageTimer > 450011613 overhead '[ NO STRENGTH POTS! ]' 33711614 settimer WhitePotionMessageTimer 011615 endif11616 endif11617 clearsysmsg11618 endif11619 else11620 if not findbuff "Strength"11621 if findtype "White Potion" self11622 dclicktype "White Potion"11623 if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 450011624 if insysmsg "potion satchel used"11625 overhead '[ FREE STRENGTH POTION ]' 95611626 else11627 overhead '[ STRENGTH POTION ]' 95611628 endif11629 clearsysmsg11630 settimer WhitePotionMessageTimer 011631 endif11632 wait 25011633 else11634 if timer WhitePotionMessageTimer > 450011635 overhead '[ NO STRENGTH POTS! ]' 33711636 settimer WhitePotionMessageTimer 011637 endif11638 endif11639 endif11640 endif11641 endif11642 11643 if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff11644 if findtype "Yellow Potion" self as HealPot11645 getlabel HealPot HealPotlabel11646 if "next" in HealPotlabel11647 // Do nothing11648 else11649 @setvar! HealPotionCheck 011650 11651 if counttype 3852 self as HealPotCount11652 @setvar! HealPotionCheck HealPotCount11653 endif11654 clearsysmsg11655 dclicktype 385211656 getlabel backpack backpackdesc11657 wait 25011658 if insysmsg "potion satchel used"11659 settimer 'HealPotionTimer' 011660 cooldown "Healing Potion" HealingPotionCooldown11661 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 450011662 overhead '[ FREE HEAL POTION ]' 25311663 endif11664 elseif HealPotionCheck != counttype 3852 self11665 settimer 'HealPotionTimer' 011666 cooldown "Healing Potion" HealingPotionCooldown11667 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 450011668 overhead '[ HEAL POTION ]' 25311669 endif11670 endif11671 clearsysmsg11672 endif11673 else11674 if timer 'HealPotionMessageTimer' > 4500 and EnableOverheadMessages = 111675 overhead '[ NO HEAL POTS! ]' 33711676 settimer 'HealPotionMessageTimer' 011677 endif11678 endif11679 endif11680 11681 if skill 'healing' > 0 and hp < maxhp and not bandaging11682 if findtype 'clean bandage%s%' self11683 hotkey 'Bandage Self'11684 if EnableOverheadMessages = 111685 overhead '[ BANDAGING... ]' 8811686 endif11687 else11688 if EnableOverheadMessages = 111689 overhead '[ NO BANDAGES! ]' 33711690 endif11691 endif11692 endif11693 11694 if EnableAgilityPotion = 1 and not findbuff "Agility" and diffhits < CastGreaterHealHPdiff11695 if findtype "Blue Potion" self11696 dclicktype "Blue Potion"11697 if EnableOverheadMessages = 1 and timer BluePotionMessageTimer > 450011698 if insysmsg "potion satchel used"11699 overhead '[ FREE AGILITY POTION ]' 9311700 else11701 overhead '[ AGILITY POTION ]' 9311702 endif11703 clearsysmsg11704 settimer BluePotionMessageTimer 011705 endif11706 wait 25011707 else11708 if timer BluePotionMessageTimer > 4500 and EnableOverheadMessages = 111709 overhead '[ NO AGILITY POTS! ]' 33711710 settimer BluePotionMessageTimer 011711 endif11712 endif11713 endif11714 11715 if EnableMagicResistPotion = 1 and not findbuff "Magic Resist" and diffhits < CastGreaterHealHPdiff11716 if findtype "Black Potion" self11717 dclicktype "Black Potion"11718 if EnableOverheadMessages = 1 and timer BlackPotionMessageTimer > 450011719 if insysmsg "potion satchel used"11720 overhead '[ FREE RESIST POTION ]' 110911721 else11722 overhead '[ RESIST POTION ]' 110911723 endif11724 clearsysmsg11725 settimer BlackPotionMessageTimer 011726 endif11727 wait 25011728 else11729 if timer BlackPotionMessageTimer > 4500 and EnableOverheadMessages = 111730 overhead '[ NO RESIST POTS! ]' 33711731 settimer BlackPotionMessageTimer 011732 endif11733 endif11734 endif11735 11736 if EnableRefreshPotion = 1 and diffstam > RefreshPotionSPdiff11737 if findtype "Red Potion" self11738 dclicktype "Red Potion"11739 if EnableOverheadMessages = 1 and timer RedPotionMessageTimer > 450011740 if insysmsg "potion satchel used"11741 overhead '[ FREE REFRESH POTION ]' 3711742 else11743 overhead '[ REFRESH POTION ]' 3711744 endif11745 clearsysmsg11746 settimer RedPotionMessageTimer 011747 endif11748 wait 25011749 else11750 if timer RedPotionMessageTimer > 4500 and EnableOverheadMessages = 111751 overhead '[ NO REFRESH POTS! ]' 33711752 settimer RedPotionMessageTimer 011753 endif11754 endif11755 endif11756 11757 @setvar! SpellcastCooldown 011758 @setvar! CastingWasInterrupted 011759 11760 if diffhits < CastGreaterHealHPdiff11761 if EnableCastExplosion = 1 and mana >= 20 and findtype 3963 self and findtype 3974 self and timer ExplosionCooldownTimer > ExplosionCooldown11762 cast 'Explosion'11763 settimer ExplosionCooldownTimer 011764 settimer EnergyBoltCooldownTimer EnergyBoltCooldown11765 settimer spellTimer 011766 @setvar! SpellcastCooldown 120011767 elseif EnableCastEnergyBolt = 1 and mana >= 20 and findtype 3962 self and findtype 3976 self and timer EnergyBoltCooldownTimer > EnergyBoltCooldown11768 cast 'energy bolt'11769 settimer EnergyBoltCooldownTimer 011770 settimer MindBlastCooldownTimer MindBlastCooldown11771 settimer spellTimer 011772 @setvar! SpellcastCooldown 120011773 elseif EnableCastMindblast = 1 and mana >= 20 and findtype 3962 self and findtype 3974 self and findtype 3976 self and findtype 3980 self and timer MindBlastCooldownTimer > MindBlastCooldown11774 cast 'mind blast'11775 settimer MindBlastCooldownTimer 011776 settimer spellTimer 011777 @setvar! SpellcastCooldown 120011778 endif11779 11780 settimer AntiStallTimer 011781 getlabel backpack backpacklabel11782 11783 while not targetexists11784 if targetexists11785 break11786 endif11787 11788 if diffhits >= CastGreaterHealHPdiff11789 interrupt11790 @setvar! AttackModeActive 111791 @setvar! CastingWasInterrupted 111792 endif11793 11794 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange11795 @setvar! AttackModeActive 011796 @setvar! RepeatCastingPoison 011797 @setvar! CastingWasInterrupted 111798 @setvar! ClosestTargetisSticky 011799 @setvar! TargetSwap 011800 interrupt11801 break11802 endif11803 11804 if insysmsg "Your concentration is disturbed"11805 interrupt11806 @setvar! CastingWasInterrupted 111807 break11808 endif11809 11810 if EnablePanaceaPotion = 1 and skill 'Alchemy' >= 80 and RedTargetFound != 111811 if findbuff "Bleed" or findbuff "Diseased"11812 if not findbuff "panacea potion cooldown"11813 if findtype "Orange Potion" self11814 dclicktype "Orange Potion"11815 wait 50011816 if findbuff "panacea potion cooldown" and EnableOverheadMessages = 111817 overhead '[ PANACEA ACTIVATED ]' 5511818 cooldown "Panacea Potion" 3000011819 endif11820 endif11821 endif11822 endif11823 endif11824 11825 if EnableCleansingBrews = 111826 if findbuff "Diseased" or findbuff "Bleed"11827 if timer CleansingBrewTimer > 12000011828 if findtype 50675 self 2935 as CleansingBrew11829 dclick CleansingBrew11830 if EnableOverheadMessages = 111831 overhead '[ CLEANSING BREW ]' 211711832 endif11833 cooldown 'Cleansing Brew' 12000011834 settimer CleansingBrewTimer 011835 wait 25011836 else11837 if timer CleansingBrewOverhead > 1500011838 overhead "[ NO CLEANSING BREWS! ]" 33711839 settimer CleansingBrewOverhead 011840 settimer CleansingBrewTimer 011841 endif11842 endif11843 else11844 if EnableOverheadMessages = 1 and timer CleansingBrewOverhead > 1500011845 overhead '[ BREW ON COOLDOWN! ]' 3711846 settimer CleansingBrewOverhead 011847 endif11848 endif11849 endif11850 endif11851 11852 if EnableCurePotion = 111853 while poisoned and casting and not targetexists11854 if findtype "Orange Potion" self11855 dclicktype "Orange Potion"11856 if EnableOverheadMessages = 1 and timer 'CurePotionMessageTimer' > 350011857 if insysmsg "potion satchel used"11858 overhead '[ FREE CURE POTION ]' 4411859 else11860 overhead '[ CURE POTION ]' 4411861 endif11862 clearsysmsg11863 settimer 'CurePotionMessageTimer' 011864 endif11865 wait 50011866 else11867 if timer 'CurePotionMessageTimer' > 5000 and EnableOverheadMessages = 111868 overhead '[ NO CURE POTS! ]' 33711869 settimer 'CurePotionMessageTimer' 011870 endif11871 break11872 endif11873 endwhile11874 endif11875 11876 if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff and casting and not targetexists11877 if findtype "Yellow Potion" self as HealPot11878 getlabel HealPot HealPotlabel11879 if "next" in HealPotlabel11880 // Do nothing11881 else11882 @setvar! HealPotionCheck 011883 11884 if counttype 3852 self as HealPotCount11885 @setvar! HealPotionCheck HealPotCount11886 endif11887 clearsysmsg11888 dclicktype 385211889 getlabel backpack backpackdesc11890 wait 25011891 if insysmsg "potion satchel used"11892 settimer 'HealPotionTimer' 011893 cooldown "Healing Potion" HealingPotionCooldown11894 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 450011895 overhead '[ FREE HEAL POTION ]' 25311896 endif11897 elseif HealPotionCheck != counttype 3852 self11898 settimer 'HealPotionTimer' 011899 cooldown "Healing Potion" HealingPotionCooldown11900 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 450011901 overhead '[ HEAL POTION ]' 25311902 endif11903 endif11904 clearsysmsg11905 endif11906 else11907 if timer 'HealPotionMessageTimer' > 4500 and EnableOverheadMessages = 111908 overhead '[ NO HEAL POTS! ]' 33711909 settimer 'HealPotionMessageTimer' 011910 endif11911 endif11912 endif11913 11914 if timer AntiStallTimer > 350011915 settimer AntiStallTimer 011916 break11917 endif11918 endwhile11919 11920 if dead11921 break11922 endif11923 11924 if CastingWasInterrupted = 011925 clearsysmsg11926 target ClosestTarget11927 getlabel backpack backpacklabel11928 wait 25011929 if insysmsg "cannot be seen"11930 @setvar! AttackModeActive 211931 break11932 endif11933 endif11934 11935 if insysmsg "Mana Thief activated"11936 if EnableOverheadMessages != 011937 overhead "[ MANA THIEF! ]" 2211938 endif11939 cooldown "Mana Thief" 6000011940 endif11941 11942 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange11943 @setvar! RepeatCastingPoison 011944 @setvar! AttackModeActive 011945 @setvar! ClosestTargetisSticky 011946 @setvar! TargetSwap 011947 break11948 endif11949 endif11950 11951 if EnableFrostAspect = 111952 if insysmsg "Frost Shell activated"11953 cooldown "Frost Shell Active" 500011954 if EnableOverheadMessages = 111955 overhead '[ FROST SHELL! ]' 223411956 endif11957 if FrostAspectTier = 011958 cooldown "Frost Shell Cooldown" 3000011959 elseif FrostAspectTier = 111960 cooldown "Frost Shell Cooldown" 2900011961 elseif FrostAspectTier = 211962 cooldown "Frost Shell Cooldown" 2800011963 elseif FrostAspectTier = 311964 cooldown "Frost Shell Cooldown" 2700011965 elseif FrostAspectTier = 411966 cooldown "Frost Shell Cooldown" 2600011967 elseif FrostAspectTier = 511968 cooldown "Frost Shell Cooldown" 2500011969 elseif FrostAspectTier = 611970 cooldown "Frost Shell Cooldown" 2400011971 elseif FrostAspectTier = 711972 cooldown "Frost Shell Cooldown" 2300011973 elseif FrostAspectTier = 811974 cooldown "Frost Shell Cooldown" 2200011975 elseif FrostAspectTier = 911976 cooldown "Frost Shell Cooldown" 2100011977 elseif FrostAspectTier = 1011978 cooldown "Frost Shell Cooldown" 2000011979 elseif FrostAspectTier = 1111980 cooldown "Frost Shell Cooldown" 1900011981 elseif FrostAspectTier = 1211982 cooldown "Frost Shell Cooldown" 1800011983 elseif FrostAspectTier = 1311984 cooldown "Frost Shell Cooldown" 1700011985 elseif FrostAspectTier = 1411986 cooldown "Frost Shell Cooldown" 1600011987 elseif FrostAspectTier = 1511988 cooldown "Frost Shell Cooldown" 1500011989 endif11990 clearsysmsg11991 endif11992 endif11993 11994 if dead11995 break11996 endif11997 11998 if EnableUsePotionKegs = 1 and findtype 'empty bottle%s%' self and findtype 'keg' self and timer 'PotionKegPVPCooldown' > 3000011999 @setvar! PotionStockCheck 012000 12001 while PotionStockCheck < 8 and findtype 'empty bottle%s%' self12002 if PotionStockCheck = 012003 if HealingPotionAmount = 012004 @setvar! PotionStockCheck 112005 else12006 @setvar! PotionType 385212007 @setvar! KegColour 25312008 @setvar! PotionAmounttoFill HealingPotionAmount12009 @setvar! PotionStockCheck 112010 endif12011 elseif PotionStockCheck = 112012 if CurePotionAmount = 012013 @setvar! PotionStockCheck 212014 else12015 @setvar! PotionType 384712016 @setvar! KegColour 4412017 @setvar! PotionAmounttoFill CurePotionAmount12018 @setvar! PotionStockCheck 212019 endif12020 elseif PotionStockCheck = 212021 if RefreshPotionAmount = 012022 @setvar! PotionStockCheck 312023 else12024 @setvar! PotionType 385112025 @setvar! KegColour 3712026 @setvar! PotionAmounttoFill RefreshPotionAmount12027 @setvar! PotionStockCheck 312028 endif12029 elseif PotionStockCheck = 312030 if StrengthPotionAmount = 012031 @setvar! PotionStockCheck 412032 else12033 @setvar! PotionType 384912034 @setvar! KegColour 95612035 @setvar! PotionAmounttoFill StrengthPotionAmount12036 @setvar! PotionStockCheck 412037 endif12038 elseif PotionStockCheck = 412039 if AgilityPotionAmount = 012040 @setvar! PotionStockCheck 512041 else12042 @setvar! PotionType 384812043 @setvar! KegColour 9312044 @setvar! PotionAmounttoFill AgilityPotionAmount12045 @setvar! PotionStockCheck 512046 endif12047 elseif PotionStockCheck = 512048 if ResistPotionAmount = 012049 @setvar! PotionStockCheck 612050 else12051 @setvar! PotionType 384612052 @setvar! KegColour 110912053 @setvar! PotionAmounttoFill ResistPotionAmount12054 @setvar! PotionStockCheck 612055 endif12056 elseif PotionStockCheck = 612057 if PoisonPotionAmount = 012058 @setvar! PotionStockCheck 712059 else12060 @setvar! PotionType 385012061 @setvar! KegColour 36312062 @setvar! PotionAmounttoFill PoisonPotionAmount12063 @setvar! PotionStockCheck 712064 endif12065 elseif PotionStockCheck = 712066 if ExplosionPotionAmount = 012067 @setvar! PotionStockCheck 812068 else12069 @setvar! PotionType 385312070 @setvar! KegColour 41912071 @setvar! PotionAmounttoFill ExplosionPotionAmount12072 @setvar! PotionStockCheck 812073 endif12074 else12075 break12076 endif12077 12078 while counttype PotionType self < PotionAmounttoFill12079 if not findtype 'empty bottle%s%' self12080 if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 500012081 overhead '[ NO EMPTY BOTTLES... ]' 33712082 settimer 'PotionKegTimer' 012083 endif12084 break12085 endif12086 12087 if diffhits > HealPotionHPdiff12088 break12089 endif12090 12091 if findtype 'keg' self KegColour as myKeg12092 dclick myKeg12093 wait 25012094 if EnableOverheadMessages = 112095 if timer 'PotionKegTimer' > 200012096 overhead '[ FILLING POTS... ]' KegColour12097 settimer 'PotionKegTimer' 012098 endif12099 endif12100 else12101 if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 500012102 overhead '[ NO KEG TO USE... ]' KegColour12103 settimer 'PotionKegTimer' 012104 endif12105 break12106 endif12107 if insysmsg "You have been in combat with another player"12108 settimer "PotionKegPVPCooldown" 012109 break12110 endif12111 endwhile12112 12113 if counttype PotionType self < PotionAmounttoFill and not findtype 'empty bottle%s%' self12114 if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 500012115 overhead '[ NO EMPTY BOTTLES... ]' 33712116 settimer 'PotionKegTimer' 012117 endif12118 break12119 endif12120 endwhile12121 endif12122 12123 if EnableAutoExplosionPots = 1 and diffhits < CastGreaterHealHPdiff12124 if findtype 'purple potion' self as explotPot12125 getlabel explotPot potLabel12126 if "(" in potLabel12127 if timer PurplePotionTimer > PurplePotionCooldown12128 @setvar! PurplePotionReady 112129 else12130 @setvar! PurplePotionReady 012131 endif12132 else12133 @setvar! PurplePotionReady 112134 endif12135 12136 if skill 'Alchemy' < 8012137 if timer TelekinesisTimer > 60000 or ClosestTargetisSticky = 012138 if PurplePotionReady = 1 and find ClosestTarget ground -1 -1 TargetAttackRange and not dead ClosestTarget12139 if findtype 'purple potion' self12140 settimer AntiStallTimer 012141 while not targetexists and timer AntiStallTimer < 150012142 if timer AntiStallTimer > 150012143 break12144 endif12145 cast 'Telekinesis'12146 wait 50012147 endwhile12148 clearsysmsg12149 wft 50012150 target ClosestTarget12151 wait 25012152 if insysmsg "You are too far"12153 @setvar! ClosestTargetisSticky 012154 clearsysmsg12155 else12156 if EnableOverheadMessages = 1 and timer PurplePotionMessageTimer > 450012157 overhead '[ EXPLOSION POTION! ]' 41912158 settimer PurplePotionMessageTimer 012159 endif12160 settimer TelekinesisTimer 012161 @setvar! ClosestTargetisSticky 112162 endif12163 endif12164 endif12165 endif12166 else12167 @setvar! ClosestTargetisSticky 112168 endif12169 else12170 if EnableOverheadMessages = 1 and timer PurplePotionMessageTimer > 1500012171 overhead '[ NO PURPLE POTIONS ]' 33712172 settimer PurplePotionMessageTimer 012173 endif12174 endif12175 endif12176 12177 @setvar! CastingWasInterrupted 012178 12179 if targetexists12180 hotkey 'cancel current target'12181 endif12182 12183 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange12184 @setvar! RepeatCastingPoison 012185 @setvar! AttackModeActive 012186 @setvar! ClosestTargetisSticky 012187 @setvar! TargetSwap 012188 settimer TargetChecker 012189 break12190 endif12191 12192 if EnableAutoExplosionPots = 112193 if timer TelekinesisTimer > 6000012194 @setvar! ClosestTargetisSticky 012195 settimer TelekinesisTimer 012196 endif12197 endif12198 12199 if PurplePotionReady = 1 and ClosestTargetisSticky = 1 and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and diffhits < CastGreaterHealHPdiff12200 settimer AntiStallTimer 012201 while not insysmsg "Where should i throw this potion?" and timer AntiStallTimer < 150012202 potion 'explosion'12203 if timer AntiStallTimer > 150012204 settimer AntiStallTimer 012205 break12206 endif12207 endwhile12208 12209 @setvar! PurplePotionReady 012210 settimer PurplePotionTimer 012211 settimer AntiStallTimer 012212 12213 while not targetexists and timer AntiStallTimer < 150012214 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange12215 @setvar! RepeatCastingPoison 012216 @setvar! AttackModeActive 012217 @setvar! ClosestTargetisSticky 012218 @setvar! CastingWasInterrupted 112219 @setvar! TargetSwap 012220 hotkey 'cancel current target'12221 break12222 endif12223 12224 if timer AntiStallTimer > 150012225 settimer AntiStallTimer 012226 break12227 endif12228 endwhile12229 12230 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange12231 break12232 endif12233 12234 if CastingWasInterrupted = 012235 target ClosestTarget12236 cooldown "Purple Potion" PurplePotionCooldown12237 getlabel backpack packdesc12238 wait 25012239 endif12240 endif12241 12242 if counttype 29012 self = 0 and EnableMagicMushroomMaker = 112243 while counttype 29012 self < MakeMushroomAmount and mana > 3 and diffhits < CastGreaterHealHPdiff12244 if timer 'MushroomMakerTimer' > 450012245 overhead '[ MAKING SHROOMS... ]' 41912246 settimer 'MushroomMakerTimer' 012247 endif12248 12249 if not casting12250 cast 'create food'12251 wait 50012252 endif12253 12254 if diffhits > CastGreaterHealHPdiff12255 break12256 endif12257 endwhile12258 12259 if dead12260 break12261 endif12262 endif12263 12264 if EnableGoldVacuum = 1 and DisableVacuums != 112265 if findtype "gold coin" ground -1 -1 15 as droppedmoney and timer "GoldRadar" > 350012266 overhead " � " 149 droppedmoney12267 settimer "GoldRadar" 012268 endif12269 12270 while findtype "gold coin" ground -1 -1 2 as droppedmoney and diffhits < CastGreaterHealHPdiff12271 overhead " � " 14912272 hotkey "Grab Item"12273 wft 250012274 target droppedmoney12275 wait 25012276 12277 if dead12278 break12279 endif12280 12281 if diffhits >= CastGreaterHealHPdiff12282 @setvar! AttackModeActive 112283 break12284 endif12285 12286 if insysmsg "Invalid or inaccessible item"12287 wait 50012288 @ignore droppedmoney12289 endif12290 wait 25012291 endwhile12292 endif12293 12294 if EnableDungeonCleanup = 1 and diffhits < CastGreaterHealHPdiff12295 while findtype "iron ingot%s|board%s|cut up leather|3972|3962|3963|3980|3976|3973|3974|3981" ground -1 -1 2 as item12296 if EnableOverheadMessages = 112297 if timer "DungeonCleanup" > 150012298 overhead '[ CLEANUP... ]' 42012299 settimer "DungeonCleanup" 012300 endif12301 else12302 if timer "DungeonCleanup" > 150012303 overhead ' � ' 42012304 settimer "DungeonCleanup" 012305 endif12306 endif12307 hotkey "Grab Item"12308 wft 100012309 target item12310 wait 50012311 if dead12312 break12313 endif12314 if diffhits > CastGreaterHealHPdiff12315 break12316 endif12317 endwhile12318 12319 if findtype "iron ingot%s|board%s|cut up leather|3972|3962|3963|3980|3976|3973|3974|3981" ground -1 -1 15 as dungeonjunk and timer "DungeonCleanupRadar" > 350012320 overhead "�" 420 dungeonjunk12321 settimer "DungeonCleanupRadar" 012322 endif12323 endif12324 12325 if EnableAutoCarving = 1 and findtype 11552 self12326 while findtype "corpse" ground -1 -1 2 as deadbody and diffhits < CastGreaterHealHPdiff12327 settimer SkinningTimeoutTimer 012328 if findtype 11552 self12329 if targetexists12330 hotkey 'cancel current target'12331 endif12332 12333 while not targetexists12334 skill 'forensicevaluation'12335 getlabel backpack backpacklabel12336 endwhile12337 12338 if targetexists and find deadbody ground -1 -1 212339 target 'self'12340 @ignore deadbody12341 wait 25012342 endif12343 12344 if insysmsg "You dont see anything nearby"12345 clearsysmsg12346 break12347 else12348 if EnableOverheadMessages = 1 and timer SkinningTimer > 300012349 overhead '[ SKINNING... ]' 33312350 settimer SkinningTimer 012351 endif12352 endif12353 else12354 if EnableOverheadMessages = 1 and timer SkinningTimer > 1500012355 overhead '[ NO SKINNING KNIFE ]' 33712356 settimer SkinningTimer 012357 break12358 endif12359 endif12360 12361 if timer SkinningTimeoutTimer > 1500 or diffhits > CastGreaterHealHPdiff12362 break12363 endif12364 endwhile12365 endif12366 12367 if EnableArcaneCodexStances != 0 or EnableArcaneCodexFinisher != 012368 if skill 'Arcane' >= 8012369 if findtype "arcane codex" backpack as MyCodex12370 if not gumpexists 2016719803 and EnableArcaneCodexHotbar = 112371 while not gumpexists 106664755312372 say "[CodexHotBar"12373 wait 50012374 if gumpexists 201671980312375 break12376 endif12377 endwhile12378 endif12379 12380 if EnableArcaneCodexStances = 612381 if not warmode12382 @setvar! SwitchToLeechStance 012383 @setvar! SwitchToShieldStance 012384 @setvar! SwitchToScatterStance 012385 @setvar! SwitchToFractureStance 012386 @setvar! SwitchToSurgeStance 112387 elseif cooldown "Frost Shell" or poisoned or findbuff "bleed" or findbuff "disease" or diffhits > 7012388 @setvar! SwitchToLeechStance 012389 @setvar! SwitchToShieldStance 112390 @setvar! SwitchToScatterStance 012391 @setvar! SwitchToFractureStance 012392 @setvar! SwitchToSurgeStance 012393 elseif warmode12394 @setvar! SwitchToLeechStance 112395 @setvar! SwitchToShieldStance 012396 @setvar! SwitchToScatterStance 012397 @setvar! SwitchToFractureStance 012398 @setvar! SwitchToSurgeStance 012399 endif12400 elseif EnableArcaneCodexStances = 112401 getlabel MyCodex MyCodexDesc12402 @setvar! SwitchToLeechStance 112403 @setvar! SwitchToShieldStance 012404 @setvar! SwitchToScatterStance 012405 @setvar! SwitchToFractureStance 012406 @setvar! SwitchToSurgeStance 012407 elseif EnableArcaneCodexStances = 212408 getlabel MyCodex MyCodexDesc12409 @setvar! SwitchToLeechStance 012410 @setvar! SwitchToShieldStance 112411 @setvar! SwitchToScatterStance 012412 @setvar! SwitchToFractureStance 012413 @setvar! SwitchToSurgeStance 012414 elseif EnableArcaneCodexStances = 312415 getlabel MyCodex MyCodexDesc12416 @setvar! SwitchToLeechStance 012417 @setvar! SwitchToShieldStance 012418 @setvar! SwitchToScatterStance 112419 @setvar! SwitchToFractureStance 012420 @setvar! SwitchToSurgeStance 012421 elseif EnableArcaneCodexStances = 412422 getlabel MyCodex MyCodexDesc12423 @setvar! SwitchToLeechStance 012424 @setvar! SwitchToShieldStance 012425 @setvar! SwitchToScatterStance 012426 @setvar! SwitchToFractureStance 112427 @setvar! SwitchToSurgeStance 012428 elseif EnableArcaneCodexStances = 512429 getlabel MyCodex MyCodexDesc12430 @setvar! SwitchToLeechStance 012431 @setvar! SwitchToShieldStance 012432 @setvar! SwitchToScatterStance 012433 @setvar! SwitchToFractureStance 012434 @setvar! SwitchToSurgeStance 112435 endif12436 12437 getlabel MyCodex MyCodexDesc12438 12439 if EnableArcaneCodexStances = 6 or EnableArcaneCodexFinisher = 312440 if timer "WeaponCodexTimer" > SwitchArcaneCodexCooldown and diffhits < CastGreaterHealHPdiff12441 if SwitchToLeechStance = 112442 if "Leech" in MyCodexDesc12443 // Do nothing12444 else12445 yell [ArcaneStance112446 settimer "WeaponCodexTimer" 012447 wait 25012448 endif12449 12450 if EnableArcaneCodexFinisher = 3 or EnableArcaneCodexFinisher = 112451 if "Clarity" in MyCodexDesc12452 // Do nothing12453 elseif DisableWeaponFinisher != 112454 yell [ArcaneFinisher112455 @setvar! DisableWeaponFinisher 012456 settimer "WeaponCodexTimer" 012457 wait 25012458 if insysmsg "You must first reach rank 5"12459 @setvar! DisableWeaponFinisher 112460 endif12461 endif12462 elseif EnableArcaneCodexFinisher = 212463 if "Catalyst" in MyCodexDesc12464 // Do nothing12465 elseif DisableWeaponFinisher != 112466 yell [ArcaneFinisher212467 @setvar! DisableWeaponFinisher 012468 settimer "WeaponCodexTimer" 012469 wait 25012470 if insysmsg "You must first reach rank 5"12471 @setvar! DisableWeaponFinisher 112472 endif12473 endif12474 endif12475 elseif SwitchToShieldStance = 112476 if "Shield" in MyCodexDesc12477 // Do nothing12478 else12479 yell [ArcaneStance212480 settimer "WeaponCodexTimer" 012481 wait 25012482 endif12483 12484 if EnableArcaneCodexFinisher = 212485 if "Catalyst" in MyCodexDesc12486 // Do nothing12487 elseif DisableWeaponFinisher != 112488 yell [ArcaneFinisher212489 @setvar! DisableWeaponFinisher 012490 settimer "WeaponCodexTimer" 012491 wait 25012492 if insysmsg "You must first reach rank 5"12493 @setvar! DisableWeaponFinisher 112494 endif12495 endif12496 elseif EnableArcaneCodexFinisher = 1 or EnableArcaneCodexFinisher = 312497 if "Clarity" in MyCodexDesc12498 // Do nothing12499 elseif DisableWeaponFinisher != 112500 yell [ArcaneFinisher112501 @setvar! DisableWeaponFinisher 012502 settimer "WeaponCodexTimer" 012503 wait 25012504 if insysmsg "You must first reach rank 5"12505 @setvar! DisableWeaponFinisher 112506 endif12507 endif12508 endif12509 elseif SwitchToScatterStance = 112510 if "Scatter" in MyCodexDesc12511 // Do nothing12512 else12513 yell [ArcaneStance312514 settimer "WeaponCodexTimer" 012515 wait 25012516 endif12517 12518 if EnableArcaneCodexFinisher = 3 or EnableArcaneCodexFinisher = 212519 if "Catalyst" in MyCodexDesc12520 // Do nothing12521 elseif DisableWeaponFinisher != 112522 say [ArcaneFinisher212523 @setvar! DisableWeaponFinisher 012524 settimer "WeaponCodexTimer" 012525 wait 25012526 if insysmsg "You must first reach rank 5"12527 @setvar! DisableWeaponFinisher 112528 endif12529 endif12530 elseif EnableArcaneCodexFinisher = 112531 if "Clarity" in MyCodexDesc12532 // Do nothing12533 elseif DisableWeaponFinisher != 112534 say [ArcaneFinisher112535 @setvar! DisableWeaponFinisher 012536 settimer "WeaponCodexTimer" 012537 wait 25012538 if insysmsg "You must first reach rank 5"12539 @setvar! DisableWeaponFinisher 112540 endif12541 endif12542 endif12543 elseif SwitchToFractureStance = 112544 if "Fracture" in MyCodexDesc12545 // Do nothing12546 else12547 yell [ArcaneStance412548 settimer "WeaponCodexTimer" 012549 wait 25012550 endif12551 12552 if EnableArcaneCodexFinisher = 112553 if "Clarity" in MyCodexDesc12554 // Do nothing12555 elseif DisableWeaponFinisher != 112556 say [ArcaneFinisher112557 @setvar! DisableWeaponFinisher 012558 settimer "WeaponCodexTimer" 012559 wait 25012560 if insysmsg "You must first reach rank 5"12561 @setvar! DisableWeaponFinisher 112562 endif12563 endif12564 elseif EnableArcaneCodexFinisher = 2 or EnableArcaneCodexFinisher = 312565 if "Catalyst" in MyCodexDesc12566 // Do nothing12567 elseif DisableWeaponFinisher != 112568 yell [ArcaneFinisher212569 @setvar! DisableWeaponFinisher 012570 settimer "WeaponCodexTimer" 012571 wait 25012572 if insysmsg "You must first reach rank 5"12573 @setvar! DisableWeaponFinisher 112574 endif12575 endif12576 endif12577 elseif SwitchToSurgeStance = 112578 if "Surge" in MyCodexDesc12579 // Do nothing12580 else12581 yell [ArcaneStance512582 settimer "WeaponCodexTimer" 012583 wait 25012584 endif12585 12586 if EnableArcaneCodexFinisher = 3 or EnableArcaneCodexFinisher = 212587 if "Catalyst" in MyCodexDesc12588 // Do nothing12589 elseif DisableWeaponFinisher != 112590 say [ArcaneFinisher212591 @setvar! DisableWeaponFinisher 012592 settimer "WeaponCodexTimer" 012593 wait 25012594 if insysmsg "You must first reach rank 5"12595 @setvar! DisableWeaponFinisher 112596 endif12597 endif12598 elseif EnableArcaneCodexFinisher = 112599 if "Clarity" in MyCodexDesc12600 // Do nothing12601 elseif DisableWeaponFinisher != 112602 say [ArcaneFinisher112603 @setvar! DisableWeaponFinisher 012604 settimer "WeaponCodexTimer" 012605 wait 25012606 if insysmsg "You must first reach rank 5"12607 @setvar! DisableWeaponFinisher 112608 endif12609 endif12610 endif12611 endif12612 endif12613 elseif EnableArcaneCodexStances != 6 and EnableArcaneCodexStances != 0 and EnableArcaneCodexFinisher != 312614 if EnableArcaneCodexFinisher != 0 and timer "WeaponCodexCheckTimer" > 2000 and mana > 50 and diffhits < CastGreaterHealHPdiff12615 if SwitchToLeechStance = 112616 if "Leech" in MyCodexDesc12617 // Do nothing12618 else12619 yell [ArcaneStance112620 settimer "WeaponCodexCheckTimer" 012621 wait 25012622 endif12623 12624 if EnableArcaneCodexFinisher = 3 or EnableArcaneCodexFinisher = 112625 if "Clarity" in MyCodexDesc12626 // Do nothing12627 elseif DisableWeaponFinisher != 112628 yell [ArcaneFinisher112629 @setvar! DisableWeaponFinisher 012630 settimer "WeaponCodexCheckTimer" 012631 wait 25012632 if insysmsg "You must first reach rank 5"12633 @setvar! DisableWeaponFinisher 112634 endif12635 endif12636 elseif EnableArcaneCodexFinisher = 212637 if "Catalyst" in MyCodexDesc12638 // Do nothing12639 elseif DisableWeaponFinisher != 112640 yell [ArcaneFinisher212641 @setvar! DisableWeaponFinisher 012642 settimer "WeaponCodexCheckTimer" 012643 wait 25012644 if insysmsg "You must first reach rank 5"12645 @setvar! DisableWeaponFinisher 112646 endif12647 endif12648 endif12649 elseif SwitchToShieldStance = 112650 if "Shield" in MyCodexDesc12651 // Do nothing12652 else12653 yell [ArcaneStance212654 settimer "WeaponCodexCheckTimer" 012655 wait 25012656 endif12657 12658 if EnableArcaneCodexFinisher = 212659 if "Catalyst" in MyCodexDesc12660 // Do nothing12661 elseif DisableWeaponFinisher != 112662 yell [ArcaneFinisher212663 @setvar! DisableWeaponFinisher 012664 settimer "WeaponCodexCheckTimer" 012665 wait 25012666 if insysmsg "You must first reach rank 5"12667 @setvar! DisableWeaponFinisher 112668 endif12669 endif12670 elseif EnableArcaneCodexFinisher = 1 or EnableArcaneCodexFinisher = 312671 if "Clarity" in MyCodexDesc12672 // Do nothing12673 elseif DisableWeaponFinisher != 112674 yell [ArcaneFinisher112675 @setvar! DisableWeaponFinisher 012676 settimer "WeaponCodexCheckTimer" 012677 wait 25012678 if insysmsg "You must first reach rank 5"12679 @setvar! DisableWeaponFinisher 112680 endif12681 endif12682 endif12683 elseif SwitchToScatterStance = 112684 if "Scatter" in MyCodexDesc12685 // Do nothing12686 else12687 yell [ArcaneStance312688 settimer "WeaponCodexCheckTimer" 012689 wait 25012690 endif12691 12692 if EnableArcaneCodexFinisher = 3 or EnableArcaneCodexFinisher = 212693 if "Catalyst" in MyCodexDesc12694 // Do nothing12695 elseif DisableWeaponFinisher != 112696 say [ArcaneFinisher212697 @setvar! DisableWeaponFinisher 012698 settimer "WeaponCodexCheckTimer" 012699 wait 25012700 if insysmsg "You must first reach rank 5"12701 @setvar! DisableWeaponFinisher 112702 endif12703 endif12704 elseif EnableArcaneCodexFinisher = 112705 if "Clarity" in MyCodexDesc12706 // Do nothing12707 elseif DisableWeaponFinisher != 112708 say [ArcaneFinisher112709 @setvar! DisableWeaponFinisher 012710 settimer "WeaponCodexCheckTimer" 012711 wait 25012712 if insysmsg "You must first reach rank 5"12713 @setvar! DisableWeaponFinisher 112714 endif12715 endif12716 endif12717 elseif SwitchToFractureStance = 112718 if "Fracture" in MyCodexDesc12719 // Do nothing12720 else12721 yell [ArcaneStance412722 settimer "WeaponCodexCheckTimer" 012723 wait 25012724 endif12725 12726 if EnableArcaneCodexFinisher = 112727 if "Clarity" in MyCodexDesc12728 // Do nothing12729 elseif DisableWeaponFinisher != 112730 say [ArcaneFinisher112731 @setvar! DisableWeaponFinisher 012732 settimer "WeaponCodexCheckTimer" 012733 wait 25012734 if insysmsg "You must first reach rank 5"12735 @setvar! DisableWeaponFinisher 112736 endif12737 endif12738 elseif EnableArcaneCodexFinisher = 2 or EnableArcaneCodexFinisher = 312739 if "Catalyst" in MyCodexDesc12740 // Do nothing12741 elseif DisableWeaponFinisher != 112742 yell [ArcaneFinisher212743 @setvar! DisableWeaponFinisher 012744 settimer "WeaponCodexCheckTimer" 012745 wait 25012746 if insysmsg "You must first reach rank 5"12747 @setvar! DisableWeaponFinisher 112748 endif12749 endif12750 endif12751 elseif SwitchToSurgeStance = 112752 if "Surge" in MyCodexDesc12753 // Do nothing12754 else12755 yell [ArcaneStance512756 settimer "WeaponCodexCheckTimer" 012757 wait 25012758 endif12759 12760 if EnableArcaneCodexFinisher = 3 or EnableArcaneCodexFinisher = 212761 if "Catalyst" in MyCodexDesc12762 // Do nothing12763 elseif DisableWeaponFinisher != 112764 say [ArcaneFinisher212765 @setvar! DisableWeaponFinisher 012766 settimer "WeaponCodexCheckTimer" 012767 wait 25012768 if insysmsg "You must first reach rank 5"12769 @setvar! DisableWeaponFinisher 112770 endif12771 endif12772 elseif EnableArcaneCodexFinisher = 112773 if "Clarity" in MyCodexDesc12774 // Do nothing12775 elseif DisableWeaponFinisher != 112776 say [ArcaneFinisher112777 @setvar! DisableWeaponFinisher 012778 settimer "WeaponCodexCheckTimer" 012779 wait 25012780 if insysmsg "You must first reach rank 5"12781 @setvar! DisableWeaponFinisher 112782 endif12783 endif12784 endif12785 endif12786 endif12787 endif12788 endif12789 endif12790 endif12791 12792 if EnableShieldCodexStances != 0 or EnableShieldCodexFinisher != 012793 if skill "Parrying" >= 80 and findtype "shield codex" backpack as ShieldCodex12794 if not gumpexists 2016719803 and EnableShieldCodexHotbar = 112795 while not gumpexists 106664755312796 say "[CodexHotBar"12797 wait 50012798 if gumpexists 201671980312799 break12800 endif12801 endwhile12802 endif12803 12804 if EnableShieldCodexStances = 612805 if not warmode12806 @setvar! SwitchToShieldBashStance 012807 @setvar! SwitchToWardingStance 012808 @setvar! SwitchToTestudoStance 012809 @setvar! SwitchToMirrorStance 012810 @setvar! SwitchToBulwarkStance 112811 elseif cooldown "Frost Shell" or findbuff "bleed" or findbuff "disease" or poisoned or diffhits > 7012812 @setvar! SwitchToShieldBashStance 012813 @setvar! SwitchToWardingStance 112814 @setvar! SwitchToTestudoStance 012815 @setvar! SwitchToMirrorStance 012816 @setvar! SwitchToBulwarkStance 012817 elseif warmode12818 @setvar! SwitchToShieldBashStance 012819 @setvar! SwitchToWardingStance 012820 @setvar! SwitchToTestudoStance 112821 @setvar! SwitchToMirrorStance 012822 @setvar! SwitchToBulwarkStance 012823 endif12824 elseif EnableShieldCodexStances = 112825 @setvar! SwitchToShieldBashStance 112826 @setvar! SwitchToWardingStance 012827 @setvar! SwitchToTestudoStance 012828 @setvar! SwitchToMirrorStance 012829 @setvar! SwitchToBulwarkStance 012830 elseif EnableShieldCodexStances = 212831 @setvar! SwitchToShieldBashStance 012832 @setvar! SwitchToWardingStance 212833 @setvar! SwitchToTestudoStance 012834 @setvar! SwitchToMirrorStance 012835 @setvar! SwitchToBulwarkStance 012836 elseif EnableShieldCodexStances = 312837 @setvar! SwitchToShieldBashStance 012838 @setvar! SwitchToWardingStance 012839 @setvar! SwitchToTestudoStance 112840 @setvar! SwitchToMirrorStance 012841 @setvar! SwitchToBulwarkStance 012842 elseif EnableShieldCodexStances = 412843 @setvar! SwitchToShieldBashStance 012844 @setvar! SwitchToWardingStance 012845 @setvar! SwitchToTestudoStance 012846 @setvar! SwitchToMirrorStance 112847 @setvar! SwitchToBulwarkStance 012848 elseif EnableShieldCodexStances = 512849 @setvar! SwitchToShieldBashStance 012850 @setvar! SwitchToWardingStance 012851 @setvar! SwitchToTestudoStance 012852 @setvar! SwitchToMirrorStance 012853 @setvar! SwitchToBulwarkStance 112854 endif12855 12856 getlabel ShieldCodex ShieldCodexDesc12857 12858 if EnableShieldCodexStances = 6 or EnableShieldCodexFinisher = 312859 if timer "ShieldCodexTimer" > SwitchShieldCodexCooldown and diffhits < CastGreaterHealHPdiff12860 if SwitchToWardingStance = 112861 if "Warding" in ShieldCodexDesc12862 // Do nothing12863 else12864 yell [ShieldsStance212865 settimer "ShieldCodexTimer" 012866 wait 50012867 endif12868 12869 if EnableShieldCodexFinisher != 012870 if EnableShieldCodexFinisher = 2 or EnableShieldCodexFinisher = 3 and DisableShieldFinisher != 112871 if "Barrier" in ShieldCodexDesc12872 // Do nothing12873 else12874 say [ShieldsFinisher212875 settimer "ShieldCodexTimer" 012876 wait 50012877 if insysmsg "You must first reach rank 5"12878 @setvar! DisableShieldFinisher 112879 endif12880 endif12881 elseif EnableShieldCodexFinisher = 1 and DisableShieldFinisher != 112882 if "Last Stand" in ShieldCodexDesc12883 // Do nothing12884 else12885 yell [ShieldsFinisher112886 settimer "ShieldCodexTimer" 012887 wait 50012888 if insysmsg "You must first reach rank 5"12889 @setvar! DisableShieldFinisher 112890 endif12891 endif12892 endif12893 endif12894 elseif SwitchToMirrorStance = 112895 if "Mirror" in ShieldCodexDesc12896 // Do nothing12897 else12898 yell [ShieldsStance412899 settimer "ShieldCodexTimer" 012900 wait 50012901 endif12902 12903 if EnableShieldCodexFinisher != 0 and DisableShieldFinisher != 112904 if EnableShieldCodexFinisher = 1 or EnableShieldCodexFinisher = 312905 if "Last Stand" in ShieldCodexDesc12906 // Do nothing12907 else12908 yell [ShieldsFinisher112909 settimer "ShieldCodexTimer" 012910 wait 50012911 if insysmsg "You must first reach rank 5"12912 @setvar! DisableShieldFinisher 112913 endif12914 endif12915 elseif EnableShieldCodexFinisher = 2 and DisableShieldFinisher != 112916 if "Barrier" in ShieldCodexDesc12917 // Do nothing12918 else12919 say [ShieldsFinisher212920 settimer "ShieldCodexTimer" 012921 wait 50012922 if insysmsg "You must first reach rank 5"12923 @setvar! DisableShieldFinisher 112924 endif12925 endif12926 endif12927 endif12928 elseif SwitchToBulwarkStance = 112929 if "Bulwark" in ShieldCodexDesc12930 // Do nothing12931 else12932 yell [ShieldsStance512933 settimer "ShieldCodexTimer" 012934 wait 50012935 endif12936 12937 if EnableShieldCodexFinisher != 0 and DisableShieldFinisher != 112938 if EnableShieldCodexFinisher = 1 or EnableShieldCodexFinisher = 312939 if "Last Stand" in ShieldCodexDesc12940 // Do nothing12941 else12942 yell [ShieldsFinisher112943 settimer "ShieldCodexTimer" 012944 wait 50012945 if insysmsg "You must first reach rank 5"12946 @setvar! DisableShieldFinisher 112947 endif12948 endif12949 elseif EnableShieldCodexFinisher = 2 and DisableShieldFinisher != 112950 if "Barrier" in ShieldCodexDesc12951 // Do nothing12952 else12953 say [ShieldsFinisher212954 settimer "ShieldCodexTimer" 012955 wait 50012956 if insysmsg "You must first reach rank 5"12957 @setvar! DisableShieldFinisher 112958 endif12959 endif12960 endif12961 endif12962 elseif SwitchToTestudoStance = 112963 if "Testudo" in ShieldCodexDesc12964 // Do nothing12965 else12966 yell [ShieldsStance312967 settimer "ShieldCodexTimer" 012968 wait 50012969 endif12970 12971 if EnableShieldCodexFinisher != 0 and DisableShieldFinisher != 112972 if EnableShieldCodexFinisher = 1 or EnableShieldCodexFinisher = 312973 if "Last Stand" in ShieldCodexDesc12974 // Do nothing12975 else12976 yell [ShieldsFinisher112977 settimer "ShieldCodexTimer" 012978 wait 50012979 if insysmsg "You must first reach rank 5"12980 @setvar! DisableShieldFinisher 112981 endif12982 endif12983 elseif EnableShieldCodexFinisher = 2 and DisableShieldFinisher != 112984 if "Barrier" in ShieldCodexDesc12985 // Do nothing12986 else12987 say [ShieldsFinisher212988 settimer "ShieldCodexTimer" 012989 wait 50012990 if insysmsg "You must first reach rank 5"12991 @setvar! DisableShieldFinisher 112992 endif12993 endif12994 endif12995 endif12996 elseif SwitchToShieldBashStance = 112997 if "Shield Bash" in ShieldCodexDesc12998 // Do nothing12999 else13000 yell [ShieldsStance113001 settimer "ShieldCodexTimer" 013002 wait 50013003 endif13004 13005 if EnableShieldCodexFinisher != 0 and DisableShieldFinisher != 113006 if EnableShieldCodexFinisher = 213007 if "Barrier" in ShieldCodexDesc13008 // Do nothing13009 else13010 say [ShieldsFinisher213011 settimer "ShieldCodexTimer" 013012 wait 50013013 if insysmsg "You must first reach rank 5"13014 @setvar! DisableShieldFinisher 113015 endif13016 endif13017 elseif EnableShieldCodexFinisher = 1 or EnableShieldCodexFinisher = 313018 if "Last Stand" in ShieldCodexDesc13019 // Do nothing13020 else13021 yell [ShieldsFinisher113022 settimer "ShieldCodexTimer" 013023 wait 50013024 if insysmsg "You must first reach rank 5"13025 @setvar! DisableShieldFinisher 113026 endif13027 endif13028 endif13029 endif13030 endif13031 endif13032 elseif EnableShieldCodexStances != 6 and EnableShieldCodexFinisher != 313033 if timer "ShieldCodexCheckTimer" > 200013034 if SwitchToWardingStance = 113035 if "Warding" in ShieldCodexDesc13036 // Do nothing13037 else13038 yell [ShieldsStance213039 settimer "ShieldCodexCheckTimer" 013040 wait 50013041 endif13042 13043 if EnableShieldCodexFinisher != 013044 if EnableShieldCodexFinisher = 2 or EnableShieldCodexFinisher = 3 and DisableShieldFinisher != 113045 if "Barrier" in ShieldCodexDesc13046 // Do nothing13047 else13048 say [ShieldsFinisher213049 settimer "ShieldCodexCheckTimer" 013050 wait 50013051 if insysmsg "You must first reach rank 5"13052 @setvar! DisableShieldFinisher 113053 endif13054 endif13055 elseif EnableShieldCodexFinisher = 1 and DisableShieldFinisher != 113056 if "Last Stand" in ShieldCodexDesc13057 // Do nothing13058 else13059 yell [ShieldsFinisher113060 settimer "ShieldCodexCheckTimer" 013061 wait 50013062 if insysmsg "You must first reach rank 5"13063 @setvar! DisableShieldFinisher 113064 endif13065 endif13066 endif13067 endif13068 elseif SwitchToMirrorStance = 113069 if "Mirror" in ShieldCodexDesc13070 // Do nothing13071 else13072 yell [ShieldsStance413073 settimer "ShieldCodexCheckTimer" 013074 wait 50013075 endif13076 13077 if EnableShieldCodexFinisher != 0 and DisableShieldFinisher != 113078 if EnableShieldCodexFinisher = 1 or EnableShieldCodexFinisher = 313079 if "Last Stand" in ShieldCodexDesc13080 // Do nothing13081 else13082 yell [ShieldsFinisher113083 settimer "ShieldCodexCheckTimer" 013084 wait 50013085 if insysmsg "You must first reach rank 5"13086 @setvar! DisableShieldFinisher 113087 endif13088 endif13089 elseif EnableShieldCodexFinisher = 2 and DisableShieldFinisher != 113090 if "Barrier" in ShieldCodexDesc13091 // Do nothing13092 else13093 say [ShieldsFinisher213094 settimer "ShieldCodexCheckTimer" 013095 wait 50013096 if insysmsg "You must first reach rank 5"13097 @setvar! DisableShieldFinisher 113098 endif13099 endif13100 endif13101 endif13102 elseif SwitchToBulwarkStance = 113103 if "Bulwark" in ShieldCodexDesc13104 // Do nothing13105 else13106 yell [ShieldsStance513107 settimer "ShieldCodexCheckTimer" 013108 wait 50013109 endif13110 13111 if EnableShieldCodexFinisher != 0 and DisableShieldFinisher != 113112 if EnableShieldCodexFinisher = 1 or EnableShieldCodexFinisher = 313113 if "Last Stand" in ShieldCodexDesc13114 // Do nothing13115 else13116 yell [ShieldsFinisher113117 settimer "ShieldCodexCheckTimer" 013118 wait 50013119 if insysmsg "You must first reach rank 5"13120 @setvar! DisableShieldFinisher 113121 endif13122 endif13123 elseif EnableShieldCodexFinisher = 2 and DisableShieldFinisher != 113124 if "Barrier" in ShieldCodexDesc13125 // Do nothing13126 else13127 say [ShieldsFinisher213128 settimer "ShieldCodexCheckTimer" 013129 wait 50013130 if insysmsg "You must first reach rank 5"13131 @setvar! DisableShieldFinisher 113132 endif13133 endif13134 endif13135 endif13136 elseif SwitchToTestudoStance = 113137 if "Testudo" in ShieldCodexDesc13138 // Do nothing13139 else13140 yell [ShieldsStance313141 settimer "ShieldCodexCheckTimer" 013142 wait 50013143 endif13144 13145 if EnableShieldCodexFinisher != 0 and DisableShieldFinisher != 113146 if EnableShieldCodexFinisher = 1 or EnableShieldCodexFinisher = 313147 if "Last Stand" in ShieldCodexDesc13148 // Do nothing13149 else13150 yell [ShieldsFinisher113151 settimer "ShieldCodexCheckTimer" 013152 wait 50013153 if insysmsg "You must first reach rank 5"13154 @setvar! DisableShieldFinisher 113155 endif13156 endif13157 elseif EnableShieldCodexFinisher = 2 and DisableShieldFinisher != 113158 if "Barrier" in ShieldCodexDesc13159 // Do nothing13160 else13161 say [ShieldsFinisher213162 settimer "ShieldCodexCheckTimer" 013163 wait 50013164 if insysmsg "You must first reach rank 5"13165 @setvar! DisableShieldFinisher 113166 endif13167 endif13168 endif13169 endif13170 elseif SwitchToShieldBashStance = 113171 if "Shield Bash" in ShieldCodexDesc13172 // Do nothing13173 else13174 yell [ShieldsStance113175 settimer "ShieldCodexCheckTimer" 013176 wait 50013177 endif13178 13179 if EnableShieldCodexFinisher != 0 and DisableShieldFinisher != 113180 if EnableShieldCodexFinisher = 2 and DisableShieldFinisher != 113181 if "Barrier" in ShieldCodexDesc13182 // Do nothing13183 else13184 say [ShieldsFinisher213185 settimer "ShieldCodexCheckTimer" 013186 wait 50013187 if insysmsg "You must first reach rank 5"13188 @setvar! DisableShieldFinisher 113189 endif13190 endif13191 elseif EnableShieldCodexFinisher = 1 or EnableShieldCodexFinisher = 313192 if "Last Stand" in ShieldCodexDesc13193 // Do nothing13194 else13195 yell [ShieldsFinisher113196 settimer "ShieldCodexCheckTimer" 013197 wait 50013198 if insysmsg "You must first reach rank 5"13199 @setvar! DisableShieldFinisher 113200 endif13201 endif13202 endif13203 endif13204 endif13205 endif13206 endif13207 endif13208 endif13209 13210 if not warmode13211 if EnablePlaceArcaneRunes != 0 and timer ArcaneRuneTimer > ArcaneRunePlacementCooldown13212 if findtype '39889|39891|39892|39896|39897|39898|39905|39909|39911|39912|39916|39917|39918' self13213 if EnablePlaceArcaneRunes = 113214 # Aggression Rune13215 if findtype '39892' self as MyArcaneRune13216 dclick MyArcaneRune13217 getlabel backpack backpacklabel13218 if EnableOverheadMessages = 113219 overhead '[ AGGRESSION RUNE PLACED ]' 211713220 endif13221 else13222 if EnableOverheadMessages = 113223 overhead '[ NO AGGRESSION RUNE! ]' 33713224 endif13225 endif13226 elseif EnablePlaceArcaneRunes = 213227 # Essence Rune13228 if findtype '39909' self as MyArcaneRune13229 dclick MyArcaneRune13230 getlabel backpack backpacklabel13231 if EnableOverheadMessages = 113232 overhead '[ ESSENCE RUNE PLACED ]' 291613233 endif13234 else13235 if EnableOverheadMessages = 113236 overhead '[ NO ESSENCE RUNE! ]' 33713237 endif13238 endif13239 elseif EnablePlaceArcaneRunes = 313240 # Fortification Rune13241 if findtype '39918' self as MyArcaneRune13242 dclick MyArcaneRune13243 getlabel backpack backpacklabel13244 if EnableOverheadMessages = 113245 overhead '[ FORTIFICATION RUNE PLACED ]' 237713246 endif13247 else13248 if EnableOverheadMessages = 113249 overhead '[ NO FORTIFICATION RUNE! ]' 33713250 endif13251 endif13252 elseif EnablePlaceArcaneRunes = 413253 # Frenzy Rune13254 if findtype '39889' self as MyArcaneRune13255 dclick MyArcaneRune13256 getlabel backpack backpacklabel13257 if EnableOverheadMessages = 113258 overhead '[ FRENZY RUNE PLACED ]' 237713259 endif13260 else13261 if EnableOverheadMessages = 113262 overhead '[ NO FRENZY RUNE! ]' 33713263 endif13264 endif13265 elseif EnablePlaceArcaneRunes = 513266 # Healing Rune13267 if findtype '39896' self as MyArcaneRune13268 dclick MyArcaneRune13269 getlabel backpack backpacklabel13270 if EnableOverheadMessages = 113271 overhead '[ HEALING RUNE PLACED ]' 224713272 endif13273 else13274 if EnableOverheadMessages = 113275 overhead '[ NO HEALING RUNE! ]' 33713276 endif13277 endif13278 elseif EnablePlaceArcaneRunes = 613279 # Immunity Rune13280 if findtype '39898' self as MyArcaneRune13281 dclick MyArcaneRune13282 getlabel backpack backpacklabel13283 if EnableOverheadMessages = 113284 overhead '[ IMMUNITY RUNE PLACED ]' 289713285 endif13286 else13287 if EnableOverheadMessages = 113288 overhead '[ NO IMMUNITY RUNE! ]' 33713289 endif13290 endif13291 elseif EnablePlaceArcaneRunes = 713292 # Mana Rune13293 if findtype '39912' self as MyArcaneRune13294 dclick MyArcaneRune13295 getlabel backpack backpacklabel13296 if EnableOverheadMessages = 113297 overhead '[ MANA RUNE PLACED ]' 260613298 endif13299 else13300 if EnableOverheadMessages = 113301 overhead '[ NO MANA RUNE! ]' 33713302 endif13303 endif13304 elseif EnablePlaceArcaneRunes = 813305 # Poison Warding Rune13306 if findtype '39905' self as MyArcaneRune13307 dclick MyArcaneRune13308 getlabel backpack backpacklabel13309 if EnableOverheadMessages = 113310 overhead '[ POISON WARD RUNE PLACED ]' 238413311 endif13312 else13313 if EnableOverheadMessages = 113314 overhead '[ NO POISON WARD RUNE! ]' 33713315 endif13316 endif13317 elseif EnablePlaceArcaneRunes = 913318 # Rage Rune13319 if findtype '39897' self as MyArcaneRune13320 dclick MyArcaneRune13321 getlabel backpack backpacklabel13322 if EnableOverheadMessages = 113323 overhead '[ RAGE RUNE PLACED ]' 237713324 endif13325 else13326 if EnableOverheadMessages = 113327 overhead '[ NO RAGE RUNE! ]' 33713328 endif13329 endif13330 elseif EnablePlaceArcaneRunes = 1013331 # Spellshielding Rune13332 if findtype '39916' self as MyArcaneRune13333 dclick MyArcaneRune13334 getlabel backpack backpacklabel13335 if EnableOverheadMessages = 113336 overhead '[ SPELLSHIELD RUNE PLACED ]' 224713337 endif13338 else13339 if EnableOverheadMessages = 113340 overhead '[ NO SPELLSHIELD RUNE! ]' 33713341 endif13342 endif13343 elseif EnablePlaceArcaneRunes = 1113344 # Spell Rune13345 if findtype '39891' self as MyArcaneRune13346 dclick MyArcaneRune13347 getlabel backpack backpacklabel13348 if EnableOverheadMessages = 113349 overhead '[ SPELL RUNE PLACED ]' 260613350 endif13351 else13352 if EnableOverheadMessages = 113353 overhead '[ NO SPELL RUNE! ]' 33713354 endif13355 endif13356 elseif EnablePlaceArcaneRunes = 1213357 # Toxicity Rune13358 if findtype '39911' self as MyArcaneRune13359 dclick MyArcaneRune13360 getlabel backpack backpacklabel13361 if EnableOverheadMessages = 113362 overhead '[ TOXICITY RUNE PLACED ]' 238413363 endif13364 else13365 if EnableOverheadMessages = 113366 overhead '[ NO TOXICITY RUNE! ]' 33713367 endif13368 endif13369 elseif EnablePlaceArcaneRunes = 1313370 # Trap Rune13371 if findtype '39917' self as MyArcaneRune13372 dclick MyArcaneRune13373 getlabel backpack backpacklabel13374 if EnableOverheadMessages = 113375 overhead '[ TRAP RUNE PLACED ]' 224713376 endif13377 else13378 if EnableOverheadMessages = 113379 overhead '[ NO TRAP RUNE! ]' 33713380 endif13381 endif13382 elseif EnablePlaceArcaneRunes = 1413383 # Random Rune13384 if findtype '39889|39891|39892|39896|39897|39898|39905|39909|39911|39912|39916|39917|39918' self as MyArcaneRune13385 dclick MyArcaneRune13386 getlabel backpack backpacklabel13387 if EnableOverheadMessages = 113388 overhead '[ ARCANE RUNE PLACED ]' 1313389 endif13390 else13391 if EnableOverheadMessages = 113392 overhead '[ NO ARCANE RUNES! ]' 33713393 endif13394 endif13395 endif13396 else13397 if EnableOverheadMessages = 113398 overhead '[ NO ARCANE RUNES! ]' 33713399 endif13400 endif13401 settimer ArcaneRuneTimer 013402 hotkey 'Toggle War Only'13403 wait 50013404 endif13405 endif13406 13407 if not warmode13408 @setvar! WarModeToggledWhileFighting 113409 elseif warmode13410 @setvar! WarModeToggledWhileFighting 013411 endif13412 13413 if EnableOverheadMessages = 113414 if insysmsg "something invisible out of"13415 overhead "� SOMEONE HIDING! �" 613416 endif13417 13418 if insysmsg "additional mastery chain link"13419 overhead "[ CHAIN LINK UNLOCKED!! ]" 14913420 wait 50013421 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown13422 wait 50013423 say "[Yes"13424 settimer EmoteCooldownTimer 013425 cooldown "Emote Cooldown" SetEmoteCooldown13426 endif13427 endif13428 13429 if insysmsg "enough experience to upgrade"13430 overhead "[ ASPECT TIER UNLOCKED!! ]" 223413431 wait 50013432 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown13433 wait 50013434 say "[Whistle"13435 settimer EmoteCooldownTimer 013436 cooldown "Emote Cooldown" SetEmoteCooldown13437 endif13438 endif13439 13440 if insysmsg "You have unlocked a codex upgrade point"13441 overhead "[ CODEX POINT UNLOCKED! ]" 211413442 wait 25013443 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown13444 wait 50013445 say "[HighFive"13446 settimer EmoteCooldownTimer 013447 cooldown "Emote Cooldown" SetEmoteCooldown13448 endif13449 endif13450 13451 if insysmsg "You have completed a society job"13452 overhead "[ SOCIETY JOB COMPLETE! ]" 41913453 wait 50013454 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown13455 wait 50013456 say "[Awoo"13457 settimer EmoteCooldownTimer 013458 cooldown "Emote Cooldown" SetEmoteCooldown13459 endif13460 endif13461 13462 if insysmsg "Society Job Progress"13463 overhead "[ � SOCIETY POINTS � ]" 41913464 endif13465 13466 if insysmsg 'You charge your spell with additional energy'13467 overhead '[ CHARGED SPELL! ]' 2213468 endif13469 13470 if insysmsg 'You generate mana for your spell'13471 overhead '[ MANA REFUNDED! ]' 1113472 endif13473 13474 if insysmsg "You parry the spell"13475 overhead "[ SPELL PARRY ]" 11113476 endif13477 13478 if insysmsg "You enter a state of arcane clarity"13479 overhead '[ CLARITY! ]' 1113480 endif13481 13482 if insysmsg "Your attack places a hex"13483 overhead '[ HEX ACTIVE ]' 14 ClosestTarget13484 endif13485 13486 if insysmsg "100% arcane buildup"13487 overhead '[ ARCANE BUILDUP 100%! ]' 211413488 endif13489 13490 if insysmsg "causes you to bleed"13491 overhead "[ YOU ARE BLEEDING... ]" 211813492 endif13493 13494 if insysmsg "been struck by an ancient blight"13495 overhead "[ DISEASED... ]" 110913496 endif13497 13498 if insysmsg "You feel chilled!"13499 overhead "[ YOU ARE CHILLED... ]" 223413500 endif13501 13502 if insysmsg "You resist a disease effect"13503 overhead "[ DISEASE RESISTED! ]" 88813504 endif13505 13506 if insysmsg "resist a bleed"13507 overhead "[ BLEED RESISTED! ]" 88813508 endif13509 13510 if insysmsg "The creature pierces and bypasses your armor!"13511 overhead "[ YOU ARE PIERCED... ]" 33713512 endif13513 13514 if insysmsg "Their attack disarms you!"13515 overhead "[ DISARMED! ]" 33713516 endif13517 13518 if insysmsg "Their attack hamstrings you!"13519 overhead "[ HAMSTRUNG! ]" 33713520 endif13521 13522 if insysmsg "attempting to steal" or insysmsg "attempting to peek"13523 overhead "[ THIEF DETECTED! ]" 91013524 endif13525 else13526 if insysmsg "something invisible out of"13527 overhead "� SOMEONE HIDING! �" 613528 endif13529 13530 if insysmsg "additional mastery chain link"13531 overhead "[ � CHAIN! � ]" 14913532 wait 50013533 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown13534 wait 50013535 say "[Yes"13536 settimer EmoteCooldownTimer 013537 cooldown "Emote Cooldown" SetEmoteCooldown13538 endif13539 endif13540 13541 if insysmsg "enough experience to upgrade"13542 overhead "[ � ASPECT � ]" 223413543 wait 50013544 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown13545 wait 50013546 say "[Whistle"13547 settimer EmoteCooldownTimer 013548 cooldown "Emote Cooldown" SetEmoteCooldown13549 endif13550 endif13551 13552 if insysmsg "You have unlocked a codex upgrade point"13553 overhead '[ � CODEX! � ]' 211413554 wait 25013555 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown13556 wait 50013557 say "[HighFive"13558 settimer EmoteCooldownTimer 013559 cooldown "Emote Cooldown" SetEmoteCooldown13560 endif13561 endif13562 13563 if insysmsg "You have completed a society job"13564 overhead "[ SOCIETY COMPLETE! ]" 41913565 wait 50013566 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown13567 wait 50013568 say "[Awoo"13569 settimer EmoteCooldownTimer 013570 cooldown "Emote Cooldown" SetEmoteCooldown13571 endif13572 endif13573 13574 if insysmsg "You parry the spell"13575 overhead "*spell parry*" 11113576 endif13577 13578 if insysmsg "Your attack places a hex"13579 overhead '*hexxed*' 14 ClosestTarget13580 endif13581 13582 if insysmsg "100% arcane buildup"13583 overhead '[ ARCANE 100%! ]' 211413584 endif13585 13586 if insysmsg "Society Job Progress"13587 overhead "[ � SOCIETY � ]" 41913588 endif13589 13590 if insysmsg "attempting to steal" or insysmsg "attempting to peek"13591 overhead "[ THIEF DETECTED! ]" 91013592 endif13593 13594 if insysmsg "Their attack disarms you!"13595 overhead "*disarmed*" 33713596 endif13597 13598 if insysmsg "Their attack hamstrings you!"13599 overhead "*hamstrung*" 33713600 endif13601 endif13602 13603 if insysmsg "Mana Thief activated"13604 if EnableOverheadMessages != 013605 overhead "[ MANA THIEF! ]" 2213606 endif13607 cooldown "Mana Thief" 6000013608 endif13609 13610 if dead13611 break13612 endif13613 13614 if not warmode13615 @setvar! WarModeToggledWhileFighting 113616 elseif warmode13617 @setvar! WarModeToggledWhileFighting 013618 endif13619 13620 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange13621 settimer TargetChecker 013622 @setvar! AttackModeActive 013623 @setvar! RepeatCastingPoison 013624 @setvar! ClosestTargetisSticky 013625 @setvar! TargetSwap 013626 break13627 endif13628 13629 if diffhits > CastGreaterHealHPdiff or paralyzed13630 break13631 endif13632 endwhile13633 13634 //////////////////////////////13635 // END MEDIUM ATTACK LOOP //13636 //////////////////////////////13637 13638 if not warmode13639 @setvar! WarModeToggledWhileFighting 113640 elseif warmode13641 @setvar! WarModeToggledWhileFighting 013642 endif13643 13644 /////////////////////////13645 // SMALL ATTACK LOOP //13646 /////////////////////////13647 13648 while mana <= CastSmallSpellsBelowMana and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and TargetSwap != 1 and diffhits < CastGreaterHealHPdiff13649 if dead13650 break13651 endif13652 13653 if EnableDropGoldWhenOverweight = 113654 if weight > maxweight13655 replay13656 endif13657 endif13658 13659 if EnableWeightWarningMessage = 113660 if diffweight < GreenWarningDiffWeight and diffweight > YellowWarningDiffWeight and timer "WeightMessageTimer" > 600013661 if EnableOverheadMessages = 1 or EnableOverheadMessages = 213662 overhead '[ WEIGHT WARNING... ]' 7713663 settimer "WeightMessageTimer" 013664 else13665 overhead " � " 7713666 settimer "WeightMessageTimer" 013667 endif13668 elseif diffweight < YellowWarningDiffWeight and diffweight > RedWeightLimitDiffWeight and timer "WeightMessageTimer" > 600013669 if EnableOverheadMessages = 1 or EnableOverheadMessages = 213670 overhead '[ WEIGHT WARNING! ]' 15313671 settimer "WeightMessageTimer" 013672 else13673 overhead " � " 15313674 settimer "WeightMessageTimer" 013675 endif13676 elseif diffweight < RedWeightLimitDiffWeight13677 if EnableOverheadMessages = 1 or EnableOverheadMessages = 213678 if timer "WeightMessageTimer" > 600013679 overhead '[ WEIGHT LIMIT REACHED! ]' 3713680 settimer "WeightMessageTimer" 013681 endif13682 else13683 if timer "WeightMessageTimer" > 600013684 overhead " � " 3713685 settimer "WeightMessageTimer" 013686 endif13687 endif13688 13689 if EnableAutoWeightRecall = 1 and not find ClosestTarget ground -1 -1 8 and WILDERNESSMODE = 113690 wait 50013691 hotkey 'Toggle Peace Only'13692 @setvar! WarModeToggledWhileFighting 013693 @setvar! AutoWeightRecall 113694 replay13695 elseif EnableAutoWeightRecall = 1 and find ClosestTarget ground -1 -1 8 and WILDERNESSMODE = 113696 if timer "WaitingToRecallTimer" > 3500 and EnableAutoRecallOverheadMessages = 113697 overhead '[ WAITING TO RECALL... ]' 14913698 settimer "WaitingToRecallTimer" 013699 endif13700 wait 50013701 elseif EnableAutoWeightDungeonGate = 1 and DUNGEONMODE = 113702 wait 50013703 hotkey 'Toggle Peace Only'13704 @setvar! WarModeToggledWhileFighting 013705 @setvar! TimeToGo 113706 replay13707 else13708 if EnableOverheadMessages = 1 or EnableOverheadMessages = 213709 overhead '[ OVERWEIGHT! ]' 33713710 else13711 overhead " � " 33713712 endif13713 wait 150013714 overhead '[ STOPPING SCRIPT! ]' 8813715 stop13716 endif13717 endif13718 endif13719 13720 if diffhits > CastGreaterHealHPdiff or paralyzed13721 break13722 endif13723 13724 if mana > CastSmallSpellsBelowMana13725 break13726 endif13727 13728 if insysmsg "Mana Thief activated"13729 if EnableOverheadMessages != 013730 overhead "[ MANA THIEF! ]" 2213731 endif13732 cooldown "Mana Thief" 6000013733 endif13734 13735 if not warmode13736 @setvar! WarModeToggledWhileFighting 113737 elseif warmode13738 @setvar! WarModeToggledWhileFighting 013739 endif13740 13741 if TargetSwap = 113742 @setvar! AttackModeActive 213743 break13744 endif13745 13746 if timer "TargetTimer" > 3500 and find ClosestTarget ground -1 -1 TargetAttackRange13747 getlabel ClosestTarget TargetDesc13748 if EnableOverheadMessages = 1 or EnableOverheadMessages = 213749 if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange13750 overhead '[ PARAGON! ]' 12 ClosestTarget13751 overhead " � " 12 ClosestTarget13752 settimer "TargetTimer" 013753 elseif find ClosestTarget ground -1 -1 TargetAttackRange13754 overhead '[ TARGET ]' 253 ClosestTarget13755 overhead " � " 253 ClosestTarget13756 settimer "TargetTimer" 013757 endif13758 else13759 if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange13760 overhead " ��� " 12 ClosestTarget13761 settimer "TargetTimer" 013762 elseif find ClosestTarget ground -1 -1 TargetAttackRange13763 overhead " � " 253 ClosestTarget13764 settimer "TargetTimer" 013765 endif13766 endif13767 endif13768 13769 if EnableWeaponCheck = 1 and skill 'Arcane' >= 50 and not findtype "31043|31017|31019|31021|31023|31025|31027|31029|31031|31033|31035|31037|31038|31041|31045|31047|31049|31051|31053|31055" hand13770 if findtype "31043|31017|31019|31021|31023|31025|31027|31029|31031|31033|31035|31037|31038|31041|31045|31047|31049|31051|31053|31055" self as myArcaneStaff13771 for 513772 if findtype "31043|31017|31019|31021|31023|31025|31027|31029|31031|31033|31035|31037|31038|31041|31045|31047|31049|31051|31053|31055" self as myArcaneStaff13773 getlabel myArcaneStaff myArcaneStafflabel13774 if "Aspect" in myArcaneStafflabel13775 break13776 elseif "unidentified" in myArcaneStafflabel13777 ignore myArcaneStaff13778 else13779 break13780 endif13781 endif13782 endfor13783 dclick myArcaneStaff13784 clearignore13785 wait 50013786 else13787 if timer "ArcaneStaffCheck" > 5000 and EnableOverheadMessages = 113788 overhead "[ NO ARCANE STAFF! ]" 33713789 settimer "ArcaneStaffCheck" 013790 endif13791 endif13792 endif13793 13794 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange13795 settimer TargetChecker 013796 @setvar! TargetSwap 013797 @setvar! RepeatCastingPoison 013798 @setvar! ClosestTargetisSticky 013799 @setvar! AttackModeActive 013800 break13801 endif13802 13803 if CheckClosestTargetTime != 013804 if timer TargetChecker > CheckClosestTargetTime13805 @setvar! TargetSwap 013806 hotkey "Target Closest Grey Monster"13807 getlabel backpack backpacklabel13808 @setvar! TargetToCheck lasttarget13809 wait 25013810 if TargetToCheck != ClosestTarget13811 settimer TargetChecker 013812 @setvar! TargetToAnalyze lasttarget13813 @setvar! ClosestTargetisSticky 013814 @setvar! AttackModeActive 213815 @setvar! TargetSwap 113816 break13817 endif13818 settimer TargetChecker 013819 endif13820 endif13821 13822 if skill "Arcane" >= 80 and EnableArcaneWeaponAbility != 0 and diffhits < CastGreaterHealHPdiff13823 if EnableArcaneCodexAbilityHotbar = 113824 if not gumpexists 395412193413825 yell '[abilitieshotbar'13826 wait 50013827 endif13828 endif13829 if timer ArcaneWeaponAbilityTimer > 6000013830 if EnableArcaneWeaponAbility = 113831 say "[Weaponability1"13832 getlabel backpack packdesc13833 wait 50013834 if insysmsg "You cannot perform that ability yet"13835 settimer ArcaneWeaponAbilityTimer 5500013836 else13837 settimer ArcaneWeaponAbilityTimer 013838 if EnableOverheadMessages = 113839 overhead "[ SEEKING ABILITY! ]" 211413840 endif13841 cooldown "Seeking Active" 1500013842 cooldown "Weapon Ability" 6000013843 endif13844 elseif EnableArcaneWeaponAbility = 2 and diffmana > 2513845 say "[Weaponability2"13846 getlabel backpack packdesc13847 wait 50013848 if insysmsg "You cannot perform that ability yet"13849 settimer ArcaneWeaponAbilityTimer 5500013850 else13851 settimer ArcaneWeaponAbilityTimer 013852 if EnableOverheadMessages = 113853 overhead "[ LEYLINE ABILITY! ]" 42013854 endif13855 cooldown "Leyline Active" 1500013856 cooldown "Weapon Ability" 6000013857 endif13858 elseif EnableArcaneWeaponAbility = 313859 say "[Weaponability3"13860 getlabel backpack packdesc13861 wait 50013862 if insysmsg "You cannot perform that ability yet"13863 settimer ArcaneWeaponAbilityTimer 5500013864 else13865 settimer ArcaneWeaponAbilityTimer 013866 if EnableOverheadMessages = 113867 overhead "[ SOULFIRE ABILITY! ]" 211613868 endif13869 cooldown "Weapon Ability" 6000013870 endif13871 endif13872 endif13873 endif13874 13875 if mana < LowManaWarningAmount and timer ManaOverheadTimer > 4500 and LowManaWarningAmount != 013876 overhead "[ LOW MANA! ]" 3413877 settimer ManaOverheadTimer 013878 endif13879 13880 if EnableNecroStrangle = 1 or EnableNecroCorpseSkin = 1 or EnableNecroMindRot = 1 or EnableNecroEvilOmen = 1 or EnableNecroPainSpike = 113881 if findtype 'necromancer book' backpack13882 yell '[necromancyhotbar'13883 while not gumpexists 62243651613884 yell '[necromancyhotbar'13885 endwhile13886 endif13887 endif13888 13889 if gumpexists 62243651613890 if ingump "12/|13/|14/|15/|16/|17/|18/|19/|20/|21/|11/|10/|9/|8/|7/|6/|5/" 62243651613891 @setvar! StrangleAvailable 113892 @setvar! MindRotAvailable 113893 @setvar! CorpseSkinAvailable 113894 @setvar! EvilOmenAvailable 113895 @setvar! PainSpikeAvailable 113896 elseif ingump "4/" 62243651613897 if ingump "14/" 62243651613898 @setvar! StrangleAvailable 113899 @setvar! MindRotAvailable 113900 @setvar! CorpseSkinAvailable 113901 @setvar! EvilOmenAvailable 113902 @setvar! PainSpikeAvailable 113903 else13904 @setvar! StrangleAvailable 113905 @setvar! MindRotAvailable 113906 @setvar! CorpseSkinAvailable 113907 @setvar! EvilOmenAvailable 113908 @setvar! PainSpikeAvailable 013909 endif13910 elseif ingump "3/" 62243651613911 if ingump "13/" 62243651613912 @setvar! StrangleAvailable 113913 @setvar! MindRotAvailable 113914 @setvar! CorpseSkinAvailable 113915 @setvar! EvilOmenAvailable 113916 @setvar! PainSpikeAvailable 113917 else13918 @setvar! StrangleAvailable 013919 @setvar! MindRotAvailable 113920 @setvar! CorpseSkinAvailable 113921 @setvar! EvilOmenAvailable 113922 @setvar! PainSpikeAvailable 013923 endif13924 elseif ingump "2/" 62243651613925 if ingump "12/" 62243651613926 @setvar! StrangleAvailable 113927 @setvar! MindRotAvailable 113928 @setvar! CorpseSkinAvailable 113929 @setvar! EvilOmenAvailable 113930 @setvar! PainSpikeAvailable 113931 else13932 @setvar! StrangleAvailable 013933 @setvar! MindRotAvailable 013934 @setvar! CorpseSkinAvailable 113935 @setvar! EvilOmenAvailable 113936 @setvar! PainSpikeAvailable 013937 endif13938 elseif ingump "1/" 62243651613939 if ingump "11/" 62243651613940 @setvar! StrangleAvailable 113941 @setvar! MindRotAvailable 113942 @setvar! CorpseSkinAvailable 113943 @setvar! EvilOmenAvailable 113944 @setvar! PainSpikeAvailable 113945 else13946 @setvar! StrangleAvailable 013947 @setvar! MindRotAvailable 013948 @setvar! CorpseSkinAvailable 013949 @setvar! EvilOmenAvailable 013950 @setvar! PainSpikeAvailable 013951 endif13952 elseif ingump "0/" 62243651613953 if ingump "10/" 62243651613954 @setvar! StrangleAvailable 113955 @setvar! MindRotAvailable 113956 @setvar! CorpseSkinAvailable 113957 @setvar! EvilOmenAvailable 113958 @setvar! PainSpikeAvailable 113959 else13960 @setvar! StrangleAvailable 013961 @setvar! MindRotAvailable 013962 @setvar! CorpseSkinAvailable 013963 @setvar! EvilOmenAvailable 013964 @setvar! PainSpikeAvailable 013965 endif13966 endif13967 endif13968 13969 if EnableNecroStrangle = 1 and StrangleAvailable = 1 and timer StrangleTimer > 30000 and skill 'necromancy' >= 85 and mana >= 50 and diffhits < CastGreaterHealHPdiff and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and timer NecroCooldownTimer > 100013970 @setvar! CastingWasInterrupted 013971 clearsysmsg13972 while not insysmsg "unholy symbols remaining"13973 yell '[Strangle'13974 getlabel backpack packdesc13975 wait 25013976 if insysmsg "seconds before you may use that ability again."13977 @setvar! CastingWasInterrupted 113978 settimer StrangleTimer 2800013979 break13980 endif13981 endwhile13982 13983 if CastingWasInterrupted = 013984 if EnableOverheadMessages = 113985 overhead '[ STRANGLE ]' 33413986 endif13987 settimer StrangleTimer 013988 cooldown "Strangle" 3000013989 settimer NecroCooldownTimer 013990 endif13991 endif13992 13993 if EnableNecroCorpseSkin = 1 and CorpseSkinAvailable = 1 and timer CorpseSkinTimer > 30000 and skill 'necromancy' >= 65 and mana >= MinimumManaAmounttoNecroBuff and diffhits < CastGreaterHealHPdiff and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and timer NecroCooldownTimer > 100013994 @setvar! CastingWasInterrupted 013995 clearsysmsg13996 while not insysmsg "unholy symbols remaining"13997 yell '[CorpseSkin'13998 getlabel backpack packdesc13999 wait 25014000 if insysmsg "seconds before you may use that ability again."14001 @setvar! CastingWasInterrupted 114002 settimer CorpseSkinTimer 2800014003 break14004 endif14005 endwhile14006 14007 if CastingWasInterrupted = 014008 if EnableOverheadMessages = 114009 overhead '[ CORPSE SKIN ]' 4014010 endif14011 settimer CorpseSkinTimer 014012 cooldown "Corpse Skin" 3000014013 settimer NecroCooldownTimer 014014 endif14015 endif14016 14017 if EnableNecroMindRot = 1 and MindRotAvailable = 1 and timer MindRotTimer > 30000 and skill 'necromancy' >= 75 and mana >= MinimumManaAmounttoNecroBuff and diffhits < CastGreaterHealHPdiff and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and timer NecroCooldownTimer > 100014018 @setvar! CastingWasInterrupted 014019 clearsysmsg14020 while not insysmsg "unholy symbols remaining"14021 yell '[MindRot'14022 getlabel backpack packdesc14023 wait 25014024 if insysmsg "seconds before you may use that ability again."14025 @setvar! CastingWasInterrupted 114026 settimer MindRotTimer 2800014027 break14028 else14029 break14030 endif14031 endwhile14032 14033 if CastingWasInterrupted = 014034 if EnableOverheadMessages = 114035 overhead '[ MIND ROT ]' 22314036 endif14037 settimer MindRotTimer 014038 cooldown "Mind Rot" 3000014039 settimer NecroCooldownTimer 014040 endif14041 endif14042 14043 if EnableNecroEvilOmen = 1 and EvilOmenAvailable = 1 and timer EvilOmenTimer > 30000 and skill 'necromancy' >= 60 and mana >= MinimumManaAmounttoNecroBuff and diffhits < CastGreaterHealHPdiff and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and timer NecroCooldownTimer > 100014044 @setvar! CastingWasInterrupted 014045 clearsysmsg14046 while not insysmsg "unholy symbols remaining"14047 yell '[EvilOmen'14048 getlabel backpack packdesc14049 wait 25014050 if insysmsg "seconds before you may use that ability again."14051 @setvar! CastingWasInterrupted 114052 settimer EvilOmenTimer 2800014053 break14054 endif14055 endwhile14056 14057 if CastingWasInterrupted = 014058 if EnableOverheadMessages = 114059 overhead '[ EVIL OMEN ]' 23814060 endif14061 settimer EvilOmenTimer 014062 cooldown "Evil Omen" 3000014063 settimer NecroCooldownTimer 014064 endif14065 endif14066 14067 if EnableNecroPainSpike = 1 and PainSpikeAvailable = 1 and timer 'PainSpikeTimer' > 30000 and skill 'necromancy' >= 95 and mana >= MinimumManaAmounttoNecroBuff and diffhits < CastGreaterHealHPdiff and not dead ClosestTarget and find ClosestTarget ground -1 -1 4 and findtype 8198 ground -1 -1 2 as corpsespike and timer 'PainSpikeDelayTimer' > PainSpikeAttackDelay and timer NecroCooldownTimer > 100014068 @setvar! CastingWasInterrupted 014069 clearsysmsg14070 yell "[PainSpike"14071 wft 100014072 target ClosestTarget14073 getlabel backpack backpacklabel14074 wft 25014075 if insysmsg "You do not see any corpses" or insysmsg "seconds before you may use that ability again."14076 settimer PainSpikeTimer 2500014077 @setvar! CastingWasInterrupted 114078 endif14079 14080 if CastingWasInterrupted = 014081 if EnableOverheadMessages = 114082 overhead '[ PAIN SPIKE! ]' 33714083 endif14084 settimer PainSpikeTimer 014085 cooldown "Pain Spike" 3000014086 settimer NecroCooldownTimer 014087 endif14088 endif14089 14090 if EnableNecroPoisonStrike != 0 and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and diffhits < CastGreaterHealHPdiff and timer NecroCooldownTimer > 100014091 getlabel ClosestTarget targetLabel14092 if "-" in targetLabel14093 getlabel ClosestTarget targetLabel14094 endif14095 14096 @setvar! CastPoisonStrike 014097 14098 if EnableCastPoison = 114099 if "Ticks" in targetLabel or "resists" in targetLabel and EnableCastPoison = 114100 @setvar! RepeatCastingPoison 114101 14102 if SetPoisonLevel = 214103 if "Lethal" in targetLabel14104 @setvar! RepeatCastingPoison 014105 endif14106 elseif SetPoisonLevel = 114107 if "Lethal" in targetLabel or "Deadly" in targetLabel14108 @setvar! RepeatCastingPoison 014109 endif14110 else14111 @setvar! RepeatCastingPoison 014112 endif14113 14114 if EnableNecroPoisonStrike != 014115 if findtype 'necromancer book' backpack and not gumpexists 62243651614116 yell '[necromancyhotbar'14117 while not gumpexists 62243651614118 yell '[necromancyhotbar'14119 wait 50014120 endwhile14121 endif14122 14123 if EnableNecroPoisonStrike = 214124 if "[2" in targetLabel14125 @setvar! CastPoisonStrike 114126 else14127 @setvar! CastPoisonStrike 014128 endif14129 elseif EnableNecroPoisonStrike = 314130 if "[2" in targetLabel or "[3" in targetLabel14131 @setvar! CastPoisonStrike 114132 else14133 @setvar! CastPoisonStrike 014134 endif14135 elseif EnableNecroPoisonStrike = 414136 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel14137 @setvar! CastPoisonStrike 114138 else14139 @setvar! CastPoisonStrike 014140 endif14141 elseif EnableNecroPoisonStrike = 514142 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel or "[5" in targetLabel14143 @setvar! CastPoisonStrike 114144 else14145 @setvar! CastPoisonStrike 014146 endif14147 elseif EnableNecroPoisonStrike = 614148 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel or "[5" in targetLabel or "[6" in targetLabel14149 @setvar! CastPoisonStrike 114150 else14151 @setvar! CastPoisonStrike 014152 endif14153 elseif EnableNecroPoisonStrike = 714154 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel or "[5" in targetLabel or "[6" in targetLabel or "[7" in targetLabel14155 @setvar! CastPoisonStrike 114156 else14157 @setvar! CastPoisonStrike 014158 endif14159 elseif EnableNecroPoisonStrike = 814160 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel or "[5" in targetLabel or "[6" in targetLabel or "[7" in targetLabel or "[8" in targetLabel14161 @setvar! CastPoisonStrike 114162 else14163 @setvar! CastPoisonStrike 014164 endif14165 elseif EnableNecroPoisonStrike = 914166 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel or "[5" in targetLabel or "[6" in targetLabel or "[7" in targetLabel or "[8" in targetLabel or "[9" in targetLabel14167 @setvar! CastPoisonStrike 114168 else14169 @setvar! CastPoisonStrike 014170 endif14171 endif14172 getlabel backpack packdesc14173 endif14174 endif14175 else14176 if timer CorpseSkinDiseaseTimer > CorpseSkinPoisonStrikeDelay and EnableNecroPoisonStrike = 1 and EnableNecroCorpseSkin = 114177 @setvar! CastPoisonStrike 114178 else14179 @setvar! CastPoisonStrike 014180 endif14181 endif14182 14183 getlabel backpack packdesc14184 14185 if CastPoisonStrike = 114186 if findtype 'necromancer book' backpack and not gumpexists 62243651614187 while not gumpexists 62243651614188 yell '[necromancyhotbar'14189 endwhile14190 endif14191 14192 @setvar! PoisonStrikeAvailable 014193 14194 if gumpexists 62243651614195 if ingump "12/|13/|14/|15/|16/|17/|18/|19/|20/|21/|11/|10/|9/|8/|7/|6/|5/|4/|3/|2/" 62243651614196 @setvar! PoisonStrikeAvailable 114197 elseif ingump "1/" 62243651614198 @setvar! PoisonStrikeAvailable 114199 elseif ingump "0/" 62243651614200 if ingump "10/" 62243651614201 @setvar! PoisonStrikeAvailable 114202 else14203 @setvar! PoisonStrikeAvailable 014204 endif14205 endif14206 endif14207 14208 if CastPoisonStrike = 1 and PoisonStrikeAvailable = 1 and timer PoisonStrikeTimer > 30000 and skill 'necromancy' >= 55 and diffhits < CastGreaterHealHPdiff and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange14209 clearsysmsg14210 while not insysmsg "unholy symbols remaining"14211 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange14212 @setvar! RepeatCastingPoison 014213 @setvar! AttackModeActive 014214 @setvar! ClosestTargetisSticky 014215 @setvar! TargetSwap 014216 break14217 endif14218 14219 yell '[PoisonStrike'14220 wft 150014221 clearsysmsg14222 target ClosestTarget14223 wait 25014224 14225 if insysmsg "seconds before you may use that ability again."14226 settimer PoisonStrikeTimer 2800014227 clearsysmsg14228 break14229 elseif insysmsg "You do not have a Spell-based poison or disease effect on that target."14230 settimer PoisonStrikeTimer 1500014231 clearsysmsg14232 break14233 else14234 break14235 endif14236 endwhile14237 14238 if insysmsg "unholy symbols remaining"14239 if EnableOverheadMessages = 114240 overhead '[ POISON STRIKE! ]' 7714241 endif14242 @setvar! PoisonStrikeAvailable 014243 settimer PoisonStrikeTimer 014244 cooldown "Poison Strike" 3000014245 @setvar! CastPoisonStrike 014246 settimer NecroCooldownTimer 014247 endif14248 endif14249 endif14250 14251 if EnableCastPoison = 1 and RepeatCastingPoison = 1 and diffhits < CastGreaterHealHPdiff and mana >= 9 and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and findtype 3976 self14252 cast 'Poison'14253 settimer AntiStallTimer 014254 14255 while not targetexists and timer AntiStallTimer < 250014256 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange14257 @setvar! RepeatCastingPoison 014258 @setvar! AttackModeActive 014259 @setvar! CastingWasInterrupted 114260 @setvar! ClosestTargetisSticky 014261 @setvar! TargetSwap 014262 interrupt14263 break14264 endif14265 14266 if insysmsg "Your concentration is disturbed"14267 interrupt14268 @setvar! CastingWasInterrupted 114269 break14270 endif14271 14272 if timer AntiStallTimer > 250014273 settimer AntiStallTimer 014274 break14275 endif14276 endwhile14277 14278 if CastingWasInterrupted = 1 and EnableNecroMindRot = 1 and MindRotAvailable = 1 and timer MindRotTimer > 30000 and skill 'necromancy' >= 7514279 while not insysmsg "unholy symbols remaining"14280 yell '[MindRot'14281 getlabel backpack packdesc14282 wait 25014283 if insysmsg "seconds before you may use that ability again."14284 @setvar! CastingWasInterrupted 114285 settimer MindRotTimer 2800014286 break14287 endif14288 endwhile14289 14290 if CastingWasInterrupted = 014291 if EnableOverheadMessages = 114292 overhead '[ MIND ROT ]' 33014293 endif14294 settimer MindRotTimer 014295 cooldown "Mind Rot" 3000014296 endif14297 @setvar! CastingWasInterrupted 014298 endif14299 14300 if CastingWasInterrupted = 014301 clearsysmsg14302 target ClosestTarget14303 getlabel backpack packdesc14304 wait 25014305 if insysmsg "cannot be seen"14306 break14307 endif14308 endif14309 endif14310 endif14311 14312 if EnableMeditation = 1 and mana < MeditateWhenManaBelow and not findbuff "meditating" and timer 'MeditationTimer' > 1000014313 skill 'meditation'14314 getlabel backpack packdesc14315 wait 25014316 14317 if not findbuff 'meditating'14318 settimer 'MeditationTimer' 750014319 elseif findbuff 'meditating'14320 hotkey 'Toggle Peace Only'14321 settimer 'MeditationTimer' 014322 14323 while mana < maxmana and diffhits < CastGreaterHealHPdiff14324 if not findbuff 'meditating'14325 hotkey 'Toggle War Only'14326 break14327 endif14328 14329 if mana > MeditateUntilManaReaches14330 hotkey 'Toggle War Only'14331 break14332 endif14333 14334 if warmode on14335 break14336 endif14337 14338 if diffhits > CastGreaterHealHPdiff14339 break14340 endif14341 14342 if dead14343 break14344 endif14345 14346 if timer 'MeditationMessageTimer' > 400014347 if EnableOverheadMessages = 114348 overhead '[ MEDITATING... ]' 1114349 else14350 overhead "*meditating*" 1114351 endif14352 settimer 'MeditationMessageTimer' 014353 endif14354 endwhile14355 14356 if diffhits > CastGreaterHealHPdiff14357 break14358 endif14359 14360 if dead14361 break14362 endif14363 endif14364 elseif EnableMeditation != 1 and MeditateWhenManaBelow != 0 and mana < MeditateWhenManaBelow14365 if timer MissingRegsTimer > 400014366 if EnableOverheadMessages = 114367 overhead '[ WAITING FOR MANA... ]' 42014368 settimer MissingRegsTimer 014369 endif14370 endif14371 endif14372 14373 if EnablePKradar = 1 and TimeToGo != 114374 if timer "PKRadarTimer" > 150014375 clearsysmsg14376 hotkey 'Next Murderer Player Target'14377 wait 25014378 if insysmsg "No one matching that was found"14379 settimer "PKRadarTimer" 014380 clearsysmsg14381 else14382 if EnableRedAlertOverhead = 114383 overhead "[ !! RED ALERT !! ]" 3714384 endif14385 hotkey 'Toggle Peace Only'14386 @setvar! WarModeToggledWhileFighting 014387 @setvar! RedTargetFound 114388 @setvar! TimeToGo 114389 @setvar! MurdererTarget lasttarget14390 replay14391 endif14392 endif14393 endif14394 14395 if EnableTrackingAutoRecall = 1 and TimeToGo != 114396 if PKTrackingRange = 6014397 if insysmsg ": 60 step" or insysmsg "60 space" or insysmsg ": 59 step" or insysmsg "59 space" or insysmsg ": 58 step" or insysmsg "58 space" or insysmsg ": 57 step" or insysmsg "57 space" or insysmsg ": 56 step" or insysmsg "56 space" or insysmsg ": 55 step" or insysmsg "55 space" or insysmsg ": 54 step" or insysmsg "54 space" or insysmsg ": 53 step" or insysmsg "53 space" or insysmsg ": 52 step" or insysmsg "52 space" or insysmsg ": 51 step" or insysmsg "51 space" or insysmsg ": 50 step" or insysmsg "50 space" or insysmsg ": 49 step" or insysmsg "49 space" or insysmsg ": 48 step" or insysmsg "48 space" or insysmsg ": 47 step" or insysmsg "47 space" or insysmsg ": 46 step" or insysmsg "46 space" or insysmsg ": 45 step" or insysmsg "45 space" or insysmsg ": 44 step" or insysmsg "44 space" or insysmsg ": 43 step" or insysmsg "43 space" or insysmsg ": 42 step" or insysmsg "42 space" or insysmsg ": 41 step" or insysmsg "41 space" or insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space"14398 hotkey 'Toggle Peace Only'14399 if EnableRedAlertOverhead = 114400 overhead '[ !! RED ALERT !! ]' 3714401 endif14402 @setvar! WarModeToggledWhileFighting 014403 @setvar! RedTargetFound 114404 @setvar! TimeToGo 114405 clearsysmsg14406 replay14407 endif14408 elseif PKTrackingRange = 5014409 if insysmsg ": 50 step" or insysmsg "50 space" or insysmsg ": 49 step" or insysmsg "49 space" or insysmsg ": 48 step" or insysmsg "48 space" or insysmsg ": 47 step" or insysmsg "47 space" or insysmsg ": 46 step" or insysmsg "46 space" or insysmsg ": 45 step" or insysmsg "45 space" or insysmsg ": 44 step" or insysmsg "44 space" or insysmsg ": 43 step" or insysmsg "43 space" or insysmsg ": 42 step" or insysmsg "42 space" or insysmsg ": 41 step" or insysmsg "41 space" or insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space"14410 hotkey 'Toggle Peace Only'14411 if EnableRedAlertOverhead = 114412 overhead '[ !! RED ALERT !! ]' 3714413 endif14414 @setvar! WarModeToggledWhileFighting 014415 @setvar! RedTargetFound 114416 @setvar! TimeToGo 114417 clearsysmsg14418 replay14419 endif14420 elseif PKTrackingRange = 4014421 if insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space"14422 hotkey 'Toggle Peace Only'14423 if EnableRedAlertOverhead = 114424 overhead '[ !! RED ALERT !! ]' 3714425 endif14426 @setvar! WarModeToggledWhileFighting 014427 @setvar! RedTargetFound 114428 @setvar! TimeToGo 114429 clearsysmsg14430 replay14431 endif14432 elseif PKTrackingRange = 014433 if insysmsg "Now tracking"14434 hotkey 'Toggle Peace Only'14435 if EnableRedAlertOverhead = 114436 overhead '[ !! RED ALERT !! ]' 3714437 endif14438 @setvar! WarModeToggledWhileFighting 014439 @setvar! RedTargetFound 114440 @setvar! TimeToGo 114441 clearsysmsg14442 replay14443 endif14444 endif14445 endif14446 14447 if EnableEatMagicMushrooms = 114448 if diffmana > EatMushroomManadiff and timer MushroomTimer > 6000014449 if counttype 29012 backpack14450 dclicktype 29012 backpack14451 getlabel backpack packdesc14452 wait 25014453 if insysmsg "You consume a magic mushroom"14454 settimer MushroomTimer 014455 cooldown "Mushroom" 6000014456 if EnableOverheadMessages = 114457 overhead '[ EATING SHROOMS... ]' 1314458 endif14459 endif14460 elseif EnableOverheadMessages = 114461 overhead '[ OUT OF SHROOMS! ]' 33714462 endif14463 endif14464 endif14465 14466 if EnableEatManaSnacks = 114467 if skill 'Cooking' >= 5014468 if findtype "29774|28883|28885|28880|28879|28888|28886|29773|28881" backpack as mysnack14469 if timer 'EatManaSnackCooldownTimer' > EatManaSnackCooldown and diffmana > EatSnackManadiff14470 if EnableOverheadMessages = 114471 overhead "[ MANA MUNCHING... ]" 42014472 endif14473 dclick mysnack14474 wait 25014475 settimer 'EatManaSnackCooldownTimer' 014476 settimer 'EatHealSnackCooldownTimer' 014477 cooldown "Snacking" EatManaSnackCooldown14478 endif14479 else14480 if timer FoodMessageTimer > 15000 and EnableOverheadMessages = 114481 overhead "[ NO MORE FOOD! ]" 33714482 settimer FoodMessageTimer 014483 endif14484 endif14485 endif14486 endif14487 14488 if EnableStrengthPotion = 1 and diffhits < CastGreaterHealHPdiff14489 if skill 'Alchemy' > 0 and skill 'Alchemy' < 214490 if insysmsg "You may now use a strength" or not findbuff "Strength Potion Usage Cooldown"14491 if findtype "White Potion" self14492 dclicktype "White Potion"14493 if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 450014494 if insysmsg "potion satchel used"14495 overhead '[ FREE STRENGTH POTION ]' 95614496 else14497 overhead '[ STRENGTH POTION ]' 95614498 endif14499 clearsysmsg14500 settimer WhitePotionMessageTimer 014501 endif14502 wait 25014503 else14504 if timer WhitePotionMessageTimer > 450014505 overhead '[ NO STRENGTH POTS! ]' 33714506 settimer WhitePotionMessageTimer 014507 endif14508 endif14509 clearsysmsg14510 endif14511 elseif skill 'Alchemy' = 014512 if insysmsg "You may now use a strength" or not findbuff "Strength Potion Usage Cooldown"14513 if findtype "White Potion" self14514 dclicktype "White Potion"14515 if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 450014516 if insysmsg "potion satchel used"14517 overhead '[ FREE STRENGTH POTION ]' 95614518 else14519 overhead '[ STRENGTH POTION ]' 95614520 endif14521 clearsysmsg14522 settimer WhitePotionMessageTimer 014523 endif14524 wait 25014525 else14526 if timer WhitePotionMessageTimer > 450014527 overhead '[ NO STRENGTH POTS! ]' 33714528 settimer WhitePotionMessageTimer 014529 endif14530 endif14531 clearsysmsg14532 endif14533 else14534 if not findbuff "Strength"14535 if findtype "White Potion" self14536 dclicktype "White Potion"14537 if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 450014538 if insysmsg "potion satchel used"14539 overhead '[ FREE STRENGTH POTION ]' 95614540 else14541 overhead '[ STRENGTH POTION ]' 95614542 endif14543 clearsysmsg14544 settimer WhitePotionMessageTimer 014545 endif14546 wait 25014547 else14548 if timer WhitePotionMessageTimer > 450014549 overhead '[ NO STRENGTH POTS! ]' 33714550 settimer WhitePotionMessageTimer 014551 endif14552 endif14553 endif14554 endif14555 endif14556 14557 if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff14558 if findtype "Yellow Potion" self as HealPot14559 getlabel HealPot HealPotlabel14560 if "next" in HealPotlabel14561 // Do nothing14562 else14563 @setvar! HealPotionCheck 014564 14565 if counttype 3852 self as HealPotCount14566 @setvar! HealPotionCheck HealPotCount14567 endif14568 clearsysmsg14569 dclicktype 385214570 getlabel backpack backpackdesc14571 wait 25014572 if insysmsg "potion satchel used"14573 settimer 'HealPotionTimer' 014574 cooldown "Healing Potion" HealingPotionCooldown14575 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 450014576 overhead '[ FREE HEAL POTION ]' 25314577 endif14578 elseif HealPotionCheck != counttype 3852 self14579 settimer 'HealPotionTimer' 014580 cooldown "Healing Potion" HealingPotionCooldown14581 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 450014582 overhead '[ HEAL POTION ]' 25314583 endif14584 endif14585 clearsysmsg14586 endif14587 else14588 if timer 'HealPotionMessageTimer' > 4500 and EnableOverheadMessages = 114589 overhead '[ NO HEAL POTS! ]' 33714590 settimer 'HealPotionMessageTimer' 014591 endif14592 endif14593 endif14594 14595 if skill 'healing' > 0 and hp < maxhp and not bandaging14596 if findtype 'clean bandage%s%' self14597 hotkey 'Bandage Self'14598 if EnableOverheadMessages = 114599 overhead '[ BANDAGING... ]' 8814600 endif14601 else14602 if EnableOverheadMessages = 114603 overhead '[ NO BANDAGES! ]' 33714604 endif14605 endif14606 endif14607 14608 if EnableAgilityPotion = 1 and not findbuff "Agility" and diffhits < CastGreaterHealHPdiff14609 if findtype "Blue Potion" self14610 dclicktype "Blue Potion"14611 if EnableOverheadMessages = 1 and timer BluePotionMessageTimer > 450014612 if insysmsg "potion satchel used"14613 overhead '[ FREE AGILITY POTION ]' 9314614 else14615 overhead '[ AGILITY POTION ]' 9314616 endif14617 clearsysmsg14618 settimer BluePotionMessageTimer 014619 endif14620 wait 25014621 else14622 if timer BluePotionMessageTimer > 4500 and EnableOverheadMessages = 114623 overhead '[ NO AGILITY POTS! ]' 33714624 settimer BluePotionMessageTimer 014625 endif14626 endif14627 endif14628 14629 if EnableMagicResistPotion = 1 and not findbuff "Magic Resist" and diffhits < CastGreaterHealHPdiff14630 if findtype "Black Potion" self14631 dclicktype "Black Potion"14632 if EnableOverheadMessages = 1 and timer BlackPotionMessageTimer > 450014633 if insysmsg "potion satchel used"14634 overhead '[ FREE RESIST POTION ]' 110914635 else14636 overhead '[ RESIST POTION ]' 110914637 endif14638 clearsysmsg14639 settimer BlackPotionMessageTimer 014640 endif14641 wait 25014642 else14643 if timer BlackPotionMessageTimer > 4500 and EnableOverheadMessages = 114644 overhead '[ NO RESIST POTS! ]' 33714645 settimer BlackPotionMessageTimer 014646 endif14647 endif14648 endif14649 14650 if EnableRefreshPotion = 1 and diffstam > RefreshPotionSPdiff14651 if findtype "Red Potion" self14652 dclicktype "Red Potion"14653 if EnableOverheadMessages = 1 and timer RedPotionMessageTimer > 450014654 if insysmsg "potion satchel used"14655 overhead '[ FREE REFRESH POTION ]' 3714656 else14657 overhead '[ REFRESH POTION ]' 3714658 endif14659 clearsysmsg14660 settimer RedPotionMessageTimer 014661 endif14662 wait 25014663 else14664 if timer RedPotionMessageTimer > 4500 and EnableOverheadMessages = 114665 overhead '[ NO REFRESH POTS! ]' 33714666 settimer RedPotionMessageTimer 014667 endif14668 endif14669 endif14670 14671 @setvar! SpellcastCooldown 014672 @setvar! CastingWasInterrupted 014673 14674 if EnableCastMagicArrow = 1 and timer MagicArrowTimer > MagicArrowCooldown and diffhits < CastGreaterHealHPdiff and mana >= 4 and mana < CastSmallSpellsBelowMana and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and findtype 3980 self14675 cast 'magic arrow'14676 settimer AntiStallTimer 014677 14678 while not targetexists and timer AntiStallTimer < 150014679 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange14680 @setvar! AttackModeActive 014681 @setvar! RepeatCastingPoison 014682 @setvar! ClosestTargetisSticky 014683 @setvar! CastingWasInterrupted 114684 @setvar! TargetSwap 014685 interrupt14686 break14687 endif14688 14689 if insysmsg "Your concentration is disturbed"14690 interrupt14691 @setvar! CastingWasInterrupted 114692 break14693 endif14694 14695 if timer AntiStallTimer > 150014696 settimer AntiStallTimer 014697 break14698 endif14699 endwhile14700 14701 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange14702 break14703 endif14704 14705 if CastingWasInterrupted = 014706 clearsysmsg14707 target ClosestTarget14708 getlabel backpack packdesc14709 wait 25014710 14711 if insysmsg "wizardry"14712 settimer MagicArrowTimer 014713 elseif insysmsg "cannot be seen"14714 break14715 else14716 settimer MagicArrowTimer MagicArrowCooldown14717 endif14718 endif14719 endif14720 14721 if EnableCastHarm = 1 and timer HarmTimer > HarmCooldown and diffhits < CastGreaterHealHPdiff and mana >= 6 and mana < CastSmallSpellsBelowMana and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and findtype 3976 self and findtype 3981 self14722 cast 'harm'14723 settimer AntiStallTimer 014724 14725 while not targetexists and timer AntiStallTimer < 150014726 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange14727 interrupt14728 @setvar! AttackModeActive 014729 @setvar! RepeatCastingPoison 014730 @setvar! CastingWasInterrupted 114731 @setvar! ClosestTargetisSticky 014732 @setvar! TargetSwap 014733 break14734 endif14735 14736 if insysmsg "Your concentration is disturbed"14737 interrupt14738 @setvar! CastingWasInterrupted 114739 break14740 endif14741 14742 if timer AntiStallTimer > 150014743 settimer AntiStallTimer 014744 break14745 endif14746 endwhile14747 14748 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange14749 break14750 endif14751 14752 if CastingWasInterrupted = 014753 clearsysmsg14754 target ClosestTarget14755 getlabel backpack packdesc14756 wait 25014757 14758 if insysmsg "wizardry"14759 settimer HarmTimer 014760 elseif insysmsg "cannot be seen"14761 break14762 else14763 settimer HarmTimer HarmCooldown14764 endif14765 endif14766 endif14767 14768 if EnableCastFireball = 1 and timer FireballTimer > FireballCooldown and diffhits < CastGreaterHealHPdiff and mana >= 9 and mana < CastSmallSpellsBelowMana and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and findtype 3962 self14769 cast 'fireball'14770 settimer AntiStallTimer 014771 14772 while not targetexists and timer AntiStallTimer < 150014773 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange14774 interrupt14775 @setvar! AttackModeActive 014776 @setvar! RepeatCastingPoison 014777 @setvar! CastingWasInterrupted 114778 @setvar! ClosestTargetisSticky 014779 @setvar! TargetSwap 014780 break14781 endif14782 14783 if insysmsg "Your concentration is disturbed"14784 interrupt14785 @setvar! CastingWasInterrupted 114786 break14787 endif14788 14789 if timer AntiStallTimer > 150014790 settimer AntiStallTimer 014791 break14792 endif14793 endwhile14794 14795 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange14796 break14797 endif14798 14799 if CastingWasInterrupted = 014800 clearsysmsg14801 target ClosestTarget14802 getlabel backpack packdesc14803 wait 25014804 14805 if insysmsg "wizardry"14806 settimer FireballTimer 014807 elseif insysmsg "cannot be seen"14808 break14809 else14810 settimer FireballTimer FireballCooldown14811 endif14812 endif14813 endif14814 14815 if EnableCastLightning = 1 and timer LightningTimer > LightningCooldown and diffhits < CastGreaterHealHPdiff and mana >= 11 and mana < CastSmallSpellsBelowMana and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and findtype 3974 self and findtype 3980 self14816 cast 'lightning'14817 settimer AntiStallTimer 014818 settimer spellTimer 014819 @setvar! SpellcastCooldown 80014820 14821 while not targetexists and timer AntiStallTimer < 150014822 if diffhits >= CastGreaterHealHPdiff14823 interrupt14824 @setvar! AttackModeActive 114825 @setvar! CastingWasInterrupted 114826 endif14827 14828 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange14829 interrupt14830 @setvar! AttackModeActive 014831 @setvar! RepeatCastingPoison 014832 @setvar! CastingWasInterrupted 114833 @setvar! ClosestTargetisSticky 014834 @setvar! TargetSwap 014835 break14836 endif14837 14838 if insysmsg "Your concentration is disturbed"14839 interrupt14840 @setvar! CastingWasInterrupted 114841 break14842 endif14843 14844 if timer AntiStallTimer > 150014845 settimer AntiStallTimer 014846 break14847 endif14848 14849 if timer spellTimer < SpellcastCooldown14850 if EnableCurePotion = 114851 while poisoned and casting and not targetexists14852 if findtype "Orange Potion" self14853 dclicktype "Orange Potion"14854 if EnableOverheadMessages = 1 and timer 'CurePotionMessageTimer' > 350014855 if insysmsg "potion satchel used"14856 overhead '[ FREE CURE POTION ]' 4414857 else14858 overhead '[ CURE POTION ]' 4414859 endif14860 clearsysmsg14861 settimer 'CurePotionMessageTimer' 014862 endif14863 wait 50014864 else14865 if timer 'CurePotionMessageTimer' > 5000 and EnableOverheadMessages = 114866 overhead '[ NO CURE POTS! ]' 33714867 settimer 'CurePotionMessageTimer' 014868 endif14869 break14870 endif14871 endwhile14872 endif14873 14874 if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff and casting and not targetexists14875 if findtype "Yellow Potion" self as HealPot14876 getlabel HealPot HealPotlabel14877 if "next" in HealPotlabel14878 // Do nothing14879 else14880 @setvar! HealPotionCheck 014881 14882 if counttype 3852 self as HealPotCount14883 @setvar! HealPotionCheck HealPotCount14884 endif14885 clearsysmsg14886 dclicktype 385214887 getlabel backpack backpackdesc14888 wait 25014889 if insysmsg "potion satchel used"14890 settimer 'HealPotionTimer' 014891 cooldown "Healing Potion" HealingPotionCooldown14892 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 450014893 overhead '[ FREE HEAL POTION ]' 25314894 endif14895 elseif HealPotionCheck != counttype 3852 self14896 settimer 'HealPotionTimer' 014897 cooldown "Healing Potion" HealingPotionCooldown14898 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 450014899 overhead '[ HEAL POTION ]' 25314900 endif14901 endif14902 clearsysmsg14903 endif14904 else14905 if timer 'HealPotionMessageTimer' > 4500 and EnableOverheadMessages = 114906 overhead '[ NO HEAL POTS! ]' 33714907 settimer 'HealPotionMessageTimer' 014908 endif14909 endif14910 endif14911 endif14912 endwhile14913 14914 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange14915 break14916 endif14917 14918 if CastingWasInterrupted = 014919 clearsysmsg14920 target ClosestTarget14921 getlabel backpack packdesc14922 wait 25014923 if insysmsg "wizardry"14924 settimer LightningTimer 014925 elseif insysmsg "cannot be seen"14926 break14927 else14928 settimer LightningTimer LightningCooldown14929 endif14930 endif14931 endif14932 14933 if insysmsg "Mana Thief activated"14934 if EnableOverheadMessages != 014935 overhead "[ MANA THIEF! ]" 2214936 endif14937 cooldown "Mana Thief" 6000014938 endif14939 14940 if EnableFrostAspect = 114941 if insysmsg "Frost Shell activated"14942 cooldown "Frost Shell Active" 500014943 if EnableOverheadMessages = 114944 overhead '[ FROST SHELL! ]' 223414945 endif14946 if FrostAspectTier = 014947 cooldown "Frost Shell Cooldown" 3000014948 elseif FrostAspectTier = 114949 cooldown "Frost Shell Cooldown" 2900014950 elseif FrostAspectTier = 214951 cooldown "Frost Shell Cooldown" 2800014952 elseif FrostAspectTier = 314953 cooldown "Frost Shell Cooldown" 2700014954 elseif FrostAspectTier = 414955 cooldown "Frost Shell Cooldown" 2600014956 elseif FrostAspectTier = 514957 cooldown "Frost Shell Cooldown" 2500014958 elseif FrostAspectTier = 614959 cooldown "Frost Shell Cooldown" 2400014960 elseif FrostAspectTier = 714961 cooldown "Frost Shell Cooldown" 2300014962 elseif FrostAspectTier = 814963 cooldown "Frost Shell Cooldown" 2200014964 elseif FrostAspectTier = 914965 cooldown "Frost Shell Cooldown" 2100014966 elseif FrostAspectTier = 1014967 cooldown "Frost Shell Cooldown" 2000014968 elseif FrostAspectTier = 1114969 cooldown "Frost Shell Cooldown" 1900014970 elseif FrostAspectTier = 1214971 cooldown "Frost Shell Cooldown" 1800014972 elseif FrostAspectTier = 1314973 cooldown "Frost Shell Cooldown" 1700014974 elseif FrostAspectTier = 1414975 cooldown "Frost Shell Cooldown" 1600014976 elseif FrostAspectTier = 1514977 cooldown "Frost Shell Cooldown" 1500014978 endif14979 clearsysmsg14980 endif14981 endif14982 14983 if dead14984 break14985 endif14986 14987 if EnableUsePotionKegs = 1 and findtype 'empty bottle%s%' self and findtype 'keg' self and timer 'PotionKegPVPCooldown' > 3000014988 @setvar! PotionStockCheck 014989 14990 while PotionStockCheck < 8 and findtype 'empty bottle%s%' self14991 if PotionStockCheck = 014992 if HealingPotionAmount = 014993 @setvar! PotionStockCheck 114994 else14995 @setvar! PotionType 385214996 @setvar! KegColour 25314997 @setvar! PotionAmounttoFill HealingPotionAmount14998 @setvar! PotionStockCheck 114999 endif15000 elseif PotionStockCheck = 115001 if CurePotionAmount = 015002 @setvar! PotionStockCheck 215003 else15004 @setvar! PotionType 384715005 @setvar! KegColour 4415006 @setvar! PotionAmounttoFill CurePotionAmount15007 @setvar! PotionStockCheck 215008 endif15009 elseif PotionStockCheck = 215010 if RefreshPotionAmount = 015011 @setvar! PotionStockCheck 315012 else15013 @setvar! PotionType 385115014 @setvar! KegColour 3715015 @setvar! PotionAmounttoFill RefreshPotionAmount15016 @setvar! PotionStockCheck 315017 endif15018 elseif PotionStockCheck = 315019 if StrengthPotionAmount = 015020 @setvar! PotionStockCheck 415021 else15022 @setvar! PotionType 384915023 @setvar! KegColour 95615024 @setvar! PotionAmounttoFill StrengthPotionAmount15025 @setvar! PotionStockCheck 415026 endif15027 elseif PotionStockCheck = 415028 if AgilityPotionAmount = 015029 @setvar! PotionStockCheck 515030 else15031 @setvar! PotionType 384815032 @setvar! KegColour 9315033 @setvar! PotionAmounttoFill AgilityPotionAmount15034 @setvar! PotionStockCheck 515035 endif15036 elseif PotionStockCheck = 515037 if ResistPotionAmount = 015038 @setvar! PotionStockCheck 615039 else15040 @setvar! PotionType 384615041 @setvar! KegColour 110915042 @setvar! PotionAmounttoFill ResistPotionAmount15043 @setvar! PotionStockCheck 615044 endif15045 elseif PotionStockCheck = 615046 if PoisonPotionAmount = 015047 @setvar! PotionStockCheck 715048 else15049 @setvar! PotionType 385015050 @setvar! KegColour 36315051 @setvar! PotionAmounttoFill PoisonPotionAmount15052 @setvar! PotionStockCheck 715053 endif15054 elseif PotionStockCheck = 715055 if ExplosionPotionAmount = 015056 @setvar! PotionStockCheck 815057 else15058 @setvar! PotionType 385315059 @setvar! KegColour 41915060 @setvar! PotionAmounttoFill ExplosionPotionAmount15061 @setvar! PotionStockCheck 815062 endif15063 else15064 break15065 endif15066 15067 while counttype PotionType self < PotionAmounttoFill15068 if not findtype 'empty bottle%s%' self15069 if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 500015070 overhead '[ NO EMPTY BOTTLES... ]' 33715071 settimer 'PotionKegTimer' 015072 endif15073 break15074 endif15075 15076 if diffhits > HealPotionHPdiff15077 break15078 endif15079 15080 if findtype 'keg' self KegColour as myKeg15081 dclick myKeg15082 wait 25015083 if EnableOverheadMessages = 115084 if timer 'PotionKegTimer' > 200015085 overhead '[ FILLING POTS... ]' KegColour15086 settimer 'PotionKegTimer' 015087 endif15088 endif15089 else15090 if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 500015091 overhead '[ NO KEG TO USE... ]' KegColour15092 settimer 'PotionKegTimer' 015093 endif15094 break15095 endif15096 if insysmsg "You have been in combat with another player"15097 settimer "PotionKegPVPCooldown" 015098 break15099 endif15100 endwhile15101 15102 if counttype PotionType self < PotionAmounttoFill and not findtype 'empty bottle%s%' self15103 if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 500015104 overhead '[ NO EMPTY BOTTLES... ]' 33715105 settimer 'PotionKegTimer' 015106 endif15107 break15108 endif15109 endwhile15110 endif15111 15112 if EnableAutoExplosionPots = 1 and diffhits < CastGreaterHealHPdiff15113 if findtype 'purple potion' self as explotPot15114 getlabel explotPot potLabel15115 if "(" in potLabel15116 if timer PurplePotionTimer > PurplePotionCooldown15117 @setvar! PurplePotionReady 115118 else15119 @setvar! PurplePotionReady 015120 endif15121 else15122 @setvar! PurplePotionReady 115123 endif15124 15125 if skill 'Alchemy' < 8015126 if timer TelekinesisTimer > 60000 or ClosestTargetisSticky = 015127 if PurplePotionReady = 1 and find ClosestTarget ground -1 -1 TargetAttackRange and not dead ClosestTarget15128 if findtype 'purple potion' self15129 settimer AntiStallTimer 015130 while not targetexists and timer AntiStallTimer < 150015131 if timer AntiStallTimer > 150015132 break15133 endif15134 cast 'Telekinesis'15135 wait 50015136 endwhile15137 clearsysmsg15138 wft 50015139 target ClosestTarget15140 wait 25015141 if insysmsg "You are too far"15142 @setvar! ClosestTargetisSticky 015143 clearsysmsg15144 else15145 if EnableOverheadMessages = 1 and timer PurplePotionMessageTimer > 450015146 overhead '[ EXPLOSION POTION! ]' 41915147 settimer PurplePotionMessageTimer 015148 endif15149 settimer TelekinesisTimer 015150 @setvar! ClosestTargetisSticky 115151 endif15152 endif15153 endif15154 endif15155 else15156 @setvar! ClosestTargetisSticky 115157 endif15158 else15159 if EnableOverheadMessages = 1 and timer PurplePotionMessageTimer > 1500015160 overhead '[ NO PURPLE POTIONS ]' 33715161 settimer PurplePotionMessageTimer 015162 endif15163 endif15164 endif15165 15166 @setvar! CastingWasInterrupted 015167 15168 if targetexists15169 hotkey 'cancel current target'15170 endif15171 15172 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange15173 @setvar! RepeatCastingPoison 015174 @setvar! AttackModeActive 015175 @setvar! ClosestTargetisSticky 015176 @setvar! TargetSwap 015177 settimer TargetChecker 015178 break15179 endif15180 15181 if EnableAutoExplosionPots = 115182 if timer TelekinesisTimer > 6000015183 @setvar! ClosestTargetisSticky 015184 settimer TelekinesisTimer 015185 endif15186 endif15187 15188 if PurplePotionReady = 1 and ClosestTargetisSticky = 1 and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and diffhits < CastGreaterHealHPdiff15189 settimer AntiStallTimer 015190 while not insysmsg "Where should i throw this potion?" and timer AntiStallTimer < 150015191 potion 'explosion'15192 if timer AntiStallTimer > 150015193 settimer AntiStallTimer 015194 break15195 endif15196 endwhile15197 15198 @setvar! PurplePotionReady 015199 settimer PurplePotionTimer 015200 settimer AntiStallTimer 015201 15202 while not targetexists and timer AntiStallTimer < 150015203 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange15204 @setvar! RepeatCastingPoison 015205 @setvar! AttackModeActive 015206 @setvar! ClosestTargetisSticky 015207 @setvar! CastingWasInterrupted 115208 @setvar! TargetSwap 015209 hotkey 'cancel current target'15210 break15211 endif15212 15213 if timer AntiStallTimer > 150015214 settimer AntiStallTimer 015215 break15216 endif15217 endwhile15218 15219 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange15220 break15221 endif15222 15223 if CastingWasInterrupted = 015224 target ClosestTarget15225 cooldown "Purple Potion" PurplePotionCooldown15226 getlabel backpack packdesc15227 wait 25015228 endif15229 endif15230 15231 if counttype 29012 self = 0 and EnableMagicMushroomMaker = 115232 while counttype 29012 self < MakeMushroomAmount and mana > 3 and diffhits < CastGreaterHealHPdiff15233 if timer 'MushroomMakerTimer' > 450015234 overhead '[ MAKING SHROOMS... ]' 41915235 settimer 'MushroomMakerTimer' 015236 endif15237 15238 if not casting15239 cast 'create food'15240 wait 50015241 endif15242 15243 if diffhits > CastGreaterHealHPdiff15244 break15245 endif15246 endwhile15247 15248 if diffhits > CastGreaterHealHPdiff15249 break15250 endif15251 15252 if dead15253 break15254 endif15255 endif15256 15257 if EnableGoldVacuum = 1 and DisableVacuums != 115258 if findtype "gold coin" ground -1 -1 15 as droppedmoney and timer "GoldRadar" > 350015259 overhead " � " 149 droppedmoney15260 settimer "GoldRadar" 015261 endif15262 15263 while findtype "gold coin" ground -1 -1 2 as droppedmoney and diffhits < CastGreaterHealHPdiff15264 overhead " � " 14915265 hotkey "Grab Item"15266 wft 250015267 target droppedmoney15268 wait 25015269 15270 if dead15271 break15272 endif15273 15274 if diffhits >= CastGreaterHealHPdiff15275 @setvar! AttackModeActive 115276 break15277 endif15278 15279 if insysmsg "Invalid or inaccessible item"15280 wait 50015281 @ignore droppedmoney15282 endif15283 wait 25015284 endwhile15285 endif15286 15287 if EnableDungeonCleanup = 1 and diffhits < CastGreaterHealHPdiff15288 while findtype "iron ingot%s|board%s|cut up leather|3972|3962|3963|3980|3976|3973|3974|3981" ground -1 -1 2 as item15289 if EnableOverheadMessages = 115290 if timer "DungeonCleanup" > 150015291 overhead '[ CLEANUP... ]' 42015292 settimer "DungeonCleanup" 015293 endif15294 else15295 if timer "DungeonCleanup" > 150015296 overhead ' � ' 42015297 settimer "DungeonCleanup" 015298 endif15299 endif15300 hotkey "Grab Item"15301 wft 100015302 target item15303 wait 50015304 if dead15305 break15306 endif15307 if diffhits > CastGreaterHealHPdiff15308 break15309 endif15310 endwhile15311 15312 if findtype "iron ingot%s|board%s|cut up leather|3972|3962|3963|3980|3976|3973|3974|3981" ground -1 -1 15 as dungeonjunk and timer "DungeonCleanupRadar" > 350015313 overhead "�" 420 dungeonjunk15314 settimer "DungeonCleanupRadar" 015315 endif15316 endif15317 15318 if EnableAutoCarving = 1 and findtype 11552 self15319 while findtype "corpse" ground -1 -1 2 as deadbody and diffhits < CastGreaterHealHPdiff15320 settimer SkinningTimeoutTimer 015321 if findtype 11552 self15322 if targetexists15323 hotkey 'cancel current target'15324 endif15325 15326 while not targetexists15327 skill 'forensicevaluation'15328 getlabel backpack backpacklabel15329 endwhile15330 15331 if targetexists and find deadbody ground -1 -1 215332 target 'self'15333 @ignore deadbody15334 wait 25015335 endif15336 15337 if insysmsg "You dont see anything nearby"15338 clearsysmsg15339 break15340 else15341 if EnableOverheadMessages = 1 and timer SkinningTimer > 300015342 overhead '[ SKINNING... ]' 33315343 settimer SkinningTimer 015344 endif15345 endif15346 else15347 if EnableOverheadMessages = 1 and timer SkinningTimer > 1500015348 overhead '[ NO SKINNING KNIFE ]' 33715349 settimer SkinningTimer 015350 break15351 endif15352 endif15353 15354 if timer SkinningTimeoutTimer > 1500 or diffhits > CastGreaterHealHPdiff15355 break15356 endif15357 endwhile15358 endif15359 15360 if EnableArcaneCodexStances != 0 or EnableArcaneCodexFinisher != 015361 if skill 'Arcane' >= 8015362 if findtype "arcane codex" backpack as MyCodex15363 if not gumpexists 2016719803 and EnableArcaneCodexHotbar = 115364 while not gumpexists 106664755315365 say "[CodexHotBar"15366 wait 50015367 if gumpexists 201671980315368 break15369 endif15370 endwhile15371 endif15372 15373 if EnableArcaneCodexStances = 615374 if not warmode15375 @setvar! SwitchToLeechStance 015376 @setvar! SwitchToShieldStance 015377 @setvar! SwitchToScatterStance 015378 @setvar! SwitchToFractureStance 015379 @setvar! SwitchToSurgeStance 115380 elseif cooldown "Frost Shell" or poisoned or findbuff "bleed" or findbuff "disease" or diffhits > 7015381 @setvar! SwitchToLeechStance 015382 @setvar! SwitchToShieldStance 115383 @setvar! SwitchToScatterStance 015384 @setvar! SwitchToFractureStance 015385 @setvar! SwitchToSurgeStance 015386 elseif warmode15387 @setvar! SwitchToLeechStance 115388 @setvar! SwitchToShieldStance 015389 @setvar! SwitchToScatterStance 015390 @setvar! SwitchToFractureStance 015391 @setvar! SwitchToSurgeStance 015392 endif15393 elseif EnableArcaneCodexStances = 115394 getlabel MyCodex MyCodexDesc15395 @setvar! SwitchToLeechStance 115396 @setvar! SwitchToShieldStance 015397 @setvar! SwitchToScatterStance 015398 @setvar! SwitchToFractureStance 015399 @setvar! SwitchToSurgeStance 015400 elseif EnableArcaneCodexStances = 215401 getlabel MyCodex MyCodexDesc15402 @setvar! SwitchToLeechStance 015403 @setvar! SwitchToShieldStance 115404 @setvar! SwitchToScatterStance 015405 @setvar! SwitchToFractureStance 015406 @setvar! SwitchToSurgeStance 015407 elseif EnableArcaneCodexStances = 315408 getlabel MyCodex MyCodexDesc15409 @setvar! SwitchToLeechStance 015410 @setvar! SwitchToShieldStance 015411 @setvar! SwitchToScatterStance 115412 @setvar! SwitchToFractureStance 015413 @setvar! SwitchToSurgeStance 015414 elseif EnableArcaneCodexStances = 415415 getlabel MyCodex MyCodexDesc15416 @setvar! SwitchToLeechStance 015417 @setvar! SwitchToShieldStance 015418 @setvar! SwitchToScatterStance 015419 @setvar! SwitchToFractureStance 115420 @setvar! SwitchToSurgeStance 015421 elseif EnableArcaneCodexStances = 515422 getlabel MyCodex MyCodexDesc15423 @setvar! SwitchToLeechStance 015424 @setvar! SwitchToShieldStance 015425 @setvar! SwitchToScatterStance 015426 @setvar! SwitchToFractureStance 015427 @setvar! SwitchToSurgeStance 115428 endif15429 15430 getlabel MyCodex MyCodexDesc15431 15432 if EnableArcaneCodexStances = 6 or EnableArcaneCodexFinisher = 315433 if timer "WeaponCodexTimer" > SwitchArcaneCodexCooldown and diffhits < CastGreaterHealHPdiff15434 if SwitchToLeechStance = 115435 if "Leech" in MyCodexDesc15436 // Do nothing15437 else15438 yell [ArcaneStance115439 settimer "WeaponCodexTimer" 015440 wait 25015441 endif15442 15443 if EnableArcaneCodexFinisher = 3 or EnableArcaneCodexFinisher = 115444 if "Clarity" in MyCodexDesc15445 // Do nothing15446 elseif DisableWeaponFinisher != 115447 yell [ArcaneFinisher115448 @setvar! DisableWeaponFinisher 015449 settimer "WeaponCodexTimer" 015450 wait 25015451 if insysmsg "You must first reach rank 5"15452 @setvar! DisableWeaponFinisher 115453 endif15454 endif15455 elseif EnableArcaneCodexFinisher = 215456 if "Catalyst" in MyCodexDesc15457 // Do nothing15458 elseif DisableWeaponFinisher != 115459 yell [ArcaneFinisher215460 @setvar! DisableWeaponFinisher 015461 settimer "WeaponCodexTimer" 015462 wait 25015463 if insysmsg "You must first reach rank 5"15464 @setvar! DisableWeaponFinisher 115465 endif15466 endif15467 endif15468 elseif SwitchToShieldStance = 115469 if "Shield" in MyCodexDesc15470 // Do nothing15471 else15472 yell [ArcaneStance215473 settimer "WeaponCodexTimer" 015474 wait 25015475 endif15476 15477 if EnableArcaneCodexFinisher = 215478 if "Catalyst" in MyCodexDesc15479 // Do nothing15480 elseif DisableWeaponFinisher != 115481 yell [ArcaneFinisher215482 @setvar! DisableWeaponFinisher 015483 settimer "WeaponCodexTimer" 015484 wait 25015485 if insysmsg "You must first reach rank 5"15486 @setvar! DisableWeaponFinisher 115487 endif15488 endif15489 elseif EnableArcaneCodexFinisher = 1 or EnableArcaneCodexFinisher = 315490 if "Clarity" in MyCodexDesc15491 // Do nothing15492 elseif DisableWeaponFinisher != 115493 yell [ArcaneFinisher115494 @setvar! DisableWeaponFinisher 015495 settimer "WeaponCodexTimer" 015496 wait 25015497 if insysmsg "You must first reach rank 5"15498 @setvar! DisableWeaponFinisher 115499 endif15500 endif15501 endif15502 elseif SwitchToScatterStance = 115503 if "Scatter" in MyCodexDesc15504 // Do nothing15505 else15506 yell [ArcaneStance315507 settimer "WeaponCodexTimer" 015508 wait 25015509 endif15510 15511 if EnableArcaneCodexFinisher = 3 or EnableArcaneCodexFinisher = 215512 if "Catalyst" in MyCodexDesc15513 // Do nothing15514 elseif DisableWeaponFinisher != 115515 say [ArcaneFinisher215516 @setvar! DisableWeaponFinisher 015517 settimer "WeaponCodexTimer" 015518 wait 25015519 if insysmsg "You must first reach rank 5"15520 @setvar! DisableWeaponFinisher 115521 endif15522 endif15523 elseif EnableArcaneCodexFinisher = 115524 if "Clarity" in MyCodexDesc15525 // Do nothing15526 elseif DisableWeaponFinisher != 115527 say [ArcaneFinisher115528 @setvar! DisableWeaponFinisher 015529 settimer "WeaponCodexTimer" 015530 wait 25015531 if insysmsg "You must first reach rank 5"15532 @setvar! DisableWeaponFinisher 115533 endif15534 endif15535 endif15536 elseif SwitchToFractureStance = 115537 if "Fracture" in MyCodexDesc15538 // Do nothing15539 else15540 yell [ArcaneStance415541 settimer "WeaponCodexTimer" 015542 wait 25015543 endif15544 15545 if EnableArcaneCodexFinisher = 115546 if "Clarity" in MyCodexDesc15547 // Do nothing15548 elseif DisableWeaponFinisher != 115549 say [ArcaneFinisher115550 @setvar! DisableWeaponFinisher 015551 settimer "WeaponCodexTimer" 015552 wait 25015553 if insysmsg "You must first reach rank 5"15554 @setvar! DisableWeaponFinisher 115555 endif15556 endif15557 elseif EnableArcaneCodexFinisher = 2 or EnableArcaneCodexFinisher = 315558 if "Catalyst" in MyCodexDesc15559 // Do nothing15560 elseif DisableWeaponFinisher != 115561 yell [ArcaneFinisher215562 @setvar! DisableWeaponFinisher 015563 settimer "WeaponCodexTimer" 015564 wait 25015565 if insysmsg "You must first reach rank 5"15566 @setvar! DisableWeaponFinisher 115567 endif15568 endif15569 endif15570 elseif SwitchToSurgeStance = 115571 if "Surge" in MyCodexDesc15572 // Do nothing15573 else15574 yell [ArcaneStance515575 settimer "WeaponCodexTimer" 015576 wait 25015577 endif15578 15579 if EnableArcaneCodexFinisher = 3 or EnableArcaneCodexFinisher = 215580 if "Catalyst" in MyCodexDesc15581 // Do nothing15582 elseif DisableWeaponFinisher != 115583 say [ArcaneFinisher215584 @setvar! DisableWeaponFinisher 015585 settimer "WeaponCodexTimer" 015586 wait 25015587 if insysmsg "You must first reach rank 5"15588 @setvar! DisableWeaponFinisher 115589 endif15590 endif15591 elseif EnableArcaneCodexFinisher = 115592 if "Clarity" in MyCodexDesc15593 // Do nothing15594 elseif DisableWeaponFinisher != 115595 say [ArcaneFinisher115596 @setvar! DisableWeaponFinisher 015597 settimer "WeaponCodexTimer" 015598 wait 25015599 if insysmsg "You must first reach rank 5"15600 @setvar! DisableWeaponFinisher 115601 endif15602 endif15603 endif15604 endif15605 endif15606 elseif EnableArcaneCodexStances != 6 and EnableArcaneCodexStances != 0 and EnableArcaneCodexFinisher != 315607 if EnableArcaneCodexFinisher != 0 and timer "WeaponCodexCheckTimer" > 2000 and mana > 50 and diffhits < CastGreaterHealHPdiff15608 if SwitchToLeechStance = 115609 if "Leech" in MyCodexDesc15610 // Do nothing15611 else15612 yell [ArcaneStance115613 settimer "WeaponCodexCheckTimer" 015614 wait 25015615 endif15616 15617 if EnableArcaneCodexFinisher = 3 or EnableArcaneCodexFinisher = 115618 if "Clarity" in MyCodexDesc15619 // Do nothing15620 elseif DisableWeaponFinisher != 115621 yell [ArcaneFinisher115622 @setvar! DisableWeaponFinisher 015623 settimer "WeaponCodexCheckTimer" 015624 wait 25015625 if insysmsg "You must first reach rank 5"15626 @setvar! DisableWeaponFinisher 115627 endif15628 endif15629 elseif EnableArcaneCodexFinisher = 215630 if "Catalyst" in MyCodexDesc15631 // Do nothing15632 elseif DisableWeaponFinisher != 115633 yell [ArcaneFinisher215634 @setvar! DisableWeaponFinisher 015635 settimer "WeaponCodexCheckTimer" 015636 wait 25015637 if insysmsg "You must first reach rank 5"15638 @setvar! DisableWeaponFinisher 115639 endif15640 endif15641 endif15642 elseif SwitchToShieldStance = 115643 if "Shield" in MyCodexDesc15644 // Do nothing15645 else15646 yell [ArcaneStance215647 settimer "WeaponCodexCheckTimer" 015648 wait 25015649 endif15650 15651 if EnableArcaneCodexFinisher = 215652 if "Catalyst" in MyCodexDesc15653 // Do nothing15654 elseif DisableWeaponFinisher != 115655 yell [ArcaneFinisher215656 @setvar! DisableWeaponFinisher 015657 settimer "WeaponCodexCheckTimer" 015658 wait 25015659 if insysmsg "You must first reach rank 5"15660 @setvar! DisableWeaponFinisher 115661 endif15662 endif15663 elseif EnableArcaneCodexFinisher = 1 or EnableArcaneCodexFinisher = 315664 if "Clarity" in MyCodexDesc15665 // Do nothing15666 elseif DisableWeaponFinisher != 115667 yell [ArcaneFinisher115668 @setvar! DisableWeaponFinisher 015669 settimer "WeaponCodexCheckTimer" 015670 wait 25015671 if insysmsg "You must first reach rank 5"15672 @setvar! DisableWeaponFinisher 115673 endif15674 endif15675 endif15676 elseif SwitchToScatterStance = 115677 if "Scatter" in MyCodexDesc15678 // Do nothing15679 else15680 yell [ArcaneStance315681 settimer "WeaponCodexCheckTimer" 015682 wait 25015683 endif15684 15685 if EnableArcaneCodexFinisher = 3 or EnableArcaneCodexFinisher = 215686 if "Catalyst" in MyCodexDesc15687 // Do nothing15688 elseif DisableWeaponFinisher != 115689 say [ArcaneFinisher215690 @setvar! DisableWeaponFinisher 015691 settimer "WeaponCodexCheckTimer" 015692 wait 25015693 if insysmsg "You must first reach rank 5"15694 @setvar! DisableWeaponFinisher 115695 endif15696 endif15697 elseif EnableArcaneCodexFinisher = 115698 if "Clarity" in MyCodexDesc15699 // Do nothing15700 elseif DisableWeaponFinisher != 115701 say [ArcaneFinisher115702 @setvar! DisableWeaponFinisher 015703 settimer "WeaponCodexCheckTimer" 015704 wait 25015705 if insysmsg "You must first reach rank 5"15706 @setvar! DisableWeaponFinisher 115707 endif15708 endif15709 endif15710 elseif SwitchToFractureStance = 115711 if "Fracture" in MyCodexDesc15712 // Do nothing15713 else15714 yell [ArcaneStance415715 settimer "WeaponCodexCheckTimer" 015716 wait 25015717 endif15718 15719 if EnableArcaneCodexFinisher = 115720 if "Clarity" in MyCodexDesc15721 // Do nothing15722 elseif DisableWeaponFinisher != 115723 say [ArcaneFinisher115724 @setvar! DisableWeaponFinisher 015725 settimer "WeaponCodexCheckTimer" 015726 wait 25015727 if insysmsg "You must first reach rank 5"15728 @setvar! DisableWeaponFinisher 115729 endif15730 endif15731 elseif EnableArcaneCodexFinisher = 2 or EnableArcaneCodexFinisher = 315732 if "Catalyst" in MyCodexDesc15733 // Do nothing15734 elseif DisableWeaponFinisher != 115735 yell [ArcaneFinisher215736 @setvar! DisableWeaponFinisher 015737 settimer "WeaponCodexCheckTimer" 015738 wait 25015739 if insysmsg "You must first reach rank 5"15740 @setvar! DisableWeaponFinisher 115741 endif15742 endif15743 endif15744 elseif SwitchToSurgeStance = 115745 if "Surge" in MyCodexDesc15746 // Do nothing15747 else15748 yell [ArcaneStance515749 settimer "WeaponCodexCheckTimer" 015750 wait 25015751 endif15752 15753 if EnableArcaneCodexFinisher = 3 or EnableArcaneCodexFinisher = 215754 if "Catalyst" in MyCodexDesc15755 // Do nothing15756 elseif DisableWeaponFinisher != 115757 say [ArcaneFinisher215758 @setvar! DisableWeaponFinisher 015759 settimer "WeaponCodexCheckTimer" 015760 wait 25015761 if insysmsg "You must first reach rank 5"15762 @setvar! DisableWeaponFinisher 115763 endif15764 endif15765 elseif EnableArcaneCodexFinisher = 115766 if "Clarity" in MyCodexDesc15767 // Do nothing15768 elseif DisableWeaponFinisher != 115769 say [ArcaneFinisher115770 @setvar! DisableWeaponFinisher 015771 settimer "WeaponCodexCheckTimer" 015772 wait 25015773 if insysmsg "You must first reach rank 5"15774 @setvar! DisableWeaponFinisher 115775 endif15776 endif15777 endif15778 endif15779 endif15780 endif15781 endif15782 endif15783 endif15784 15785 if EnableShieldCodexStances != 0 or EnableShieldCodexFinisher != 015786 if skill "Parrying" >= 80 and findtype "shield codex" backpack as ShieldCodex15787 if not gumpexists 2016719803 and EnableShieldCodexHotbar = 115788 while not gumpexists 106664755315789 say "[CodexHotBar"15790 wait 50015791 if gumpexists 201671980315792 break15793 endif15794 endwhile15795 endif15796 15797 if EnableShieldCodexStances = 615798 if not warmode15799 @setvar! SwitchToShieldBashStance 015800 @setvar! SwitchToWardingStance 015801 @setvar! SwitchToTestudoStance 015802 @setvar! SwitchToMirrorStance 015803 @setvar! SwitchToBulwarkStance 115804 elseif cooldown "Frost Shell" or findbuff "bleed" or findbuff "disease" or poisoned or diffhits > 7015805 @setvar! SwitchToShieldBashStance 015806 @setvar! SwitchToWardingStance 115807 @setvar! SwitchToTestudoStance 015808 @setvar! SwitchToMirrorStance 015809 @setvar! SwitchToBulwarkStance 015810 elseif warmode15811 @setvar! SwitchToShieldBashStance 015812 @setvar! SwitchToWardingStance 015813 @setvar! SwitchToTestudoStance 115814 @setvar! SwitchToMirrorStance 015815 @setvar! SwitchToBulwarkStance 015816 endif15817 elseif EnableShieldCodexStances = 115818 @setvar! SwitchToShieldBashStance 115819 @setvar! SwitchToWardingStance 015820 @setvar! SwitchToTestudoStance 015821 @setvar! SwitchToMirrorStance 015822 @setvar! SwitchToBulwarkStance 015823 elseif EnableShieldCodexStances = 215824 @setvar! SwitchToShieldBashStance 015825 @setvar! SwitchToWardingStance 215826 @setvar! SwitchToTestudoStance 015827 @setvar! SwitchToMirrorStance 015828 @setvar! SwitchToBulwarkStance 015829 elseif EnableShieldCodexStances = 315830 @setvar! SwitchToShieldBashStance 015831 @setvar! SwitchToWardingStance 015832 @setvar! SwitchToTestudoStance 115833 @setvar! SwitchToMirrorStance 015834 @setvar! SwitchToBulwarkStance 015835 elseif EnableShieldCodexStances = 415836 @setvar! SwitchToShieldBashStance 015837 @setvar! SwitchToWardingStance 015838 @setvar! SwitchToTestudoStance 015839 @setvar! SwitchToMirrorStance 115840 @setvar! SwitchToBulwarkStance 015841 elseif EnableShieldCodexStances = 515842 @setvar! SwitchToShieldBashStance 015843 @setvar! SwitchToWardingStance 015844 @setvar! SwitchToTestudoStance 015845 @setvar! SwitchToMirrorStance 015846 @setvar! SwitchToBulwarkStance 115847 endif15848 15849 getlabel ShieldCodex ShieldCodexDesc15850 15851 if EnableShieldCodexStances = 6 or EnableShieldCodexFinisher = 315852 if timer "ShieldCodexTimer" > SwitchShieldCodexCooldown and diffhits < CastGreaterHealHPdiff15853 if SwitchToWardingStance = 115854 if "Warding" in ShieldCodexDesc15855 // Do nothing15856 else15857 yell [ShieldsStance215858 settimer "ShieldCodexTimer" 015859 wait 50015860 endif15861 15862 if EnableShieldCodexFinisher != 015863 if EnableShieldCodexFinisher = 2 or EnableShieldCodexFinisher = 3 and DisableShieldFinisher != 115864 if "Barrier" in ShieldCodexDesc15865 // Do nothing15866 else15867 say [ShieldsFinisher215868 settimer "ShieldCodexTimer" 015869 wait 50015870 if insysmsg "You must first reach rank 5"15871 @setvar! DisableShieldFinisher 115872 endif15873 endif15874 elseif EnableShieldCodexFinisher = 1 and DisableShieldFinisher != 115875 if "Last Stand" in ShieldCodexDesc15876 // Do nothing15877 else15878 yell [ShieldsFinisher115879 settimer "ShieldCodexTimer" 015880 wait 50015881 if insysmsg "You must first reach rank 5"15882 @setvar! DisableShieldFinisher 115883 endif15884 endif15885 endif15886 endif15887 elseif SwitchToMirrorStance = 115888 if "Mirror" in ShieldCodexDesc15889 // Do nothing15890 else15891 yell [ShieldsStance415892 settimer "ShieldCodexTimer" 015893 wait 50015894 endif15895 15896 if EnableShieldCodexFinisher != 0 and DisableShieldFinisher != 115897 if EnableShieldCodexFinisher = 1 or EnableShieldCodexFinisher = 315898 if "Last Stand" in ShieldCodexDesc15899 // Do nothing15900 else15901 yell [ShieldsFinisher115902 settimer "ShieldCodexTimer" 015903 wait 50015904 if insysmsg "You must first reach rank 5"15905 @setvar! DisableShieldFinisher 115906 endif15907 endif15908 elseif EnableShieldCodexFinisher = 2 and DisableShieldFinisher != 115909 if "Barrier" in ShieldCodexDesc15910 // Do nothing15911 else15912 say [ShieldsFinisher215913 settimer "ShieldCodexTimer" 015914 wait 50015915 if insysmsg "You must first reach rank 5"15916 @setvar! DisableShieldFinisher 115917 endif15918 endif15919 endif15920 endif15921 elseif SwitchToBulwarkStance = 115922 if "Bulwark" in ShieldCodexDesc15923 // Do nothing15924 else15925 yell [ShieldsStance515926 settimer "ShieldCodexTimer" 015927 wait 50015928 endif15929 15930 if EnableShieldCodexFinisher != 0 and DisableShieldFinisher != 115931 if EnableShieldCodexFinisher = 1 or EnableShieldCodexFinisher = 315932 if "Last Stand" in ShieldCodexDesc15933 // Do nothing15934 else15935 yell [ShieldsFinisher115936 settimer "ShieldCodexTimer" 015937 wait 50015938 if insysmsg "You must first reach rank 5"15939 @setvar! DisableShieldFinisher 115940 endif15941 endif15942 elseif EnableShieldCodexFinisher = 2 and DisableShieldFinisher != 115943 if "Barrier" in ShieldCodexDesc15944 // Do nothing15945 else15946 say [ShieldsFinisher215947 settimer "ShieldCodexTimer" 015948 wait 50015949 if insysmsg "You must first reach rank 5"15950 @setvar! DisableShieldFinisher 115951 endif15952 endif15953 endif15954 endif15955 elseif SwitchToTestudoStance = 115956 if "Testudo" in ShieldCodexDesc15957 // Do nothing15958 else15959 yell [ShieldsStance315960 settimer "ShieldCodexTimer" 015961 wait 50015962 endif15963 15964 if EnableShieldCodexFinisher != 0 and DisableShieldFinisher != 115965 if EnableShieldCodexFinisher = 1 or EnableShieldCodexFinisher = 315966 if "Last Stand" in ShieldCodexDesc15967 // Do nothing15968 else15969 yell [ShieldsFinisher115970 settimer "ShieldCodexTimer" 015971 wait 50015972 if insysmsg "You must first reach rank 5"15973 @setvar! DisableShieldFinisher 115974 endif15975 endif15976 elseif EnableShieldCodexFinisher = 2 and DisableShieldFinisher != 115977 if "Barrier" in ShieldCodexDesc15978 // Do nothing15979 else15980 say [ShieldsFinisher215981 settimer "ShieldCodexTimer" 015982 wait 50015983 if insysmsg "You must first reach rank 5"15984 @setvar! DisableShieldFinisher 115985 endif15986 endif15987 endif15988 endif15989 elseif SwitchToShieldBashStance = 115990 if "Shield Bash" in ShieldCodexDesc15991 // Do nothing15992 else15993 yell [ShieldsStance115994 settimer "ShieldCodexTimer" 015995 wait 50015996 endif15997 15998 if EnableShieldCodexFinisher != 0 and DisableShieldFinisher != 115999 if EnableShieldCodexFinisher = 216000 if "Barrier" in ShieldCodexDesc16001 // Do nothing16002 else16003 say [ShieldsFinisher216004 settimer "ShieldCodexTimer" 016005 wait 50016006 if insysmsg "You must first reach rank 5"16007 @setvar! DisableShieldFinisher 116008 endif16009 endif16010 elseif EnableShieldCodexFinisher = 1 or EnableShieldCodexFinisher = 316011 if "Last Stand" in ShieldCodexDesc16012 // Do nothing16013 else16014 yell [ShieldsFinisher116015 settimer "ShieldCodexTimer" 016016 wait 50016017 if insysmsg "You must first reach rank 5"16018 @setvar! DisableShieldFinisher 116019 endif16020 endif16021 endif16022 endif16023 endif16024 endif16025 elseif EnableShieldCodexStances != 6 and EnableShieldCodexFinisher != 316026 if timer "ShieldCodexCheckTimer" > 200016027 if SwitchToWardingStance = 116028 if "Warding" in ShieldCodexDesc16029 // Do nothing16030 else16031 yell [ShieldsStance216032 settimer "ShieldCodexCheckTimer" 016033 wait 50016034 endif16035 16036 if EnableShieldCodexFinisher != 016037 if EnableShieldCodexFinisher = 2 or EnableShieldCodexFinisher = 3 and DisableShieldFinisher != 116038 if "Barrier" in ShieldCodexDesc16039 // Do nothing16040 else16041 say [ShieldsFinisher216042 settimer "ShieldCodexCheckTimer" 016043 wait 50016044 if insysmsg "You must first reach rank 5"16045 @setvar! DisableShieldFinisher 116046 endif16047 endif16048 elseif EnableShieldCodexFinisher = 1 and DisableShieldFinisher != 116049 if "Last Stand" in ShieldCodexDesc16050 // Do nothing16051 else16052 yell [ShieldsFinisher116053 settimer "ShieldCodexCheckTimer" 016054 wait 50016055 if insysmsg "You must first reach rank 5"16056 @setvar! DisableShieldFinisher 116057 endif16058 endif16059 endif16060 endif16061 elseif SwitchToMirrorStance = 116062 if "Mirror" in ShieldCodexDesc16063 // Do nothing16064 else16065 yell [ShieldsStance416066 settimer "ShieldCodexCheckTimer" 016067 wait 50016068 endif16069 16070 if EnableShieldCodexFinisher != 0 and DisableShieldFinisher != 116071 if EnableShieldCodexFinisher = 1 or EnableShieldCodexFinisher = 316072 if "Last Stand" in ShieldCodexDesc16073 // Do nothing16074 else16075 yell [ShieldsFinisher116076 settimer "ShieldCodexCheckTimer" 016077 wait 50016078 if insysmsg "You must first reach rank 5"16079 @setvar! DisableShieldFinisher 116080 endif16081 endif16082 elseif EnableShieldCodexFinisher = 2 and DisableShieldFinisher != 116083 if "Barrier" in ShieldCodexDesc16084 // Do nothing16085 else16086 say [ShieldsFinisher216087 settimer "ShieldCodexCheckTimer" 016088 wait 50016089 if insysmsg "You must first reach rank 5"16090 @setvar! DisableShieldFinisher 116091 endif16092 endif16093 endif16094 endif16095 elseif SwitchToBulwarkStance = 116096 if "Bulwark" in ShieldCodexDesc16097 // Do nothing16098 else16099 yell [ShieldsStance516100 settimer "ShieldCodexCheckTimer" 016101 wait 50016102 endif16103 16104 if EnableShieldCodexFinisher != 0 and DisableShieldFinisher != 116105 if EnableShieldCodexFinisher = 1 or EnableShieldCodexFinisher = 316106 if "Last Stand" in ShieldCodexDesc16107 // Do nothing16108 else16109 yell [ShieldsFinisher116110 settimer "ShieldCodexCheckTimer" 016111 wait 50016112 if insysmsg "You must first reach rank 5"16113 @setvar! DisableShieldFinisher 116114 endif16115 endif16116 elseif EnableShieldCodexFinisher = 2 and DisableShieldFinisher != 116117 if "Barrier" in ShieldCodexDesc16118 // Do nothing16119 else16120 say [ShieldsFinisher216121 settimer "ShieldCodexCheckTimer" 016122 wait 50016123 if insysmsg "You must first reach rank 5"16124 @setvar! DisableShieldFinisher 116125 endif16126 endif16127 endif16128 endif16129 elseif SwitchToTestudoStance = 116130 if "Testudo" in ShieldCodexDesc16131 // Do nothing16132 else16133 yell [ShieldsStance316134 settimer "ShieldCodexCheckTimer" 016135 wait 50016136 endif16137 16138 if EnableShieldCodexFinisher != 0 and DisableShieldFinisher != 116139 if EnableShieldCodexFinisher = 1 or EnableShieldCodexFinisher = 316140 if "Last Stand" in ShieldCodexDesc16141 // Do nothing16142 else16143 yell [ShieldsFinisher116144 settimer "ShieldCodexCheckTimer" 016145 wait 50016146 if insysmsg "You must first reach rank 5"16147 @setvar! DisableShieldFinisher 116148 endif16149 endif16150 elseif EnableShieldCodexFinisher = 2 and DisableShieldFinisher != 116151 if "Barrier" in ShieldCodexDesc16152 // Do nothing16153 else16154 say [ShieldsFinisher216155 settimer "ShieldCodexCheckTimer" 016156 wait 50016157 if insysmsg "You must first reach rank 5"16158 @setvar! DisableShieldFinisher 116159 endif16160 endif16161 endif16162 endif16163 elseif SwitchToShieldBashStance = 116164 if "Shield Bash" in ShieldCodexDesc16165 // Do nothing16166 else16167 yell [ShieldsStance116168 settimer "ShieldCodexCheckTimer" 016169 wait 50016170 endif16171 16172 if EnableShieldCodexFinisher != 0 and DisableShieldFinisher != 116173 if EnableShieldCodexFinisher = 2 and DisableShieldFinisher != 116174 if "Barrier" in ShieldCodexDesc16175 // Do nothing16176 else16177 say [ShieldsFinisher216178 settimer "ShieldCodexCheckTimer" 016179 wait 50016180 if insysmsg "You must first reach rank 5"16181 @setvar! DisableShieldFinisher 116182 endif16183 endif16184 elseif EnableShieldCodexFinisher = 1 or EnableShieldCodexFinisher = 316185 if "Last Stand" in ShieldCodexDesc16186 // Do nothing16187 else16188 yell [ShieldsFinisher116189 settimer "ShieldCodexCheckTimer" 016190 wait 50016191 if insysmsg "You must first reach rank 5"16192 @setvar! DisableShieldFinisher 116193 endif16194 endif16195 endif16196 endif16197 endif16198 endif16199 endif16200 endif16201 endif16202 16203 if not warmode16204 if EnablePlaceArcaneRunes != 0 and timer ArcaneRuneTimer > ArcaneRunePlacementCooldown16205 if findtype '39889|39891|39892|39896|39897|39898|39905|39909|39911|39912|39916|39917|39918' self16206 if EnablePlaceArcaneRunes = 116207 # Aggression Rune16208 if findtype '39892' self as MyArcaneRune16209 dclick MyArcaneRune16210 getlabel backpack backpacklabel16211 if EnableOverheadMessages = 116212 overhead '[ AGGRESSION RUNE PLACED ]' 211716213 endif16214 else16215 if EnableOverheadMessages = 116216 overhead '[ NO AGGRESSION RUNE! ]' 33716217 endif16218 endif16219 elseif EnablePlaceArcaneRunes = 216220 # Essence Rune16221 if findtype '39909' self as MyArcaneRune16222 dclick MyArcaneRune16223 getlabel backpack backpacklabel16224 if EnableOverheadMessages = 116225 overhead '[ ESSENCE RUNE PLACED ]' 291616226 endif16227 else16228 if EnableOverheadMessages = 116229 overhead '[ NO ESSENCE RUNE! ]' 33716230 endif16231 endif16232 elseif EnablePlaceArcaneRunes = 316233 # Fortification Rune16234 if findtype '39918' self as MyArcaneRune16235 dclick MyArcaneRune16236 getlabel backpack backpacklabel16237 if EnableOverheadMessages = 116238 overhead '[ FORTIFICATION RUNE PLACED ]' 237716239 endif16240 else16241 if EnableOverheadMessages = 116242 overhead '[ NO FORTIFICATION RUNE! ]' 33716243 endif16244 endif16245 elseif EnablePlaceArcaneRunes = 416246 # Frenzy Rune16247 if findtype '39889' self as MyArcaneRune16248 dclick MyArcaneRune16249 getlabel backpack backpacklabel16250 if EnableOverheadMessages = 116251 overhead '[ FRENZY RUNE PLACED ]' 237716252 endif16253 else16254 if EnableOverheadMessages = 116255 overhead '[ NO FRENZY RUNE! ]' 33716256 endif16257 endif16258 elseif EnablePlaceArcaneRunes = 516259 # Healing Rune16260 if findtype '39896' self as MyArcaneRune16261 dclick MyArcaneRune16262 getlabel backpack backpacklabel16263 if EnableOverheadMessages = 116264 overhead '[ HEALING RUNE PLACED ]' 224716265 endif16266 else16267 if EnableOverheadMessages = 116268 overhead '[ NO HEALING RUNE! ]' 33716269 endif16270 endif16271 elseif EnablePlaceArcaneRunes = 616272 # Immunity Rune16273 if findtype '39898' self as MyArcaneRune16274 dclick MyArcaneRune16275 getlabel backpack backpacklabel16276 if EnableOverheadMessages = 116277 overhead '[ IMMUNITY RUNE PLACED ]' 289716278 endif16279 else16280 if EnableOverheadMessages = 116281 overhead '[ NO IMMUNITY RUNE! ]' 33716282 endif16283 endif16284 elseif EnablePlaceArcaneRunes = 716285 # Mana Rune16286 if findtype '39912' self as MyArcaneRune16287 dclick MyArcaneRune16288 getlabel backpack backpacklabel16289 if EnableOverheadMessages = 116290 overhead '[ MANA RUNE PLACED ]' 260616291 endif16292 else16293 if EnableOverheadMessages = 116294 overhead '[ NO MANA RUNE! ]' 33716295 endif16296 endif16297 elseif EnablePlaceArcaneRunes = 816298 # Poison Warding Rune16299 if findtype '39905' self as MyArcaneRune16300 dclick MyArcaneRune16301 getlabel backpack backpacklabel16302 if EnableOverheadMessages = 116303 overhead '[ POISON WARD RUNE PLACED ]' 238416304 endif16305 else16306 if EnableOverheadMessages = 116307 overhead '[ NO POISON WARD RUNE! ]' 33716308 endif16309 endif16310 elseif EnablePlaceArcaneRunes = 916311 # Rage Rune16312 if findtype '39897' self as MyArcaneRune16313 dclick MyArcaneRune16314 getlabel backpack backpacklabel16315 if EnableOverheadMessages = 116316 overhead '[ RAGE RUNE PLACED ]' 237716317 endif16318 else16319 if EnableOverheadMessages = 116320 overhead '[ NO RAGE RUNE! ]' 33716321 endif16322 endif16323 elseif EnablePlaceArcaneRunes = 1016324 # Spellshielding Rune16325 if findtype '39916' self as MyArcaneRune16326 dclick MyArcaneRune16327 getlabel backpack backpacklabel16328 if EnableOverheadMessages = 116329 overhead '[ SPELLSHIELD RUNE PLACED ]' 224716330 endif16331 else16332 if EnableOverheadMessages = 116333 overhead '[ NO SPELLSHIELD RUNE! ]' 33716334 endif16335 endif16336 elseif EnablePlaceArcaneRunes = 1116337 # Spell Rune16338 if findtype '39891' self as MyArcaneRune16339 dclick MyArcaneRune16340 getlabel backpack backpacklabel16341 if EnableOverheadMessages = 116342 overhead '[ SPELL RUNE PLACED ]' 260616343 endif16344 else16345 if EnableOverheadMessages = 116346 overhead '[ NO SPELL RUNE! ]' 33716347 endif16348 endif16349 elseif EnablePlaceArcaneRunes = 1216350 # Toxicity Rune16351 if findtype '39911' self as MyArcaneRune16352 dclick MyArcaneRune16353 getlabel backpack backpacklabel16354 if EnableOverheadMessages = 116355 overhead '[ TOXICITY RUNE PLACED ]' 238416356 endif16357 else16358 if EnableOverheadMessages = 116359 overhead '[ NO TOXICITY RUNE! ]' 33716360 endif16361 endif16362 elseif EnablePlaceArcaneRunes = 1316363 # Trap Rune16364 if findtype '39917' self as MyArcaneRune16365 dclick MyArcaneRune16366 getlabel backpack backpacklabel16367 if EnableOverheadMessages = 116368 overhead '[ TRAP RUNE PLACED ]' 224716369 endif16370 else16371 if EnableOverheadMessages = 116372 overhead '[ NO TRAP RUNE! ]' 33716373 endif16374 endif16375 elseif EnablePlaceArcaneRunes = 1416376 # Random Rune16377 if findtype '39889|39891|39892|39896|39897|39898|39905|39909|39911|39912|39916|39917|39918' self as MyArcaneRune16378 dclick MyArcaneRune16379 getlabel backpack backpacklabel16380 if EnableOverheadMessages = 116381 overhead '[ ARCANE RUNE PLACED ]' 1316382 endif16383 else16384 if EnableOverheadMessages = 116385 overhead '[ NO ARCANE RUNES! ]' 33716386 endif16387 endif16388 endif16389 else16390 if EnableOverheadMessages = 116391 overhead '[ NO ARCANE RUNES! ]' 33716392 endif16393 endif16394 settimer ArcaneRuneTimer 016395 hotkey 'Toggle War Only'16396 wait 50016397 endif16398 endif16399 16400 if not warmode16401 @setvar! WarModeToggledWhileFighting 116402 elseif warmode16403 @setvar! WarModeToggledWhileFighting 016404 endif16405 16406 if EnableOverheadMessages = 116407 if insysmsg "something invisible out of"16408 overhead "� SOMEONE HIDING! �" 616409 endif16410 16411 if insysmsg "additional mastery chain link"16412 overhead "[ CHAIN LINK UNLOCKED!! ]" 14916413 wait 50016414 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown16415 wait 50016416 say "[Yes"16417 settimer EmoteCooldownTimer 016418 cooldown "Emote Cooldown" SetEmoteCooldown16419 endif16420 endif16421 16422 if insysmsg "enough experience to upgrade"16423 overhead "[ ASPECT TIER UNLOCKED!! ]" 223416424 wait 50016425 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown16426 wait 50016427 say "[Whistle"16428 settimer EmoteCooldownTimer 016429 cooldown "Emote Cooldown" SetEmoteCooldown16430 endif16431 endif16432 16433 if insysmsg "You have unlocked a codex upgrade point"16434 overhead "[ CODEX POINT UNLOCKED! ]" 211416435 wait 25016436 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown16437 wait 50016438 say "[HighFive"16439 settimer EmoteCooldownTimer 016440 cooldown "Emote Cooldown" SetEmoteCooldown16441 endif16442 endif16443 16444 if insysmsg "You have completed a society job"16445 overhead "[ SOCIETY JOB COMPLETE! ]" 41916446 wait 50016447 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown16448 wait 50016449 say "[Awoo"16450 settimer EmoteCooldownTimer 016451 cooldown "Emote Cooldown" SetEmoteCooldown16452 endif16453 endif16454 16455 if insysmsg "Society Job Progress"16456 overhead "[ � SOCIETY POINTS � ]" 41916457 endif16458 16459 if insysmsg 'You charge your spell with additional energy'16460 overhead '[ CHARGED SPELL! ]' 2216461 endif16462 16463 if insysmsg 'You generate mana for your spell'16464 overhead '[ MANA REFUNDED! ]' 1116465 endif16466 16467 if insysmsg "You parry the spell"16468 overhead "[ SPELL PARRY ]" 11116469 endif16470 16471 if insysmsg "You enter a state of arcane clarity"16472 overhead '[ CLARITY! ]' 1116473 endif16474 16475 if insysmsg "Your attack places a hex"16476 overhead '[ HEX ACTIVE ]' 14 ClosestTarget16477 endif16478 16479 if insysmsg "100% arcane buildup"16480 overhead '[ ARCANE BUILDUP 100%! ]' 211416481 endif16482 16483 if insysmsg "causes you to bleed"16484 overhead "[ YOU ARE BLEEDING... ]" 211816485 endif16486 16487 if insysmsg "been struck by an ancient blight"16488 overhead "[ DISEASED... ]" 110916489 endif16490 16491 if insysmsg "You feel chilled!"16492 overhead "[ YOU ARE CHILLED... ]" 223416493 endif16494 16495 if insysmsg "You resist a disease effect"16496 overhead "[ DISEASE RESISTED! ]" 88816497 endif16498 16499 if insysmsg "resist a bleed"16500 overhead "[ BLEED RESISTED! ]" 88816501 endif16502 16503 if insysmsg "The creature pierces and bypasses your armor!"16504 overhead "[ YOU ARE PIERCED... ]" 33716505 endif16506 16507 if insysmsg "Their attack disarms you!"16508 overhead "[ DISARMED! ]" 33716509 endif16510 16511 if insysmsg "Their attack hamstrings you!"16512 overhead "[ HAMSTRUNG! ]" 33716513 endif16514 16515 if insysmsg "attempting to steal" or insysmsg "attempting to peek"16516 overhead "[ THIEF DETECTED! ]" 91016517 endif16518 else16519 if insysmsg "something invisible out of"16520 overhead "� SOMEONE HIDING! �" 616521 endif16522 16523 if insysmsg "additional mastery chain link"16524 overhead "[ � CHAIN! � ]" 14916525 wait 50016526 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown16527 wait 50016528 say "[Yes"16529 settimer EmoteCooldownTimer 016530 cooldown "Emote Cooldown" SetEmoteCooldown16531 endif16532 endif16533 16534 if insysmsg "enough experience to upgrade"16535 overhead "[ � ASPECT � ]" 223416536 wait 50016537 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown16538 wait 50016539 say "[Whistle"16540 settimer EmoteCooldownTimer 016541 cooldown "Emote Cooldown" SetEmoteCooldown16542 endif16543 endif16544 16545 if insysmsg "You have unlocked a codex upgrade point"16546 overhead '[ � CODEX! � ]' 211416547 wait 25016548 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown16549 wait 50016550 say "[HighFive"16551 settimer EmoteCooldownTimer 016552 cooldown "Emote Cooldown" SetEmoteCooldown16553 endif16554 endif16555 16556 if insysmsg "You have completed a society job"16557 overhead "[ SOCIETY COMPLETE! ]" 41916558 wait 50016559 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown16560 wait 50016561 say "[Awoo"16562 settimer EmoteCooldownTimer 016563 cooldown "Emote Cooldown" SetEmoteCooldown16564 endif16565 endif16566 16567 if insysmsg "You parry the spell"16568 overhead "*spell parry*" 11116569 endif16570 16571 if insysmsg "Your attack places a hex"16572 overhead '*hexxed*' 14 ClosestTarget16573 endif16574 16575 if insysmsg "100% arcane buildup"16576 overhead '[ ARCANE 100%! ]' 211416577 endif16578 16579 if insysmsg "Society Job Progress"16580 overhead "[ � SOCIETY � ]" 41916581 endif16582 16583 if insysmsg "attempting to steal" or insysmsg "attempting to peek"16584 overhead "[ THIEF DETECTED! ]" 91016585 endif16586 16587 if insysmsg "Their attack disarms you!"16588 overhead "*disarmed*" 33716589 endif16590 16591 if insysmsg "Their attack hamstrings you!"16592 overhead "*hamstrung*" 33716593 endif16594 endif16595 16596 if insysmsg "Mana Thief activated"16597 if EnableOverheadMessages != 016598 overhead "[ MANA THIEF! ]" 2216599 endif16600 cooldown "Mana Thief" 6000016601 endif16602 16603 if dead16604 break16605 endif16606 16607 if not warmode16608 @setvar! WarModeToggledWhileFighting 116609 elseif warmode16610 @setvar! WarModeToggledWhileFighting 016611 endif16612 16613 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange16614 settimer TargetChecker 016615 @setvar! AttackModeActive 016616 @setvar! RepeatCastingPoison 016617 @setvar! ClosestTargetisSticky 016618 @setvar! TargetSwap 016619 break16620 endif16621 16622 if diffhits > CastGreaterHealHPdiff or paralyzed16623 break16624 endif16625 endwhile16626 16627 /////////////////////////////16628 // END SMALL ATTACK LOOP //16629 /////////////////////////////16630 16631 if not findtype "3972" self or not findtype "3962" self or not findtype "3963" self or not findtype "3980" self or not findtype "3976" self or not findtype "3973" self or not findtype "3974" self or not findtype "3981" self16632 clearignore16633 getlabel backpack backpacklabel16634 if not findtype "3972" self or not findtype "3962" self or not findtype "3963" self or not findtype "3980" self or not findtype "3976" self or not findtype "3973" self or not findtype "3974" self or not findtype "3981" self16635 if EnableOverheadMessages = 1 or EnableOverheadMessages = 216636 if timer MissingRegsTimer > 500016637 if counttype "3972" self = 016638 overhead '[ NO GARLIC ]' 64616639 endif16640 if counttype "3962" self = 016641 overhead '[ NO BLACK PEARL ]' 316642 endif16643 if counttype "3963" self = 016644 overhead '[ NO BLOODMOSS ]' 3316645 endif16646 if counttype "3980" self = 016647 overhead '[ NO SULFUROUS ASH ]' 15316648 endif16649 if counttype "3976" self = 016650 overhead '[ NO NIGHTSHADE ]' 36316651 endif16652 if counttype "3973" self = 016653 overhead '[ NO GINSENG ]' 24716654 endif16655 if counttype "3974" self = 016656 overhead '[ NO MANDRAKE ROOT ]' 44216657 endif16658 if counttype "3981" self = 016659 overhead '[ NO SPIDERS SILK ]' 233816660 endif16661 settimer MissingRegsTimer 016662 endif16663 endif16664 @setvar! MissingRegs 116665 else16666 @setvar! MissingRegs 016667 endif16668 else16669 @setvar! MissingRegs 016670 endif16671 16672 if not findtype 3972 self or not findtype 3973 self or not findtype 3974 self or not findtype 3981 self16673 @setvar! missingGreaterHealRegs 116674 getlabel backpack backpacklabel16675 else16676 @setvar! missingGreaterHealRegs 016677 endif16678 16679 if not findtype 3972 self or not findtype 3973 self or not findtype 3974 self16680 @setvar! missingHealRegs 116681 getlabel backpack backpacklabel16682 else16683 @setvar! missingHealRegs 016684 endif16685 16686 if missingGreaterHealRegs = 1 or missingHealRegs = 116687 if timer NoHealRegsTimer > 400016688 overhead '[ MISSING HEALING REGS! ]' 33716689 settimer NoHealRegsTimer 016690 endif16691 endif16692 16693 @setvar! SpellInterrupted 016694 clearsysmsg16695 16696 if skill 'magery' >= 60 and diffhits >= CastGreaterHealHPdiff and diffhits <= CastHealHPdiff and mana >= 11 and EnableCastGreaterHeal = 1 and not casting and missingGreaterHealRegs != 116697 @setvar! SpellInterrupted 016698 cast 'greater heal'16699 getlabel backpack backpacklabel16700 settimer spellTimer 016701 @setvar! spellCD 250016702 while not targetexists and timer spellTimer < spellCD16703 if insysmsg "Your concentration is disturbed"16704 interrupt16705 @setvar! SpellInterrupted 116706 break16707 endif16708 if timer spellTimer > spellCD16709 break16710 endif16711 endwhile16712 if SpellInterrupted = 016713 target 'self'16714 endif16715 elseif skill 'magery' >= 40 and diffhits >= CastHealHPdiff and diffhits < CastEmergencyHealHPdiff and mana >= 4 and EnableCastHeal = 1 and not casting and missingHealRegs != 116716 @setvar! SpellInterrupted 016717 cast 'heal'16718 getlabel backpack backpacklabel16719 settimer AntiStallTimer 016720 while not targetexists and timer AntiStallTimer < 150016721 if insysmsg "Your concentration is disturbed"16722 interrupt16723 @setvar! SpellInterrupted 116724 break16725 endif16726 if timer AntiStallTimer > 150016727 settimer AntiStallTimer 016728 break16729 endif16730 endwhile16731 if SpellInterrupted = 016732 target 'self'16733 endif16734 elseif skill 'magery' >= 40 and diffhits >= CastEmergencyHealHPdiff and mana >= 4 and EnableCastHeal = 1 and not casting and missingHealRegs != 116735 while diffhits > CastGreaterHealHPdiff and mana >= 4 and findtype 3972 self and findtype 3973 self and findtype 3974 self and not dead16736 if targetexists16737 hotkey 'Cancel current target'16738 endif16739 @setvar! SpellInterrupted 016740 cast 'heal'16741 getlabel backpack backpacklabel16742 settimer AntiStallTimer 016743 while not targetexists and timer AntiStallTimer < 150016744 if insysmsg "Your concentration is disturbed"16745 interrupt16746 @setvar! SpellInterrupted 116747 break16748 endif16749 if timer AntiStallTimer > 150016750 settimer AntiStallTimer 016751 break16752 endif16753 endwhile16754 if SpellInterrupted = 016755 target 'self'16756 getlabel backpack backpacklabel16757 endif16758 if diffhits <= CastGreaterHealHPdiff16759 break16760 endif16761 endwhile16762 endif16763 16764 @setvar! SpellInterrupted 016765 16766 if paralyzed and EnableAutoParalyzePouch = 116767 if findtype "pouch" self16768 yell "[pouch"16769 wait 25016770 else16771 if timer PopPouchMessageTimer > 5000 and EnableOverheadMessages = 116772 overhead '[ NO MORE POUCHES! ]' 33716773 settimer PopPouchMessageTimer 016774 endif16775 endif16776 endif16777 16778 if EnablePanaceaPotion = 1 and skill 'Alchemy' >= 8016779 if findbuff "Bleed" or findbuff "Diseased"16780 if not findbuff "panacea potion cooldown"16781 if findtype "Orange Potion" self16782 dclicktype "Orange Potion"16783 wait 25016784 if findbuff "panacea potion cooldown" and EnableOverheadMessages = 116785 overhead '[ PANACEA ACTIVATED ]' 5516786 cooldown "Panacea Potion" 3000016787 endif16788 endif16789 endif16790 endif16791 endif16792 16793 if EnableCleansingBrews = 116794 if findbuff "Diseased" or findbuff "Bleed"16795 if timer CleansingBrewTimer > 12000016796 if findtype 50675 self 2935 as CleansingBrew16797 dclick CleansingBrew16798 if EnableOverheadMessages = 116799 overhead '[ CLEANSING BREW ]' 211716800 endif16801 cooldown 'Cleansing Brew' 12000016802 settimer CleansingBrewTimer 016803 wait 25016804 else16805 if timer CleansingBrewOverhead > 1500016806 overhead "[ NO CLEANSING BREWS! ]" 33716807 settimer CleansingBrewOverhead 016808 settimer CleansingBrewTimer 016809 endif16810 endif16811 else16812 if EnableOverheadMessages = 1 and timer CleansingBrewOverhead > 1500016813 overhead '[ BREW ON COOLDOWN! ]' 3716814 settimer CleansingBrewOverhead 016815 endif16816 endif16817 endif16818 endif16819 16820 if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff16821 if findtype "Yellow Potion" self as HealPot16822 getlabel HealPot HealPotlabel16823 if "next" in HealPotlabel16824 // Do nothing16825 else16826 @setvar! HealPotionCheck 016827 16828 if counttype 3852 self as HealPotCount16829 @setvar! HealPotionCheck HealPotCount16830 endif16831 clearsysmsg16832 dclicktype 385216833 getlabel backpack backpackdesc16834 wait 25016835 if insysmsg "potion satchel used"16836 settimer 'HealPotionTimer' 016837 cooldown "Healing Potion" HealingPotionCooldown16838 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 450016839 overhead '[ FREE HEAL POTION ]' 25316840 endif16841 elseif HealPotionCheck != counttype 3852 self16842 settimer 'HealPotionTimer' 016843 cooldown "Healing Potion" HealingPotionCooldown16844 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 450016845 overhead '[ HEAL POTION ]' 25316846 endif16847 endif16848 clearsysmsg16849 endif16850 else16851 if timer 'HealPotionMessageTimer' > 4500 and EnableOverheadMessages = 116852 overhead '[ NO HEAL POTS! ]' 33716853 settimer 'HealPotionMessageTimer' 016854 endif16855 endif16856 endif16857 16858 if skill 'healing' > 0 and hp < maxhp and not bandaging16859 if findtype 'clean bandage%s%' self16860 hotkey 'Bandage Self'16861 if EnableOverheadMessages = 116862 overhead '[ BANDAGING... ]' 8816863 endif16864 else16865 if EnableOverheadMessages = 116866 overhead '[ NO BANDAGES! ]' 33716867 endif16868 endif16869 endif16870 16871 if EnableCurePotion = 1 or EnableCastCure = 116872 while poisoned16873 if findtype "Orange Potion" self and EnableCurePotion = 116874 dclicktype "Orange Potion"16875 if EnableOverheadMessages = 1 and timer 'CurePotionMessageTimer' > 350016876 if insysmsg "potion satchel used"16877 overhead '[ FREE CURE POTION ]' 4416878 else16879 overhead '[ CURE POTION ]' 4416880 endif16881 clearsysmsg16882 settimer 'CurePotionMessageTimer' 016883 endif16884 wait 50016885 else16886 if timer 'CurePotionMessageTimer' > 5000 and EnableOverheadMessages = 116887 overhead '[ NO CURE POTS! ]' 33716888 settimer 'CurePotionMessageTimer' 016889 endif16890 if diffhits >= 30 or not findtype 3972 self or not findtype 3973 self16891 break16892 endif16893 if skill 'magery' >= 40 and mana >= 6 and EnableCastCure = 1 and not casting16894 cast 'cure'16895 getlabel backpack backpacklabel16896 settimer AntiStallTimer 016897 while not targetexists and timer AntiStallTimer < 150016898 if timer AntiStallTimer > 150016899 settimer AntiStallTimer 016900 break16901 endif16902 wait 10016903 endwhile16904 wft 100016905 target 'self'16906 wait 50016907 else16908 break16909 endif16910 endif16911 endwhile16912 endif16913 16914 if EnableEatHealSnacks = 116915 if skill 'Cooking' >= 50 and timer 'EatHealSnackCooldownTimer' > EatHealSnackCooldown and timer 'HealPotionTimer' < 10500 and diffhits > EatSnackHPdiff16916 if findtype "29774|28883|28885|28880|28879|28888|28886|29773|28881" backpack as myhpsnack16917 if EnableOverheadMessages = 116918 overhead "[ HP MUNCHING... ]" 42016919 endif16920 dclick myhpsnack16921 wait 25016922 settimer 'EatHealSnackCooldownTimer' 016923 settimer 'EatManaSnackCooldownTimer' 016924 cooldown 'Snacking' EatHealSnackCooldown16925 else16926 if timer FoodMessageTimer > 15000 and EnableOverheadMessages = 116927 overhead "[ NO MORE FOOD! ]" 33716928 settimer FoodMessageTimer 016929 endif16930 endif16931 endif16932 endif16933 16934 if insysmsg "Mana Thief activated"16935 if EnableOverheadMessages != 016936 overhead "[ MANA THIEF! ]" 2216937 endif16938 cooldown "Mana Thief" 6000016939 endif16940 16941 if not warmode16942 @setvar! WarModeToggledWhileFighting 116943 elseif warmode16944 @setvar! WarModeToggledWhileFighting 016945 endif16946 16947 if dead16948 break16949 endif16950 16951 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange16952 settimer TargetChecker 016953 @setvar! AttackModeActive 016954 @setvar! RepeatCastingPoison 016955 @setvar! ClosestTargetisSticky 016956 @setvar! TargetSwap 016957 break16958 endif16959 16960 if TargetSwap = 116961 @setvar! AttackModeActive 216962 break16963 endif16964 endwhile16965 16966 ///////////////////////16967 // END ATTACK LOOP //16968 ///////////////////////16969 16970 16971 ///////////////////////16972 // AFTER KILL: //16973 ///////////////////////16974 16975 if TimeToGo != 116976 if TargetSwap = 116977 if EnableOverheadMessages = 1 or EnableOverheadMessages = 216978 if timer SwapTargetsTimer > 350016979 overhead '[ SWAPPING TARGET... ]' 9316980 settimer SwapTargetsTimer 016981 endif16982 endif16983 settimer TargetChecker 016984 settimer AnalyzingTargetsTimer 016985 @setvar! TargetToAnalyze TargetToCheck16986 @setvar! ClosestTarget 016987 @setvar! TargetSwap 016988 @setvar! AttackModeActive 216989 @setvar! ClosestTargetisSticky 016990 @setvar! RepeatCastPoison 016991 getlabel backpack backpacklabel16992 endif16993 16994 if AttackModeActive != 216995 settimer TargetChecker 016996 @setvar! AttackModeActive 016997 @setvar! ClosestTargetisSticky 016998 @setvar! RepeatCastPoison 016999 @setvar! NeedtoSecureLoot 117000 settimer LootTimer 017001 getlabel backpack backpacklabel17002 17003 if WarModeToggledWhileFighting = 1 or warmode17004 if TargetSwap != 1 and TimeToGo != 117005 if not dead ClosestTarget and find ClosestTarget ground -1 -1 18 and not find ClosestTarget ground -1 -1 TargetAttackRange17006 if EnableOverheadMessages != 017007 if timer 'NoTargetTimer' > 500017008 overhead "[ TARGET LOST... ]" 33917009 settimer 'NoTargetTimer' 017010 endif17011 endif17012 elseif dead ClosestTarget and not find ClosestTarget ground -1 -1 1817013 if EnableOverheadMessages != 017014 if timer 'NoTargetTimer' > 500017015 overhead "[ TARGET ELIMINATED! ]" 211417016 settimer 'NoTargetTimer' 017017 endif17018 endif17019 endif17020 endif17021 endif17022 17023 if EnableOverheadMessages = 117024 if insysmsg "something invisible out of"17025 overhead "� SOMEONE HIDING! �" 617026 endif17027 17028 if insysmsg "additional mastery chain link"17029 overhead "[ CHAIN LINK UNLOCKED!! ]" 14917030 wait 50017031 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown17032 wait 50017033 say "[Yes"17034 settimer EmoteCooldownTimer 017035 cooldown "Emote Cooldown" SetEmoteCooldown17036 endif17037 endif17038 17039 if insysmsg "enough experience to upgrade"17040 overhead "[ ASPECT TIER UNLOCKED!! ]" 223417041 wait 50017042 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown17043 wait 50017044 say "[Whistle"17045 settimer EmoteCooldownTimer 017046 cooldown "Emote Cooldown" SetEmoteCooldown17047 endif17048 endif17049 17050 if insysmsg "You have unlocked a codex upgrade point"17051 overhead "[ CODEX POINT UNLOCKED! ]" 211417052 wait 25017053 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown17054 wait 50017055 say "[HighFive"17056 settimer EmoteCooldownTimer 017057 cooldown "Emote Cooldown" SetEmoteCooldown17058 endif17059 endif17060 17061 if insysmsg "You have completed a society job"17062 overhead "[ SOCIETY JOB COMPLETE! ]" 41917063 wait 50017064 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown17065 wait 50017066 say "[Awoo"17067 settimer EmoteCooldownTimer 017068 cooldown "Emote Cooldown" SetEmoteCooldown17069 endif17070 endif17071 17072 if insysmsg "Society Job Progress"17073 overhead "[ � SOCIETY POINTS � ]" 41917074 endif17075 17076 if insysmsg "attempting to steal" or insysmsg "attempting to peek"17077 overhead "[ THIEF DETECTED! ]" 91017078 endif17079 else17080 if insysmsg "something invisible out of"17081 overhead "� SOMEONE HIDING! �" 617082 endif17083 17084 if insysmsg "additional mastery chain link"17085 overhead "[ � CHAIN! � ]" 14917086 wait 50017087 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown17088 wait 50017089 say "[Yes"17090 settimer EmoteCooldownTimer 017091 cooldown "Emote Cooldown" SetEmoteCooldown17092 endif17093 endif17094 17095 if insysmsg "enough experience to upgrade"17096 overhead "[ � ASPECT � ]" 223417097 wait 50017098 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown17099 wait 50017100 say "[Whistle"17101 settimer EmoteCooldownTimer 017102 cooldown "Emote Cooldown" SetEmoteCooldown17103 endif17104 endif17105 17106 if insysmsg "You have unlocked a codex upgrade point"17107 overhead '[ � CODEX! � ]' 211417108 wait 25017109 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown17110 wait 50017111 say "[HighFive"17112 settimer EmoteCooldownTimer 017113 cooldown "Emote Cooldown" SetEmoteCooldown17114 endif17115 endif17116 17117 if insysmsg "You have completed a society job"17118 overhead "[ SOCIETY COMPLETE! ]" 41917119 wait 50017120 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown17121 wait 50017122 say "[Awoo"17123 settimer EmoteCooldownTimer 017124 cooldown "Emote Cooldown" SetEmoteCooldown17125 endif17126 endif17127 17128 if insysmsg "Society Job Progress"17129 overhead "[ � SOCIETY � ]" 41917130 endif17131 17132 if insysmsg "attempting to steal" or insysmsg "attempting to peek"17133 overhead "[ THIEF DETECTED! ]" 91017134 endif17135 endif17136 17137 if EnableAutoCarving = 1 and findtype 11552 self17138 while findtype "corpse" ground -1 -1 2 as deadbody and diffhits < CastGreaterHealHPdiff17139 settimer SkinningTimeoutTimer 017140 if findtype 11552 self17141 if targetexists17142 hotkey 'cancel current target'17143 endif17144 17145 while not targetexists17146 skill 'forensicevaluation'17147 getlabel backpack backpacklabel17148 endwhile17149 17150 clearsysmsg17151 17152 if targetexists and find deadbody ground -1 -1 217153 target 'self'17154 @ignore deadbody17155 wait 25017156 endif17157 17158 if insysmsg "You dont see anything nearby"17159 clearsysmsg17160 break17161 else17162 if EnableOverheadMessages = 1 and timer SkinningTimer > 300017163 overhead '[ SKINNING... ]' 33317164 settimer SkinningTimer 017165 endif17166 break17167 endif17168 else17169 if EnableOverheadMessages = 1 and timer SkinningTimer > 1500017170 overhead '[ NO SKINNING KNIFE ]' 33717171 settimer SkinningTimer 017172 break17173 endif17174 endif17175 17176 if timer SkinningTimeoutTimer > 1500 or diffhits > CastGreaterHealHPdiff17177 break17178 endif17179 endwhile17180 endif17181 17182 if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff17183 if findtype "Yellow Potion" self as HealPot17184 getlabel HealPot HealPotlabel17185 if "next" in HealPotlabel17186 // Do nothing17187 else17188 @setvar! HealPotionCheck 017189 17190 if counttype 3852 self as HealPotCount17191 @setvar! HealPotionCheck HealPotCount17192 endif17193 clearsysmsg17194 dclicktype 385217195 getlabel backpack backpackdesc17196 wait 25017197 if insysmsg "potion satchel used"17198 settimer 'HealPotionTimer' 017199 cooldown "Healing Potion" HealingPotionCooldown17200 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 450017201 overhead '[ FREE HEAL POTION ]' 25317202 endif17203 elseif HealPotionCheck != counttype 3852 self17204 settimer 'HealPotionTimer' 017205 cooldown "Healing Potion" HealingPotionCooldown17206 if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 450017207 overhead '[ HEAL POTION ]' 25317208 endif17209 endif17210 clearsysmsg17211 endif17212 else17213 if timer 'HealPotionMessageTimer' > 4500 and EnableOverheadMessages = 117214 overhead '[ NO HEAL POTS! ]' 33717215 settimer 'HealPotionMessageTimer' 017216 endif17217 endif17218 endif17219 17220 if skill 'healing' > 0 and hp < maxhp and not bandaging17221 if findtype 'clean bandage%s%' self17222 hotkey 'Bandage Self'17223 if EnableOverheadMessages = 117224 overhead '[ BANDAGING... ]' 8817225 endif17226 else17227 if EnableOverheadMessages = 117228 overhead '[ NO BANDAGES! ]' 33717229 endif17230 endif17231 endif17232 17233 if not findtype "3972" self or not findtype "3962" self or not findtype "3963" self or not findtype "3980" self or not findtype "3976" self or not findtype "3973" self or not findtype "3974" self or not findtype "3981" self17234 clearignore17235 getlabel backpack backpacklabel17236 if not findtype "3972" self or not findtype "3962" self or not findtype "3963" self or not findtype "3980" self or not findtype "3976" self or not findtype "3973" self or not findtype "3974" self or not findtype "3981" self17237 if EnableOverheadMessages = 1 or EnableOverheadMessages = 217238 if timer MissingRegsTimer > 500017239 if counttype "3972" self = 017240 overhead '[ NO GARLIC ]' 64617241 endif17242 if counttype "3962" self = 017243 overhead '[ NO BLACK PEARL ]' 317244 endif17245 if counttype "3963" self = 017246 overhead '[ NO BLOODMOSS ]' 3317247 endif17248 if counttype "3980" self = 017249 overhead '[ NO SULFUROUS ASH ]' 15317250 endif17251 if counttype "3976" self = 017252 overhead '[ NO NIGHTSHADE ]' 36317253 endif17254 if counttype "3973" self = 017255 overhead '[ NO GINSENG ]' 24717256 endif17257 if counttype "3974" self = 017258 overhead '[ NO MANDRAKE ROOT ]' 44217259 endif17260 if counttype "3981" self = 017261 overhead '[ NO SPIDERS SILK ]' 233817262 endif17263 settimer MissingRegsTimer 017264 endif17265 endif17266 @setvar! MissingRegs 117267 else17268 @setvar! MissingRegs 017269 endif17270 else17271 @setvar! MissingRegs 017272 endif17273 17274 if not findtype 3972 self or not findtype 3973 self or not findtype 3974 self or not findtype 3981 self17275 @setvar! missingGreaterHealRegs 117276 getlabel backpack backpacklabel17277 else17278 @setvar! missingGreaterHealRegs 017279 endif17280 17281 if not findtype 3972 self or not findtype 3973 self or not findtype 3974 self17282 @setvar! missingHealRegs 117283 getlabel backpack backpacklabel17284 else17285 @setvar! missingHealRegs 017286 endif17287 17288 if missingGreaterHealRegs = 1 or missingHealRegs = 117289 if timer NoHealRegsTimer > 400017290 overhead '[ MISSING HEALING REGS! ]' 33717291 settimer NoHealRegsTimer 017292 endif17293 endif17294 17295 @setvar! SpellInterrupted 017296 clearsysmsg17297 17298 if skill 'magery' >= 60 and diffhits >= CastGreaterHealHPdiff and diffhits <= CastHealHPdiff and mana >= 11 and EnableCastGreaterHeal = 1 and not casting and missingGreaterHealRegs != 117299 @setvar! SpellInterrupted 017300 cast 'greater heal'17301 getlabel backpack backpacklabel17302 settimer spellTimer 017303 @setvar! spellCD 250017304 while not targetexists and timer spellTimer < spellCD17305 if insysmsg "Your concentration is disturbed"17306 interrupt17307 @setvar! SpellInterrupted 117308 break17309 endif17310 if timer spellTimer > spellCD17311 break17312 endif17313 endwhile17314 if SpellInterrupted = 017315 target 'self'17316 endif17317 elseif skill 'magery' >= 40 and diffhits >= CastHealHPdiff and diffhits < CastEmergencyHealHPdiff and mana >= 4 and EnableCastHeal = 1 and not casting and missingHealRegs != 117318 @setvar! SpellInterrupted 017319 cast 'heal'17320 getlabel backpack backpacklabel17321 settimer AntiStallTimer 017322 while not targetexists and timer AntiStallTimer < 150017323 if insysmsg "Your concentration is disturbed"17324 interrupt17325 @setvar! SpellInterrupted 117326 break17327 endif17328 if timer AntiStallTimer > 150017329 settimer AntiStallTimer 017330 break17331 endif17332 endwhile17333 if SpellInterrupted = 017334 target 'self'17335 endif17336 elseif skill 'magery' >= 40 and diffhits >= CastEmergencyHealHPdiff and mana >= 4 and EnableCastHeal = 1 and not casting and missingHealRegs != 117337 while diffhits > CastGreaterHealHPdiff and mana >= 4 and findtype 3972 self and findtype 3973 self and findtype 3974 self and not dead17338 if targetexists17339 hotkey 'Cancel current target'17340 endif17341 @setvar! SpellInterrupted 017342 cast 'heal'17343 getlabel backpack backpacklabel17344 settimer AntiStallTimer 017345 while not targetexists and timer AntiStallTimer < 150017346 if insysmsg "Your concentration is disturbed"17347 interrupt17348 @setvar! SpellInterrupted 117349 break17350 endif17351 if timer AntiStallTimer > 150017352 settimer AntiStallTimer 017353 break17354 endif17355 endwhile17356 if SpellInterrupted = 017357 target 'self'17358 getlabel backpack backpacklabel17359 endif17360 if diffhits <= CastGreaterHealHPdiff17361 break17362 endif17363 endwhile17364 endif17365 17366 @setvar! SpellInterrupted 017367 17368 if paralyzed and EnableAutoParalyzePouch = 117369 if findtype "pouch" self17370 yell "[pouch"17371 wait 25017372 else17373 if timer PopPouchMessageTimer > 5000 and EnableOverheadMessages = 117374 overhead '[ NO MORE POUCHES! ]' 33717375 settimer PopPouchMessageTimer 017376 endif17377 endif17378 endif17379 17380 if EnablePanaceaPotion = 1 and skill 'Alchemy' >= 8017381 if findbuff "Bleed" or findbuff "Diseased"17382 if not findbuff "panacea potion cooldown"17383 if findtype "Orange Potion" self17384 dclicktype "Orange Potion"17385 wait 25017386 if findbuff "panacea potion cooldown" and EnableOverheadMessages = 117387 overhead '[ PANACEA ACTIVATED ]' 5517388 cooldown "Panacea Potion" 3000017389 endif17390 endif17391 endif17392 endif17393 endif17394 17395 if EnableCleansingBrews = 117396 if findbuff "Diseased" or findbuff "Bleed"17397 if timer CleansingBrewTimer > 12000017398 if findtype 50675 self 2935 as CleansingBrew17399 dclick CleansingBrew17400 if EnableOverheadMessages = 117401 overhead '[ CLEANSING BREW ]' 211717402 endif17403 cooldown 'Cleansing Brew' 12000017404 settimer CleansingBrewTimer 017405 wait 25017406 else17407 if timer CleansingBrewOverhead > 1500017408 overhead "[ NO CLEANSING BREWS! ]" 33717409 settimer CleansingBrewOverhead 017410 settimer CleansingBrewTimer 017411 endif17412 endif17413 else17414 if EnableOverheadMessages = 1 and timer CleansingBrewOverhead > 1500017415 overhead '[ BREW ON COOLDOWN! ]' 3717416 settimer CleansingBrewOverhead 017417 endif17418 endif17419 endif17420 endif17421 17422 if EnableCurePotion = 1 or EnableCastCure = 117423 while poisoned17424 if findtype "Orange Potion" self and EnableCurePotion = 117425 dclicktype "Orange Potion"17426 if EnableOverheadMessages = 1 and timer 'CurePotionMessageTimer' > 350017427 if insysmsg "potion satchel used"17428 overhead '[ FREE CURE POTION ]' 4417429 else17430 overhead '[ CURE POTION ]' 4417431 endif17432 clearsysmsg17433 settimer 'CurePotionMessageTimer' 017434 endif17435 wait 50017436 else17437 if timer 'CurePotionMessageTimer' > 5000 and EnableOverheadMessages = 117438 overhead '[ NO CURE POTS! ]' 33717439 settimer 'CurePotionMessageTimer' 017440 endif17441 if diffhits >= 30 or not findtype 3972 self or not findtype 3973 self17442 break17443 endif17444 if skill 'magery' >= 40 and mana >= 6 and EnableCastCure = 1 and not casting17445 cast 'cure'17446 getlabel backpack backpacklabel17447 settimer AntiStallTimer 017448 while not targetexists and timer AntiStallTimer < 150017449 if timer AntiStallTimer > 150017450 settimer AntiStallTimer 017451 break17452 endif17453 wait 10017454 endwhile17455 wft 100017456 target 'self'17457 wait 50017458 else17459 break17460 endif17461 endif17462 endwhile17463 endif17464 17465 if insysmsg "Mana Thief activated"17466 if EnableOverheadMessages != 017467 overhead "[ MANA THIEF! ]" 2217468 endif17469 cooldown "Mana Thief" 6000017470 endif17471 17472 if EnableEatHealSnacks = 117473 if skill 'Cooking' >= 50 and timer 'EatHealSnackCooldownTimer' > EatHealSnackCooldown and timer 'HealPotionTimer' < 10500 and diffhits > EatSnackHPdiff17474 if findtype "29774|28883|28885|28880|28879|28888|28886|29773|28881" backpack as myhpsnack17475 if EnableOverheadMessages = 117476 overhead "[ HP MUNCHING... ]" 42017477 endif17478 dclick myhpsnack17479 wait 25017480 settimer 'EatHealSnackCooldownTimer' 017481 settimer 'EatManaSnackCooldownTimer' 017482 cooldown 'Snacking' EatHealSnackCooldown17483 else17484 if timer FoodMessageTimer > 15000 and EnableOverheadMessages = 117485 overhead "[ NO MORE FOOD! ]" 33717486 settimer FoodMessageTimer 017487 endif17488 endif17489 endif17490 endif17491 17492 if targetexists17493 if findtype " Elven Spellblade" self17494 targettype "Elven Spellblade"17495 else17496 target backpack17497 endif17498 endif17499 17500 if not warmode and WarModeToggledWhileFighting = 117501 hotkey 'Toggle War Only'17502 @setvar! WarModeToggledWhileFighting 017503 endif17504 17505 clearsysmsg17506 hotkey 'target closest grey monster'17507 wait 25017508 @setvar! TargetToAnalyze lasttarget17509 17510 if insysmsg 'No one matching that'17511 @setvar! AttackModeActive 017512 @setvar! TargetToAnalyze 017513 else17514 @setvar! TargetToAnalyze lasttarget17515 @setvar! AttackModeActive 217516 endif17517 endif17518 endif17519 17520 if dead17521 break17522 endif17523endwhile17524 17525 17526//////////////////////17527// END ALIVE LOOP //17528//////////////////////17529 17530 17531/////////////////////////17532// BEGIN DEATH LOOP: //17533/////////////////////////17534 17535if dead17536 if EnableOverheadMessages = 1 or EnableOverheadMessages = 217537 overhead '[ R.I.P. ]' 33717538 endif17539 wait 150017540 17541 while dead17542 if insysmsg "world is saving"17543 settimer "WorldSaveTimer" 017544 if EnableOverheadMessages = 117545 overhead '[ WORLD SAVING... ]' 25317546 endif17547 while timer "WorldSaveTimer" < 450017548 if insysmsg "save complete"17549 clearsysmsg17550 break17551 endif17552 wait 10017553 endwhile17554 if EnableOverheadMessages = 117555 overhead '[ SAVE COMPLETE! ]' 25317556 endif17557 endif17558 17559 @setvar! IHAVEDIED 117560 wait 50017561 if timer "WaitingForHealerTimer" > 400017562 overhead '[ FIND A HEALER! ]' 017563 settimer "WaitingForHealerTimer" 017564 endif17565 17566 if findtype "blue moongate|30528|moongate" ground -1 -1 15 as EscapeGate17567 if timer "GateIndicatorTimer" > 200017568 overhead " � " 253 EscapeGate17569 settimer "GateIndicatorTimer" 017570 endif17571 endif17572 17573 while not gumpexists 3773199800 and findtype "blue moongate|30528|moongate" ground 0 1 2 as EscapeGate17574 dclick EscapeGate17575 wait 50017576 endwhile17577 17578 while gumpexists 377319980017579 gumpresponse 1617580 wait 50017581 waitforgump 377319980017582 gumpresponse 217583 overhead '[ GATING TO TOWN... ]' 8817584 break17585 endwhile17586 17587 while gumpexists 295781022517588 overhead '[ HEALED! ]' 8417589 gumpresponse 117590 wait 100017591 gumpclose 295781022517592 17593 if EnableDressAfterResurrection = 117594 overhead '[ DRESSING... ]' 2217595 wait 50017596 dress 'UltimateArcaneMage'17597 wait 50017598 while queued17599 wait 10017600 endwhile17601 dress 'UltimateArcaneMage'17602 wait 50017603 while queued17604 wait 10017605 endwhile17606 dress 'UltimateArcaneMage'17607 wait 50017608 endif17609 17610 if EnableRecallAfterResurrection = 117611 hotkey 'Toggle Peace Only'17612 @setvar! ResThenTimeToGo 117613 @setvar! WarModeToggledWhileFighting 017614 wait 50017615 replay17616 else17617 wait 250017618 overhead '[ STOPPING SCRIPT! ]' 8817619 stop17620 endif17621 endwhile17622 endwhile17623endif17624 17625replay17626 17627//////////////////////17628// END DEATH LOOP //17629//////////////////////17630 17631 17632 17633 #############################17634 ### SCRIPT ENDS HERE! ###17635 #############################17636 17637 17638 17639 17640 17641 // Thank you for using my scripts! I can be contacted via email here: dan@danstockman.com17642 // Good luck out there and say hello if you see me in Avadon (Lord Glacier) - please don't PK me lol17643 17644 17645 17646 17647 17648 17649 17650 17651 17652 