Description:
This is a mage bot that is meant to serve as an all in one bot. With V2.0 you can now run in a groupmode in order to run as an assist bot, even on raids (although this has not be tested on a raid). If running in group mode a pre recorded path is not required however this means the mage will not attempt to run from anything that may be beating on it. In non group mode a pre recorded path is required.
Solo mode is a great way to get experiences or just farm for money while you do other more important things! I've had great success using the bot in this faction. With the latest set of updates I've had the bot run successfully for 24 hours straight without any deaths in a semi dangerous area (mobs that hit for over 1k quad). This is on a level 80 mage so mileage may vary depending on AAs and level.
The pet focus AA (Advanced Pet Discipline Rank 1) is required for solo mode, there is just no reliable way for the bot to be able to handle adds effectively without it. If you do not have pet focus the bot will still run, but if you get an add you will most likely die. But if you can run the bot in a location where you are fairly sure that you will not get adds then it should do just fine.
Required Files
magebot.mac
devCommon.inc v1.7
devMovement.inc v1.5
MQ2Cast_Spell_Routines.inc
mageBotSettings.ini
Required Plugins
MQ2Cast
MQ2Debuffs
MQ2Exchange
Other Requirements
Pet Focus AA (For solo mode)
Download notes
_________________________________________________________
Please post any bugs or comments here or email me at
devestatormq@yahoo.com If anyone has any suggestions or improvements to contribute I welcome them
A couple quick notes:
-There is a pccheck sub routine so that if a pc gets near you that is not on your safepc list in the settings.ini the bot will attempt to gate and camp.
-If there are particular mobs that cannot be attacked or that you do not want to attack in your path you can add them to the IgnoreMobs list in the settings.ini, be sure to update the Vale with the total number of ignored mobs.
-Currently the pet focus aa is needed for the macro to run at it's best whe soloing. If you get an add and do not have the pet focus aa the pet will not get it off you and the bot will continually attempt to run from the add causing more problems. If you can run it somewhere where you will not get adds then you will be ok without the aa.
-I'm working on a wiki help file for the ini to help new people get up and running but I havn't gotten it finished yet. For now if you can't figure
something out just let me know.
_____________________________________________________
devCommon v1.72 - 03/01/2009 Updates
Compatability -Required versions of my bots for this version
clericBot v1.00
skBot v1.60
mageBot v3.00
Files Changed
devCommon.inc v1.72
Bug Fixes
-Corrected a bug in self buff check to properly check short duration buffs for auras (Really this time!)
-Corected a bug in buff routine that was causing some classes (Sk) to never buff themselves
-Corrected a crashbug in the tradecheck routine
-Corrected array error in tradecheck routine
New Additions
-TradeCheck routine has been changed slighlty so that it now should never accept a trade where items would be dropped to the ground.
Additional Notes
-This version should work fine with all my bots.
______________________________________________________________
mageBot v3.00 - 02/16/2009 Updates
Files Changed
mageBot.mac
devCommon.inc v1.7
Bug Fixes
-Added a check to ensure proper targetting in groupmode when initially entering combat
New Additions
-Modifed for devCommon.inc v1.7
-Added support for the devCommon EQ Group roles. Set mainassist in the ini to group if you want to use these settings.
INI Changes
-None
devCommon v1.70 - 02/16/2009 Updates
Compatability -Required versions of my bots for this version
clericBot v1.00
skBot v1.60
mageBot v3.00
Files Changed
devCommon.inc v1.70
Bug Fixes
-Global commands that turn the buffs on and off should now reset the buff timer so that it will do said buffs immediately (if turning them on)
-Corrected a bug that was causing minBuffCheckTimer to not be set correctly in some situations.
New Additions
-New Variable campRadius. Similiar in function to mobRadius but more for passive camp detection routines than active routines.
-New routine TargBuffCheck(int buffTargID) - this is a routine to check buffs on a specific target
-Added EQ GroupRole tracking. If you do not have a puller, maintank, or mainassist set, it will use the one set in the group in EQ.
-BuffCheck routine will now rebuff buffs that have less than a minute left on the duration instead of waiting for them to fade.
-New global command buff <alias> <name>, this will only work if you have groupBuffs set up. But it will buff any target with the specified <alias> buff (ignores class restrictions set in the ini).
-Added a minimum sit time of 5 seconds after aggro is detected on the character.
-TradeCheck routine, will automatically accept trades if there is room. However there is currently one bug I have left to work out on this, if inventory room is limited and you hand the character items in a bad order it may drop something to the ground. (Example: The character has two slots left, the first is giant and the second is small. You had it two items but give it a small then giant item. The small item would be put into the giant slot since it is first, and the giant item would then fall to the ground.)
This would be a rare and situational problem, but is a problem none the less. I hope to have a work around to fix this within the next few days, but I wanted to get the clericbot released and did not want this problem holding it up.
Additional Notes
-None at this time
______________________________________________________________
devCommon V1.62 - 02/09/2009 Updates
Files Changed
devCommon.inc v1.62
Bug Fixes
-Corrected a bug in the ChooseTarget routine that was spitting out errors.
New Additions
-
Additional Notes
The new 1.62 is included in the rar download but is also available for download by it self if you've already download the rar.
_______________________________________________________
devCommon V1.61 - 02/08/2009 Updates
Files Changed
devCommon.inc v1.61
Bug Fixes
-Corrected a typo in the new global follow command that was preventing follow from working.
New Additions
-
Additional Notes
The new 1.61 is included in the rar download but is also available for download by it self if you've already download the rar.
_______________________________________________________
mageBot V2.9 - 02/08/2009 Updates
Files Changed
mageBot.mac
devCommon.inc v1.6
devMovement.inc v1.5
mageBotSettings.ini
Bug Fixes
-Corrected a bug causing TimeToSitAfterCast setting to be ignored.
-Added a delay when checking group buffs that should help with the rebuffing when not necessary problem that some people have noticed.
New Additions
-Modifed for devCommon.inc v1.6
-Echo messages are now colorful if you have the MQ2CEcho plugin.
-Added new OutOfCombatSit setting, see ini changes for details.
-More information is logged to help when trying to track down problems.
-Mobs on your ingore list should no longer even be targeted unless they are detected as adds.
-Now when running in groupmode, if a mob is inside of your minsafedistance but not facing you the mage will not sit but will still cast spells. If they are facing you and is in minsafedistance the mage will not cast spells.
-Added a new spelltype grouping system. Some people were having problems with some spells not casting further down the spell list. What you would have to do is reorganize your spell list to make sure conditional or long lasting spells always came first in the list. With this type grouping this is no longer necessary. You will be able to create spell types that cast in the specified order, and then assign your spells to a specific type so that it will cast with that group. *NOTE* this is completely optional, if you do not wish to use this spell casting will work like it always has, and you do not even need to even change your INIs. See ini changes for full details.
INI Changes
-New INI Setting [GroupSettings] OutOfCombatSit, True or False value, specifies wether the mage will sit when out of combat in groupmode if it does not need to in order to med. The mage will still sit when it needs to med out of combat.
-New INI Settings
Code:
[Combat]
SpellSetTypeValue=0
SpellSetType1=NULL
This will enable you to create custom spelltypes that can be assigned to each spell (see spell ini entries further down for info on this). When the mage is looking for a spell to cast it will check by group starting with SpellSetType1. It will still cast all spells not assigned a type after check all the Types. If you do not wish to use this you do not need to make any changes.
Example:
Code:
[Combat]
SpellSetTypeValue=1
SpellSetType1=Special
Value=3
SpellName1=Rancorous Servant
SpellSlot1=gem6
SpellMaxMobs1=100
SpellMinMobs1=1
SpellMaxMobHPs1=100
SpellMinMobHPs1=30
SpellMinMana1=20
SpellRecastDelay1=18s
SpellCondition1=Me.Song[Gift of Exquisite Radiant Mana].ID
SpellName2=Bolt of Molten Scoria
SpellSlot2=gem10
SpellMaxMobs2=100
SpellMinMobs2=1
SpellMaxMobHPs2=80
SpellMinMobHPs2=40
SpellMinMana2=30
SpellRecastDelay2=5s
SpellCondition2=Me.Song[Flames of Power].ID
SpellName3=Torrent of Thunderbolts Rk. II
SpellSlot3=gem4
SpellMaxMobs3=1
SpellMinMobs3=1
SpellMaxMobHPs3=90
SpellMinMobHPs3=21
SpellMinMana3=20
SpellRecastDelay3=15s
SpellType3=Special
In this example, even though Torrent of Thunderbolts is the 3rd spell it would get checked first when the mage looks for a spell that is ready to be cast and the situation meets all requirements. This is mainly just a way to make sure your long use or conditional spells / alt abilities / items gets used even if you have them further down the spell list, without needing to reorganize your entire list.
-Spell entry INI Additions, now on each spell entry you can use SpellMaxHPs and SpellType. SpellType is explained above, SpellMaxHPs will simply make it so you must be below that amount of hitpoints to cast the spell. Not really all that usefull as a mage but I made some changes to the common file and this was in my skBot so the mageBot can take advantage of it now as well if you find a need for it.
devCommon V1.6 - 02/08/2009 Updates
Files Changed
devCommon.inc v1.6
Bug Fixes
-Added checks to prevent using interrupt if you are on a mount. Should not dismount you anymore, but spells will finish casting even if a mob dies.
-Fixed a bug with assisting in groupmode that could cause you to get stuck on a corpse.
-Fixed a bug with CorpseCheck routine that could cause you to have an invalid number of live targets, causing spells that required certian numbers of live targets to be cast incorrectly.
-Fixed a bug in StripText routine that was not always stripping all escape characters.
New Additions
-The CheckForAggro routine now does a better job of testing if a mob is actually aggro on you.
-SendTell routine will now strip any escape characters from a message before it is sent "\a"
-Added a variable defaultEchoColor that sets the default echo output color
-Added more checks that should make sure the character will continue to fight if the main assist is not present or dead.
-buffCheck(bool useTimer) routine moved to devCommon.inc
-A lot of reused variables in my bots have been moved to devCommon.inc instead of being declared in each macro. This also gives more options of adding features to all my bots in the future.
-Added GlobalCommands(string comFrom,string comText) routine. This will contain commands that can be used for any bot of mine. (These commands can be issued in a tell from a SafePC or in an /echo on the character). Currently available global commands (note some of these were available before but were moved to here):
safepc <name> - adds or removes a safepc, this will update in the ini as well.
gnoremob <name> - adds or removes an ignored mob, this will update in the ini as well.
follow <target> - makes the character followed the specified target.
stay - sets the characters home location to their present location and turns off follow.
docmd <command> - can make the character do any command. It does not work with any ' or " in the command though. Example: /tell bot docmd /pet hold - the bot will do the /pet hold command.
-Created a new CommonLoad routine. If you use my common file for other macros you'd want to /call CommonInit before you load any settings or declare any variables. Once you have all your settings loaded CommonLoad will finish loading with any settings you loaded that it uses.
-The devCommon.incnow has a built in verification system to make sure the bot you are using is of sufficient version to be compatible. If it is not a warning message will be displayed and the macro will be ended.
-There is now and Ignored mobs alert list, and a safe pc alert list created. By default the numbers are 101 for ignore mobs and 102 for safe pcs. If you wish to change this add a /varset alertList n for ignore mobs or a /varset safeAlertList n for safepcs before calling CommonLoad. This should make it so none of my bots ever target an ignored mob, and make safepc checks a little quicker.
Additional Notes
Not all of these updates apply specifically to all my bots currently, some are really only used in the mage or the sk but not both. But I'm including them in the update notes for the devCommon to have one universal set of notes for this file.
devMovement V1.5- 02/08/2009 Updates
Files Changed
devMovement.inc v1.5
Bug Fixes
-No bug fixes
New Additions
-Movement routins now return more information about the movement success or failure. Also if rooted the movement routine will exit now instead of sitting around waiting for root to wear off and preventing bots from doing anything else while watiing.
Additional Notes
Not all of these updates apply specifically to all my bots currently, some are really only used in the mage or the sk but not both. But I'm including them in the update notes for the devMovement to have one universal set of notes for this file.
Additional download notes
My other bots are NOT compatible with this release of devCommon.inc. If you use any of my other bots you must download new versions that are compatible with this version of devCommon.inc.
_____________________________________________________________
Please I welcome comments, suggetions, and change requests!