• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver
ModBot.mac

Modbot Release ModBot.mac v6.01

No permission to download
Joined
Jul 29, 2016
RedCents
4,610¢
2024-08-17 Rev 6.01 - woobs
- Updated filname formats to better handle personas and multiple servers.
-- IniNameFormat=2 (in MBCommon.ini) will use new filname formats for settings in the form similar to Everquest (live) file formats: MB_charname_server_class.ini and AA_charname_server_class.ini.
-- The server and class are the 'short' versions. For example: MB_Joe_rathe_WAR.ini
-- If you set IniNameFormat=2 and the new-format file does not exist, it will copy from the old format file to the new.
-- Modbot will also accept server-specific MBCommon.ini files in the form: MBCommon_server.ini. If this file exists, it will be used. If not, it will use the default MBCommon.ini.
-- This should help for those using personas, and for those with characters on multiple servers, especially if they are using the same character names.
- Spell foci sets (for swapping) will now be respected for Bard spells.
- Spell foci sets will now use the Modbot ItemSwaps entries for swapping instead of the old MQ2Bandolier file sets. Old Bandlolier sets (if found) will automatically convert to ItemSwaps.
- Fixed an issue that was causing bots to stop attacking when Mana reached zero, even when ACManaPct=0.
- Fixed an issue with group-only single buffs not being cast on pets in group.
- Scripts that summon Mounts or Pets should no longer cast when the mount or pet is already up.

Please check out the Wiki/Documentation here:
The docs will guide you through the initial setup and also point you to many sample INI's.
 
Last edited:
PREVIOUS VERSION NOTES -- FOR REFERENCE

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.

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 - woobs
- 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.
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.)
Example:
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):
DoPetToys=TRUE
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
PetToys5=

2019-05-10 Rev 4.51 - woobs
- 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.
[AdvHeal]
AHXTgtWatch=3,6 (watch Xtargets 3 and 6 for "xtgt" heals)
[AHx]
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:
[AdvDebuff]
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.

2019-01-17 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).

2018-11-23 Rev 4.42 - woobs
- Adjusted some detections for character death.
- Reformatted remaining references to deprecated InvSlot TLO.
- Fixed the following commands that interact with inventory. They should now function properly.
-- 'Give' command
-- 'Sell' command
-- 'Handin' command
-- 'Autobank' command
- Fixed a buffing issue when no TankName was defined.
- Fixed regen sitting for Bards. They should now sit at their threshold during downtime, even if they are coded to sing out-of-combat buffs, etc. Adjust your SitManaPct as required

20180829 Rev 4.41 - woobs
- Fixed the handling of maxing AA and switching to Normal experience. This should now work correctly.
- Fixed an undefined macro variable issue.
- Corrected a parsing issue with a missing parentheses.

20180710 Rev 4.40a - woobs
- Fixed a buffing issue with disciplines and scripts.

20180624 Rev 4.40 - woobs
- Significant speed improvements for Healing section. You should notice the improvements, especially if you have many bots and you don't use a lot of different class-specific heal thresholds in one heal.
- 'tank' in the heal section is no longer exclusive. However, if it exists, and the tank needs a heal, the tank will take priority over other classes listed.
- Significant speed improvements in the buffing and debuffing sections.
- AA purchasing should also go more smoothly. If you currently max-out an AA that you have set to "M", the "M" will be replaced with an "X". This will help the macro to no longer check it, and you will be able to visually see that you have completed it by looking in the ini file.

20180430 Rev 4.36 - woobs
- Fixed an issue with disc's in the Debuff section not casting properly.
- Fixed an issue with long-recasting spells not casting.
- Along with the above change, I made some changes to the Heals and Debuffs portions to better optimize casting of these spells and other spells with mid to long refresh times. My intent was to not have the macro waiting around to cast a spell that wasn't going to refresh in the next few seconds (ie, let's move on). Let me know if you run into any issues. I am still tweaking this, but it seems to be working well for me so far.
- Added 'disc' as an general option for AB (Buff) entries.
- Added an option to AD (Debuff) entries to check if the intended mob is on an XTarget Auto-Hater. Code: UseHoTT=101. Similar to ADAggroOnly, but no need to change targets and you can set it for individual entries. For instance, I wanted to slow mobs that were not the tank's target (adds) at 100 percent, but only if they were already on XTarget auto-hate (ie, I don't want to aggro them myself). Using this entry as an example:
[AD4]
Gem=alt
Spell=Turgur's Swarm
DurMod=0
SpellAlias=slow
Announce=
SpellMinMana=0
SpellRecast=0
SpellDelay=0
TarCnt=1
TarType=2
TarBegHP=100
TarEndHP=1
UseHoTT=101
SpellFoci=
SpellCastonResist=
IfSpellImmune=
PreCondition=TRUE

20180331 Rev 4.35 - woobs
- Added 'grp' as a valid class for heals. Meant for Group heals on your group only. Will use the new Group.Injured[] method.
- For instance, TarCnt=3 and Class=pc grp80 --> This will cast the Heal on yourself if 3 or more people in your group are under 80% Health.
- This should make these types of casts faster. Please report any issues.
- Added a default Startup Script (MBStartup). This script will auto-execute on ModBot startup. A good place to put Global variable declares, or anything else you might like to occur on startup. An empty default script will be created for you.
- Fixed an issue with some Beneficial group spells not being cast when used in the AD section (Illusions of Grandeur, and similar).
- Added MQ2MoveUtils to the required plugins startup check.
- Miscellaneous enhancements/fixes.

20180129 Rev 4.34 - woobs
- Made adjustments to the default recast handling for AE Debuffs. If you haven't overridden the delay, they should now reset/recast when adds are detected.
- Added the handling of swarm pets. They should now automatically join the fight (switch to new target) if they are still up from a prior target.
- Fixed an issue with trying to rebuff a group spell on a group member who is out of range (thanks rlane187).
- Miscellaneous enhancements/fixes.

20180101 Rev 4.33 - woobs
- Fixed an issue with Events waiting for spell gems to refresh, when they really should not. This should help your toons to not get stuck waiting to cast something that isn't ready (especially when it has a long recast). For instance, my wizard was getting stuck waiting for Musing Harvest to refresh.

20171219 Rev 4.32 - woobs
- Updated for RoS (13th spell gem)
- Fixed a long-standing issue with Pausing/Following. Often, I would fight/pause/move to a new spot. Sometimes, a bot would get 'confused' and not follow to the new spot. This should be fixed now. Yay!
- Miscellaneous enhancements/fixes.

20171125 Rev 4.31 - woobs
- Miscellaneous enhancements/fixes.

20171104 Rev 4.30 - woobs
- AA purchasing is back!
- Added DoAA, AABank, AAtoNormal, AAAnnounce, AAVerbose, AAWarning for auto-purchasing AA's.
- Some other minor enhancements/fixes.

20171028 Rev 4.22 - woobs
- Fix for HoT recast issue.
- Resolved additional undeclared variable issues.

20171018 Rev 4.21 - woobs
- Resolved additional undeclared variable issues.
- MQ2Twist should no longer be required for non-bards.

20171008 Rev 4.20 - woobs
- Added DoRez, RezMinPct, RezAcceptCall, RezGiveUpSeconds for customizing your rez acceptance options.
- Added auto-accept for raid invites (similar to group invites).
- Updated for new aura type handling.
- Added /disc handling to several areas (like events).
- Updated for undeclared variables and new parameter passing functionality.
- Several modules had heavy rewrites due to new nested loop functionality.
- Streamlined with the removal of older advpath functionality.
- Miscellaneous fixed/enhancements.

20170222 Rev 4.11 - woobs
- Fixed an issue with character not sitting when falling below the new SitEndurPct.
- Added a 'quiet cast' option to CastCall to suppress the /bc "Casted" messages. Simply use 'qcast' instead of 'cast' in your scripts. Example: /call CastCall {Me.CleanName} ''qcast spire {TankName}''

20170119 Rev 4.10 - woobs
- Major changes to Buff stacking checks.
- Rewrote the stack checks to use new stack-checking functions in MQ2NetBots.
- You must use the new MQ2NetBots included in the zip (or make similar modifications to your version) for ModBot to work properly.
- This eliminates the need to use a modified version of MQ2Utilities (which is no longer in the zip).
- Added ModBot .ini variables for Mana and Endurance percentages to check for sitting (SitManaPct/SitEndurPct). Where appropriate, your character will sit to recover when less than these percentage(s). The default values are the old hard-coded values so as not to affect current functionality.
- Fixed the GiveCheck Sub. "Give" and "Handin" should function again.
- Fixed a typo in ModCure. Also added a 'spell ready' check so your character didn't get stuck in the cure loop waiting for a long-recast gem to refresh.

20161214 Rev 4.05 - woobs
- Added ACPetEnrage=TRUE/FALSE in the Melee section of the modbot ini. It will function similar to the MQ2Melee 'enrage' setting. Defaults to TRUE so as not to affect current functionality. Set it to FALSE to no longer have ModBot back off your pet on enrage (helpful when your pet is the tank).

20161120 Rev 4.04 - woobs
- Changes to better handle spells with similar names.

20160919 Rev 4.03 - woobs
- Some quick changes to get the Sell routine functioning.

20160630 Rev 4.02 - woobs
- Fixed setinivar & cast <on/off> to work with the new .ini formats.
- Moved the xxNewFormat settings to auto-populate on the first creation of an empty .ini.
- Adjusted the handling of "MasterList=Netbots" to better handle commands from NetBot clients.
- Reactivated Gift of Mana functionality. Use a sigle GoMNuke entry, with support for multiple aliases.
GoMNuke=nuke1|nuke2 etc.
The intent is to try them in order. If the 1st is available and within the GoM Song Level, it will cast that one. If not, go to the next, etc. Coded to cast detrimentals on ACMATarget, or non-detrimentals on TankName. I have tested this for functionality, but not extensively.

20160627 Rev 4.01 - woobs
- Fixed some syntax issues/typos.
- Added Confirmation Dialog handling for /invite. Thanks Nayenia and warlock45.

20160625 Rev 4.00 - woobs
- Added new formatting options to the following ModBot.ini sections:
- AdvHeal, AdvDebuff, AdvBuff, AdvEvent, AdvCure,
- Usage: AxNewFormat=1 (ie, ABNewFormat=1). Default is 0 (use old format).
- This allows greater flexibility in the entering/reordering of buffs, debuffs, etc., since the 'position' is no longer repeated/attached to each entry.
- For instance:
(old format)
ABGem1=4
ABSpell1=Ferocious Growth
ABDurMod1=90
ABSpellAlias1=growth
ABAnnounce1=/bc
ABSpellMinMana1=0
ABTarCnt1=1
ABTarType1=tank
ABRecast1=FALSE
ABSpellFoci1=
ABSpellIcon1=
ABPreCondition1=TRUE
(new format, add section header, remove the prefx and suffix from each line)
[AB1]
Gem=4
Spell=Ferocious Growth
DurMod=90
SpellAlias=growth
Announce=/bc
SpellMinMana=0
TarCnt=1
TarType=tank
Recast=FALSE
SpellFoci=
SpellIcon=
PreCondition=TRUE
- Each section has it's own xxNewFormat key, deafaulted to off so current ini's will continue to function as-is.

- Added "manual" as a TankName option.
Usage: TankName=manual in .ini followed by /varset TankName xxx during operation.
Function: This allows you to 'manually' set the TankName during ModBot operation. Original functionality would use the .ini TankName entry and also get reset when you designate a character using either the Main Tank or Main Assist group roles. However, if set to 'manual', there is no automatic setting or reset done when Group Roles change. This is also very helpful when running more than one group. Once you have your bots running, you can /bca //varset TankName xxx for everyone.
- Added "PullerName" setting. Functions similar to TankName. Uses initial entry, Group Puller Role, or 'manual' as TankName above. Again, this is very helpful if your Puller is in another group.
- The 'manual' settings also come in handy since they ignore Group Roles that you may need to set for another purpose (ie, mercenary control).
- Added "ZRadius" setting. Functions similar to Radius. Sets the z-axis radius for monitoring. This comes in especially handy in dungeons and multi-storied buildings, etc. The dafault is 100 (the original hard-coded value so current users will not have something unexpectedly changed). Personally, I have been using a default of 20 in my settings, unless I am underwater (where 100 comes in handy).
- Added TarType 3 and 13 to ADDebuff entries. This is for "Named-only". Spawns will satisfy this when either:
- Spawn.Named is true or
- Spawn.ID matches new modbot variable NamedID. To force bots to cast the 3 & 13 spells on a particular non-named mob (ie, /bca //varset NamedID ${Target.ID})

- Incorporated .RankName to ease spell setups/selections.
- Removed deprecated DoAura and AuraCast coding.
- Remove deprecated references to MQ2NetHeal.
- Restructured CastOnResist functionality to better cooperate with the macro flow.
- Restructured spell alias casting functionality to better cooperate with the macro flow.
- Restructured Cure code to function more smoothly and make use of modified MQ2NetBots
 
Last edited:
woobs updated ModBot.mac with a new update entry:

ModBot v4.42 Released

20181123 Rev 4.42 - woobs
- Adjusted some detections for character death.
- Reformatted remaining references to deprecated InvSlot TLO.
- Fixed the following commands that interact with inventory. They should now function properly.
-- 'Give' command
-- 'Sell' command
-- 'Handin' command
-- 'Autobank' command
- Fixed a buffing issue when no TankName was defined.
- Fixed regen sitting for Bards. They should now sit at their threshold during downtime, even if they are coded to sing...

Read the rest of this update entry...
 
woobs updated ModBot.mac with a new update entry:

ModBot v 4.43

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...

Read the rest of this update entry...
 
woobs updated ModBot.mac with a new update entry:

ModBot Version 4.50

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.
[AdvHeal]
AHXTgtWatch=3,6 (watch Xtargets 3 and 6 for "xtgt" heals)
[AHx]
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...

Read the rest of this update entry...
 
woobs updated ModBot.mac with a new update entry:

ModBot v4.51 released

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".

Read the rest of this update entry...
 
A few issues I figured i'd bring up.

I've noticed that on Remove Greater Cure it is just going wild and curing whoever it wants to, even if they aren't defined in the .ini. For example, I have my shaman, druids set up to cure casters/melee and my clerics set to only cure tanks. The clerics will cure anyone that has a de buff, likewise for Shamans / Clerics. This was happening pre-patch , so I'm sure something in Curse cures is messed up somewhere.

This is happening to every cure after the last patch. I also notice that they have moments where they don't want to cast cures at all.

I don't know if this is a modbot.inc issue or netbots.dll issue, either way there is an issue somewhere with cures.

I'm not sure how many of us are using Modbot , but anyone else having issues?

Also,

a few suggestions to make this bot even more versatile would be allowing us to add specific debuffs to the "do not cure" list of some sort. I don't know how you can add an exception to a cure, but a ton of raid encounters use a mechanic similar to this in the game.
 
I just posted in the Plugins section assuming it was a Netbots issue. I've been having issues with cures as well though. Mostly not firing at all.
 
There was a NetBots change that is causing the issues. I have submitted the fix. Hopefully, it will get merged in and pushed with the next build.
 
woobs updated ModBot.mac with a new update entry:

ModBot Version 4.55

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...

Read the rest of this update entry...
 
woobs updated ModBot.mac with a new update entry:

ModBot Version 5.00

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...

Read the rest of this update entry...
 
woobs updated ModBot.mac with a new update entry:

ModBot v5.01

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.

Read the rest of this update entry...
 
woobs updated ModBot.mac with a new update entry:

ModBot version 5.02

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...

Read the rest of this update entry...
 
woobs updated ModBot.mac with a new update entry:

ModBot version 5.10

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...

Read the rest of this update entry...
 
woobs updated ModBot.mac with a new update entry:

ModBot v5.12

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...

Read the rest of this update entry...
 
Sorry for the newbie question. Is ModBot basically an alternative to KissAssist? What are the primary differences?
 
woobs updated ModBot.mac with a new update entry:

ModBot Version 5.13

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...

Read the rest of this update entry...
 

MBCommon.ini​

ExcludeList Section [ExcludeList]
  • Zone.ShortName
    • List of mobs excluded for that zone in a pipe -"|" delimited string. This setting is not present for any zones which you have nothing excluded.
    • See the 'exclude' command above for information on adding/removing items from this list.
 
woobs updated ModBot.mac with a new update entry:

ModBot Version 5.20

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...

Read the rest of this update entry...
 
In this latest version with mbpause on, bots aren't executing direct commands like /bct toon cast invis, or /bct toon cast portx ?

Bards still don't stop twisting with the holdup command.
 
Try the attached version of modbot.inc to fix the cast while paused issue.

The Bard question is a bit different. Because it uses Twist, most of the commands ignore the DoBuffs=False for Bards. I can understand the confusion. I never run into it because I simply MBPause everyone (not Holdup), and then 'LetsRoll Unpause' when I am ready to go again. I will look into making some adjustments to make bards more consistent with everyone else for those commands.

Let me know if the casting issue is fixed and if you run into any other problems. Thank you :)
 

Attachments

Thanks, Woobs! That fixed the casting issue.

I've been using pause for the bard forever too. Your saying just do a letsroll after start, then onnly the pause on/off command? I had a double line with pause on the second...
 
Last edited:
Yes, I usually just mbpause them (not holdup). Then, when ready, 'letsroll unpause'.

/bca mbpause on
/bca letsroll unpause

You can add 'unpause' to the letsroll command. So, if things are paused, it will unpause. It has been around a while, but apparently I never added that to the documentation/wiki.
 
I've noticed when a Failed to mem message comes up, I often find the stuck toon with their spell book open. Manually standing frees them, and they start casting.

Maybe a change to try standing would help?
 
I've noticed when a Failed to mem message comes up, I often find the stuck toon with their spell book open. Manually standing frees them, and they start casting.

Maybe a change to try standing would help?
Interesting. I have never seen this. Most of the time, I saw the messages because the bot had gotten hit/attacked and his spell memorization was interrupted. Adding some memorization cleanups (like closing the book) should be OK. The obsessive me would love to know why it happens, though ;)
 
Interesting. I have never seen this. Most of the time, I saw the messages because the bot had gotten hit/attacked and his spell memorization was interrupted. Adding some memorization cleanups (like closing the book) should be OK. The obsessive me would love to know why it happens, though ;)
I think the answer is Frontier Communications.. Our DSL is weak, and I get spots of lag. /shrug
 
I think the answer is Frontier Communications.. Our DSL is weak, and I get spots of lag. /shrug
Do you have any background rendering, or is it all basically "off" in Frame Limiter? When Frame Limiter first came out, I had issues if I didn't have at least a few frames going in the BG sessions. It seemed to affect spell memorizations. I changed ModBot to try not to rely on UI window statuses as much. But I never turned of those frames (I think I have it set to 5) in the BG. I also know that FL has had many changes since it first came out, so this may be moot now.
 
Do you have any background rendering, or is it all basically "off" in Frame Limiter? When Frame Limiter first came out, I had issues if I didn't have at least a few frames going in the BG sessions. It seemed to affect spell memorizations. I changed ModBot to try not to rely on UI window statuses as much. But I never turned of those frames (I think I have it set to 5) in the BG. I also know that FL has had many changes since it first came out, so this may be moot now.
Framelimiter background is at .001. I will try 5 for a bit.

Another question/suggestion.
My SK as tank, using this cure entry, ends up targeting themself, which isn't needed to cast the AA. Anyway to stop that?
Code:
[AdvCure]
AQCount=1
AQNewFormat=1
AQCheckTime=8
[AQ1]
Gem=Alt
Spell=Purity of Death
SpellCntr=0
SpellFoci=
SpellCureType=Cursed Diseased Poisoned Corrupted
SpellMinMana=0
SpellRecast=0
TarCnt=1
TarType=self cbt idle
SpellAlias=Purity
Announce=/bc
PreCondition=TRUE

Lastly, does the AA#= order of the AA list matter for purchase? Meaning, should i re-number anything I move to the top?
 
Another question/suggestion.
My SK as tank, using this cure entry, ends up targeting themself, which isn't needed to cast the AA. Anyway to stop that?
I will look into that. But you are correct, it will target themselves since all the casts are coded to have a target. I can see where it might be beneficial to not have the switch/switch-back.

Lastly, does the AA#= order of the AA list matter for purchase? Meaning, should i re-number anything I move to the top?
Yes, the numbering matters. It goes thru them sequentially. I started working on a renumbering command, but didn't finish. Maybe I should go back to that ;)
 
Thanks Woobs. I set it for idle only for now, because I'm not in content with major curing needed.

Changing the frame limiter seems to have helped too.

Does anyone have some recent fresh 85 Heroic Character ini they could share? There's a BST in the group, and I've never gotten one out of tutorial...
 
Here is a fresh lvl 85 Heroic Bard ini.
[CODE title="85 Heroic Bard ini"][Settings]
DoMelee=FALSE
DoHeals=TRUE
DoBuffs=FALSE
DoDebuffs=FALSE
DoEvents=FALSE
DoCures=FALSE
DoPull=FALSE
DoPet=FALSE
DoSit=FALSE
DoLoot=FALSE
DoFW=FALSE
DoForage=TRUE
ForageIni=forage.ini
DoAfk=FALSE
DoMount=FALSE
MountCast=
MasterList=${NetBots.Client}
TankName=${Group.MainTank.Name}
PullerName=${Group.Puller.Name}
Radius=60
ZRadius=30
SitAggroRadiusCheck=30
AfkMessage=Not now, thanks
DeathSlot=FALSE
NetworkINI=
TraderName=
FollowDistance=20
FollowStick=20 hold uw
PetCast=
PetAggro=FALSE
PetAssist=0
PetFoci=
PetShrink=TRUE
PetShrinkSpell=
GoMNuke=
SitManaPct=95
SitEndurPct=0
DoRez=TRUE
RezMinPct=96
RezAcceptCall=FALSE
RezGiveUpSeconds=6000
SummonFood=
SummonDrink=
DoAA=FALSE
AAAnnounce=
AAtoNormal=FALSE
AAWarning=90
AABank=0
AAVerbose=FALSE
TimeStampOnEcho=FALSE
DoNamed=TRUE
DoTells=TRUE
DoPetShrink=TRUE
SPetAssist=1
DoSelfShrink=FALSE
DoStuckGems=FALSE
StuckGemsAA=
InfoMsgLevel=0
AllowBuffRequests=

[Melee]
OffTank=FALSE
ACLeash=50
ACAssistPct=98
ACManaPct=0
ACAnnounce=
ACMeleeCmd=/melee plugin=1 stickmode=1
ACBefore=
ACAfter=
ACPetEnrage=TRUE

[AdvHeal]
AHCount=1
AHNewFormat=1
AHCheckTime=4
AHHealOOBC=FALSE
AHHealMode=0|0|12
AHInterruptLevel=2
AHClassPriority=enc,wiz,mag,nec,clr,dru,shm,pal,shd,war,bst,rng,ber,rog,brd,mnk
AHAllowDismount=TRUE
AHXTgtWatch=
[AH1]
Gem=Alt
Spell=Shield of Notes
SpellFoci=
DurMod=0
SpellMinMana=0
SpellAlias=Def1
Announce=/bc
TarCnt=1
Class=hp30 self
PreCondition=TRUE

[AdvDebuff]
ADCount=17
ADNewFormat=1
ADMobMax=30
ADCheckTime=0
ADAggroOnly=0
ADHold=0|1|1| 1=on 0=off|Debuff spell #|Time to wait for debuff|
ADCoolDown1=
ADCoolDown2=
ADCoolDown3=
ADCoolDown4=
ADCoolDown5=
[AD1]
Gem=11
Spell=Wave of Slumber
SpellFoci=
DurMod=0
SpellAlias=AEMEZ
Announce=/bc [+r+]PB AE Mez[+x+] <<[+y+] %t [+x+]>> with[+g+] %s [+x+]
SpellMinMana=0
SpellRecast=0
SpellCastonResist=
SpellDelay=30
TarCnt=3
TarType=12
TarBegHP=200
TarEndHP=1
IfSpellImmune=
UseHoTT=0
PreCondition=TRUE
[AD2]
Gem=10
Spell=Slumber of the Mindshear
SpellFoci=
DurMod=0
SpellAlias=MEZ
Announce=/bc [+r+]MEZZED[+x+] <<[+y+] %t [+x+]>> with[+g+] %s [+x+]
SpellMinMana=0
SpellRecast=0
SpellCastonResist=
SpellDelay=0
TarCnt=2
TarType=12
TarBegHP=150
TarEndHP=1
IfSpellImmune=
UseHoTT=0
PreCondition=TRUE
[AD3]
Gem=8
Spell=Requiem of Time
SpellFoci=
DurMod=0
SpellAlias=Slow|
Announce=
SpellMinMana=0
SpellRecast=0
SpellCastonResist=
SpellDelay=12
TarCnt=0
TarType=11
TarBegHP=98
TarEndHP=5
IfSpellImmune=
UseHoTT=0
PreCondition=TRUE
[AD4]
Gem=Alt
Spell=Quick Time
SpellFoci=
DurMod=0
SpellAlias=NamedAA1
Announce=
SpellMinMana=0
SpellRecast=120
SpellCastonResist=
SpellDelay=120
TarCnt=1
TarType=3
TarBegHP=99
TarEndHP=5
IfSpellImmune=
UseHoTT=0
PreCondition=TRUE
[AD5]
Gem=Alt
Spell=Spire of the Minstrels
SpellFoci=
DurMod=0
SpellAlias=Spire|NamedAA2
Announce=
SpellMinMana=0
SpellRecast=0
SpellCastonResist=
SpellDelay=120
TarCnt=1
TarType=3
TarBegHP=99
TarEndHP=5
IfSpellImmune=
UseHoTT=0
PreCondition=TRUE
[AD6]
Gem=Alt
Spell=Fierce Eye
SpellFoci=
DurMod=0
SpellAlias=NamedAA3
Announce=
SpellMinMana=0
SpellRecast=0
SpellCastonResist=
SpellDelay=120
TarCnt=1
TarType=3
TarBegHP=99
TarEndHP=5
IfSpellImmune=
UseHoTT=0
PreCondition=TRUE
[AD7]
Gem=Alt
Spell=Funeral Dirge
SpellFoci=
DurMod=0
SpellAlias=NamedAA4
Announce=
SpellMinMana=0
SpellRecast=0
SpellCastonResist=
SpellDelay=120
TarCnt=1
TarType=3
TarBegHP=99
TarEndHP=5
IfSpellImmune=
UseHoTT=0
PreCondition=TRUE
[AD8]
Gem=Alt
Spell=Dance of Blades
SpellFoci=
DurMod=0
SpellAlias=NamedAA5
Announce=
SpellMinMana=0
SpellRecast=0
SpellCastonResist=
SpellDelay=120
TarCnt=1
TarType=3
TarBegHP=99
TarEndHP=5
IfSpellImmune=
UseHoTT=0
PreCondition=TRUE
[AD9]
Gem=Disc
Spell=Thousand Blades
SpellFoci=
DurMod=0
SpellAlias=NamedDisc
Announce=
SpellMinMana=0
SpellRecast=0
SpellCastonResist=
SpellDelay=120
TarCnt=1
TarType=3
TarBegHP=99
TarEndHP=5
IfSpellImmune=
UseHoTT=0
PreCondition=TRUE
[AD10]
Gem=Item
Spell=Heroic Dreamhunter Breastplate
SpellFoci=
DurMod=0
SpellAlias=BP
Announce=
SpellMinMana=0
SpellRecast=0
SpellCastonResist=
SpellDelay=120
TarCnt=1
TarType=3
TarBegHP=99
TarEndHP=5
IfSpellImmune=
UseHoTT=0
PreCondition=TRUE
[AD11]
Gem=Alt
Spell=Song of Stone
SpellFoci=
DurMod=0
SpellAlias=Swarm|NamedAA6
Announce=
SpellMinMana=0
SpellRecast=0
SpellCastonResist=
SpellDelay=120
TarCnt=1
TarType=3
TarBegHP=98
TarEndHP=5
IfSpellImmune=
UseHoTT=0
PreCondition=TRUE
[AD12]
Gem=Alt
Spell=Lyrical Prankster
SpellFoci=
DurMod=0
SpellAlias=Swarm|
Announce=
SpellMinMana=0
SpellRecast=0
SpellCastonResist=
SpellDelay=120
TarCnt=1
TarType=1
TarBegHP=98
TarEndHP=5
IfSpellImmune=
UseHoTT=0
PreCondition=TRUE
[AD13]
Gem=Alt
Spell=Cacophony
SpellFoci=
DurMod=0
SpellAlias=NamedAA7
Announce=
SpellMinMana=0
SpellRecast=0
SpellCastonResist=
SpellDelay=120
TarCnt=1
TarType=3
TarBegHP=98
TarEndHP=1
IfSpellImmune=
UseHoTT=0
PreCondition=TRUE
[AD14]
Gem=Alt
Spell=Hymn of the Last Stand
SpellFoci=
DurMod=0
SpellAlias=NamedAA8
Announce=
SpellMinMana=0
SpellRecast=0
SpellCastonResist=
SpellDelay=120
TarCnt=1
TarType=3
TarBegHP=98
TarEndHP=5
IfSpellImmune=
UseHoTT=0
PreCondition=TRUE
[AD15]
Gem=Alt
Spell=Boastful Bellow
SpellFoci=
DurMod=0
SpellAlias=
Announce=
SpellMinMana=0
SpellRecast=0
SpellCastonResist=
SpellDelay=30
TarCnt=1
TarType=1
TarBegHP=98
TarEndHP=5
IfSpellImmune=
UseHoTT=0
PreCondition=TRUE
[AD16]
Gem=
Spell=
SpellFoci=
DurMod=0
SpellAlias=
Announce=
SpellMinMana=0
SpellRecast=0
SpellCastonResist=
SpellDelay=0
TarCnt=1
TarType=1
TarBegHP=98
TarEndHP=1
IfSpellImmune=
UseHoTT=0
PreCondition=TRUE
[AD17]
Gem=
Spell=
SpellFoci=
DurMod=0
SpellAlias=
Announce=
SpellMinMana=0
SpellRecast=0
SpellCastonResist=
SpellDelay=0
TarCnt=0
TarType=1
TarBegHP=100
TarEndHP=0
IfSpellImmune=
UseHoTT=0
PreCondition=TRUE

[AdvBuff]
ABCount=10
ABNewFormat=1
ABMobMax=30
ABCheckTime=0
[AB1]
Gem=12
Spell=Aura of the Poet
SpellFoci=
DurMod=0
SpellAlias=Aura
Announce=
SpellMinMana=0
TarCnt=1
TarType=self aura
Recast=FALSE
SpellIcon=
PreCondition=TRUE
[AB2]
Gem=1
Spell=Aria of the Poet
SpellFoci=
DurMod=0
SpellAlias=
Announce=
SpellMinMana=0
TarCnt=1
TarType=self cbt idle
Recast=FALSE
SpellIcon=
PreCondition=TRUE
[AB3]
Gem=2
Spell=Arcane Arietta
SpellFoci=
DurMod=0
SpellAlias=
Announce=
SpellMinMana=0
TarCnt=1
TarType=self cbt idle
Recast=FALSE
SpellIcon=
PreCondition=TRUE
[AB4]
Gem=3
Spell=War March of Brekt
SpellFoci=
DurMod=0
SpellAlias=
Announce=
SpellMinMana=0
TarCnt=1
TarType=self cbt idle
Recast=FALSE
SpellIcon=
PreCondition=TRUE
[AB5]
Gem=4
Spell=Dance of the Dragorn
SpellFoci=
DurMod=0
SpellAlias=
Announce=
SpellMinMana=0
TarCnt=1
TarType=self cbt idle
Recast=FALSE
SpellIcon=
PreCondition=TRUE
[AB6]
Gem=5
Spell=Cantata of Rodcet
SpellFoci=
DurMod=0
SpellAlias=
Announce=
SpellMinMana=0
TarCnt=1
TarType=self cbt idle
Recast=FALSE
SpellIcon=
PreCondition=TRUE
[AB7]
Gem=6
Spell=Dirge of the Fallen Rathe
SpellFoci=
DurMod=0
SpellAlias=
Announce=
SpellMinMana=0
TarCnt=1
TarType=self cbt idle
Recast=FALSE
SpellIcon=
PreCondition=TRUE
[AB8]
Gem=7
Spell=Gruber's Lively Crescendo
SpellFoci=
DurMod=0
SpellAlias=
Announce=
SpellMinMana=0
TarCnt=1
TarType=self cbt idle
Recast=FALSE
SpellIcon=
PreCondition=TRUE
[AB9]
Gem=
Spell=
SpellFoci=
DurMod=0
SpellAlias=
Announce=
SpellMinMana=0
TarCnt=0
TarType=tank war shd pal rng mnk rog brd bst ber shm clr dru wiz mag enc nec self mypet grp pet cbt idle
Recast=FALSE
SpellIcon=
PreCondition=TRUE
[AB10]
Gem=
Spell=
SpellFoci=
DurMod=0
SpellAlias=
Announce=
SpellMinMana=0
TarCnt=0
TarType=tank war shd pal rng mnk rog brd bst ber shm clr dru wiz mag enc nec self mypet grp pet cbt idle
Recast=FALSE
SpellIcon=
PreCondition=TRUE


[AdvEvent]
AECustom1=
AECustom2=
AECustom3=
AECount=0
AENewFormat=0

[AdvPull]
APCheckTime=0
APRadius=40
APMobMax=1
APScript=
APPath=
APRetPath=
APBefore=
APAfter=
APAnnounce=
APRetries=1

[AdvCure]
AQCount=0
AQNewFormat=0

[Script-MBStartup]
Commands=0
C1=/return
[Script-Defense]
Commands=0
C1=/return

[/CODE]
 

Attachments

Dusted off an old War ini...
Do the delays in this script work? It seems like they shouldn't?
Code:
[Script-PULL]
Commands=4
C1=/if ({Me.AbilityReady[Taunt]} && ({Target.Distance3D}<=35) /doability Taunt
C2=/delay 5
C3=/if ({Me.CombatAbilityReady[Jeer]}) /disc Jeer
C4=/delay 5s {Target.Distance3D}<=35
 
I have some scripts with delays in them. I can play around with them to check it out, but why would you think they wouldn't work?
 
Modbot Release ModBot.mac

Users who are viewing this thread

Back
Top
Cart