• 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? Click "RG3" at the very bottom-left of this page to change it. To dismiss this notice, click the X --->

Combat Assist ModBot.mac 5.12

Download now: Join us with Level 2 access
or earn your way in with RedCents.
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):
Spell=Hastening of Cekenar
TarType=war bst shm clr dru wiz enc mag nec brd pal rng rog shd mnk ber pet
SpellIcon=|Speed of Cekenar
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.
2019-12-10 Rev 5.01 - woobs
- Further enhancements to spell resist/take hold/etc on Debuffs. This includes handling the new MQ2Cast message triggers for Blocked (TakeHold).
- Improved Priority Debuff handling to better react to adds in camp in certain situations.
- Fixed an issue with Debuff spell timing.
- Fixed some issues with Spell memorization failure messages.
- Added TimeStampOnEcho=TRUE/FALSE to display timestamps on ModBot echoing to the MQ2 window.
2019-10-31 Rev 5.00 - woobs
- Version 5 is live! I have started going through all the sections of the macro, making many changes and improvements. There is much more to do, but the following is enough for the official 5.00.

- DPS (AD Section)
-- You should notice a very good boost in DPS. Spells should cast more quickly making better use of MQ2Cast's statuses/abilities.
-- Improvements to Recast/Resist checking and handling:
--- The format of (AD)SpellRecast has changed. It is now two numbers. One for Fizzles/Interrupts and one for Resists. This allows you to Recast on Fizzle/Interrupt (which does not have a cooldown), but not on Resist (which has a cooldown). Or whatever combination you wish to have. For instance, I want my chanter to do both for Delude (it has a short recast time). However, for Mindslash, only on Fizzles/Interrupts (not on Resists).
SpellRecast=<fizzle/interrupt retries#|resist retries#> (If you use only one number, like the old format, the second number will default to the first number. This allows old ini's to retain their current function.)
SpellRecast=0|0 (the Default) Do not recast on either situation
SpellRecast=2|0 Recast up to 2 times for fizzles/interrupts, none for Resists
SpellRecast=2 Recast up to 2 times for fizzles/interrupts, and up to two times for Resists
--- Spell resists should now be more reliable. Added checking to see if the spell you cast was the one that got resisted (not some other spell, like a weapon proc, etc.)
-- Added changes so that your character will not start their debuffs over if an add enters camp, unless they have Priority Debuffs (TarType 10,11,12,13) setup. So, if your wizard only has Main Tank target debuffs (TarType=1), he will keep nuking away on the Main Target, ignoring the fact that adds have entered camp. However, your Chanter with TarType=12 Mezzes will do his mezz-thing.
-- Improved the detection logic for Mobs in range. The macro should no longer waste time cataloging mobs when it just needs to know if one is around.
-- Improved the detection logic for dead mobs. This includes changes to handle when players have corpses hidden and the mob 'disappears' from the game.
-- Improved handling of AE spells to not interrupt themselves based on target.
-- Fixed some other minor issues

- Healing (AH Section)
-- You should see a good boost in heal processing.
-- Re-implemented interrupts for heals. Most non-heal Spells will again be interrupted for Heals. However, fast-casting spells and AA's will not. I have some tweaks in mind, and I would welcome feedback/suggestions on current implementation.
-- Simplified the handling of the PR spell-line.
-- Deprecated: AHInterruptLevel and AHClassPriority. These have been effectively turned off for the last several releases. Modern day play makes them pretty useless (we waste more time interrupting than we do healing) and eliminating them speeds up the rest of the Heal process.

- Melee (AC Section)
-- Improved Pet Assist handling to better track your pet's target and detect when it was 'unable to wake' and be sent again when OK.
-- New Paramater: SPetAssist=x. Functions like PetAssist, but for Swarm Pets.
-- Improved Enrage detection to see if Enrage is from the Tank's target, not from a pet or swarm pet, etc.

- General changes
-- Pet and Self Shrinking:
--- Changed PetShrink to a Command. DoPetShrink is now the flag (like other areas of ModBot).
--- Added PetShrinkSize. If your pet is larger than this, it will attempt to shrink to this or below. Defaulted to 1.4, which is the old hard-coded default.
--- Added DoSelfShrink, SelfShrinkSpell, SelfShrinkSize for self-shrinking (similar to Pet Shrinking)
--- Added the commands PetShrink and SelfShrink.
-- Added the prefix "Msg:" to most of ModBot's standard output messages to the EQBC channel. This will help the macro to identify them and ignore them so as not to waste time parsing them.
-- Changed the Camp 'scatter' generalization. Eliminated a lot of the needless bouncing around. The characters will still try to randomize their location, but much less intrusively and more reasonably. Also, casters that do not melee (ACManaPct=101) should not move/scatter, but should still return to camp if tossed, etc.
-- Fixed a bug with giving PetToys to a BeastLord's warder.
-- Defaulted the creation of the 'Defense' script in your ini, if it doesn't exist. It can remain empty for those not using it.
-- Most of the MBDebug processing has been removed.
-- Added the optional CastCheck parameter to the CastCall subroutine. Can be used if you would like the call to use the standard checks.
-- Fixed some erroneous Event flushes which caused some commands to be lost.
-- Removed the startup default of saving the current spell set. If you would like it back, simply add "/sss ModBot2" to your MBStartup script.
-- Added handling of Buff/Debuff spells that are missing components. The spell will get turned off (and issue a message), instead of having the macro 'hang'. For instance, if your cleric runs out of Emeralds, he will no longer attempt to cast DI.
-- General structure changes to make the macro more readable/maintainable. For instance, using break/continue to replace goto's when possible.
2019-08-07 Rev 4.55 - woobs
- Added new Pet Toys handling. Now you can have your mage summon and distribute toys when requested.
-- Added the following ini settings that are only valid on a Mage: DoPetToys, PetToys1,2,3,4,5
-- The 5 PetToys[x] entries consist of: SpellName|SpellGem[,Item1[,Item2]]
-- The two item entries are optional. They are intended to be used for giving summoned weapons.
-- The routine will use the gem(s) specified to memorize the spell(s), if necessary
-- If the pet does not need the item, and hands it back to the mage, it will be destroyed.
-- Players who need toys for their pet can send the follow command in tells or in EQBC chat: pettoys
-- Example (in the Mage's ini, Settings section):
PetToys1=Grant Visor of Gobeker|gem11
PetToys2=Grant Wirn's Plate|gem11
PetToys3=Grant Ioulin's Heirlooms|gem11
PetToys4=Grant Wirn's Armaments|gem11,Summoned: Gorstruck Fireblade,Summoned: Gorstruck Shortsword
2019-05-10 Rev 4.51
- Fixed a syntax error in the Heal routine.
- Restructured some of the Debuff routine to allow for faster performance.
- Corrected a Debuff issue where the macro was not properly skipping spells that were unavailable/in-cooldown.
- Added 'DoNamed' command to set/flip the 'DoNamed' variable TRUE/FALSE.
- Renamed the included spell_routines.inc to "Modbot_Spell_Routines.inc" to avoid conflicts with other downloads that use "MQ2Cast_Spell_Routines.inc".
2019-02-17 Rev 4.50 - woobs
- Added XTarget healing. You can specify that particular XTargets that should be watched for xtarget heals and set heals accordingly. Thanks to Synk for the suggestion.
AHXTgtWatch=3,6 (watch Xtargets 3 and 6 for "xtgt" heals)
Class=(can now accept xtgt, eg. xtgt80)
- Added ADCoolDown1,2,3,4,5 to allow for repetitive casting of things like AAs/Items during spell gem cooldowns. I specifically had WIZ/MAG in mind for this, but I would be
interested in hearing other uses and suggestions. The first ADCoolDown entry that is available/ready will be used. Uses the standard /casting delimited format. Example:
ADCoolDown1=Firebound Orb II|item
ADCoolDown2=Force of Elements|alt
- Added the new 'avoided your' format of resist messages to the event handlers.
- Fixed some issues with the highest-rank trigger spells and their durations.
- Fixed an error with not properly setting Debuff durations and not properly checking Debuff casting results.
- Fixed an issue with buffs/debuffs not properly interrupting for heals and heals not interrupting for priority heals.
- Some minor changes to Bard twisting to cut down on stopping/re-starting twists between mobs/resting, especially if your rest/combat twists are the same.
- Updated dicipline buff entries to be more target-flexible.
- Added the 'qcast' and 'scast' commands. They are variations of the 'cast' command (and can be used on the CastCall sub).
-- qcast - 'quiet cast' will do the cast command, with no announcements in /bc. This was added in 2017 as a paramater for CastCall and is now available as a direct command.
-- scast - Will allow you to cast a specific ini entry (not an alias). For instance: scast AB|2 (this will attempt to cast the AB2 ini entry). All other restrictions/processes for the 'qcast' command take place. Used on CastCall, it would look something like: /call CastCall {Me.CleanName} ''scast AB|2''
- Made some changes to the ADAggroOnly coding:
-- Removed the BRD/ENC only restriction.
-- Added a check to see if mob is Aggressive.
-- Updated the TargetofTarget logic.
-- Added a new parameter value (2). ADAggroOnly=2 will now simply check if the mob is Aggressive or not (not specifically on any of your group members, etc.), bypassing the target-of-target checks. Thanks to Synk for the suggestion.
20190117 Rev 4.43 - woobs
- Adjusted many sections of the macro for performance improvements.
- Fixed an issue with Immune checks.
- Updated macro for new spell casting resist chat message format.
- Updated macro to handle the new AAs that cast 'highest rank' of a spell in your book. They should now have the proper duration, etc.
- Added a 'DoNamed' variable. It will default to TRUE. You can use it to turn off the debuff type 3/13 spells in your ini. It is intended to give you some extra control of when your 'named/burn' spells fire - ie, don't count this mob as a named, even though it is (turn it off), use the 3/13 spells on the harder named (turn it back on).