# This is an automated backup - check out https://outlands.uorazorscripts.com/script/8c113c0a-ec2e-4d73-b44e-6985644bf685 for latest # Automation by Jaseowns ## Script: Lord Glacier's Chill SUMMONER AUTO PILOT - UO OUTLANDS RAZOR SCRIPT - v3.0.1 ## Created by: danstock._98439#0 ############################################# ///////// //////// Lord Glaciers Chill SUMMONER AUTO PILOT - UO OUTLANDS RAZOR SCRIPT version 3.0.1 /////// ////// UO Outlands Razor script - Released September 17, 2025 - Last updated October 9, 2026 ///// Compiled by DanStock. (aka. Lord Glacier) //// /// ################################ // QUICK MODE CHANGE: \\ #################################### @setvar! DUNGEONMODE 1 @setvar! WILDERNESSMODE 0 # DUNGEON = Auto FIND GATE # WILDERNESS = Auto RECALL #################################### ################################## ############################### ############################### // SUGGESTED SKILL TEMPLATE: \\ // INVENTORY ITEMS: \\ ################################### ################################### # 120 Necromancy Book of Necromancy # 120 Spirit Speak Wizards Grimoire # 120 Herding Summoners Tome # 120 Forensic Evaluation ** Crafted (or magic) Spellbook # 100 Magery Leather armour # 100 Eval Intelligence Potion Satchel (w/ potions) # 40 Meditation Wizard Satchel (w/ regs) # Magic Mushrooms # ASPECT: COMMAND book Delectable food trays # COMMAND armour Trapped pouches # Adventurers rope # or FROST armour Scissors [blessed] * # or VOID armour Wooden Box w/ copper key * # or ELDRITCH armour/book Aspect crystals * # # ** or Inscription/Camping/Tracking ################################## ################################## ################################ ################################ ############################## ############################## ///////////////////////// //' CHANGE LOG: '// ///////////////////////// # Oct 09 2026 - version 3.0.1: There is always something to improve... Added checks for LootBag and Escape Runebook outside of script setup/reset and will now prompt to target new if not found # Also added summon detection check to Auto Recall Dispel Summons (will only cast if followers are found - in case your summons do not recall properly) # Oct 08 2026 - version 3.0.0: BIG UPDATE: Completely reworked the summoning system (detection, naming and combat improvements), improved Crook detection/activation and simplified variables # Also totally overhauled the offensive magery options with new Opening spells and Large, Medium and Small Damage loops based on mana/variable settings # Improved targeting and attacking responsiveness as well as defensive efficiency improvements to improve safety (everything just works better) # Update also includes new storage tome updates, loot storage enhancements and brings the common script items up to my current specs (email bugs: dan@danstockman.com) # # Jun 21 2026 - version 2.0.5: Finally have the targeting and attacking working much quicker and everything feels dialed in - this works very well now! Final version for a while (hopefully) # Jun 20 2026 - version 2.0.4: Quick update to add Dual Wielding and Throwing Weapons to EnablePutLootinLockBox auto loot storage section # Jun 19 2026 - version 2.0.3: Added magery buff checks to No Target Loop and small adjustments to targeting section and priority healing loop # Jun 09 2026 - version 2.0.2: Chasing perfection now. Just made some small targeting tweaks, cosmetic changes to some overheads and added support for herding skill # Jun 07 2026 - version 2.0.1: I lied. One more big update! Added further integration with undead summons (now equally supported w/ new overhead message mode, etc.) # Also changes to the Poison Strike system (now works for both cast poison OR corpse skin disease) and tweaks to casting poison section # Final adjustments to acquisition and targeting system speed and allowance for targeting battle trainers (for DPS checks or training) # A new overhead message mode which gives a middle ground between constant spam and limited target-only mode (see below) # I have put a lot of time and effort into this last v2.0 build and I am pleased with it currently - I hope it works for you! # Jun 03 2026 - version 2.0.0: Big update! Calling it v2.0. Targeting system massively improved, overall tempo is better and everything works as intended # May 29 2026 - version 1.2.0: Almost there. Just trying to fix a hang-up in the attack loop - but it is working well otherwise # May 28 2026 - version 1.1.9: Adjustments to healing loop triggers, PK radar delays and other things to speed up attack modes # May 23 2026 - version 1.1.8: Adjustments to target acquisition and attack loop sections # May 20 2026 - version 1.1.7: Fixed bug when filling pots from kegs if one of the types was set to '0' # Jan 05 2026 - version 1.1.6: Minor updates to the reagent splitter and potion keg sections and more summon creature tweaks # Jan 04 2026 - version 1.1.5: Added poison potion option to keg filling and added skinning to dungeon escape loop # Jan 03 2026 - version 1.1.4: Fixed a coding error (double 'if' on line 6185 of 1.1.3) and added a Storage Tome Container variable to the Auto Recall section # Dec 12 2025 - version 1.1.3: Everything seems to work now! One final tweak to the escape loop and I think it is done... email any bugs to dan@danstockman.com # Dec 11 2025 - version 1.1.2: Still having issues with advanced Summon Creature loop. Hoping it is better now (also fixed timing issues with g.heal spell) # Dec 10 2025 - version 1.1.1: Last update was a mess... tons of errors. I think I sorted it all out. # Dec 10 2025 - version 1.1.0: Fixed a bug when summoning creature spell is upgraded to creature pools 2, 3 or 4 - also cleaned up some overhead spam # Dec 08 2025 - version 1.0.9: Cant stop. Added variable to dispel summons after recalling and fixed an issue with Strength Potion use # Dec 07 2025 - version 1.0.8: I lied. Fixed some stuff in the loadout reset and added a PVP cooldown for potion kegs # Dec 06 2025 - version 1.0.7: Misspelled timer and overhead message. Now it is done.... I think. # Dec 05 2025 - version 1.0.6: Final touches and tweaks # Dec 04 2025 - version 1.0.5: Fixed some missing timers, a misspelling in the fire elemental summons and adjusted the targeting code # Dec 03 2025 - version 1.0.4: Minor tweaks to the order of things and some additional heal potion checks added # Dec 02 2025 - version 1.0.3: Added target attack range variable - you can reduce this to avoid stealing other peoples MOBs # Dec 01 2025 - version 1.0.2: Fixed bug causing meditation to trigger RECALL/ESCAPE modes # Nov 28 2025 - version 1.0.1: Fixed bug in poison section and updated script to match my others - WAR mode is now for combat and Peace mode for RECALL/ESCAPE # Sep 17 2025 - version 1.0.0: Public script release! Email any issues to: dan@danstockman.com /////////////////// //' TIPS: '// /////////////////// # 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! # Initial setup can be redone by setting 'ResetScriptPermanentVariables' variable to '1' below! # Or you can re-target script variables individually in the 'Options' tab above the script # # # This script will automatically summon and maintain your SUMMONS based on your variable settings below (up to maximum of 5 control slots) # Summons can be either standard elementals or undead summons (based on 'EnableNecroVengefulSpirit' setting below) # Script will automatically detect if your summons have died, been dispelled or timed out and will resummon, rename, etc. # Summons will GUARD by default, KILL when valid target is within attack range or FOLLOW when DUNGEON ESCAPE is triggered (manual or weight) # Running script in WAR MODE will automatically search for and analyze nearby targets and ATTACK if valid target is found within range # Targets will be attacked using 'All kill' command -> opening spells -> large damage spells -> medium damage spells -> small damage spells (configure below) # Script uses optional BUFFS (during combat) along with POTIONS, BANDAGES and HEALING SPELLS, etc. to keep you alive # Running script in PEACE MODE will trigger optional AUTO RECALL (WILDERNESS MODE) or AUTO DUNGEON ESCAPE (DUNGEON MODE) with settings below # Using the STATS page in the U.I. or (much easier) the OUTLANDS BUTLER website make sure you are maximizing and reaching your mana refund cap (or other template goals) # Recommend use of MEDITATION RATE chain links, DAMAGED TO DISEASED chain links and SPELL ASPECT CHANCE chain links (if going spell-based summoner route) # Recommend use of FOLLOWER DAMAGE chain links, FOLLOWER ATTACK SPEED chain links and FOLLOWER DAMAGE RESIST chain links (if going pet-damage summoner route) # Eating MUSHROOMS with the Wizards Grimoire will restore MANA (60 second cooldown) if you have 5 points in CREATE FOOD (very important) # Otherwise, I would prioritize CURSE, BLESS and PROTECTION in your WIZARDS GRIMOIRE (or MANA DRAIN if needed to reach mana refund cap) # Then I would put remaining points into damage spells (Flamestrike, Ebolt, Mindblast, Lightning, Magic Arrow, Fireball, etc.) # Script displays lots of OVERHEAD MESSAGES by default - these can be changed in the variable section (minimal target indicators always remain) # Recommend using Razor TEXT FILTERS to cancel redundant system messages and Razor spam # 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. # Script uses ORGANIZER AGENT-01 for optional MAIN INVENTORY pouch organization (can be set to auto select your main bag in inventory reset below) # If enabled AUTO RECALL triggers when RED is within target range or when WEIGHT LIMIT is reached in WILDERNESSMODE (optional DIY recall script usage, as well) # If enabled and RED is targeted in DUNGEONMODE (or WEIGHT LIMIT reached) script will use DUNGEON ESCAPE mode to locate and activate MOONGATES while keeping you alive # If enabled POTIONS will be automatically consumed as needed and optionally can refill pots from KEGS to reduce carry weight (and increase potion quantities) # If using POTION KEGS and EXPLOSION POTIONS (telekinesis spell will be used to make target sticky if Alchemy < 80) make sure to pack extra EMPTY BOTTLES # If enabled LOOT CHEST in your HOME/INN/BANK is used to store goods, script uses ORGANIZER AGENTS 06-09 as sub-containers you can set inside the chest to organize items further # If enabled and WOODEN BOX and COPPER KEY are found in inventory, loot will be automatically moved and secured when not in combat (make sure key is not inside box and well hidden) # 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 located # If enabled a DRESS LIST of your [blessed] wearables will be equipped after resurrection (dress list must be named 'UltimateSummoner') # If enabled after resurrection script can recall home (requires scrolls in [blessed] runebook), resupply, heal, activate aspects and even set up your pack with pouch stacks, etc. # 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 stack # MANY FEATURES ARE TURNED 'OFF' BY DEFAULT! MAKE SURE TO CHECK THE VARIABLE SECTION BELOW CLOSELY PRIOR TO FIRST USE!! # 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! ############################################################################################################################# # # # ////////////////////////////// # # // RESET SCRIPT HERE: // # # ////////////////////////////// # # # # SET THIS VALUE TO '1' AND RUN SCRIPT TO UNSET ALL PERMANENT SCRIPT VARIABLES: # # # @setvar! ResetScriptPermanentVariables 0 # # # THEN RETURN 'ResetScriptPermanentVariables' TO '0' TO RESTART INITIAL SETUP... # # (Or you can re-target script variables individually in the 'Options' tab above the script!) # # # # # ############################################################################################################################# ##################################################### ###' OPTIONAL COOLDOWNS TO ADD IN UO CLIENT: '### ###' (case sensitive!) '### ##################################################### # Mushroom # Healing Potion # Purple Potion # Panacea Potion # Corpse Skin # Evil Omen # Mind Rot # Pain Spike # Blood Oath # Strangle # Poison Strike # Vengeful Spirit # Wither # Frost Shell Cooldown # Frost Shell Active ################################################################################################################################### # MOST FEATURES ARE TURNED 'OFF' BY DEFAULT! PLEASE CHECK THE 'VARIABLES' SECTION BELOW CAREFULLY DURING INITIAL SETUP! # ################################################################################################################################### ################################# ###' USER VARIABLES: '### ################################# ////////////////////// //' SUMMONING: '// ////////////////////// ########################## #' SET YOUR SUMMONS: '# ######################### // Number of summoned pets ('0' '1' or '2' each, etc.): @setvar! SummonEarthElemental_or_AncientMummy 0 @setvar! SummonWaterElemental_or_RagWitch 0 @setvar! SummonAirElemental_or_SkeletalFiend 0 @setvar! SummonFireElemental_or_Lich 0 @setvar! SummonDemon_or_VampireThrall 0 @setvar! SummonCreature_or_UndeadCreature 0 # Elemental OR Undead summon depends on 'EnableNecroVengefulSpirit' setting below! # Elementals/Demons/Liches/Thralls/etc. occupy '2 of 5' control slots each # Summoned creatures occupy '1 of 5' control slots each # 'MAXIMUM OF 5 CONTROL SLOTS TOTAL!' ########################## #' NAME YOUR SUMMONS: '# ########################## @setvar! NameSummonedPets 0 # If enabled, pets will be named (based on lists below) upon summoning # If name is unacceptable, or upon new summons, the next name in the list will be used # Lists recycle when all named have been used and will return to the first name # As far as I can tell, you can add as many names as you like to each list! (just add another line: pushlist ExampleSummonNamesList "NEW PET NAME") // Change and add PET NAMES in lists below: // if NameSummonedPets = 1 # 'EARTH ELEMENTAL/ANCIENT MUMMY NAMES': if SummonEarthElemental_or_AncientMummy > 0 if not listexists EarthEleAncientMummNamesList createlist EarthEleAncientMummNamesList endif if list EarthEleAncientMummNamesList = 0 pushlist EarthEleAncientMummNamesList "Terranous" pushlist EarthEleAncientMummNamesList "Rikura" pushlist EarthEleAncientMummNamesList "Terradus" pushlist EarthEleAncientMummNamesList "Pebbellz" pushlist EarthEleAncientMummNamesList "Rawckee" pushlist EarthEleAncientMummNamesList "Boulderass" pushlist EarthEleAncientMummNamesList "Demetrious" pushlist EarthEleAncientMummNamesList "Hevvee" pushlist EarthEleAncientMummNamesList "Stoneyy" pushlist EarthEleAncientMummNamesList "Avanii" endif endif # 'WATER ELEMENTAL/RAG WITCH NAMES': if SummonWaterElemental_or_RagWitch > 0 if not listexists WaterEleRagWitchNamesList createlist WaterEleRagWitchNamesList endif if list WaterEleRagWitchNamesList = 0 pushlist WaterEleRagWitchNamesList "Burimmah" pushlist WaterEleRagWitchNamesList "Asherahh" pushlist WaterEleRagWitchNamesList "Tiamattus" pushlist WaterEleRagWitchNamesList "Hyrdrosis" pushlist WaterEleRagWitchNamesList "Aachtoohoe" pushlist WaterEleRagWitchNamesList "Hydroniuous" pushlist WaterEleRagWitchNamesList "Juballaa" pushlist WaterEleRagWitchNamesList "Wettiuss" pushlist WaterEleRagWitchNamesList "Nanamiia" pushlist WaterEleRagWitchNamesList "Afonnis" endif endif # 'AIR ELEMENTAL/SKELETAL FIEND NAMES': if SummonAirElemental_or_SkeletalFiend > 0 if not listexists AirEleSkeleFiendNamesList createlist AirEleSkeleFiendNamesList endif if list AirEleSkeleFiendNamesList = 0 pushlist AirEleSkeleFiendNamesList "Alyaah" pushlist AirEleSkeleFiendNamesList "Zeruss" pushlist AirEleSkeleFiendNamesList "Windius" pushlist AirEleSkeleFiendNamesList "Tornadous" pushlist AirEleSkeleFiendNamesList "Hurhicann" pushlist AirEleSkeleFiendNamesList "Aeronious" pushlist AirEleSkeleFiendNamesList "Stratosus" pushlist AirEleSkeleFiendNamesList "Cloudass" pushlist AirEleSkeleFiendNamesList "Blohh" pushlist AirEleSkeleFiendNamesList "Gassius" endif endif # 'FIRE ELEMENTAL/LICH NAMES': if SummonFireElemental_or_Lich > 0 if not listexists FireEleLichNamesList createlist FireEleLichNamesList endif if list FireEleLichNamesList = 0 pushlist FireEleLichNamesList "Seraphinz" pushlist FireEleLichNamesList "Vulcanuz" pushlist FireEleLichNamesList "Blazze" pushlist FireEleLichNamesList "Valcanii" pushlist FireEleLichNamesList "Lavaass" pushlist FireEleLichNamesList "Pryo" pushlist FireEleLichNamesList "Fumettos" pushlist FireEleLichNamesList "Heliozz" pushlist FireEleLichNamesList "Phenixx" pushlist FireEleLichNamesList "Ziriuz" endif endif # 'DEMON/VAMPIRE THRALL NAMES': if SummonDemon_or_VampireThrall > 0 if not listexists DemonVampThrallNamesList createlist DemonVampThrallNamesList endif if list DemonVampThrallNamesList = 0 pushlist DemonVampThrallNamesList "Akuumah" pushlist DemonVampThrallNamesList "Agarez" pushlist DemonVampThrallNamesList "Baahl" pushlist DemonVampThrallNamesList "Beelzeabubbs" pushlist DemonVampThrallNamesList "Daemahnn" pushlist DemonVampThrallNamesList "Satanious" pushlist DemonVampThrallNamesList "Daemagrin" pushlist DemonVampThrallNamesList "Pentagrys" pushlist DemonVampThrallNamesList "Mordorious" pushlist DemonVampThrallNamesList "Pyrathius" endif endif # 'CREATURE/UNDEAD CREATURE NAMES': if SummonCreature_or_UndeadCreature > 0 if not listexists CreatureNamesList createlist CreatureNamesList endif if list CreatureNamesList = 0 pushlist CreatureNamesList "Grimmaloo" pushlist CreatureNamesList "Thornicus" pushlist CreatureNamesList "Bumblethor" pushlist CreatureNamesList "Zandorius" pushlist CreatureNamesList "Andymanous" pushlist CreatureNamesList "Morgle" pushlist CreatureNamesList "Aylamayous" pushlist CreatureNamesList "Krumblus" pushlist CreatureNamesList "Drakonius" pushlist CreatureNamesList "Balthazor" endif endif elseif NameSummonedPets = 0 clearlist EarthEleAncientMummNamesList clearlist WaterEleRagWitchNamesList clearlist AirEleSkeleFiendNamesList clearlist FireEleLichNamesList clearlist DemonVampThrallNamesList clearlist CreatureNamesList endif ///////////////////// //' NECROMANCY: '// ///////////////////// @setvar! EnableNecroWither 0 # Will cast Wither prior to summoning elementals (reduces summoning mana cost) @setvar! EnableNecroVengefulSpirit 0 # Vengeful Spirit will summon undead minions instead of elementals (set types/amounts above) @setvar! EnableNecroBloodOath 0 # 'EnableNecroBloodOath' requires 'EnableNecroVengefulSpirit' to also be enabled (undead summons buff) @setvar! MinimumManaAmounttoNecroBuff 20 @setvar! EnableNecroStrangle 0 @setvar! EnableNecroCorpseSkin 1 @setvar! EnableNecroMindRot 1 @setvar! EnableNecroEvilOmen 0 # Necro buffs will be used (during combat) if Unholy Points are sufficient and minimum mana is exceeded # For optimum performance 'MinimumManaAmounttoNecroBuff' should be the same or higher than 'CastSmallSpellsBelowMana' (below) @setvar! EnableNecroPainSpike 0 @setvar! PainSpikeAttackDelay 12000 # Adjust delay after acquiring a new target before attempting Pain Spike (to accumulate damage) # Increase delay if fighting tougher MOBs. # Timer starts when new target is attacked and delays Pain Spike (must have corpses in range to trigger) @setvar! EnableNecroPoisonStrike 0 # '0' for 'Disabled' # '1' for 'Apply after Corpse Skin disease delay timer only' # DO NOT USE SETTING '1' IF INTENDING TO TRIGGER FROM CAST POISON TICKS (use '2 - 9' instead!) # SETTING '1' IS FOR CORPSE SKIN DISEASE TRIGGERED POISON STRIKES ONLY! (set delay value below) # '2' for 'Apply in 2 poison ticks left or less' # '3' for 'Apply in 3 poison ticks left or less' # '4' for 'Apply in 4 poison ticks left or less' # '5' for 'Apply in 5 poison ticks left or less' # '6' for 'Apply in 6 poison ticks left or less' # '7' for 'Apply in 7 poison ticks left or less' # '8' for 'Apply in 8 poison ticks left or less' # '9' for 'Apply in 9 poison ticks left or less' # Poison Strike will be triggered by remaining Ticks (if spell poisoned) or by Corpse Skin timer (if diseased) # If using spell poison, use values '2 - 9' to set your Poison Strike trigger point (if sufficient Unholy Points available, etc.) # Poison Strike settings '2 - 9' require 'EnableCastPoison' turned on! (below) # If NOT using spell poison, use value '1' and set delay below (Corpse Skin must be enabled) @setvar! CorpseSkinPoisonStrikeDelay 15000 # Poison Strike setting '1' requires 'EnableNecroCorpseSkin' turned on (above) # Setting 'CorpseSkinPoisonStrikeDelay' is the delay after casting CORPSE SKIN on NEW target before triggering POISON STRIKE # Increase delay value if fighting tougher MOBs //////////////////// //' OFFENSIVE: '// //////////////////// // TARGET ATTACKING: // @setvar! TargetAttackRange 12 # Set your target auto attack range (1-12 tiles) # Targeted grey MOBs within this range will be engaged # Grey MOBs will still be targeted and analyzed outside of attack range (up to 12 tiles), but not attacked @setvar! CheckClosestTargetTime 2500 # Adjust the frequency of closest target checks during combat mode (1000 - 5000ms recommended) # If this is set to '0' the target will remain locked until dead or out of range // EQUIPPED SPELLBOOK CHECK: // @setvar! EnableSpellbookCheck 0 # Use '>info' to ID any of your [blessed] spellbooks and add the serial here: @setvar! MyBlessedSpellbook 0x00000000 # This will prevent the script from trying to equip it (instead of your aspect spellbook) // ACTIVE CROOK CHECK: // @setvar! EnableAutoCrookCheck 0 # If herding skill > 50 and crook is found, crook will be checked for activation (and activated if needed) # Ignores unidentified magic crooks and will activate valid crooks if found inactive # Activated crook will be ignored when transferring loot to lockbox (if using 'EnablePutLootinLockBox' option below) // OPENING SPELLS: // @setvar! EnableCastCurse 0 @setvar! EnableCastManaDrain 0 # If enabled, Curse and/or Mana Drain will be cast on NEW targets (or every 60 seconds) before using large spells # Curse is highly recommended (upgrade using wizards grimoire) as well as Mana Drain (if needed to hit mana refund cap) # You can open with a small damage spell (ex. to apply disease) before entering main attack loops # Choose only 'ONE AT A TIME': @setvar! EnableOpenWithLightning 0 @setvar! EnableOpenWithFireball 0 @setvar! EnableOpenWithHarm 0 @setvar! EnableOpenWithMagicArrow 0 // LARGE DAMAGE SPELLS: // @setvar! EnableCastFlamestrike 1 @setvar! FlamestrikeCooldown 0 # Flamestrike spell will be spammed repeatedly if parameters are met: // Mana > 'CastMediumSpellsBelowMana' (set below), Sulfurous Ash & Spiders silk in inventory, target in attack range, and HP diff < CastGreaterHealHPdiff // Recommend leaving Flamestrike cooldown at '0' unless you want to experiment // MEDIUM DAMAGE SPELLS: // @setvar! CastMediumSpellsBelowMana 60 # Medium damage spells will be used when mana < 'CastMediumSpellsBelowMana' but > 'CastSmallSpellsBelowMana' # I have found '60' for medium and '20' for small to work well but you can experiment (at your own risk) # Adjust your cooldowns to your preference (upgrade spells using wizards grimoire) @setvar! EnableCastExplosion 1 @setvar! ExplosionCooldown 10000 @setvar! EnableCastEnergyBolt 1 @setvar! EnergyBoltCooldown 0 @setvar! EnableCastMindblast 0 @setvar! MindblastCooldown 0 // SMALL DAMAGE SPELLS: // @setvar! CastSmallSpellsBelowMana 20 # Script will prioritize big spells (FS, xplo, ebolt, MB) above this mana value # Magic Arrow, Harm, Fireball and Lightning will only be cast below this point # Value can range from '10-110' (lower than '10' may cause errors) # Spell cooldown values (below) can be increased to reduce casting frequency if necessary # IMPT: Upgrade spell damage using wizards grimoire @setvar! EnableCastMagicArrow 0 @setvar! MagicArrowCooldown 15000 @setvar! EnableCastHarm 0 @setvar! HarmCooldown 15000 @setvar! EnableCastFireball 0 @setvar! FireballCooldown 15000 @setvar! EnableCastLightning 0 @setvar! LightningCooldown 15000 // POISON SPELL: // @setvar! EnableCastPoison 0 @setvar! SetPoisonLevel 0 # '0' for 'Greater or less' # '1' for 'Deadly' # '2' for 'Lethal' # Poison spell will be cast repeatedly on targeted MOB until set poison level is reached // MEDITATION SETTINGS: // @setvar! EnableMeditation 0 @setvar! MeditateWhenManaBelow 11 @setvar! MeditateUntilManaReaches 50 # If enabled, meditation will trigger if mana falls below 'MeditateWhenManaBelow' # Peace Mode will be activated while meditating # Script will resume if HP drops below 'CastGreaterHealHPdiff' (below) or if War Mode is activated # Otherwise, meditation ends when 'MeditateUntilManaReaches' is reached and script resumes //////////////////////// //' DEFENSIVE: '// //////////////////////// @setvar! EnableAutoParalyzePouch 1 # Will automatically pop trapped pouches if paralyzed (will also trigger auto recall/gating, if enabled below) @setvar! AutoTrapYourPouches 0 # Will automatically cast 'Magic Trap' any untrapped pouches found in your backpack @setvar! EnableCastGreaterHeal 1 @setvar! EnableCastHeal 1 @setvar! CastGreaterHealHPdiff 45 @setvar! CastHealHPdiff 60 @setvar! CastEmergencyHealHPdiff 75 # If damage exceeds 'CastHealHPdiff' Heal spell will be used to quickly recover before casting Greater Heal spell # If damage exceeds 'CastGreaterHealHPdiff' but is less than 'CastHealHPdiff' then Greater Heal spell will be used # If damage exceeds 'CastEmergencyHealHPdiff' then Heal spell will be spammed to keep you alive # Heal potions are always prioritized (if enabled below and found in inventory) for instant healing along with spellcasts @setvar! EnableCastCure 1 # If poisoned and 'EnableCastCure' is enabled, Cure spell will be cast until no longer poisoned @setvar! MinimumManaToApplyMageryBuffs 40 # Magery Buffs (below) will only be applied if mana is above this set point @setvar! EnableMagicReflection 0 @setvar! EnableBless 0 @setvar! EnableReactiveArmour 0 @setvar! EnableArchProtection 0 @setvar! EnableProtection 0 # Only enable 'Protection' or 'ArchProtection' at once - not both! # If both are enabled only Arch Protection will be cast (as the trigger condition is the same for each) @setvar! LowManaWarningAmount 10 # Overhead Low Mana warning (independent of other overhead message settings) @setvar! EnableFrostAspect 0 @setvar! FrostAspectTier 0 # Set your Frost Aspect level (if using Frost Aspect armour) # This will automatically set your optional Frost Shell Cooldown length # Add cooldowns in UO options 'Frost Shell Cooldown' and 'Frost Shell Active' (case sensitive) ////////////////////////// //' POTIONS: '// ////////////////////////// // POTS & KEGS: // @setvar! EnableHealPotion 1 @setvar! HealPotionHPdiff 35 # Adjust HP diff set points for Heal and Refresh potion # Heal potions will be prioritized over all healing options if not on cooldown @setvar! HealingPotionCooldown 10000 # This value only affects your OPTIONAL COOLDOWN BAR (script uses other checks to verify heal pots are available) # You can reduce this value if using Potion Codex # Add cooldown in UO options: 'Healing Potion' (case sensitive) @setvar! EnableCurePotion 1 # Cure pots will be used as needed (if enabled and found in inventory) @setvar! EnablePanaceaPotion 0 # Requires 80+ Alchemy skill, Cure Potions and Potion Codex in inventory w/ Panacea buff unlocked # Will automatically consume Cure Potion if Bleeding or Diseased @setvar! EnableCleansingBrews 0 # Requires Cleansing Brews in inventory # Will automatically consume Cleansing Brew if Bleeding or Diseased (and not on cooldown) @setvar! EnableRefreshPotion 0 @setvar! RefreshPotionSPdiff 10 # Adjust SP diff set point for Refresh potion consumption @setvar! EnableStrengthPotion 0 @setvar! EnableAgilityPotion 0 @setvar! EnableMagicResistPotion 0 # Strength, Agility and Resist potions will auto-buff when effects wear off (if enabled) * // * 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! // 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 mins // 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) @setvar! EnableAutoExplosionPots 0 @setvar! PurplePotionCooldown 15000 # Uses 'Telekinesis' spell to make new target MOBs sticky first (if Alchemy skill < 80) @setvar! EnableUsePotionKegs 0 # Will auto fill empty bottles from potion kegs if counts drop below set amounts: # Requires potion kegs and empty bottles (pack extra if using explosion potions!) # A good way to carry lots of potions without weighing you down if EnableUsePotionKegs = 1 @setvar! HealingPotionAmount 5 @setvar! CurePotionAmount 5 @setvar! RefreshPotionAmount 2 @setvar! StrengthPotionAmount 1 @setvar! AgilityPotionAmount 1 @setvar! ResistPotionAmount 1 @setvar! ExplosionPotionAmount 1 @setvar! PoisonPotionAmount 0 endif // MUSHROOMS: // @setvar! EnableEatMagicMushrooms 0 @setvar! EatMushroomManadiff 30 # Will consume Magic Mushrooms when mana diff exceeded (if not on cooldown) @setvar! EnableMagicMushroomMaker 0 @setvar! MakeMushroomAmount 5 # Will automatically make mushrooms when you run out (to set amount above) // FOOD TRAYS: // @setvar! EnableEatingFood 0 # Will eat food if not buffed (requires delectable FOOD TRAYS) ////////////////////////// //' UTILITY: '// ////////////////////////// @setvar! EnableOverheadMessages 1 # '0' Most overhead messages will be turned OFF (minimal target indicators will remain) # '1' All overhead messages will be turned ON (default mode) # '2' Only overhead messages for targeting or important warnings will be turned ON (my preferred mode!) @setvar! EnableAutoCarving 0 # Will automatically carve nearby corpses when found (requires SKINNING KNIFE) @setvar! EnableAutoSatchels 0 # Will automatically move potions and/or reagents to satchels (requires POTION or WIZARD SATCHELS) @setvar! EnableGoldVacuum 0 # Will automatically pick up discarded GOLD COINS nearby (2 tiles) # WARNING: This can cause you to grab large stacks of gold (and weigh you down) if you are not careful! @setvar! EnableDungeonCleanup 0 # Will automatically pick up discarded resources (regs, ingots, boards, etc.) nearby (2 tiles) @setvar! EnableDropGoldWhenOverweight 0 @setvar! DropGoldAmount 250 # Will drop set amount of gold repeatedly when overweight until no longer impeded @setvar! EnablePutLootinLockBox 0 # Will move all loot into wooden box and then immediately lock it (requires WOODEN BOX and COPPER KEY) # Key must be kept outside the container (but not in your main pack where it can be stolen) # All loot will be automatically moved and secured while FARMING # This is a MUST for dungeon farming IMO - if you are not using this, you really should! @setvar! StoreLootDelay 4500 # StoreLootDelay is the delay to trigger loot storage after target is eliminated # Use '>info' to ID anything you do NOT want locked up (up to 5 items) and add the serials here: @setvar! ItemToIgnore1 0x00000000 @setvar! ItemToIgnore2 0x00000000 @setvar! ItemToIgnore3 0x00000000 @setvar! ItemToIgnore4 0x00000000 @setvar! ItemToIgnore5 0x00000000 # 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) # You should add spare weapons or any other "loot" items that you do not want secured away during combat (blessed items and activated crooks are ignored automatically) @setvar! EnableLootBag 0 # Will open your selected LOOTBAG when unloading at HOME/INN/BANK (if using BUILT IN AUTO RECALL) # This should be the bag that is set as your 'Grab Bag' in Gridloot, etc. # You will be prompted to select a new loot bag whenever one is not found in your inventory # This can be retargeted in the 'Options' tab above the script (or by a full script reset) @setvar! EnableWeightWarningMessage 1 @setvar! GreenWarningDiffWeight 50 @setvar! YellowWarningDiffWeight 25 @setvar! RedWeightLimitDiffWeight 5 # Will display overhead warnings that change colour as they approach your carry weight limit (Green, Yellow and Red) # Red weight limit will trigger AUTO RECALL or AUTO DUNGEON GATE if enabled below (otherwise just an overhead warning and script ends) /////////////////////////// //' AUTO RECALL/GATE: '// /////////////////////////// ########################## #' PK TRIGGERS: '# ########################## // RED RECALL/ESCAPE (w/ TRACKING SKILL): // if skill 'Tracking' >= 50 @setvar! EnableTrackingAutoRecall 0 # Make sure "Ignore Houses/Ships" is checked in the Tracking skill menu! if EnableTrackingAutoRecall = 1 @setvar! PKTrackingRange 50 # Range can be 40, 50 or 60 tiles (or 0 will trigger Auto Recall regardless of range) @setvar! EnableRedAlertOverhead 1 # If your build has tracking skill, I highly recommend setting up a Razor overhead message instead of using the script one: // This will display PK name/distance overhead when tracked! // Add overhead message w/ a trigger of "Now tracking" and message '[ RED ALERT: {3} ]' (hue 335) // Then a second with a trigger of "Distance to destination" and message '[ {4} TILES AWAY! ]' (hue 253) // Once complete you should disable "EnableRedAlertOverhead" above if WILDERNESSMODE = 1 @setvar! EnableAutoRedRecall 0 # Auto Recall triggered if PK is tracked within 'PKTrackingRange' tiles (wilderness only) elseif DUNGEONMODE = 1 @setvar! EnableAutoRedDungeonGate 0 # Auto Dungeon Gate triggered if PK is tracked within 'PKTrackingRange' tiles (dungeons only) @setvar! DungeonEscapeTimeLimit 60000 endif endif // RED RECALL/ESCAPE (w/ NO TRACKING SKILL): // elseif skill 'Tracking' < 50 @setvar! EnablePKradar 0 # PK radar must be enabled for Auto Red Recall/Dungeon Gate to function (w/o Tracking Skill) # Radar checks for PK targets within range (roughly every 2 secs) and will alert with an overhead message and/or trigger escapes if EnablePKradar = 1 @setvar! EnableRedAlertOverhead 1 # Optional overhead message alert when PK is targeted (independent of other overhead message settings) if WILDERNESSMODE = 1 @setvar! EnableAutoRedRecall 0 # Auto Recall triggered if PK comes into (~12 tile) target range (wilderness only) elseif DUNGEONMODE = 1 @setvar! EnableAutoRedDungeonGate 0 # Auto Dungeon Gate triggered if PK comes into (~12 tile) target range (dungeons only) @setvar! DungeonEscapeTimeLimit 60000 endif endif endif ############################ #' WEIGHT TRIGGERS: '# ############################ if EnableWeightWarningMessage = 1 if WILDERNESSMODE = 1 @setvar! EnableAutoWeightRecall 0 elseif DUNGEONMODE = 1 @setvar! EnableAutoWeightDungeonGate 0 @setvar! EnableRecallAfterDungeonGate 0 endif endif # Requires 'EnableWeightWarningMessage' to be enabled (above) and is triggered by Red weight limit # Auto Recall or Auto Dungeon Gating will be triggered if 'RedWeightLimitDiffWeight' is reached (set above) # Auto Recall can also be triggered (optionally) upon successful dungeon gate exit via 'EnableRecallAfterDungeonGate' ############################## #' RESURRECTION TRIGGERS: '# ############################## @setvar! EnableRecallAfterResurrection 0 # Must have [blessed] runebook charged w/ scrolls to recall after resurrection! ########################################################### ####' YOU CAN TRIGGER YOUR OWN RAZOR RECALL SCRIPT: '#### ########################################################### # Enable use of your own Razor script for Auto Recall (otherwise script will prompt for a Runebook and use built-in auto recall): @setvar! EnableDIYRecallScript 0 // Type the name of your own Home Recall Razor script here: // createlist DIYRecallScriptList pushlist DIYRecallScriptList " YOUR RECALL SCRIPT NAME " ############################################################ ####' OR USE THE BUILT-IN AUTO RECALL/ESCAPE SCRIPT: '#### ############################################################ @setvar! EnableCastRecall 1 # '0' for 'Scrolls in charged Runebook to "first" rune' # '1' for 'Cast Recall to Runebook using "default" rune' // AUTO RECALL DESTINATION (choose only one): // @setvar! BankRecall 0 @setvar! OwnerInnRecall 0 @setvar! CoOwnerInnRecall 0 @setvar! InsideHouseRecall 0 @setvar! OutsideHouseRecall 0 if OutsideHouseRecall = 1 @setvar! EnableCloseMyDoor 0 @setvar! MyDoor 0x00000000 # Use ">info" to ID your own house door (to quickly close it behind you) endif @setvar! HideAtHomeorInn 0 # Will use hiding skill once inside home or inn room // LOADOUT RESET (after RECALL): // # Safe, Repair Bench, Resource Stockpile, Storage Shelf, Magic Recycler and/or Loot Chest must be found within 2 tiles! # Storage Tomes can be locked down (within 2 tiles) or located inside Loot Chest or Storage Tome Container @setvar! EnableAutoRecallOverheadMessages 1 # Controls overhead messages for recall section only @setvar! EnableDispelSummonsAfterRecall 0 # Casts Mass Dispel on your summons after Recall success @setvar! EnableSafeDeposit 0 # Will deposit all gold and doubloons found in inventory @setvar! EnableRepairBench 0 # Will repair all equipment (Repair Bench must have charges available) @setvar! EnableResourceStockpile 0 # Will deposit all resources (ingots, boards, gems, etc.) @setvar! EnableStorageShelf 0 # Will restock shelf and then resupply a fresh loadout @setvar! EnableMagicRecycler 0 # Will add all unidentified magic items to your Recycler @setvar! EnableRecycleItemsWhenFull 0 # If Recycler is full, it will attempt to ID, Recycle and deposit resources (if stockpile nearby) before adding items @setvar! EnableStorageTomes 0 # Will add items to any nearby storage tomes (skill scrolls, dyes, runes, maps, cards, etc) @setvar! EnableStorageTomeContainer 0 # Script checks on ground (2 tiles) or in LOOT CHEST (enable below) by default # Otherwise you can designate a TOME CONTAINER to check for your books @setvar! EnableReagentSplitter 0 # Will split reagents into smaller stacks after shelf resupply @setvar! EnableLootChest 0 # Will open selected chest to store non-shelf/stockpile/tome items in your HOME/INN/BANK (uses Razor organizer agents 06-09) // LOADOUT RESET (after DEATH): // # This variable will dress you and reorganize your backpack after death (see instructions below) # Your pack will be set up with anti-theft measures and all aspects will be reactivated, etc. @setvar! EnableDressAfterResurrection 0 # Must have a Razor 'Dress List' named 'UltimateSummoner' for all your [blessed] wearables @setvar! EnableResetInventoryAfterDeath 0 @setvar! EnableSetMainPouchOrganizer01 0 // Requires an equal amount of TRAPPED POUCHES (in shelf loadout) and SCISSORS [blessed] (in backpack) // Loadout also requires 1 UNTRAPPED POUCH (for main inventory - optionally set as Organizer Agent-01 above) and 1 BAG (for loot, etc.) // Script will put scissors in each trapped pouch (to keep them from being grabbed during future shelf loading) // Script then STACKS any trapped pouches on top of your main inventory pouch // Loot bag will be moved into main inventory pouch and automatically set as your Grab Bag for Gridloot, etc. // Script will then hide the stack underneath an ATLAS and put a DECOY TRAPPED POUCH out in the open // ASPECT WEAPON and ARMOR will be re-activated automatically and HP restored to MAX // Loadout reset finishes by opening backpack, main pouch, loot bag and any satchels ///////////////////////// //' SCRIPT MODES: '// ///////////////////////// // I use this variable to setup multiple "modes" with different hotkeys. # Copy and paste to new script and update variables for different setups (Dungeon, Wilderness, SYG, etc.) # Just change the NUMBERS (ie. 'if ScriptMode = 2'/'@setvar! ScriptMode 2') and overhead message (ie.overhead '[ WILDERNESS MODE ]' 1182) for each version # Script will only display overhead mode message when switching between modes or upon first run of a new client login # 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! if DUNGEONMODE = 1 if ScriptMode = 1 // Do nothing else overhead '[ DUNGEON MODE ]' 2338 @setvar! ScriptMode 1 hotkey 'Toggle War Only' @setvar! SkipTimers 0 endif elseif WILDERNESSMODE = 1 if ScriptMode = 2 // Do nothing else overhead '[ WILDERNESS MODE ]' 1182 @setvar! ScriptMode 2 hotkey 'Toggle War Only' @setvar! SkipTimers 0 endif endif ////////////////////////// //' MOB IGNORE LIST: '// ////////////////////////// removelist animalsIgnoreList createlist animalsIgnoreList pushlist animalsIgnoreList "a plover" pushlist animalsIgnoreList "a sheep" pushlist animalsIgnoreList "a frenzied ostard" pushlist animalsIgnoreList "a tundra ostard" pushlist animalsIgnoreList "a desert ostard" pushlist animalsIgnoreList "a forest ostard" pushlist animalsIgnoreList "a finch" pushlist animalsIgnoreList "a sparrow" pushlist animalsIgnoreList "a towhee" pushlist animalsIgnoreList "a lapwing" pushlist animalsIgnoreList "a silverback" pushlist animalsIgnoreList "a giant frog" pushlist animalsIgnoreList "a crow" pushlist animalsIgnoreList "a woodpecker" pushlist animalsIgnoreList "a horse" pushlist animalsIgnoreList "a swift" pushlist animalsIgnoreList "a skylark" pushlist animalsIgnoreList "a hawk" pushlist animalsIgnoreList "a chickadee" pushlist animalsIgnoreList "a cat" pushlist animalsIgnoreList "a dog" pushlist animalsIgnoreList "a black bear" pushlist animalsIgnoreList "a brown bear" pushlist animalsIgnoreList "a grizzly bear" pushlist animalsIgnoreList "a bull" pushlist animalsIgnoreList "a cow" pushlist animalsIgnoreList "a chicken" pushlist animalsIgnoreList "a bird" pushlist animalsIgnoreList "an eagle" pushlist animalsIgnoreList "an elk" pushlist animalsIgnoreList "a great hart" pushlist animalsIgnoreList "a kingfisher" pushlist animalsIgnoreList "a hind" pushlist animalsIgnoreList "a llama" pushlist animalsIgnoreList "a sand crab" pushlist animalsIgnoreList "a pig" pushlist animalsIgnoreList "a polar bear" pushlist animalsIgnoreList "a walrus" pushlist animalsIgnoreList "a cougar" pushlist animalsIgnoreList "a wolf" pushlist animalsIgnoreList "a goat" pushlist animalsIgnoreList "a raven" pushlist animalsIgnoreList "a magpie" pushlist animalsIgnoreList "a warbler" pushlist animalsIgnoreList "a tern" pushlist animalsIgnoreList "a nightingale" pushlist animalsIgnoreList "a wren" pushlist animalsIgnoreList "a nuthatch" pushlist animalsIgnoreList "a starling" pushlist animalsIgnoreList "a cuckoo" pushlist animalsIgnoreList "ADD MOBS TO IGNORE HERE" pushlist animalsIgnoreList "ADD MOBS TO IGNORE HERE" pushlist animalsIgnoreList "ADD MOBS TO IGNORE HERE" /////////////////////////// //' END OF VARIABLES! '// /////////////////////////// ################ !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! ################ /////////////////////// // SCRIPT RESET: // /////////////////////// if ResetScriptPermanentVariables = 1 clearignore clearsysmsg @setvar! IHAVEDIED 0 @setvar! TimeToGo 0 @setvar! DungeonGateThenTimeToGo 0 @setvar! ResThenTimeToGo 0 @setvar! RecallScrollsOnly 0 @setvar! RedTargetFound 0 @setvar! RECALLTIME 0 unsetvar AutoRecallChargedRunebook unsetvar FirstRunSummoner unsetvar SummonerAutoPilot unsetvar LootBag unsetvar LootChest clearlist EarthEleAncientMummNamesList clearlist WaterEleRagWitchNamesList clearlist AirEleSkeleFiendNamesList clearlist FireEleLichNamesList clearlist DemonVampThrallNamesList clearlist CreatureNamesList overhead '[ SCRIPT RESET COMPLETE! ]' 37 sysmsg "Please return 'ResetScriptPermanentVariables' to '0' in order to continue!" 153 stop endif /////////////////////// // TIMER SETUPS: // /////////////////////// if diffhits < CastGreaterHealHPdiff and SkipTimers != 1 if not timerexists 'LootTimer' createtimer 'LootTimer' settimer 'LootTimer' 0 endif if not timerexists 'GoldRadar' createtimer 'GoldRadar' settimer 'GoldRadar' 0 endif if not timerexists 'PurplePotionTimer' createtimer 'PurplePotionTimer' settimer 'PurplePotionTimer' 0 endif if not timerexists 'FlamestrikeCooldownTimer' createtimer 'FlamestrikeCooldownTimer' settimer 'FlamestrikeCooldownTimer' FlamestrikeCooldown endif if not timerexists 'ExplosionCooldownTimer' createtimer 'ExplosionCooldownTimer' settimer 'ExplosionCooldownTimer' ExplosionCooldown endif if not timerexists 'EnergyBoltCooldownTimer' createtimer 'EnergyBoltCooldownTimer' settimer 'EnergyBoltCooldownTimer' EnergyBoltCooldown endif if not timerexists 'MindBlastCooldownTimer' createtimer 'MindBlastCooldownTimer' settimer 'MindBlastCooldownTimer' MindblastCooldown endif if not timerexists 'WeightMessageTimer' createtimer 'WeightMessageTimer' settimer 'WeightMessageTimer' 0 endif if not timerexists 'PKRadarTimer' createtimer 'PKRadarTimer' settimer 'PKRadarTimer' 0 endif if not timerexists 'DungeonEscape' createtimer 'DungeonEscape' settimer 'DungeonEscape' 0 endif if not timerexists 'TargetChecker' createtimer 'TargetChecker' settimer 'TargetChecker' CheckClosestTargetTime endif if not timerexists 'DungeonCleanup' createtimer 'DungeonCleanup' settimer 'DungeonCleanup' 0 endif if not timerexists 'DungeonCleanupRadar' createtimer 'DungeonCleanupRadar' settimer 'DungeonCleanupRadar' 0 endif if not timerexists 'TargetTimer' createtimer 'TargetTimer' settimer 'TargetTimer' 4500 endif if not timerexists 'GateIndicatorTimer' createtimer 'GateIndicatorTimer' settimer 'GateIndicatorTimer' 4500 endif if not timerexists 'WaitingToRecallTimer' createtimer 'WaitingToRecallTimer' settimer 'WaitingToRecallTimer' 4500 endif if not timerexists 'CannotSeeTargetTimer' createtimer 'CannotSeeTargetTimer' settimer 'CannotSeeTargetTimer' 4500 endif if not timerexists 'TargetIsTooFarTimer' createtimer 'TargetIsTooFarTimer' settimer 'TargetIsTooFarTimer' 4500 endif if not timerexists 'WaitingForHealerTimer' createtimer 'WaitingForHealerTimer' settimer 'WaitingForHealerTimer' 4500 endif if not timerexists 'LootStorageTimer' createtimer 'LootStorageTimer' settimer 'LootStorageTimer' 6000 endif if not timerexists 'AttackTargetTimer' createtimer 'AttackTargetTimer' settimer 'AttackTargetTimer' 15000 endif if not timerexists 'OverweightMessageTimer' createtimer 'OverweightMessageTimer' settimer 'OverweightMessageTimer' 4500 endif if not timerexists 'NothingToTargetMessageTimer' createtimer 'NothingToTargetMessageTimer' settimer 'NothingToTargetMessageTimer' 4500 endif if not timerexists 'AnalyzingTargetsTimer' createtimer 'AnalyzingTargetsTimer' settimer 'AnalyzingTargetsTimer' 4500 endif if not timerexists "InventoryCheck" createtimer "InventoryCheck" settimer "InventoryCheck" 5000 endif if not timerexists 'MissingRegsTimer' createtimer 'MissingRegsTimer' settimer 'MissingRegsTimer' 4500 endif if not timerexists 'EatFoodMessageTimer' createtimer 'EatFoodMessageTimer' settimer 'EatFoodMessageTimer' 4500 endif if not timerexists 'PopPouchMessageTimer' createtimer 'PopPouchMessageTimer' settimer 'PopPouchMessageTimer' 4500 endif if not timerexists 'PotionKegTimer' createtimer 'PotionKegTimer' settimer 'PotionKegTimer' 3500 endif if not timerexists 'WhitePotionMessageTimer' createtimer 'WhitePotionMessageTimer' settimer 'WhitePotionMessageTimer' 4500 endif if not timerexists 'BluePotionMessageTimer' createtimer 'BluePotionMessageTimer' settimer 'BluePotionMessageTimer' 4500 endif if not timerexists 'BlackPotionMessageTimer' createtimer 'BlackPotionMessageTimer' settimer 'BlackPotionMessageTimer' 4500 endif if not timerexists 'PurplePotionMessageTimer' createtimer 'PurplePotionMessageTimer' settimer 'PurplePotionMessageTimer' 15000 endif if not timerexists 'OrangePotionMessageTimer' createtimer 'OrangePotionMessageTimer' settimer 'OrangePotionMessageTimer' 4500 endif if not timerexists 'YellowPotionMessageTimer' createtimer 'YellowPotionMessageTimer' settimer 'YellowPotionMessageTimer' 11000 endif if not timerexists 'RedPotionMessageTimer' createtimer 'RedPotionMessageTimer' settimer 'RedPotionMessageTimer' 4500 endif if not timerexists 'TelekinesisTimer' createtimer 'TelekinesisTimer' settimer 'TelekinesisTimer' 60000 endif if not timerexists 'OrganizerAgentTimer' createtimer 'OrganizerAgentTimer' settimer 'OrganizerAgentTimer' 15000 endif if not timerexists 'SkinningTimer' createtimer 'SkinningTimer' settimer 'SkinningTimer' 5000 endif if not timerexists 'WeightTimer' createtimer 'WeightTimer' settimer 'WeightTimer' 5000 endif if not timerexists 'GATEHERE' createtimer 'GATEHERE' settimer 'GATEHERE' 5000 endif if not timerexists 'GETCLOSER' createtimer 'GETCLOSER' settimer 'GETCLOSER' 5000 endif if not timerexists 'MANAWAIT' createtimer 'MANAWAIT' settimer 'MANAWAIT' 5000 endif if not timerexists 'RECALLDELAY' createtimer 'RECALLDELAY' settimer 'RECALLDELAY' 5000 endif if not timerexists 'MeditationTimer' createtimer 'MeditationTimer' settimer 'MeditationTimer' 10500 endif if not timerexists 'MagicReflectTimer' createtimer 'MagicReflectTimer' settimer 'MagicReflectTimer' 15000 endif if not timerexists 'ReactiveArmorTimer' createtimer 'ReactiveArmorTimer' settimer 'ReactiveArmorTimer' 15000 endif if not timerexists 'EvilOmenTimer' createtimer 'EvilOmenTimer' settimer 'EvilOmenTimer' 30000 endif if not timerexists 'CorpseSkinTimer' createtimer 'CorpseSkinTimer' settimer 'CorpseSkinTimer' 30000 endif if not timerexists 'PainSpikeTimer' createtimer 'PainSpikeTimer' settimer 'PainSpikeTimer' 30000 endif if not timerexists 'PainSpikeDelayTimer' createtimer 'PainSpikeDelayTimer' settimer 'PainSpikeDelayTimer' 10000 endif if not timerexists 'StrangleTimer' createtimer 'StrangleTimer' settimer 'StrangleTimer' 30000 endif if not timerexists 'MindRotTimer' createtimer 'MindRotTimer' settimer 'MindRotTimer' 30000 endif if not timerexists 'WizardSatchelTimer' createtimer 'WizardSatchelTimer' settimer 'WizardSatchelTimer' 60000 endif if not timerexists 'PotionSatchelTimer' createtimer 'PotionSatchelTimer' settimer 'PotionSatchelTimer' 60000 endif if not timerexists 'CurseTimer' createtimer 'CurseTimer' settimer 'CurseTimer' 60000 endif if not timerexists 'PotionKegPVPCooldown' createtimer 'PotionKegPVPCooldown' settimer 'PotionKegPVPCooldown' 30000 endif if not timerexists 'ManaDrainTimer' createtimer 'ManaDrainTimer' settimer 'ManaDrainTimer' 60000 endif if not timerexists 'MagicArrowTimer' createtimer 'MagicArrowTimer' settimer 'MagicArrowTimer' 60000 endif if not timerexists 'HarmTimer' createtimer 'HarmTimer' settimer 'HarmTimer' HarmCooldown endif if not timerexists 'FireballTimer' createtimer 'FireballTimer' settimer 'FireballTimer' FireballCooldown endif if not timerexists 'LightningTimer' createtimer 'LightningTimer' settimer 'LightningTimer' LightningCooldown endif if not timerexists 'MushroomTimer' createtimer 'MushroomTimer' settimer 'MushroomTimer' 60000 endif if not timerexists 'RUNAWAY' createtimer 'RUNAWAY' settimer 'RUNAWAY' 30000 endif if not timerexists 'PoisonStrikeTimer' createtimer 'PoisonStrikeTimer' settimer 'PoisonStrikeTimer' 30000 endif if not timerexists 'VengefulSpiritTimer' createtimer 'VengefulSpiritTimer' settimer 'VengefulSpiritTimer' 30000 endif if not timerexists 'BloodOathTimer' createtimer 'BloodOathTimer' settimer 'BloodOathTimer' 30000 endif if not timerexists 'NoHealRegsTimer' createtimer 'NoHealRegsTimer' settimer 'NoHealRegsTimer' 4500 endif if not timerexists 'WitherTimer' createtimer 'WitherTimer' settimer 'WitherTimer' 30000 endif if not timerexists 'SpiritSpeakTimer' createtimer 'SpiritSpeakTimer' settimer 'SpiritSpeakTimer' 60000 endif if not timerexists 'MeditationMessageTimer' createtimer 'MeditationMessageTimer' settimer 'MeditationMessageTimer' 4000 endif if not timerexists 'SummoningMessageTimer' createtimer 'SummoningMessageTimer' settimer 'SummoningMessageTimer' 4000 endif if not timerexists 'RepairTimer' createtimer 'RepairTimer' settimer 'RepairTimer' 0 endif if not timerexists 'CreatureSummonTimeout' createtimer 'CreatureSummonTimeout' settimer 'CreatureSummonTimeout' 5000 endif if not timerexists 'AllGuardMeTimer' createtimer 'AllGuardMeTimer' settimer 'AllGuardMeTimer' 15000 endif if not timerexists 'MushroomMakerTimer' createtimer 'MushroomMakerTimer' settimer 'MushroomMakerTimer' 4500 endif if not timerexists 'SpellbookCheck' createtimer 'SpellbookCheck' settimer 'SpellbookCheck' 5000 endif if not timerexists 'SkinningTimeoutTimer' createtimer 'SkinningTimeoutTimer' settimer 'SkinningTimeoutTimer' 3500 endif if not timerexists 'IgnoreMOBtimer' createtimer 'IgnoreMOBtimer' settimer 'IgnoreMOBtimer' 3000 endif if not timerexists 'spellTimer' createtimer 'spellTimer' settimer 'spellTimer' 0 endif if not timerexists 'AntiStallTimer' createtimer 'AntiStallTimer' settimer 'AntiStallTimer' 3500 endif if not timerexists 'HealPotionTimer' createtimer 'HealPotionTimer' settimer 'HealPotionTimer' 10500 endif if not timerexists 'CorpseSkinDiseaseTimer' createtimer 'CorpseSkinDiseaseTimer' settimer 'CorpseSkinDiseaseTimer' CorpseSkinPoisonStrikeDelay endif if not timerexists 'SwapTargetsTimer' createtimer 'SwapTargetsTimer' settimer 'SwapTargetsTimer' 5000 endif if not timerexists 'CrookCheckOverheadTimer' createtimer 'CrookCheckOverheadTimer' settimer 'CrookCheckOverheadTimer' 5000 endif if not timerexists 'CrookCheckTimer' createtimer 'CrookCheckTimer' settimer 'CrookCheckTimer' 10000 endif if not timerexists 'NecroCooldownTimer' createtimer 'NecroCooldownTimer' settimer 'NecroCooldownTimer' 5000 endif if not timerexists 'CleansingBrewTimer' createtimer 'CleansingBrewTimer' settimer 'CleansingBrewTimer' 120000 endif if not timerexists 'CleansingBrewOverhead' createtimer 'CleansingBrewOverhead' settimer 'CleansingBrewOverhead' 15000 endif if not timerexists 'CurePotionMessageTimer' createtimer 'CurePotionMessageTimer' settimer 'CurePotionMessageTimer' 4500 endif if not timerexists 'HealPotionMessageTimer' createtimer 'HealPotionMessageTimer' settimer 'HealPotionMessageTimer' 5000 endif if not timerexists 'NoTargetTimer' createtimer 'NoTargetTimer' settimer 'NoTargetTimer' 5000 endif if not timerexists 'ManaOverheadTimer' createtimer 'ManaOverheadTimer' settimer 'ManaOverheadTimer' 4500 endif if not timerexists 'BandageMessageTimer' createtimer 'BandageMessageTimer' settimer 'BandageMessageTimer' 1500 endif if not timerexists 'AnalyzeTargetTimeout' createtimer 'AnalyzeTargetTimeout' settimer 'AnalyzeTargetTimeout' 4000 endif if not timerexists 'STORELOOT' createtimer 'STORELOOT' settimer 'STORELOOT' 4500 endif if not varexist TargetSwap @setvar! TargetSwap 0 endif if not varexist ClosestTarget @setvar! ClosestTarget 0 endif if not varexist TargetToAnalyze @setvar! TargetToAnalyze 0 endif if not varexist AttackModeActive @setvar! AttackModeActive 0 endif if not varexist TargetToCheck @setvar! TargetToCheck 0 endif if not varexist AutoRecallTime @setvar! AutoRecallTime 0 endif if not varexist AutoWeightRecall @setvar! AutoWeightRecall 0 endif if not varexist SpellInterrupted @setvar! SpellInterrupted 0 endif if not varexist DisableVacuums @setvar! DisableVacuums 0 endif @setvar! EnableUseEmotes 0 @setvar! SetEmoteCooldown 120000 # Requires the following emotes to be unlocked: [Awoo, [HighFive, [Yes and [Whistle # Requires 'EnableOverheadMessages' set to '1' or '2' # Will use Emotes when Aspect, Codex or Chain Links are leveled up and when entering the Auto Heal loop # Also uses Emotes when certain finishers are performed (W.I.P.) and when target is eliminated # Cooldown defaults to 2 minutes but can be reduced via customizations in-game (375k gold reduces it to 30 seconds) # Add optional cooldown in UO client: 'Emote Cooldown' (case sensitive) if not timerexists "EmoteCooldownTimer" createtimer "EmoteCooldownTimer" settimer "EmoteCooldownTimer" SetEmoteCooldown endif endif if WILDERNESSMODE = 1 and DUNGEONMODE = 1 overhead '[ INVALID SCRIPT MODE! ]' 37 sysmsg 'Both DUNGEONMODE and WILDERNESSMODE are enabled - please select only ONE AT A TIME at top of script!' 153 wait 1500 overhead '[ STOPPING SCRIPT ]' 88 stop elseif WILDERNESSMODE = 0 and DUNGEONMODE = 0 overhead '[ INVALID SCRIPT MODE! ]' 37 sysmsg 'Both DUNGEONMODE and WILDERNESSMODE are disabled - please select your desired mode at top of script!' 153 wait 1500 overhead '[ STOPPING SCRIPT ]' 88 stop endif if SummonEarthElemental_or_AncientMummy = 0 and SummonWaterElemental_or_RagWitch = 0 and SummonAirElemental_or_SkeletalFiend = 0 and SummonFireElemental_or_Lich = 0 and SummonDemon_or_VampireThrall = 0 and SummonCreature_or_UndeadCreature = 0 overhead '[ INVALID SCRIPT MODE! ]' 37 sysmsg 'There are no SUMMONS selected - please CONFIGURE YOUR SUMMONING VARIABLES before relaunching script!' 153 wait 1500 overhead '[ STOPPING SCRIPT ]' 88 stop endif if not varexist SummoningEarth or followers = 0 @setvar! SummoningEarth 0 endif if not varexist SummoningWater or followers = 0 @setvar! SummoningWater 0 endif if not varexist SummoningFire or followers = 0 @setvar! SummoningFire 0 endif if not varexist SummoningAir or followers = 0 @setvar! SummoningAir 0 endif if not varexist SummoningDaemon or followers = 0 @setvar! SummoningDaemon 0 endif if not varexist SummoningCreature or followers = 0 @setvar! SummoningCreature 0 endif removelist TotalSummonCountList createlist TotalSummonCountList if SummonEarthElemental_or_AncientMummy = 1 pushlist TotalSummonCountList x pushlist TotalSummonCountList x elseif SummonEarthElemental_or_AncientMummy = 2 pushlist TotalSummonCountList x pushlist TotalSummonCountList x pushlist TotalSummonCountList x pushlist TotalSummonCountList x endif if SummonWaterElemental_or_RagWitch = 1 pushlist TotalSummonCountList x pushlist TotalSummonCountList x elseif SummonWaterElemental_or_RagWitch = 2 pushlist TotalSummonCountList x pushlist TotalSummonCountList x pushlist TotalSummonCountList x pushlist TotalSummonCountList x endif if SummonAirElemental_or_SkeletalFiend = 1 pushlist TotalSummonCountList x pushlist TotalSummonCountList x elseif SummonAirElemental_or_SkeletalFiend = 2 pushlist TotalSummonCountList x pushlist TotalSummonCountList x pushlist TotalSummonCountList x pushlist TotalSummonCountList x endif if SummonFireElemental_or_Lich = 1 pushlist TotalSummonCountList x pushlist TotalSummonCountList x elseif SummonFireElemental_or_Lich = 2 pushlist TotalSummonCountList x pushlist TotalSummonCountList x pushlist TotalSummonCountList x pushlist TotalSummonCountList x endif if SummonDemon_or_VampireThrall = 1 pushlist TotalSummonCountList x pushlist TotalSummonCountList x elseif SummonDemon_or_VampireThrall = 2 pushlist TotalSummonCountList x pushlist TotalSummonCountList x pushlist TotalSummonCountList x pushlist TotalSummonCountList x endif if SummonCreature_or_UndeadCreature = 1 pushlist TotalSummonCountList x elseif SummonCreature_or_UndeadCreature = 2 pushlist TotalSummonCountList x pushlist TotalSummonCountList x elseif SummonCreature_or_UndeadCreature = 3 pushlist TotalSummonCountList x pushlist TotalSummonCountList x pushlist TotalSummonCountList x elseif SummonCreature_or_UndeadCreature = 4 pushlist TotalSummonCountList x pushlist TotalSummonCountList x pushlist TotalSummonCountList x pushlist TotalSummonCountList x elseif SummonCreature_or_UndeadCreature = 5 pushlist TotalSummonCountList x pushlist TotalSummonCountList x pushlist TotalSummonCountList x pushlist TotalSummonCountList x pushlist TotalSummonCountList x endif if list TotalSummonCountList = 0 @setvar! TotalSummonCount 0 elseif list TotalSummonCountList = 1 @setvar! TotalSummonCount 1 elseif list TotalSummonCountList = 2 @setvar! TotalSummonCount 2 elseif list TotalSummonCountList = 3 @setvar! TotalSummonCount 3 elseif list TotalSummonCountList = 4 @setvar! TotalSummonCount 4 else @setvar! TotalSummonCount 5 endif if not varexist EarthFirstEle or followers = 0 @setvar! EarthFirstEle 0 endif if not varexist EarthSecondEle or followers = 0 @setvar! EarthSecondEle 0 endif if not varexist WaterFirstEle or followers = 0 @setvar! WaterFirstEle 0 endif if not varexist WaterSecondEle or followers = 0 @setvar! WaterSecondEle 0 endif if not varexist AirFirstEle or followers = 0 @setvar! AirFirstEle 0 endif if not varexist AirSecondEle or followers = 0 @setvar! AirSecondEle 0 endif if not varexist FireFirstEle or followers = 0 @setvar! FireFirstEle 0 endif if not varexist FireSecondEle or followers = 0 @setvar! FireSecondEle 0 endif if not varexist DaemonFirstEle or followers = 0 @setvar! DaemonFirstEle 0 endif if not varexist DaemonSecondEle or followers = 0 @setvar! DaemonSecondEle 0 endif if not varexist CreatureFirstEle or followers = 0 @setvar! CreatureFirstEle 0 endif if not varexist CreatureSecondEle or followers = 0 @setvar! CreatureSecondEle 0 endif if not varexist CreatureThirdEle or followers = 0 @setvar! CreatureThirdEle 0 endif if not varexist CreatureFourthEle or followers = 0 @setvar! CreatureFourthEle 0 endif if not varexist CreatureFifthEle or followers = 0 @setvar! CreatureFifthEle 0 endif if not listexists EarthEleList or followers = 0 removelist EarthEleList createlist EarthEleList endif if not listexists WaterEleList or followers = 0 removelist WaterEleList createlist WaterEleList endif if not listexists AirEleList or followers = 0 removelist AirEleList createlist AirEleList endif if not listexists FireEleList or followers = 0 removelist FireEleList createlist FireEleList endif if not listexists DaemonEleList or followers = 0 removelist DaemonEleList createlist DaemonEleList endif if not listexists CreatureEleList or followers = 0 removelist CreatureEleList createlist CreatureEleList endif ////////////////////// // INITIAL SETUP: // ////////////////////// if not dead and diffhits < CastGreaterHealHPdiff and FirstRunSummoner != 1 if not varexist SummonerAutoPilot overhead "Lord Glacier's Chill Summoner Auto Pilot Script" 2234 # ' overhead "version 3.0.1" 88 wait 1500 overhead "Last Updated: October 9, 2026" 2663 wait 2500 overhead "Thank you for trying my Summoner AUTO PILOT script! It appears this may be your first time running it..." 0 wait 4000 overhead "IMPT: Please make sure to check and adjust your VARIABLES!" 153 wait 4500 overhead "Please read the TIPS section at the beginning of the script for more info" 88 wait 3000 setvar SummonerAutoPilot 1 sysmsg "Beginning Lord Glacier's Chill Summoner Auto Pilot script.......... " 0 # ' wait 1000 endif while FirstRunSummoner != 1 if EnableDIYRecallScript != 1 if EnableAutoRedRecall = 1 or EnableAutoWeightRecall = 1 or EnableRecallAfterResurrection = 1 or EnableRecallAfterDungeonGate = 1 if not varexist AutoRecallChargedRunebook or not find AutoRecallChargedRunebook self wait 500 overhead "You have enabled Auto Recall (PK or Weight) and must select a runebook to continue!" 0 wait 1500 overhead "Select your escape runebook..." 253 setvar AutoRecallChargedRunebook wait 500 while targetexists wait 100 endwhile sysmsg "Will cast to 'default rune' in Runebook (if 'casting' enabled) or uses scrolls to 'first location' in Runebook (if no Magery skill)" 153 wait 1500 endif endif endif if EnableLootChest = 1 if EnableAutoRedRecall = 1 or EnableAutoWeightRecall = 1 or EnableRecallAfterResurrection = 1 or EnableRecallAfterDungeonGate = 1 if not varexist LootChest wait 500 overhead "Select a secure container to store your Loot..." 253 sysmsg "Can be disabled under script variables section." 0 wait 1000 overhead "Anything that will not go into a Resource Stockpile, Storage Shelf, Tomes or Magic Recycler" 0 overhead "(ie. Skill Orbs, Research Mats, Paragon chests, etc.)" setvar LootChest wait 500 while targetexists wait 100 endwhile sysmsg "Use Razor Organizer Agents 06 - 09 for the Loot Chest and its contents - organize to your own liking!" 0 wait 1500 endif endif endif if EnableStorageTomeContainer = 1 if EnableAutoRedRecall = 1 or EnableAutoWeightRecall = 1 or EnableRecallAfterResurrection = 1 or EnableRecallAfterDungeonGate = 1 if not varexist TomeContainer wait 500 overhead "Please select a secure container to store your Tomes..." 253 sysmsg "Can be disabled under script variables section." 0 wait 1000 overhead "This will cause script to look in this container for any Storage Tomes when unloading loot..." 0 setvar TomeContainer wait 500 while targetexists wait 100 endwhile sysmsg "Turn this variable off if your tomes are stored on the ground in your home/inn room" 0 wait 1500 endif endif endif if EnableLootBag = 1 if EnableAutoRedRecall = 1 or EnableAutoWeightRecall = 1 or EnableRecallAfterResurrection = 1 or EnableRecallAfterDungeonGate = 1 if not varexist LootBag wait 500 overhead "Please select your loot bag..." 253 wait 1000 overhead "This should be whatever is set as your 'Grab Bag' and will be opened when unloading loot after recalling..." 0 setvar LootBag wait 500 while targetexists wait 100 endwhile endif if not find LootBag self overhead "[ NO LOOT BAG ]" 337 wait 1500 overhead "Select your new loot bag..." 253 wait 500 setvar LootBag wait 250 while targetexists wait 100 endwhile endif endif endif if not varexist FirstRunSummoner or FirstRunSummoner != 1 wait 1000 overhead "Good luck out there!" 2234 overhead " - Dan (aka. Lord Glacier)" 2234 wait 1500 setvar FirstRunSummoner 1 endif if FirstRunSummoner = 1 hotkey 'Toggle War Only' break endif endwhile endif ############################### ### SCRIPT STARTS HERE: ### ############################### //////////////////////// // BEGIN ALIVE LOOP // //////////////////////// while not dead @ignore MyBlessedSpellbook if dead break endif if TimeToGo != 1 and IHAVEDIED != 1 and AutoRecallTime != 1 if EnableTrackingAutoRecall = 1 and skill 'Tracking' > 50 if not findbuff 'tracking' while not gumpexists 4267467659 useskill 'tracking' wait 250 endwhile if gumpexists 4267467659 while not insysmsg "You will now hunt all hostile players." gumpresponse 8 4267467659 waitforgump 4267467659 5000 endwhile gumpresponse 6 4267467659 wait 500 clearsysmsg endif gumpclose 4267467659 if EnableOverheadMessages = 1 overhead "[ RED RECALL ACTIVATED! ]" 334 endif endif endif if EnableTrackingAutoRecall = 1 and TimeToGo != 1 if PKTrackingRange = 60 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead "[ !! RED ALERT !! ]" 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg endif elseif PKTrackingRange = 50 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead "[ !! RED ALERT !! ]" 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg endif elseif PKTrackingRange = 40 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead "[ !! RED ALERT !! ]" 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg endif elseif PKTrackingRange = 0 if insysmsg "Now tracking" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead "[ !! RED ALERT !! ]" 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg endif endif endif if EnablePKradar = 1 and TimeToGo != 1 if timer "PKRadarTimer" > 1500 clearsysmsg hotkey 'Next Murderer Player Target' wait 250 if insysmsg "No one matching that was found" settimer "PKRadarTimer" 0 clearsysmsg else if EnableRedAlertOverhead = 1 overhead "[ !! RED ALERT !! ]" 37 endif hotkey 'Toggle Peace Only' @setvar! RedTargetFound 1 @setvar! TimeToGo 1 @setvar! MurdererTarget lasttarget endif endif endif if skill 'necromancy' >= 50 and not gumpexists 622436516 if findtype 'necromancer book' backpack yell '[necromancyhotbar' while not gumpexists 622436516 yell '[necromancyhotbar' wait 500 endwhile elseif EnableOverheadMessages = 1 overhead '[ NO NECRO BOOK! ]' 337 wait 500 endif endif 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" self clearignore getlabel backpack backpacklabel 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" self if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if timer MissingRegsTimer > 5000 if counttype "3972" self = 0 overhead '[ NO GARLIC ]' 646 endif if counttype "3962" self = 0 overhead '[ NO BLACK PEARL ]' 3 endif if counttype "3963" self = 0 overhead '[ NO BLOODMOSS ]' 33 endif if counttype "3980" self = 0 overhead '[ NO SULFUROUS ASH ]' 153 endif if counttype "3976" self = 0 overhead '[ NO NIGHTSHADE ]' 363 endif if counttype "3973" self = 0 overhead '[ NO GINSENG ]' 247 endif if counttype "3974" self = 0 overhead '[ NO MANDRAKE ROOT ]' 442 endif if counttype "3981" self = 0 overhead '[ NO SPIDERS SILK ]' 2338 endif settimer MissingRegsTimer 0 endif endif @setvar! MissingRegs 1 else @setvar! MissingRegs 0 endif else @setvar! MissingRegs 0 endif if EnableSpellbookCheck = 1 and not findtype "spellbook" hand if findtype "spellbook" self for 5 if findtype "spellbook" self as mySpellbook getlabel mySpellbook mySpellbooklabel wait 250 if "aspect" in mySpellbooklabel break elseif "unidentified" in mySpellbooklabel ignore mySpellbook elseif "blessed" in mySpellbooklabel ignore mySpellbook elseif "spells" in mySpellbooklabel ignore mySpellbook else break endif endif endfor dclick mySpellbook clearignore wait 500 else if timer "SpellbookCheck" > 5000 and EnableOverheadMessages = 1 overhead '[ NO SPELLBOOK! ]' 337 settimer "SpellbookCheck" 0 endif endif endif if EnableWeightWarningMessage = 1 if diffweight < RedWeightLimitDiffWeight if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if timer "WeightMessageTimer" > 10000 overhead '[ WEIGHT LIMIT REACHED! ]' 37 settimer "WeightMessageTimer" 0 endif else if timer "WeightMessageTimer" > 10000 overhead " � " 37 settimer "WeightMessageTimer" 0 endif endif if EnableAutoWeightRecall = 1 and not find ClosestTarget ground -1 -1 8 and WILDERNESSMODE = 1 wait 1000 hotkey 'Toggle Peace Only' @setvar! AutoWeightRecall 1 replay elseif EnableAutoWeightRecall = 1 and find ClosestTarget ground -1 -1 8 and WILDERNESSMODE = 1 if timer "WaitingToRecallTimer" > 3500 and EnableAutoRecallOverheadMessages = 1 overhead '[ WAITING TO RECALL... ]' 149 settimer "WaitingToRecallTimer" 0 endif wait 500 elseif EnableAutoWeightDungeonGate = 1 and DUNGEONMODE = 1 wait 500 hotkey 'Toggle Peace Only' @setvar! TimeToGo 1 replay else if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 overhead '[ OVERWEIGHT! ]' 337 else overhead " � " 337 endif wait 1500 overhead '[ STOPPING SCRIPT! ]' 88 stop endif endif endif endif if paralyzed and EnableAutoParalyzePouch = 1 if findtype "pouch" self yell "[pouch" wait 250 hotkey 'Toggle Peace Only' @setvar! RedTargetFound 1 @setvar! TimeToGo 1 else if timer PopPouchMessageTimer > 5000 and EnableOverheadMessages = 1 overhead "[ NO MORE POUCHES! ]" 337 settimer PopPouchMessageTimer 0 endif endif endif if EnableDropGoldWhenOverweight = 1 if weight > maxweight if timer OverweightMessageTimer > 4500 overhead "[ OVERWEIGHT! ]" 34 settimer OverweightMessageTimer 0 endif if DropGoldAmount != 0 clearignore @setvar! DisableVacuums 1 wait 250 if EnablePutLootinLockBox = 1 if findtype "wooden box" self as lockbox if findtype "copper key" self as key clearignore getlabel lockbox lockboxlabel wait 100 if "items" in lockboxlabel // Do nothing else dclick key wft 1500 target lockbox wait 500 if insysmsg "It appears to be locked." dclick key wft 1500 target lockbox wait 250 else if EnableOverheadMessages != 0 overhead "[loot box unlocked]" 84 endif endif endif elseif EnableOverheadMessages = 1 overhead "[ NO LOCKBOX KEY! ]" 337 endif endif endif while weight > maxweight and diffhits < CastGreaterHealHPdiff if findtype "gold coin" self as easycomeeasygo lift easycomeeasygo DropGoldAmount droprelloc 0 0 getlabel backpack packdesc if EnableOverheadMessages = 1 overhead "[ DROPPING GOLD... ]" 149 endif wait 250 if insysmsg "cannot drop anything" drop backpack -1 -1 -1 break endif wait 250 else break endif if diffhits > CastGreaterHealHPdiff break endif endwhile endif endif endif ////////////////////////// // BEGIN AUTO RECALL: // ////////////////////////// if not warmode if dead replay endif if EnableEatMagicMushrooms = 1 if diffmana > EatMushroomManadiff and timer MushroomTimer > 60000 if counttype 29012 backpack dclicktype 29012 backpack getlabel backpack packdesc wait 250 if insysmsg "You consume a magic mushroom" settimer MushroomTimer 0 cooldown "Mushroom" 60000 if EnableOverheadMessages = 1 overhead '[ EATING SHROOMS... ]' 13 endif endif elseif EnableOverheadMessages = 1 overhead '[ OUT OF SHROOMS! ]' 337 endif endif endif if EnableAutoWeightRecall = 1 and AutoWeightRecall = 1 if EnableDIYRecallScript = 1 @setvar! AutoWeightRecall 0 foreach RecallScript in DIYRecallScriptList script RecallScript endfor else if targetexists hotkey 'Cancel Current Target' endif hotkey 'Toggle Peace only' clearsysmsg while not varexist AutoRecallChargedRunebook and EnableDIYRecallScript != 1 overhead "Select your escape runebook..." 253 @setvar! AutoRecallChargedRunebook wait 2500 endwhile while mana < 11 if timer "MANAWAIT" > 4000 and EnableOverheadMessages = 1 overhead '[ WAITING FOR MANA... ]' 12 settimer "MANAWAIT" 0 endif wait 500 endwhile if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 overhead '[ AUTO WEIGHT RECALL! ]' 88 wait 500 endif @setvar! AutoWeightRecall 0 @setvar! RECALLTIME 1 endif elseif EnableAutoRedRecall = 1 and RedTargetFound = 1 if EnableDIYRecallScript = 1 @setvar! RedTargetFound 0 foreach RecallScript in DIYRecallScriptList script RecallScript endfor else if targetexists hotkey 'Cancel Current Target' endif hotkey 'Toggle Peace only' clearsysmsg while not varexist AutoRecallChargedRunebook and EnableDIYRecallScript != 1 overhead "Select your escape runebook..." 253 @setvar! AutoRecallChargedRunebook wait 2500 endwhile while mana < 11 if timer "MANAWAIT" > 4000 and EnableOverheadMessages = 1 overhead '[ WAITING FOR MANA... ]' 12 settimer "MANAWAIT" 0 endif wait 500 endwhile @setvar! RECALLTIME 1 endif elseif EnableRecallAfterDungeonGate = 1 and DungeonGateThenTimeToGo = 1 if EnableDIYRecallScript = 1 @setvar! DungeonGateThenTimeToGo 0 foreach RecallScript in DIYRecallScriptList script RecallScript endfor else if targetexists hotkey 'Cancel Current Target' endif hotkey 'Toggle Peace only' clearsysmsg while not varexist AutoRecallChargedRunebook and EnableDIYRecallScript != 1 overhead "Select your escape runebook..." 253 @setvar! AutoRecallChargedRunebook wait 2500 endwhile while mana < 11 if timer "MANAWAIT" > 4000 and EnableOverheadMessages = 1 overhead '[ WAITING FOR MANA... ]' 12 settimer "MANAWAIT" 0 endif wait 500 endwhile if EnableOverheadMessages = 1 overhead '[ AUTO RECALL! ]' 88 endif @setvar! DungeonGateThenTimeToGo 0 @setvar! TimeToGo 0 @setvar! RECALLTIME 1 endif elseif EnableRecallAfterResurrection = 1 and ResThenTimeToGo = 1 if EnableDIYRecallScript = 1 @setvar! ResThenTimeToGo 0 foreach RecallScript in DIYRecallScriptList script RecallScript endfor else if targetexists hotkey 'Cancel Current Target' endif hotkey 'Toggle Peace only' clearsysmsg while not varexist AutoRecallChargedRunebook and EnableDIYRecallScript != 1 overhead "Select your escape runebook..." 253 @setvar! AutoRecallChargedRunebook wait 2500 endwhile while mana < 11 if timer "MANAWAIT" > 4000 and EnableOverheadMessages = 1 overhead '[ WAITING FOR MANA... ]' 12 settimer "MANAWAIT" 0 endif wait 500 endwhile if EnableOverheadMessages = 1 overhead '[ AUTO RECALL! ]' 88 wait 1000 endif @setvar! AutoRecallTime 0 @setvar! TimeToGo 0 @setvar! ResThenTimeToGo 0 @setvar! RecallScrollsOnly 1 @setvar! RECALLTIME 1 endif elseif AutoRecallTime = 1 if EnableDIYRecallScript = 1 @setvar! AutoRecallTime 0 foreach RecallScript in DIYRecallScriptList script RecallScript endfor else if targetexists hotkey 'Cancel Current Target' endif hotkey 'Toggle Peace only' clearsysmsg while not varexist AutoRecallChargedRunebook and EnableDIYRecallScript != 1 overhead "Select your escape runebook..." 253 @setvar! AutoRecallChargedRunebook wait 2500 endwhile while mana < 11 if timer "MANAWAIT" > 4000 and EnableOverheadMessages = 1 overhead '[ WAITING FOR MANA... ]' 12 settimer "MANAWAIT" 0 endif wait 500 endwhile if EnableOverheadMessages = 1 overhead '[ AUTO RECALL! ]' 88 wait 1000 endif @setvar! AutoRecallTime 0 @setvar! RECALLTIME 1 endif elseif EnableAutoRedDungeonGate = 1 or EnableAutoWeightDungeonGate = 1 if TimeToGo = 1 if RedTargetFound = 1 say 'All guard me' 2234 settimer "DungeonEscape" 0 else say 'All follow me' 2234 settimer "DungeonEscape" 0 sysmsg "Dungeon Escape mode enabled! (variables 'EnableAutoRedDungeonGate' and/or 'EnableAutoWeightDungeonGate')" 0 sysmsg "Script will automatically revert after {{DungeonEscapeTimeLimit}}ms or upon dungeon exit" 88 wait 250 sysmsg "Please proceed to the nearest exit gate! It will be indicated by overhead arrows!" 153 endif //////////////////////////// // DUNGEON ESCAPE LOOP: // //////////////////////////// while timer "DungeonEscape" < DungeonEscapeTimeLimit if dead break endif while not gumpexists 3899019871 and findtype "blue moongate" ground 0 1 2 as EscapeGate dclick EscapeGate wait 500 endwhile if gumpexists 3899019871 and findtype "blue moongate" ground 0 1 2 as EscapeGate while gumpexists 3899019871 and findtype "blue moongate" ground 0 1 2 as EscapeGate gumpresponse 2 3899019871 wait 250 endwhile wait 1500 @setvar! TimeToGo 0 if EnableDIYRecallScript = 1 foreach RecallScript in DIYRecallScriptList script RecallScript endfor else hotkey 'Toggle Peace Only' @setvar! DungeonGateThenTimeToGo 1 @setvar! AutoRecallTime 1 replay endif endif while not gumpexists 3899019871 and findtype 30528 ground 2091 1 1 as EscapeGate dclick EscapeGate wait 500 endwhile if gumpexists 3899019871 and findtype 30528 ground 2091 1 1 as EscapeGate while gumpexists 3899019871 and findtype 30528 ground 2091 1 1 as EscapeGate gumpresponse 2 3899019871 wait 250 endwhile @setvar! TimeToGo 0 if EnableDIYRecallScript = 1 foreach RecallScript in DIYRecallScriptList script RecallScript endfor else hotkey 'Toggle Peace Only' @setvar! DungeonGateThenTimeToGo 1 @setvar! AutoRecallTime 1 replay endif endif while not gumpexists 3773199800 and findtype "blue moongate" ground -1 1 2 as EscapeGate dclick EscapeGate wait 500 endwhile if gumpexists 3773199800 and findtype "blue moongate" ground -1 1 2 as EscapeGate while gumpexists 3773199800 and findtype "blue moongate" ground -1 1 2 as EscapeGate gumpresponse 2 3773199800 wait 250 endwhile wait 1500 @setvar! TimeToGo 0 if EnableDIYRecallScript = 1 foreach RecallScript in DIYRecallScriptList script RecallScript endfor else hotkey 'Toggle Peace Only' @setvar! DungeonGateThenTimeToGo 1 @setvar! AutoRecallTime 1 replay endif endif while not gumpexists 3899019871 and findtype "moongate" ground -1 -1 2 as EscapeGate dclick EscapeGate wait 500 endwhile if gumpexists 3899019871 and findtype "moongate" ground -1 -1 2 as EscapeGate while gumpexists 3899019871 and findtype "moongate" ground -1 -1 2 as EscapeGate gumpresponse 2 3899019871 wait 250 endwhile wait 1500 @setvar! TimeToGo 0 if EnableDIYRecallScript = 1 foreach RecallScript in DIYRecallScriptList script RecallScript endfor else hotkey 'Toggle Peace Only' @setvar! DungeonGateThenTimeToGo 1 @setvar! AutoRecallTime 1 replay endif endif if findtype "moongate" ground -1 1 12 or findtype "blue moongate" ground -1 1 12 as EscapeGate if timer "GETCLOSER" > 4500 if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 overhead '[ GET CLOSER TO GATE! ]' 253 else overhead " � " 253 endif settimer "GETCLOSER" 0 endif if timer "GATEHERE" > 500 overhead " � " 253 EscapeGate settimer "GATEHERE" 0 endif else if timer "RUNAWAY" > 4500 if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 overhead '[ GET TO A GATE... ]' 77 else overhead " � " 77 endif settimer "RUNAWAY" 0 endif endif if EnableAutoParalyzePouch = 1 if paralyzed if findtype "pouch" self yell "[pouch" else if EnableOverheadMessages = 1 overhead '[ NO MORE POUCHES! ]' 337 endif endif endif endif if EnableDropGoldWhenOverweight = 1 if weight > maxweight if timer OverweightMessageTimer > 4500 overhead "[ OVERWEIGHT! ]" 34 settimer OverweightMessageTimer 0 endif if DropGoldAmount != 0 clearignore @setvar! DisableVacuums 1 wait 250 if EnablePutLootinLockBox = 1 if findtype "wooden box" self as lockbox if findtype "copper key" self as key clearignore getlabel lockbox lockboxlabel wait 100 if "items" in lockboxlabel // Do nothing else dclick key wft 1500 target lockbox wait 500 if insysmsg "It appears to be locked." dclick key wft 1500 target lockbox wait 250 else if EnableOverheadMessages != 0 overhead "[loot box unlocked]" 84 endif endif endif elseif EnableOverheadMessages = 1 overhead "[ NO LOCKBOX KEY! ]" 337 endif endif endif while weight > maxweight and diffhits < CastGreaterHealHPdiff if findtype "gold coin" self as easycomeeasygo lift easycomeeasygo DropGoldAmount droprelloc 0 0 getlabel backpack packdesc if EnableOverheadMessages = 1 overhead "[ DROPPING GOLD... ]" 149 endif wait 250 if insysmsg "cannot drop anything" drop backpack -1 -1 -1 break endif wait 250 else break endif if diffhits > CastGreaterHealHPdiff break endif endwhile endif endif endif if EnableStrengthPotion = 1 if not findbuff "Strength Potion Usage Cooldown" if findtype "White Potion" self dclicktype "White Potion" if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE STRENGTH POTION ]' 956 else overhead '[ STRENGTH POTION ]' 956 endif settimer WhitePotionMessageTimer 0 endif clearsysmsg wait 250 else if timer WhitePotionMessageTimer > 4500 overhead '[ NO STRENGTH POTS! ]' 337 settimer WhitePotionMessageTimer 0 endif endif endif endif if targetexists hotkey 'cancel current target' endif if EnableCastHeal = 1 and RedTargetFound = 1 if EnableHealPotion = 1 if skill 'magery' >= 40 and mana >= 4 and not casting and diffhits > 25 say 'All guard me' 2234 while diffhits > 25 and mana >= 4 and findtype 3972 self and findtype 3973 self and findtype 3974 self and cooldown 'Healing Potion' @setvar! SpellInterrupted 0 clearsysmsg cast 'heal' getlabel backpack backpacklabel settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 1500 if insysmsg "Your concentration is disturbed" interrupt @setvar! SpellInterrupted 1 break endif if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif endwhile if SpellInterrupted = 0 target 'self' else if targetexists hotkey 'cancel current target' endif endif if not cooldown 'Healing Potion' break endif wait 500 endwhile endif else if skill 'magery' >= 40 and mana >= 4 and not casting while diffhits > 25 and mana >= 4 and findtype 3972 self and findtype 3973 self and findtype 3974 self @setvar! SpellInterrupted 0 clearsysmsg cast 'heal' getlabel backpack backpacklabel settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 1500 if insysmsg "Your concentration is disturbed" interrupt @setvar! SpellInterrupted 1 break endif if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif endwhile if SpellInterrupted = 0 target 'self' else if targetexists hotkey 'cancel current target' endif endif wait 500 endwhile endif endif endif if EnableHealPotion = 1 and diffhits > 25 if findtype "Yellow Potion" self as HealPot getlabel HealPot HealPotlabel if "next" in HealPotlabel // Do nothing else @setvar! HealPotionCheck 0 if counttype 3852 self as HealPotCount @setvar! HealPotionCheck HealPotCount endif clearsysmsg dclicktype 3852 getlabel backpack backpackdesc wait 250 if insysmsg "potion satchel used" settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 4500 overhead '[ FREE HEAL POTION ]' 253 endif elseif HealPotionCheck != counttype 3852 self settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 4500 overhead '[ HEAL POTION ]' 253 endif endif clearsysmsg endif else if timer 'HealPotionMessageTimer' > 4500 and EnableOverheadMessages = 1 overhead '[ NO HEAL POTS! ]' 337 settimer 'HealPotionMessageTimer' 0 endif endif endif if not findtype 3972 self or not findtype 3973 self or not findtype 3974 self or not findtype 3981 self @setvar! missingGreaterHealRegs 1 getlabel backpack backpacklabel else @setvar! missingGreaterHealRegs 0 endif if not findtype 3972 self or not findtype 3973 self or not findtype 3974 self @setvar! missingHealRegs 1 getlabel backpack backpacklabel else @setvar! missingHealRegs 0 endif if missingGreaterHealRegs = 1 or missingHealRegs = 1 if timer NoHealRegsTimer > 4000 overhead '[ MISSING HEALING REGS! ]' 337 settimer NoHealRegsTimer 0 endif endif @setvar! SpellInterrupted 0 clearsysmsg if skill 'magery' >= 60 and diffhits >= CastGreaterHealHPdiff and diffhits <= CastHealHPdiff and mana >= 11 and EnableCastGreaterHeal = 1 and not casting and missingGreaterHealRegs != 1 @setvar! SpellInterrupted 0 cast 'greater heal' getlabel backpack backpacklabel settimer spellTimer 0 @setvar! spellCD 2500 while not targetexists and timer spellTimer < spellCD if insysmsg "Your concentration is disturbed" interrupt @setvar! SpellInterrupted 1 break endif if timer spellTimer > spellCD break endif endwhile if SpellInterrupted = 0 target 'self' endif elseif skill 'magery' >= 40 and diffhits >= CastHealHPdiff and diffhits < CastEmergencyHealHPdiff and mana >= 4 and EnableCastHeal = 1 and not casting and missingHealRegs != 1 @setvar! SpellInterrupted 0 cast 'heal' getlabel backpack backpacklabel settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 1500 if insysmsg "Your concentration is disturbed" interrupt @setvar! SpellInterrupted 1 break endif if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif endwhile if SpellInterrupted = 0 target 'self' endif elseif skill 'magery' >= 40 and diffhits >= CastEmergencyHealHPdiff and mana >= 4 and EnableCastHeal = 1 and not casting and missingHealRegs != 1 while diffhits > CastGreaterHealHPdiff and mana >= 4 and findtype 3972 self and findtype 3973 self and findtype 3974 self and not dead if targetexists hotkey 'Cancel current target' endif @setvar! SpellInterrupted 0 cast 'heal' getlabel backpack backpacklabel settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 1500 if insysmsg "Your concentration is disturbed" interrupt @setvar! SpellInterrupted 1 break endif if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif endwhile if SpellInterrupted = 0 target 'self' getlabel backpack backpacklabel endif if diffhits <= CastGreaterHealHPdiff break endif endwhile endif @setvar! SpellInterrupted 0 if skill 'healing' > 0 and hp < maxhp and not bandaging if findtype 'clean bandage%s%' self hotkey 'Bandage Self' if EnableOverheadMessages = 1 overhead '[ BANDAGING... ]' 88 endif else if EnableOverheadMessages = 1 overhead '[ NO BANDAGES! ]' 337 endif endif endif if EnableRefreshPotion = 1 and diffstam > RefreshPotionSPdiff if findtype "Red Potion" self dclicktype "Red Potion" if EnableOverheadMessages = 1 and timer RedPotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE REFRESH POTION ]' 37 else overhead '[ REFRESH POTION ]' 37 endif clearsysmsg settimer RedPotionMessageTimer 0 endif wait 250 else if timer RedPotionMessageTimer > 4500 overhead '[ NO REFRESH POTS! ]' 337 settimer RedPotionMessageTimer 0 endif endif endif if EnablePanaceaPotion = 1 and skill 'Alchemy' >= 80 and RedTargetFound != 1 if findbuff "Bleed" or findbuff "Diseased" if not findbuff "panacea potion cooldown" if findtype "Orange Potion" self dclicktype "Orange Potion" wait 500 if findbuff "panacea potion cooldown" and EnableOverheadMessages = 1 overhead '[ PANACEA ACTIVATED ]' 55 cooldown "Panacea Potion" 30000 endif endif endif endif endif if EnableCleansingBrews = 1 if findbuff "Diseased" or findbuff "Bleed" if timer CleansingBrewTimer > 120000 if findtype 50675 self 2935 as CleansingBrew dclick CleansingBrew if EnableOverheadMessages = 1 overhead '[ CLEANSING BREW ]' 2117 endif cooldown 'Cleansing Brew' 120000 settimer CleansingBrewTimer 0 wait 250 else if timer CleansingBrewOverhead > 15000 overhead "[ NO CLEANSING BREWS! ]" 337 settimer CleansingBrewOverhead 0 settimer CleansingBrewTimer 0 endif endif else if EnableOverheadMessages = 1 and timer CleansingBrewOverhead > 15000 overhead '[ BREW ON COOLDOWN! ]' 37 settimer CleansingBrewOverhead 0 endif endif endif endif if EnableCurePotion = 1 while poisoned if findtype "Orange Potion" self dclicktype "Orange Potion" if EnableOverheadMessages = 1 and timer 'CurePotionMessageTimer' > 3500 if insysmsg "potion satchel used" overhead '[ FREE CURE POTION ]' 44 else overhead '[ CURE POTION ]' 44 endif clearsysmsg settimer 'CurePotionMessageTimer' 0 endif wait 250 else if timer 'CurePotionMessageTimer' > 5000 overhead '[ NO CURE POTS! ]' 337 settimer 'CurePotionMessageTimer' 0 endif if diffhits >= 30 or not findtype 3972 self or not findtype 3973 self break endif endif endwhile endif if EnableAgilityPotion = 1 and not findbuff "Agility" if findtype "Blue Potion" self dclicktype "Blue Potion" if EnableOverheadMessages = 1 and timer BluePotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE AGILITY POTION ]' 93 else overhead '[ AGILITY POTION ]' 93 endif clearsysmsg settimer BluePotionMessageTimer 0 endif wait 250 else if timer BluePotionMessageTimer > 4500 overhead '[ NO AGILITY POTS! ]' 337 settimer BluePotionMessageTimer 0 endif endif endif if EnableMagicResistPotion = 1 and not findbuff "Magic Resist" if findtype "Black Potion" self dclicktype "Black Potion" if EnableOverheadMessages = 1 and timer BlackPotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE RESIST POTION ]' 1109 else overhead '[ RESIST POTION ]' 1109 endif clearsysmsg settimer BlackPotionMessageTimer 0 endif wait 250 else if timer BlackPotionMessageTimer > 4500 overhead '[ NO RESIST POTS! ]' 337 settimer BlackPotionMessageTimer 0 endif endif endif if EnableEatMagicMushrooms = 1 if diffmana > EatMushroomManadiff and timer MushroomTimer > 60000 if counttype 29012 backpack dclicktype 29012 backpack getlabel backpack packdesc wait 250 if insysmsg "You consume a magic mushroom" settimer MushroomTimer 0 cooldown "Mushroom" 60000 if EnableOverheadMessages = 1 overhead '[ EATING SHROOMS... ]' 13 endif endif elseif EnableOverheadMessages = 1 overhead '[ OUT OF SHROOMS! ]' 337 endif endif endif if EnableAutoCarving = 1 and findtype 11552 self while findtype "corpse" ground -1 -1 2 as deadbody and diffhits < CastGreaterHealHPdiff settimer SkinningTimeoutTimer 0 if findtype 11552 self if targetexists hotkey 'cancel current target' endif while not targetexists skill 'forensicevaluation' getlabel backpack backpacklabel endwhile if targetexists and find deadbody ground -1 -1 2 target 'self' @ignore deadbody wait 250 endif if insysmsg "You dont see anything nearby" clearsysmsg break else if EnableOverheadMessages = 1 and timer SkinningTimer > 3000 overhead '[ SKINNING... ]' 333 settimer SkinningTimer 0 endif endif else if EnableOverheadMessages = 1 and timer SkinningTimer > 15000 overhead '[ NO SKINNING KNIFE ]' 337 settimer SkinningTimer 0 break endif endif if timer SkinningTimeoutTimer > 1500 or diffhits > CastGreaterHealHPdiff break endif endwhile endif if followers > 0 if skill 'spiritspeak' >= 50 and timer 'SpiritSpeakTimer' > 10000 and findtype 'corpse' ground -1 -1 15 and EnableNecroVengefulSpirit = 0 getlabel backpack backpacklabel skill 'spiritspeak' wait 250 settimer 'SpiritSpeakTimer' 0 if insysmsg 'You establish contact' if EnableOverheadMessages = 1 overhead '[ CONSUMING SOULS... ]' 1109 else overhead '*consuming souls...*' 1109 endif endif endif endif if EnableUsePotionKegs = 1 and findtype 'empty bottle%s%' self and findtype 'keg' self and timer 'PotionKegPVPCooldown' > 30000 and AttackModeActive != 2 @setvar! PotionStockCheck 0 while PotionStockCheck < 8 and findtype 'empty bottle%s%' self if PotionStockCheck = 0 if HealingPotionAmount = 0 @setvar! PotionStockCheck 1 else @setvar! PotionType 3852 @setvar! KegColour 253 @setvar! PotionAmounttoFill HealingPotionAmount @setvar! PotionStockCheck 1 endif elseif PotionStockCheck = 1 if CurePotionAmount = 0 @setvar! PotionStockCheck 2 else @setvar! PotionType 3847 @setvar! KegColour 44 @setvar! PotionAmounttoFill CurePotionAmount @setvar! PotionStockCheck 2 endif elseif PotionStockCheck = 2 if RefreshPotionAmount = 0 @setvar! PotionStockCheck 3 else @setvar! PotionType 3851 @setvar! KegColour 37 @setvar! PotionAmounttoFill RefreshPotionAmount @setvar! PotionStockCheck 3 endif elseif PotionStockCheck = 3 if StrengthPotionAmount = 0 @setvar! PotionStockCheck 4 else @setvar! PotionType 3849 @setvar! KegColour 956 @setvar! PotionAmounttoFill StrengthPotionAmount @setvar! PotionStockCheck 4 endif elseif PotionStockCheck = 4 if AgilityPotionAmount = 0 @setvar! PotionStockCheck 5 else @setvar! PotionType 3848 @setvar! KegColour 93 @setvar! PotionAmounttoFill AgilityPotionAmount @setvar! PotionStockCheck 5 endif elseif PotionStockCheck = 5 if ResistPotionAmount = 0 @setvar! PotionStockCheck 6 else @setvar! PotionType 3846 @setvar! KegColour 1109 @setvar! PotionAmounttoFill ResistPotionAmount @setvar! PotionStockCheck 6 endif elseif PotionStockCheck = 6 if PoisonPotionAmount = 0 @setvar! PotionStockCheck 7 else @setvar! PotionType 3850 @setvar! KegColour 363 @setvar! PotionAmounttoFill PoisonPotionAmount @setvar! PotionStockCheck 7 endif elseif PotionStockCheck = 7 if ExplosionPotionAmount = 0 @setvar! PotionStockCheck 8 else @setvar! PotionType 3853 @setvar! KegColour 419 @setvar! PotionAmounttoFill ExplosionPotionAmount @setvar! PotionStockCheck 8 endif else break endif while counttype PotionType self < PotionAmounttoFill if not findtype 'empty bottle%s%' self if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 5000 overhead '[ NO EMPTY BOTTLES... ]' 337 settimer 'PotionKegTimer' 0 endif break endif if diffhits > HealPotionHPdiff break endif if findtype 'keg' self KegColour as myKeg dclick myKeg wait 250 if EnableOverheadMessages = 1 if timer 'PotionKegTimer' > 2000 overhead '[ FILLING POTS... ]' KegColour settimer 'PotionKegTimer' 0 endif endif else if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 5000 overhead '[ NO KEG TO USE... ]' KegColour settimer 'PotionKegTimer' 0 endif break endif if insysmsg "You have been in combat with another player" settimer "PotionKegPVPCooldown" 0 break endif endwhile if counttype PotionType self < PotionAmounttoFill and not findtype 'empty bottle%s%' self if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 5000 overhead '[ NO EMPTY BOTTLES... ]' 337 settimer 'PotionKegTimer' 0 endif break endif endwhile endif if warmode if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 overhead '[ ESCAPE CANCELLED! ]' 149 else overhead " � " 149 endif @setvar! TimeToGo 0 hotkey 'Toggle War Only' settimer "DungeonEscape" DungeonEscapeTimeLimit break endif if timer DungeonEscape > DungeonEscapeTimeLimit if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 overhead '[ ESCAPE TIMEOUT! ]' 333 endif @setvar! TimeToGo 0 hotkey 'Toggle War Only' break endif if dead break endif endwhile /////////////////////// // END ESCAPE LOOP // /////////////////////// endif elseif EnableAutoRedRecall = 0 and EnableAutoWeightRecall = 0 // Do nothing elseif EnableAutoRedDungeonGate = 0 and EnableAutoWeightDungeonGate = 0 // Do nothing endif endif getlabel backpack backpacklabel if RECALLTIME = 1 if EnableCastRecall = 1 and skill "Magery" >= 60 and RecallScrollsOnly != 1 and findtype '3962' self and findtype '3963' self and findtype '3974' self cast "Recall" settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 2500 if timer AntiStallTimer > 2500 settimer AntiStallTimer 0 break endif wait 100 endwhile target AutoRecallChargedRunebook wait 1000 else dclick AutoRecallChargedRunebook waitforgump 1551740969 gumpresponse 2 wait 1000 endif if insysmsg 'Your concentration is disturbed' overhead '[ INTERRUPTED! ]' 153 wait 500 for 5 if diffhits > 25 and timer 'HealPotionTimer' > HealingPotionCooldown if findtype "Yellow Potion" self as healpot dclick healpot wait 250 settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 4500 if insysmsg "potion satchel used" overhead '[ FREE HEAL POTION ]' 253 else overhead '[ HEAL POTION ]' 253 endif settimer 'HealPotionMessageTimer' 0 endif endif endif while poisoned if findtype "Orange Potion" self as curepot dclick curepot wait 500 endif endwhile clearsysmsg wait 500 if EnableCastRecall = 1 and skill "Magery" >= 60 and RecallScrollsOnly != 1 and findtype '3962' self and findtype '3963' self and findtype '3974' self cast "Recall" settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 2500 if timer AntiStallTimer > 2500 settimer AntiStallTimer 0 break endif wait 100 endwhile target AutoRecallChargedRunebook wait 1000 else dclick AutoRecallChargedRunebook waitforgump 1551740969 gumpresponse 2 wait 1000 endif if insysmsg 'Your concentration is disturbed' wait 500 else break endif endfor endif @setvar! TimeToGo 0 @setvar! RECALLTIME 0 @setvar! AutoRecallTime 0 if OutsideHouseRecall = 1 wait 2500 if find MyDoor ground -1 -1 2 and EnableCloseMyDoor = 1 dclick MyDoor overhead "*door slams!*" 0 MyDoor wait 1000 endif wait 2500 elseif OwnerInnRecall = 1 wait 500 say "Innkeeper, I need a room!" 2234 waitforgump 2393832411 gumpresponse 4 wait 1500 elseif CoOwnerInnRecall = 1 wait 500 say "Innkeeper, I need a room!" 2234 waitforgump 2393832411 gumpresponse 5 wait 500 gumpresponse 100 wait 1500 elseif InsideHouseRecall = 1 wait 1500 elseif BankRecall = 1 say "Open my bank!" 2234 wait 1000 else wait 1500 endif if EnableDispelSummonsAfterRecall = 1 and skill "Magery" >= 70 and mana >= 40 and findtype '3962' self and findtype '3972' self and findtype '3974' self and findtype '3980' self and IHAVEDIED != 1 and followers > 0 if findtype '3|158|14|740|16|306|13|24|15|9|722|727|730|215|211|302|317|225|212|202|213|716|729|51|74|214|206|776|737|718|739|718|29|776|317|302|39|56|26|3|57|50|382|717|736|270|a primordial whelp|an aegis rat|a scorpion|a wolf|a grizzly bear|a brown bear|a corpse eater|a familiar|a rock guar|a flamehound|a swamp spider|a firebat|a sand crab|a black bear|shallow water|a monitor hatchling|a muck|a cougar|a polar bear|a searing lizard|a monitor|a fire salamander|a fire ant|a winter wolf|a jaguar|an aegis mongbat|a silverback|a cave bat|Imp|a primordial|an asp|a cave bear|a giant swamp slug|a minion|an aegis slime|a trapdoor spider|a chameleon|a searing imp|a dragon whelp|a drake whelp|a blood ape|a devilbat|a wolfhound|an army ant|a ruby smallshell|a molten mongbat|an aquamarine smallshell|a stinger|a rime guar|an aegis scorpion|a skulker|a komodo|a shade wolf|a husk crab|a spitting viper|an aegis imp|a vampire bat|a fire minion|a snowdrift|a vampire|a skeleton|a zombie|a skeletal knight|a ghoul|a skeletal mage|a ghost|a skeletal marksman|a rotting flesh ground' -1 -1 2 as MyPet wait 500 cast "Mass Dispel" settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 2500 if timer AntiStallTimer > 2500 settimer AntiStallTimer 0 break endif wait 100 endwhile if EnableAutoRecallOverheadMessages = 1 overhead '[ RELEASING SUMMONS... ]' 22 endif target self wait 500 else if EnableAutoRecallOverheadMessages = 1 overhead '[ NO FOLLOWERS DETECTED! ]' 337 endif wait 500 endif endif if HideAtHomeorInn = 1 useskill "Hiding" endif clearignore @setvar! RecallScrollsOnly 0 if EnableResetInventoryAfterDeath = 1 and IHAVEDIED = 1 if EnableAutoRecallOverheadMessages = 1 overhead '[ RESETTING LOADOUT... ]' 77 wait 1500 endif endif if EnableLootChest = 1 dclick LootChest wait 500 endif while queued wait 100 endwhile if EnableStorageTomeContainer = 1 dclick TomeContainer wait 500 endif while queued wait 100 endwhile if IHAVEDIED != 1 if EnableLootBag = 1 and varexist LootBag if find LootBag self dclick LootBag wait 500 else if EnableAutoRecallOverheadMessages = 1 overhead '[ NO LOOT BAG! ]' 337 endif unsetvar LootBag endif endif if EnablePutLootinLockBox = 1 if findtype "wooden box" self as lockbox if findtype "copper key" self as key clearignore getlabel lockbox lockboxlabel wait 250 if "items" in lockboxlabel dclick lockbox wait 500 else dclick key wft 1500 target lockbox if EnableAutoRecallOverheadMessages = 1 overhead "[loot box unlocked]" 84 endif wait 500 dclick lockbox wait 250 if insysmsg "It appears to be locked." dclick key wft 1500 target lockbox wait 500 dclick lockbox wait 500 endif endif elseif EnableAutoRecallOverheadMessages = 1 overhead '[ NO LOCKBOX KEY! ]' 337 endif endif endif wait 500 if EnableSafeDeposit = 1 if findtype "bank deposit safe" ground -1 -1 2 as safe clearignore while findtype "gold coin" self as gold if findtype "wooden box" self as lockbox if findtype "copper key" self as key getlabel lockbox lockboxlabel if "items" in lockboxlabel wait 500 else dclick key wft 1500 target lockbox wait 250 if insysmsg "It appears to be locked." dclick key wft 1500 target lockbox wait 250 endif endif elseif EnableAutoRecallOverheadMessages = 1 overhead '[ NO LOCKBOX KEY! ]' 337 endif endif if EnableAutoRecallOverheadMessages = 1 overhead '[ DEPOSITING GOLD... ]' 149 else overhead " � " 149 endif menu safe 0 wait 500 endwhile while findtype 2539 self as dubs if EnableAutoRecallOverheadMessages = 1 overhead '[ DEPOSITING DUBS... ]' 149 else overhead " � " 149 endif menu safe 0 wait 500 endwhile elseif EnableAutoRecallOverheadMessages = 1 overhead '[ NO BANK SAFE FOUND ]' 337 wait 1500 endif endif if EnableMagicRecycler = 1 if findtype "ornate elven chest|magic item recycler" ground -1 -1 2 as recycler for 2 getlabel recycler recyclerdesc if EnableRecycleItemsWhenFull = 1 if "(125 items" in recyclerdesc dclick recycler waitforgump 4045111101 gumpresponse 7 waitforgump 4045111101 gumpresponse 6 waitforgump 4045111101 gumpresponse 6 if EnableAutoRecallOverheadMessages = 1 overhead '[ RECYCLING JUNK... ]' 66 else overhead " � " 66 endif wait 500 gumpclose 4045111101 if EnableResourceStockpile = 1 if findtype "resource container" ground -1 -1 2 as resource menu resource 0 wft 1500 target recycler wait 500 if EnableAutoRecallOverheadMessages = 1 overhead '[ PILING RESOURCES... ]' 84 else overhead " � " 84 endif wait 500 elseif EnableAutoRecallOverheadMessages = 1 overhead '[ NO RESOURCE STOCKPILE FOUND ]' 337 endif endif menu recycler 1 getlabel backpack backpacklabel if insysmsg "0 recyclable" break else if EnableAutoRecallOverheadMessages = 1 overhead '[ ADDING TO RECYCLER... ]' 6 else overhead " � " 6 endif wait 1500 endif endif endif menu recycler 1 wait 500 if insysmsg "0 recyclable" if EnableAutoRecallOverheadMessages = 1 and timer "InventoryCheck" > 5000 overhead '[ NO MAGIC LOOT! ]' 6 elseif timer "InventoryCheck" > 5000 overhead " � " 6 endif break else if EnableAutoRecallOverheadMessages = 1 overhead '[ ADDING TO RECYCLER... ]' 6 else overhead " � " 6 endif settimer "InventoryCheck" 0 wait 1500 endif wait 500 endfor elseif EnableAutoRecallOverheadMessages = 1 overhead '[ NO MAGIC ITEM RECYCLER FOUND ]' 337 endif endif if EnableLootChest = 1 dclick LootChest if EnableAutoRecallOverheadMessages = 1 overhead '[ STASHING LOOT... ]' 69 else overhead " � " 69 endif wait 500 for 2 hotkey "Organizer Agent-06" wait 250 hotkey "Organizer Agent-07" wait 250 hotkey "Organizer Agent-08" wait 250 hotkey "Organizer Agent-09" wait 250 endfor while queued wait 100 endwhile endif if EnableStorageTomes = 1 if EnableStorageTomeContainer = 1 dclick TomeContainer wait 500 endif 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 StorageTome while findtype "70142|70143|70144|70145|70158|70159|70160|70161|70162|70163|70164|70165|70166|70167|70168" ground -1 -1 2 as StorageTome menu StorageTome 0 if EnableAutoRecallOverheadMessages = 1 and timer "InventoryCheck" > 3500 overhead '[ STORING TOME ITEMS... ]' 2117 settimer "InventoryCheck" 0 elseif EnableAutoRecallOverheadMessages = 0 and timer "InventoryCheck" > 3500 overhead " � " 2117 settimer "InventoryCheck" 0 endif wait 250 @ignore StorageTome endwhile 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 StorageTome menu StorageTome 0 if EnableAutoRecallOverheadMessages = 1 and timer "InventoryCheck" > 3500 overhead '[ STORING TOME ITEMS... ]' 2117 settimer "InventoryCheck" 0 elseif EnableAutoRecallOverheadMessages = 0 and timer "InventoryCheck" > 3500 overhead " � " 2117 settimer "InventoryCheck" 0 endif wait 250 @ignore StorageTome endwhile @clearignore elseif EnableAutoRecallOverheadMessages = 1 overhead '[ NO STORAGE TOMES FOUND ]' 337 wait 1500 endif endif if EnableResourceStockpile = 1 if findtype "resource container" ground -1 -1 2 as resource menu resource 0 wft 500 target self if EnableAutoRecallOverheadMessages = 1 overhead '[ PILING RESOURCES... ]' 84 else overhead " � " 84 endif wait 1500 elseif EnableAutoRecallOverheadMessages = 1 overhead '[ NO RESOURCE STOCKPILE FOUND ]' 337 wait 1500 endif endif if EnableRepairBench = 1 if findtype "repair bench" ground -1 -1 3 as RepairBench clearsysmsg dclick RepairBench wait 500 if insysmsg "You do not have any items equipped or in your backpack in need of repairs." if EnableAutoRecallOverheadMessages = 1 overhead '[ NOTHING TO REPAIR! ]' 0 endif wait 1500 else if EnableAutoRecallOverheadMessages = 1 overhead '[ REPAIRING EQUIPMENT... ]' 339 else overhead " � " 339 endif settimer RepairTimer 0 while timer RepairTimer <= 5000 if insysmsg "Repair" break endif endwhile if EnableAutoRecallOverheadMessages = 1 overhead '[ ITEMS REPAIRED! ]' 0 wait 500 overhead "Repair took: {{RepairTimer}}ms" 77 else overhead " � " 0 endif removetimer RepairTimer wait 500 endif elseif EnableAutoRecallOverheadMessages = 1 overhead '[ NO REPAIR BENCH FOUND ]' 337 wait 1500 endif endif endif wait 500 if EnableStorageShelf = 1 if findtype "storage shelf" ground -1 -1 2 as shelf if IHAVEDIED != 1 menu shelf 0 wft 500 target self if EnableAutoRecallOverheadMessages = 1 overhead '[ STORING GOODS... ]' 2114 else overhead " � " 2114 endif wait 500 gumpclose 3232825965 wait 1000 endif menu shelf 1 if EnableAutoRecallOverheadMessages = 1 overhead '[ RESUPPLYING... ]' 93 wait 500 else overhead " � " 93 endif wait 1000 elseif EnableAutoRecallOverheadMessages = 1 overhead '[ NO STORAGE SHELF FOUND ]' 337 wait 1500 endif endif if EnableResetInventoryAfterDeath = 1 and IHAVEDIED = 1 clearignore if not varexist maininventorybag or not find maininventorybag self overhead '[ SELECT MAIN POUCH... ]' 253 @setvar! maininventorybag wft 500 while targetexists wait 100 endwhile overhead '[ MAIN POUCH SET! ]' 93 wait 500 endif lift maininventorybag wait 500 drop backpack 69 69 0 wait 500 if EnableSetMainPouchOrganizer01 = 1 hotkey 'Set Organizer Hotbag-01' wft 1000 target maininventorybag if EnableAutoRecallOverheadMessages = 1 overhead '[ POUCH SET TO AGENT-01! ]' 84 endif wait 500 endif dclick maininventorybag wait 1000 sysmsg "Auto-selecting your loot/grab bag..." 0 hotkey 'Set Grab Item Hotbag' wft 1500 while targetexists if findtype 'bag' self as grabbag target grabbag wait 500 else wait 1000 sysmsg "Auto-select failed! Please manually target your loot/grab bag!" 0 wait 1000 overhead '[ SELECT GRAB BAG... ]' 253 wait 3500 endif wait 500 endwhile overhead '[ GRAB BAG SET! ]' 93 wait 500 if EnableLootBag = 1 if not find LootBag self wait 500 overhead "Select your new loot bag..." 253 wait 500 @setvar! LootBag wait 500 while targetexists wait 100 endwhile endif endif if find grabbag self lift grabbag wait 500 drop maininventorybag -1 -1 -1 wait 500 endif while findtype 'scissors' self if skill 'healing' > 0 and hp < maxhp and not bandaging if findtype 'clean bandage%s%' self hotkey 'Bandage Self' if EnableAutoRecallOverheadMessages = 1 overhead '[ BANDAGING... ]' 88 endif else if EnableAutoRecallOverheadMessages = 1 overhead '[ NO BANDAGES! ]' 337 endif endif endif if findtype 'scissors' backpack as myscissors if findtype 'pouch' self as trappedpouch lift myscissors wait 250 drop trappedpouch wait 750 lift trappedpouch wait 250 drop backpack 69 69 0 @ignore trappedpouch @ignore myscissors endif endif wait 500 while queued wait 100 endwhile endwhile clearignore while findtype 'pouch' backpack as decoypouch getlabel decoypouch decoypouchlabel wait 250 if '(1 items' in decoypouchlabel lift decoypouch drop backpack 97 97 0 break else @ignore decoypouch endif endwhile if findtype 'atlas' backpack as hidemypouchstack lift hidemypouchstack drop backpack 72 66 0 wait 500 else say "[atlas" wait 500 if findtype 'atlas' backpack as hidemypouchstack lift hidemypouchstack drop backpack 72 66 0 wait 500 endif endif if EnableAutoRecallOverheadMessages = 1 overhead '[ ACTIVATING ASPECT... ]' 2234 wait 500 endif say "[aspect" waitforgump 2424293173 gumpresponse 13 wait 500 gumpresponse 13 wait 250 gumpresponse 17 wait 500 gumpresponse 17 wait 250 gumpclose 2424293173 wait 500 if skill 'magery' >= 60 and hp < maxhp and mana >= 11 and not casting while hp < maxhp cast 'greater heal' settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 2500 if timer AntiStallTimer > 2500 settimer AntiStallTimer 0 break endif wait 100 endwhile target 'self' wait 500 endwhile endif if findtype "storage shelf" ground -1 -1 2 as shelf menu shelf 1 wait 500 endif if find maininventorybag self dclick maininventorybag wait 500 endif if findtype 'alchemists satchel' self as BagofPot dclick BagofPot wait 500 endif if findtype 'reagent satchel' self as WizardBag dclick WizardBag wait 500 endif if find grabbag self dclick grabbag wait 500 endif clearignore @setvar! IHAVEDIED 0 overhead '[ RESET COMPLETE! ]' 69 wait 500 endif if EnableUsePotionKegs = 1 and findtype 'empty bottle%s%' self and findtype 'keg' self and timer 'PotionKegPVPCooldown' > 30000 @setvar! PotionStockCheck 0 while PotionStockCheck < 8 and findtype 'empty bottle%s%' self if PotionStockCheck = 0 if HealingPotionAmount = 0 @setvar! PotionStockCheck 1 else @setvar! PotionType 3852 @setvar! KegColour 253 @setvar! PotionAmounttoFill HealingPotionAmount @setvar! PotionStockCheck 1 endif elseif PotionStockCheck = 1 if CurePotionAmount = 0 @setvar! PotionStockCheck 2 else @setvar! PotionType 3847 @setvar! KegColour 44 @setvar! PotionAmounttoFill CurePotionAmount @setvar! PotionStockCheck 2 endif elseif PotionStockCheck = 2 if RefreshPotionAmount = 0 @setvar! PotionStockCheck 3 else @setvar! PotionType 3851 @setvar! KegColour 37 @setvar! PotionAmounttoFill RefreshPotionAmount @setvar! PotionStockCheck 3 endif elseif PotionStockCheck = 3 if StrengthPotionAmount = 0 @setvar! PotionStockCheck 4 else @setvar! PotionType 3849 @setvar! KegColour 956 @setvar! PotionAmounttoFill StrengthPotionAmount @setvar! PotionStockCheck 4 endif elseif PotionStockCheck = 4 if AgilityPotionAmount = 0 @setvar! PotionStockCheck 5 else @setvar! PotionType 3848 @setvar! KegColour 93 @setvar! PotionAmounttoFill AgilityPotionAmount @setvar! PotionStockCheck 5 endif elseif PotionStockCheck = 5 if ResistPotionAmount = 0 @setvar! PotionStockCheck 6 else @setvar! PotionType 3846 @setvar! KegColour 1109 @setvar! PotionAmounttoFill ResistPotionAmount @setvar! PotionStockCheck 6 endif elseif PotionStockCheck = 6 if PoisonPotionAmount = 0 @setvar! PotionStockCheck 7 else @setvar! PotionType 3850 @setvar! KegColour 363 @setvar! PotionAmounttoFill PoisonPotionAmount @setvar! PotionStockCheck 7 endif elseif PotionStockCheck = 7 if ExplosionPotionAmount = 0 @setvar! PotionStockCheck 8 else @setvar! PotionType 3853 @setvar! KegColour 419 @setvar! PotionAmounttoFill ExplosionPotionAmount @setvar! PotionStockCheck 8 endif else break endif while counttype PotionType self < PotionAmounttoFill if not findtype 'empty bottle%s%' self if EnableAutoRecallOverheadMessages = 1 and timer 'PotionKegTimer' > 5000 overhead '[ NO EMPTY BOTTLES... ]' 337 settimer 'PotionKegTimer' 0 endif break endif if diffhits > HealPotionHPdiff break endif if findtype 'keg' self KegColour as myKeg dclick myKeg wait 250 if EnableAutoRecallOverheadMessages = 1 if timer 'PotionKegTimer' > 2000 overhead '[ FILLING POTS... ]' KegColour settimer 'PotionKegTimer' 0 endif endif else if EnableAutoRecallOverheadMessages = 1 and timer 'PotionKegTimer' > 5000 overhead '[ NO KEG TO USE... ]' KegColour settimer 'PotionKegTimer' 0 endif break endif if insysmsg "You have been in combat with another player" settimer "PotionKegPVPCooldown" 0 break endif endwhile if counttype PotionType self < PotionAmounttoFill and not findtype 'empty bottle%s%' self if EnableAutoRecallOverheadMessages = 1 and timer 'PotionKegTimer' > 5000 overhead '[ NO EMPTY BOTTLES... ]' 337 settimer 'PotionKegTimer' 0 endif break endif endwhile endif if EnableReagentSplitter = 1 if findtype "reagent satchel" self as MyWizardBag while findtype "reagent satchel" self as MyWizardBag getlabel MyWizardBag MyWizardBaglabel wait 500 if "decorative" in MyWizardBaglabel @ignore MyWizardBag wait 500 else break endif endwhile dclick MyWizardBag wait 500 if EnableAutoRecallOverheadMessages = 1 overhead '[ SPLITTING REGS... ]' 2338 endif # Spiders Silk @setvar! ReagentStack 0 @setvar! ReagentSerial 3981 @setvar! ReagentCount 0 while findtype ReagentSerial self as regs @setvar! ReagentCount index @ignore regs endwhile @clearignore if counttype ReagentSerial self <= 10 @setvar! ReagentStack 2 elseif counttype ReagentSerial self <= 20 @setvar! ReagentStack 4 elseif counttype ReagentSerial self <= 50 @setvar! ReagentStack 10 elseif counttype ReagentSerial self <= 100 @setvar! ReagentStack 20 elseif counttype ReagentSerial self <= 150 @setvar! ReagentStack 30 elseif counttype ReagentSerial self <= 200 @setvar! ReagentStack 40 else @setvar! ReagentStack 50 endif while findtype ReagentSerial self as regs @setvar! moveRegs 0 if ReagentCount = 0 @setvar! moveRegs 1 elseif ReagentCount != 0 and not find regs MyWizardBag @setvar! moveRegs 1 endif if moveRegs = 1 if index = 0 lift regs ReagentStack drop MyWizardBag 44 65 0 wait 150 elseif index = 1 lift regs ReagentStack drop MyWizardBag 68 65 0 wait 150 elseif index = 2 lift regs ReagentStack drop MyWizardBag 96 65 0 wait 150 elseif index = 3 lift regs ReagentStack drop MyWizardBag 121 65 0 wait 150 else lift regs ReagentStack drop MyWizardBag 142 65 0 wait 150 endif endif @ignore regs if moveRegs = 1 wait 500 endif endwhile if EnableAutoRecallOverheadMessages = 1 overhead '[ SPLITTING REGS... ]' 3 endif # Black Pearl @setvar! ReagentSerial 3962 @setvar! ReagentCount 0 while findtype ReagentSerial self as regs @setvar! ReagentCount index @ignore regs endwhile @clearignore if counttype ReagentSerial self <= 10 @setvar! ReagentStack 2 elseif counttype ReagentSerial self <= 20 @setvar! ReagentStack 4 elseif counttype ReagentSerial self <= 50 @setvar! ReagentStack 10 elseif counttype ReagentSerial self <= 100 @setvar! ReagentStack 20 elseif counttype ReagentSerial self <= 150 @setvar! ReagentStack 30 elseif counttype ReagentSerial self <= 200 @setvar! ReagentStack 40 else @setvar! ReagentStack 50 endif while findtype ReagentSerial self as regs @setvar! moveRegs 0 if ReagentCount = 0 @setvar! moveRegs 1 elseif ReagentCount != 0 and not find regs MyWizardBag @setvar! moveRegs 1 endif if moveRegs = 1 if index = 0 lift regs ReagentStack drop MyWizardBag 44 76 0 wait 150 elseif index = 1 lift regs ReagentStack drop MyWizardBag 68 76 0 wait 150 elseif index = 2 lift regs ReagentStack drop MyWizardBag 96 76 0 wait 150 elseif index = 3 lift regs ReagentStack drop MyWizardBag 121 76 0 wait 150 else lift regs ReagentStack drop MyWizardBag 142 76 0 wait 150 endif endif @ignore regs if moveRegs = 1 wait 500 endif endwhile if EnableAutoRecallOverheadMessages = 1 overhead '[ SPLITTING REGS... ]' 363 endif # Nightshade @setvar! ReagentSerial 3976 @setvar! ReagentCount 0 while findtype ReagentSerial self as regs @setvar! ReagentCount index @ignore regs endwhile @clearignore if counttype ReagentSerial self <= 10 @setvar! ReagentStack 2 elseif counttype ReagentSerial self <= 20 @setvar! ReagentStack 4 elseif counttype ReagentSerial self <= 50 @setvar! ReagentStack 10 elseif counttype ReagentSerial self <= 100 @setvar! ReagentStack 20 elseif counttype ReagentSerial self <= 150 @setvar! ReagentStack 30 elseif counttype ReagentSerial self <= 200 @setvar! ReagentStack 40 else @setvar! ReagentStack 50 endif while findtype ReagentSerial self as regs @setvar! moveRegs 0 if ReagentCount = 0 @setvar! moveRegs 1 elseif ReagentCount != 0 and not find regs MyWizardBag @setvar! moveRegs 1 endif if moveRegs = 1 if index = 0 lift regs ReagentStack drop MyWizardBag 44 88 0 wait 150 elseif index = 1 lift regs ReagentStack drop MyWizardBag 68 88 0 wait 150 elseif index = 2 lift regs ReagentStack drop MyWizardBag 96 88 0 wait 150 elseif index = 3 lift regs ReagentStack drop MyWizardBag 121 88 0 wait 150 else lift regs ReagentStack drop MyWizardBag 142 88 0 wait 150 endif endif @ignore regs if moveRegs = 1 wait 500 endif endwhile if EnableAutoRecallOverheadMessages = 1 overhead '[ SPLITTING REGS... ]' 442 endif # Mandrake Root @setvar! ReagentSerial 3974 @setvar! ReagentCount 0 while findtype ReagentSerial self as regs @setvar! ReagentCount index @ignore regs endwhile @clearignore if counttype ReagentSerial self <= 10 @setvar! ReagentStack 2 elseif counttype ReagentSerial self <= 20 @setvar! ReagentStack 4 elseif counttype ReagentSerial self <= 50 @setvar! ReagentStack 10 elseif counttype ReagentSerial self <= 100 @setvar! ReagentStack 20 elseif counttype ReagentSerial self <= 150 @setvar! ReagentStack 30 elseif counttype ReagentSerial self <= 200 @setvar! ReagentStack 40 else @setvar! ReagentStack 50 endif while findtype ReagentSerial self as regs @setvar! moveRegs 0 if ReagentCount = 0 @setvar! moveRegs 1 elseif ReagentCount != 0 and not find regs MyWizardBag @setvar! moveRegs 1 endif if moveRegs = 1 if index = 0 lift regs ReagentStack drop MyWizardBag 44 100 0 wait 150 elseif index = 1 lift regs ReagentStack drop MyWizardBag 68 100 0 wait 150 elseif index = 2 lift regs ReagentStack drop MyWizardBag 96 100 0 wait 150 elseif index = 3 lift regs ReagentStack drop MyWizardBag 121 100 0 wait 150 else lift regs ReagentStack drop MyWizardBag 142 100 0 wait 150 endif endif @ignore regs if moveRegs = 1 wait 500 endif endwhile if EnableAutoRecallOverheadMessages = 1 overhead '[ SPLITTING REGS... ]' 153 endif # Sulfurous Ash @setvar! ReagentSerial 3980 @setvar! ReagentCount 0 while findtype ReagentSerial self as regs @setvar! ReagentCount index @ignore regs endwhile @clearignore if counttype ReagentSerial self <= 10 @setvar! ReagentStack 2 elseif counttype ReagentSerial self <= 20 @setvar! ReagentStack 4 elseif counttype ReagentSerial self <= 50 @setvar! ReagentStack 10 elseif counttype ReagentSerial self <= 100 @setvar! ReagentStack 20 elseif counttype ReagentSerial self <= 150 @setvar! ReagentStack 30 elseif counttype ReagentSerial self <= 200 @setvar! ReagentStack 40 else @setvar! ReagentStack 50 endif while findtype ReagentSerial self as regs @setvar! moveRegs 0 if ReagentCount = 0 @setvar! moveRegs 1 elseif ReagentCount != 0 and not find regs MyWizardBag @setvar! moveRegs 1 endif if moveRegs = 1 if index = 0 lift regs ReagentStack drop MyWizardBag 44 112 0 wait 150 elseif index = 1 lift regs ReagentStack drop MyWizardBag 68 112 0 wait 150 elseif index = 2 lift regs ReagentStack drop MyWizardBag 96 112 0 wait 150 elseif index = 3 lift regs ReagentStack drop MyWizardBag 121 112 0 wait 150 else lift regs ReagentStack drop MyWizardBag 142 112 0 wait 150 endif endif @ignore regs if moveRegs = 1 wait 500 endif endwhile if EnableAutoRecallOverheadMessages = 1 overhead '[ SPLITTING REGS... ]' 247 endif # Giseng @setvar! ReagentSerial 3973 @setvar! ReagentCount 0 while findtype ReagentSerial self as regs @setvar! ReagentCount index @ignore regs endwhile @clearignore if counttype ReagentSerial self <= 10 @setvar! ReagentStack 2 elseif counttype ReagentSerial self <= 20 @setvar! ReagentStack 4 elseif counttype ReagentSerial self <= 50 @setvar! ReagentStack 10 elseif counttype ReagentSerial self <= 100 @setvar! ReagentStack 20 elseif counttype ReagentSerial self <= 150 @setvar! ReagentStack 30 elseif counttype ReagentSerial self <= 200 @setvar! ReagentStack 40 else @setvar! ReagentStack 50 endif while findtype ReagentSerial self as regs @setvar! moveRegs 0 if ReagentCount = 0 @setvar! moveRegs 1 elseif ReagentCount != 0 and not find regs MyWizardBag @setvar! moveRegs 1 endif if moveRegs = 1 if index = 0 lift regs ReagentStack drop MyWizardBag 44 124 0 wait 150 elseif index = 1 lift regs ReagentStack drop MyWizardBag 68 124 0 wait 150 elseif index = 2 lift regs ReagentStack drop MyWizardBag 96 124 0 wait 150 elseif index = 3 lift regs ReagentStack drop MyWizardBag 121 124 0 wait 150 else lift regs ReagentStack drop MyWizardBag 142 124 0 wait 150 endif endif @ignore regs if moveRegs = 1 wait 500 endif endwhile if EnableAutoRecallOverheadMessages = 1 overhead '[ SPLITTING REGS... ]' 33 endif # Bloodmoss @setvar! ReagentSerial 3963 @setvar! ReagentCount 0 while findtype ReagentSerial self as regs @setvar! ReagentCount index @ignore regs endwhile @clearignore if counttype ReagentSerial self <= 10 @setvar! ReagentStack 2 elseif counttype ReagentSerial self <= 20 @setvar! ReagentStack 4 elseif counttype ReagentSerial self <= 50 @setvar! ReagentStack 10 elseif counttype ReagentSerial self <= 100 @setvar! ReagentStack 20 elseif counttype ReagentSerial self <= 150 @setvar! ReagentStack 30 elseif counttype ReagentSerial self <= 200 @setvar! ReagentStack 40 else @setvar! ReagentStack 50 endif while findtype ReagentSerial self as regs @setvar! moveRegs 0 if ReagentCount = 0 @setvar! moveRegs 1 elseif ReagentCount != 0 and not find regs MyWizardBag @setvar! moveRegs 1 endif if moveRegs = 1 if index = 0 lift regs ReagentStack drop MyWizardBag 44 136 0 wait 150 elseif index = 1 lift regs ReagentStack drop MyWizardBag 68 136 0 wait 150 elseif index = 2 lift regs ReagentStack drop MyWizardBag 96 136 0 wait 150 elseif index = 3 lift regs ReagentStack drop MyWizardBag 121 136 0 wait 150 else lift regs ReagentStack drop MyWizardBag 142 136 0 wait 150 endif endif @ignore regs if moveRegs = 1 wait 500 endif endwhile if EnableAutoRecallOverheadMessages = 1 overhead '[ SPLITTING REGS... ]' 646 endif # Garlic @setvar! ReagentSerial 3972 @setvar! ReagentCount 0 while findtype ReagentSerial self as regs @setvar! ReagentCount index @ignore regs endwhile @clearignore if counttype ReagentSerial self <= 10 @setvar! ReagentStack 2 elseif counttype ReagentSerial self <= 20 @setvar! ReagentStack 4 elseif counttype ReagentSerial self <= 50 @setvar! ReagentStack 10 elseif counttype ReagentSerial self <= 100 @setvar! ReagentStack 20 elseif counttype ReagentSerial self <= 150 @setvar! ReagentStack 30 elseif counttype ReagentSerial self <= 200 @setvar! ReagentStack 40 else @setvar! ReagentStack 50 endif while findtype ReagentSerial self as regs @setvar! moveRegs 0 if ReagentCount = 0 @setvar! moveRegs 1 elseif ReagentCount != 0 and not find regs MyWizardBag @setvar! moveRegs 1 endif if moveRegs = 1 if index = 0 lift regs ReagentStack drop MyWizardBag 44 148 0 wait 150 elseif index = 1 lift regs ReagentStack drop MyWizardBag 68 148 0 wait 150 elseif index = 2 lift regs ReagentStack drop MyWizardBag 96 148 0 wait 150 elseif index = 3 lift regs ReagentStack drop MyWizardBag 121 148 0 wait 150 else lift regs ReagentStack drop MyWizardBag 142 148 0 wait 150 endif endif @ignore regs if moveRegs = 1 wait 500 endif endwhile else if EnableAutoRecallOverheadMessages = 1 overhead '[ NO WIZARD BAG! ]' 337 wait 500 endif endif endif overhead '[ SCRIPT COMPLETE! ]' 88 hotkey "Organizer Agent-01" @setvar! IHAVEDIED 0 @setvar! DisableVacuums 0 @setvar! RedTargetFound 0 stop endif ////////////////////////// // END AUTO RECALL // ////////////////////////// //////////////////////// // CHECKS: // //////////////////////// if EnableTrackingAutoRecall = 1 and AttackModeActive != 2 if PKTrackingRange = 60 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 clearsysmsg replay endif elseif PKTrackingRange = 50 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 clearsysmsg replay endif elseif PKTrackingRange = 40 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 clearsysmsg replay endif elseif PKTrackingRange = 0 if insysmsg "Now tracking" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 clearsysmsg replay endif endif endif if EnablePKradar = 1 and AttackModeActive != 2 if timer "PKRadarTimer" > 1500 clearsysmsg hotkey 'Next Murderer Player Target' wait 250 if insysmsg "No one matching that was found" settimer "PKRadarTimer" 0 clearsysmsg else hotkey 'Toggle Peace Only' @setvar! RedTargetFound 1 @setvar! TimeToGo 1 @setvar! MurdererTarget lasttarget replay endif endif endif if dead break endif if EnableEatingFood = 1 and AttackModeActive != 2 if not findbuff 'food satisfaction' if findtype "tray" self as Food if EnableOverheadMessages = 1 overhead '[ EATING FOOD... ]' 88 endif dclick Food wait 250 else if timer EatFoodMessageTimer > 4000 if EnableOverheadMessages = 1 overhead '[ NO FOOD FOUND ]' 337 settimer EatFoodMessageTimer 0 endif endif endif endif endif if EnableGoldVacuum = 1 and DisableVacuums != 1 and AttackModeActive != 2 if findtype "gold coin" ground -1 -1 15 as droppedmoney and timer "GoldRadar" > 3500 overhead " � " 149 droppedmoney settimer "GoldRadar" 0 endif while findtype "gold coin" ground -1 -1 2 as droppedmoney and diffhits < CastGreaterHealHPdiff overhead " � " 149 hotkey "Grab Item" wft 2500 target droppedmoney wait 250 if dead break endif if diffhits >= CastGreaterHealHPdiff @setvar! AttackModeActive 1 break endif if insysmsg "Invalid or inaccessible item" wait 500 @ignore droppedmoney endif wait 250 endwhile endif if EnableDungeonCleanup = 1 and diffhits < CastGreaterHealHPdiff and AttackModeActive != 2 while findtype "iron ingot%s|board%s|cut up leather|3972|3962|3963|3980|3976|3973|3974|3981" ground -1 -1 2 as item if EnableOverheadMessages = 1 if timer "DungeonCleanup" > 1500 overhead '[ CLEANUP... ]' 420 settimer "DungeonCleanup" 0 endif else if timer "DungeonCleanup" > 1500 overhead ' � ' 420 settimer "DungeonCleanup" 0 endif endif hotkey "Grab Item" wft 1000 target item wait 500 if dead break endif if diffhits >= CastGreaterHealHPdiff @setvar! AttackModeActive 1 break endif endwhile 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" > 3500 overhead "�" 420 dungeonjunk settimer "DungeonCleanupRadar" 0 endif endif if counttype 29012 self = 0 and EnableMagicMushroomMaker = 1 and AttackModeActive != 2 while counttype 29012 self < MakeMushroomAmount and mana > 3 and diffhits < CastGreaterHealHPdiff if timer 'MushroomMakerTimer' > 4500 overhead '[ MAKING SHROOMS... ]' 419 settimer 'MushroomMakerTimer' 0 endif if not casting cast 'create food' wait 500 endif if diffhits > CastGreaterHealHPdiff break endif endwhile endif if TotalSummonCount > 5 overhead '[ ERROR! ]' 37 sysmsg "Error Max Followers > 5: Check your followers settings!" 253 wait 2500 overhead '[ STOPPING SCRIPT! ]' 88 sysmsg "Stopping script..." 0 stop endif if timer 'OrganizerAgentTimer' > 30000 and AttackModeActive != 2 hotkey "Organizer Agent-01" settimer 'OrganizerAgentTimer' 0 endif if EnableEatMagicMushrooms = 1 if diffmana > EatMushroomManadiff and timer MushroomTimer > 60000 if counttype 29012 backpack dclicktype 29012 backpack getlabel backpack packdesc wait 250 if insysmsg "You consume a magic mushroom" settimer MushroomTimer 0 cooldown "Mushroom" 60000 if EnableOverheadMessages = 1 overhead '[ EATING SHROOMS... ]' 13 endif endif elseif EnableOverheadMessages = 1 overhead '[ OUT OF SHROOMS! ]' 337 endif endif endif if EnableSpellbookCheck = 1 and not findtype "spellbook" hand if findtype "spellbook" self as mySpellbook for 5 if findtype "spellbook" self as mySpellbook getlabel mySpellbook mySpellbooklabel wait 250 if "aspect" in mySpellbooklabel break elseif "unidentified" in mySpellbooklabel ignore mySpellbook elseif "[blessed" in mySpellbooklabel ignore mySpellbook elseif "spells" in mySpellbooklabel ignore mySpellbook else break endif endif endfor dclick mySpellbook clearignore wait 500 else if timer "SpellbookCheck" > 5000 and EnableOverheadMessages = 1 overhead '[ NO SPELLBOOK! ]' 337 settimer "SpellbookCheck" 0 endif endif endif if EnableAutoCrookCheck = 1 if skill 'herding' > 50 and timer CrookCheckTimer > 10000 if findtype "shepherd's crook" self # ' if listexists CrooksToUnignore removelist CrooksToUnignore endif createlist CrooksToUnignore for 5 if findtype "shepherd's crook" self as myCrook # ' getlabel myCrook crooklabel wait 250 if 'activated' in crooklabel break elseif 'unidentified' in crooklabel pushlist CrooksToUnignore myCrook @ignore myCrook else if followers > 0 if EnableOverheadMessages = 1 overhead "[ ACTIVATING CROOK! ]" 2114 else overhead "*crook activated*" 2114 endif dclick myCrook wait 250 break endif endif wait 250 endif endfor foreach CrookToUnignore in CrooksToUnignore @unignore CrookToUnignore endfor removelist CrooksToUnignore elseif not findtype "shepherd's crook" self # ' if EnableOverheadMessages != 0 if timer CrookCheckOverheadTimer > 15000 overhead "[ NO CROOK FOUND! ]" 337 settimer CrookCheckOverheadTimer 0 endif endif endif settimer CrookCheckTimer 0 endif endif if EnableAutoCarving = 1 and findtype 11552 self and AttackModeActive != 2 while findtype "corpse" ground -1 -1 2 as deadbody and diffhits < CastGreaterHealHPdiff settimer SkinningTimeoutTimer 0 if findtype 11552 self if targetexists hotkey 'cancel current target' endif while not targetexists skill 'forensicevaluation' getlabel backpack backpacklabel endwhile clearsysmsg if targetexists and find deadbody ground -1 -1 2 target 'self' @ignore deadbody getlabel backpack backpacklabel endif if insysmsg "You dont see anything nearby" clearsysmsg break else if EnableOverheadMessages = 1 and timer SkinningTimer > 3000 overhead '[ SKINNING... ]' 333 settimer SkinningTimer 0 endif break endif else if EnableOverheadMessages = 1 and timer SkinningTimer > 15000 overhead '[ NO SKINNING KNIFE ]' 337 settimer SkinningTimer 0 break endif endif if timer SkinningTimeoutTimer > 1500 or diffhits > CastGreaterHealHPdiff break endif endwhile endif if targetexists if findtype " Elven Spellblade" self targettype "Elven Spellblade" else hotkey 'Cancel current target' endif endif if EnableUsePotionKegs = 1 and findtype 'empty bottle%s%' self and findtype 'keg' self and timer 'PotionKegPVPCooldown' > 30000 and AttackModeActive != 2 @setvar! PotionStockCheck 0 while PotionStockCheck < 8 and findtype 'empty bottle%s%' self if PotionStockCheck = 0 if HealingPotionAmount = 0 @setvar! PotionStockCheck 1 else @setvar! PotionType 3852 @setvar! KegColour 253 @setvar! PotionAmounttoFill HealingPotionAmount @setvar! PotionStockCheck 1 endif elseif PotionStockCheck = 1 if CurePotionAmount = 0 @setvar! PotionStockCheck 2 else @setvar! PotionType 3847 @setvar! KegColour 44 @setvar! PotionAmounttoFill CurePotionAmount @setvar! PotionStockCheck 2 endif elseif PotionStockCheck = 2 if RefreshPotionAmount = 0 @setvar! PotionStockCheck 3 else @setvar! PotionType 3851 @setvar! KegColour 37 @setvar! PotionAmounttoFill RefreshPotionAmount @setvar! PotionStockCheck 3 endif elseif PotionStockCheck = 3 if StrengthPotionAmount = 0 @setvar! PotionStockCheck 4 else @setvar! PotionType 3849 @setvar! KegColour 956 @setvar! PotionAmounttoFill StrengthPotionAmount @setvar! PotionStockCheck 4 endif elseif PotionStockCheck = 4 if AgilityPotionAmount = 0 @setvar! PotionStockCheck 5 else @setvar! PotionType 3848 @setvar! KegColour 93 @setvar! PotionAmounttoFill AgilityPotionAmount @setvar! PotionStockCheck 5 endif elseif PotionStockCheck = 5 if ResistPotionAmount = 0 @setvar! PotionStockCheck 6 else @setvar! PotionType 3846 @setvar! KegColour 1109 @setvar! PotionAmounttoFill ResistPotionAmount @setvar! PotionStockCheck 6 endif elseif PotionStockCheck = 6 if PoisonPotionAmount = 0 @setvar! PotionStockCheck 7 else @setvar! PotionType 3850 @setvar! KegColour 363 @setvar! PotionAmounttoFill PoisonPotionAmount @setvar! PotionStockCheck 7 endif elseif PotionStockCheck = 7 if ExplosionPotionAmount = 0 @setvar! PotionStockCheck 8 else @setvar! PotionType 3853 @setvar! KegColour 419 @setvar! PotionAmounttoFill ExplosionPotionAmount @setvar! PotionStockCheck 8 endif else break endif while counttype PotionType self < PotionAmounttoFill if not findtype 'empty bottle%s%' self if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 5000 overhead '[ NO EMPTY BOTTLES... ]' 337 settimer 'PotionKegTimer' 0 endif break endif if diffhits > HealPotionHPdiff break endif if findtype 'keg' self KegColour as myKeg dclick myKeg wait 250 if EnableOverheadMessages = 1 if timer 'PotionKegTimer' > 2000 overhead '[ FILLING POTS... ]' KegColour settimer 'PotionKegTimer' 0 endif endif else if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 5000 overhead '[ NO KEG TO USE... ]' KegColour settimer 'PotionKegTimer' 0 endif break endif if insysmsg "You have been in combat with another player" settimer "PotionKegPVPCooldown" 0 break endif endwhile if counttype PotionType self < PotionAmounttoFill and not findtype 'empty bottle%s%' self if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 5000 overhead '[ NO EMPTY BOTTLES... ]' 337 settimer 'PotionKegTimer' 0 endif break endif endwhile endif //////////////////////// // BEGIN SUMMONING: // //////////////////////// while warmode and followers < TotalSummonCount and diffhits < CastGreaterHealHPdiff and mana > 50 @setvar! CastingWasInterrupted 0 if not warmode break endif if dead break endif if diffhits > CastGreaterHealHPdiff break endif if counttype 29012 self = 0 and EnableMagicMushroomMaker = 1 while counttype 29012 self < MakeMushroomAmount and mana > 3 and diffhits < CastGreaterHealHPdiff if timer 'MushroomMakerTimer' > 4500 overhead '[ MAKING SHROOMS... ]' 419 settimer 'MushroomMakerTimer' 0 endif if not casting cast 'create food' wait 500 endif if diffhits > CastGreaterHealHPdiff break endif endwhile endif if EnableEatMagicMushrooms = 1 if diffmana > EatMushroomManadiff and MakeMushroomAmount > 0 and timer MushroomTimer > 60000 if counttype 29012 backpack dclicktype 29012 backpack getlabel backpack packdesc wait 250 if insysmsg "You consume a magic mushroom" settimer MushroomTimer 0 cooldown "Mushroom" 60000 if EnableOverheadMessages = 1 overhead '[ EATING SHROOMS... ]' 13 else overhead '*eating shrooms...*' 13 endif endif else if EnableOverheadMessages = 1 overhead '[ OUT OF SHROOMS! ]' 337 endif endif endif endif if EnableMeditation = 0 and mana < 50 break elseif EnableMeditation = 1 and mana < MeditateWhenManaBelow and not findbuff "meditating" and timer 'MeditationTimer' > 10000 skill 'meditation' getlabel backpack packdesc wait 250 if not findbuff 'meditating' settimer 'MeditationTimer' 7500 elseif findbuff 'meditating' hotkey 'Toggle Peace Only' wait 250 settimer 'MeditationTimer' 0 while mana < maxmana and diffhits < CastGreaterHealHPdiff if not findbuff 'meditating' hotkey 'Toggle War Only' break endif if mana > MeditateUntilManaReaches hotkey 'Toggle War Only' break endif if warmode on break endif if diffhits > CastGreaterHealHPdiff break endif if dead break endif if timer 'MeditationMessageTimer' > 4000 if EnableOverheadMessages = 1 overhead '[ MEDITATING... ]' 11 else overhead "*meditating*" 11 endif settimer 'MeditationMessageTimer' 0 endif endwhile if diffhits > CastGreaterHealHPdiff break endif if dead break endif if not warmode and TimeToGo != 1 hotkey 'Toggle War Only' endif endif elseif EnableMeditation != 1 and mana < 50 if timer MissingRegsTimer > 4000 if EnableOverheadMessages != 0 overhead '[ WAITING FOR MANA... ]' 420 settimer MissingRegsTimer 0 endif endif endif if EnableSpellbookCheck = 1 and not findtype "spellbook" hand if findtype "spellbook" self for 5 if findtype "spellbook" self as mySpellbook getlabel mySpellbook mySpellbooklabel wait 250 if "aspect" in mySpellbooklabel break elseif "unidentified" in mySpellbooklabel ignore mySpellbook elseif "blessed" in mySpellbooklabel ignore mySpellbook elseif "spells" in mySpellbooklabel ignore mySpellbook else break endif endif endfor dclick mySpellbook clearignore wait 250 else if timer "SpellbookCheck" > 5000 and EnableOverheadMessages = 1 overhead '[ NO SPELLBOOK! ]' 337 settimer "SpellbookCheck" 0 endif endif endif if SummoningEarth = 1 and followers > 1 while findtype 158|14 ground -1 -1 12 as MyPet menu MyPet 1 wait 500 if MyPet != EarthFirstEle and MyPet != EarthSecondEle hotkey 'cancel current target' if EarthFirstEle = 0 @setvar! EarthFirstEle MyPet if NameSummonedPets = 1 foreach myEleName in EarthEleAncientMummNamesList wait 250 rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist EarthEleAncientMummNamesList "front" wait 500 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif wait 500 poplist EarthEleAncientMummNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ EARTH ONE ]' 349 MyPet endif wait 500 endif else @setvar! EarthSecondEle MyPet if NameSummonedPets = 1 foreach myEleName in EarthEleAncientMummNamesList wait 250 rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist EarthEleAncientMummNamesList "front" wait 500 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif wait 500 poplist EarthEleAncientMummNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ EARTH TWO ]' 349 MyPet endif wait 500 endif endif endif @ignore MyPet wait 250 endwhile @unignore MyPet @setvar! SummoningEarth 0 elseif SummoningWater = 1 and followers > 1 while findtype 740|16 ground -1 -1 12 as MyPet menu MyPet 1 wait 500 if MyPet != WaterFirstEle and MyPet != WaterSecondEle hotkey 'cancel current target' if WaterFirstEle = 0 @setvar! WaterFirstEle MyPet if NameSummonedPets = 1 foreach myEleName in WaterEleRagWitchNamesList wait 250 rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist WaterEleRagWitchNamesList "front" wait 500 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif poplist WaterEleRagWitchNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ WATER ONE ]' 93 MyPet endif wait 500 endif else @setvar! WaterSecondEle MyPet if NameSummonedPets = 1 foreach myEleName in WaterEleRagWitchNamesList wait 250 rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist WaterEleRagWitchNamesList "front" wait 500 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif wait 500 poplist WaterEleRagWitchNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ WATER TWO ]' 93 MyPet endif wait 500 endif endif endif @ignore MyPet wait 250 endwhile @unignore MyPet @setvar! SummoningWater 0 elseif SummoningAir = 1 and followers > 1 while findtype 306|13 ground -1 -1 12 as MyPet menu MyPet 1 wait 500 if MyPet != AirFirstEle and MyPet != AirSecondEle hotkey 'cancel current target' if AirFirstEle = 0 @setvar! AirFirstEle MyPet if NameSummonedPets = 1 foreach myEleName in AirEleSkeleFiendNamesList wait 250 rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist AirEleSkeleFiendNamesList "front" wait 500 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif wait 500 poplist AirEleSkeleFiendNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ AIR ONE ]' 933 MyPet endif wait 500 endif else @setvar! AirSecondEle MyPet if NameSummonedPets = 1 foreach myEleName in AirEleSkeleFiendNamesList wait 250 rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist AirEleSkeleFiendNamesList "front" wait 500 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif wait 500 poplist AirEleSkeleFiendNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ AIR TWO ]' 933 MyPet endif wait 500 endif endif endif @ignore MyPet wait 250 endwhile @unignore MyPet @setvar! SummoningAir 0 elseif SummoningFire = 1 and followers > 1 while findtype 24|15 ground -1 -1 12 as MyPet menu MyPet 1 wait 500 if MyPet != FireFirstEle and MyPet != FireSecondEle hotkey 'cancel current target' if FireFirstEle = 0 @setvar! FireFirstEle MyPet if NameSummonedPets = 1 foreach myEleName in FireEleLichNamesList wait 250 rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist FireEleLichNamesList "front" wait 500 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif wait 500 poplist FireEleLichNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ FIRE ONE ]' 1909 MyPet endif wait 500 endif else @setvar! FireSecondEle MyPet if NameSummonedPets = 1 foreach myEleName in FireEleLichNamesList wait 250 rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist FireEleLichNamesList "front" wait 500 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif wait 500 poplist FireEleLichNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ FIRE TWO ]' 1909 MyPet endif wait 500 endif endif endif @ignore MyPet wait 250 endwhile @unignore MyPet @setvar! SummoningFire 0 elseif SummoningDaemon = 1 and followers > 1 while findtype 9|722 ground -1 -1 12 as MyPet menu MyPet 1 wait 500 if MyPet != DaemonFirstEle and MyPet != DaemonSecondEle hotkey 'cancel current target' if DaemonFirstEle = 0 @setvar! DaemonFirstEle MyPet if NameSummonedPets = 1 foreach myEleName in DemonVampThrallNamesList wait 250 rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist DemonVampThrallNamesList "front" wait 500 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif wait 500 poplist DemonVampThrallNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ DAEMON ONE ]' 333 MyPet endif wait 500 endif else @setvar! DaemonSecondEle MyPet if NameSummonedPets = 1 foreach myEleName in DemonVampThrallNamesList wait 250 rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist DemonVampThrallNamesList "front" wait 500 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif wait 500 poplist DemonVampThrallNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ DAEMON TWO ]' 333 MyPet endif wait 500 endif endif endif @ignore MyPet wait 250 endwhile @unignore MyPet @setvar! SummoningDaemon 0 elseif SummoningCreature = 1 and followers > 0 while findtype "727|730|215|211|302|317|225|212|202|213|716|729|51|74|214|206|776|737|718|739|718|29|776|317|302|39|56|26|3|57|50|382|717|736|270|a vampire|a primordial whelp|an aegis rat|a scorpion|a wolf|a grizzly bear|a brown bear|a corpse eater|a familiar|a rock guar|a flamehound|a swamp spider|a firebat|a sand crab|a black bear|shallow water|a monitor hatchling|a muck|a cougar|a polar bear|a searing lizard|a monitor|a fire salamander|a fire ant|a winter wolf|a jaguar|an aegis mongbat|a silverback|a cave bat|Imp|a primordial|an asp|a cave bear|a giant swamp slug|a minion|an aegis slime|a trapdoor spider|a chameleon|a searing imp|a dragon whelp|a drake whelp|a blood ape|a devilbat|a wolfhound|an army ant|a ruby smallshell|a molten mongbat|an aquamarine smallshell|a stinger|a rime guar|an aegis scorpion|a skulker|a komodo|a shade wolf|a husk crab|a spitting viper|an aegis imp|a vampire bat|a fire minion|a snowdrift" ground -1 -1 12 as MyPet menu MyPet 1 wait 500 if MyPet != CreatureFirstEle and MyPet != CreatureSecondEle and MyPet != CreatureThirdEle and MyPet != CreatureFourthEle and MyPet != CreatureFifthEle hotkey 'cancel current target' if CreatureFirstEle = 0 @setvar! CreatureFirstEle MyPet if NameSummonedPets = 1 foreach myEleName in CreatureNamesList wait 250 rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist CreatureNamesList "front" wait 500 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif wait 500 poplist CreatureNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ CREATURE ONE ]' 2234 MyPet endif wait 500 endif elseif CreatureSecondEle = 0 @setvar! CreatureSecondEle MyPet if NameSummonedPets = 1 foreach myEleName in CreatureNamesList wait 250 rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist CreatureNamesList "front" wait 500 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif wait 500 poplist CreatureNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ CREATURE TWO ]' 2234 MyPet endif wait 500 endif elseif CreatureThirdEle = 0 @setvar! CreatureThirdEle MyPet if NameSummonedPets = 1 foreach myEleName in CreatureNamesList wait 250 rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist CreatureNamesList "front" wait 500 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif wait 500 poplist CreatureNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ CREATURE THREE ]' 2234 MyPet endif wait 500 endif elseif CreatureFourthEle = 0 @setvar! CreatureFourthEle MyPet if NameSummonedPets = 1 foreach myEleName in CreatureNamesList wait 250 rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist CreatureNamesList "front" wait 500 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif wait 500 poplist CreatureNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ CREATURE FOUR ]' 2234 MyPet endif wait 500 endif elseif CreatureFifthEle = 0 @setvar! CreatureFifthEle MyPet if NameSummonedPets = 1 foreach myEleName in CreatureNamesList wait 250 rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist CreatureNamesList "front" wait 500 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif wait 500 poplist CreatureNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ CREATURE FIVE ]' 2234 MyPet endif wait 500 endif endif endif @ignore MyPet wait 250 endwhile @unignore MyPet @setvar! SummoningCreature 0 endif if followers >= TotalSummonCount break endif if EarthFirstEle != 0 and dead EarthFirstEle if list EarthEleList != 0 poplist EarthEleList 'front' endif @setvar! EarthFirstEle 0 endif if EarthSecondEle != 0 and dead EarthSecondEle if list EarthEleList != 0 poplist EarthEleList 'front' endif @setvar! EarthSecondEle 0 endif if WaterFirstEle != 0 and dead WaterFirstEle if list WaterEleList != 0 poplist WaterEleList 'front' endif @setvar! WaterFirstEle 0 endif if WaterSecondEle != 0 and dead WaterSecondEle if list WaterEleList != 0 poplist WaterEleList 'front' endif @setvar! WaterSecondEle 0 endif if AirFirstEle != 0 and dead AirFirstEle if list AirEleList != 0 poplist AirEleList 'front' endif @setvar! AirFirstEle 0 endif if AirSecondEle != 0 and dead AirSecondEle if list AirEleList != 0 poplist AirEleList 'front' endif @setvar! AirSecondEle 0 endif if FireFirstEle != 0 and dead FireFirstEle if list FireEleList != 0 poplist FireEleList 'front' endif @setvar! FireFirstEle 0 endif if FireSecondEle != 0 and dead FireSecondEle if list FireEleList != 0 poplist FireEleList 'front' endif @setvar! FireSecondEle 0 endif if DaemonFirstEle != 0 and dead DaemonFirstEle if list DaemonEleList != 0 poplist DaemonEleList 'front' endif @setvar! DaemonFirstEle 0 endif if DaemonSecondEle != 0 and dead DaemonSecondEle if list DaemonEleList != 0 poplist DaemonEleList 'front' endif @setvar! DaemonSecondEle 0 endif if CreatureFirstEle != 0 and dead CreatureFirstEle if list CreatureEleList != 0 poplist CreatureEleList 'front' endif @setvar! CreatureFirstEle 0 endif if CreatureSecondEle != 0 and dead CreatureSecondEle if list CreatureEleList != 0 poplist CreatureEleList 'front' endif @setvar! CreatureSecondEle 0 endif if CreatureThirdEle != 0 and dead CreatureThirdEle if list CreatureEleList != 0 poplist CreatureEleList 'front' endif @setvar! CreatureThirdEle 0 endif if CreatureFourthEle != 0 and dead CreatureFourthEle if list CreatureEleList != 0 poplist CreatureEleList 'front' endif @setvar! CreatureFourthEle 0 endif if CreatureFifthEle != 0 and dead CreatureFifthEle if list CreatureEleList != 0 poplist CreatureEleList 'front' endif @setvar! CreatureFifthEle 0 endif clearsysmsg @setvar! CastingWasInterrupted 0 if EnableNecroVengefulSpirit = 1 or EnableNecroWither = 1 if findtype 'necromancer book' backpack yell '[necromancyhotbar' while not gumpexists 622436516 yell '[necromancyhotbar' wait 500 endwhile endif endif if gumpexists 622436516 if ingump "12/|13/|14/|15/|16/|17/|18/|19/|20/|21/|11/|10/|9/|8/|7/|6/" 622436516 @setvar! WitherAvailable 1 @setvar! BloodOathAvailable 1 @setvar! VengefulSpiritAvailable 1 elseif ingump "5/" 622436516 if ingump "15/" 622436516 @setvar! WitherAvailable 1 @setvar! BloodOathAvailable 1 @setvar! VengefulSpiritAvailable 1 else @setvar! WitherAvailable 1 @setvar! BloodOathAvailable 1 @setvar! VengefulSpiritAvailable 1 endif elseif ingump "4/" 622436516 if ingump "14/" 622436516 @setvar! WitherAvailable 0 @setvar! BloodOathAvailable 1 @setvar! VengefulSpiritAvailable 1 else @setvar! WitherAvailable 0 @setvar! BloodOathAvailable 1 @setvar! VengefulSpiritAvailable 1 endif elseif ingump "3/" 622436516 if ingump "13/" 622436516 @setvar! WitherAvailable 1 @setvar! BloodOathAvailable 1 @setvar! VengefulSpiritAvailable 1 else @setvar! WitherAvailable 0 @setvar! BloodOathAvailable 0 @setvar! VengefulSpiritAvailable 1 endif elseif ingump "2/" 622436516 if ingump "12/" 622436516 @setvar! WitherAvailable 1 @setvar! BloodOathAvailable 1 @setvar! VengefulSpiritAvailable 1 else @setvar! WitherAvailable 0 @setvar! BloodOathAvailable 0 @setvar! VengefulSpiritAvailable 1 endif elseif ingump "1/" 622436516 if ingump "11/" 622436516 @setvar! WitherAvailable 1 @setvar! BloodOathAvailable 1 @setvar! VengefulSpiritAvailable 1 else @setvar! WitherAvailable 0 @setvar! BloodOathAvailable 0 @setvar! VengefulSpiritAvailable 1 endif elseif ingump "0/" 622436516 if ingump "10/" 622436516 @setvar! WitherAvailable 1 @setvar! BloodOathAvailable 1 @setvar! VengefulSpiritAvailable 1 else @setvar! WitherAvailable 0 @setvar! BloodOathAvailable 0 @setvar! VengefulSpiritAvailable 0 endif endif endif if EnableNecroVengefulSpirit = 1 and VengefulSpiritAvailable = 1 and timer VengefulSpiritTimer > 30000 and skill 'necromancy' >= 50 and diffhits < CastGreaterHealHPdiff clearsysmsg @setvar! CastingWasInterrupted 0 while not insysmsg "unholy symbols remaining" yell '[VengefulSpirit' getlabel backpack packdesc wait 250 if insysmsg "seconds before you may use that ability again." @setvar! CastingWasInterrupted 1 settimer VengefulSpiritTimer 28000 break else break endif endwhile if CastingWasInterrupted = 0 if EnableOverheadMessages = 1 overhead '[ VENGEFUL SPIRIT! ]' 11 endif settimer VengefulSpiritTimer 0 cooldown 'Vengeful Spirit' 30000 wait 500 endif endif if gumpexists 622436516 if ingump "12/|13/|14/|15/|16/|17/|18/|19/|20/|21/|11/|10/|9/|8/|7/|6/" 622436516 @setvar! WitherAvailable 1 @setvar! BloodOathAvailable 1 @setvar! VengefulSpiritAvailable 1 elseif ingump "5/" 622436516 if ingump "15/" 622436516 @setvar! WitherAvailable 1 @setvar! BloodOathAvailable 1 @setvar! VengefulSpiritAvailable 1 else @setvar! WitherAvailable 1 @setvar! BloodOathAvailable 1 @setvar! VengefulSpiritAvailable 1 endif elseif ingump "4/" 622436516 if ingump "14/" 622436516 @setvar! WitherAvailable 0 @setvar! BloodOathAvailable 1 @setvar! VengefulSpiritAvailable 1 else @setvar! WitherAvailable 0 @setvar! BloodOathAvailable 1 @setvar! VengefulSpiritAvailable 1 endif elseif ingump "3/" 622436516 if ingump "13/" 622436516 @setvar! WitherAvailable 1 @setvar! BloodOathAvailable 1 @setvar! VengefulSpiritAvailable 1 else @setvar! WitherAvailable 0 @setvar! BloodOathAvailable 0 @setvar! VengefulSpiritAvailable 1 endif elseif ingump "2/" 622436516 if ingump "12/" 622436516 @setvar! WitherAvailable 1 @setvar! BloodOathAvailable 1 @setvar! VengefulSpiritAvailable 1 else @setvar! WitherAvailable 0 @setvar! BloodOathAvailable 0 @setvar! VengefulSpiritAvailable 1 endif elseif ingump "1/" 622436516 if ingump "11/" 622436516 @setvar! WitherAvailable 1 @setvar! BloodOathAvailable 1 @setvar! VengefulSpiritAvailable 1 else @setvar! WitherAvailable 0 @setvar! BloodOathAvailable 0 @setvar! VengefulSpiritAvailable 1 endif elseif ingump "0/" 622436516 if ingump "10/" 622436516 @setvar! WitherAvailable 1 @setvar! BloodOathAvailable 1 @setvar! VengefulSpiritAvailable 1 else @setvar! WitherAvailable 0 @setvar! BloodOathAvailable 0 @setvar! VengefulSpiritAvailable 0 endif endif endif if EnableNecroWither = 1 and WitherAvailable = 1 and timer 'WitherTimer' > 30000 and skill 'necromancy' >= 90 and diffhits < CastGreaterHealHPdiff clearsysmsg @setvar! CastingWasInterrupted 0 while not insysmsg "unholy symbols remaining" yell '[Wither' getlabel backpack packdesc wait 250 if insysmsg "seconds before you may use that ability again." @setvar! CastingWasInterrupted 1 settimer 'WitherTimer' 28000 break else break endif endwhile if CastingWasInterrupted = 0 if EnableOverheadMessages = 1 overhead '[ WITHER! ]' 444 endif settimer 'WitherTimer' 0 cooldown 'Wither' 30000 wait 500 endif endif if gumpexists 622436516 if ingump "12/|13/|14/|15/|16/|17/|18/|19/|20/|21/|11/|10/|9/|8/|7/|6/" 622436516 @setvar! WitherAvailable 1 @setvar! BloodOathAvailable 1 @setvar! VengefulSpiritAvailable 1 elseif ingump "5/" 622436516 if ingump "15/" 622436516 @setvar! WitherAvailable 1 @setvar! BloodOathAvailable 1 @setvar! VengefulSpiritAvailable 1 else @setvar! WitherAvailable 1 @setvar! BloodOathAvailable 1 @setvar! VengefulSpiritAvailable 1 endif elseif ingump "4/" 622436516 if ingump "14/" 622436516 @setvar! WitherAvailable 0 @setvar! BloodOathAvailable 1 @setvar! VengefulSpiritAvailable 1 else @setvar! WitherAvailable 0 @setvar! BloodOathAvailable 1 @setvar! VengefulSpiritAvailable 1 endif elseif ingump "3/" 622436516 if ingump "13/" 622436516 @setvar! WitherAvailable 1 @setvar! BloodOathAvailable 1 @setvar! VengefulSpiritAvailable 1 else @setvar! WitherAvailable 0 @setvar! BloodOathAvailable 0 @setvar! VengefulSpiritAvailable 1 endif elseif ingump "2/" 622436516 if ingump "12/" 622436516 @setvar! WitherAvailable 1 @setvar! BloodOathAvailable 1 @setvar! VengefulSpiritAvailable 1 else @setvar! WitherAvailable 0 @setvar! BloodOathAvailable 0 @setvar! VengefulSpiritAvailable 1 endif elseif ingump "1/" 622436516 if ingump "11/" 622436516 @setvar! WitherAvailable 1 @setvar! BloodOathAvailable 1 @setvar! VengefulSpiritAvailable 1 else @setvar! WitherAvailable 0 @setvar! BloodOathAvailable 0 @setvar! VengefulSpiritAvailable 1 endif elseif ingump "0/" 622436516 if ingump "10/" 622436516 @setvar! WitherAvailable 1 @setvar! BloodOathAvailable 1 @setvar! VengefulSpiritAvailable 1 else @setvar! WitherAvailable 0 @setvar! BloodOathAvailable 0 @setvar! VengefulSpiritAvailable 0 endif endif endif if EnableNecroBloodOath = 1 and BloodOathAvailable = 1 and timer BloodOathTimer > 30000 and skill 'necromancy' >= 80 and diffhits < CastGreaterHealHPdiff and EnableNecroVengefulSpirit = 1 clearsysmsg @setvar! CastingWasInterrupted 0 while not insysmsg "unholy symbols remaining" yell '[BloodOath' getlabel backpack packdesc wait 250 if insysmsg "seconds before you may use that ability again." @setvar! CastingWasInterrupted 1 settimer BloodOathTimer 28000 break else break endif endwhile if CastingWasInterrupted = 0 if EnableOverheadMessages = 1 overhead '[ BLOOD OATH! ]' 37 endif settimer BloodOathTimer 0 cooldown 'Blood Oath' 30000 endif endif @setvar! missingSummonRegs 0 @setvar! summoningSuccessful 0 getlabel backpack backpacklabel if not findtype 3963 self or not findtype 3974 self or not findtype 3981 self @setvar! missingSummonRegs 1 if timer MissingRegsTimer > 4000 if EnableOverheadMessages != 0 overhead '[ MISSING REGS! ]' 337 settimer MissingRegsTimer 0 endif endif wait 500 elseif not findtype 3980 self if SummonFireElemental_or_Lich != 0 or SummonDemon_or_VampireThrall != 0 @setvar! missingSummonRegs 1 if timer MissingRegsTimer > 4000 if EnableOverheadMessages != 0 overhead '[ MISSING REGS! ]' 337 settimer MissingRegsTimer 0 endif endif wait 500 endif endif if EnableMeditation = 1 and mana < MeditateWhenManaBelow and not findbuff "meditating" and timer 'MeditationTimer' > 10000 skill 'meditation' getlabel backpack packdesc wait 250 if not findbuff 'meditating' settimer 'MeditationTimer' 7500 replay elseif findbuff 'meditating' hotkey 'Toggle Peace Only' settimer 'MeditationTimer' 0 while mana < maxmana and diffhits < CastGreaterHealHPdiff if not findbuff 'meditating' hotkey 'Toggle War Only' break endif if mana > MeditateUntilManaReaches hotkey 'Toggle War Only' break endif if warmode on break endif if diffhits > CastGreaterHealHPdiff break endif if dead break endif if timer 'MeditationMessageTimer' > 4000 if EnableOverheadMessages = 1 overhead '[ MEDITATING... ]' 11 else overhead "*meditating*" 11 endif settimer 'MeditationMessageTimer' 0 endif endwhile if diffhits > CastGreaterHealHPdiff break endif if dead break endif if not warmode and TimeToGo != 1 hotkey 'Toggle War Only' endif endif elseif EnableMeditation != 1 and mana < 50 if timer MissingRegsTimer > 4000 if EnableOverheadMessages != 0 overhead '[ WAITING FOR MANA... ]' 420 settimer MissingRegsTimer 0 endif endif endif if SummonEarthElemental_or_AncientMummy != 0 and list EarthEleList < SummonEarthElemental_or_AncientMummy and followers < 4 and diffhits < CastGreaterHealHPdiff and not casting and missingSummonRegs = 0 and mana > 49 clearsysmsg @setvar! CastingWasInterrupted 0 @setvar! summoningSuccessful 0 @setvar! SummoningEarth 1 cast 'Earth Elemental' wait 250 while not dead if diffhits >= CastGreaterHealHPdiff @setvar! AttackModeActive 1 @setvar! CastingWasInterrupted 1 interrupt break endif if timer SummoningMessageTimer > 4000 and EnableOverheadMessages != 0 if EnableNecroVengefulSpirit = 0 overhead '[ SUMMONING EARTH... ]' 349 else overhead '[ SUMMONING MUMMY... ]' 349 endif settimer SummoningMessageTimer 0 endif if not casting getlabel backpack packdesc wait 250 if insysmsg "Your concentration" @setvar! CastingWasInterrupted 1 endif break endif endwhile if CastingWasInterrupted = 0 settimer CreatureSummonTimeout 0 wait 250 while timer CreatureSummonTimeout < 5000 if findtype 158|14 ground -1 -1 12 as MyPet wait 250 menu MyPet 3 wait 250 if MyPet != EarthFirstEle and MyPet != EarthSecondEle hotkey 'cancel current target' if EarthFirstEle = 0 @setvar! EarthFirstEle MyPet if NameSummonedPets = 1 foreach myEleName in EarthEleAncientMummNamesList clearsysmsg rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist EarthEleAncientMummNamesList "front" wait 250 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif poplist EarthEleAncientMummNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ EARTH ONE ]' 349 MyPet endif wait 500 endif elseif EarthSecondEle = 0 @setvar! EarthSecondEle MyPet if NameSummonedPets = 1 foreach myEleName in EarthEleAncientMummNamesList clearsysmsg rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist EarthEleAncientMummNamesList "front" wait 250 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif poplist EarthEleAncientMummNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ EARTH TWO ]' 349 MyPet endif wait 500 endif endif @setvar! summoningSuccessful 1 pushlist EarthEleList 'x' 'front' @ignore MyPet break endif @ignore MyPet endif wait 250 endwhile @unignore MyPet wait 250 if summoningSuccessful = 0 if EnableOverheadMessages != 0 overhead '[ ERROR DETECTING SUMMON! ]' 337 endif sysmsg "Script: summon cast completed but new pet was not detected." 34 endif endif @setvar! SummoningEarth 0 elseif SummonWaterElemental_or_RagWitch != 0 and list WaterEleList < SummonWaterElemental_or_RagWitch and followers < 4 and diffhits < CastGreaterHealHPdiff and not casting and missingSummonRegs = 0 and mana > 49 clearsysmsg @setvar! CastingWasInterrupted 0 @setvar! summoningSuccessful 0 @setvar! SummoningWater 1 cast 'Water Elemental' wait 250 while not dead if diffhits >= CastGreaterHealHPdiff @setvar! AttackModeActive 1 @setvar! CastingWasInterrupted 1 interrupt break endif if timer SummoningMessageTimer > 4000 and EnableOverheadMessages != 0 if EnableNecroVengefulSpirit = 0 overhead '[ SUMMONING WATER... ]' 93 else overhead '[ SUMMONING WITCH... ]' 93 endif settimer SummoningMessageTimer 0 endif if not casting getlabel backpack packdesc wait 250 if insysmsg "Your concentration" @setvar! CastingWasInterrupted 1 endif break endif endwhile if CastingWasInterrupted = 0 wait 250 settimer CreatureSummonTimeout 0 while timer CreatureSummonTimeout < 5000 if findtype 740|16 ground -1 -1 12 as MyPet wait 250 menu MyPet 3 wait 250 if MyPet != WaterFirstEle and MyPet != WaterSecondEle hotkey 'cancel current target' if WaterFirstEle = 0 @setvar! WaterFirstEle MyPet if NameSummonedPets = 1 foreach myEleName in WaterEleRagWitchNamesList clearsysmsg rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist WaterEleRagWitchNamesList "front" wait 250 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif poplist WaterEleRagWitchNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ WATER ONE ]' 93 MyPet endif wait 500 endif elseif WaterSecondEle = 0 @setvar! WaterSecondEle MyPet if NameSummonedPets = 1 foreach myEleName in WaterEleRagWitchNamesList clearsysmsg rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist WaterEleRagWitchNamesList "front" wait 250 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif poplist WaterEleRagWitchNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ WATER TWO ]' 93 MyPet endif wait 500 endif endif @setvar! summoningSuccessful 1 pushlist WaterEleList 'x' 'front' @ignore MyPet break endif @ignore MyPet endif wait 250 endwhile @unignore MyPet wait 250 if summoningSuccessful = 0 if EnableOverheadMessages != 0 overhead '[ ERROR DETECTING SUMMON! ]' 337 endif sysmsg "Script: summon cast completed but new pet was not detected." 34 endif endif @setvar! SummoningWater 0 elseif SummonAirElemental_or_SkeletalFiend != 0 and list AirEleList < SummonAirElemental_or_SkeletalFiend and followers < 4 and diffhits < CastGreaterHealHPdiff and not casting and missingSummonRegs = 0 and mana > 49 clearsysmsg @setvar! CastingWasInterrupted 0 @setvar! summoningSuccessful 0 @setvar! SummoningAir 1 cast 'Air Elemental' wait 250 while not dead if diffhits >= CastGreaterHealHPdiff @setvar! AttackModeActive 1 @setvar! CastingWasInterrupted 1 interrupt break endif if timer SummoningMessageTimer > 4000 and EnableOverheadMessages != 0 if EnableNecroVengefulSpirit = 0 overhead '[ SUMMONING AIR... ]' 933 else overhead '[ SUMMONING FIEND... ]' 933 endif settimer SummoningMessageTimer 0 endif if not casting getlabel backpack packdesc wait 250 if insysmsg "Your concentration" @setvar! CastingWasInterrupted 1 endif break endif endwhile if CastingWasInterrupted = 0 wait 250 settimer CreatureSummonTimeout 0 while timer CreatureSummonTimeout < 5000 if findtype 306|13 ground -1 -1 12 as MyPet wait 250 menu MyPet 3 wait 250 if MyPet != AirFirstEle and MyPet != AirSecondEle hotkey 'cancel current target' if AirFirstEle = 0 @setvar! AirFirstEle MyPet if NameSummonedPets = 1 foreach myEleName in AirEleSkeleFiendNamesList clearsysmsg rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist AirEleSkeleFiendNamesList "front" wait 250 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif poplist AirEleSkeleFiendNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ AIR ONE ]' 933 MyPet endif wait 500 endif elseif AirSecondEle = 0 @setvar! AirSecondEle MyPet if NameSummonedPets = 1 foreach myEleName in AirEleSkeleFiendNamesList clearsysmsg rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist AirEleSkeleFiendNamesList "front" wait 250 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif poplist AirEleSkeleFiendNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ AIR TWO ]' 933 MyPet endif wait 500 endif endif @setvar! summoningSuccessful 1 pushlist AirEleList 'x' 'front' @ignore MyPet break endif @ignore MyPet endif wait 250 endwhile @unignore MyPet wait 250 if summoningSuccessful = 0 if EnableOverheadMessages != 0 overhead '[ ERROR DETECTING SUMMON! ]' 337 endif sysmsg "Script: summon cast completed but new pet was not detected." 34 endif endif @setvar! SummoningAir 0 elseif SummonFireElemental_or_Lich != 0 and list FireEleList < SummonFireElemental_or_Lich and followers < 4 and diffhits < CastGreaterHealHPdiff and not casting and missingSummonRegs = 0 and mana > 49 clearsysmsg @setvar! CastingWasInterrupted 0 @setvar! summoningSuccessful 0 @setvar! SummoningFire 1 cast 'Fire Elemental' wait 250 while not dead if diffhits >= CastGreaterHealHPdiff @setvar! AttackModeActive 1 @setvar! CastingWasInterrupted 1 interrupt break endif if timer SummoningMessageTimer > 4000 and EnableOverheadMessages != 0 if EnableNecroVengefulSpirit = 0 overhead '[ SUMMONING FIRE... ]' 1909 else overhead '[ SUMMONING LICH... ]' 1909 endif settimer SummoningMessageTimer 0 endif if not casting getlabel backpack packdesc wait 250 if insysmsg "Your concentration" @setvar! CastingWasInterrupted 1 endif break endif endwhile if CastingWasInterrupted = 0 wait 250 settimer CreatureSummonTimeout 0 while timer CreatureSummonTimeout < 5000 if findtype 24|15 ground -1 -1 12 as MyPet wait 250 menu MyPet 3 wait 250 if MyPet != FireFirstEle and MyPet != FireSecondEle hotkey 'cancel current target' if FireFirstEle = 0 @setvar! FireFirstEle MyPet if NameSummonedPets = 1 foreach myEleName in FireEleLichNamesList clearsysmsg rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist FireEleLichNamesList "front" wait 250 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif poplist FireEleLichNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ FIRE ONE ]' 1909 MyPet endif wait 500 endif elseif FireSecondEle = 0 @setvar! FireSecondEle MyPet if NameSummonedPets = 1 foreach myEleName in FireEleLichNamesList clearsysmsg rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist FireEleLichNamesList "front" wait 250 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif poplist FireEleLichNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ FIRE TWO ]' 1909 MyPet endif wait 500 endif endif @setvar! summoningSuccessful 1 pushlist FireEleList 'x' 'front' @ignore MyPet break endif @ignore MyPet endif wait 250 endwhile @unignore MyPet wait 250 if summoningSuccessful = 0 if EnableOverheadMessages != 0 overhead '[ ERROR DETECTING SUMMON! ]' 337 endif sysmsg "Script: summon cast completed but new pet was not detected." 34 endif endif @setvar! SummoningFire 0 elseif SummonDemon_or_VampireThrall != 0 and list DaemonEleList < SummonDemon_or_VampireThrall and followers < 4 and diffhits < CastGreaterHealHPdiff and not casting and missingSummonRegs = 0 and mana > 49 clearsysmsg @setvar! CastingWasInterrupted 0 @setvar! summoningSuccessful 0 @setvar! SummoningDaemon 1 cast 'Summon Daemon' wait 250 while not dead if diffhits >= CastGreaterHealHPdiff @setvar! AttackModeActive 1 @setvar! CastingWasInterrupted 1 interrupt break endif if timer SummoningMessageTimer > 4000 and EnableOverheadMessages != 0 if EnableNecroVengefulSpirit = 0 overhead '[ SUMMONING DAEMON... ]' 333 else overhead '[ SUMMONING THRALL... ]' 333 endif settimer SummoningMessageTimer 0 endif if not casting getlabel backpack packdesc wait 250 if insysmsg "Your concentration" @setvar! CastingWasInterrupted 1 endif break endif endwhile if CastingWasInterrupted = 0 wait 250 settimer CreatureSummonTimeout 0 while timer CreatureSummonTimeout < 5000 if findtype 9|722 ground -1 -1 12 as MyPet wait 250 menu MyPet 3 wait 250 if MyPet != DaemonFirstEle and MyPet != DaemonSecondEle hotkey 'cancel current target' if DaemonFirstEle = 0 @setvar! DaemonFirstEle MyPet if NameSummonedPets = 1 foreach myEleName in DemonVampThrallNamesList clearsysmsg rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist DemonVampThrallNamesList "front" wait 250 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif poplist DemonVampThrallNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ DAEMON ONE ]' 333 MyPet endif wait 500 endif elseif DaemonSecondEle = 0 @setvar! DaemonSecondEle MyPet if NameSummonedPets = 1 foreach myEleName in DemonVampThrallNamesList clearsysmsg rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist DemonVampThrallNamesList "front" wait 250 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif poplist DemonVampThrallNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ DAEMON TWO ]' 333 MyPet endif wait 500 endif endif @setvar! summoningSuccessful 1 pushlist DaemonEleList 'x' 'front' @ignore MyPet break endif @ignore MyPet endif wait 250 endwhile @unignore MyPet wait 250 if summoningSuccessful = 0 if EnableOverheadMessages != 0 overhead '[ ERROR DETECTING SUMMON! ]' 337 endif sysmsg "Script: summon cast completed but new pet was not detected." 34 endif endif @setvar! SummoningDaemon 0 elseif SummonCreature_or_UndeadCreature != 0 and list CreatureEleList < SummonCreature_or_UndeadCreature and followers < 5 and diffhits < CastGreaterHealHPdiff and not casting and missingSummonRegs = 0 and mana > 13 clearsysmsg @setvar! CastingWasInterrupted 0 @setvar! summoningSuccessful 0 @setvar! SummoningCreature 1 cast 'Summ. Creature' wait 250 while not dead if diffhits >= CastGreaterHealHPdiff @setvar! AttackModeActive 1 @setvar! CastingWasInterrupted 1 interrupt break endif if timer SummoningMessageTimer > 4000 and EnableOverheadMessages != 0 if EnableNecroVengefulSpirit = 0 overhead '[ SUMMONING CREATURE... ]' 2234 else overhead '[ SUMMONING UNDEAD... ]' 2234 endif settimer SummoningMessageTimer 0 endif if not casting getlabel backpack packdesc wait 250 if insysmsg "Your concentration" @setvar! CastingWasInterrupted 1 endif break endif endwhile if CastingWasInterrupted = 0 wait 250 settimer CreatureSummonTimeout 0 while timer CreatureSummonTimeout < 5000 if findtype "727|730|215|211|302|317|225|212|202|213|716|729|51|74|214|206|776|737|718|739|718|29|776|317|302|39|56|26|3|57|50|382|717|736|270|a primordial whelp|an aegis rat|a scorpion|a wolf|a grizzly bear|a brown bear|a corpse eater|a familiar|a rock guar|a flamehound|a swamp spider|a firebat|a sand crab|a black bear|shallow water|a monitor hatchling|a muck|a cougar|a polar bear|a searing lizard|a monitor|a fire salamander|a fire ant|a winter wolf|a jaguar|an aegis mongbat|a silverback|a cave bat|Imp|a primordial|an asp|a cave bear|a giant swamp slug|a minion|an aegis slime|a trapdoor spider|a chameleon|a searing imp|a dragon whelp|a drake whelp|a blood ape|a devilbat|a wolfhound|an army ant|a ruby smallshell|a molten mongbat|an aquamarine smallshell|a stinger|a rime guar|an aegis scorpion|a skulker|a komodo|a shade wolf|a husk crab|a spitting viper|an aegis imp|a vampire bat|a fire minion|a snowdrift|a vampire|a skeleton|a zombie|a skeletal knight|a ghoul|a skeletal mage|a ghost|a skeletal marksman|a rotting flesh|3" ground -1 -1 12 as MyPet wait 250 menu MyPet 3 wait 250 if MyPet != CreatureFirstEle and MyPet != CreatureSecondEle and MyPet != CreatureThirdEle and MyPet != CreatureFourthEle and MyPet != CreatureFifthEle hotkey 'cancel current target' if CreatureFirstEle = 0 @setvar! CreatureFirstEle MyPet if NameSummonedPets = 1 foreach myEleName in CreatureNamesList clearsysmsg rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist CreatureNamesList "front" wait 250 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif poplist CreatureNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ CREATURE ONE ]' 2234 MyPet endif wait 500 endif elseif CreatureSecondEle = 0 @setvar! CreatureSecondEle MyPet if NameSummonedPets = 1 foreach myEleName in CreatureNamesList clearsysmsg rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist CreatureNamesList "front" wait 250 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif poplist CreatureNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ CREATURE TWO ]' 2234 MyPet endif wait 500 endif elseif CreatureThirdEle = 0 @setvar! CreatureThirdEle MyPet if NameSummonedPets = 1 foreach myEleName in CreatureNamesList clearsysmsg rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist CreatureNamesList "front" wait 250 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif poplist CreatureNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ CREATURE THREE ]' 2234 MyPet endif wait 500 endif elseif CreatureFourthEle = 0 @setvar! CreatureFourthEle MyPet if NameSummonedPets = 1 foreach myEleName in CreatureNamesList clearsysmsg rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist CreatureNamesList "front" wait 250 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif poplist CreatureNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ CREATURE FOUR ]' 2234 MyPet endif wait 500 endif elseif CreatureFifthEle = 0 @setvar! CreatureFifthEle MyPet if NameSummonedPets = 1 foreach myEleName in CreatureNamesList clearsysmsg rename MyPet myEleName wait 500 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{myEleName}}" 34 clearsysmsg poplist CreatureNamesList "front" wait 250 else if EnableOverheadMessages != 0 overhead '[ NAME: {{myEleName}} ]' 69 MyPet endif poplist CreatureNamesList "front" break endif endfor else if EnableOverheadMessages != 0 overhead '[ CREATURE FIVE ]' 2234 MyPet endif wait 500 endif endif @setvar! summoningSuccessful 1 pushlist CreatureEleList 'x' 'front' @ignore MyPet break endif @ignore MyPet endif wait 250 endwhile @unignore MyPet wait 250 if summoningSuccessful = 0 if EnableOverheadMessages != 0 overhead '[ ERROR DETECTING SUMMON! ]' 337 endif sysmsg "Script: summon cast completed but new pet was not detected." 34 endif endif @setvar! SummoningCreature 0 endif if timer AllGuardMeTimer > 15000 say 'All guard me' 2234 settimer AllGuardMeTimer 0 endif endwhile /////////////////////// // END SUMMONING // /////////////////////// /////////////////////// // FIND A TARGET // /////////////////////// if not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange @setvar! AttackModeActive 1 // Skip target check and jump to attack loop if ClosestTarget is alive and within attack range elseif not dead TargetToAnalyze and find TargetToAnalyze ground -1 -1 12 and AttackModeActive = 2 @setvar! AttackModeActive 0 // Proceed to target checks if TargetToAnalyze is alive and within targeting range else if targetexists hotkey 'cancel current target' endif clearsysmsg hotkey 'target closest grey monster' getlabel backpack backpacklabel @setvar! TargetToAnalyze lasttarget if insysmsg 'No one matching that' @setvar! NoTargetMode 1 getlabel backpack backpacklabel //////////////////////// // NO TARGET LOOP // //////////////////////// while NoTargetMode = 1 if dead break endif if targetexists hotkey 'cancel current target' endif if weight > maxweight and EnableDropGoldWhenOverweight = 1 if timer OverweightMessageTimer > 4500 overhead '[ OVERWEIGHT! ]' 34 settimer OverweightMessageTimer 0 endif if DropGoldAmount != 0 clearignore @setvar! DisableVacuums 1 wait 250 if EnablePutLootinLockBox = 1 if find lockbox self getlabel lockbox lockboxlabel wait 250 if 'items' in lockboxlabel @clearignore wait 500 else dclick key wft 1500 dclick lockbox wait 500 if insysmsg "It appears to be locked." dclick key wft 1500 target lockbox wait 250 else if EnableOverheadMessages != 0 overhead "[loot box unlocked]" 84 endif endif endif endif endif while weight > maxweight if findtype "gold coin" backpack as easycomeeasygo lift easycomeeasygo DropGoldAmount droprelloc 0 0 getlabel backpack packdesc if EnableOverheadMessages = 1 overhead '[ DROPPING GOLD... ]' 149 endif wait 250 if insysmsg "cannot drop anything" drop backpack -1 -1 -1 endif wait 500 endif if dead break endif if diffhits > CastGreaterHealHPdiff break endif endwhile endif endif if paralyzed and EnableAutoParalyzePouch = 1 if findtype "pouch" self yell "[pouch" wait 250 hotkey 'Toggle Peace Only' @setvar! RedTargetFound 1 @setvar! TimeToGo 1 else if timer PopPouchMessageTimer > 5000 and EnableOverheadMessages = 1 overhead '[ NO MORE POUCHES! ]' 337 settimer PopPouchMessageTimer 0 endif endif endif if dead break endif if EnableWeightWarningMessage = 1 if diffweight < GreenWarningDiffWeight and diffweight > YellowWarningDiffWeight and timer "WeightTimer" > 6000 if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 overhead '[ WEIGHT WARNING... ]' 77 settimer "WeightTimer" 0 else overhead " � " 77 settimer "WeightTimer" 0 endif elseif diffweight < YellowWarningDiffWeight and diffweight > RedWeightLimitDiffWeight and timer "WeightTimer" > 6000 if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 overhead '[ WEIGHT WARNING! ]' 153 settimer "WeightTimer" 0 else overhead " � " 153 settimer "WeightTimer" 0 endif elseif diffweight < RedWeightLimitDiffWeight if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if timer "WeightMessageTimer" > 6000 overhead '[ WEIGHT LIMIT REACHED! ]' 37 settimer "WeightMessageTimer" 0 endif else if timer "WeightMessageTimer" > 6000 overhead " � " 37 settimer "WeightMessageTimer" 0 endif endif if EnableAutoWeightRecall = 1 and not find ClosestTarget ground -1 -1 8 and WILDERNESSMODE = 1 wait 1000 hotkey 'Toggle Peace Only' @setvar! AutoWeightRecall 1 replay elseif EnableAutoWeightRecall = 1 and find ClosestTarget ground -1 -1 8 and WILDERNESSMODE = 1 if timer "RECALLDELAY" > 3500 and EnableAutoRecallOverheadMessages = 1 overhead '[ WAITING TO RECALL... ]' 149 settimer "RECALLDELAY" 0 endif wait 500 elseif EnableAutoWeightDungeonGate = 1 and DUNGEONMODE = 1 wait 500 hotkey 'Toggle Peace Only' @setvar! TimeToGo 1 replay else if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 overhead '[ OVERWEIGHT! ]' 337 else overhead " � " 337 endif wait 1500 overhead '[ STOPPING SCRIPT! ]' 88 stop endif endif endif if warmode clearsysmsg hotkey 'target closest grey monster' getlabel backpack backpacklabel @setvar! TargetToAnalyze lasttarget wait 250 if insysmsg 'No one matching that' if timer NothingToTargetMessageTimer > 3500 if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 overhead '[ NOTHING TO TARGET... ]' 2338 else overhead ' � ' 2338 endif settimer NothingToTargetMessageTimer 0 endif clearsysmsg else @setvar! AttackModeActive 0 @setvar! NoTargetMode 0 break endif endif while not warmode if TimeToGo = 1 break else if WILDERNESSMODE = 1 if EnableAutoRedRecall = 1 or EnableAutoWeightRecall = 1 overhead '[ RECALLING IN... ]' 2114 if warmode break endif wait 500 overhead "3" 69 wait 1000 if warmode break endif overhead "2" 69 wait 1000 if warmode break endif overhead "1" 69 wait 500 if warmode break else @setvar! TimeToGo 1 @setvar! AutoRecallTime 1 break endif endif elseif DUNGEONMODE = 1 if EnableAutoRedDungeonGate = 1 or EnableAutoWeightDungeonGate = 1 if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 overhead '[ DUNGEON ESCAPE! ]' 337 else overhead "�" 337 endif hotkey 'Toggle Peace Only' @setvar! TimeToGo 1 getlabel backpack backpacklabel wait 250 break endif endif endif endwhile if TimeToGo = 1 and not warmode break endif if EnableDIYRecallScript != 1 and diffhits < CastGreaterHealHPdiff if EnableAutoRedRecall = 1 or EnableAutoWeightRecall = 1 or EnableRecallAfterResurrection = 1 or EnableRecallAfterDungeonGate = 1 if not varexist AutoRecallChargedRunebook wait 500 overhead "You have enabled Auto Recall (PK or Weight) and must select a runebook to continue!" 0 wait 1500 overhead "Select your escape runebook..." 253 setvar AutoRecallChargedRunebook wait 500 while targetexists wait 100 endwhile sysmsg "Will cast to 'default rune' in Runebook (if 'casting' enabled) or uses scrolls to 'first location' in Runebook (if no Magery skill)" 153 wait 1500 endif if not find AutoRecallChargedRunebook self overhead "[ NO RUNEBOOK FOUND! ]" 337 wait 1500 overhead "Select your new escape runebook..." 253 wait 500 setvar AutoRecallChargedRunebook wait 250 while targetexists if diffhits > CastGreaterHealHPdiff break endif wait 100 endwhile endif endif endif if EnableLootBag = 1 and IHAVEDIED != 1 and diffhits < CastGreaterHealHPdiff if EnableAutoRedRecall = 1 or EnableAutoWeightRecall = 1 or EnableRecallAfterResurrection = 1 or EnableRecallAfterDungeonGate = 1 if not varexist LootBag wait 500 overhead "Please select your loot bag..." 253 wait 1000 overhead "This should be whatever is set as your 'Grab Bag' and will be opened when unloading loot after recalling..." 0 setvar LootBag wait 500 while targetexists wait 100 endwhile endif if not find LootBag self overhead "[ NO LOOT BAG ]" 337 wait 1500 overhead "Select your new loot bag..." 253 wait 500 setvar LootBag wait 250 while targetexists if diffhits > CastGreaterHealHPdiff break endif wait 100 endwhile endif endif endif if EnableAutoSatchels = 1 and diffhits < CastGreaterHealHPdiff if findtype "3962|3963|3972|3973|3974|3976|3980|3981" backpack and findtype "reagent satchel" self as MyWizardBag while findtype "reagent satchel" self as MyWizardBag getlabel MyWizardBag MyWizardBagdesc if 'decorative' in MyWizardBagdesc @ignore MyWizardBag else break endif endwhile if timer "WizardSatchelTimer" > 60000 menu MyWizardBag 0 wait 500 settimer "WizardSatchelTimer" 0 endif endif if findtype "Yellow Potion|Orange Potion|Red Potion|White Potion|Blue Potion|Black Potion|" backpack and findtype 31262 self as MyPotBag if timer "PotionSatchelTimer" > 60000 menu MyPotBag 0 wait 500 settimer "PotionSatchelTimer" 0 endif endif endif if EnableAutoCarving = 1 and findtype 11552 self while findtype "corpse" ground -1 -1 2 as deadbody and diffhits < CastGreaterHealHPdiff settimer SkinningTimeoutTimer 0 if findtype 11552 self if targetexists hotkey 'cancel current target' endif while not targetexists skill 'forensicevaluation' getlabel backpack backpacklabel endwhile if targetexists and find deadbody ground -1 -1 2 target 'self' @ignore deadbody wait 250 endif if insysmsg "You dont see anything nearby" clearsysmsg break else if EnableOverheadMessages = 1 and timer SkinningTimer > 3000 overhead '[ SKINNING... ]' 333 settimer SkinningTimer 0 endif endif else if EnableOverheadMessages = 1 and timer SkinningTimer > 15000 overhead '[ NO SKINNING KNIFE ]' 337 settimer SkinningTimer 0 break endif endif if timer SkinningTimeoutTimer > 1500 or diffhits > CastGreaterHealHPdiff break endif endwhile endif if followers > 0 if skill 'spiritspeak' >= 50 and timer 'SpiritSpeakTimer' > 10000 and findtype 'corpse' ground -1 -1 15 and EnableNecroVengefulSpirit = 0 getlabel backpack backpacklabel skill 'spiritspeak' wait 250 settimer 'SpiritSpeakTimer' 0 if insysmsg 'You establish contact' if EnableOverheadMessages = 1 overhead '[ CONSUMING SOULS... ]' 1109 else overhead '*consuming souls...*' 1109 endif endif endif endif if TimeToGo = 1 and not warmode break endif if EnableTrackingAutoRecall = 1 and TimeToGo != 1 if PKTrackingRange = 60 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 50 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 40 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 0 if insysmsg "Now tracking" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif endif endif if EnablePKradar = 1 and TimeToGo != 1 if timer "PKRadarTimer" > 1500 clearsysmsg hotkey 'Next Murderer Player Target' wait 250 if insysmsg "No one matching that was found" settimer "PKRadarTimer" 0 clearsysmsg else if EnableRedAlertOverhead = 1 overhead "[ !! RED ALERT !! ]" 37 endif hotkey 'Toggle Peace Only' @setvar! RedTargetFound 1 @setvar! TimeToGo 1 @setvar! MurdererTarget lasttarget replay endif endif endif if AutoTrapYourPouches = 1 and diffhits < CastGreaterHealHPdiff while findtype 3705 backpack 0 and findtype 3972 self and findtype 3973 self and findtype 3980 self cast 'magic trap' settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 1500 if insysmsg "Your concentration is disturbed" interrupt @setvar! CastingWasInterrupted 1 break endif if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif endwhile if dead break endif if diffhits >= CastGreaterHealHPdiff @setvar! AttackModeActive 1 break endif if CastingWasInterrupted = 0 target self endif wait 250 endwhile endif if dead break endif if warmode clearsysmsg hotkey 'target closest grey monster' getlabel backpack backpacklabel @setvar! TargetToAnalyze lasttarget wait 250 if insysmsg 'No one matching that' if timer NothingToTargetMessageTimer > 3500 if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 overhead '[ NOTHING TO TARGET... ]' 2338 else overhead ' � ' 2338 endif settimer NothingToTargetMessageTimer 0 endif clearsysmsg else @setvar! AttackModeActive 0 @setvar! NoTargetMode 0 break endif endif if TimeToGo = 1 and not warmode break endif if EnableUsePotionKegs = 1 and findtype 'empty bottle%s%' self and findtype 'keg' self and timer 'PotionKegPVPCooldown' > 30000 @setvar! PotionStockCheck 0 while PotionStockCheck < 8 and findtype 'empty bottle%s%' self if PotionStockCheck = 0 if HealingPotionAmount = 0 @setvar! PotionStockCheck 1 else @setvar! PotionType 3852 @setvar! KegColour 253 @setvar! PotionAmounttoFill HealingPotionAmount @setvar! PotionStockCheck 1 endif elseif PotionStockCheck = 1 if CurePotionAmount = 0 @setvar! PotionStockCheck 2 else @setvar! PotionType 3847 @setvar! KegColour 44 @setvar! PotionAmounttoFill CurePotionAmount @setvar! PotionStockCheck 2 endif elseif PotionStockCheck = 2 if RefreshPotionAmount = 0 @setvar! PotionStockCheck 3 else @setvar! PotionType 3851 @setvar! KegColour 37 @setvar! PotionAmounttoFill RefreshPotionAmount @setvar! PotionStockCheck 3 endif elseif PotionStockCheck = 3 if StrengthPotionAmount = 0 @setvar! PotionStockCheck 4 else @setvar! PotionType 3849 @setvar! KegColour 956 @setvar! PotionAmounttoFill StrengthPotionAmount @setvar! PotionStockCheck 4 endif elseif PotionStockCheck = 4 if AgilityPotionAmount = 0 @setvar! PotionStockCheck 5 else @setvar! PotionType 3848 @setvar! KegColour 93 @setvar! PotionAmounttoFill AgilityPotionAmount @setvar! PotionStockCheck 5 endif elseif PotionStockCheck = 5 if ResistPotionAmount = 0 @setvar! PotionStockCheck 6 else @setvar! PotionType 3846 @setvar! KegColour 1109 @setvar! PotionAmounttoFill ResistPotionAmount @setvar! PotionStockCheck 6 endif elseif PotionStockCheck = 6 if PoisonPotionAmount = 0 @setvar! PotionStockCheck 7 else @setvar! PotionType 3850 @setvar! KegColour 363 @setvar! PotionAmounttoFill PoisonPotionAmount @setvar! PotionStockCheck 7 endif elseif PotionStockCheck = 7 if ExplosionPotionAmount = 0 @setvar! PotionStockCheck 8 else @setvar! PotionType 3853 @setvar! KegColour 419 @setvar! PotionAmounttoFill ExplosionPotionAmount @setvar! PotionStockCheck 8 endif else break endif while counttype PotionType self < PotionAmounttoFill and warmode if not findtype 'empty bottle%s%' self if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 5000 overhead '[ NO EMPTY BOTTLES... ]' 337 settimer 'PotionKegTimer' 0 endif break endif if diffhits > HealPotionHPdiff break endif if not warmode break endif if findtype 'keg' self KegColour as myKeg dclick myKeg wait 250 if EnableOverheadMessages = 1 if timer 'PotionKegTimer' > 2000 overhead '[ FILLING POTS... ]' KegColour settimer 'PotionKegTimer' 0 endif endif else if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 5000 overhead '[ NO KEG TO USE... ]' KegColour settimer 'PotionKegTimer' 0 endif break endif if insysmsg "You have been in combat with another player" settimer "PotionKegPVPCooldown" 0 break endif endwhile if counttype PotionType self < PotionAmounttoFill and not findtype 'empty bottle%s%' self if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 5000 overhead '[ NO EMPTY BOTTLES... ]' 337 settimer 'PotionKegTimer' 0 endif break endif endwhile endif if EnableStrengthPotion = 1 and diffhits < CastGreaterHealHPdiff if skill 'Alchemy' > 0 and skill 'Alchemy' < 2 if insysmsg "You may now use a strength" or not findbuff "Strength Potion Usage Cooldown" if findtype "White Potion" self dclicktype "White Potion" if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE STRENGTH POTION ]' 956 else overhead '[ STRENGTH POTION ]' 956 endif clearsysmsg settimer WhitePotionMessageTimer 0 endif wait 250 else if timer WhitePotionMessageTimer > 4500 overhead '[ NO STRENGTH POTS! ]' 337 settimer WhitePotionMessageTimer 0 endif endif clearsysmsg endif elseif skill 'Alchemy' = 0 if insysmsg "You may now use a strength" or not findbuff "Strength Potion Usage Cooldown" if findtype "White Potion" self dclicktype "White Potion" if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE STRENGTH POTION ]' 956 else overhead '[ STRENGTH POTION ]' 956 endif clearsysmsg settimer WhitePotionMessageTimer 0 endif wait 250 else if timer WhitePotionMessageTimer > 4500 overhead '[ NO STRENGTH POTS! ]' 337 settimer WhitePotionMessageTimer 0 endif endif clearsysmsg endif else if not findbuff "Strength" if findtype "White Potion" self dclicktype "White Potion" if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE STRENGTH POTION ]' 956 else overhead '[ STRENGTH POTION ]' 956 endif clearsysmsg settimer WhitePotionMessageTimer 0 endif wait 250 else if timer WhitePotionMessageTimer > 4500 overhead '[ NO STRENGTH POTS! ]' 337 settimer WhitePotionMessageTimer 0 endif endif endif endif endif if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff if findtype "Yellow Potion" self as HealPot getlabel HealPot HealPotlabel if "next" in HealPotlabel // Do nothing else @setvar! HealPotionCheck 0 if counttype 3852 self as HealPotCount @setvar! HealPotionCheck HealPotCount endif clearsysmsg dclicktype 3852 getlabel backpack backpackdesc wait 250 if insysmsg "potion satchel used" settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 4500 overhead '[ FREE HEAL POTION ]' 253 endif elseif HealPotionCheck != counttype 3852 self settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 4500 overhead '[ HEAL POTION ]' 253 endif endif clearsysmsg endif else if timer 'HealPotionMessageTimer' > 4500 and EnableOverheadMessages = 1 overhead '[ NO HEAL POTS! ]' 337 settimer 'HealPotionMessageTimer' 0 endif endif endif if skill 'healing' > 0 and hp < maxhp and not bandaging if findtype 'clean bandage%s%' self hotkey 'Bandage Self' if EnableOverheadMessages = 1 overhead '[ BANDAGING... ]' 88 endif else if EnableOverheadMessages = 1 overhead '[ NO BANDAGES! ]' 337 endif endif endif if not findtype 3972 self or not findtype 3973 self or not findtype 3974 self or not findtype 3981 self @setvar! missingGreaterHealRegs 1 getlabel backpack backpacklabel else @setvar! missingGreaterHealRegs 0 endif if not findtype 3972 self or not findtype 3973 self or not findtype 3974 self @setvar! missingHealRegs 1 getlabel backpack backpacklabel else @setvar! missingHealRegs 0 endif if missingGreaterHealRegs = 1 or missingHealRegs = 1 if timer NoHealRegsTimer > 4000 overhead '[ MISSING HEALING REGS! ]' 337 settimer NoHealRegsTimer 0 endif endif @setvar! SpellInterrupted 0 clearsysmsg if skill 'magery' >= 60 and diffhits >= CastGreaterHealHPdiff and diffhits <= CastHealHPdiff and mana >= 11 and EnableCastGreaterHeal = 1 and not casting and missingGreaterHealRegs != 1 say 'All guard me' 2234 @setvar! SpellInterrupted 0 cast 'greater heal' getlabel backpack backpacklabel settimer spellTimer 0 @setvar! spellCD 2500 while not targetexists and timer spellTimer < spellCD if insysmsg "Your concentration is disturbed" interrupt @setvar! SpellInterrupted 1 break endif if timer spellTimer > spellCD break endif endwhile if SpellInterrupted = 0 target 'self' endif elseif skill 'magery' >= 40 and diffhits >= CastHealHPdiff and diffhits < CastEmergencyHealHPdiff and mana >= 4 and EnableCastHeal = 1 and not casting and missingHealRegs != 1 say 'All guard me' 2234 @setvar! SpellInterrupted 0 cast 'heal' getlabel backpack backpacklabel settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 1500 if insysmsg "Your concentration is disturbed" interrupt @setvar! SpellInterrupted 1 break endif if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif endwhile if SpellInterrupted = 0 target 'self' endif elseif skill 'magery' >= 40 and diffhits >= CastEmergencyHealHPdiff and mana >= 4 and EnableCastHeal = 1 and not casting and missingHealRegs != 1 say 'All guard me' 2234 while diffhits > CastGreaterHealHPdiff and mana >= 4 and findtype 3972 self and findtype 3973 self and findtype 3974 self and not dead if targetexists hotkey 'Cancel current target' endif @setvar! SpellInterrupted 0 cast 'heal' getlabel backpack backpacklabel settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 1500 if insysmsg "Your concentration is disturbed" interrupt @setvar! SpellInterrupted 1 break endif if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif endwhile if SpellInterrupted = 0 target 'self' getlabel backpack backpacklabel endif if diffhits <= CastGreaterHealHPdiff break endif endwhile endif if EnableAgilityPotion = 1 and not findbuff "Agility" and diffhits < CastGreaterHealHPdiff if findtype "Blue Potion" self dclicktype "Blue Potion" if EnableOverheadMessages = 1 and timer BluePotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE AGILITY POTION ]' 93 else overhead '[ AGILITY POTION ]' 93 endif clearsysmsg settimer BluePotionMessageTimer 0 endif wait 250 else if timer BluePotionMessageTimer > 4500 overhead '[ NO AGILITY POTS! ]' 337 settimer BluePotionMessageTimer 0 endif endif endif if EnableMagicResistPotion = 1 and not findbuff "Magic Resist" and diffhits < CastGreaterHealHPdiff if findtype "Black Potion" self dclicktype "Black Potion" if EnableOverheadMessages = 1 and timer BlackPotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE RESIST POTION ]' 1109 else overhead '[ RESIST POTION ]' 1109 endif clearsysmsg settimer BlackPotionMessageTimer 0 endif wait 250 else if timer BlackPotionMessageTimer > 4500 overhead '[ NO RESIST POTS! ]' 337 settimer BlackPotionMessageTimer 0 endif endif endif if TimeToGo = 1 and warmode break endif if EnableEatMagicMushrooms = 1 if diffmana > EatMushroomManadiff and timer MushroomTimer > 60000 if counttype 29012 backpack dclicktype 29012 backpack getlabel backpack packdesc wait 250 if insysmsg "You consume a magic mushroom" settimer MushroomTimer 0 cooldown "Mushroom" 60000 if EnableOverheadMessages = 1 overhead '[ EATING SHROOMS... ]' 13 endif endif elseif EnableOverheadMessages = 1 overhead '[ OUT OF SHROOMS! ]' 337 endif endif endif if warmode clearsysmsg hotkey 'target closest grey monster' getlabel backpack backpacklabel @setvar! TargetToAnalyze lasttarget wait 250 if insysmsg 'No one matching that' if timer NothingToTargetMessageTimer > 3500 if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 overhead '[ NOTHING TO TARGET... ]' 2338 else overhead ' � ' 2338 endif settimer NothingToTargetMessageTimer 0 endif clearsysmsg else @setvar! AttackModeActive 0 @setvar! NoTargetMode 0 break endif endif if warmode 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 self if targetexists hotkey 'cancel current target' endif cast 'Magic Reflection' while not casting wait 250 if insysmsg "that spell will not" or insysmsg "that spell is already" or insysmsg "You must wait" settimer MagicReflectTimer 0 clearsysmsg break endif if targetexists hotkey 'cancel current target' endif cast 'Magic Reflection' endwhile while casting if timer MagicReflectTimer < 5000 break endif if diffhits >= CastGreaterHealHPdiff interrupt @setvar! AttackModeActive 1 break endif if EnableCurePotion = 1 while poisoned and casting and not targetexists if findtype "Orange Potion" self dclicktype "Orange Potion" if EnableOverheadMessages = 1 and timer 'CurePotionMessageTimer' > 3500 if insysmsg "potion satchel used" overhead '[ FREE CURE POTION ]' 44 else overhead '[ CURE POTION ]' 44 endif clearsysmsg settimer 'CurePotionMessageTimer' 0 endif wait 500 else if timer 'CurePotionMessageTimer' > 5000 and EnableOverheadMessages = 1 overhead '[ NO CURE POTS! ]' 337 settimer 'CurePotionMessageTimer' 0 endif break endif endwhile endif if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff if findtype "Yellow Potion" self as HealPot getlabel HealPot HealPotlabel if "next" in HealPotlabel // Do nothing else @setvar! HealPotionCheck 0 if counttype 3852 self as HealPotCount @setvar! HealPotionCheck HealPotCount endif clearsysmsg dclicktype 3852 getlabel backpack backpackdesc wait 250 if insysmsg "potion satchel used" settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 4500 overhead '[ FREE HEAL POTION ]' 253 endif elseif HealPotionCheck != counttype 3852 self settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 4500 overhead '[ HEAL POTION ]' 253 endif endif clearsysmsg endif else if timer 'HealPotionMessageTimer' > 4500 and EnableOverheadMessages = 1 overhead '[ NO HEAL POTS! ]' 337 settimer 'HealPotionMessageTimer' 0 endif endif endif endwhile settimer MagicReflectTimer 0 wait 250 if dead break endif if diffhits >= CastGreaterHealHPdiff @setvar! AttackModeActive 1 break endif endif 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 self if targetexists hotkey 'cancel current target' endif cast 'Reactive Armor' settimer AntiStallTimer 0 while not casting and timer AntiStallTimer < 3500 wait 250 if insysmsg "that spell will not" or insysmsg "that spell is already" settimer ReactiveArmorTimer 0 break endif if targetexists hotkey 'cancel current target' endif cast 'Reactive Armor' endwhile if timer ReactiveArmorTimer < 5000 // Do nothing else while casting wait 250 endwhile settimer ReactiveArmorTimer 0 endif wait 250 endif if EnableArchProtection = 1 and skill 'magery' >= 60 and not findbuff "Protection" and mana >= MinimumManaToApplyMageryBuffs and diffhits < CastGreaterHealHPdiff and findtype 3980 self and findtype 3972 self and findtype 3973 self and findtype 3974 self if targetexists hotkey 'cancel current target' endif cast 'Arch Protection' settimer AntiStallTimer 0 while not casting and timer AntiStallTimer < 3500 if timer AntiStallTimer > 3500 settimer AntiStallTimer 0 break endif cast 'Arch Protection' wait 250 endwhile while casting wait 250 endwhile wft 500 target 'self' wait 250 elseif 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 self cast 'Protection' settimer AntiStallTimer 0 while not casting and timer AntiStallTimer < 3500 if timer AntiStallTimer > 3500 settimer AntiStallTimer 0 break endif cast 'Protection' wait 250 endwhile while casting wait 250 endwhile endif if EnableBless = 1 and skill 'magery' >= 50 and not findbuff "Cunning" and mana >= MinimumManaToApplyMageryBuffs and diffhits < CastGreaterHealHPdiff and findtype 3972 self and findtype 3974 self if targetexists hotkey 'cancel current target' endif cast 'Bless' settimer AntiStallTimer 0 while not casting and timer AntiStallTimer < 3500 if timer AntiStallTimer > 3500 settimer AntiStallTimer 0 break endif cast 'Bless' wait 250 endwhile while casting wait 250 endwhile wft 1500 target 'self' wait 250 endif endif if EnableRefreshPotion = 1 and diffstam > RefreshPotionSPdiff if findtype "Red Potion" self dclicktype "Red Potion" if EnableOverheadMessages = 1 and timer RedPotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE REFRESH POTION ]' 37 else overhead '[ REFRESH POTION ]' 37 endif clearsysmsg settimer RedPotionMessageTimer 0 endif wait 250 else if timer RedPotionMessageTimer > 4500 overhead '[ NO REFRESH POTS! ]' 337 settimer RedPotionMessageTimer 0 endif endif endif if EnableGoldVacuum = 1 and DisableVacuums != 1 and warmode if findtype "gold coin" ground -1 -1 15 as droppedmoney and timer "GoldRadar" > 3500 overhead " � " 149 droppedmoney settimer "GoldRadar" 0 endif while findtype "gold coin" ground -1 -1 2 as droppedmoney and diffhits < CastGreaterHealHPdiff overhead " � " 149 hotkey "Grab Item" wft 2500 target droppedmoney wait 250 if dead break endif if diffhits >= CastGreaterHealHPdiff @setvar! AttackModeActive 1 break endif if insysmsg "Invalid or inaccessible item" wait 500 @ignore droppedmoney endif wait 250 endwhile endif if not varexist "NoLockbox" @setvar! NoLockbox 0 endif if findtype "wooden box" self and findtype "copper key" self @setvar! NoLockbox 0 else @setvar! NoLockbox 1 endif if EnablePutLootinLockBox = 1 and NoLockbox != 1 and timer LootTimer > StoreLootDelay and warmode and NeedtoSecureLoot = 1 if not findtype "wooden box" backpack or not findtype "copper key" backpack if EnableOverheadMessages != 0 overhead '[ NO LOCKBOX FOUND! ]' 337 endif @setvar! NoLockbox 1 wait 1500 elseif counttype 2474 backpack > 1 or counttype 4110 backpack > 1 if EnableOverheadMessages != 0 overhead '[ TOO MANY LOCKBOXES/KEYS! ]' 337 endif @setvar! NoLockbox 1 wait 1500 else if targetexists hotkey 'Cancel Current Target' endif clearsysmsg hotkey 'Target closest grey monster' wait 250 if insysmsg "No one matching that was found" if findtype "wooden box" backpack as lockbox and findtype "copper key" backpack as key if EnableAutoCrookCheck = 1 if listexists CrooksToUnignore removelist CrooksToUnignore endif createlist CrooksToUnignore for 5 if findtype "shepherd's crook" self as myCrook # ' getlabel myCrook crooklabel wait 250 if 'activated' in crooklabel @setvar! CrooktoIgnore myCrook ignore CrooktoIgnore break else pushlist CrooksToUnignore myCrook @ignore myCrook endif wait 250 endif endfor foreach CrookToUnignore in CrooksToUnignore @unignore CrookToUnignore endfor removelist CrooksToUnignore endif @ignore ItemToIgnore1 @ignore ItemToIgnore2 @ignore ItemToIgnore3 @ignore ItemToIgnore4 @ignore ItemToIgnore5 @setvar! FoundNewTarget 0 settimer STORELOOT 0 settimer LootTimer 0 settimer PKRadarTimer 0 getlabel lockbox lockboxLabel if "items" in lockboxLabel // Do nothing else if EnableOverheadMessages != 0 overhead "[loot box unlocked]" 84 endif dclick key wft 1500 target lockbox getlabel backpack backpacklabel endif removelist TemporaryLootIgnoreList createlist TemporaryLootIgnoreList 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 loottostore ////////////////////////// // LOOT STORAGE LOOP: // ////////////////////////// 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 loottostore if dead break endif if diffhits >= CastGreaterHealHPdiff sysmsg 'Damage threshold exceeded - Loot storage loop cancelled!' 153 break endif if not warmode sysmsg 'Peace Mode triggered - Loot storage loop cancelled!' 153 hotkey 'Toggle War Only' break endif if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if timer "LootStorageTimer" > 3200 overhead '[ SECURING LOOT... ]' 149 settimer "LootStorageTimer" 0 endif endif getlabel loottostore loottostorelabel wait 200 if "blessed" in loottostorelabel or "aspect" in loottostorelabel @ignore loottostore pushlist TemporaryLootIgnoreList loottostore else lift loottostore 60000 drop lockbox -1 -1 -1 wait 200 if find loottostore lockbox @ignore loottostore else @ignore loottostore pushlist TemporaryLootIgnoreList loottostore endif endif if insysmsg "to be locked" clearsysmsg dclick key wft 1500 target lockbox wait 250 endif if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff and not dead if findtype "Yellow Potion" self as HealPot getlabel HealPot HealPotlabel if "next" in HealPotlabel // Do nothing else @setvar! HealPotionCheck 0 if counttype 3852 self as HealPotCount @setvar! HealPotionCheck HealPotCount endif clearsysmsg dclicktype 3852 getlabel backpack backpackdesc wait 250 if HealPotionCheck != counttype 3852 self or insysmsg "potion satchel used" settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 if insysmsg "potion satchel used" overhead '[ FREE HEAL POTION ]' 253 else overhead "[ HEAL POTION ]" 253 endif endif clearsysmsg endif endif else if timer 'HealPotionMessageTimer' > 4500 overhead "[ NO HEAL POTS! ]" 337 settimer 'HealPotionMessageTimer' 0 endif endif endif if diffhits > 0 and not bandaging and not dead if skill 'healing' > 0 if findtype 'clean bandage%s%' self if targetexists hotkey 'cancel current target' endif hotkey 'Bandage Self' if EnableOverheadMessages = 1 if timer BandageMessageTimer > 5000 overhead "[ BANDAGING... ]" 88 settimer BandageMessageTimer 0 endif endif else if timer BandageMessageTimer > 5000 and EnableOverheadMessages = 1 overhead "[ OUT OF BANDAGES! ]" 337 settimer BandageMessageTimer 0 endif endif endif endif if EnableCurePotion = 1 and not dead while poisoned if findtype "Orange Potion" self dclicktype "Orange Potion" if EnableOverheadMessages = 1 and timer 'CurePotionMessageTimer' > 3500 overhead "[ CURE POTION ]" 44 settimer 'CurePotionMessageTimer' 0 endif wait 250 else if timer 'CurePotionMessageTimer' > 5000 overhead "[ NO CURE POTS! ]" 337 settimer 'CurePotionMessageTimer' 0 endif if not findtype 3972 self or not findtype 3973 self break endif endif if not poisoned break endif endwhile endif if EnablePKradar = 1 and TimeToGo != 1 if timer "PKRadarTimer" > 2000 clearsysmsg hotkey 'Next Murderer Player Target' wait 150 if insysmsg "No one matching that was found" settimer "PKRadarTimer" 0 else hotkey 'Toggle Peace Only' @setvar! RedTargetFound 1 @setvar! TimeToGo 1 @setvar! MurdererTarget lasttarget if EnableRedAlertOverhead = 1 overhead "[ !! RED ALERT !! ]" 37 endif replay endif endif endif if EnableTrackingAutoRecall = 1 and TimeToGo != 1 if PKTrackingRange = 60 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead "[ !! RED ALERT !! ]" 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 50 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead "[ !! RED ALERT !! ]" 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 40 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead "[ !! RED ALERT !! ]" 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 0 if insysmsg "Now tracking" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead "[ !! RED ALERT !! ]" 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif endif endif if timer 'STORELOOT' > 1500 clearsysmsg hotkey 'Target Closest Grey Monster' getlabel backpack backpacklabel wait 100 if insysmsg 'No one matching that was found' @setvar! FoundNewTarget 0 @setvar! LootTargetMOB 0 else @setvar! LootTargetMOB lasttarget getlabel LootTargetMOB templabel if inlist animalsIgnoreList tempLabel if timer "IgnoreMOBtimer" > 2500 if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 overhead '[ IGNORING MOB! ]' 333 LootTargetMOB else overhead " � " 333 LootTargetMOB endif getlabel backpack backpacklabel settimer "IgnoreMOBtimer" 0 endif @ignore LootTargetMOB elseif find LootTargetMOB ground -1 -1 12 clearsysmsg skill 'begging' wft 500 if not targetexists or insysmsg 'You must wait' clearsysmsg skill 'begging' wft 500 endif target LootTargetMOB getlabel backpack backpackdesc if not dead LootTargetMOB if insysmsg "Target cannot be seen" or insysmsg "That is too far away." @setvar! FoundNewTarget 0 @setvar! LootTargetMOB 0 elseif insysmsg "Perhaps" or insysmsg "They do not appear to have anything to offer you" sysmsg 'Nearby MOB detected - Loot storage loop cancelled!' 153 @setvar! FoundNewTarget 1 break endif endif else @setvar! LootTargetMOB 0 endif endif settimer 'STORELOOT' 0 endif endwhile endif ///////////////////////////// // END LOOT STORAGE LOOP // ///////////////////////////// if not dead dclick key wft 1500 target lockbox if EnableOverheadMessages != 0 overhead "[loot box locked]" 69 endif @setvar! NeedtoSecureLoot 0 endif foreach TemporaryLootIgnore in TemporaryLootIgnoreList @unignore TemporaryLootIgnore endfor removelist TemporaryLootIgnoreList @unignore ItemToIgnore1 @unignore ItemToIgnore2 @unignore ItemToIgnore3 @unignore ItemToIgnore4 @unignore ItemToIgnore5 if EnableAutoCrookCheck = 1 @unignore CrooktoIgnore endif @setvar! NeedtoSecureLoot 0 settimer LootTimer 0 getlabel lockbox lockboxLabel if "items" in lockboxLabel and not dead dclick key wft 1500 target lockbox endif endif else @setvar! TargetToAnalyze lasttarget getlabel backpack backpacklabel break endif endif settimer LootTimer 0 endif if dead break endif if FoundNewTarget = 1 @setvar! SkipTimers 1 @setvar! AttackModeActive 2 break endif if EnableDungeonCleanup = 1 and diffhits < CastGreaterHealHPdiff and warmode while findtype "iron ingot%s|board%s|cut up leather|3972|3962|3963|3980|3976|3973|3974|3981" ground -1 -1 2 as item if EnableOverheadMessages = 1 if timer "DungeonCleanup" > 1500 overhead '[ CLEANUP... ]' 420 settimer "DungeonCleanup" 0 endif else if timer "DungeonCleanup" > 1500 overhead ' � ' 420 settimer "DungeonCleanup" 0 endif endif hotkey "Grab Item" wft 1000 target item wait 500 if dead break endif if diffhits > CastGreaterHealHPdiff break endif endwhile 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" > 3500 overhead "�" 420 dungeonjunk settimer "DungeonCleanupRadar" 0 endif endif if dead break endif if SummonEarthElemental_or_AncientMummy != 0 or SummonWaterElemental_or_RagWitch != 0 or SummonFireElemental_or_Lich != 0 or SummonAirElemental_or_SkeletalFiend != 0 or SummonDemon_or_VampireThrall != 0 or SummonCreature_or_UndeadCreature != 0 if followers < TotalSummonCount @setvar! AttackModeActive 2 replay endif endif if targetexists hotkey 'cancel current target' endif endwhile if FoundNewTarget = 1 @setvar! SkipTimers 1 @setvar! AttackModeActive 2 break endif //////////////////////////// // END NO TARGET LOOP // //////////////////////////// getlabel backpack backpacklabel else @setvar! AttackModeActive 0 endif endif if not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and AttackModeActive = 1 and warmode and TimeToGo != 1 // Skip target checks and begin attack loop! ////////////////////// // TARGET CHECKER // ////////////////////// elseif not dead TargetToAnalyze and find TargetToAnalyze ground -1 -1 12 and TimeToGo != 1 if warmode settimer AnalyzeTargetTimeout 0 while diffhits < CastGreaterHealHPdiff and find TargetToAnalyze ground -1 -1 12 and AttackModeActive = 0 and warmode and timer AnalyzeTargetTimeout < 4000 if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if timer AnalyzingTargetsTimer > 10000 overhead '[ ANALYZING TARGET... ]' 90 settimer AnalyzingTargetsTimer 0 endif endif if dead break endif if dead TargetToAnalyze or not find TargetToAnalyze ground -1 -1 12 @setvar! AttackModeActive 0 break endif if timer AnalyzeTargetTimeout > 4000 @setvar! AttackModeActive 0 break endif if EnableAutoCarving = 1 and findtype 11552 self while findtype "corpse" ground -1 -1 2 as deadbody and diffhits < CastGreaterHealHPdiff settimer SkinningTimeoutTimer 0 if findtype 11552 self if targetexists hotkey 'cancel current target' endif while not targetexists skill 'forensicevaluation' getlabel backpack backpacklabel endwhile clearsysmsg if targetexists and find deadbody ground -1 -1 2 target 'self' @ignore deadbody wait 250 endif if insysmsg "You dont see anything nearby" clearsysmsg break else if EnableOverheadMessages = 1 and timer SkinningTimer > 3000 overhead '[ SKINNING... ]' 333 settimer SkinningTimer 0 endif break endif else if EnableOverheadMessages = 1 and timer SkinningTimer > 15000 overhead '[ NO SKINNING KNIFE ]' 337 settimer SkinningTimer 0 break endif endif if timer SkinningTimeoutTimer > 1500 or diffhits > CastGreaterHealHPdiff break endif endwhile endif if find TargetToAnalyze ground -1 -1 12 getlabel TargetToAnalyze tempLabel while "-" in tempLabel getlabel TargetToAnalyze tempLabel endwhile if inlist animalsIgnoreList tempLabel if timer "IgnoreMOBtimer" > 2500 if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 overhead '[ IGNORING MOB! ]' 333 TargetToAnalyze else overhead " � " 333 TargetToAnalyze endif getlabel backpack backpacklabel settimer "IgnoreMOBtimer" 0 @ignore TargetToAnalyze endif settimer NoTargetTimer 0 else clearsysmsg skill 'begging' settimer AntiStallTimer 0 wait 250 while not targetexists if insysmsg 'you must wait' clearsysmsg skill 'begging' wait 250 endif wait 250 if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif endwhile if targetexists target TargetToAnalyze getlabel backpack backpacklabel endif if not dead TargetToAnalyze and find TargetToAnalyze ground -1 -1 12 if insysmsg "cannot be seen" if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if timer "CannotSeeTargetTimer" > 3000 overhead '[ CANNOT SEE TARGET! ]' 44 settimer "CannotSeeTargetTimer" 0 endif elseif timer "CannotSeeTargetTimer" > 4500 overhead " � " 44 TargetToAnalyze settimer "CannotSeeTargetTimer" 0 endif settimer NoTargetTimer 0 if diffhits > CastGreaterHealHPdiff break endif clearsysmsg hotkey 'target closest grey monster' getlabel backpack backpacklabel @setvar! TargetToCheck lasttarget if insysmsg 'No one matching that' @setvar! AttackModeActive 0 @setvar! TargetToAnalyze 0 @setvar! TargetToCheck 0 break elseif TargetToCheck != TargetToAnalyze @setvar! AttackModeActive 0 @setvar! TargetToAnalyze 0 @setvar! TargetToCheck 0 break elseif find TargetToAnalyze ground -1 -1 TargetAttackRange @setvar! TargetToAnalyze lasttarget @setvar! AttackModeActive 2 else break endif elseif insysmsg "That is too far away." if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if timer "TargetIsTooFarTimer" > 2000 overhead '[ GET CLOSER! ]' 69 overhead " � " 69 TargetToAnalyze settimer "TargetIsTooFarTimer" 0 endif elseif timer "TargetIsTooFarTimer" > 4500 overhead " � " 44 TargetToAnalyze settimer "TargetIsTooFarTimer" 0 endif settimer NoTargetTimer 0 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" if find TargetToAnalyze ground -1 -1 TargetAttackRange if ClosestTarget != TargetToAnalyze settimer CurseTimer 60000 settimer ManaDrainTimer 60000 getlabel backpack backpacklabel endif clearsysmsg @setvar! ClosestTarget TargetToAnalyze settimer 'PainSpikeDelayTimer' 0 @setvar! ClosestTargetisSticky 0 say 'All kill' 2234 wft 1500 target ClosestTarget if timer "AttackTargetTimer" > 15000 if EnableOverheadMessages != 0 overhead '[ ATTACKING! ]' 69 endif settimer "AttackTargetTimer" 0 endif @setvar! AttackModeActive 1 @setvar! NoTargetMode 0 @setvar! TargetSwap 0 @setvar! ClosestTargetisSticky 0 @setvar! RepeatCastingPoison 1 settimer PainSpikeDelayTimer 0 settimer TargetChecker 0 settimer NoTargetTimer 0 if EnableNecroCorpseSkin = 1 settimer CorpseSkinDiseaseTimer 0 endif if find ClosestTarget ground -1 -1 TargetAttackRange getlabel ClosestTarget TargetDesc if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ PARAGON! ]' 12 ClosestTarget overhead " � " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ TARGET ]' 69 ClosestTarget overhead " � " 69 ClosestTarget settimer "TargetTimer" 0 endif else if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead " ��� " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead " � " 69 ClosestTarget settimer "TargetTimer" 0 endif endif endif break else if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if timer "TargetIsTooFarTimer" > 3500 overhead '[ GET CLOSER! ]' 69 settimer "TargetIsTooFarTimer" 0 endif elseif timer "TargetIsTooFarTimer" > 4500 overhead " � " 69 TargetToAnalyze settimer "TargetIsTooFarTimer" 0 endif settimer NoTargetTimer 0 endif endif else break endif endif else @setvar! TargetToAnalyze 0 break endif getlabel backpack backpacklabel if AttackModeActive != 0 break endif if targetexists hotkey 'cancel current target' endif if casting interrupt endif endwhile if dead break endif else if DUNGEONMODE = 1 @setvar! TimeToGo 1 elseif WILDERNESSMODE = 1 @setvar! AutoRecallTime 1 endif replay endif getlabel backpack backpacklabel endif //////////////////////// // BUFFS: // //////////////////////// if dead break endif if not warmode break endif if EnableEatMagicMushrooms = 1 if diffmana > EatMushroomManadiff and timer MushroomTimer > 60000 if counttype 29012 backpack dclicktype 29012 backpack getlabel backpack packdesc wait 250 if insysmsg "You consume a magic mushroom" settimer MushroomTimer 0 cooldown "Mushroom" 60000 if EnableOverheadMessages = 1 overhead '[ EATING SHROOMS... ]' 13 endif endif elseif EnableOverheadMessages = 1 overhead '[ OUT OF SHROOMS! ]' 337 endif endif endif @setvar! CastingWasInterrupted 0 if EnableSpellbookCheck = 1 and not findtype "spellbook" hand if findtype "spellbook" self as mySpellbook for 5 if findtype "spellbook" self as mySpellbook getlabel mySpellbook mySpellbooklabel if "aspect" in mySpellbooklabel break elseif "unidentified" in mySpellbooklabel ignore mySpellbook elseif "blessed" in mySpellbooklabel ignore mySpellbook elseif "spells" in mySpellbooklabel ignore mySpellbook else break endif endif endfor dclick mySpellbook clearignore getlabel backpack backpacklabel else if timer "SpellbookCheck" > 5000 and EnableOverheadMessages = 1 overhead '[ NO SPELLBOOK! ]' 337 settimer "SpellbookCheck" 0 endif endif endif if EnableAutoCrookCheck = 1 if skill 'herding' > 50 and timer CrookCheckTimer > 10000 if findtype "shepherd's crook" self # ' if listexists CrooksToUnignore removelist CrooksToUnignore endif createlist CrooksToUnignore for 5 if findtype "shepherd's crook" self as myCrook # ' getlabel myCrook crooklabel wait 250 if 'activated' in crooklabel break elseif 'unidentified' in crooklabel pushlist CrooksToUnignore myCrook @ignore myCrook else if followers > 0 if EnableOverheadMessages = 1 overhead "[ ACTIVATING CROOK! ]" 2114 else overhead "*crook activated*" 2114 endif dclick myCrook wait 250 break endif endif wait 250 endif endfor foreach CrookToUnignore in CrooksToUnignore @unignore CrookToUnignore endfor removelist CrooksToUnignore elseif not findtype "shepherd's crook" self # ' if EnableOverheadMessages != 0 if timer CrookCheckOverheadTimer > 15000 overhead "[ NO CROOK FOUND! ]" 337 settimer CrookCheckOverheadTimer 0 endif endif endif settimer CrookCheckTimer 0 endif endif @setvar! CastingWasInterrupted 0 if TimeToGo != 1 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 self if targetexists hotkey 'cancel current target' endif cast 'Magic Reflection' while not casting wait 250 if insysmsg "that spell will not" or insysmsg "that spell is already" or insysmsg "You must wait" settimer MagicReflectTimer 0 clearsysmsg break endif if targetexists hotkey 'cancel current target' endif cast 'Magic Reflection' endwhile while casting if timer MagicReflectTimer < 5000 break endif if diffhits >= CastGreaterHealHPdiff interrupt @setvar! AttackModeActive 1 break endif if EnableCurePotion = 1 while poisoned and casting and not targetexists if findtype "Orange Potion" self dclicktype "Orange Potion" if EnableOverheadMessages = 1 and timer 'CurePotionMessageTimer' > 3500 if insysmsg "potion satchel used" overhead '[ FREE CURE POTION ]' 44 else overhead '[ CURE POTION ]' 44 endif clearsysmsg settimer 'CurePotionMessageTimer' 0 endif wait 500 else if timer 'CurePotionMessageTimer' > 5000 and EnableOverheadMessages = 1 overhead '[ NO CURE POTS! ]' 337 settimer 'CurePotionMessageTimer' 0 endif break endif endwhile endif if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff if findtype "Yellow Potion" self as HealPot getlabel HealPot HealPotlabel if "next" in HealPotlabel // Do nothing else @setvar! HealPotionCheck 0 if counttype 3852 self as HealPotCount @setvar! HealPotionCheck HealPotCount endif clearsysmsg dclicktype 3852 getlabel backpack backpackdesc wait 250 if insysmsg "potion satchel used" settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 4500 overhead '[ FREE HEAL POTION ]' 253 endif elseif HealPotionCheck != counttype 3852 self settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 4500 overhead '[ HEAL POTION ]' 253 endif endif clearsysmsg endif else if timer 'HealPotionMessageTimer' > 4500 and EnableOverheadMessages = 1 overhead '[ NO HEAL POTS! ]' 337 settimer 'HealPotionMessageTimer' 0 endif endif endif endwhile settimer MagicReflectTimer 0 wait 250 endif 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 self if targetexists hotkey 'cancel current target' endif cast 'Reactive Armor' settimer AntiStallTimer 0 while not casting and timer AntiStallTimer < 3500 wait 250 if insysmsg "that spell will not" or insysmsg "that spell is already" settimer ReactiveArmorTimer 0 break endif if targetexists hotkey 'cancel current target' endif cast 'Reactive Armor' endwhile if timer ReactiveArmorTimer < 5000 // Do nothing else while casting wait 250 endwhile settimer ReactiveArmorTimer 0 endif wait 250 endif if EnableArchProtection = 1 and skill 'magery' >= 60 and not findbuff "Protection" and mana >= MinimumManaToApplyMageryBuffs and diffhits < CastGreaterHealHPdiff and findtype 3980 self and findtype 3972 self and findtype 3973 self and findtype 3974 self if targetexists hotkey 'cancel current target' endif cast 'Arch Protection' settimer AntiStallTimer 0 while not casting and timer AntiStallTimer < 3500 if timer AntiStallTimer > 3500 settimer AntiStallTimer 0 break endif cast 'Arch Protection' wait 250 endwhile while casting wait 250 endwhile wft 500 target 'self' wait 250 elseif 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 self cast 'Protection' settimer AntiStallTimer 0 while not casting and timer AntiStallTimer < 3500 if timer AntiStallTimer > 3500 settimer AntiStallTimer 0 break endif cast 'Protection' wait 250 endwhile while casting wait 250 endwhile endif if EnableBless = 1 and skill 'magery' >= 50 and not findbuff "Cunning" and mana >= MinimumManaToApplyMageryBuffs and diffhits < CastGreaterHealHPdiff and findtype 3972 self and findtype 3974 self if targetexists hotkey 'cancel current target' endif cast 'Bless' settimer AntiStallTimer 0 while not casting and timer AntiStallTimer < 3500 if timer AntiStallTimer > 3500 settimer AntiStallTimer 0 break endif cast 'Bless' wait 250 endwhile while casting wait 250 endwhile wft 1500 target 'self' wait 250 endif endif ////////////////////////// // BEGIN ATTACK LOOP: // ////////////////////////// while warmode and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and diffhits < CastGreaterHealHPdiff and AttackModeActive = 1 while not warmode if TimeToGo = 1 break else if WILDERNESSMODE = 1 if EnableAutoRedRecall = 1 or EnableAutoWeightRecall = 1 overhead '[ RECALLING IN... ]' 2114 if warmode break endif wait 500 overhead "3" 69 wait 1000 if warmode break endif overhead "2" 69 wait 1000 if warmode break endif overhead "1" 69 wait 500 if warmode break else @setvar! TimeToGo 1 @setvar! AutoRecallTime 1 break endif endif elseif DUNGEONMODE = 1 if EnableAutoRedDungeonGate = 1 or EnableAutoWeightDungeonGate = 1 if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 overhead '[ DUNGEON ESCAPE! ]' 337 else overhead "�" 337 endif hotkey 'Toggle Peace Only' @setvar! TimeToGo 1 getlabel backpack backpacklabel wait 250 break endif endif endif endwhile if not warmode and TimeToGo = 1 break endif if SummonEarthElemental_or_AncientMummy != 0 or SummonWaterElemental_or_RagWitch != 0 or SummonFireElemental_or_Lich != 0 or SummonAirElemental_or_SkeletalFiend != 0 or SummonDemon_or_VampireThrall != 0 or SummonCreature_or_UndeadCreature != 0 if followers < TotalSummonCount @setvar! AttackModeActive 2 replay endif endif if timer "TargetTimer" > 3500 and find ClosestTarget ground -1 -1 TargetAttackRange getlabel ClosestTarget TargetDesc if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ PARAGON! ]' 12 ClosestTarget overhead " � " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ TARGET ]' 253 ClosestTarget overhead " � " 253 ClosestTarget settimer "TargetTimer" 0 endif else if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead " ��� " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead " � " 253 ClosestTarget settimer "TargetTimer" 0 endif endif endif if EnableAutoCrookCheck = 1 if skill 'herding' > 50 and timer CrookCheckTimer > 10000 if findtype "shepherd's crook" self # ' if listexists CrooksToUnignore removelist CrooksToUnignore endif createlist CrooksToUnignore for 5 if findtype "shepherd's crook" self as myCrook # ' getlabel myCrook crooklabel wait 250 if 'activated' in crooklabel break elseif 'unidentified' in crooklabel pushlist CrooksToUnignore myCrook @ignore myCrook else if followers > 0 if EnableOverheadMessages = 1 overhead "[ ACTIVATING CROOK! ]" 2114 else overhead "*crook activated*" 2114 endif dclick myCrook wait 250 break endif endif wait 250 endif endfor foreach CrookToUnignore in CrooksToUnignore @unignore CrookToUnignore endfor removelist CrooksToUnignore elseif not findtype "shepherd's crook" self # ' if EnableOverheadMessages != 0 if timer CrookCheckOverheadTimer > 15000 overhead "[ NO CROOK FOUND! ]" 337 settimer CrookCheckOverheadTimer 0 endif endif endif settimer CrookCheckTimer 0 endif endif if EnableStrengthPotion = 1 and diffhits < CastGreaterHealHPdiff if skill 'Alchemy' > 0 and skill 'Alchemy' < 2 if insysmsg "You may now use a strength" or not findbuff "Strength Potion Usage Cooldown" if findtype "White Potion" self dclicktype "White Potion" if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE STRENGTH POTION ]' 956 else overhead '[ STRENGTH POTION ]' 956 endif clearsysmsg settimer WhitePotionMessageTimer 0 endif wait 250 else if timer WhitePotionMessageTimer > 4500 overhead '[ NO STRENGTH POTS! ]' 337 settimer WhitePotionMessageTimer 0 endif endif clearsysmsg endif elseif skill 'Alchemy' = 0 if insysmsg "You may now use a strength" or not findbuff "Strength Potion Usage Cooldown" if findtype "White Potion" self dclicktype "White Potion" if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE STRENGTH POTION ]' 956 else overhead '[ STRENGTH POTION ]' 956 endif clearsysmsg settimer WhitePotionMessageTimer 0 endif wait 250 else if timer WhitePotionMessageTimer > 4500 overhead '[ NO STRENGTH POTS! ]' 337 settimer WhitePotionMessageTimer 0 endif endif clearsysmsg endif else if not findbuff "Strength" if findtype "White Potion" self dclicktype "White Potion" if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE STRENGTH POTION ]' 956 else overhead '[ STRENGTH POTION ]' 956 endif clearsysmsg settimer WhitePotionMessageTimer 0 endif wait 250 else if timer WhitePotionMessageTimer > 4500 overhead '[ NO STRENGTH POTS! ]' 337 settimer WhitePotionMessageTimer 0 endif endif endif endif endif if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff if findtype "Yellow Potion" self as HealPot getlabel HealPot HealPotlabel if "next" in HealPotlabel // Do nothing else @setvar! HealPotionCheck 0 if counttype 3852 self as HealPotCount @setvar! HealPotionCheck HealPotCount endif clearsysmsg dclicktype 3852 getlabel backpack backpackdesc wait 250 if insysmsg "potion satchel used" settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'YellowPotionMessageTimer' > 4500 overhead '[ FREE HEAL POTION ]' 253 endif elseif HealPotionCheck != counttype 3852 self settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'YellowPotionMessageTimer' > 4500 overhead '[ HEAL POTION ]' 253 endif endif clearsysmsg endif else if timer 'YellowPotionMessageTimer' > 4500 and EnableOverheadMessages = 1 overhead '[ NO HEAL POTS! ]' 337 settimer 'YellowPotionMessageTimer' 0 endif endif endif if skill 'healing' > 0 and hp < maxhp and not bandaging if findtype 'clean bandage%s%' self hotkey 'Bandage Self' if EnableOverheadMessages = 1 overhead '[ BANDAGING... ]' 88 endif else if EnableOverheadMessages = 1 overhead '[ NO BANDAGES! ]' 337 endif endif endif if EnableAgilityPotion = 1 and not findbuff "Agility" and diffhits < CastGreaterHealHPdiff if findtype "Blue Potion" self dclicktype "Blue Potion" if EnableOverheadMessages = 1 and timer BluePotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE AGILITY POTION ]' 93 else overhead '[ AGILITY POTION ]' 93 endif clearsysmsg settimer BluePotionMessageTimer 0 endif wait 250 else if timer BluePotionMessageTimer > 4500 and EnableOverheadMessages = 1 overhead '[ NO AGILITY POTS! ]' 337 settimer BluePotionMessageTimer 0 endif endif endif if EnableMagicResistPotion = 1 and not findbuff "Magic Resist" and diffhits < CastGreaterHealHPdiff if findtype "Black Potion" self dclicktype "Black Potion" if EnableOverheadMessages = 1 and timer BlackPotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE RESIST POTION ]' 1109 else overhead '[ RESIST POTION ]' 1109 endif clearsysmsg settimer BlackPotionMessageTimer 0 endif wait 250 else if timer BlackPotionMessageTimer > 4500 and EnableOverheadMessages = 1 overhead '[ NO RESIST POTS! ]' 337 settimer BlackPotionMessageTimer 0 endif endif endif if EnableRefreshPotion = 1 and diffstam > RefreshPotionSPdiff if findtype "Red Potion" self dclicktype "Red Potion" if EnableOverheadMessages = 1 and timer RedPotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE REFRESH POTION ]' 37 else overhead '[ REFRESH POTION ]' 37 endif clearsysmsg settimer RedPotionMessageTimer 0 endif wait 250 else if timer RedPotionMessageTimer > 4500 and EnableOverheadMessages = 1 overhead '[ NO REFRESH POTS! ]' 337 settimer RedPotionMessageTimer 0 endif endif endif if EnableAutoExplosionPots = 1 and diffhits < CastGreaterHealHPdiff if findtype 'purple potion' self as explotPot getlabel explotPot potLabel if "(" in potLabel if timer PurplePotionTimer > PurplePotionCooldown @setvar! PurplePotionReady 1 else @setvar! PurplePotionReady 0 endif else @setvar! PurplePotionReady 1 endif if skill 'Alchemy' < 80 if timer TelekinesisTimer > 60000 or ClosestTargetisSticky = 0 if PurplePotionReady = 1 and find ClosestTarget ground -1 -1 TargetAttackRange and not dead ClosestTarget if findtype 'purple potion' self settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 1500 if timer AntiStallTimer > 1500 break endif cast 'Telekinesis' wait 500 endwhile clearsysmsg wft 500 target ClosestTarget wait 250 if insysmsg "You are too far" @setvar! ClosestTargetisSticky 0 clearsysmsg else if EnableOverheadMessages = 1 and timer PurplePotionMessageTimer > 4500 overhead '[ EXPLOSION POTION! ]' 419 settimer PurplePotionMessageTimer 0 endif settimer TelekinesisTimer 0 @setvar! ClosestTargetisSticky 1 endif endif endif endif else @setvar! ClosestTargetisSticky 1 endif else if EnableOverheadMessages = 1 and timer PurplePotionMessageTimer > 15000 overhead '[ NO PURPLE POTIONS ]' 337 settimer PurplePotionMessageTimer 0 endif endif endif @setvar! CastingWasInterrupted 0 if targetexists hotkey 'cancel current target' endif if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange @setvar! RepeatCastingPoison 0 @setvar! AttackModeActive 0 @setvar! ClosestTargetisSticky 0 @setvar! TargetSwap 0 settimer TargetChecker 0 break endif if EnableAutoExplosionPots = 1 if timer TelekinesisTimer > 60000 @setvar! ClosestTargetisSticky 0 settimer TelekinesisTimer 0 endif endif if PurplePotionReady = 1 and ClosestTargetisSticky = 1 and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and diffhits < CastGreaterHealHPdiff settimer AntiStallTimer 0 while not insysmsg "Where should i throw this potion?" and timer AntiStallTimer < 1500 potion 'explosion' if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif endwhile @setvar! PurplePotionReady 0 settimer PurplePotionTimer 0 settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 1500 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange @setvar! RepeatCastingPoison 0 @setvar! AttackModeActive 0 @setvar! ClosestTargetisSticky 0 @setvar! CastingWasInterrupted 1 @setvar! TargetSwap 0 hotkey 'cancel current target' break endif if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif endwhile if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange break endif if CastingWasInterrupted = 0 target ClosestTarget cooldown "Purple Potion" PurplePotionCooldown getlabel backpack packdesc wait 250 endif endif if EnableEatMagicMushrooms = 1 if diffmana > EatMushroomManadiff and timer MushroomTimer > 60000 if counttype 29012 backpack dclicktype 29012 backpack getlabel backpack packdesc wait 250 if insysmsg "You consume a magic mushroom" settimer MushroomTimer 0 cooldown "Mushroom" 60000 if EnableOverheadMessages = 1 overhead '[ EATING SHROOMS... ]' 13 endif endif elseif EnableOverheadMessages = 1 overhead '[ OUT OF SHROOMS! ]' 337 endif endif endif 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 self clearsysmsg cast 'Curse' settimer spellTimer 0 settimer AntiStallTimer 0 @setvar! SpellcastCooldown 800 while not targetexists and timer AntiStallTimer < 2500 if diffhits >= CastGreaterHealHPdiff interrupt @setvar! AttackModeActive 1 @setvar! CastingWasInterrupted 1 break endif if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange @setvar! RepeatCastingPoison 0 @setvar! AttackModeActive 0 @setvar! CastingWasInterrupted 1 @setvar! ClosestTargetisSticky 0 @setvar! TargetSwap 0 interrupt break endif if insysmsg "Your concentration is disturbed" interrupt @setvar! CastingWasInterrupted 1 break endif if timer AntiStallTimer > 2500 settimer AntiStallTimer 0 break endif if timer spellTimer < SpellcastCooldown if EnableCurePotion = 1 while poisoned and casting and not targetexists if findtype "Orange Potion" self dclicktype "Orange Potion" if EnableOverheadMessages = 1 and timer 'OrangePotionMessageTimer' > 3500 if insysmsg "potion satchel used" overhead '[ FREE CURE POTION ]' 44 else overhead '[ CURE POTION ]' 44 endif clearsysmsg settimer 'OrangePotionMessageTimer' 0 endif wait 500 else if timer 'OrangePotionMessageTimer' > 5000 and EnableOverheadMessages = 1 overhead '[ NO CURE POTS! ]' 337 settimer 'OrangePotionMessageTimer' 0 endif break endif endwhile endif if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff and casting and not targetexists if findtype "Yellow Potion" self as HealPot getlabel HealPot HealPotlabel if "next" in HealPotlabel // Do nothing else @setvar! HealPotionCheck 0 if counttype 3852 self as HealPotCount @setvar! HealPotionCheck HealPotCount endif clearsysmsg dclicktype 3852 getlabel backpack backpackdesc wait 250 if insysmsg "potion satchel used" settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'YellowPotionMessageTimer' > 4500 overhead '[ FREE HEAL POTION ]' 253 endif elseif HealPotionCheck != counttype 3852 self settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'YellowPotionMessageTimer' > 4500 overhead '[ HEAL POTION ]' 253 endif endif clearsysmsg endif else if timer 'YellowPotionMessageTimer' > 4500 and EnableOverheadMessages = 1 overhead '[ NO HEAL POTS! ]' 337 settimer 'YellowPotionMessageTimer' 0 endif endif endif endif endwhile if CastingWasInterrupted = 0 clearsysmsg settimer CurseTimer 0 target ClosestTarget getlabel backpack packdesc wait 250 if insysmsg "cannot be seen" break elseif insysmsg "You curse your target" if EnableOverheadMessages = 1 overhead "[ CURSED ]" 1109 ClosestTarget elseif EnableOverheadMessages = 2 overhead "*cursed*" 1109 ClosestTarget endif endif endif endif 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 self clearsysmsg cast 'Mana Drain' settimer spellTimer 0 settimer AntiStallTimer 0 @setvar! SpellcastCooldown 800 while not targetexists and timer AntiStallTimer < 2500 if diffhits >= CastGreaterHealHPdiff interrupt @setvar! AttackModeActive 1 @setvar! CastingWasInterrupted 1 break endif if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange @setvar! RepeatCastingPoison 0 @setvar! AttackModeActive 0 @setvar! CastingWasInterrupted 1 @setvar! ClosestTargetisSticky 0 @setvar! TargetSwap 0 interrupt break endif if insysmsg "Your concentration is disturbed" interrupt @setvar! CastingWasInterrupted 1 break endif if timer AntiStallTimer > 2500 settimer AntiStallTimer 0 break endif if timer spellTimer < SpellcastCooldown if EnableCurePotion = 1 while poisoned and casting and not targetexists if findtype "Orange Potion" self dclicktype "Orange Potion" if EnableOverheadMessages = 1 and timer 'OrangePotionMessageTimer' > 3500 if insysmsg "potion satchel used" overhead '[ FREE CURE POTION ]' 44 else overhead '[ CURE POTION ]' 44 endif clearsysmsg settimer 'OrangePotionMessageTimer' 0 endif wait 500 else if timer 'OrangePotionMessageTimer' > 5000 and EnableOverheadMessages = 1 overhead '[ NO CURE POTS! ]' 337 settimer 'OrangePotionMessageTimer' 0 endif break endif endwhile endif if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff and casting and not targetexists if findtype "Yellow Potion" self as HealPot getlabel HealPot HealPotlabel if "next" in HealPotlabel // Do nothing else @setvar! HealPotionCheck 0 if counttype 3852 self as HealPotCount @setvar! HealPotionCheck HealPotCount endif clearsysmsg dclicktype 3852 getlabel backpack backpackdesc wait 250 if insysmsg "potion satchel used" settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'YellowPotionMessageTimer' > 4500 overhead '[ FREE HEAL POTION ]' 253 endif elseif HealPotionCheck != counttype 3852 self settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'YellowPotionMessageTimer' > 4500 overhead '[ HEAL POTION ]' 253 endif endif clearsysmsg endif else if timer 'YellowPotionMessageTimer' > 4500 and EnableOverheadMessages = 1 overhead '[ NO HEAL POTS! ]' 337 settimer 'YellowPotionMessageTimer' 0 endif endif endif endif endwhile if CastingWasInterrupted = 0 clearsysmsg settimer ManaDrainTimer 0 target ClosestTarget getlabel backpack packdesc wait 250 if insysmsg "cannot be seen" break endif endif endif @setvar! SpellcastCooldown 0 @setvar! CastingWasInterrupted 0 if EnableOpenWithLightning = 1 and diffhits < CastGreaterHealHPdiff and mana >= 11 and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and findtype 3974 self and findtype 3980 self cast 'lightning' settimer AntiStallTimer 0 settimer spellTimer 0 @setvar! SpellcastCooldown 800 while not targetexists and timer AntiStallTimer < 1500 if diffhits >= CastGreaterHealHPdiff interrupt @setvar! AttackModeActive 1 @setvar! CastingWasInterrupted 1 endif if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange interrupt @setvar! AttackModeActive 0 @setvar! RepeatCastingPoison 0 @setvar! CastingWasInterrupted 1 @setvar! ClosestTargetisSticky 0 @setvar! TargetSwap 0 break endif if insysmsg "Your concentration is disturbed" interrupt @setvar! CastingWasInterrupted 1 break endif if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif if timer spellTimer < SpellcastCooldown if EnableCurePotion = 1 while poisoned and casting and not targetexists if findtype "Orange Potion" self dclicktype "Orange Potion" if EnableOverheadMessages = 1 and timer 'CurePotionMessageTimer' > 3500 if insysmsg "potion satchel used" overhead '[ FREE CURE POTION ]' 44 else overhead '[ CURE POTION ]' 44 endif clearsysmsg settimer 'CurePotionMessageTimer' 0 endif wait 500 else if timer 'CurePotionMessageTimer' > 5000 and EnableOverheadMessages = 1 overhead '[ NO CURE POTS! ]' 337 settimer 'CurePotionMessageTimer' 0 endif break endif endwhile endif if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff and casting and not targetexists if findtype "Yellow Potion" self as HealPot getlabel HealPot HealPotlabel if "next" in HealPotlabel // Do nothing else @setvar! HealPotionCheck 0 if counttype 3852 self as HealPotCount @setvar! HealPotionCheck HealPotCount endif clearsysmsg dclicktype 3852 getlabel backpack backpackdesc wait 250 if insysmsg "potion satchel used" settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 4500 overhead '[ FREE HEAL POTION ]' 253 endif elseif HealPotionCheck != counttype 3852 self settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 4500 overhead '[ HEAL POTION ]' 253 endif endif clearsysmsg endif else if timer 'HealPotionMessageTimer' > 4500 and EnableOverheadMessages = 1 overhead '[ NO HEAL POTS! ]' 337 settimer 'HealPotionMessageTimer' 0 endif endif endif endif endwhile if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange break endif if CastingWasInterrupted = 0 target ClosestTarget settimer LightningTimer 0 endif elseif EnableOpenWithFireball = 1 and diffhits < CastGreaterHealHPdiff and mana >= 9 and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and findtype 3962 self cast 'fireball' settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 1500 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange interrupt @setvar! AttackModeActive 0 @setvar! RepeatCastingPoison 0 @setvar! CastingWasInterrupted 1 @setvar! ClosestTargetisSticky 0 @setvar! TargetSwap 0 break endif if insysmsg "Your concentration is disturbed" interrupt @setvar! CastingWasInterrupted 1 break endif if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif endwhile if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange break endif if CastingWasInterrupted = 0 target ClosestTarget settimer FireballTimer 0 endif elseif EnableOpenWithHarm = 1 and diffhits < CastGreaterHealHPdiff and mana >= 6 and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and findtype 3976 self and findtype 3981 self cast 'harm' settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 1500 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange interrupt @setvar! AttackModeActive 0 @setvar! RepeatCastingPoison 0 @setvar! CastingWasInterrupted 1 @setvar! ClosestTargetisSticky 0 @setvar! TargetSwap 0 break endif if insysmsg "Your concentration is disturbed" interrupt @setvar! CastingWasInterrupted 1 break endif if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif endwhile if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange break endif if CastingWasInterrupted = 0 target ClosestTarget settimer HarmTimer 0 endif elseif EnableOpenWithMagicArrow = 1 and diffhits < CastGreaterHealHPdiff and mana >= 4 and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and findtype 3980 self cast 'magic arrow' settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 1500 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange @setvar! AttackModeActive 0 @setvar! RepeatCastingPoison 0 @setvar! ClosestTargetisSticky 0 @setvar! CastingWasInterrupted 1 @setvar! TargetSwap 0 interrupt break endif if insysmsg "Your concentration is disturbed" interrupt @setvar! CastingWasInterrupted 1 break endif if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif endwhile if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange break endif if CastingWasInterrupted = 0 target ClosestTarget settimer MagicArrowTimer 0 endif endif if EnableGoldVacuum = 1 and DisableVacuums != 1 and warmode if findtype "gold coin" ground -1 -1 15 as droppedmoney and timer "GoldRadar" > 3500 overhead " � " 149 droppedmoney settimer "GoldRadar" 0 endif while findtype "gold coin" ground -1 -1 2 as droppedmoney and diffhits < CastGreaterHealHPdiff overhead " � " 149 hotkey "Grab Item" wft 2500 target droppedmoney wait 250 if dead break endif if diffhits >= CastGreaterHealHPdiff @setvar! AttackModeActive 1 break endif if insysmsg "Invalid or inaccessible item" wait 500 @ignore droppedmoney endif wait 250 endwhile endif if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange @setvar! RepeatCastingPoison 0 @setvar! AttackModeActive 0 @setvar! ClosestTargetisSticky 0 @setvar! TargetSwap 0 settimer TargetChecker 0 break endif if dead break endif if skill 'Necromancy' >= 50 and not gumpexists 622436516 if findtype 'necromancer book' backpack yell '[necromancyhotbar' while not gumpexists 622436516 yell '[necromancyhotbar' wait 500 endwhile elseif EnableOverheadMessages = 1 overhead '[ NO NECRO BOOK! ]' 337 wait 500 endif endif 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" self clearignore getlabel backpack backpacklabel 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" self if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if timer MissingRegsTimer > 5000 if counttype "3972" self = 0 overhead '[ NO GARLIC ]' 646 endif if counttype "3962" self = 0 overhead '[ NO BLACK PEARL ]' 3 endif if counttype "3963" self = 0 overhead '[ NO BLOODMOSS ]' 33 endif if counttype "3980" self = 0 overhead '[ NO SULFUROUS ASH ]' 153 endif if counttype "3976" self = 0 overhead '[ NO NIGHTSHADE ]' 363 endif if counttype "3973" self = 0 overhead '[ NO GINSENG ]' 247 endif if counttype "3974" self = 0 overhead '[ NO MANDRAKE ROOT ]' 442 endif if counttype "3981" self = 0 overhead '[ NO SPIDERS SILK ]' 2338 endif settimer MissingRegsTimer 0 endif endif @setvar! MissingRegs 1 else @setvar! MissingRegs 0 endif else @setvar! MissingRegs 0 endif if EnableEatMagicMushrooms = 1 if diffmana > EatMushroomManadiff and timer MushroomTimer > 60000 if counttype 29012 backpack dclicktype 29012 backpack getlabel backpack packdesc wait 250 if insysmsg "You consume a magic mushroom" settimer MushroomTimer 0 cooldown "Mushroom" 60000 if EnableOverheadMessages = 1 overhead '[ EATING SHROOMS... ]' 13 endif endif elseif EnableOverheadMessages = 1 overhead '[ OUT OF SHROOMS! ]' 337 endif endif endif ////////////////////////////// // SPAM FLAMESTRIKE LOOP: // ////////////////////////////// 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 < CastGreaterHealHPdiff if dead break endif if EnableDropGoldWhenOverweight = 1 if weight > maxweight replay endif endif if EnableWeightWarningMessage = 1 if diffweight < GreenWarningDiffWeight and diffweight > YellowWarningDiffWeight and timer "WeightMessageTimer" > 6000 if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 overhead '[ WEIGHT WARNING... ]' 77 settimer "WeightMessageTimer" 0 else overhead " � " 77 settimer "WeightMessageTimer" 0 endif elseif diffweight < YellowWarningDiffWeight and diffweight > RedWeightLimitDiffWeight and timer "WeightMessageTimer" > 6000 if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 overhead '[ WEIGHT WARNING! ]' 153 settimer "WeightMessageTimer" 0 else overhead " � " 153 settimer "WeightMessageTimer" 0 endif elseif diffweight < RedWeightLimitDiffWeight if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if timer "WeightMessageTimer" > 6000 overhead '[ WEIGHT LIMIT REACHED! ]' 37 settimer "WeightMessageTimer" 0 endif else if timer "WeightMessageTimer" > 6000 overhead " � " 37 settimer "WeightMessageTimer" 0 endif endif if EnableAutoWeightRecall = 1 and not find ClosestTarget ground -1 -1 8 and WILDERNESSMODE = 1 wait 500 hotkey 'Toggle Peace Only' @setvar! AutoWeightRecall 1 replay elseif EnableAutoWeightRecall = 1 and find ClosestTarget ground -1 -1 8 and WILDERNESSMODE = 1 if timer "WaitingToRecallTimer" > 3500 and EnableAutoRecallOverheadMessages = 1 overhead '[ WAITING TO RECALL... ]' 149 settimer "WaitingToRecallTimer" 0 endif wait 500 elseif EnableAutoWeightDungeonGate = 1 and DUNGEONMODE = 1 wait 500 hotkey 'Toggle Peace Only' @setvar! TimeToGo 1 replay else if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 overhead '[ OVERWEIGHT! ]' 337 else overhead " � " 337 endif wait 1500 overhead '[ STOPPING SCRIPT! ]' 88 stop endif endif endif while not warmode if TimeToGo = 1 break else if WILDERNESSMODE = 1 if EnableAutoRedRecall = 1 or EnableAutoWeightRecall = 1 overhead '[ RECALLING IN... ]' 2114 if warmode break endif wait 500 overhead "3" 69 wait 1000 if warmode break endif overhead "2" 69 wait 1000 if warmode break endif overhead "1" 69 wait 500 if warmode break else @setvar! TimeToGo 1 @setvar! AutoRecallTime 1 break endif endif elseif DUNGEONMODE = 1 if EnableAutoRedDungeonGate = 1 or EnableAutoWeightDungeonGate = 1 if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 overhead '[ DUNGEON ESCAPE! ]' 337 else overhead "�" 337 endif hotkey 'Toggle Peace Only' @setvar! TimeToGo 1 getlabel backpack backpacklabel wait 250 break endif endif endif endwhile if not warmode and TimeToGo = 1 break endif if diffhits > CastGreaterHealHPdiff or paralyzed break endif if TargetSwap = 1 @setvar! AttackModeActive 2 break endif if SummonEarthElemental_or_AncientMummy != 0 or SummonWaterElemental_or_RagWitch != 0 or SummonFireElemental_or_Lich != 0 or SummonAirElemental_or_SkeletalFiend != 0 or SummonDemon_or_VampireThrall != 0 or SummonCreature_or_UndeadCreature != 0 if followers < TotalSummonCount @setvar! AttackModeActive 2 replay endif endif if timer "TargetTimer" > 3500 and find ClosestTarget ground -1 -1 TargetAttackRange getlabel ClosestTarget TargetDesc if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ PARAGON! ]' 12 ClosestTarget overhead " � " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ TARGET ]' 253 ClosestTarget overhead " � " 253 ClosestTarget settimer "TargetTimer" 0 endif else if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead " ��� " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead " � " 253 ClosestTarget settimer "TargetTimer" 0 endif endif endif if EnablePKradar = 1 and TimeToGo != 1 if timer "PKRadarTimer" > 1500 clearsysmsg hotkey 'Next Murderer Player Target' wait 150 if insysmsg "No one matching that was found" settimer "PKRadarTimer" 0 clearsysmsg else if EnableRedAlertOverhead = 1 overhead "[ !! RED ALERT !! ]" 37 endif hotkey 'Toggle Peace Only' @setvar! RedTargetFound 1 @setvar! TimeToGo 1 @setvar! MurdererTarget lasttarget replay endif endif endif if EnableTrackingAutoRecall = 1 and TimeToGo != 1 if PKTrackingRange = 60 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 50 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 40 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 0 if insysmsg "Now tracking" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif endif endif if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange settimer TargetChecker 0 @setvar! TargetSwap 0 @setvar! RepeatCastingPoison 0 @setvar! ClosestTargetisSticky 0 @setvar! AttackModeActive 0 break endif if CheckClosestTargetTime != 0 if timer TargetChecker > CheckClosestTargetTime @setvar! TargetSwap 0 hotkey "Target Closest Grey Monster" getlabel backpack backpacklabel @setvar! TargetToCheck lasttarget wait 250 if TargetToCheck != ClosestTarget settimer TargetChecker 0 @setvar! TargetToAnalyze lasttarget @setvar! ClosestTargetisSticky 0 @setvar! AttackModeActive 2 @setvar! TargetSwap 1 break endif settimer TargetChecker 0 endif endif if EnableAutoCrookCheck = 1 if skill 'herding' > 50 and timer CrookCheckTimer > 10000 if findtype "shepherd's crook" self # ' if listexists CrooksToUnignore removelist CrooksToUnignore endif createlist CrooksToUnignore for 5 if findtype "shepherd's crook" self as myCrook # ' getlabel myCrook crooklabel wait 250 if 'activated' in crooklabel break elseif 'unidentified' in crooklabel pushlist CrooksToUnignore myCrook @ignore myCrook else if followers > 0 if EnableOverheadMessages = 1 overhead "[ ACTIVATING CROOK! ]" 2114 else overhead "*crook activated*" 2114 endif dclick myCrook wait 250 break endif endif wait 250 endif endfor foreach CrookToUnignore in CrooksToUnignore @unignore CrookToUnignore endfor removelist CrooksToUnignore elseif not findtype "shepherd's crook" self # ' if EnableOverheadMessages != 0 if timer CrookCheckOverheadTimer > 15000 overhead "[ NO CROOK FOUND! ]" 337 settimer CrookCheckOverheadTimer 0 endif endif endif settimer CrookCheckTimer 0 endif endif if mana < LowManaWarningAmount and timer ManaOverheadTimer > 4500 and LowManaWarningAmount != 0 overhead "[ LOW MANA! ]" 34 settimer ManaOverheadTimer 0 endif if EnableNecroStrangle = 1 or EnableNecroCorpseSkin = 1 or EnableNecroMindRot = 1 or EnableNecroEvilOmen = 1 or EnableNecroPainSpike = 1 if findtype 'necromancer book' backpack yell '[necromancyhotbar' while not gumpexists 622436516 yell '[necromancyhotbar' endwhile endif endif if gumpexists 622436516 if ingump "12/|13/|14/|15/|16/|17/|18/|19/|20/|21/|11/|10/|9/|8/|7/|6/|5/" 622436516 @setvar! StrangleAvailable 1 @setvar! MindRotAvailable 1 @setvar! CorpseSkinAvailable 1 @setvar! EvilOmenAvailable 1 @setvar! PainSpikeAvailable 1 elseif ingump "4/" 622436516 if ingump "14/" 622436516 @setvar! StrangleAvailable 1 @setvar! MindRotAvailable 1 @setvar! CorpseSkinAvailable 1 @setvar! EvilOmenAvailable 1 @setvar! PainSpikeAvailable 1 else @setvar! StrangleAvailable 1 @setvar! MindRotAvailable 1 @setvar! CorpseSkinAvailable 1 @setvar! EvilOmenAvailable 1 @setvar! PainSpikeAvailable 0 endif elseif ingump "3/" 622436516 if ingump "13/" 622436516 @setvar! StrangleAvailable 1 @setvar! MindRotAvailable 1 @setvar! CorpseSkinAvailable 1 @setvar! EvilOmenAvailable 1 @setvar! PainSpikeAvailable 1 else @setvar! StrangleAvailable 0 @setvar! MindRotAvailable 1 @setvar! CorpseSkinAvailable 1 @setvar! EvilOmenAvailable 1 @setvar! PainSpikeAvailable 0 endif elseif ingump "2/" 622436516 if ingump "12/" 622436516 @setvar! StrangleAvailable 1 @setvar! MindRotAvailable 1 @setvar! CorpseSkinAvailable 1 @setvar! EvilOmenAvailable 1 @setvar! PainSpikeAvailable 1 else @setvar! StrangleAvailable 0 @setvar! MindRotAvailable 0 @setvar! CorpseSkinAvailable 1 @setvar! EvilOmenAvailable 1 @setvar! PainSpikeAvailable 0 endif elseif ingump "1/" 622436516 if ingump "11/" 622436516 @setvar! StrangleAvailable 1 @setvar! MindRotAvailable 1 @setvar! CorpseSkinAvailable 1 @setvar! EvilOmenAvailable 1 @setvar! PainSpikeAvailable 1 else @setvar! StrangleAvailable 0 @setvar! MindRotAvailable 0 @setvar! CorpseSkinAvailable 0 @setvar! EvilOmenAvailable 0 @setvar! PainSpikeAvailable 0 endif elseif ingump "0/" 622436516 if ingump "10/" 622436516 @setvar! StrangleAvailable 1 @setvar! MindRotAvailable 1 @setvar! CorpseSkinAvailable 1 @setvar! EvilOmenAvailable 1 @setvar! PainSpikeAvailable 1 else @setvar! StrangleAvailable 0 @setvar! MindRotAvailable 0 @setvar! CorpseSkinAvailable 0 @setvar! EvilOmenAvailable 0 @setvar! PainSpikeAvailable 0 endif endif endif 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 > 1000 @setvar! CastingWasInterrupted 0 clearsysmsg while not insysmsg "unholy symbols remaining" yell '[Strangle' getlabel backpack packdesc wait 250 if insysmsg "seconds before you may use that ability again." @setvar! CastingWasInterrupted 1 settimer StrangleTimer 28000 break endif endwhile if CastingWasInterrupted = 0 if EnableOverheadMessages = 1 overhead '[ STRANGLE ]' 334 endif settimer StrangleTimer 0 cooldown "Strangle" 30000 settimer NecroCooldownTimer 0 endif endif 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 > 1000 @setvar! CastingWasInterrupted 0 clearsysmsg while not insysmsg "unholy symbols remaining" yell '[CorpseSkin' getlabel backpack packdesc wait 250 if insysmsg "seconds before you may use that ability again." @setvar! CastingWasInterrupted 1 settimer CorpseSkinTimer 28000 break endif endwhile if CastingWasInterrupted = 0 if EnableOverheadMessages = 1 overhead '[ CORPSE SKIN ]' 40 endif settimer CorpseSkinTimer 0 cooldown "Corpse Skin" 30000 settimer NecroCooldownTimer 0 endif endif 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 > 1000 @setvar! CastingWasInterrupted 0 clearsysmsg while not insysmsg "unholy symbols remaining" yell '[MindRot' getlabel backpack packdesc wait 250 if insysmsg "seconds before you may use that ability again." @setvar! CastingWasInterrupted 1 settimer MindRotTimer 28000 break else break endif endwhile if CastingWasInterrupted = 0 if EnableOverheadMessages = 1 overhead '[ MIND ROT ]' 223 endif settimer MindRotTimer 0 cooldown "Mind Rot" 30000 settimer NecroCooldownTimer 0 endif endif 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 > 1000 @setvar! CastingWasInterrupted 0 clearsysmsg while not insysmsg "unholy symbols remaining" yell '[EvilOmen' getlabel backpack packdesc wait 250 if insysmsg "seconds before you may use that ability again." @setvar! CastingWasInterrupted 1 settimer EvilOmenTimer 28000 break endif endwhile if CastingWasInterrupted = 0 if EnableOverheadMessages = 1 overhead '[ EVIL OMEN ]' 238 endif settimer EvilOmenTimer 0 cooldown "Evil Omen" 30000 settimer NecroCooldownTimer 0 endif endif 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 > 1000 @setvar! CastingWasInterrupted 0 clearsysmsg yell "[PainSpike" wft 1000 target ClosestTarget getlabel backpack backpacklabel wft 250 if insysmsg "You do not see any corpses" or insysmsg "seconds before you may use that ability again." settimer PainSpikeTimer 25000 @setvar! CastingWasInterrupted 1 endif if CastingWasInterrupted = 0 if EnableOverheadMessages = 1 overhead '[ PAIN SPIKE! ]' 337 endif settimer PainSpikeTimer 0 cooldown "Pain Spike" 30000 settimer NecroCooldownTimer 0 endif endif if EnableNecroPoisonStrike != 0 and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and diffhits < CastGreaterHealHPdiff and timer NecroCooldownTimer > 1000 getlabel ClosestTarget targetLabel if "-" in targetLabel getlabel ClosestTarget targetLabel endif @setvar! CastPoisonStrike 0 if EnableCastPoison = 1 if "Ticks" in targetLabel or "resists" in targetLabel and EnableCastPoison = 1 @setvar! RepeatCastingPoison 1 if SetPoisonLevel = 2 if "Lethal" in targetLabel @setvar! RepeatCastingPoison 0 endif elseif SetPoisonLevel = 1 if "Lethal" in targetLabel or "Deadly" in targetLabel @setvar! RepeatCastingPoison 0 endif else @setvar! RepeatCastingPoison 0 endif if EnableNecroPoisonStrike != 0 if findtype 'necromancer book' backpack and not gumpexists 622436516 yell '[necromancyhotbar' while not gumpexists 622436516 yell '[necromancyhotbar' wait 500 endwhile endif if EnableNecroPoisonStrike = 2 if "[2" in targetLabel @setvar! CastPoisonStrike 1 else @setvar! CastPoisonStrike 0 endif elseif EnableNecroPoisonStrike = 3 if "[2" in targetLabel or "[3" in targetLabel @setvar! CastPoisonStrike 1 else @setvar! CastPoisonStrike 0 endif elseif EnableNecroPoisonStrike = 4 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel @setvar! CastPoisonStrike 1 else @setvar! CastPoisonStrike 0 endif elseif EnableNecroPoisonStrike = 5 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel or "[5" in targetLabel @setvar! CastPoisonStrike 1 else @setvar! CastPoisonStrike 0 endif elseif EnableNecroPoisonStrike = 6 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel or "[5" in targetLabel or "[6" in targetLabel @setvar! CastPoisonStrike 1 else @setvar! CastPoisonStrike 0 endif elseif EnableNecroPoisonStrike = 7 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel or "[5" in targetLabel or "[6" in targetLabel or "[7" in targetLabel @setvar! CastPoisonStrike 1 else @setvar! CastPoisonStrike 0 endif elseif EnableNecroPoisonStrike = 8 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 @setvar! CastPoisonStrike 1 else @setvar! CastPoisonStrike 0 endif elseif EnableNecroPoisonStrike = 9 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 targetLabel @setvar! CastPoisonStrike 1 else @setvar! CastPoisonStrike 0 endif endif getlabel backpack packdesc endif endif else if timer CorpseSkinDiseaseTimer > CorpseSkinPoisonStrikeDelay and EnableNecroPoisonStrike = 1 and EnableNecroCorpseSkin = 1 @setvar! CastPoisonStrike 1 else @setvar! CastPoisonStrike 0 endif endif getlabel backpack packdesc if CastPoisonStrike = 1 if findtype 'necromancer book' backpack and not gumpexists 622436516 while not gumpexists 622436516 yell '[necromancyhotbar' endwhile endif @setvar! PoisonStrikeAvailable 0 if gumpexists 622436516 if ingump "12/|13/|14/|15/|16/|17/|18/|19/|20/|21/|11/|10/|9/|8/|7/|6/|5/|4/|3/|2/" 622436516 @setvar! PoisonStrikeAvailable 1 elseif ingump "1/" 622436516 @setvar! PoisonStrikeAvailable 1 elseif ingump "0/" 622436516 if ingump "10/" 622436516 @setvar! PoisonStrikeAvailable 1 else @setvar! PoisonStrikeAvailable 0 endif endif endif 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 TargetAttackRange clearsysmsg while not insysmsg "unholy symbols remaining" if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange @setvar! RepeatCastingPoison 0 @setvar! AttackModeActive 0 @setvar! ClosestTargetisSticky 0 @setvar! TargetSwap 0 break endif yell '[PoisonStrike' wft 1500 clearsysmsg target ClosestTarget wait 250 if insysmsg "seconds before you may use that ability again." settimer PoisonStrikeTimer 28000 clearsysmsg break elseif insysmsg "You do not have a Spell-based poison or disease effect on that target." settimer PoisonStrikeTimer 15000 clearsysmsg break else break endif endwhile if insysmsg "unholy symbols remaining" if EnableOverheadMessages = 1 overhead '[ POISON STRIKE! ]' 77 endif @setvar! PoisonStrikeAvailable 0 settimer PoisonStrikeTimer 0 cooldown "Poison Strike" 30000 @setvar! CastPoisonStrike 0 settimer NecroCooldownTimer 0 endif endif endif 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 self cast 'Poison' settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 2500 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange @setvar! RepeatCastingPoison 0 @setvar! AttackModeActive 0 @setvar! CastingWasInterrupted 1 @setvar! ClosestTargetisSticky 0 @setvar! TargetSwap 0 interrupt break endif if insysmsg "Your concentration is disturbed" interrupt @setvar! CastingWasInterrupted 1 break endif if timer AntiStallTimer > 2500 settimer AntiStallTimer 0 break endif endwhile if CastingWasInterrupted = 1 and EnableNecroMindRot = 1 and MindRotAvailable = 1 and timer MindRotTimer > 30000 and skill 'necromancy' >= 75 while not insysmsg "unholy symbols remaining" yell '[MindRot' getlabel backpack packdesc wait 250 if insysmsg "seconds before you may use that ability again." @setvar! CastingWasInterrupted 1 settimer MindRotTimer 28000 break endif endwhile if CastingWasInterrupted = 0 if EnableOverheadMessages = 1 overhead '[ MIND ROT ]' 330 endif settimer MindRotTimer 0 cooldown "Mind Rot" 30000 endif @setvar! CastingWasInterrupted 0 endif if CastingWasInterrupted = 0 clearsysmsg target ClosestTarget getlabel backpack packdesc wait 250 if insysmsg "cannot be seen" break endif endif endif endif if EnableMeditation = 1 and mana < MeditateWhenManaBelow and not findbuff "meditating" and timer 'MeditationTimer' > 10000 skill 'meditation' getlabel backpack packdesc wait 250 if not findbuff 'meditating' settimer 'MeditationTimer' 7500 elseif findbuff 'meditating' hotkey 'Toggle Peace Only' settimer 'MeditationTimer' 0 while mana < maxmana and diffhits < CastGreaterHealHPdiff if timer "TargetTimer" > 3500 and find ClosestTarget ground -1 -1 TargetAttackRange getlabel ClosestTarget TargetDesc if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ PARAGON! ]' 12 ClosestTarget overhead " � " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ TARGET ]' 253 ClosestTarget overhead " � " 253 ClosestTarget settimer "TargetTimer" 0 endif else if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead " ��� " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead " � " 253 ClosestTarget settimer "TargetTimer" 0 endif endif endif if EnablePKradar = 1 and TimeToGo != 1 if timer "PKRadarTimer" > 1500 clearsysmsg hotkey 'Next Murderer Player Target' wait 150 if insysmsg "No one matching that was found" settimer "PKRadarTimer" 0 clearsysmsg else if EnableRedAlertOverhead = 1 overhead "[ !! RED ALERT !! ]" 37 endif hotkey 'Toggle Peace Only' @setvar! RedTargetFound 1 @setvar! TimeToGo 1 @setvar! MurdererTarget lasttarget replay endif endif endif if EnableTrackingAutoRecall = 1 and TimeToGo != 1 if PKTrackingRange = 60 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 50 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 40 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 0 if insysmsg "Now tracking" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif endif endif if not findbuff 'meditating' hotkey 'Toggle War Only' break endif if mana > MeditateUntilManaReaches hotkey 'Toggle War Only' break endif if warmode on break endif if diffhits > CastGreaterHealHPdiff break endif if dead break endif if timer 'MeditationMessageTimer' > 4000 if EnableOverheadMessages = 1 overhead '[ MEDITATING... ]' 11 else overhead "*meditating*" 11 endif settimer 'MeditationMessageTimer' 0 endif endwhile if diffhits > CastGreaterHealHPdiff break endif if dead break endif if not warmode and TimeToGo != 1 hotkey 'Toggle War Only' endif endif elseif EnableMeditation != 1 and MeditateWhenManaBelow != 0 and mana < MeditateWhenManaBelow if timer MissingRegsTimer > 4000 if EnableOverheadMessages = 1 overhead '[ WAITING FOR MANA... ]' 420 settimer MissingRegsTimer 0 endif endif endif if EnablePKradar = 1 and TimeToGo != 1 if timer "PKRadarTimer" > 1500 clearsysmsg hotkey 'Next Murderer Player Target' wait 150 if insysmsg "No one matching that was found" settimer "PKRadarTimer" 0 clearsysmsg else if EnableRedAlertOverhead = 1 overhead "[ !! RED ALERT !! ]" 37 endif hotkey 'Toggle Peace Only' @setvar! RedTargetFound 1 @setvar! TimeToGo 1 @setvar! MurdererTarget lasttarget replay endif endif endif if EnableTrackingAutoRecall = 1 and TimeToGo != 1 if PKTrackingRange = 60 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 50 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 40 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 0 if insysmsg "Now tracking" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif endif endif if EnableEatMagicMushrooms = 1 if diffmana > EatMushroomManadiff and timer MushroomTimer > 60000 if counttype 29012 backpack dclicktype 29012 backpack getlabel backpack packdesc wait 250 if insysmsg "You consume a magic mushroom" settimer MushroomTimer 0 cooldown "Mushroom" 60000 if EnableOverheadMessages = 1 overhead '[ EATING SHROOMS... ]' 13 endif endif elseif EnableOverheadMessages = 1 overhead '[ OUT OF SHROOMS! ]' 337 endif endif endif if EnableStrengthPotion = 1 and diffhits < CastGreaterHealHPdiff if skill 'Alchemy' > 0 and skill 'Alchemy' < 2 if insysmsg "You may now use a strength" or not findbuff "Strength Potion Usage Cooldown" if findtype "White Potion" self dclicktype "White Potion" if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE STRENGTH POTION ]' 956 else overhead '[ STRENGTH POTION ]' 956 endif clearsysmsg settimer WhitePotionMessageTimer 0 endif wait 250 else if timer WhitePotionMessageTimer > 4500 overhead '[ NO STRENGTH POTS! ]' 337 settimer WhitePotionMessageTimer 0 endif endif clearsysmsg endif elseif skill 'Alchemy' = 0 if insysmsg "You may now use a strength" or not findbuff "Strength Potion Usage Cooldown" if findtype "White Potion" self dclicktype "White Potion" if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE STRENGTH POTION ]' 956 else overhead '[ STRENGTH POTION ]' 956 endif clearsysmsg settimer WhitePotionMessageTimer 0 endif wait 250 else if timer WhitePotionMessageTimer > 4500 overhead '[ NO STRENGTH POTS! ]' 337 settimer WhitePotionMessageTimer 0 endif endif clearsysmsg endif else if not findbuff "Strength" if findtype "White Potion" self dclicktype "White Potion" if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE STRENGTH POTION ]' 956 else overhead '[ STRENGTH POTION ]' 956 endif clearsysmsg settimer WhitePotionMessageTimer 0 endif wait 250 else if timer WhitePotionMessageTimer > 4500 overhead '[ NO STRENGTH POTS! ]' 337 settimer WhitePotionMessageTimer 0 endif endif endif endif endif if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff if findtype "Yellow Potion" self as HealPot getlabel HealPot HealPotlabel if "next" in HealPotlabel // Do nothing else @setvar! HealPotionCheck 0 if counttype 3852 self as HealPotCount @setvar! HealPotionCheck HealPotCount endif clearsysmsg dclicktype 3852 getlabel backpack backpackdesc wait 250 if insysmsg "potion satchel used" settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 4500 overhead '[ FREE HEAL POTION ]' 253 endif elseif HealPotionCheck != counttype 3852 self settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 4500 overhead '[ HEAL POTION ]' 253 endif endif clearsysmsg endif else if timer 'HealPotionMessageTimer' > 4500 and EnableOverheadMessages = 1 overhead '[ NO HEAL POTS! ]' 337 settimer 'HealPotionMessageTimer' 0 endif endif endif if skill 'healing' > 0 and hp < maxhp and not bandaging if findtype 'clean bandage%s%' self hotkey 'Bandage Self' if EnableOverheadMessages = 1 overhead '[ BANDAGING... ]' 88 endif else if EnableOverheadMessages = 1 overhead '[ NO BANDAGES! ]' 337 endif endif endif if EnableAgilityPotion = 1 and not findbuff "Agility" and diffhits < CastGreaterHealHPdiff if findtype "Blue Potion" self dclicktype "Blue Potion" if EnableOverheadMessages = 1 and timer BluePotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE AGILITY POTION ]' 93 else overhead '[ AGILITY POTION ]' 93 endif clearsysmsg settimer BluePotionMessageTimer 0 endif wait 250 else if timer BluePotionMessageTimer > 4500 and EnableOverheadMessages = 1 overhead '[ NO AGILITY POTS! ]' 337 settimer BluePotionMessageTimer 0 endif endif endif if EnableMagicResistPotion = 1 and not findbuff "Magic Resist" and diffhits < CastGreaterHealHPdiff if findtype "Black Potion" self dclicktype "Black Potion" if EnableOverheadMessages = 1 and timer BlackPotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE RESIST POTION ]' 1109 else overhead '[ RESIST POTION ]' 1109 endif clearsysmsg settimer BlackPotionMessageTimer 0 endif wait 250 else if timer BlackPotionMessageTimer > 4500 and EnableOverheadMessages = 1 overhead '[ NO RESIST POTS! ]' 337 settimer BlackPotionMessageTimer 0 endif endif endif if EnableRefreshPotion = 1 and diffstam > RefreshPotionSPdiff if findtype "Red Potion" self dclicktype "Red Potion" if EnableOverheadMessages = 1 and timer RedPotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE REFRESH POTION ]' 37 else overhead '[ REFRESH POTION ]' 37 endif clearsysmsg settimer RedPotionMessageTimer 0 endif wait 250 else if timer RedPotionMessageTimer > 4500 and EnableOverheadMessages = 1 overhead '[ NO REFRESH POTS! ]' 337 settimer RedPotionMessageTimer 0 endif endif endif if timer "TargetTimer" > 3500 and find ClosestTarget ground -1 -1 TargetAttackRange getlabel ClosestTarget TargetDesc if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ PARAGON! ]' 12 ClosestTarget overhead " � " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ TARGET ]' 253 ClosestTarget overhead " � " 253 ClosestTarget settimer "TargetTimer" 0 endif else if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead " ��� " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead " � " 253 ClosestTarget settimer "TargetTimer" 0 endif endif endif if EnablePKradar = 1 and TimeToGo != 1 if timer "PKRadarTimer" > 1500 clearsysmsg hotkey 'Next Murderer Player Target' wait 150 if insysmsg "No one matching that was found" settimer "PKRadarTimer" 0 clearsysmsg else if EnableRedAlertOverhead = 1 overhead "[ !! RED ALERT !! ]" 37 endif hotkey 'Toggle Peace Only' @setvar! RedTargetFound 1 @setvar! TimeToGo 1 @setvar! MurdererTarget lasttarget replay endif endif endif if EnableTrackingAutoRecall = 1 and TimeToGo != 1 if PKTrackingRange = 60 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 50 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 40 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 0 if insysmsg "Now tracking" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif endif endif @setvar! SpellcastCooldown 0 @setvar! CastingWasInterrupted 0 if EnableCastFlamestrike = 1 and mana >= CastMediumSpellsBelowMana and findtype 3981 self and findtype 3980 self and timer FlamestrikeCooldownTimer > FlamestrikeCooldown cast 'flamestrike' settimer FlamestrikeCooldownTimer 0 settimer spellTimer 0 @setvar! SpellcastCooldown 1400 else break endif settimer AntiStallTimer 0 while not targetexists if targetexists break endif if diffhits >= CastGreaterHealHPdiff interrupt @setvar! AttackModeActive 1 @setvar! CastingWasInterrupted 1 endif if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange @setvar! AttackModeActive 0 @setvar! RepeatCastingPoison 0 @setvar! CastingWasInterrupted 1 @setvar! ClosestTargetisSticky 0 @setvar! TargetSwap 0 interrupt break endif if insysmsg "Your concentration is disturbed" interrupt @setvar! CastingWasInterrupted 1 break endif if EnablePanaceaPotion = 1 and skill 'Alchemy' >= 80 and RedTargetFound != 1 if findbuff "Bleed" or findbuff "Diseased" if not findbuff "panacea potion cooldown" if findtype "Orange Potion" self dclicktype "Orange Potion" wait 500 if findbuff "panacea potion cooldown" and EnableOverheadMessages = 1 overhead '[ PANACEA ACTIVATED ]' 55 cooldown "Panacea Potion" 30000 endif endif endif endif endif if EnableCleansingBrews = 1 if findbuff "Diseased" or findbuff "Bleed" if timer CleansingBrewTimer > 120000 if findtype 50675 self 2935 as CleansingBrew dclick CleansingBrew if EnableOverheadMessages = 1 overhead '[ CLEANSING BREW ]' 2117 endif cooldown 'Cleansing Brew' 120000 settimer CleansingBrewTimer 0 wait 250 else if timer CleansingBrewOverhead > 15000 overhead "[ NO CLEANSING BREWS! ]" 337 settimer CleansingBrewOverhead 0 settimer CleansingBrewTimer 0 endif endif else if EnableOverheadMessages = 1 and timer CleansingBrewOverhead > 15000 overhead '[ BREW ON COOLDOWN! ]' 37 settimer CleansingBrewOverhead 0 endif endif endif endif if EnableCurePotion = 1 while poisoned and casting and not targetexists if findtype "Orange Potion" self dclicktype "Orange Potion" if EnableOverheadMessages = 1 and timer 'CurePotionMessageTimer' > 3500 if insysmsg "potion satchel used" overhead '[ FREE CURE POTION ]' 44 else overhead '[ CURE POTION ]' 44 endif clearsysmsg settimer 'CurePotionMessageTimer' 0 endif wait 500 else if timer 'CurePotionMessageTimer' > 5000 and EnableOverheadMessages = 1 overhead '[ NO CURE POTS! ]' 337 settimer 'CurePotionMessageTimer' 0 endif break endif endwhile endif if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff and casting and not targetexists if findtype "Yellow Potion" self as HealPot getlabel HealPot HealPotlabel if "next" in HealPotlabel // Do nothing else @setvar! HealPotionCheck 0 if counttype 3852 self as HealPotCount @setvar! HealPotionCheck HealPotCount endif clearsysmsg dclicktype 3852 getlabel backpack backpackdesc wait 250 if insysmsg "potion satchel used" settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 4500 overhead '[ FREE HEAL POTION ]' 253 endif elseif HealPotionCheck != counttype 3852 self settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 4500 overhead '[ HEAL POTION ]' 253 endif endif clearsysmsg endif else if timer 'HealPotionMessageTimer' > 4500 and EnableOverheadMessages = 1 overhead '[ NO HEAL POTS! ]' 337 settimer 'HealPotionMessageTimer' 0 endif endif endif if timer AntiStallTimer > 3500 settimer AntiStallTimer 0 break endif endwhile if CastingWasInterrupted = 0 clearsysmsg target ClosestTarget getlabel backpack backpacklabel wait 100 if insysmsg "cannot be seen" @setvar! AttackModeActive 2 break endif endif if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange @setvar! RepeatCastingPoison 0 @setvar! AttackModeActive 0 @setvar! ClosestTargetisSticky 0 @setvar! TargetSwap 0 break endif if EnableFrostAspect = 1 if insysmsg "Frost Shell activated" cooldown "Frost Shell Active" 5000 if EnableOverheadMessages = 1 overhead '[ FROST SHELL! ]' 2234 endif if FrostAspectTier = 0 cooldown "Frost Shell Cooldown" 30000 elseif FrostAspectTier = 1 cooldown "Frost Shell Cooldown" 29000 elseif FrostAspectTier = 2 cooldown "Frost Shell Cooldown" 28000 elseif FrostAspectTier = 3 cooldown "Frost Shell Cooldown" 27000 elseif FrostAspectTier = 4 cooldown "Frost Shell Cooldown" 26000 elseif FrostAspectTier = 5 cooldown "Frost Shell Cooldown" 25000 elseif FrostAspectTier = 6 cooldown "Frost Shell Cooldown" 24000 elseif FrostAspectTier = 7 cooldown "Frost Shell Cooldown" 23000 elseif FrostAspectTier = 8 cooldown "Frost Shell Cooldown" 22000 elseif FrostAspectTier = 9 cooldown "Frost Shell Cooldown" 21000 elseif FrostAspectTier = 10 cooldown "Frost Shell Cooldown" 20000 elseif FrostAspectTier = 11 cooldown "Frost Shell Cooldown" 19000 elseif FrostAspectTier = 12 cooldown "Frost Shell Cooldown" 18000 elseif FrostAspectTier = 13 cooldown "Frost Shell Cooldown" 17000 elseif FrostAspectTier = 14 cooldown "Frost Shell Cooldown" 16000 elseif FrostAspectTier = 15 cooldown "Frost Shell Cooldown" 15000 endif clearsysmsg endif endif if dead break endif if timer "TargetTimer" > 3500 and find ClosestTarget ground -1 -1 TargetAttackRange getlabel ClosestTarget TargetDesc if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ PARAGON! ]' 12 ClosestTarget overhead " � " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ TARGET ]' 253 ClosestTarget overhead " � " 253 ClosestTarget settimer "TargetTimer" 0 endif else if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead " ��� " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead " � " 253 ClosestTarget settimer "TargetTimer" 0 endif endif endif if EnablePKradar = 1 and TimeToGo != 1 if timer "PKRadarTimer" > 1500 clearsysmsg hotkey 'Next Murderer Player Target' wait 150 if insysmsg "No one matching that was found" settimer "PKRadarTimer" 0 clearsysmsg else if EnableRedAlertOverhead = 1 overhead "[ !! RED ALERT !! ]" 37 endif hotkey 'Toggle Peace Only' @setvar! RedTargetFound 1 @setvar! TimeToGo 1 @setvar! MurdererTarget lasttarget replay endif endif endif if EnableTrackingAutoRecall = 1 and TimeToGo != 1 if PKTrackingRange = 60 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 50 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 40 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 0 if insysmsg "Now tracking" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif endif endif if EnableUsePotionKegs = 1 and findtype 'empty bottle%s%' self and findtype 'keg' self and timer 'PotionKegPVPCooldown' > 30000 @setvar! PotionStockCheck 0 while PotionStockCheck < 8 and findtype 'empty bottle%s%' self if PotionStockCheck = 0 if HealingPotionAmount = 0 @setvar! PotionStockCheck 1 else @setvar! PotionType 3852 @setvar! KegColour 253 @setvar! PotionAmounttoFill HealingPotionAmount @setvar! PotionStockCheck 1 endif elseif PotionStockCheck = 1 if CurePotionAmount = 0 @setvar! PotionStockCheck 2 else @setvar! PotionType 3847 @setvar! KegColour 44 @setvar! PotionAmounttoFill CurePotionAmount @setvar! PotionStockCheck 2 endif elseif PotionStockCheck = 2 if RefreshPotionAmount = 0 @setvar! PotionStockCheck 3 else @setvar! PotionType 3851 @setvar! KegColour 37 @setvar! PotionAmounttoFill RefreshPotionAmount @setvar! PotionStockCheck 3 endif elseif PotionStockCheck = 3 if StrengthPotionAmount = 0 @setvar! PotionStockCheck 4 else @setvar! PotionType 3849 @setvar! KegColour 956 @setvar! PotionAmounttoFill StrengthPotionAmount @setvar! PotionStockCheck 4 endif elseif PotionStockCheck = 4 if AgilityPotionAmount = 0 @setvar! PotionStockCheck 5 else @setvar! PotionType 3848 @setvar! KegColour 93 @setvar! PotionAmounttoFill AgilityPotionAmount @setvar! PotionStockCheck 5 endif elseif PotionStockCheck = 5 if ResistPotionAmount = 0 @setvar! PotionStockCheck 6 else @setvar! PotionType 3846 @setvar! KegColour 1109 @setvar! PotionAmounttoFill ResistPotionAmount @setvar! PotionStockCheck 6 endif elseif PotionStockCheck = 6 if PoisonPotionAmount = 0 @setvar! PotionStockCheck 7 else @setvar! PotionType 3850 @setvar! KegColour 363 @setvar! PotionAmounttoFill PoisonPotionAmount @setvar! PotionStockCheck 7 endif elseif PotionStockCheck = 7 if ExplosionPotionAmount = 0 @setvar! PotionStockCheck 8 else @setvar! PotionType 3853 @setvar! KegColour 419 @setvar! PotionAmounttoFill ExplosionPotionAmount @setvar! PotionStockCheck 8 endif else break endif while counttype PotionType self < PotionAmounttoFill if not findtype 'empty bottle%s%' self if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 5000 overhead '[ NO EMPTY BOTTLES... ]' 337 settimer 'PotionKegTimer' 0 endif break endif if diffhits > HealPotionHPdiff break endif if findtype 'keg' self KegColour as myKeg dclick myKeg wait 250 if EnableOverheadMessages = 1 if timer 'PotionKegTimer' > 2000 overhead '[ FILLING POTS... ]' KegColour settimer 'PotionKegTimer' 0 endif endif else if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 5000 overhead '[ NO KEG TO USE... ]' KegColour settimer 'PotionKegTimer' 0 endif break endif if insysmsg "You have been in combat with another player" settimer "PotionKegPVPCooldown" 0 break endif endwhile if counttype PotionType self < PotionAmounttoFill and not findtype 'empty bottle%s%' self if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 5000 overhead '[ NO EMPTY BOTTLES... ]' 337 settimer 'PotionKegTimer' 0 endif break endif endwhile endif if EnableAutoExplosionPots = 1 and diffhits < CastGreaterHealHPdiff if findtype 'purple potion' self as explotPot getlabel explotPot potLabel if "(" in potLabel if timer PurplePotionTimer > PurplePotionCooldown @setvar! PurplePotionReady 1 else @setvar! PurplePotionReady 0 endif else @setvar! PurplePotionReady 1 endif if skill 'Alchemy' < 80 if timer TelekinesisTimer > 60000 or ClosestTargetisSticky = 0 if PurplePotionReady = 1 and find ClosestTarget ground -1 -1 TargetAttackRange and not dead ClosestTarget if findtype 'purple potion' self settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 1500 if timer AntiStallTimer > 1500 break endif cast 'Telekinesis' wait 500 endwhile clearsysmsg wft 500 target ClosestTarget wait 250 if insysmsg "You are too far" @setvar! ClosestTargetisSticky 0 clearsysmsg else if EnableOverheadMessages = 1 and timer PurplePotionMessageTimer > 4500 overhead '[ EXPLOSION POTION! ]' 419 settimer PurplePotionMessageTimer 0 endif settimer TelekinesisTimer 0 @setvar! ClosestTargetisSticky 1 endif endif endif endif else @setvar! ClosestTargetisSticky 1 endif else if EnableOverheadMessages = 1 and timer PurplePotionMessageTimer > 15000 overhead '[ NO PURPLE POTIONS ]' 337 settimer PurplePotionMessageTimer 0 endif endif endif @setvar! CastingWasInterrupted 0 if targetexists hotkey 'cancel current target' endif if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange @setvar! RepeatCastingPoison 0 @setvar! AttackModeActive 0 @setvar! ClosestTargetisSticky 0 @setvar! TargetSwap 0 settimer TargetChecker 0 break endif if EnableAutoExplosionPots = 1 if timer TelekinesisTimer > 60000 @setvar! ClosestTargetisSticky 0 settimer TelekinesisTimer 0 endif endif if PurplePotionReady = 1 and ClosestTargetisSticky = 1 and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and diffhits < CastGreaterHealHPdiff settimer AntiStallTimer 0 while not insysmsg "Where should i throw this potion?" and timer AntiStallTimer < 1500 potion 'explosion' if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif endwhile @setvar! PurplePotionReady 0 settimer PurplePotionTimer 0 settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 1500 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange @setvar! RepeatCastingPoison 0 @setvar! AttackModeActive 0 @setvar! ClosestTargetisSticky 0 @setvar! CastingWasInterrupted 1 @setvar! TargetSwap 0 hotkey 'cancel current target' break endif if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif endwhile if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange break endif if CastingWasInterrupted = 0 target ClosestTarget cooldown "Purple Potion" PurplePotionCooldown getlabel backpack packdesc wait 250 endif endif if counttype 29012 self = 0 and EnableMagicMushroomMaker = 1 while counttype 29012 self < MakeMushroomAmount and mana > 3 and diffhits < CastGreaterHealHPdiff if timer 'MushroomMakerTimer' > 4500 overhead '[ MAKING SHROOMS... ]' 419 settimer 'MushroomMakerTimer' 0 endif if not casting cast 'create food' wait 500 endif if diffhits > CastGreaterHealHPdiff break endif endwhile if dead break endif endif if EnableGoldVacuum = 1 and DisableVacuums != 1 if findtype "gold coin" ground -1 -1 15 as droppedmoney and timer "GoldRadar" > 3500 overhead " � " 149 droppedmoney settimer "GoldRadar" 0 endif while findtype "gold coin" ground -1 -1 2 as droppedmoney and diffhits < CastGreaterHealHPdiff overhead " � " 149 hotkey "Grab Item" wft 2500 target droppedmoney wait 250 if dead break endif if diffhits >= CastGreaterHealHPdiff @setvar! AttackModeActive 1 break endif if insysmsg "Invalid or inaccessible item" wait 500 @ignore droppedmoney endif wait 250 endwhile endif if EnableDungeonCleanup = 1 and diffhits < CastGreaterHealHPdiff while findtype "iron ingot%s|board%s|cut up leather|3972|3962|3963|3980|3976|3973|3974|3981" ground -1 -1 2 as item if EnableOverheadMessages = 1 if timer "DungeonCleanup" > 1500 overhead '[ CLEANUP... ]' 420 settimer "DungeonCleanup" 0 endif else if timer "DungeonCleanup" > 1500 overhead ' � ' 420 settimer "DungeonCleanup" 0 endif endif hotkey "Grab Item" wft 1000 target item wait 500 if dead break endif if diffhits > CastGreaterHealHPdiff break endif endwhile 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" > 3500 overhead "�" 420 dungeonjunk settimer "DungeonCleanupRadar" 0 endif endif if timer "TargetTimer" > 3500 and find ClosestTarget ground -1 -1 TargetAttackRange getlabel ClosestTarget TargetDesc if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ PARAGON! ]' 12 ClosestTarget overhead " � " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ TARGET ]' 253 ClosestTarget overhead " � " 253 ClosestTarget settimer "TargetTimer" 0 endif else if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead " ��� " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead " � " 253 ClosestTarget settimer "TargetTimer" 0 endif endif endif if EnablePKradar = 1 and TimeToGo != 1 if timer "PKRadarTimer" > 1500 clearsysmsg hotkey 'Next Murderer Player Target' wait 150 if insysmsg "No one matching that was found" settimer "PKRadarTimer" 0 clearsysmsg else if EnableRedAlertOverhead = 1 overhead "[ !! RED ALERT !! ]" 37 endif hotkey 'Toggle Peace Only' @setvar! RedTargetFound 1 @setvar! TimeToGo 1 @setvar! MurdererTarget lasttarget replay endif endif endif if EnableTrackingAutoRecall = 1 and TimeToGo != 1 if PKTrackingRange = 60 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 50 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 40 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 0 if insysmsg "Now tracking" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif endif endif if EnableAutoCarving = 1 and findtype 11552 self while findtype "corpse" ground -1 -1 2 as deadbody and diffhits < CastGreaterHealHPdiff settimer SkinningTimeoutTimer 0 if findtype 11552 self if targetexists hotkey 'cancel current target' endif while not targetexists skill 'forensicevaluation' getlabel backpack backpacklabel endwhile if targetexists and find deadbody ground -1 -1 2 target 'self' @ignore deadbody wait 250 endif if insysmsg "You dont see anything nearby" clearsysmsg break else if EnableOverheadMessages = 1 and timer SkinningTimer > 3000 overhead '[ SKINNING... ]' 333 settimer SkinningTimer 0 endif endif else if EnableOverheadMessages = 1 and timer SkinningTimer > 15000 overhead '[ NO SKINNING KNIFE ]' 337 settimer SkinningTimer 0 break endif endif if timer SkinningTimeoutTimer > 1500 or diffhits > CastGreaterHealHPdiff break endif endwhile endif if EnableOverheadMessages = 1 if insysmsg "something invisible out of" overhead "� SOMEONE HIDING! �" 6 endif if insysmsg "additional mastery chain link" overhead "[ CHAIN LINK UNLOCKED!! ]" 149 wait 500 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[Yes" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "enough experience to upgrade" overhead "[ ASPECT TIER UNLOCKED!! ]" 2234 wait 500 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[Whistle" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "You have unlocked a codex upgrade point" overhead "[ CODEX POINT UNLOCKED! ]" 2114 wait 250 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[HighFive" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "You have completed a society job" overhead "[ SOCIETY JOB COMPLETE! ]" 419 wait 500 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[Awoo" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "Society Job Progress" overhead "[ � SOCIETY POINTS � ]" 419 endif if insysmsg 'You charge your spell with additional energy' overhead '[ CHARGED SPELL! ]' 22 endif if insysmsg 'You generate mana for your spell' overhead '[ MANA REFUNDED! ]' 11 endif if insysmsg "You parry the spell" overhead "[ SPELL PARRY ]" 111 endif if insysmsg "Your attack places a hex" overhead '[ HEX ACTIVE ]' 14 ClosestTarget endif if insysmsg "causes you to bleed" overhead "[ YOU ARE BLEEDING... ]" 2118 endif if insysmsg "been struck by an ancient blight" overhead "[ DISEASED... ]" 1109 endif if insysmsg "You feel chilled!" overhead "[ YOU ARE CHILLED... ]" 2234 endif if insysmsg "You resist a disease effect" overhead "[ DISEASE RESISTED! ]" 888 endif if insysmsg "resist a bleed" overhead "[ BLEED RESISTED! ]" 888 endif if insysmsg "The creature pierces and bypasses your armor!" overhead "[ YOU ARE PIERCED... ]" 337 endif if insysmsg "Their attack disarms you!" overhead "[ DISARMED! ]" 337 endif if insysmsg "Their attack hamstrings you!" overhead "[ HAMSTRUNG! ]" 337 endif if insysmsg "attempting to steal" or insysmsg "attempting to peek" overhead "[ THIEF DETECTED! ]" 910 endif else if insysmsg "something invisible out of" overhead "� SOMEONE HIDING! �" 6 endif if insysmsg "additional mastery chain link" overhead "[ � CHAIN! � ]" 149 wait 500 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[Yes" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "enough experience to upgrade" overhead "[ � ASPECT � ]" 2234 wait 500 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[Whistle" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "You have unlocked a codex upgrade point" overhead '[ � CODEX! � ]' 2114 wait 250 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[HighFive" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "You have completed a society job" overhead "[ SOCIETY COMPLETE! ]" 419 wait 500 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[Awoo" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "You parry the spell" overhead "*spell parry*" 111 endif if insysmsg "Your attack places a hex" overhead '*hexxed*' 14 ClosestTarget endif if insysmsg "Society Job Progress" overhead "[ � SOCIETY � ]" 419 endif if insysmsg "attempting to steal" or insysmsg "attempting to peek" overhead "[ THIEF DETECTED! ]" 910 endif if insysmsg "Their attack disarms you!" overhead "*disarmed*" 337 endif if insysmsg "Their attack hamstrings you!" overhead "*hamstrung*" 337 endif endif if followers > 0 if skill 'spiritspeak' >= 50 and timer 'SpiritSpeakTimer' > 10000 and findtype 'corpse' ground -1 -1 15 and EnableNecroVengefulSpirit = 0 getlabel backpack backpacklabel skill 'spiritspeak' wait 250 settimer 'SpiritSpeakTimer' 0 if insysmsg 'You establish contact' if EnableOverheadMessages = 1 overhead '[ CONSUMING SOULS... ]' 1109 else overhead '*consuming souls...*' 1109 endif endif endif endif if dead break endif if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange settimer TargetChecker 0 @setvar! AttackModeActive 0 @setvar! RepeatCastingPoison 0 @setvar! ClosestTargetisSticky 0 @setvar! TargetSwap 0 break endif if diffhits > CastGreaterHealHPdiff or paralyzed break endif endwhile //////////////////////////// // END FLAMESTRIKE LOOP // //////////////////////////// /////////////////////////// // MEDIUM ATTACK LOOP: // /////////////////////////// while mana <= CastMediumSpellsBelowMana and mana >= CastSmallSpellsBelowMana and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and TargetSwap != 1 and diffhits < CastGreaterHealHPdiff if dead break endif if EnableDropGoldWhenOverweight = 1 if weight > maxweight replay endif endif if EnableWeightWarningMessage = 1 if diffweight < GreenWarningDiffWeight and diffweight > YellowWarningDiffWeight and timer "WeightMessageTimer" > 6000 if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 overhead '[ WEIGHT WARNING... ]' 77 settimer "WeightMessageTimer" 0 else overhead " � " 77 settimer "WeightMessageTimer" 0 endif elseif diffweight < YellowWarningDiffWeight and diffweight > RedWeightLimitDiffWeight and timer "WeightMessageTimer" > 6000 if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 overhead '[ WEIGHT WARNING! ]' 153 settimer "WeightMessageTimer" 0 else overhead " � " 153 settimer "WeightMessageTimer" 0 endif elseif diffweight < RedWeightLimitDiffWeight if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if timer "WeightMessageTimer" > 6000 overhead '[ WEIGHT LIMIT REACHED! ]' 37 settimer "WeightMessageTimer" 0 endif else if timer "WeightMessageTimer" > 6000 overhead " � " 37 settimer "WeightMessageTimer" 0 endif endif if EnableAutoWeightRecall = 1 and not find ClosestTarget ground -1 -1 8 and WILDERNESSMODE = 1 wait 500 hotkey 'Toggle Peace Only' @setvar! AutoWeightRecall 1 replay elseif EnableAutoWeightRecall = 1 and find ClosestTarget ground -1 -1 8 and WILDERNESSMODE = 1 if timer "WaitingToRecallTimer" > 3500 and EnableAutoRecallOverheadMessages = 1 overhead '[ WAITING TO RECALL... ]' 149 settimer "WaitingToRecallTimer" 0 endif wait 500 elseif EnableAutoWeightDungeonGate = 1 and DUNGEONMODE = 1 wait 500 hotkey 'Toggle Peace Only' @setvar! TimeToGo 1 replay else if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 overhead '[ OVERWEIGHT! ]' 337 else overhead " � " 337 endif wait 1500 overhead '[ STOPPING SCRIPT! ]' 88 stop endif endif endif while not warmode if TimeToGo = 1 break else if WILDERNESSMODE = 1 if EnableAutoRedRecall = 1 or EnableAutoWeightRecall = 1 overhead '[ RECALLING IN... ]' 2114 if warmode break endif wait 500 overhead "3" 69 wait 1000 if warmode break endif overhead "2" 69 wait 1000 if warmode break endif overhead "1" 69 wait 500 if warmode break else @setvar! TimeToGo 1 @setvar! AutoRecallTime 1 break endif endif elseif DUNGEONMODE = 1 if EnableAutoRedDungeonGate = 1 or EnableAutoWeightDungeonGate = 1 if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 overhead '[ DUNGEON ESCAPE! ]' 337 else overhead "�" 337 endif hotkey 'Toggle Peace Only' @setvar! TimeToGo 1 getlabel backpack backpacklabel wait 250 break endif endif endif endwhile if not warmode and TimeToGo = 1 break endif if diffhits > CastGreaterHealHPdiff or paralyzed break endif if SummonEarthElemental_or_AncientMummy != 0 or SummonWaterElemental_or_RagWitch != 0 or SummonFireElemental_or_Lich != 0 or SummonAirElemental_or_SkeletalFiend != 0 or SummonDemon_or_VampireThrall != 0 or SummonCreature_or_UndeadCreature != 0 if followers < TotalSummonCount @setvar! AttackModeActive 2 replay endif endif if TargetSwap = 1 @setvar! AttackModeActive 2 break endif if mana > CastMediumSpellsBelowMana break endif if timer "TargetTimer" > 3500 and find ClosestTarget ground -1 -1 TargetAttackRange getlabel ClosestTarget TargetDesc if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ PARAGON! ]' 12 ClosestTarget overhead " � " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ TARGET ]' 253 ClosestTarget overhead " � " 253 ClosestTarget settimer "TargetTimer" 0 endif else if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead " ��� " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead " � " 253 ClosestTarget settimer "TargetTimer" 0 endif endif endif if EnablePKradar = 1 and TimeToGo != 1 if timer "PKRadarTimer" > 1500 clearsysmsg hotkey 'Next Murderer Player Target' wait 150 if insysmsg "No one matching that was found" settimer "PKRadarTimer" 0 clearsysmsg else if EnableRedAlertOverhead = 1 overhead "[ !! RED ALERT !! ]" 37 endif hotkey 'Toggle Peace Only' @setvar! RedTargetFound 1 @setvar! TimeToGo 1 @setvar! MurdererTarget lasttarget replay endif endif endif if EnableTrackingAutoRecall = 1 and TimeToGo != 1 if PKTrackingRange = 60 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 50 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 40 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 0 if insysmsg "Now tracking" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif endif endif if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange settimer TargetChecker 0 @setvar! TargetSwap 0 @setvar! RepeatCastingPoison 0 @setvar! ClosestTargetisSticky 0 @setvar! AttackModeActive 0 break endif if CheckClosestTargetTime != 0 if timer TargetChecker > CheckClosestTargetTime @setvar! TargetSwap 0 hotkey "Target Closest Grey Monster" getlabel backpack backpacklabel @setvar! TargetToCheck lasttarget wait 250 if TargetToCheck != ClosestTarget settimer TargetChecker 0 @setvar! TargetToAnalyze lasttarget @setvar! ClosestTargetisSticky 0 @setvar! AttackModeActive 2 @setvar! TargetSwap 1 break endif settimer TargetChecker 0 endif endif if EnableAutoCrookCheck = 1 if skill 'herding' > 50 and timer CrookCheckTimer > 10000 if findtype "shepherd's crook" self # ' if listexists CrooksToUnignore removelist CrooksToUnignore endif createlist CrooksToUnignore for 5 if findtype "shepherd's crook" self as myCrook # ' getlabel myCrook crooklabel wait 250 if 'activated' in crooklabel break elseif 'unidentified' in crooklabel pushlist CrooksToUnignore myCrook @ignore myCrook else if followers > 0 if EnableOverheadMessages = 1 overhead "[ ACTIVATING CROOK! ]" 2114 else overhead "*crook activated*" 2114 endif dclick myCrook wait 250 break endif endif wait 250 endif endfor foreach CrookToUnignore in CrooksToUnignore @unignore CrookToUnignore endfor removelist CrooksToUnignore elseif not findtype "shepherd's crook" self # ' if EnableOverheadMessages != 0 if timer CrookCheckOverheadTimer > 15000 overhead "[ NO CROOK FOUND! ]" 337 settimer CrookCheckOverheadTimer 0 endif endif endif settimer CrookCheckTimer 0 endif endif if mana < LowManaWarningAmount and timer ManaOverheadTimer > 4500 and LowManaWarningAmount != 0 overhead "[ LOW MANA! ]" 34 settimer ManaOverheadTimer 0 endif if EnableNecroStrangle = 1 or EnableNecroCorpseSkin = 1 or EnableNecroMindRot = 1 or EnableNecroEvilOmen = 1 or EnableNecroPainSpike = 1 if findtype 'necromancer book' backpack yell '[necromancyhotbar' while not gumpexists 622436516 yell '[necromancyhotbar' endwhile endif endif if gumpexists 622436516 if ingump "12/|13/|14/|15/|16/|17/|18/|19/|20/|21/|11/|10/|9/|8/|7/|6/|5/" 622436516 @setvar! StrangleAvailable 1 @setvar! MindRotAvailable 1 @setvar! CorpseSkinAvailable 1 @setvar! EvilOmenAvailable 1 @setvar! PainSpikeAvailable 1 elseif ingump "4/" 622436516 if ingump "14/" 622436516 @setvar! StrangleAvailable 1 @setvar! MindRotAvailable 1 @setvar! CorpseSkinAvailable 1 @setvar! EvilOmenAvailable 1 @setvar! PainSpikeAvailable 1 else @setvar! StrangleAvailable 1 @setvar! MindRotAvailable 1 @setvar! CorpseSkinAvailable 1 @setvar! EvilOmenAvailable 1 @setvar! PainSpikeAvailable 0 endif elseif ingump "3/" 622436516 if ingump "13/" 622436516 @setvar! StrangleAvailable 1 @setvar! MindRotAvailable 1 @setvar! CorpseSkinAvailable 1 @setvar! EvilOmenAvailable 1 @setvar! PainSpikeAvailable 1 else @setvar! StrangleAvailable 0 @setvar! MindRotAvailable 1 @setvar! CorpseSkinAvailable 1 @setvar! EvilOmenAvailable 1 @setvar! PainSpikeAvailable 0 endif elseif ingump "2/" 622436516 if ingump "12/" 622436516 @setvar! StrangleAvailable 1 @setvar! MindRotAvailable 1 @setvar! CorpseSkinAvailable 1 @setvar! EvilOmenAvailable 1 @setvar! PainSpikeAvailable 1 else @setvar! StrangleAvailable 0 @setvar! MindRotAvailable 0 @setvar! CorpseSkinAvailable 1 @setvar! EvilOmenAvailable 1 @setvar! PainSpikeAvailable 0 endif elseif ingump "1/" 622436516 if ingump "11/" 622436516 @setvar! StrangleAvailable 1 @setvar! MindRotAvailable 1 @setvar! CorpseSkinAvailable 1 @setvar! EvilOmenAvailable 1 @setvar! PainSpikeAvailable 1 else @setvar! StrangleAvailable 0 @setvar! MindRotAvailable 0 @setvar! CorpseSkinAvailable 0 @setvar! EvilOmenAvailable 0 @setvar! PainSpikeAvailable 0 endif elseif ingump "0/" 622436516 if ingump "10/" 622436516 @setvar! StrangleAvailable 1 @setvar! MindRotAvailable 1 @setvar! CorpseSkinAvailable 1 @setvar! EvilOmenAvailable 1 @setvar! PainSpikeAvailable 1 else @setvar! StrangleAvailable 0 @setvar! MindRotAvailable 0 @setvar! CorpseSkinAvailable 0 @setvar! EvilOmenAvailable 0 @setvar! PainSpikeAvailable 0 endif endif endif 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 > 1000 @setvar! CastingWasInterrupted 0 clearsysmsg while not insysmsg "unholy symbols remaining" yell '[Strangle' getlabel backpack packdesc wait 250 if insysmsg "seconds before you may use that ability again." @setvar! CastingWasInterrupted 1 settimer StrangleTimer 28000 break endif endwhile if CastingWasInterrupted = 0 if EnableOverheadMessages = 1 overhead '[ STRANGLE ]' 334 endif settimer StrangleTimer 0 cooldown "Strangle" 30000 settimer NecroCooldownTimer 0 endif endif 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 > 1000 @setvar! CastingWasInterrupted 0 clearsysmsg while not insysmsg "unholy symbols remaining" yell '[CorpseSkin' getlabel backpack packdesc wait 250 if insysmsg "seconds before you may use that ability again." @setvar! CastingWasInterrupted 1 settimer CorpseSkinTimer 28000 break endif endwhile if CastingWasInterrupted = 0 if EnableOverheadMessages = 1 overhead '[ CORPSE SKIN ]' 40 endif settimer CorpseSkinTimer 0 cooldown "Corpse Skin" 30000 settimer NecroCooldownTimer 0 endif endif 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 > 1000 @setvar! CastingWasInterrupted 0 clearsysmsg while not insysmsg "unholy symbols remaining" yell '[MindRot' getlabel backpack packdesc wait 250 if insysmsg "seconds before you may use that ability again." @setvar! CastingWasInterrupted 1 settimer MindRotTimer 28000 break else break endif endwhile if CastingWasInterrupted = 0 if EnableOverheadMessages = 1 overhead '[ MIND ROT ]' 223 endif settimer MindRotTimer 0 cooldown "Mind Rot" 30000 settimer NecroCooldownTimer 0 endif endif 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 > 1000 @setvar! CastingWasInterrupted 0 clearsysmsg while not insysmsg "unholy symbols remaining" yell '[EvilOmen' getlabel backpack packdesc wait 250 if insysmsg "seconds before you may use that ability again." @setvar! CastingWasInterrupted 1 settimer EvilOmenTimer 28000 break endif endwhile if CastingWasInterrupted = 0 if EnableOverheadMessages = 1 overhead '[ EVIL OMEN ]' 238 endif settimer EvilOmenTimer 0 cooldown "Evil Omen" 30000 settimer NecroCooldownTimer 0 endif endif 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 > 1000 @setvar! CastingWasInterrupted 0 clearsysmsg yell "[PainSpike" wft 1000 target ClosestTarget getlabel backpack backpacklabel wft 250 if insysmsg "You do not see any corpses" or insysmsg "seconds before you may use that ability again." settimer PainSpikeTimer 25000 @setvar! CastingWasInterrupted 1 endif if CastingWasInterrupted = 0 if EnableOverheadMessages = 1 overhead '[ PAIN SPIKE! ]' 337 endif settimer PainSpikeTimer 0 cooldown "Pain Spike" 30000 settimer NecroCooldownTimer 0 endif endif if EnableNecroPoisonStrike != 0 and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and diffhits < CastGreaterHealHPdiff and timer NecroCooldownTimer > 1000 getlabel ClosestTarget targetLabel if "-" in targetLabel getlabel ClosestTarget targetLabel endif @setvar! CastPoisonStrike 0 if EnableCastPoison = 1 if "Ticks" in targetLabel or "resists" in targetLabel and EnableCastPoison = 1 @setvar! RepeatCastingPoison 1 if SetPoisonLevel = 2 if "Lethal" in targetLabel @setvar! RepeatCastingPoison 0 endif elseif SetPoisonLevel = 1 if "Lethal" in targetLabel or "Deadly" in targetLabel @setvar! RepeatCastingPoison 0 endif else @setvar! RepeatCastingPoison 0 endif if EnableNecroPoisonStrike != 0 if findtype 'necromancer book' backpack and not gumpexists 622436516 yell '[necromancyhotbar' while not gumpexists 622436516 yell '[necromancyhotbar' wait 500 endwhile endif if EnableNecroPoisonStrike = 2 if "[2" in targetLabel @setvar! CastPoisonStrike 1 else @setvar! CastPoisonStrike 0 endif elseif EnableNecroPoisonStrike = 3 if "[2" in targetLabel or "[3" in targetLabel @setvar! CastPoisonStrike 1 else @setvar! CastPoisonStrike 0 endif elseif EnableNecroPoisonStrike = 4 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel @setvar! CastPoisonStrike 1 else @setvar! CastPoisonStrike 0 endif elseif EnableNecroPoisonStrike = 5 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel or "[5" in targetLabel @setvar! CastPoisonStrike 1 else @setvar! CastPoisonStrike 0 endif elseif EnableNecroPoisonStrike = 6 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel or "[5" in targetLabel or "[6" in targetLabel @setvar! CastPoisonStrike 1 else @setvar! CastPoisonStrike 0 endif elseif EnableNecroPoisonStrike = 7 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel or "[5" in targetLabel or "[6" in targetLabel or "[7" in targetLabel @setvar! CastPoisonStrike 1 else @setvar! CastPoisonStrike 0 endif elseif EnableNecroPoisonStrike = 8 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 @setvar! CastPoisonStrike 1 else @setvar! CastPoisonStrike 0 endif elseif EnableNecroPoisonStrike = 9 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 targetLabel @setvar! CastPoisonStrike 1 else @setvar! CastPoisonStrike 0 endif endif getlabel backpack packdesc endif endif else if timer CorpseSkinDiseaseTimer > CorpseSkinPoisonStrikeDelay and EnableNecroPoisonStrike = 1 and EnableNecroCorpseSkin = 1 @setvar! CastPoisonStrike 1 else @setvar! CastPoisonStrike 0 endif endif getlabel backpack packdesc if CastPoisonStrike = 1 if findtype 'necromancer book' backpack and not gumpexists 622436516 while not gumpexists 622436516 yell '[necromancyhotbar' endwhile endif @setvar! PoisonStrikeAvailable 0 if gumpexists 622436516 if ingump "12/|13/|14/|15/|16/|17/|18/|19/|20/|21/|11/|10/|9/|8/|7/|6/|5/|4/|3/|2/" 622436516 @setvar! PoisonStrikeAvailable 1 elseif ingump "1/" 622436516 @setvar! PoisonStrikeAvailable 1 elseif ingump "0/" 622436516 if ingump "10/" 622436516 @setvar! PoisonStrikeAvailable 1 else @setvar! PoisonStrikeAvailable 0 endif endif endif 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 TargetAttackRange clearsysmsg while not insysmsg "unholy symbols remaining" if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange @setvar! RepeatCastingPoison 0 @setvar! AttackModeActive 0 @setvar! ClosestTargetisSticky 0 @setvar! TargetSwap 0 break endif yell '[PoisonStrike' wft 1500 clearsysmsg target ClosestTarget wait 250 if insysmsg "seconds before you may use that ability again." settimer PoisonStrikeTimer 28000 clearsysmsg break elseif insysmsg "You do not have a Spell-based poison or disease effect on that target." settimer PoisonStrikeTimer 15000 clearsysmsg break else break endif endwhile if insysmsg "unholy symbols remaining" if EnableOverheadMessages = 1 overhead '[ POISON STRIKE! ]' 77 endif @setvar! PoisonStrikeAvailable 0 settimer PoisonStrikeTimer 0 cooldown "Poison Strike" 30000 @setvar! CastPoisonStrike 0 settimer NecroCooldownTimer 0 endif endif endif 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 self cast 'Poison' settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 2500 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange @setvar! RepeatCastingPoison 0 @setvar! AttackModeActive 0 @setvar! CastingWasInterrupted 1 @setvar! ClosestTargetisSticky 0 @setvar! TargetSwap 0 interrupt break endif if insysmsg "Your concentration is disturbed" interrupt @setvar! CastingWasInterrupted 1 break endif if timer AntiStallTimer > 2500 settimer AntiStallTimer 0 break endif endwhile if CastingWasInterrupted = 1 and EnableNecroMindRot = 1 and MindRotAvailable = 1 and timer MindRotTimer > 30000 and skill 'necromancy' >= 75 while not insysmsg "unholy symbols remaining" yell '[MindRot' getlabel backpack packdesc wait 250 if insysmsg "seconds before you may use that ability again." @setvar! CastingWasInterrupted 1 settimer MindRotTimer 28000 break endif endwhile if CastingWasInterrupted = 0 if EnableOverheadMessages = 1 overhead '[ MIND ROT ]' 330 endif settimer MindRotTimer 0 cooldown "Mind Rot" 30000 endif @setvar! CastingWasInterrupted 0 endif if CastingWasInterrupted = 0 clearsysmsg target ClosestTarget getlabel backpack packdesc wait 250 if insysmsg "cannot be seen" break endif endif endif endif if EnableMeditation = 1 and mana < MeditateWhenManaBelow and not findbuff "meditating" and timer 'MeditationTimer' > 10000 skill 'meditation' getlabel backpack packdesc wait 250 if not findbuff 'meditating' settimer 'MeditationTimer' 7500 elseif findbuff 'meditating' hotkey 'Toggle Peace Only' settimer 'MeditationTimer' 0 while mana < maxmana and diffhits < CastGreaterHealHPdiff if timer "TargetTimer" > 3500 and find ClosestTarget ground -1 -1 TargetAttackRange getlabel ClosestTarget TargetDesc if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ PARAGON! ]' 12 ClosestTarget overhead " � " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ TARGET ]' 253 ClosestTarget overhead " � " 253 ClosestTarget settimer "TargetTimer" 0 endif else if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead " ��� " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead " � " 253 ClosestTarget settimer "TargetTimer" 0 endif endif endif if EnablePKradar = 1 and TimeToGo != 1 if timer "PKRadarTimer" > 1500 clearsysmsg hotkey 'Next Murderer Player Target' wait 150 if insysmsg "No one matching that was found" settimer "PKRadarTimer" 0 clearsysmsg else if EnableRedAlertOverhead = 1 overhead "[ !! RED ALERT !! ]" 37 endif hotkey 'Toggle Peace Only' @setvar! RedTargetFound 1 @setvar! TimeToGo 1 @setvar! MurdererTarget lasttarget replay endif endif endif if EnableTrackingAutoRecall = 1 and TimeToGo != 1 if PKTrackingRange = 60 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 50 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 40 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 0 if insysmsg "Now tracking" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif endif endif if not findbuff 'meditating' hotkey 'Toggle War Only' break endif if mana > MeditateUntilManaReaches hotkey 'Toggle War Only' break endif if warmode on break endif if diffhits > CastGreaterHealHPdiff break endif if dead break endif if timer 'MeditationMessageTimer' > 4000 if EnableOverheadMessages = 1 overhead '[ MEDITATING... ]' 11 else overhead "*meditating*" 11 endif settimer 'MeditationMessageTimer' 0 endif endwhile if diffhits > CastGreaterHealHPdiff break endif if dead break endif if not warmode and TimeToGo != 1 hotkey 'Toggle War Only' endif endif elseif EnableMeditation != 1 and MeditateWhenManaBelow != 0 and mana < MeditateWhenManaBelow if timer MissingRegsTimer > 4000 if EnableOverheadMessages = 1 overhead '[ WAITING FOR MANA... ]' 420 settimer MissingRegsTimer 0 endif endif endif if timer "TargetTimer" > 3500 and find ClosestTarget ground -1 -1 TargetAttackRange getlabel ClosestTarget TargetDesc if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ PARAGON! ]' 12 ClosestTarget overhead " � " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ TARGET ]' 253 ClosestTarget overhead " � " 253 ClosestTarget settimer "TargetTimer" 0 endif else if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead " ��� " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead " � " 253 ClosestTarget settimer "TargetTimer" 0 endif endif endif if EnablePKradar = 1 and TimeToGo != 1 if timer "PKRadarTimer" > 1500 clearsysmsg hotkey 'Next Murderer Player Target' wait 150 if insysmsg "No one matching that was found" settimer "PKRadarTimer" 0 clearsysmsg else if EnableRedAlertOverhead = 1 overhead "[ !! RED ALERT !! ]" 37 endif hotkey 'Toggle Peace Only' @setvar! RedTargetFound 1 @setvar! TimeToGo 1 @setvar! MurdererTarget lasttarget replay endif endif endif if EnableTrackingAutoRecall = 1 and TimeToGo != 1 if PKTrackingRange = 60 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 50 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 40 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 0 if insysmsg "Now tracking" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif endif endif if EnableEatMagicMushrooms = 1 if diffmana > EatMushroomManadiff and timer MushroomTimer > 60000 if counttype 29012 backpack dclicktype 29012 backpack getlabel backpack packdesc wait 250 if insysmsg "You consume a magic mushroom" settimer MushroomTimer 0 cooldown "Mushroom" 60000 if EnableOverheadMessages = 1 overhead '[ EATING SHROOMS... ]' 13 endif endif elseif EnableOverheadMessages = 1 overhead '[ OUT OF SHROOMS! ]' 337 endif endif endif if EnableStrengthPotion = 1 and diffhits < CastGreaterHealHPdiff if skill 'Alchemy' > 0 and skill 'Alchemy' < 2 if insysmsg "You may now use a strength" or not findbuff "Strength Potion Usage Cooldown" if findtype "White Potion" self dclicktype "White Potion" if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE STRENGTH POTION ]' 956 else overhead '[ STRENGTH POTION ]' 956 endif clearsysmsg settimer WhitePotionMessageTimer 0 endif wait 250 else if timer WhitePotionMessageTimer > 4500 overhead '[ NO STRENGTH POTS! ]' 337 settimer WhitePotionMessageTimer 0 endif endif clearsysmsg endif elseif skill 'Alchemy' = 0 if insysmsg "You may now use a strength" or not findbuff "Strength Potion Usage Cooldown" if findtype "White Potion" self dclicktype "White Potion" if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE STRENGTH POTION ]' 956 else overhead '[ STRENGTH POTION ]' 956 endif clearsysmsg settimer WhitePotionMessageTimer 0 endif wait 250 else if timer WhitePotionMessageTimer > 4500 overhead '[ NO STRENGTH POTS! ]' 337 settimer WhitePotionMessageTimer 0 endif endif clearsysmsg endif else if not findbuff "Strength" if findtype "White Potion" self dclicktype "White Potion" if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE STRENGTH POTION ]' 956 else overhead '[ STRENGTH POTION ]' 956 endif clearsysmsg settimer WhitePotionMessageTimer 0 endif wait 250 else if timer WhitePotionMessageTimer > 4500 overhead '[ NO STRENGTH POTS! ]' 337 settimer WhitePotionMessageTimer 0 endif endif endif endif endif if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff if findtype "Yellow Potion" self as HealPot getlabel HealPot HealPotlabel if "next" in HealPotlabel // Do nothing else @setvar! HealPotionCheck 0 if counttype 3852 self as HealPotCount @setvar! HealPotionCheck HealPotCount endif clearsysmsg dclicktype 3852 getlabel backpack backpackdesc wait 250 if insysmsg "potion satchel used" settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 4500 overhead '[ FREE HEAL POTION ]' 253 endif elseif HealPotionCheck != counttype 3852 self settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 4500 overhead '[ HEAL POTION ]' 253 endif endif clearsysmsg endif else if timer 'HealPotionMessageTimer' > 4500 and EnableOverheadMessages = 1 overhead '[ NO HEAL POTS! ]' 337 settimer 'HealPotionMessageTimer' 0 endif endif endif if skill 'healing' > 0 and hp < maxhp and not bandaging if findtype 'clean bandage%s%' self hotkey 'Bandage Self' if EnableOverheadMessages = 1 overhead '[ BANDAGING... ]' 88 endif else if EnableOverheadMessages = 1 overhead '[ NO BANDAGES! ]' 337 endif endif endif if EnableAgilityPotion = 1 and not findbuff "Agility" and diffhits < CastGreaterHealHPdiff if findtype "Blue Potion" self dclicktype "Blue Potion" if EnableOverheadMessages = 1 and timer BluePotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE AGILITY POTION ]' 93 else overhead '[ AGILITY POTION ]' 93 endif clearsysmsg settimer BluePotionMessageTimer 0 endif wait 250 else if timer BluePotionMessageTimer > 4500 and EnableOverheadMessages = 1 overhead '[ NO AGILITY POTS! ]' 337 settimer BluePotionMessageTimer 0 endif endif endif if EnableMagicResistPotion = 1 and not findbuff "Magic Resist" and diffhits < CastGreaterHealHPdiff if findtype "Black Potion" self dclicktype "Black Potion" if EnableOverheadMessages = 1 and timer BlackPotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE RESIST POTION ]' 1109 else overhead '[ RESIST POTION ]' 1109 endif clearsysmsg settimer BlackPotionMessageTimer 0 endif wait 250 else if timer BlackPotionMessageTimer > 4500 and EnableOverheadMessages = 1 overhead '[ NO RESIST POTS! ]' 337 settimer BlackPotionMessageTimer 0 endif endif endif if EnableRefreshPotion = 1 and diffstam > RefreshPotionSPdiff if findtype "Red Potion" self dclicktype "Red Potion" if EnableOverheadMessages = 1 and timer RedPotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE REFRESH POTION ]' 37 else overhead '[ REFRESH POTION ]' 37 endif clearsysmsg settimer RedPotionMessageTimer 0 endif wait 250 else if timer RedPotionMessageTimer > 4500 and EnableOverheadMessages = 1 overhead '[ NO REFRESH POTS! ]' 337 settimer RedPotionMessageTimer 0 endif endif endif if timer "TargetTimer" > 3500 and find ClosestTarget ground -1 -1 TargetAttackRange getlabel ClosestTarget TargetDesc if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ PARAGON! ]' 12 ClosestTarget overhead " � " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ TARGET ]' 253 ClosestTarget overhead " � " 253 ClosestTarget settimer "TargetTimer" 0 endif else if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead " ��� " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead " � " 253 ClosestTarget settimer "TargetTimer" 0 endif endif endif if EnablePKradar = 1 and TimeToGo != 1 if timer "PKRadarTimer" > 1500 clearsysmsg hotkey 'Next Murderer Player Target' wait 150 if insysmsg "No one matching that was found" settimer "PKRadarTimer" 0 clearsysmsg else if EnableRedAlertOverhead = 1 overhead "[ !! RED ALERT !! ]" 37 endif hotkey 'Toggle Peace Only' @setvar! RedTargetFound 1 @setvar! TimeToGo 1 @setvar! MurdererTarget lasttarget replay endif endif endif if EnableTrackingAutoRecall = 1 and TimeToGo != 1 if PKTrackingRange = 60 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 50 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 40 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 0 if insysmsg "Now tracking" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif endif endif @setvar! SpellcastCooldown 0 @setvar! CastingWasInterrupted 0 if diffhits < CastGreaterHealHPdiff if EnableCastExplosion = 1 and mana >= 20 and findtype 3963 self and findtype 3974 self and timer ExplosionCooldownTimer > ExplosionCooldown cast 'Explosion' settimer ExplosionCooldownTimer 0 settimer EnergyBoltCooldownTimer EnergyBoltCooldown settimer spellTimer 0 @setvar! SpellcastCooldown 1200 elseif EnableCastEnergyBolt = 1 and mana >= 20 and findtype 3962 self and findtype 3976 self and timer EnergyBoltCooldownTimer > EnergyBoltCooldown cast 'energy bolt' settimer EnergyBoltCooldownTimer 0 settimer MindBlastCooldownTimer MindblastCooldown settimer spellTimer 0 @setvar! SpellcastCooldown 1200 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 > MindblastCooldown cast 'mind blast' settimer MindBlastCooldownTimer 0 settimer spellTimer 0 @setvar! SpellcastCooldown 1200 endif settimer AntiStallTimer 0 getlabel backpack backpacklabel while not targetexists if targetexists break endif if diffhits >= CastGreaterHealHPdiff interrupt @setvar! AttackModeActive 1 @setvar! CastingWasInterrupted 1 endif if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange @setvar! AttackModeActive 0 @setvar! RepeatCastingPoison 0 @setvar! CastingWasInterrupted 1 @setvar! ClosestTargetisSticky 0 @setvar! TargetSwap 0 interrupt break endif if insysmsg "Your concentration is disturbed" interrupt @setvar! CastingWasInterrupted 1 break endif if EnablePanaceaPotion = 1 and skill 'Alchemy' >= 80 and RedTargetFound != 1 if findbuff "Bleed" or findbuff "Diseased" if not findbuff "panacea potion cooldown" if findtype "Orange Potion" self dclicktype "Orange Potion" wait 500 if findbuff "panacea potion cooldown" and EnableOverheadMessages = 1 overhead '[ PANACEA ACTIVATED ]' 55 cooldown "Panacea Potion" 30000 endif endif endif endif endif if EnableCleansingBrews = 1 if findbuff "Diseased" or findbuff "Bleed" if timer CleansingBrewTimer > 120000 if findtype 50675 self 2935 as CleansingBrew dclick CleansingBrew if EnableOverheadMessages = 1 overhead '[ CLEANSING BREW ]' 2117 endif cooldown 'Cleansing Brew' 120000 settimer CleansingBrewTimer 0 wait 250 else if timer CleansingBrewOverhead > 15000 overhead "[ NO CLEANSING BREWS! ]" 337 settimer CleansingBrewOverhead 0 settimer CleansingBrewTimer 0 endif endif else if EnableOverheadMessages = 1 and timer CleansingBrewOverhead > 15000 overhead '[ BREW ON COOLDOWN! ]' 37 settimer CleansingBrewOverhead 0 endif endif endif endif if EnableCurePotion = 1 while poisoned and casting and not targetexists if findtype "Orange Potion" self dclicktype "Orange Potion" if EnableOverheadMessages = 1 and timer 'CurePotionMessageTimer' > 3500 if insysmsg "potion satchel used" overhead '[ FREE CURE POTION ]' 44 else overhead '[ CURE POTION ]' 44 endif clearsysmsg settimer 'CurePotionMessageTimer' 0 endif wait 500 else if timer 'CurePotionMessageTimer' > 5000 and EnableOverheadMessages = 1 overhead '[ NO CURE POTS! ]' 337 settimer 'CurePotionMessageTimer' 0 endif break endif endwhile endif if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff and casting and not targetexists if findtype "Yellow Potion" self as HealPot getlabel HealPot HealPotlabel if "next" in HealPotlabel // Do nothing else @setvar! HealPotionCheck 0 if counttype 3852 self as HealPotCount @setvar! HealPotionCheck HealPotCount endif clearsysmsg dclicktype 3852 getlabel backpack backpackdesc wait 250 if insysmsg "potion satchel used" settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 4500 overhead '[ FREE HEAL POTION ]' 253 endif elseif HealPotionCheck != counttype 3852 self settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 4500 overhead '[ HEAL POTION ]' 253 endif endif clearsysmsg endif else if timer 'HealPotionMessageTimer' > 4500 and EnableOverheadMessages = 1 overhead '[ NO HEAL POTS! ]' 337 settimer 'HealPotionMessageTimer' 0 endif endif endif if timer AntiStallTimer > 3500 settimer AntiStallTimer 0 break endif endwhile if dead break endif if CastingWasInterrupted = 0 clearsysmsg target ClosestTarget getlabel backpack backpacklabel wait 250 if insysmsg "cannot be seen" @setvar! AttackModeActive 2 break endif endif if insysmsg "Mana Thief activated" if EnableOverheadMessages != 0 overhead "[ MANA THIEF! ]" 22 endif cooldown "Mana Thief" 60000 endif if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange @setvar! RepeatCastingPoison 0 @setvar! AttackModeActive 0 @setvar! ClosestTargetisSticky 0 @setvar! TargetSwap 0 break endif endif if EnableFrostAspect = 1 if insysmsg "Frost Shell activated" cooldown "Frost Shell Active" 5000 if EnableOverheadMessages = 1 overhead '[ FROST SHELL! ]' 2234 endif if FrostAspectTier = 0 cooldown "Frost Shell Cooldown" 30000 elseif FrostAspectTier = 1 cooldown "Frost Shell Cooldown" 29000 elseif FrostAspectTier = 2 cooldown "Frost Shell Cooldown" 28000 elseif FrostAspectTier = 3 cooldown "Frost Shell Cooldown" 27000 elseif FrostAspectTier = 4 cooldown "Frost Shell Cooldown" 26000 elseif FrostAspectTier = 5 cooldown "Frost Shell Cooldown" 25000 elseif FrostAspectTier = 6 cooldown "Frost Shell Cooldown" 24000 elseif FrostAspectTier = 7 cooldown "Frost Shell Cooldown" 23000 elseif FrostAspectTier = 8 cooldown "Frost Shell Cooldown" 22000 elseif FrostAspectTier = 9 cooldown "Frost Shell Cooldown" 21000 elseif FrostAspectTier = 10 cooldown "Frost Shell Cooldown" 20000 elseif FrostAspectTier = 11 cooldown "Frost Shell Cooldown" 19000 elseif FrostAspectTier = 12 cooldown "Frost Shell Cooldown" 18000 elseif FrostAspectTier = 13 cooldown "Frost Shell Cooldown" 17000 elseif FrostAspectTier = 14 cooldown "Frost Shell Cooldown" 16000 elseif FrostAspectTier = 15 cooldown "Frost Shell Cooldown" 15000 endif clearsysmsg endif endif if dead break endif if EnableUsePotionKegs = 1 and findtype 'empty bottle%s%' self and findtype 'keg' self and timer 'PotionKegPVPCooldown' > 30000 @setvar! PotionStockCheck 0 while PotionStockCheck < 8 and findtype 'empty bottle%s%' self if PotionStockCheck = 0 if HealingPotionAmount = 0 @setvar! PotionStockCheck 1 else @setvar! PotionType 3852 @setvar! KegColour 253 @setvar! PotionAmounttoFill HealingPotionAmount @setvar! PotionStockCheck 1 endif elseif PotionStockCheck = 1 if CurePotionAmount = 0 @setvar! PotionStockCheck 2 else @setvar! PotionType 3847 @setvar! KegColour 44 @setvar! PotionAmounttoFill CurePotionAmount @setvar! PotionStockCheck 2 endif elseif PotionStockCheck = 2 if RefreshPotionAmount = 0 @setvar! PotionStockCheck 3 else @setvar! PotionType 3851 @setvar! KegColour 37 @setvar! PotionAmounttoFill RefreshPotionAmount @setvar! PotionStockCheck 3 endif elseif PotionStockCheck = 3 if StrengthPotionAmount = 0 @setvar! PotionStockCheck 4 else @setvar! PotionType 3849 @setvar! KegColour 956 @setvar! PotionAmounttoFill StrengthPotionAmount @setvar! PotionStockCheck 4 endif elseif PotionStockCheck = 4 if AgilityPotionAmount = 0 @setvar! PotionStockCheck 5 else @setvar! PotionType 3848 @setvar! KegColour 93 @setvar! PotionAmounttoFill AgilityPotionAmount @setvar! PotionStockCheck 5 endif elseif PotionStockCheck = 5 if ResistPotionAmount = 0 @setvar! PotionStockCheck 6 else @setvar! PotionType 3846 @setvar! KegColour 1109 @setvar! PotionAmounttoFill ResistPotionAmount @setvar! PotionStockCheck 6 endif elseif PotionStockCheck = 6 if PoisonPotionAmount = 0 @setvar! PotionStockCheck 7 else @setvar! PotionType 3850 @setvar! KegColour 363 @setvar! PotionAmounttoFill PoisonPotionAmount @setvar! PotionStockCheck 7 endif elseif PotionStockCheck = 7 if ExplosionPotionAmount = 0 @setvar! PotionStockCheck 8 else @setvar! PotionType 3853 @setvar! KegColour 419 @setvar! PotionAmounttoFill ExplosionPotionAmount @setvar! PotionStockCheck 8 endif else break endif while counttype PotionType self < PotionAmounttoFill if not findtype 'empty bottle%s%' self if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 5000 overhead '[ NO EMPTY BOTTLES... ]' 337 settimer 'PotionKegTimer' 0 endif break endif if diffhits > HealPotionHPdiff break endif if findtype 'keg' self KegColour as myKeg dclick myKeg wait 250 if EnableOverheadMessages = 1 if timer 'PotionKegTimer' > 2000 overhead '[ FILLING POTS... ]' KegColour settimer 'PotionKegTimer' 0 endif endif else if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 5000 overhead '[ NO KEG TO USE... ]' KegColour settimer 'PotionKegTimer' 0 endif break endif if insysmsg "You have been in combat with another player" settimer "PotionKegPVPCooldown" 0 break endif endwhile if counttype PotionType self < PotionAmounttoFill and not findtype 'empty bottle%s%' self if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 5000 overhead '[ NO EMPTY BOTTLES... ]' 337 settimer 'PotionKegTimer' 0 endif break endif endwhile endif if EnableAutoExplosionPots = 1 and diffhits < CastGreaterHealHPdiff if findtype 'purple potion' self as explotPot getlabel explotPot potLabel if "(" in potLabel if timer PurplePotionTimer > PurplePotionCooldown @setvar! PurplePotionReady 1 else @setvar! PurplePotionReady 0 endif else @setvar! PurplePotionReady 1 endif if skill 'Alchemy' < 80 if timer TelekinesisTimer > 60000 or ClosestTargetisSticky = 0 if PurplePotionReady = 1 and find ClosestTarget ground -1 -1 TargetAttackRange and not dead ClosestTarget if findtype 'purple potion' self settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 1500 if timer AntiStallTimer > 1500 break endif cast 'Telekinesis' wait 500 endwhile clearsysmsg wft 500 target ClosestTarget wait 250 if insysmsg "You are too far" @setvar! ClosestTargetisSticky 0 clearsysmsg else if EnableOverheadMessages = 1 and timer PurplePotionMessageTimer > 4500 overhead '[ EXPLOSION POTION! ]' 419 settimer PurplePotionMessageTimer 0 endif settimer TelekinesisTimer 0 @setvar! ClosestTargetisSticky 1 endif endif endif endif else @setvar! ClosestTargetisSticky 1 endif else if EnableOverheadMessages = 1 and timer PurplePotionMessageTimer > 15000 overhead '[ NO PURPLE POTIONS ]' 337 settimer PurplePotionMessageTimer 0 endif endif endif @setvar! CastingWasInterrupted 0 if targetexists hotkey 'cancel current target' endif if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange @setvar! RepeatCastingPoison 0 @setvar! AttackModeActive 0 @setvar! ClosestTargetisSticky 0 @setvar! TargetSwap 0 settimer TargetChecker 0 break endif if EnableAutoExplosionPots = 1 if timer TelekinesisTimer > 60000 @setvar! ClosestTargetisSticky 0 settimer TelekinesisTimer 0 endif endif if PurplePotionReady = 1 and ClosestTargetisSticky = 1 and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and diffhits < CastGreaterHealHPdiff settimer AntiStallTimer 0 while not insysmsg "Where should i throw this potion?" and timer AntiStallTimer < 1500 potion 'explosion' if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif endwhile @setvar! PurplePotionReady 0 settimer PurplePotionTimer 0 settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 1500 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange @setvar! RepeatCastingPoison 0 @setvar! AttackModeActive 0 @setvar! ClosestTargetisSticky 0 @setvar! CastingWasInterrupted 1 @setvar! TargetSwap 0 hotkey 'cancel current target' break endif if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif endwhile if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange break endif if CastingWasInterrupted = 0 target ClosestTarget cooldown "Purple Potion" PurplePotionCooldown getlabel backpack packdesc wait 250 endif endif if counttype 29012 self = 0 and EnableMagicMushroomMaker = 1 while counttype 29012 self < MakeMushroomAmount and mana > 3 and diffhits < CastGreaterHealHPdiff if timer 'MushroomMakerTimer' > 4500 overhead '[ MAKING SHROOMS... ]' 419 settimer 'MushroomMakerTimer' 0 endif if not casting cast 'create food' wait 500 endif if diffhits > CastGreaterHealHPdiff break endif endwhile if dead break endif endif if EnableGoldVacuum = 1 and DisableVacuums != 1 if findtype "gold coin" ground -1 -1 15 as droppedmoney and timer "GoldRadar" > 3500 overhead " � " 149 droppedmoney settimer "GoldRadar" 0 endif while findtype "gold coin" ground -1 -1 2 as droppedmoney and diffhits < CastGreaterHealHPdiff overhead " � " 149 hotkey "Grab Item" wft 2500 target droppedmoney wait 250 if dead break endif if diffhits >= CastGreaterHealHPdiff @setvar! AttackModeActive 1 break endif if insysmsg "Invalid or inaccessible item" wait 500 @ignore droppedmoney endif wait 250 endwhile endif if EnableDungeonCleanup = 1 and diffhits < CastGreaterHealHPdiff while findtype "iron ingot%s|board%s|cut up leather|3972|3962|3963|3980|3976|3973|3974|3981" ground -1 -1 2 as item if EnableOverheadMessages = 1 if timer "DungeonCleanup" > 1500 overhead '[ CLEANUP... ]' 420 settimer "DungeonCleanup" 0 endif else if timer "DungeonCleanup" > 1500 overhead ' � ' 420 settimer "DungeonCleanup" 0 endif endif hotkey "Grab Item" wft 1000 target item wait 500 if dead break endif if diffhits > CastGreaterHealHPdiff break endif endwhile 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" > 3500 overhead "�" 420 dungeonjunk settimer "DungeonCleanupRadar" 0 endif endif if timer "TargetTimer" > 3500 and find ClosestTarget ground -1 -1 TargetAttackRange getlabel ClosestTarget TargetDesc if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ PARAGON! ]' 12 ClosestTarget overhead " � " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ TARGET ]' 253 ClosestTarget overhead " � " 253 ClosestTarget settimer "TargetTimer" 0 endif else if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead " ��� " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead " � " 253 ClosestTarget settimer "TargetTimer" 0 endif endif endif if EnablePKradar = 1 and TimeToGo != 1 if timer "PKRadarTimer" > 1500 clearsysmsg hotkey 'Next Murderer Player Target' wait 150 if insysmsg "No one matching that was found" settimer "PKRadarTimer" 0 clearsysmsg else if EnableRedAlertOverhead = 1 overhead "[ !! RED ALERT !! ]" 37 endif hotkey 'Toggle Peace Only' @setvar! RedTargetFound 1 @setvar! TimeToGo 1 @setvar! MurdererTarget lasttarget replay endif endif endif if EnableTrackingAutoRecall = 1 and TimeToGo != 1 if PKTrackingRange = 60 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 50 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 40 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 0 if insysmsg "Now tracking" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif endif endif if EnableAutoCarving = 1 and findtype 11552 self while findtype "corpse" ground -1 -1 2 as deadbody and diffhits < CastGreaterHealHPdiff settimer SkinningTimeoutTimer 0 if findtype 11552 self if targetexists hotkey 'cancel current target' endif while not targetexists skill 'forensicevaluation' getlabel backpack backpacklabel endwhile if targetexists and find deadbody ground -1 -1 2 target 'self' @ignore deadbody wait 250 endif if insysmsg "You dont see anything nearby" clearsysmsg break else if EnableOverheadMessages = 1 and timer SkinningTimer > 3000 overhead '[ SKINNING... ]' 333 settimer SkinningTimer 0 endif endif else if EnableOverheadMessages = 1 and timer SkinningTimer > 15000 overhead '[ NO SKINNING KNIFE ]' 337 settimer SkinningTimer 0 break endif endif if timer SkinningTimeoutTimer > 1500 or diffhits > CastGreaterHealHPdiff break endif endwhile endif if EnableOverheadMessages = 1 if insysmsg "something invisible out of" overhead "� SOMEONE HIDING! �" 6 endif if insysmsg "additional mastery chain link" overhead "[ CHAIN LINK UNLOCKED!! ]" 149 wait 500 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[Yes" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "enough experience to upgrade" overhead "[ ASPECT TIER UNLOCKED!! ]" 2234 wait 500 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[Whistle" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "You have unlocked a codex upgrade point" overhead "[ CODEX POINT UNLOCKED! ]" 2114 wait 250 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[HighFive" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "You have completed a society job" overhead "[ SOCIETY JOB COMPLETE! ]" 419 wait 500 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[Awoo" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "Society Job Progress" overhead "[ � SOCIETY POINTS � ]" 419 endif if insysmsg 'You charge your spell with additional energy' overhead '[ CHARGED SPELL! ]' 22 endif if insysmsg 'You generate mana for your spell' overhead '[ MANA REFUNDED! ]' 11 endif if insysmsg "You parry the spell" overhead "[ SPELL PARRY ]" 111 endif if insysmsg "Your attack places a hex" overhead '[ HEX ACTIVE ]' 14 ClosestTarget endif if insysmsg "causes you to bleed" overhead "[ YOU ARE BLEEDING... ]" 2118 endif if insysmsg "been struck by an ancient blight" overhead "[ DISEASED... ]" 1109 endif if insysmsg "You feel chilled!" overhead "[ YOU ARE CHILLED... ]" 2234 endif if insysmsg "You resist a disease effect" overhead "[ DISEASE RESISTED! ]" 888 endif if insysmsg "resist a bleed" overhead "[ BLEED RESISTED! ]" 888 endif if insysmsg "The creature pierces and bypasses your armor!" overhead "[ YOU ARE PIERCED... ]" 337 endif if insysmsg "Their attack disarms you!" overhead "[ DISARMED! ]" 337 endif if insysmsg "Their attack hamstrings you!" overhead "[ HAMSTRUNG! ]" 337 endif if insysmsg "attempting to steal" or insysmsg "attempting to peek" overhead "[ THIEF DETECTED! ]" 910 endif else if insysmsg "something invisible out of" overhead "� SOMEONE HIDING! �" 6 endif if insysmsg "additional mastery chain link" overhead "[ � CHAIN! � ]" 149 wait 500 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[Yes" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "enough experience to upgrade" overhead "[ � ASPECT � ]" 2234 wait 500 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[Whistle" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "You have unlocked a codex upgrade point" overhead '[ � CODEX! � ]' 2114 wait 250 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[HighFive" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "You have completed a society job" overhead "[ SOCIETY COMPLETE! ]" 419 wait 500 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[Awoo" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "You parry the spell" overhead "*spell parry*" 111 endif if insysmsg "Your attack places a hex" overhead '*hexxed*' 14 ClosestTarget endif if insysmsg "Society Job Progress" overhead "[ � SOCIETY � ]" 419 endif if insysmsg "attempting to steal" or insysmsg "attempting to peek" overhead "[ THIEF DETECTED! ]" 910 endif if insysmsg "Their attack disarms you!" overhead "*disarmed*" 337 endif if insysmsg "Their attack hamstrings you!" overhead "*hamstrung*" 337 endif endif if dead break endif if followers > 0 if skill 'spiritspeak' >= 50 and timer 'SpiritSpeakTimer' > 10000 and findtype 'corpse' ground -1 -1 15 and EnableNecroVengefulSpirit = 0 getlabel backpack backpacklabel skill 'spiritspeak' wait 250 settimer 'SpiritSpeakTimer' 0 if insysmsg 'You establish contact' if EnableOverheadMessages = 1 overhead '[ CONSUMING SOULS... ]' 1109 else overhead '*consuming souls...*' 1109 endif endif endif endif if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange settimer TargetChecker 0 @setvar! AttackModeActive 0 @setvar! RepeatCastingPoison 0 @setvar! ClosestTargetisSticky 0 @setvar! TargetSwap 0 break endif if diffhits > CastGreaterHealHPdiff or paralyzed break endif endwhile ////////////////////////////// // END MEDIUM ATTACK LOOP // ////////////////////////////// ///////////////////////// // SMALL ATTACK LOOP // ///////////////////////// while mana <= CastSmallSpellsBelowMana and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and TargetSwap != 1 and diffhits < CastGreaterHealHPdiff if dead break endif if EnableDropGoldWhenOverweight = 1 if weight > maxweight replay endif endif if EnableWeightWarningMessage = 1 if diffweight < GreenWarningDiffWeight and diffweight > YellowWarningDiffWeight and timer "WeightMessageTimer" > 6000 if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 overhead '[ WEIGHT WARNING... ]' 77 settimer "WeightMessageTimer" 0 else overhead " � " 77 settimer "WeightMessageTimer" 0 endif elseif diffweight < YellowWarningDiffWeight and diffweight > RedWeightLimitDiffWeight and timer "WeightMessageTimer" > 6000 if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 overhead '[ WEIGHT WARNING! ]' 153 settimer "WeightMessageTimer" 0 else overhead " � " 153 settimer "WeightMessageTimer" 0 endif elseif diffweight < RedWeightLimitDiffWeight if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if timer "WeightMessageTimer" > 6000 overhead '[ WEIGHT LIMIT REACHED! ]' 37 settimer "WeightMessageTimer" 0 endif else if timer "WeightMessageTimer" > 6000 overhead " � " 37 settimer "WeightMessageTimer" 0 endif endif if EnableAutoWeightRecall = 1 and not find ClosestTarget ground -1 -1 8 and WILDERNESSMODE = 1 wait 500 hotkey 'Toggle Peace Only' @setvar! AutoWeightRecall 1 replay elseif EnableAutoWeightRecall = 1 and find ClosestTarget ground -1 -1 8 and WILDERNESSMODE = 1 if timer "WaitingToRecallTimer" > 3500 and EnableAutoRecallOverheadMessages = 1 overhead '[ WAITING TO RECALL... ]' 149 settimer "WaitingToRecallTimer" 0 endif wait 500 elseif EnableAutoWeightDungeonGate = 1 and DUNGEONMODE = 1 wait 500 hotkey 'Toggle Peace Only' @setvar! TimeToGo 1 replay else if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 overhead '[ OVERWEIGHT! ]' 337 else overhead " � " 337 endif wait 1500 overhead '[ STOPPING SCRIPT! ]' 88 stop endif endif endif while not warmode if TimeToGo = 1 break else if WILDERNESSMODE = 1 if EnableAutoRedRecall = 1 or EnableAutoWeightRecall = 1 overhead '[ RECALLING IN... ]' 2114 if warmode break endif wait 500 overhead "3" 69 wait 1000 if warmode break endif overhead "2" 69 wait 1000 if warmode break endif overhead "1" 69 wait 500 if warmode break else @setvar! TimeToGo 1 @setvar! AutoRecallTime 1 break endif endif elseif DUNGEONMODE = 1 if EnableAutoRedDungeonGate = 1 or EnableAutoWeightDungeonGate = 1 if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 overhead '[ DUNGEON ESCAPE! ]' 337 else overhead "�" 337 endif hotkey 'Toggle Peace Only' @setvar! TimeToGo 1 getlabel backpack backpacklabel wait 250 break endif endif endif endwhile if not warmode and TimeToGo = 1 break endif if diffhits > CastGreaterHealHPdiff or paralyzed break endif if SummonEarthElemental_or_AncientMummy != 0 or SummonWaterElemental_or_RagWitch != 0 or SummonFireElemental_or_Lich != 0 or SummonAirElemental_or_SkeletalFiend != 0 or SummonDemon_or_VampireThrall != 0 or SummonCreature_or_UndeadCreature != 0 if followers < TotalSummonCount @setvar! AttackModeActive 2 replay endif endif if mana > CastSmallSpellsBelowMana break endif if TargetSwap = 1 @setvar! AttackModeActive 2 break endif if timer "TargetTimer" > 3500 and find ClosestTarget ground -1 -1 TargetAttackRange getlabel ClosestTarget TargetDesc if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ PARAGON! ]' 12 ClosestTarget overhead " � " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ TARGET ]' 253 ClosestTarget overhead " � " 253 ClosestTarget settimer "TargetTimer" 0 endif else if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead " ��� " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead " � " 253 ClosestTarget settimer "TargetTimer" 0 endif endif endif if EnablePKradar = 1 and TimeToGo != 1 if timer "PKRadarTimer" > 1500 clearsysmsg hotkey 'Next Murderer Player Target' wait 150 if insysmsg "No one matching that was found" settimer "PKRadarTimer" 0 clearsysmsg else if EnableRedAlertOverhead = 1 overhead "[ !! RED ALERT !! ]" 37 endif hotkey 'Toggle Peace Only' @setvar! RedTargetFound 1 @setvar! TimeToGo 1 @setvar! MurdererTarget lasttarget replay endif endif endif if EnableTrackingAutoRecall = 1 and TimeToGo != 1 if PKTrackingRange = 60 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 50 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 40 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 0 if insysmsg "Now tracking" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif endif endif if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange settimer TargetChecker 0 @setvar! TargetSwap 0 @setvar! RepeatCastingPoison 0 @setvar! ClosestTargetisSticky 0 @setvar! AttackModeActive 0 break endif if CheckClosestTargetTime != 0 if timer TargetChecker > CheckClosestTargetTime @setvar! TargetSwap 0 hotkey "Target Closest Grey Monster" getlabel backpack backpacklabel @setvar! TargetToCheck lasttarget wait 250 if TargetToCheck != ClosestTarget settimer TargetChecker 0 @setvar! TargetToAnalyze lasttarget @setvar! ClosestTargetisSticky 0 @setvar! AttackModeActive 2 @setvar! TargetSwap 1 break endif settimer TargetChecker 0 endif endif if EnableAutoCrookCheck = 1 if skill 'herding' > 50 and timer CrookCheckTimer > 10000 if findtype "shepherd's crook" self # ' if listexists CrooksToUnignore removelist CrooksToUnignore endif createlist CrooksToUnignore for 5 if findtype "shepherd's crook" self as myCrook # ' getlabel myCrook crooklabel wait 250 if 'activated' in crooklabel break elseif 'unidentified' in crooklabel pushlist CrooksToUnignore myCrook @ignore myCrook else if followers > 0 if EnableOverheadMessages = 1 overhead "[ ACTIVATING CROOK! ]" 2114 else overhead "*crook activated*" 2114 endif dclick myCrook wait 250 break endif endif wait 250 endif endfor foreach CrookToUnignore in CrooksToUnignore @unignore CrookToUnignore endfor removelist CrooksToUnignore elseif not findtype "shepherd's crook" self # ' if EnableOverheadMessages != 0 if timer CrookCheckOverheadTimer > 15000 overhead "[ NO CROOK FOUND! ]" 337 settimer CrookCheckOverheadTimer 0 endif endif endif settimer CrookCheckTimer 0 endif endif if mana < LowManaWarningAmount and timer ManaOverheadTimer > 4500 and LowManaWarningAmount != 0 overhead "[ LOW MANA! ]" 34 settimer ManaOverheadTimer 0 endif if EnableNecroStrangle = 1 or EnableNecroCorpseSkin = 1 or EnableNecroMindRot = 1 or EnableNecroEvilOmen = 1 or EnableNecroPainSpike = 1 if findtype 'necromancer book' backpack yell '[necromancyhotbar' while not gumpexists 622436516 yell '[necromancyhotbar' endwhile endif endif if gumpexists 622436516 if ingump "12/|13/|14/|15/|16/|17/|18/|19/|20/|21/|11/|10/|9/|8/|7/|6/|5/" 622436516 @setvar! StrangleAvailable 1 @setvar! MindRotAvailable 1 @setvar! CorpseSkinAvailable 1 @setvar! EvilOmenAvailable 1 @setvar! PainSpikeAvailable 1 elseif ingump "4/" 622436516 if ingump "14/" 622436516 @setvar! StrangleAvailable 1 @setvar! MindRotAvailable 1 @setvar! CorpseSkinAvailable 1 @setvar! EvilOmenAvailable 1 @setvar! PainSpikeAvailable 1 else @setvar! StrangleAvailable 1 @setvar! MindRotAvailable 1 @setvar! CorpseSkinAvailable 1 @setvar! EvilOmenAvailable 1 @setvar! PainSpikeAvailable 0 endif elseif ingump "3/" 622436516 if ingump "13/" 622436516 @setvar! StrangleAvailable 1 @setvar! MindRotAvailable 1 @setvar! CorpseSkinAvailable 1 @setvar! EvilOmenAvailable 1 @setvar! PainSpikeAvailable 1 else @setvar! StrangleAvailable 0 @setvar! MindRotAvailable 1 @setvar! CorpseSkinAvailable 1 @setvar! EvilOmenAvailable 1 @setvar! PainSpikeAvailable 0 endif elseif ingump "2/" 622436516 if ingump "12/" 622436516 @setvar! StrangleAvailable 1 @setvar! MindRotAvailable 1 @setvar! CorpseSkinAvailable 1 @setvar! EvilOmenAvailable 1 @setvar! PainSpikeAvailable 1 else @setvar! StrangleAvailable 0 @setvar! MindRotAvailable 0 @setvar! CorpseSkinAvailable 1 @setvar! EvilOmenAvailable 1 @setvar! PainSpikeAvailable 0 endif elseif ingump "1/" 622436516 if ingump "11/" 622436516 @setvar! StrangleAvailable 1 @setvar! MindRotAvailable 1 @setvar! CorpseSkinAvailable 1 @setvar! EvilOmenAvailable 1 @setvar! PainSpikeAvailable 1 else @setvar! StrangleAvailable 0 @setvar! MindRotAvailable 0 @setvar! CorpseSkinAvailable 0 @setvar! EvilOmenAvailable 0 @setvar! PainSpikeAvailable 0 endif elseif ingump "0/" 622436516 if ingump "10/" 622436516 @setvar! StrangleAvailable 1 @setvar! MindRotAvailable 1 @setvar! CorpseSkinAvailable 1 @setvar! EvilOmenAvailable 1 @setvar! PainSpikeAvailable 1 else @setvar! StrangleAvailable 0 @setvar! MindRotAvailable 0 @setvar! CorpseSkinAvailable 0 @setvar! EvilOmenAvailable 0 @setvar! PainSpikeAvailable 0 endif endif endif 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 > 1000 @setvar! CastingWasInterrupted 0 clearsysmsg while not insysmsg "unholy symbols remaining" yell '[Strangle' getlabel backpack packdesc wait 250 if insysmsg "seconds before you may use that ability again." @setvar! CastingWasInterrupted 1 settimer StrangleTimer 28000 break endif endwhile if CastingWasInterrupted = 0 if EnableOverheadMessages = 1 overhead '[ STRANGLE ]' 334 endif settimer StrangleTimer 0 cooldown "Strangle" 30000 settimer NecroCooldownTimer 0 endif endif 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 > 1000 @setvar! CastingWasInterrupted 0 clearsysmsg while not insysmsg "unholy symbols remaining" yell '[CorpseSkin' getlabel backpack packdesc wait 250 if insysmsg "seconds before you may use that ability again." @setvar! CastingWasInterrupted 1 settimer CorpseSkinTimer 28000 break endif endwhile if CastingWasInterrupted = 0 if EnableOverheadMessages = 1 overhead '[ CORPSE SKIN ]' 40 endif settimer CorpseSkinTimer 0 cooldown "Corpse Skin" 30000 settimer NecroCooldownTimer 0 endif endif 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 > 1000 @setvar! CastingWasInterrupted 0 clearsysmsg while not insysmsg "unholy symbols remaining" yell '[MindRot' getlabel backpack packdesc wait 250 if insysmsg "seconds before you may use that ability again." @setvar! CastingWasInterrupted 1 settimer MindRotTimer 28000 break else break endif endwhile if CastingWasInterrupted = 0 if EnableOverheadMessages = 1 overhead '[ MIND ROT ]' 223 endif settimer MindRotTimer 0 cooldown "Mind Rot" 30000 settimer NecroCooldownTimer 0 endif endif 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 > 1000 @setvar! CastingWasInterrupted 0 clearsysmsg while not insysmsg "unholy symbols remaining" yell '[EvilOmen' getlabel backpack packdesc wait 250 if insysmsg "seconds before you may use that ability again." @setvar! CastingWasInterrupted 1 settimer EvilOmenTimer 28000 break endif endwhile if CastingWasInterrupted = 0 if EnableOverheadMessages = 1 overhead '[ EVIL OMEN ]' 238 endif settimer EvilOmenTimer 0 cooldown "Evil Omen" 30000 settimer NecroCooldownTimer 0 endif endif 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 > 1000 @setvar! CastingWasInterrupted 0 clearsysmsg yell "[PainSpike" wft 1000 target ClosestTarget getlabel backpack backpacklabel wft 250 if insysmsg "You do not see any corpses" or insysmsg "seconds before you may use that ability again." settimer PainSpikeTimer 25000 @setvar! CastingWasInterrupted 1 endif if CastingWasInterrupted = 0 if EnableOverheadMessages = 1 overhead '[ PAIN SPIKE! ]' 337 endif settimer PainSpikeTimer 0 cooldown "Pain Spike" 30000 settimer NecroCooldownTimer 0 endif endif if EnableNecroPoisonStrike != 0 and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and diffhits < CastGreaterHealHPdiff and timer NecroCooldownTimer > 1000 getlabel ClosestTarget targetLabel if "-" in targetLabel getlabel ClosestTarget targetLabel endif @setvar! CastPoisonStrike 0 if EnableCastPoison = 1 if "Ticks" in targetLabel or "resists" in targetLabel and EnableCastPoison = 1 @setvar! RepeatCastingPoison 1 if SetPoisonLevel = 2 if "Lethal" in targetLabel @setvar! RepeatCastingPoison 0 endif elseif SetPoisonLevel = 1 if "Lethal" in targetLabel or "Deadly" in targetLabel @setvar! RepeatCastingPoison 0 endif else @setvar! RepeatCastingPoison 0 endif if EnableNecroPoisonStrike != 0 if findtype 'necromancer book' backpack and not gumpexists 622436516 yell '[necromancyhotbar' while not gumpexists 622436516 yell '[necromancyhotbar' wait 500 endwhile endif if EnableNecroPoisonStrike = 2 if "[2" in targetLabel @setvar! CastPoisonStrike 1 else @setvar! CastPoisonStrike 0 endif elseif EnableNecroPoisonStrike = 3 if "[2" in targetLabel or "[3" in targetLabel @setvar! CastPoisonStrike 1 else @setvar! CastPoisonStrike 0 endif elseif EnableNecroPoisonStrike = 4 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel @setvar! CastPoisonStrike 1 else @setvar! CastPoisonStrike 0 endif elseif EnableNecroPoisonStrike = 5 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel or "[5" in targetLabel @setvar! CastPoisonStrike 1 else @setvar! CastPoisonStrike 0 endif elseif EnableNecroPoisonStrike = 6 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel or "[5" in targetLabel or "[6" in targetLabel @setvar! CastPoisonStrike 1 else @setvar! CastPoisonStrike 0 endif elseif EnableNecroPoisonStrike = 7 if "[2" in targetLabel or "[3" in targetLabel or "[4" in targetLabel or "[5" in targetLabel or "[6" in targetLabel or "[7" in targetLabel @setvar! CastPoisonStrike 1 else @setvar! CastPoisonStrike 0 endif elseif EnableNecroPoisonStrike = 8 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 @setvar! CastPoisonStrike 1 else @setvar! CastPoisonStrike 0 endif elseif EnableNecroPoisonStrike = 9 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 targetLabel @setvar! CastPoisonStrike 1 else @setvar! CastPoisonStrike 0 endif endif getlabel backpack packdesc endif endif else if timer CorpseSkinDiseaseTimer > CorpseSkinPoisonStrikeDelay and EnableNecroPoisonStrike = 1 and EnableNecroCorpseSkin = 1 @setvar! CastPoisonStrike 1 else @setvar! CastPoisonStrike 0 endif endif getlabel backpack packdesc if CastPoisonStrike = 1 if findtype 'necromancer book' backpack and not gumpexists 622436516 while not gumpexists 622436516 yell '[necromancyhotbar' endwhile endif @setvar! PoisonStrikeAvailable 0 if gumpexists 622436516 if ingump "12/|13/|14/|15/|16/|17/|18/|19/|20/|21/|11/|10/|9/|8/|7/|6/|5/|4/|3/|2/" 622436516 @setvar! PoisonStrikeAvailable 1 elseif ingump "1/" 622436516 @setvar! PoisonStrikeAvailable 1 elseif ingump "0/" 622436516 if ingump "10/" 622436516 @setvar! PoisonStrikeAvailable 1 else @setvar! PoisonStrikeAvailable 0 endif endif endif 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 TargetAttackRange clearsysmsg while not insysmsg "unholy symbols remaining" if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange @setvar! RepeatCastingPoison 0 @setvar! AttackModeActive 0 @setvar! ClosestTargetisSticky 0 @setvar! TargetSwap 0 break endif yell '[PoisonStrike' wft 1500 clearsysmsg target ClosestTarget wait 250 if insysmsg "seconds before you may use that ability again." settimer PoisonStrikeTimer 28000 clearsysmsg break elseif insysmsg "You do not have a Spell-based poison or disease effect on that target." settimer PoisonStrikeTimer 15000 clearsysmsg break else break endif endwhile if insysmsg "unholy symbols remaining" if EnableOverheadMessages = 1 overhead '[ POISON STRIKE! ]' 77 endif @setvar! PoisonStrikeAvailable 0 settimer PoisonStrikeTimer 0 cooldown "Poison Strike" 30000 @setvar! CastPoisonStrike 0 settimer NecroCooldownTimer 0 endif endif endif 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 self cast 'Poison' settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 2500 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange @setvar! RepeatCastingPoison 0 @setvar! AttackModeActive 0 @setvar! CastingWasInterrupted 1 @setvar! ClosestTargetisSticky 0 @setvar! TargetSwap 0 interrupt break endif if insysmsg "Your concentration is disturbed" interrupt @setvar! CastingWasInterrupted 1 break endif if timer AntiStallTimer > 2500 settimer AntiStallTimer 0 break endif endwhile if CastingWasInterrupted = 1 and EnableNecroMindRot = 1 and MindRotAvailable = 1 and timer MindRotTimer > 30000 and skill 'necromancy' >= 75 while not insysmsg "unholy symbols remaining" yell '[MindRot' getlabel backpack packdesc wait 250 if insysmsg "seconds before you may use that ability again." @setvar! CastingWasInterrupted 1 settimer MindRotTimer 28000 break endif endwhile if CastingWasInterrupted = 0 if EnableOverheadMessages = 1 overhead '[ MIND ROT ]' 330 endif settimer MindRotTimer 0 cooldown "Mind Rot" 30000 endif @setvar! CastingWasInterrupted 0 endif if CastingWasInterrupted = 0 clearsysmsg target ClosestTarget getlabel backpack packdesc wait 250 if insysmsg "cannot be seen" break endif endif endif endif if EnableMeditation = 1 and mana < MeditateWhenManaBelow and not findbuff "meditating" and timer 'MeditationTimer' > 10000 skill 'meditation' getlabel backpack packdesc wait 250 if not findbuff 'meditating' settimer 'MeditationTimer' 7500 elseif findbuff 'meditating' hotkey 'Toggle Peace Only' settimer 'MeditationTimer' 0 while mana < maxmana and diffhits < CastGreaterHealHPdiff if not findbuff 'meditating' hotkey 'Toggle War Only' break endif if mana > MeditateUntilManaReaches hotkey 'Toggle War Only' break endif if warmode on break endif if diffhits > CastGreaterHealHPdiff break endif if dead break endif if timer 'MeditationMessageTimer' > 4000 if EnableOverheadMessages = 1 overhead '[ MEDITATING... ]' 11 else overhead "*meditating*" 11 endif settimer 'MeditationMessageTimer' 0 endif endwhile if diffhits > CastGreaterHealHPdiff break endif if dead break endif if not warmode and TimeToGo != 1 hotkey 'Toggle War Only' endif endif elseif EnableMeditation != 1 and MeditateWhenManaBelow != 0 and mana < MeditateWhenManaBelow if timer MissingRegsTimer > 4000 if EnableOverheadMessages = 1 overhead '[ WAITING FOR MANA... ]' 420 settimer MissingRegsTimer 0 endif endif endif if EnablePKradar = 1 and TimeToGo != 1 if timer "PKRadarTimer" > 1500 clearsysmsg hotkey 'Next Murderer Player Target' wait 250 if insysmsg "No one matching that was found" settimer "PKRadarTimer" 0 clearsysmsg else if EnableRedAlertOverhead = 1 overhead "[ !! RED ALERT !! ]" 37 endif hotkey 'Toggle Peace Only' @setvar! RedTargetFound 1 @setvar! TimeToGo 1 @setvar! MurdererTarget lasttarget replay endif endif endif if EnableTrackingAutoRecall = 1 and TimeToGo != 1 if PKTrackingRange = 60 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 50 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 40 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 0 if insysmsg "Now tracking" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif endif endif if EnableEatMagicMushrooms = 1 if diffmana > EatMushroomManadiff and timer MushroomTimer > 60000 if counttype 29012 backpack dclicktype 29012 backpack getlabel backpack packdesc wait 250 if insysmsg "You consume a magic mushroom" settimer MushroomTimer 0 cooldown "Mushroom" 60000 if EnableOverheadMessages = 1 overhead '[ EATING SHROOMS... ]' 13 endif endif elseif EnableOverheadMessages = 1 overhead '[ OUT OF SHROOMS! ]' 337 endif endif endif if EnableStrengthPotion = 1 and diffhits < CastGreaterHealHPdiff if skill 'Alchemy' > 0 and skill 'Alchemy' < 2 if insysmsg "You may now use a strength" or not findbuff "Strength Potion Usage Cooldown" if findtype "White Potion" self dclicktype "White Potion" if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE STRENGTH POTION ]' 956 else overhead '[ STRENGTH POTION ]' 956 endif clearsysmsg settimer WhitePotionMessageTimer 0 endif wait 250 else if timer WhitePotionMessageTimer > 4500 overhead '[ NO STRENGTH POTS! ]' 337 settimer WhitePotionMessageTimer 0 endif endif clearsysmsg endif elseif skill 'Alchemy' = 0 if insysmsg "You may now use a strength" or not findbuff "Strength Potion Usage Cooldown" if findtype "White Potion" self dclicktype "White Potion" if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE STRENGTH POTION ]' 956 else overhead '[ STRENGTH POTION ]' 956 endif clearsysmsg settimer WhitePotionMessageTimer 0 endif wait 250 else if timer WhitePotionMessageTimer > 4500 overhead '[ NO STRENGTH POTS! ]' 337 settimer WhitePotionMessageTimer 0 endif endif clearsysmsg endif else if not findbuff "Strength" if findtype "White Potion" self dclicktype "White Potion" if EnableOverheadMessages = 1 and timer WhitePotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE STRENGTH POTION ]' 956 else overhead '[ STRENGTH POTION ]' 956 endif clearsysmsg settimer WhitePotionMessageTimer 0 endif wait 250 else if timer WhitePotionMessageTimer > 4500 overhead '[ NO STRENGTH POTS! ]' 337 settimer WhitePotionMessageTimer 0 endif endif endif endif endif if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff if findtype "Yellow Potion" self as HealPot getlabel HealPot HealPotlabel if "next" in HealPotlabel // Do nothing else @setvar! HealPotionCheck 0 if counttype 3852 self as HealPotCount @setvar! HealPotionCheck HealPotCount endif clearsysmsg dclicktype 3852 getlabel backpack backpackdesc wait 250 if insysmsg "potion satchel used" settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 4500 overhead '[ FREE HEAL POTION ]' 253 endif elseif HealPotionCheck != counttype 3852 self settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 4500 overhead '[ HEAL POTION ]' 253 endif endif clearsysmsg endif else if timer 'HealPotionMessageTimer' > 4500 and EnableOverheadMessages = 1 overhead '[ NO HEAL POTS! ]' 337 settimer 'HealPotionMessageTimer' 0 endif endif endif if skill 'healing' > 0 and hp < maxhp and not bandaging if findtype 'clean bandage%s%' self hotkey 'Bandage Self' if EnableOverheadMessages = 1 overhead '[ BANDAGING... ]' 88 endif else if EnableOverheadMessages = 1 overhead '[ NO BANDAGES! ]' 337 endif endif endif if EnableAgilityPotion = 1 and not findbuff "Agility" and diffhits < CastGreaterHealHPdiff if findtype "Blue Potion" self dclicktype "Blue Potion" if EnableOverheadMessages = 1 and timer BluePotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE AGILITY POTION ]' 93 else overhead '[ AGILITY POTION ]' 93 endif clearsysmsg settimer BluePotionMessageTimer 0 endif wait 250 else if timer BluePotionMessageTimer > 4500 and EnableOverheadMessages = 1 overhead '[ NO AGILITY POTS! ]' 337 settimer BluePotionMessageTimer 0 endif endif endif if EnableMagicResistPotion = 1 and not findbuff "Magic Resist" and diffhits < CastGreaterHealHPdiff if findtype "Black Potion" self dclicktype "Black Potion" if EnableOverheadMessages = 1 and timer BlackPotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE RESIST POTION ]' 1109 else overhead '[ RESIST POTION ]' 1109 endif clearsysmsg settimer BlackPotionMessageTimer 0 endif wait 250 else if timer BlackPotionMessageTimer > 4500 and EnableOverheadMessages = 1 overhead '[ NO RESIST POTS! ]' 337 settimer BlackPotionMessageTimer 0 endif endif endif if EnableRefreshPotion = 1 and diffstam > RefreshPotionSPdiff if findtype "Red Potion" self dclicktype "Red Potion" if EnableOverheadMessages = 1 and timer RedPotionMessageTimer > 4500 if insysmsg "potion satchel used" overhead '[ FREE REFRESH POTION ]' 37 else overhead '[ REFRESH POTION ]' 37 endif clearsysmsg settimer RedPotionMessageTimer 0 endif wait 250 else if timer RedPotionMessageTimer > 4500 and EnableOverheadMessages = 1 overhead '[ NO REFRESH POTS! ]' 337 settimer RedPotionMessageTimer 0 endif endif endif if timer "TargetTimer" > 3500 and find ClosestTarget ground -1 -1 TargetAttackRange getlabel ClosestTarget TargetDesc if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ PARAGON! ]' 12 ClosestTarget overhead " � " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ TARGET ]' 253 ClosestTarget overhead " � " 253 ClosestTarget settimer "TargetTimer" 0 endif else if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead " ��� " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead " � " 253 ClosestTarget settimer "TargetTimer" 0 endif endif endif if EnablePKradar = 1 and TimeToGo != 1 if timer "PKRadarTimer" > 1500 clearsysmsg hotkey 'Next Murderer Player Target' wait 150 if insysmsg "No one matching that was found" settimer "PKRadarTimer" 0 clearsysmsg else if EnableRedAlertOverhead = 1 overhead "[ !! RED ALERT !! ]" 37 endif hotkey 'Toggle Peace Only' @setvar! RedTargetFound 1 @setvar! TimeToGo 1 @setvar! MurdererTarget lasttarget replay endif endif endif if EnableTrackingAutoRecall = 1 and TimeToGo != 1 if PKTrackingRange = 60 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 50 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 40 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 0 if insysmsg "Now tracking" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif endif endif @setvar! SpellcastCooldown 0 @setvar! CastingWasInterrupted 0 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 self cast 'magic arrow' settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 1500 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange @setvar! AttackModeActive 0 @setvar! RepeatCastingPoison 0 @setvar! ClosestTargetisSticky 0 @setvar! CastingWasInterrupted 1 @setvar! TargetSwap 0 interrupt break endif if insysmsg "Your concentration is disturbed" interrupt @setvar! CastingWasInterrupted 1 break endif if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif endwhile if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange break endif if CastingWasInterrupted = 0 clearsysmsg target ClosestTarget getlabel backpack packdesc wait 250 if insysmsg "wizardry" settimer MagicArrowTimer 0 elseif insysmsg "cannot be seen" break else settimer MagicArrowTimer MagicArrowCooldown endif endif endif 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 self cast 'harm' settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 1500 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange interrupt @setvar! AttackModeActive 0 @setvar! RepeatCastingPoison 0 @setvar! CastingWasInterrupted 1 @setvar! ClosestTargetisSticky 0 @setvar! TargetSwap 0 break endif if insysmsg "Your concentration is disturbed" interrupt @setvar! CastingWasInterrupted 1 break endif if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif endwhile if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange break endif if CastingWasInterrupted = 0 clearsysmsg target ClosestTarget getlabel backpack packdesc wait 250 if insysmsg "wizardry" settimer HarmTimer 0 elseif insysmsg "cannot be seen" break else settimer HarmTimer HarmCooldown endif endif endif 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 self cast 'fireball' settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 1500 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange interrupt @setvar! AttackModeActive 0 @setvar! RepeatCastingPoison 0 @setvar! CastingWasInterrupted 1 @setvar! ClosestTargetisSticky 0 @setvar! TargetSwap 0 break endif if insysmsg "Your concentration is disturbed" interrupt @setvar! CastingWasInterrupted 1 break endif if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif endwhile if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange break endif if CastingWasInterrupted = 0 clearsysmsg target ClosestTarget getlabel backpack packdesc wait 250 if insysmsg "wizardry" settimer FireballTimer 0 elseif insysmsg "cannot be seen" break else settimer FireballTimer FireballCooldown endif endif endif 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 self cast 'lightning' settimer AntiStallTimer 0 settimer spellTimer 0 @setvar! SpellcastCooldown 800 while not targetexists and timer AntiStallTimer < 1500 if diffhits >= CastGreaterHealHPdiff interrupt @setvar! AttackModeActive 1 @setvar! CastingWasInterrupted 1 endif if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange interrupt @setvar! AttackModeActive 0 @setvar! RepeatCastingPoison 0 @setvar! CastingWasInterrupted 1 @setvar! ClosestTargetisSticky 0 @setvar! TargetSwap 0 break endif if insysmsg "Your concentration is disturbed" interrupt @setvar! CastingWasInterrupted 1 break endif if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif if timer spellTimer < SpellcastCooldown if EnableCurePotion = 1 while poisoned and casting and not targetexists if findtype "Orange Potion" self dclicktype "Orange Potion" if EnableOverheadMessages = 1 and timer 'CurePotionMessageTimer' > 3500 if insysmsg "potion satchel used" overhead '[ FREE CURE POTION ]' 44 else overhead '[ CURE POTION ]' 44 endif clearsysmsg settimer 'CurePotionMessageTimer' 0 endif wait 500 else if timer 'CurePotionMessageTimer' > 5000 and EnableOverheadMessages = 1 overhead '[ NO CURE POTS! ]' 337 settimer 'CurePotionMessageTimer' 0 endif break endif endwhile endif if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff and casting and not targetexists if findtype "Yellow Potion" self as HealPot getlabel HealPot HealPotlabel if "next" in HealPotlabel // Do nothing else @setvar! HealPotionCheck 0 if counttype 3852 self as HealPotCount @setvar! HealPotionCheck HealPotCount endif clearsysmsg dclicktype 3852 getlabel backpack backpackdesc wait 250 if insysmsg "potion satchel used" settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 4500 overhead '[ FREE HEAL POTION ]' 253 endif elseif HealPotionCheck != counttype 3852 self settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 4500 overhead '[ HEAL POTION ]' 253 endif endif clearsysmsg endif else if timer 'HealPotionMessageTimer' > 4500 and EnableOverheadMessages = 1 overhead '[ NO HEAL POTS! ]' 337 settimer 'HealPotionMessageTimer' 0 endif endif endif endif endwhile if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange break endif if CastingWasInterrupted = 0 clearsysmsg target ClosestTarget getlabel backpack packdesc wait 250 if insysmsg "wizardry" settimer LightningTimer 0 elseif insysmsg "cannot be seen" break else settimer LightningTimer LightningCooldown endif endif endif if EnableFrostAspect = 1 if insysmsg "Frost Shell activated" cooldown "Frost Shell Active" 5000 if EnableOverheadMessages = 1 overhead '[ FROST SHELL! ]' 2234 endif if FrostAspectTier = 0 cooldown "Frost Shell Cooldown" 30000 elseif FrostAspectTier = 1 cooldown "Frost Shell Cooldown" 29000 elseif FrostAspectTier = 2 cooldown "Frost Shell Cooldown" 28000 elseif FrostAspectTier = 3 cooldown "Frost Shell Cooldown" 27000 elseif FrostAspectTier = 4 cooldown "Frost Shell Cooldown" 26000 elseif FrostAspectTier = 5 cooldown "Frost Shell Cooldown" 25000 elseif FrostAspectTier = 6 cooldown "Frost Shell Cooldown" 24000 elseif FrostAspectTier = 7 cooldown "Frost Shell Cooldown" 23000 elseif FrostAspectTier = 8 cooldown "Frost Shell Cooldown" 22000 elseif FrostAspectTier = 9 cooldown "Frost Shell Cooldown" 21000 elseif FrostAspectTier = 10 cooldown "Frost Shell Cooldown" 20000 elseif FrostAspectTier = 11 cooldown "Frost Shell Cooldown" 19000 elseif FrostAspectTier = 12 cooldown "Frost Shell Cooldown" 18000 elseif FrostAspectTier = 13 cooldown "Frost Shell Cooldown" 17000 elseif FrostAspectTier = 14 cooldown "Frost Shell Cooldown" 16000 elseif FrostAspectTier = 15 cooldown "Frost Shell Cooldown" 15000 endif clearsysmsg endif endif if dead break endif if EnableUsePotionKegs = 1 and findtype 'empty bottle%s%' self and findtype 'keg' self and timer 'PotionKegPVPCooldown' > 30000 @setvar! PotionStockCheck 0 while PotionStockCheck < 8 and findtype 'empty bottle%s%' self if PotionStockCheck = 0 if HealingPotionAmount = 0 @setvar! PotionStockCheck 1 else @setvar! PotionType 3852 @setvar! KegColour 253 @setvar! PotionAmounttoFill HealingPotionAmount @setvar! PotionStockCheck 1 endif elseif PotionStockCheck = 1 if CurePotionAmount = 0 @setvar! PotionStockCheck 2 else @setvar! PotionType 3847 @setvar! KegColour 44 @setvar! PotionAmounttoFill CurePotionAmount @setvar! PotionStockCheck 2 endif elseif PotionStockCheck = 2 if RefreshPotionAmount = 0 @setvar! PotionStockCheck 3 else @setvar! PotionType 3851 @setvar! KegColour 37 @setvar! PotionAmounttoFill RefreshPotionAmount @setvar! PotionStockCheck 3 endif elseif PotionStockCheck = 3 if StrengthPotionAmount = 0 @setvar! PotionStockCheck 4 else @setvar! PotionType 3849 @setvar! KegColour 956 @setvar! PotionAmounttoFill StrengthPotionAmount @setvar! PotionStockCheck 4 endif elseif PotionStockCheck = 4 if AgilityPotionAmount = 0 @setvar! PotionStockCheck 5 else @setvar! PotionType 3848 @setvar! KegColour 93 @setvar! PotionAmounttoFill AgilityPotionAmount @setvar! PotionStockCheck 5 endif elseif PotionStockCheck = 5 if ResistPotionAmount = 0 @setvar! PotionStockCheck 6 else @setvar! PotionType 3846 @setvar! KegColour 1109 @setvar! PotionAmounttoFill ResistPotionAmount @setvar! PotionStockCheck 6 endif elseif PotionStockCheck = 6 if PoisonPotionAmount = 0 @setvar! PotionStockCheck 7 else @setvar! PotionType 3850 @setvar! KegColour 363 @setvar! PotionAmounttoFill PoisonPotionAmount @setvar! PotionStockCheck 7 endif elseif PotionStockCheck = 7 if ExplosionPotionAmount = 0 @setvar! PotionStockCheck 8 else @setvar! PotionType 3853 @setvar! KegColour 419 @setvar! PotionAmounttoFill ExplosionPotionAmount @setvar! PotionStockCheck 8 endif else break endif while counttype PotionType self < PotionAmounttoFill if not findtype 'empty bottle%s%' self if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 5000 overhead '[ NO EMPTY BOTTLES... ]' 337 settimer 'PotionKegTimer' 0 endif break endif if diffhits > HealPotionHPdiff break endif if findtype 'keg' self KegColour as myKeg dclick myKeg wait 250 if EnableOverheadMessages = 1 if timer 'PotionKegTimer' > 2000 overhead '[ FILLING POTS... ]' KegColour settimer 'PotionKegTimer' 0 endif endif else if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 5000 overhead '[ NO KEG TO USE... ]' KegColour settimer 'PotionKegTimer' 0 endif break endif if insysmsg "You have been in combat with another player" settimer "PotionKegPVPCooldown" 0 break endif endwhile if counttype PotionType self < PotionAmounttoFill and not findtype 'empty bottle%s%' self if EnableOverheadMessages = 1 and timer 'PotionKegTimer' > 5000 overhead '[ NO EMPTY BOTTLES... ]' 337 settimer 'PotionKegTimer' 0 endif break endif endwhile endif if EnableAutoExplosionPots = 1 and diffhits < CastGreaterHealHPdiff if findtype 'purple potion' self as explotPot getlabel explotPot potLabel if "(" in potLabel if timer PurplePotionTimer > PurplePotionCooldown @setvar! PurplePotionReady 1 else @setvar! PurplePotionReady 0 endif else @setvar! PurplePotionReady 1 endif if skill 'Alchemy' < 80 if timer TelekinesisTimer > 60000 or ClosestTargetisSticky = 0 if PurplePotionReady = 1 and find ClosestTarget ground -1 -1 TargetAttackRange and not dead ClosestTarget if findtype 'purple potion' self settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 1500 if timer AntiStallTimer > 1500 break endif cast 'Telekinesis' wait 500 endwhile clearsysmsg wft 500 target ClosestTarget wait 250 if insysmsg "You are too far" @setvar! ClosestTargetisSticky 0 clearsysmsg else if EnableOverheadMessages = 1 and timer PurplePotionMessageTimer > 4500 overhead '[ EXPLOSION POTION! ]' 419 settimer PurplePotionMessageTimer 0 endif settimer TelekinesisTimer 0 @setvar! ClosestTargetisSticky 1 endif endif endif endif else @setvar! ClosestTargetisSticky 1 endif else if EnableOverheadMessages = 1 and timer PurplePotionMessageTimer > 15000 overhead '[ NO PURPLE POTIONS ]' 337 settimer PurplePotionMessageTimer 0 endif endif endif @setvar! CastingWasInterrupted 0 if targetexists hotkey 'cancel current target' endif if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange @setvar! RepeatCastingPoison 0 @setvar! AttackModeActive 0 @setvar! ClosestTargetisSticky 0 @setvar! TargetSwap 0 settimer TargetChecker 0 break endif if EnableAutoExplosionPots = 1 if timer TelekinesisTimer > 60000 @setvar! ClosestTargetisSticky 0 settimer TelekinesisTimer 0 endif endif if PurplePotionReady = 1 and ClosestTargetisSticky = 1 and not dead ClosestTarget and find ClosestTarget ground -1 -1 TargetAttackRange and diffhits < CastGreaterHealHPdiff settimer AntiStallTimer 0 while not insysmsg "Where should i throw this potion?" and timer AntiStallTimer < 1500 potion 'explosion' if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif endwhile @setvar! PurplePotionReady 0 settimer PurplePotionTimer 0 settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 1500 if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange @setvar! RepeatCastingPoison 0 @setvar! AttackModeActive 0 @setvar! ClosestTargetisSticky 0 @setvar! CastingWasInterrupted 1 @setvar! TargetSwap 0 hotkey 'cancel current target' break endif if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif endwhile if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange break endif if CastingWasInterrupted = 0 target ClosestTarget cooldown "Purple Potion" PurplePotionCooldown getlabel backpack packdesc wait 250 endif endif if counttype 29012 self = 0 and EnableMagicMushroomMaker = 1 while counttype 29012 self < MakeMushroomAmount and mana > 3 and diffhits < CastGreaterHealHPdiff if timer 'MushroomMakerTimer' > 4500 overhead '[ MAKING SHROOMS... ]' 419 settimer 'MushroomMakerTimer' 0 endif if not casting cast 'create food' wait 500 endif if diffhits > CastGreaterHealHPdiff break endif endwhile if diffhits > CastGreaterHealHPdiff break endif if dead break endif endif if EnableGoldVacuum = 1 and DisableVacuums != 1 if findtype "gold coin" ground -1 -1 15 as droppedmoney and timer "GoldRadar" > 3500 overhead " � " 149 droppedmoney settimer "GoldRadar" 0 endif while findtype "gold coin" ground -1 -1 2 as droppedmoney and diffhits < CastGreaterHealHPdiff overhead " � " 149 hotkey "Grab Item" wft 2500 target droppedmoney wait 250 if dead break endif if diffhits >= CastGreaterHealHPdiff @setvar! AttackModeActive 1 break endif if insysmsg "Invalid or inaccessible item" wait 500 @ignore droppedmoney endif wait 250 endwhile endif if EnableDungeonCleanup = 1 and diffhits < CastGreaterHealHPdiff while findtype "iron ingot%s|board%s|cut up leather|3972|3962|3963|3980|3976|3973|3974|3981" ground -1 -1 2 as item if EnableOverheadMessages = 1 if timer "DungeonCleanup" > 1500 overhead '[ CLEANUP... ]' 420 settimer "DungeonCleanup" 0 endif else if timer "DungeonCleanup" > 1500 overhead ' � ' 420 settimer "DungeonCleanup" 0 endif endif hotkey "Grab Item" wft 1000 target item wait 500 if dead break endif if diffhits > CastGreaterHealHPdiff break endif endwhile 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" > 3500 overhead "�" 420 dungeonjunk settimer "DungeonCleanupRadar" 0 endif endif if timer "TargetTimer" > 3500 and find ClosestTarget ground -1 -1 TargetAttackRange getlabel ClosestTarget TargetDesc if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ PARAGON! ]' 12 ClosestTarget overhead " � " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead '[ TARGET ]' 253 ClosestTarget overhead " � " 253 ClosestTarget settimer "TargetTimer" 0 endif else if "Paragon" in TargetDesc and find ClosestTarget ground -1 -1 TargetAttackRange overhead " ��� " 12 ClosestTarget settimer "TargetTimer" 0 elseif find ClosestTarget ground -1 -1 TargetAttackRange overhead " � " 253 ClosestTarget settimer "TargetTimer" 0 endif endif endif if EnablePKradar = 1 and TimeToGo != 1 if timer "PKRadarTimer" > 1500 clearsysmsg hotkey 'Next Murderer Player Target' wait 150 if insysmsg "No one matching that was found" settimer "PKRadarTimer" 0 clearsysmsg else if EnableRedAlertOverhead = 1 overhead "[ !! RED ALERT !! ]" 37 endif hotkey 'Toggle Peace Only' @setvar! RedTargetFound 1 @setvar! TimeToGo 1 @setvar! MurdererTarget lasttarget replay endif endif endif if EnableTrackingAutoRecall = 1 and TimeToGo != 1 if PKTrackingRange = 60 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 50 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 40 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 0 if insysmsg "Now tracking" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif endif endif if EnableAutoCarving = 1 and findtype 11552 self while findtype "corpse" ground -1 -1 2 as deadbody and diffhits < CastGreaterHealHPdiff settimer SkinningTimeoutTimer 0 if findtype 11552 self if targetexists hotkey 'cancel current target' endif while not targetexists skill 'forensicevaluation' getlabel backpack backpacklabel endwhile if targetexists and find deadbody ground -1 -1 2 target 'self' @ignore deadbody wait 250 endif if insysmsg "You dont see anything nearby" clearsysmsg break else if EnableOverheadMessages = 1 and timer SkinningTimer > 3000 overhead '[ SKINNING... ]' 333 settimer SkinningTimer 0 endif endif else if EnableOverheadMessages = 1 and timer SkinningTimer > 15000 overhead '[ NO SKINNING KNIFE ]' 337 settimer SkinningTimer 0 break endif endif if timer SkinningTimeoutTimer > 1500 or diffhits > CastGreaterHealHPdiff break endif endwhile endif if EnableOverheadMessages = 1 if insysmsg "something invisible out of" overhead "� SOMEONE HIDING! �" 6 endif if insysmsg "additional mastery chain link" overhead "[ CHAIN LINK UNLOCKED!! ]" 149 wait 500 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[Yes" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "enough experience to upgrade" overhead "[ ASPECT TIER UNLOCKED!! ]" 2234 wait 500 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[Whistle" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "You have unlocked a codex upgrade point" overhead "[ CODEX POINT UNLOCKED! ]" 2114 wait 250 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[HighFive" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "You have completed a society job" overhead "[ SOCIETY JOB COMPLETE! ]" 419 wait 500 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[Awoo" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "Society Job Progress" overhead "[ � SOCIETY POINTS � ]" 419 endif if insysmsg 'You charge your spell with additional energy' overhead '[ CHARGED SPELL! ]' 22 endif if insysmsg 'You generate mana for your spell' overhead '[ MANA REFUNDED! ]' 11 endif if insysmsg "You parry the spell" overhead "[ SPELL PARRY ]" 111 endif if insysmsg "Your attack places a hex" overhead '[ HEX ACTIVE ]' 14 ClosestTarget endif if insysmsg "causes you to bleed" overhead "[ YOU ARE BLEEDING... ]" 2118 endif if insysmsg "been struck by an ancient blight" overhead "[ DISEASED... ]" 1109 endif if insysmsg "You feel chilled!" overhead "[ YOU ARE CHILLED... ]" 2234 endif if insysmsg "You resist a disease effect" overhead "[ DISEASE RESISTED! ]" 888 endif if insysmsg "resist a bleed" overhead "[ BLEED RESISTED! ]" 888 endif if insysmsg "The creature pierces and bypasses your armor!" overhead "[ YOU ARE PIERCED... ]" 337 endif if insysmsg "Their attack disarms you!" overhead "[ DISARMED! ]" 337 endif if insysmsg "Their attack hamstrings you!" overhead "[ HAMSTRUNG! ]" 337 endif if insysmsg "attempting to steal" or insysmsg "attempting to peek" overhead "[ THIEF DETECTED! ]" 910 endif else if insysmsg "something invisible out of" overhead "� SOMEONE HIDING! �" 6 endif if insysmsg "additional mastery chain link" overhead "[ � CHAIN! � ]" 149 wait 500 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[Yes" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "enough experience to upgrade" overhead "[ � ASPECT � ]" 2234 wait 500 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[Whistle" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "You have unlocked a codex upgrade point" overhead '[ � CODEX! � ]' 2114 wait 250 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[HighFive" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "You have completed a society job" overhead "[ SOCIETY COMPLETE! ]" 419 wait 500 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[Awoo" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "You parry the spell" overhead "*spell parry*" 111 endif if insysmsg "Your attack places a hex" overhead '*hexxed*' 14 ClosestTarget endif if insysmsg "Society Job Progress" overhead "[ � SOCIETY � ]" 419 endif if insysmsg "attempting to steal" or insysmsg "attempting to peek" overhead "[ THIEF DETECTED! ]" 910 endif if insysmsg "Their attack disarms you!" overhead "*disarmed*" 337 endif if insysmsg "Their attack hamstrings you!" overhead "*hamstrung*" 337 endif endif if followers > 0 if skill 'spiritspeak' >= 50 and timer 'SpiritSpeakTimer' > 10000 and findtype 'corpse' ground -1 -1 15 and EnableNecroVengefulSpirit = 0 getlabel backpack backpacklabel skill 'spiritspeak' wait 250 settimer 'SpiritSpeakTimer' 0 if insysmsg 'You establish contact' if EnableOverheadMessages = 1 overhead '[ CONSUMING SOULS... ]' 1109 else overhead '*consuming souls...*' 1109 endif endif endif endif if dead break endif if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange settimer TargetChecker 0 @setvar! AttackModeActive 0 @setvar! RepeatCastingPoison 0 @setvar! ClosestTargetisSticky 0 @setvar! TargetSwap 0 break endif if diffhits > CastGreaterHealHPdiff or paralyzed break endif endwhile ///////////////////////////// // END SMALL ATTACK LOOP // ///////////////////////////// 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" self clearignore getlabel backpack backpacklabel 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" self if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if timer MissingRegsTimer > 5000 if counttype "3972" self = 0 overhead '[ NO GARLIC ]' 646 endif if counttype "3962" self = 0 overhead '[ NO BLACK PEARL ]' 3 endif if counttype "3963" self = 0 overhead '[ NO BLOODMOSS ]' 33 endif if counttype "3980" self = 0 overhead '[ NO SULFUROUS ASH ]' 153 endif if counttype "3976" self = 0 overhead '[ NO NIGHTSHADE ]' 363 endif if counttype "3973" self = 0 overhead '[ NO GINSENG ]' 247 endif if counttype "3974" self = 0 overhead '[ NO MANDRAKE ROOT ]' 442 endif if counttype "3981" self = 0 overhead '[ NO SPIDERS SILK ]' 2338 endif settimer MissingRegsTimer 0 endif endif @setvar! MissingRegs 1 else @setvar! MissingRegs 0 endif else @setvar! MissingRegs 0 endif if not findtype 3972 self or not findtype 3973 self or not findtype 3974 self or not findtype 3981 self @setvar! missingGreaterHealRegs 1 getlabel backpack backpacklabel else @setvar! missingGreaterHealRegs 0 endif if not findtype 3972 self or not findtype 3973 self or not findtype 3974 self @setvar! missingHealRegs 1 getlabel backpack backpacklabel else @setvar! missingHealRegs 0 endif if missingGreaterHealRegs = 1 or missingHealRegs = 1 if timer NoHealRegsTimer > 4000 overhead '[ MISSING HEALING REGS! ]' 337 settimer NoHealRegsTimer 0 endif endif @setvar! SpellInterrupted 0 clearsysmsg if skill 'magery' >= 60 and diffhits >= CastGreaterHealHPdiff and diffhits <= CastHealHPdiff and mana >= 11 and EnableCastGreaterHeal = 1 and not casting and missingGreaterHealRegs != 1 say 'All guard me' 2234 @setvar! SpellInterrupted 0 cast 'greater heal' getlabel backpack backpacklabel settimer spellTimer 0 @setvar! spellCD 2500 while not targetexists and timer spellTimer < spellCD if insysmsg "Your concentration is disturbed" interrupt @setvar! SpellInterrupted 1 break endif if timer spellTimer > spellCD break endif endwhile if SpellInterrupted = 0 target 'self' endif elseif skill 'magery' >= 40 and diffhits >= CastHealHPdiff and diffhits < CastEmergencyHealHPdiff and mana >= 4 and EnableCastHeal = 1 and not casting and missingHealRegs != 1 say 'All guard me' 2234 @setvar! SpellInterrupted 0 cast 'heal' getlabel backpack backpacklabel settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 1500 if insysmsg "Your concentration is disturbed" interrupt @setvar! SpellInterrupted 1 break endif if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif endwhile if SpellInterrupted = 0 target 'self' endif elseif skill 'magery' >= 40 and diffhits >= CastEmergencyHealHPdiff and mana >= 4 and EnableCastHeal = 1 and not casting and missingHealRegs != 1 say 'All guard me' 2234 while diffhits > CastGreaterHealHPdiff and mana >= 4 and findtype 3972 self and findtype 3973 self and findtype 3974 self and not dead if targetexists hotkey 'Cancel current target' endif @setvar! SpellInterrupted 0 cast 'heal' getlabel backpack backpacklabel settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 1500 if insysmsg "Your concentration is disturbed" interrupt @setvar! SpellInterrupted 1 break endif if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif endwhile if SpellInterrupted = 0 target 'self' getlabel backpack backpacklabel endif if diffhits <= CastGreaterHealHPdiff break endif endwhile endif @setvar! SpellInterrupted 0 if paralyzed and EnableAutoParalyzePouch = 1 say 'All guard me' 2234 if findtype "pouch" self yell "[pouch" wait 250 else if timer PopPouchMessageTimer > 5000 and EnableOverheadMessages = 1 overhead '[ NO MORE POUCHES! ]' 337 settimer PopPouchMessageTimer 0 endif endif endif if not warmode and TimeToGo = 1 break endif if EnablePanaceaPotion = 1 and skill 'Alchemy' >= 80 if findbuff "Bleed" or findbuff "Diseased" if not findbuff "panacea potion cooldown" if findtype "Orange Potion" self dclicktype "Orange Potion" wait 250 if findbuff "panacea potion cooldown" and EnableOverheadMessages = 1 overhead '[ PANACEA ACTIVATED ]' 55 cooldown "Panacea Potion" 30000 endif endif endif endif endif if EnableCleansingBrews = 1 if findbuff "Diseased" or findbuff "Bleed" if timer CleansingBrewTimer > 120000 if findtype 50675 self 2935 as CleansingBrew dclick CleansingBrew if EnableOverheadMessages = 1 overhead '[ CLEANSING BREW ]' 2117 endif cooldown 'Cleansing Brew' 120000 settimer CleansingBrewTimer 0 wait 250 else if timer CleansingBrewOverhead > 15000 overhead "[ NO CLEANSING BREWS! ]" 337 settimer CleansingBrewOverhead 0 settimer CleansingBrewTimer 0 endif endif else if EnableOverheadMessages = 1 and timer CleansingBrewOverhead > 15000 overhead '[ BREW ON COOLDOWN! ]' 37 settimer CleansingBrewOverhead 0 endif endif endif endif if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff if findtype "Yellow Potion" self as HealPot getlabel HealPot HealPotlabel if "next" in HealPotlabel // Do nothing else @setvar! HealPotionCheck 0 if counttype 3852 self as HealPotCount @setvar! HealPotionCheck HealPotCount endif clearsysmsg dclicktype 3852 getlabel backpack backpackdesc wait 250 if insysmsg "potion satchel used" settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 4500 overhead '[ FREE HEAL POTION ]' 253 endif elseif HealPotionCheck != counttype 3852 self settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 4500 overhead '[ HEAL POTION ]' 253 endif endif clearsysmsg endif else if timer 'HealPotionMessageTimer' > 4500 and EnableOverheadMessages = 1 overhead '[ NO HEAL POTS! ]' 337 settimer 'HealPotionMessageTimer' 0 endif endif endif if skill 'healing' > 0 and hp < maxhp and not bandaging if findtype 'clean bandage%s%' self hotkey 'Bandage Self' if EnableOverheadMessages = 1 overhead '[ BANDAGING... ]' 88 endif else if EnableOverheadMessages = 1 overhead '[ NO BANDAGES! ]' 337 endif endif endif if EnableCurePotion = 1 or EnableCastCure = 1 while poisoned if findtype "Orange Potion" self and EnableCurePotion = 1 dclicktype "Orange Potion" if EnableOverheadMessages = 1 and timer 'CurePotionMessageTimer' > 3500 if insysmsg "potion satchel used" overhead '[ FREE CURE POTION ]' 44 else overhead '[ CURE POTION ]' 44 endif clearsysmsg settimer 'CurePotionMessageTimer' 0 endif wait 500 else if timer 'CurePotionMessageTimer' > 5000 and EnableOverheadMessages = 1 overhead '[ NO CURE POTS! ]' 337 settimer 'CurePotionMessageTimer' 0 endif if diffhits >= 30 or not findtype 3972 self or not findtype 3973 self break endif if skill 'magery' >= 40 and mana >= 6 and EnableCastCure = 1 and not casting cast 'cure' getlabel backpack backpacklabel settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 1500 if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif wait 100 endwhile wft 1000 target 'self' wait 500 else break endif endif endwhile endif if EnablePKradar = 1 and TimeToGo != 1 if timer "PKRadarTimer" > 1500 clearsysmsg hotkey 'Next Murderer Player Target' wait 150 if insysmsg "No one matching that was found" settimer "PKRadarTimer" 0 clearsysmsg else if EnableRedAlertOverhead = 1 overhead "[ !! RED ALERT !! ]" 37 endif hotkey 'Toggle Peace Only' @setvar! RedTargetFound 1 @setvar! TimeToGo 1 @setvar! MurdererTarget lasttarget replay endif endif endif if EnableTrackingAutoRecall = 1 and TimeToGo != 1 if PKTrackingRange = 60 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 50 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 40 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" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif elseif PKTrackingRange = 0 if insysmsg "Now tracking" hotkey 'Toggle Peace Only' if EnableRedAlertOverhead = 1 overhead '[ !! RED ALERT !! ]' 37 endif @setvar! RedTargetFound 1 @setvar! TimeToGo 1 clearsysmsg replay endif endif endif if followers > 0 if skill 'spiritspeak' >= 50 and timer 'SpiritSpeakTimer' > 10000 and findtype 'corpse' ground -1 -1 15 and EnableNecroVengefulSpirit = 0 getlabel backpack backpacklabel skill 'spiritspeak' wait 250 settimer 'SpiritSpeakTimer' 0 if insysmsg 'You establish contact' if EnableOverheadMessages = 1 overhead '[ CONSUMING SOULS... ]' 1109 else overhead '*consuming souls...*' 1109 endif endif endif endif if SummonEarthElemental_or_AncientMummy != 0 or SummonWaterElemental_or_RagWitch != 0 or SummonFireElemental_or_Lich != 0 or SummonAirElemental_or_SkeletalFiend != 0 or SummonDemon_or_VampireThrall != 0 or SummonCreature_or_UndeadCreature != 0 if followers < TotalSummonCount @setvar! AttackModeActive 2 replay endif endif if dead break endif if dead ClosestTarget or not find ClosestTarget ground -1 -1 TargetAttackRange settimer TargetChecker 0 @setvar! AttackModeActive 0 @setvar! RepeatCastingPoison 0 @setvar! ClosestTargetisSticky 0 @setvar! TargetSwap 0 break endif if TargetSwap = 1 @setvar! AttackModeActive 2 break endif endwhile /////////////////////// // END ATTACK LOOP // /////////////////////// /////////////////////// // AFTER KILL: // /////////////////////// if TimeToGo != 1 if TargetSwap = 1 if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if timer SwapTargetsTimer > 3500 overhead '[ SWAPPING TARGET... ]' 93 settimer SwapTargetsTimer 0 endif endif settimer TargetChecker 0 settimer AnalyzingTargetsTimer 0 @setvar! TargetToAnalyze TargetToCheck @setvar! ClosestTarget 0 @setvar! TargetSwap 0 @setvar! AttackModeActive 2 @setvar! ClosestTargetisSticky 0 @setvar! RepeatCastingPoison 0 getlabel backpack backpacklabel endif if AttackModeActive != 2 settimer TargetChecker 0 @setvar! AttackModeActive 0 @setvar! ClosestTargetisSticky 0 @setvar! RepeatCastingPoison 0 @setvar! NeedtoSecureLoot 1 settimer LootTimer 0 getlabel backpack backpacklabel if warmode if TargetSwap != 1 and TimeToGo != 1 if not dead ClosestTarget and find ClosestTarget ground -1 -1 18 and not find ClosestTarget ground -1 -1 TargetAttackRange if EnableOverheadMessages != 0 if timer 'NoTargetTimer' > 5000 overhead "[ TARGET LOST... ]" 339 settimer 'NoTargetTimer' 0 endif endif if timer AllGuardMeTimer > 15000 say 'All guard me' 2234 settimer AllGuardMeTimer 0 endif elseif dead ClosestTarget and not find ClosestTarget ground -1 -1 18 if EnableOverheadMessages != 0 if timer 'NoTargetTimer' > 5000 overhead "[ TARGET ELIMINATED! ]" 2114 settimer 'NoTargetTimer' 0 endif endif if timer AllGuardMeTimer > 15000 say 'All guard me' 2234 settimer AllGuardMeTimer 0 endif endif endif endif if followers > 0 if skill 'spiritspeak' >= 50 and timer 'SpiritSpeakTimer' > 10000 and findtype 'corpse' ground -1 -1 15 and EnableNecroVengefulSpirit = 0 getlabel backpack backpacklabel skill 'spiritspeak' wait 250 settimer 'SpiritSpeakTimer' 0 if insysmsg 'You establish contact' if EnableOverheadMessages = 1 overhead '[ CONSUMING SOULS... ]' 1109 else overhead '*consuming souls...*' 1109 endif endif endif endif if EnableOverheadMessages = 1 if insysmsg "something invisible out of" overhead "� SOMEONE HIDING! �" 6 endif if insysmsg "additional mastery chain link" overhead "[ CHAIN LINK UNLOCKED!! ]" 149 wait 500 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[Yes" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "enough experience to upgrade" overhead "[ ASPECT TIER UNLOCKED!! ]" 2234 wait 500 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[Whistle" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "You have unlocked a codex upgrade point" overhead "[ CODEX POINT UNLOCKED! ]" 2114 wait 250 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[HighFive" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "You have completed a society job" overhead "[ SOCIETY JOB COMPLETE! ]" 419 wait 500 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[Awoo" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "Society Job Progress" overhead "[ � SOCIETY POINTS � ]" 419 endif if insysmsg "attempting to steal" or insysmsg "attempting to peek" overhead "[ THIEF DETECTED! ]" 910 endif else if insysmsg "something invisible out of" overhead "� SOMEONE HIDING! �" 6 endif if insysmsg "additional mastery chain link" overhead "[ � CHAIN! � ]" 149 wait 500 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[Yes" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "enough experience to upgrade" overhead "[ � ASPECT � ]" 2234 wait 500 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[Whistle" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "You have unlocked a codex upgrade point" overhead '[ � CODEX! � ]' 2114 wait 250 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[HighFive" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "You have completed a society job" overhead "[ SOCIETY COMPLETE! ]" 419 wait 500 if EnableUseEmotes = 1 and timer EmoteCooldownTimer > SetEmoteCooldown wait 500 say "[Awoo" settimer EmoteCooldownTimer 0 cooldown "Emote Cooldown" SetEmoteCooldown endif endif if insysmsg "Society Job Progress" overhead "[ � SOCIETY � ]" 419 endif if insysmsg "attempting to steal" or insysmsg "attempting to peek" overhead "[ THIEF DETECTED! ]" 910 endif endif if EnableAutoCarving = 1 and findtype 11552 self while findtype "corpse" ground -1 -1 2 as deadbody and diffhits < CastGreaterHealHPdiff settimer SkinningTimeoutTimer 0 if findtype 11552 self if targetexists hotkey 'cancel current target' endif while not targetexists skill 'forensicevaluation' getlabel backpack backpacklabel endwhile clearsysmsg if targetexists and find deadbody ground -1 -1 2 target 'self' @ignore deadbody wait 250 endif if insysmsg "You dont see anything nearby" clearsysmsg break else if EnableOverheadMessages = 1 and timer SkinningTimer > 3000 overhead '[ SKINNING... ]' 333 settimer SkinningTimer 0 endif break endif else if EnableOverheadMessages = 1 and timer SkinningTimer > 15000 overhead '[ NO SKINNING KNIFE ]' 337 settimer SkinningTimer 0 break endif endif if timer SkinningTimeoutTimer > 1500 or diffhits > CastGreaterHealHPdiff break endif endwhile endif if EnableHealPotion = 1 and diffhits >= HealPotionHPdiff if findtype "Yellow Potion" self as HealPot getlabel HealPot HealPotlabel if "next" in HealPotlabel // Do nothing else @setvar! HealPotionCheck 0 if counttype 3852 self as HealPotCount @setvar! HealPotionCheck HealPotCount endif clearsysmsg dclicktype 3852 getlabel backpack backpackdesc wait 250 if insysmsg "potion satchel used" settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 4500 overhead '[ FREE HEAL POTION ]' 253 endif elseif HealPotionCheck != counttype 3852 self settimer 'HealPotionTimer' 0 cooldown "Healing Potion" HealingPotionCooldown if EnableOverheadMessages = 1 and timer 'HealPotionMessageTimer' > 4500 overhead '[ HEAL POTION ]' 253 endif endif clearsysmsg endif else if timer 'HealPotionMessageTimer' > 4500 and EnableOverheadMessages = 1 overhead '[ NO HEAL POTS! ]' 337 settimer 'HealPotionMessageTimer' 0 endif endif endif if skill 'healing' > 0 and hp < maxhp and not bandaging if findtype 'clean bandage%s%' self hotkey 'Bandage Self' if EnableOverheadMessages = 1 overhead '[ BANDAGING... ]' 88 endif else if EnableOverheadMessages = 1 overhead '[ NO BANDAGES! ]' 337 endif endif endif 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" self clearignore getlabel backpack backpacklabel 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" self if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 if timer MissingRegsTimer > 5000 if counttype "3972" self = 0 overhead '[ NO GARLIC ]' 646 endif if counttype "3962" self = 0 overhead '[ NO BLACK PEARL ]' 3 endif if counttype "3963" self = 0 overhead '[ NO BLOODMOSS ]' 33 endif if counttype "3980" self = 0 overhead '[ NO SULFUROUS ASH ]' 153 endif if counttype "3976" self = 0 overhead '[ NO NIGHTSHADE ]' 363 endif if counttype "3973" self = 0 overhead '[ NO GINSENG ]' 247 endif if counttype "3974" self = 0 overhead '[ NO MANDRAKE ROOT ]' 442 endif if counttype "3981" self = 0 overhead '[ NO SPIDERS SILK ]' 2338 endif settimer MissingRegsTimer 0 endif endif @setvar! MissingRegs 1 else @setvar! MissingRegs 0 endif else @setvar! MissingRegs 0 endif if not findtype 3972 self or not findtype 3973 self or not findtype 3974 self or not findtype 3981 self @setvar! missingGreaterHealRegs 1 getlabel backpack backpacklabel else @setvar! missingGreaterHealRegs 0 endif if not findtype 3972 self or not findtype 3973 self or not findtype 3974 self @setvar! missingHealRegs 1 getlabel backpack backpacklabel else @setvar! missingHealRegs 0 endif if missingGreaterHealRegs = 1 or missingHealRegs = 1 if timer NoHealRegsTimer > 4000 overhead '[ MISSING HEALING REGS! ]' 337 settimer NoHealRegsTimer 0 endif endif @setvar! SpellInterrupted 0 clearsysmsg if skill 'magery' >= 60 and diffhits >= CastGreaterHealHPdiff and diffhits <= CastHealHPdiff and mana >= 11 and EnableCastGreaterHeal = 1 and not casting and missingGreaterHealRegs != 1 say 'All guard me' 2234 @setvar! SpellInterrupted 0 cast 'greater heal' getlabel backpack backpacklabel settimer spellTimer 0 @setvar! spellCD 2500 while not targetexists and timer spellTimer < spellCD if insysmsg "Your concentration is disturbed" interrupt @setvar! SpellInterrupted 1 break endif if timer spellTimer > spellCD break endif endwhile if SpellInterrupted = 0 target 'self' endif elseif skill 'magery' >= 40 and diffhits >= CastHealHPdiff and diffhits < CastEmergencyHealHPdiff and mana >= 4 and EnableCastHeal = 1 and not casting and missingHealRegs != 1 say 'All guard me' 2234 @setvar! SpellInterrupted 0 cast 'heal' getlabel backpack backpacklabel settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 1500 if insysmsg "Your concentration is disturbed" interrupt @setvar! SpellInterrupted 1 break endif if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif endwhile if SpellInterrupted = 0 target 'self' endif elseif skill 'magery' >= 40 and diffhits >= CastEmergencyHealHPdiff and mana >= 4 and EnableCastHeal = 1 and not casting and missingHealRegs != 1 say 'All guard me' 2234 while diffhits > CastGreaterHealHPdiff and mana >= 4 and findtype 3972 self and findtype 3973 self and findtype 3974 self and not dead if targetexists hotkey 'Cancel current target' endif @setvar! SpellInterrupted 0 cast 'heal' getlabel backpack backpacklabel settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 1500 if insysmsg "Your concentration is disturbed" interrupt @setvar! SpellInterrupted 1 break endif if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif endwhile if SpellInterrupted = 0 target 'self' getlabel backpack backpacklabel endif if diffhits <= CastGreaterHealHPdiff break endif endwhile endif @setvar! SpellInterrupted 0 if paralyzed and EnableAutoParalyzePouch = 1 say 'All guard me' 2234 if findtype "pouch" self yell "[pouch" wait 250 else if timer PopPouchMessageTimer > 5000 and EnableOverheadMessages = 1 overhead '[ NO MORE POUCHES! ]' 337 settimer PopPouchMessageTimer 0 endif endif endif if EnablePanaceaPotion = 1 and skill 'Alchemy' >= 80 if findbuff "Bleed" or findbuff "Diseased" if not findbuff "panacea potion cooldown" if findtype "Orange Potion" self dclicktype "Orange Potion" wait 250 if findbuff "panacea potion cooldown" and EnableOverheadMessages = 1 overhead '[ PANACEA ACTIVATED ]' 55 cooldown "Panacea Potion" 30000 endif endif endif endif endif if EnableCleansingBrews = 1 if findbuff "Diseased" or findbuff "Bleed" if timer CleansingBrewTimer > 120000 if findtype 50675 self 2935 as CleansingBrew dclick CleansingBrew if EnableOverheadMessages = 1 overhead '[ CLEANSING BREW ]' 2117 endif cooldown 'Cleansing Brew' 120000 settimer CleansingBrewTimer 0 wait 250 else if timer CleansingBrewOverhead > 15000 overhead "[ NO CLEANSING BREWS! ]" 337 settimer CleansingBrewOverhead 0 settimer CleansingBrewTimer 0 endif endif else if EnableOverheadMessages = 1 and timer CleansingBrewOverhead > 15000 overhead '[ BREW ON COOLDOWN! ]' 37 settimer CleansingBrewOverhead 0 endif endif endif endif if EnableCurePotion = 1 or EnableCastCure = 1 while poisoned if findtype "Orange Potion" self and EnableCurePotion = 1 dclicktype "Orange Potion" if EnableOverheadMessages = 1 and timer 'CurePotionMessageTimer' > 3500 if insysmsg "potion satchel used" overhead '[ FREE CURE POTION ]' 44 else overhead '[ CURE POTION ]' 44 endif clearsysmsg settimer 'CurePotionMessageTimer' 0 endif wait 500 else if timer 'CurePotionMessageTimer' > 5000 and EnableOverheadMessages = 1 overhead '[ NO CURE POTS! ]' 337 settimer 'CurePotionMessageTimer' 0 endif if diffhits >= 30 or not findtype 3972 self or not findtype 3973 self break endif if skill 'magery' >= 40 and mana >= 6 and EnableCastCure = 1 and not casting cast 'cure' getlabel backpack backpacklabel settimer AntiStallTimer 0 while not targetexists and timer AntiStallTimer < 1500 if timer AntiStallTimer > 1500 settimer AntiStallTimer 0 break endif wait 100 endwhile wft 1000 target 'self' wait 500 else break endif endif endwhile endif if targetexists if findtype " Elven Spellblade" self targettype "Elven Spellblade" else target backpack endif endif clearsysmsg hotkey 'target closest grey monster' wait 250 @setvar! TargetToAnalyze lasttarget if insysmsg 'No one matching that' @setvar! AttackModeActive 0 @setvar! TargetToAnalyze 0 else @setvar! TargetToAnalyze lasttarget @setvar! AttackModeActive 2 endif endif endif if dead break endif endwhile ////////////////////// // END ALIVE LOOP // ////////////////////// ///////////////////////// // BEGIN DEATH LOOP: // ///////////////////////// if dead if EnableOverheadMessages = 1 or EnableOverheadMessages = 2 overhead '[ R.I.P. ]' 337 endif wait 1500 while dead @setvar! IHAVEDIED 1 wait 500 if timer "WaitingForHealerTimer" > 4000 overhead '[ FIND A HEALER! ]' 0 settimer "WaitingForHealerTimer" 0 endif if findtype "blue moongate|30528|moongate" ground -1 -1 15 as EscapeGate if timer "GateIndicatorTimer" > 2000 overhead " � " 253 EscapeGate settimer "GateIndicatorTimer" 0 endif endif while not gumpexists 3773199800 and findtype "blue moongate|30528|moongate" ground 0 1 2 as EscapeGate dclick EscapeGate wait 500 endwhile while gumpexists 3773199800 gumpresponse 16 wait 500 waitforgump 3773199800 gumpresponse 2 overhead '[ GATING TO TOWN... ]' 88 break endwhile while gumpexists 2957810225 overhead '[ HEALED! ]' 84 gumpresponse 1 wait 1000 gumpclose 2957810225 if EnableDressAfterResurrection = 1 overhead '[ DRESSING... ]' 22 wait 500 dress 'UltimateSummoner' wait 500 while queued wait 100 endwhile dress 'UltimateSummoner' wait 500 while queued wait 100 endwhile dress 'UltimateSummoner' wait 500 endif if EnableRecallAfterResurrection = 1 hotkey 'Toggle Peace Only' @setvar! ResThenTimeToGo 1 wait 500 replay else wait 2500 overhead '[ STOPPING SCRIPT! ]' 88 stop endif endwhile endwhile endif replay ////////////////////// // END DEATH LOOP // ////////////////////// ############################# ### SCRIPT ENDS HERE! ### ############################# // Thank you for using my scripts! I can be contacted via email here: dan@danstockman.com // Good luck out there and say hello if you see me in Avadon (Lord Glacier) - please don't PK me lol