• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Change the look. To dismiss this notice, click the X --->
ModBot.mac

Combat Assist ModBot.mac v6.00

Download now:  Join us with Level 2 access or earn your way in with  RedCents.
2023-09-12 Rev 6.00 - woobs/kroak
- Version 6 is here! I've been tinkering on this for quite a while. I also ran into Kroak on Discord, and we added a lot of things that he had been working on.
With new MQ, we have been able to standardize the macro to work with both Live and EMU (ROF2). I encourage everyone to use the latest MQ on your ROF2 EMU servers.
The majority of the changes are listed here. Details for settings and commands will be updated in the Wiki as soon as possible.

- Added ability to make a pet the "tank". This will allow Buffs and Heals marked 'tank' to be applied to the pet. However, Target-assisting will stiil take the initial assist from the pet's owner.
- Ability to SetTank and SetPuller by targeting and issuing command with no parameters.
- You can now manually start a bard twist while ModBot is paused (ie, /bca cast travel). The Bard will continue to twist this until the macro is un-paused.
One possible use is so that you can pause the macro and have the bard singing selo's (etc) while you are moving the group. It will also continue across zone lines.
- Looting (non-Advanced Loot) has been restored and upgraded. Mostly for EMU servers, or for those who don't want to use Advanced Looting.
- Foraging has also been updated. It will now use the same loot.ini file as looting, along with the same options. The values in your old forage.ini will convert to loot.ini, but we will skip all the auto-added "-1" values.
Made changes to only consider items that were actually foraged in the forage routines. This should reduce/eliminate the superfluous entries for things that happened to be on your cursor and got added to the file.
- Some changes/improvements around 'following':
-- Following has been improved to work better while fighting and on the move. You shouldn't have to pause/move/stop/fight. You should be able to leave the macro running and have following on (for dungeon crawl, etc)
-- Characters should no longer get left behind because they stopped to buff.
-- The 'FollowDistance' parameter is now being properly recognized. Past releases were bypassing it and using MQ2AdvPath's default of '10'. Since our ini-default is 20, you may notice a difference (which you can adjust in your ini).
-- Fixed an issue with /facing while following that would pause the macro 'forever' and necessitate a restart of the macro.
- Summoning Food/Water has also been fixed and should only happen in downtime
- Fixed/improved many events to no longer trigger off text in unintended channels.
- Started to add more 'help' to in-game commands. This is a work in progress.
- Fixed many inconsistencies in Selling/Giving/Banking and adjusted to work on both Live and EMU
- Added vendor BUY routine.
- Fixed Scripting to once again recognize variables in the script (Param0, Param1, etc)
- Added all/netbots to casting commands to cast on all netbots members.
- Fixed issues with spell interrupts when the Tank was not on NetBots.
- AA purchase on EMU should be working again.
- Fixed issue with activating Bard AA's that have a cast time.
- Adjusted our spell memorization routine (again). Hopefully we have all the issues addressed, including book closings, memming while mounted, etc.
- Adjusted SelfShrink and PetShrink to stop attempts if we aren't getting any smaller.
- New MB_<Charname>.ini files will now have default entries for each section so you have a template to work with.
- Changed Buff Stacking checks to use MQ's new defaults. Also added some extra buff stack handling to help catch any stragglers.
- Added all/any to Buff/Cure/Heal/Event target types, so you don't have to list all the Classes if you simply want them all.
- Added nogroup/isgrouped to Buff Target types to cast on toons not in a group / grouped. This is not dependent on being in/out of 'your' group.
- Fixed an issue with trying to cast group buffs on pets whose owner does not have Pet Affinity.
- Outdoor restricted spells should no longer attempt casting in non-outdoor zones.
- Adjusted Aura detection/casting to better handle Auras so you won't get stuck in a cast loop or require special /if conditions to handle it.
- Fixed /disc casting on EMU.
- Adjusted debuff loop to ignore pets as a default (see IgnorePets). This should greatly reduce unecessary processing time in the debuff loop.
- Fixed the issue of attempting to debuff player pets when a player+pet zoned in nearby after the macro was already running.
- Fixed Spell Resist/Interrupt detections on EMU
- Added MGB activations with cast commands and aliases. (You can also use 'bomb' as an alias for 'mgb')
-- Mgb/bomb as a command - Just like cast, so '/bca mgb wunshi', etc. This will activate the AA first, then cast.
-- Mgb/bomb as a spell alias. Just like a regular alias, but will activate MGB AA first. '/bca cast mgb', etc
-- Also, added tmgb/tbomb versions of the above to only use Tranquil Blessings (not MGB)
-- Note: Cry of Battle will be triggered (instead of MGB) for zerkers who may have this on specialized EMU servers
- Added ReturnToLoc/UseHeadings (see below) settings. Previously, if a toon moved to engage a mob, it would return to its starting point (if no camp was set) and heading after engagement. These settings can stop that from occurring and are recommended.
This will cut down on unnecessary movements/adjustments that can sometimes be very annoying, especially if you are trying to manually move the bot or other mobs have entered camp while the toon is busy /face'ing.
- Generalized fixes/enhancements for Targeting/Assisting/Engaging.
- Note: I would encourage everyone to use the appropriate ModBot commands instead of /varset'ing something. The commands may contain other variables/switches/etc that should also be set.
If you find yourself /varset'ing something, let me know. It might be a good candidate for a new command.

- New setttings in MB_<charname>.ini
-- [Ports] section
For use with new Port command.
Evac=Evacuate|alt (if toon has the AA) and Gate=Gate|<max gem> (if toon has the spell) will be auto-added to this section.
For example:
[Ports]
gate=Gate|8
pokport=Knowledge Portal|8
succor=Evacuate|7
grimling=Grimling Portal|9
etc.
So, you can '/bca port pokport' for example
You could have used a buff, or similar, for things like this, but this makes it easier to setup/maintain/use. Especially if you have multiple druids/wizards and want to keep them in sync.
-- [Groups] section
For use with new SaveGroup/GroupUp commands
To save group member loadouts and regroup in the same fashion at a later time.
-- AllowMGB=x - Allow this character to accept MGB commands (see MGB/Bomb command below) 0=Don't allow (will ignore MGB command/alias), 1=Allow (If toon only has MGB, then MGB. If has TB, then TB), 2=MGB ok but only if TB not ready.
-- EchoSkillups=TRUE/FALSE - Echo EQ Skillups in the MQ window
-- IgnorePets=TRUE/FALSE - Default to True. Will ignore Pets for Debuff/Melee targets. Most NPC 'pets' are not flagged as 'pet' (they are NPCs). If you run into an actual NPC pet, you can set this to FALSE - and please let me know where to find this pet :)
-- JoinMBChannels=TRUE/FALSE - ModBot will auto-join several class and type based NetBot channels, if you desire.
shm,clr,dru - healers
rng,bst,brd,shd,pal - hybrid
mag,wiz,enc,nec - casters
war,rog,mnk,ber - melee
war,shd,pal - tanks
-- ReturnToLoc=TRUE/FALSE - Return to starting location if you moved to engage a mob and you do not have a Camp set. Default=False (to cut down on unnecessary movements and also allow better manual control)
-- UseHeadings=TRUE/FALSE - Return to start headings after engagement. Default=False (to cut down on unnecessary adjustments and also allow better manual control)
-- TankList (In Melee section) - If current tank is dead, all toons look to next toon in TankList to assist. To hopefully help toons not just sit there and die.
Also, will be used if OffTanking to check if other tanks are already tanking a mob.
-- DoRanged (in Melee section) - use Ranged attacks (work in progress)

- New settings in MBCommon.ini
-- NonCombatZones=xxx,xxx - You can add particular zones to the modbot defaults for non-combat zones. Probably most useful for EMU servers that have specialized zones.
ModBot defaults: GuildHall,GuildLobby,PoKnowledge,Nexus,Bazaar,AbysmalSea,potranquility,abysmal
-- CorpseConsent=Group,Raid,Guild,NetBots - For automatic corpse consenting after death. In case you want to leave the EQ settings off, but atuo-consent when running MB. Plus, this includes a 'NetBots' setting.
-- IgnoreBuffLevelRestrictions=TRUE/FALSE - If you play on an EMU server that lets lowbies get high-level buffs, you can turn this on so MB does not check levels.
-- DefaultJoinChannels=TRUE/FALSE - ModBot will auto-join several class and type based NetBot channels (see above), if you desire. This is the default to use when first auto-adding this to a new .ini
-- ReloadGemsOnDeath=TRUE/FALSE - For EMU. Whether ModBot should auto-reload spell gems after death (the gems are from an auto-save when MB started).
-- [MaxLevel] section. This will replace the old MaxLevel=xxx (usually 150) under each spell entry. It will only be used for detrimental spells that actually have a max-level component (like Mez, stun, etc).
This is intended to streamline the ini. The old values will not be auto-cleaned until a later date in case you need to use an older MB release.
-- [MinLevel] section. To be used for BuffLevelRestriction checking. Setting it once and saving it so that we don't constantly re-calculate it on each cast.

- New Commands
-- AddTank - Add a tank to TankList (see above)
-- Assist - A straight-up assist without any argument would tell toons to target my target and start attacking. Assist with an argument would change their ACAssistPct variable.
-- AutoSkills - List the combat skills you currently have on /autoskill.
-- Buy - Buying items from a Merchant
-- CheckInv - /bc if you have an item on yourself or in the bank
-- DoRanged - For Ranged attacks (this is a work in progress)
-- DropTank - Remove a tank from TankList (see above)
-- EchoScripts - Echo ModBot script lines in the MQ window (be careful to not echo things that will trigger other events). Mostly for debugging your scripts.
-- EvacNow,Evac!,Evac!! - Can be used to quick-cast the 'Port Evac' command. See: Port command.
-- GroupUp - groupup <name|normal> Will re-form the group, inviting members saved under this name in the Groups section of the char ini.
-- HailTarget - This command attempts to drop invis, get close to the target, and hail.
-- IgnorePets - TRUE/FALSE/Toggle the IgnorePets setting
-- ListTanks - List the tanks in TankList (see above)
-- LTeach - Teach a language. LTeach <name or Number> <#times>
-- MGB/Bomb,TMGB/TBomb - Just like cast, so '/bca mgb wunshi', etc. Like cast, but activate AA first. tmgb/tbomb for Tranquil Blessings only.
-- OffTank - Turn OffTank on, but only if you are in TankList (see above)
-- PetBack - Back Off pet
-- Port - Like cast command. Cast specified port (defined in Ports section of char ini)
-- SaveGroup - savegroup <name|normal> Will save the group members under this name in the Groups section of the char ini. Will only save it if you are Group Leader.
-- SetLoot - Hold item on cursor. Use: setloot <loottype>
-- SetTanks - Will save the current in-core TankLlist to the ini file variable 'TankList'
-- SingleFile - Tell each NetBots member to Follow the Member "above" him. This will get the toons following in a single file, instead of a mass group following one leader.
-- SwapItem - Usage: /mb swapitem [swapname] [slot,slot,...]. This will load "swapname" from "ItemSwaps" section of ini file and equip items for you. Adding the [slot] will limit to the slot(s) specified.
-- SwapSave - Usage: /mb swapsave <Normal or Zone or SwapName> <all or <item|>location,<item|>location,...>
-- XBots - Fill the XTargets (bottom-up) with the other characters on NetBots (not in my group), auto-hate the rest.
2023-04-05 Rev 5.22 - woobs
- Fixed /netbots command at startup to ensure netbots is running and connected properly.
- Made some adjustments to default values and fixed some syntax errors.
- Made changes for compatability with EMU servers and Perks (ie, Number of main inventory slots, Number of AA Window Tabs).
- Changes to spell memorization routine to hopefully fix issue with Spellbook remaining open.
- Some changes to better handle Trigger spells.
- Fixed endless looping of Shrink spells in certain zones.
- Added SetTank and SetPuller commands (you should use these instead of /varset when using manual tank/puller mode). Also, updated handling of TankName and PullerName entries to handle a list of toons to use. See the wiki for further information.
Quick update to fix: /mb follow <toonname>
2022-04-10 Rev 5.21 - woobs
- Fixed an issue with cast-calling while paused.
- Made some adjustments to Bard item-casting.
2022-04-03 Rev 5.20
- Reworked the main Buffing logic for speed and clarity.
- Reworked the main Events logic for speed and clarity.
- Buffs and Events should now interrupt properly if mobs appear in camp, etc.
- Standardized spell memorizations and better handled interrupts during mem (you should see less "Failed Memorize" messages).
- Modularized the ModBot command processing for speed and clarity.
- "Enabled" AA's should now re-enable themselves after purchasing the next level (ModBot will purchase the new level and then purchase the zero-cost AA to re-enable).
- Made some improvements to the camp randomization to account for walls, etc. and better respect the camp radius. Your characters shouldn't get stuck in a loop trying to get to inaccessible spots or moving in and out of the camp radius.
- You will no longer attempt to forage if your Inventory window is open (similar to the keep/destroy process).
- Added proper handling for interrupted Combat Abilities and spell interruptions due to missing components.
- The ModBot internal variable PSTargetID will now also work in the IfSpellImmune scripts of Debuffs.
2021-09-27 Rev 5.13 - woobs
- Some miscellaneoous fixes/adjustments for MQNext. I recommend using the new MQ folder structures. This would put your INI files in the MQ/config folder.
- AAIniFile, ForageIni, LootIni, and MBWayPntLocation will now respect the IniLocation setting.
- DoTells is now a configurable parameter in the INI (defaults to TRUE).
- Reworked the Curing section of ModBot for performance.
- Added a ModBot internal variable: PSTargetID. This variable will have the ID of the mob that is currently being acted upon in standard Modbot Scripts and PreConditions. For instance, if you have an AD entry and you want to check things about the target of the entry, you can use {Spawn[{PSTargetID}].xxx}, etc. This entry will work for:
1. Gem=script for AH, AD, AB, AQ, AE entries
2. PreCondition= for AH, AD, AB, AQ entries
2021-04-05 Rev 5.12 - woobs
- Fixed some Bard Twisting issues. This should fix some issues where the Bard was single-shotting where he should have been Twisting.
- Update Bard Item casting to use MQ2Twist. This should make item casting for Bards more reliable/capatible.
- Fixed Disc Buffs to include buff timers like other buffs. This should prevent continuous recasting of Disc's that land on others.
- Buffs and Heals will now use Spell[x].MyDuration to calculate the length of time for a buff/duration heal. This is used to determine when to recast the spell premptively (before it wears off). This should pretty much eliminate the need to manually calculate most of your DurMod percentages. MyDuration will only be used if there is no ini entry in the associated DurMod field for the spell. If there is an entry, .Duration will be still be used (to not affect anyone who already has their DurMod's calculated the way they like them).
- Added the ability to add additional spell(s) to a particular buff that can be used to 'count' as having the buff. So, you should be able to say that single haste and group haste (as examples) are equivalent/block each other. (See changes for ABSpellIcon below)
-- SpellIcon=<icon name><|addtional icon,additional icon,etc.>
-- Use when the spell icon has a different name than the actual spell (e.g. the spell Unity of Spirits has a spell icon of Transcendent Foresight. In fact, you could use any one of the four spell icons/names that Unity creates).
-- Please note that if the name you have in SpellIcon doesn't evaluate to a spell name, the buff will be skipped. In other words, leave it blank if your spell doesn't need it.
-- Additional icon(s) can be used to indicate other spells to count as having the buff.
-- Example (to prevent group haste from overwriting single haste):
[AB4]
Gem=11
Spell=Hastening of Cekenar
DurMod=0
SpellAlias=haste
Announce=
SpellMinMana=20
TarCnt=1
TarType=war bst shm clr dru wiz enc mag nec brd pal rng rog shd mnk ber pet
SpellFoci=
SpellIcon=|Speed of Cekenar
Recast=FALSE
PreCondition=TRUE
2020-10-11 Rev 5.11 - woobs
- Fixed Buff target range checks when using SpellIcon.
- Fixed display of Buff messages on group buffs when one or more targets do not take hold.
- Fixed typo in buff announcements.
2020-09-29 Rev 5.10 - woobs
- Version 5.10 contains some changes that require modifications to your ini (if you are using any of these modified features). While I try to keep things backwards-compatible, some items have been deprecated, etc.
- Charm Changes
-- PetCast entry has been removed.
-- On your AD-entry for the Charm spell, the SpellAllias should be <charmspell|charmcast>|<type>|<namelist>. Similar to the old PetCast entry for charm.
-- Added a feature to tell the other bots to Exclude your Charmed pet, until it either dies, or you want to drop the pet. This should help prevent the tank from attacking your pet if your charm breaks, giving you a chance to recharm.
-- Added DropPet command to accomplish the above mentioned dropping of pet. It will tell the bots to include the mob in their targeting considerations. You can then invis, etc.
-- You will see some ExcludeID and IncludeID commands over EQBC to accomplish this task.
- Bard Changes
-- Removed addding AD-Debuffs to the Twist list. Use AB-entries with cbt. This will allow you to have regular AD-entries for one-shot twists, if you so desire.
-- Improved/Fixed Bard debuff checking (for Resist, Immune, etc). The Bard should now check for these things as the other bots do. This should help tremendously with mezzing, etc.
-- Reminder that your Twist lists will be built in the order you enter them in the AB section. Cbt-buffs added to the Combat Twist, Non-cbt or cbt-idle added to the Rest Twist.
-- Currently, you cannopt repeat a gem in the Twist. A future release will most likely allow this with manual Twist Lists (bypassing the AB setups).
-- Bard 'non-song' types, like crescendos, can now be added as regular buffs and will not be included in Twists.
- Removed/Replaced the following standalone ini entries
-- MountCast - Use normal AB-spell entry with TarType mountspell or mountcast.
-- PetCast - Use normal AB-spell entry with TarType petspell or petcast.
-- PetFoci - Use normal AB SpellFoci entry on the above PetCast spell.
-- PetShrinkSpell - Use normal AB-spell entry with TarType petshrink.
-- PetShrinkSize - Add to the TarType of above PetShrink spell.
-- SelfShrinkSpell - Use normal AB-spell entry with TarType selfshrink.
-- SelfShrinkSize - Add to the TarType of above SelfShrink spell.
- Added "AllowBuffRequests" ini entry. This can be used to indicate who (outside of your MasterList) can send your bot a tell for buffs while your macro is running. This is separate from the BuffBot scenario. Prior to v5.10, anyone could send your bot a request for a buff, if they knew the correct alias to use. This is really very insecure. However, some people do like it. This entry can take any/all of the following: Group, Raid, Guild, Fellowship, ALL (this means EVERYONE, not just members of the other four entries). The default is <empty>, meaning noone outside of your MasterList can send a buff request and have it acted upon. You will have to manually adjust this if you want to reenable this functionality.
- Added "DropPet" command. As mentioned above, used to indicate to the group(s) that you are dropping your pet and want them to include it in their targeting.
- Added 'sm' to the campout command. Will attempt to cache your pet before camping. This used to take place if you had 'sm' on your standalone PetCast entry.
- Removed petshrink and selfshrink commands. Now that they are normal AB entries, you can interact with them accordingly.
- Fixed an issue with mistakenly adding spells to the immune list.
- Fixed an issue that prevented item buffs (like clarity potions) from casting correctly.
- Move the contents of Modbot_Spell_Routines.inc to the end of modbot.inc. It had become so modbot-specific that is seemed inappropriate to continue referring to it as a version of Spell_Routines.inc. Appropriate credit still given :)
2020-06-22 Rev 5.02 - woobs
- Added support to help handle the EQ "stuck gems" issue.
-- Sometimes the spell gems will get stuck in a forever greyed-out state. Casting an altability that has a cast time will unstick it.
-- DoStuckGems=TRUE/FALSE to turn this functionality on/off.
-- StuckGemsAA=<AltAbilityName> for the AA you want to use to try to reset your gems.
- Added the following commands:
-- backoff [pause] - To have the bot backoff the current target it is attacking. Optionally set MBPause=TRUE.
-- duck (on,off,true,false,<no parm toggle>) - To have the bot duck/unduck. Things like MQ2Melee might force them to unduck, so keep that in mind.
-- tankandheals [unpause] - Set DoMelee/DoDebuffs/DoEvents FALSE on all bots except tank. Set DoHeals/DoCures/DoBuffs TRUE on all bots. Optionally set MBPause=FALSE.
- Added InfoMsgLevel=<#> to control some of the messages being displayed by ModBot in the MQ2 window. Things like heal interrupts, recasting, retrying, etc.
-- InfoMsgLevel=0 will suppress most of these messages (this is the default to cut down on unecessary processing)
-- InfoMsgLevel=1 will display these (very similar to how it is done prior to this version. If you want the messages back, simply enable this.)
- Fixed issue with buffing pets with group buffs.
- Fixed typo issue in 'sing' command.
- Cleaned up some cast timing/expiration issues.
Top