Difference between revisions of "Bot" - MMOBugs Wiki

Line 691: Line 691:
 
==Version History==
 
==Version History==
  
*<span class="highlight2">1.53</span> -  <span class="highlight">''PeteSampras'' @ 2012-05-27</span> -  
+
*<span class="highlight2">Archived notes by [section]</span> -  <span class="highlight">''PeteSampras'' @ 2012-10-31</span> -  
** New loot code courtesy of Xeniaz
+
[Section] info
** No longer attack if pet or group member on target
 
** "invisoff" to manually remove invis
 
  
  
 +
[Merc]
 +
Will auto revive any merc. you can set what % for mob to assist at if you set it to manual assist mode. can define different stances for named vs regular mobs.
 +
 +
[Setrole]
 +
Will set your group puller, tank, assist, leader for you. Will set your XTarget1 as Group Assist Target or Raid Assist 1 Target as you change from in or out of raids. it will only change it once so it doesnt spam you if you manually change it to something else.
 +
 +
[Settings]
 +
InterruptToHealAt=60
 +
InterruptToXHealAt=60
 +
Added checks to Heal/XHeal/Lifetap if you are casting dots, stuns, nukes, buffs, fightbuffs, maintankbuffs and you/groupmate PctHPs fall below that amount.
 +
 +
[Settings]
 +
ImmunityCheck=TRUE
 +
ImmunityCheck will check your poison/disease/magic/fire/cold immunity lists and not use that nuke or dot if the mob is flagged as immune.
 +
 +
[Settings]
 +
AutoHideNPCCorpses=FALSE
 +
 +
 +
[Custom]
 +
CustomCombat1=/call Pikachu
 +
During the Always routine will /call Pikachu
 +
 +
if you want to #include some other include and add it to the Always, Combat, or Rest loop, just add the name of the routine you want to call.
 +
 +
[Mana]
 +
Medtimer=10s
 +
Delay before /sitting to med after combat, default is 10s
 +
 +
[Settings]
 +
Verbose=TRUE/FALSE
 +
MyChannel=bc/tell/group/rsay/channel
 +
 +
[Mana]
 +
DontCanni_UnlessMyManaBelow=95 (for shaman)
 +
DontHarvest_UnlessMyManaBelow=95 (for wizard)
 +
 +
Added support for mana dumps from beastlords, enchanters, clerics into the macro. The ini already had the settings for them. (paragon, focused paragon, second spire enc, quiet miracle cleric)
 +
 +
[Pull]
 +
Pulling section for MQ2Navigation for lifetimers
 +
 +
Added some checks to pulling routines and /face if you are throwing/using a bow. Also made it only try to throw/bow at a mob for 6 seconds before moving onto next, and had it strafe left/right to try to see the mob if there is a tree or something in the way.
 +
 +
new commands:
 +
/puller - toggles whether you are puller (or if you are set as puller in group, then it is set as TRUE)
 +
 +
How to create and use camps:
 +
1. /addcamp name - adds a camp to the zone with that name
 +
2. Target all mobs via map or manually target to add them to camp
 +
3. /stopcamp - stops adding mobs to camp
 +
 +
From then on:
 +
4. /startcamp name - starts pulling mobs from designated camp with that name
 +
 +
And while i was at it, i went ahead and stopped it from blocking you from being able to set up a camp for both mq2navigation and mq2advpath at the same time.
 +
 +
So now you can:
 +
/addcamp potato
 +
/target all the mobs in the area you want to kill via map or manually
 +
/stopcamp
 +
 +
/record potato0
 +
run around your camp
 +
/record save potato0
 +
 +
/record potato1
 +
run around your camp area in a different route
 +
/record save potato1
 +
 +
and now you have both an mq2navigation and mq2advpath version of the same camp. and you can toggle between using the 2 if you are lifetime member via /pullingmethod
 +
 +
Posted new version. Turns out MQ2Navigation and MQ2AdvPath input strings werent compatible.
 +
 +
These are the same:
 +
/addcamp
 +
/stopcamp
 +
 +
for MQ2AdvPath startcamp:
 +
/starcamp name 2
 +
 +
for MQ2Navigation startcamp:
 +
/startcampnav name
 +
 +
[Campfire]
 +
UseCampfire=TRUE
 +
CampfireName=Super Campfire
 +
CF_Item1=Fellowship Kit: Super Awesome
 +
CF_Item2=Fellowship Lumber Bundle: Light Brown Oak
 +
 +
Posted new version for non-lifetimers, removing autoload of mq2navigation.
 +
/campfire
 +
 +
That will toggle on and off of automatically dropping a campfire if eligible when you enter combat. You can use standard or custom campfires. If using custom, you have to define the name and the components required.
 +
 +
 +
[All]
 +
Added new variable "Conditions" to the following routines:
 +
 +
AA, ClickyNuke, Debuff, Disc, Dot, FightBuff, ImHit, MainTankBuff, Nuke, SelfBuff, Stun
 +
 +
You will need to reload the sections from scratch to get the variable to declare automatically in your ini. Sorry, not much i can do about that. Alternatively, you can just add in DotConditions1, NukeConditions3, etc manually to the ones you want special conditions for.
 +
 +
Example of what it does:
 +
NukeConditions1=${Me.Buff[Twincast].ID} && ${SpawnCount[npc radius 40]}>3 && !${Spawn[group cleric].ID}
 +
 +
that would only fire nuke1 if you had twincast on, there were more than 3 npc nearby, and there were no clerics in your group alive. just as an example.
 +
 +
Use the normal syntax that you would use for a holyshit/downshit. If there are other routines that need "Conditions" variable added, let me know. The others seemed ok without it though.
 +
***IF YOU DO NOT WANT ANY SPECIAL CONDITIONS, LEAVE IT BLANK
 +
 +
Fixed "Conditions" setting for variables.
 +
 +
Added some checks to significantly speed up the macro if you set things you dont use to FALSE in the ini. it will now skip all the checks for them if they are set to FALSE, which could potentially up to double the cycle speed for someone level 95 with max spells/AAs.
 +
 +
[Bard]
 +
Fixed display issue for bard Orb of Tishan and Slow that it didnt /echo properly.
 +
 +
[Settings]
 +
AssistType=5  - allowing you to target your own prioritized mobs. Must use AddHandler for it to work
 +
 +
[Fade]
 +
allows you to fade at designated HP and conditions
 +
 +
[HealPet]
 +
Allows you to specifically designate heals for pets
 +
 +
[Settings]
 +
-Corrected AssistType1 to only /attack when at or below the AttackAt amount.
 +
 +
[HealBalance]
 +
-Cleric shields now use /itemnotify so it doesnt try to swap shield into a top level inv slot
 +
 +
[Settings]
 +
-AssistType5, allowing you to target your own prioritized mobs. Must use AddHandler for it to work
 +
--Can use your own name or "self", /mac bot self, or /mac bot PeteSampras
 +
 +
-[Fade] section to allow you to fade at designated HP and conditions. Uses AA fades only. Conditions line to set whatever you want
 +
 +
-[HealPet] section to allow you to specifically designate heals for pets
 +
2 heals for heal classes. 6 for mag/nec/bst
 +
 +
[Custom] CustomCombat, CustomRest, to make macro specific holy/downshits, or /calling of external routines
 +
--literally checks the line you put there just like a holy or downshit:
 +
---/call WaitForRez
 +
---/if (${Me.PctHPs}<20) /echo hi
 +
 +
[Disc]
 +
DiscIfNearbyAmtX line had a typo. Discs should work now, but you need to reload your ini section for discs
 +
 +
[Pet]
 +
If you had a rk2/3 pet buff in spellbook, and the rank 1 AA, it would try to make it rank2/3 even if using the AA. If you want to use the rk2/3, specifically put Rk. II or Rk. III at the end for the spells you have exact name AA versions of.
 +
 +
[Settings]
 +
AutoBreakInvis=FALSE
 +
 +
This should bypass the invis check for attacking if you set it to TRUE.
 +
 +
[Setroles]
 +
Uses normal eq command of /xtarget instead of mq2 command of /setrole, this should stop XTarget1 from being buggy. I still need someone to confirm for me how to set it to Auto Hater. "/xtarget set 1 AutoHater" may or may not work.
 +
 +
[Settings]
 +
-Modified AssistType5 (self targeting) to use either AddHandler or to just use XTargets. Using XTargets should make it more efficient, especially if your tank instance is running in the background on computer.
 +
-Modified AssistType5 to change all of your XTargets to Auto Hater if they are not already.
 +
-fixed typo in AssistType5
 +
 +
[Root]
 +
FaceNPCToRoot=FALSE
 +
 +
if set to true, you will /face before casting root.
 +
 +
[Root] section is attempted before [Debuff] section now for crowd control purposes.
 +
Added second layer of checks for primary target on debuff/root. It should already have worked as is due to ID check, but now theres another layer of checks anyway.
 +
 +
[Pet]
 +
-support for auto-summoning and/or equipping pet weapons
 +
-you define your own variables in game or via ini
 +
- CASE SeNsItIvE. if you add in game, you MUST use the item link and use the word "add".
 +
usage to add: /petgear add|alias|< link of item >
 +
usage to equip: /petgear alias|alias|alias
 +
example:
 +
/petgear add|wind|Summoned: Weapon of Wind
 +
/petgear add|ice|Summoned: Weapon of Ice
 +
/petgear add|belt|Summoned: Belt of Awesomesauce
 +
 +
Then whenever you want those given to pet:
 +
/petgear wind|ice|belt
 +
 +
PetGearDefaultAlias=fire|ice|belt|mask
 +
**This will try to auto load these items you've defined when you create pet if it isnt holding anything already. i dont know how this affects necro pets that hold a scythe.
 +
 +
mages only:
 +
PetGearSpellName=name
 +
PetGearSpellGem=gem5
 +
PetGearDefaultInvSlotForBag=10
 +
 +
[HealSingle]
 +
HealSingleRecast1=18s (or whatever number,reuse time you want, default is 0)
 +
 +
This will place a reuse timer on the individual you are casting the single heal on, NOT on the spell itself. So if you put 18s reuse, it is by group member. This should allow you to do single target HoTs.
 +
 +
**It will load with /mac bot load if you delete your old [HealSingle] section or on a fresh load, or you can just manually add that to the INI for any heal you want to have a recast timer.
 +
 +
posted 1.093 to fix the HealerSingleRecast error.
 +
 +
 +
[Disc]s will now still check, even if a disc is already running. However, a disc with a duration will not try to fire if a disc is currently running. Instant cast discs will fire if a disc is already running.
 +
 +
[Merc]
 +
MercStanceOOC=Passive (will make your merc be passive when not in combat, default is blank. aka. same as current)
 +
 +
[Custom]
 +
CustomRestTotal=1
 +
CustomRest1=/call Clarity
 +
 +
CustomCombatTotal=1
 +
CustomCombat1=/call DPS
 +
 +
-Clarity routine in case you want to use clarity potions. It will check your inventory for them, figure out the best, see if you have buff space and dont already have clarity, then use it.
 +
 +
-DPS routine is to figure out how much estimated time is left before the target dies. I made it for my necro mac years ago so that you wouldnt waste mana dotting a mob that would die soon, or so you could use the emerald essence proc nuke if the mob was about to die in the next 5 seconds. It is only an estimate, but i want to see if it works. It gives you access to the variable: ${FightTimer} You can then use this variable in your conditions to figure out if you want to perform certain actions. Maybe you dont want to debuff a mob if it is going to die in the next 10 seconds.
 +
 +
 +
[Heal_____] sections
 +
Heal___ConditionsX variable to all heals.
 +
 +
Special variables involved: ${Group.Member[${g}]}
 +
 +
[Settings]
 +
AttackRange=50
 +
AttackCommand=/killthis
 +
 +
AttackRange will determine the distance the mob has to be before engaging a mob on XTarget1. It will also affect using the AttackCommand for AssistType2/3. Previously, the AttackCommand was a hidden variable, and was defaulted to "/attack on". mq2melee is enhanced to do different discs and skills if you use /killthis. So by letting you choose which you want to do, you can increase your dps some. AttackRange ONLY affects AssistType=2 and AssistType=3 for now.
 +
 +
Options for AttackCommand= are: "/killthis", "/attack on", "/keypress z", or "/keypress q", or if you have changed your default keybinds, they are whatever you've changed them to.
 +
 +
[Settings]
 +
OpeningMove=
 +
 +
This will execute whatever command you put there prior to /call Attack. It will be the very first thing you do with the designated mob on your target.
 +
 +
For pet classes, i would suggest:
 +
OpeningMove=/pet attack
 +
 +
For knights:
 +
OpeningMove=/disc withstand
 +
(or whatever your current rune disc is)
 +
 +
You can use /multiline or /if statements, just like a holy/downshit.
 +
 +
[Mana]
 +
UseClarityPotions=FALSE
 +
Auto detection of lower level clarity potions in case you run out of your highest level potion. Best remaining potion will be used.
 +
 +
Removed:
 +
[Disc]
 +
OutOfCombatDiscName=
 +
UseOOCDiscAtMyEndPct=
 +
UseOOCDiscAtDistance=
 +
 +
Those no longer function and capabilities are replaced with OpeningMove=
 +
 +
[Pet]
 +
PetBuffRecast1=1s
 +
PetBuffRecast2=2m
 +
 +
 +
[HealSelf]
 +
Fixed self heal routine. I had changed a variable because there was an error, turns out there was a second error that broke the routine when i corrected the first error.
 +
 +
[Mez][AEMez][PBAEMez]
 +
AE Mezzes triggering immune messages will now be ignored so that when they land on PCs it doesnt return FALSE positives. If you find your NPCs arent being mezzed, check the Mob_Ignore_List.ini to make sure nothing is incorrectly added. If it is, just delete it out.
 +
 +
[Summon]
 +
section added
 +
 +
[Merc]
 +
Mercs will no longer try to use MercStanceOOC if you dont have one defined.
 +
 +
[Summon]
 +
section will now only check for exact SummonItemNameX matches instead of partials. This should alleviate issues for items like Warm Milk Dispenser summoning Warm Milk.
 +
 +
[Settings]
 +
EmergencyAlias=Evac Now!
 +
EmergencySkill=Exodus
 +
ClearTargetDataAlias=resettarget
 +
 +
Set those to whatever you want, they are blank by default (turned off).
 +
EmergencyAlias=whatever phrase you put here will turn off attack/twist/interrupt spells, reset target data, and then fire the skill below
 +
EmergencySkill=aa/spell that is memmed/item/disc/ability - if it isnt ready, it just skips it.
 +
ClearTargetDataAlias=this phrase will clear your target, turn attack /twist / spell casting off and reset your target data in case you want to stop hitting the current target.
 +
 +
[Rez]
 +
Fixed rez crash above, hopefully.
 +
 +
[Summon]
 +
Less spam for item summoning, you should only get 1 message.
 +
if the spell name is an item, it will now use /itemnotify instead of /call Cast to avoid top levle inventory swapping
 +
 +
[Settings]
 +
OptionsCheckRaid=
 +
 +
If you are in a raid, it will use that list of routines instead. This should let you turn off Dot/Nukes/etc if you dont want them to be used on raids. Default will be same as OptionsCheck= . It wont take effect until the second time you use macro.
 +
 +
Reminder that if you want to control individual spells to cast while on a raid, you can use DotConditions1=!${Raid.Members} etc. Or you could make your DotTotal=${If[${Raid.Members},8,4]}, and it would only check on initial mac startup.
 +
 +
[Settings]
 +
InterruptToHealAt=30
 +
 +
That will now work for check for lifetaps too. Between each routine it will check Lifetap routine if your HP is at or below the amount you designate. The normal check every cycle for Lifetap routine is unaffected, so you will keep checking it as normal as well.
 +
 +
Corrected:
 +
Emergency events/variables had a typo because i forgot about something. Fixed.
 +
 +
 +
*<span class="highlight2">Archived notes - hidden info</span> -  <span class="highlight">''PeteSampras'' @ 2012-10-31</span>
 +
Hidden features:
 +
posted a new version, it now checks to see if you have a small, medium, or large mod rod and it also checks to see that if you have the large mod rod AA, it wont cast the medium, and if you have anything more than the small, it wont cast the small.
 +
 +
Posted new version for aura fix and change to Free Target splash casts. Your screen may appear to blink for a split second.
 +
 +
Added:
 +
Enc auto summons Azure and Sanguine crystals if above 95% mana.
 +
Enc uses heal crystal at 50%
 +
Enc uses mana crystal at 75%
 +
 +
Added bard support for AE Mez, tash orb, slow, clickynukes, selfbuffs, auras while /twisting.
 +
 +
It doesnt set up twist for you, you need to manually /twist 1 2 3 4 or whatever your song line up is, then it will handle it from there.
 +
 +
Posted new version so default value on MQ2NavFollowCommand when you /mac bot load is now your charname + a random series of numbers so there are no accidental triggers.
 +
 +
 +
-Looters should no longer try to loot with anything on XTarget.
 +
-Melee/hybrid using AssistType2 should no longer get hung up targeting themselves and refuse to assist
 +
-If you target yourself for an ImHit, you should now retarget your original target
 +
-Fixed an errant variable not defined message for Snare.
 +
-i forget the rest because i drank last night
 +
 +
-Added PC check for /afolow, and /navi so you are less likely to follow warders around.
 +
-Added ${MMOBugs.FreeBuffs} check for self buffs and clickies to make sure you actually have room
 +
-Fixed so "Conditions" variable now loads for autodetected AAs (however, some routines that dont have conditions may now appear to, so i will add conditions into those routines as i find them. I think jolt was one of those)
 +
 +
-Macro will force you to load if it is your first time running the macro. You know who you are.
 +
-Added auto check for pulling for if it is an clicky/spell/aa/disc/ability (but i didnt actually add a place in for the ability like kick yet because i need to figure out the distance they work at.
 +
-spells should detect correct for characters under level 10
 +
-fixed some other small stuff.
 +
 +
-Changed /face fast to /face, can change back if needed
 +
-Removed (hopefully), targeting of corpses automatically.
 +
-auto summon and inventory chalandria's fang if you have one
 +
 +
Discs should work a little better for you (at all)
 +
 +
Xeniaz found some bugs. Fixed them.
 +
Campfires should work.
 +
CustomCombat and CustomRest should work.
 +
ClickyMaintenance should no longer keep sending things to your ini if you have clickies=0
 +
 +
- You should now clear target if you are in attack cycle and targeting a pet or a group mate
 +
-Xeniaz wrote a version of the modbot looting routine. It gives you a bunch of loot settings. I am blindly adding it based on his suggestion and removing the ninjadvloot.inc. the new settings will look like so:
 +
 +
Per request. Pets now use /pet ghold instead of /pet hold
 +
 +
-Mounts should no longer try to summon more than 1 time when using mounts as an /addclicky
 +
--Additionally, you should received an /echo say the zone is indoors
 +
 +
-Fade fix
 +
- hopefully fade will work now. was missing 2 }
 +
 +
Changed /pet ghold to /pet ghold on
 +
Removed requirement to summon for items if only 1 is left to pull with (rangers + endless quiver only need 1)
 +
 +
Xeniaz fixed INI related issue with looting not working.
 +
 +
Fixed double declare message for XHeal section. Puller range should now recognize correctly.
 +
 +
non-detrimental spells will ignore distance checks in most offensive routines now.
 +
 +
-Added Free Target spell casting ability to Debuffs and all heals (HealSplash already had it)
 +
 +
-Modified "invisoff" by adding the functionality to store current target, /target clear, /attack on, /attack off, /target stored target. Reminder for invison or invisoff is to just say them in group/eqbc. This will break all invises.
 +
 +
-Added message to indicate that if you are /mac bot load in any of the "safety" zones, that it MUST be redone outside of PoK/Lobby/Hall for it to work properly.
 +
 +
Should now only try to /target pc or merc for innate buffs. It was already written like that but i added a second layer.
 +
 +
SK AE aggro will now autodetect if you have an AE aggro spell memmed and use it appropriately. Changed the order of detection to reduce wasted casts.
 +
 +
**It is a cascading check so that all your AE aggros arent spent at once. Assuming you have all AAs + spell: First cycle tries first AA, cycles combat routine, second cycle will trigger next AA, cycles combat routine, third cycle will use spell. It will only autodetect a single AE aggro spell (last gem that contains one from 1-12. so if you have AE aggro in gem3 and gem5, it uses the 5)
 +
 +
Added ${ValidSpellType} to [GoM], [Nuke], [Dot], and [Buff] routines so that it checks for valid .BodyType and checks if you have any required reagents to use the spell. Please let me know if anything is messed up for those routines. This replaces ${TestVariable}, so if you were testing for me, please delete that reference.
 +
 +
Added 15 second delay when zoning (including partial zone time, uses MMOBugs.ZoneSecs) before you start casting spells. This is to make it less obvious that you are botting. I can play with the time if needed.
 +
 +
Added/corrected some misc command info in /helpme
 +
 +
Added some minor tweaks to Mages summoning petgear. i dont know that it entirely fixes it, but i think it will get it closer. I think the reason it was clicking the wrist was because you had PetGearDefaultInvSlotForBag=8 or 9, which are InvSlot for wrists, and i was thinking they were bag slots. Just keep doing what youre doing for the variable.
 +
 +
*<span class="highlight2">Archived notes - /commands</span> -  <span class="highlight">''PeteSampras'' @ 2012-10-31</span>
 +
Misc commands:
 +
New feature add in:
 +
/import [Section] [Level]
 +
ie.
 +
/import Buff 95
 +
 +
Posted latest version for importing and started + posted the Bot_Imports.ini so people can /import sections.
 +
 +
I wanted people to see the format that I wanted this in. I added a handful of things for a few classes as examples. Once people submit ini entries to me, I will add them. If anyone would like to mess around and test some examples to make sure it works for them and not just me, please do so and let me know the results. If a section cannot be imported because it doesnt exist, the macro should tell you.
 +
 +
Example import commands reminder:
 +
/import Buff 95
 +
 +
/import Pet 90
 +
 +
/import SelfBuff 95
 +
 +
Case sensitivity matters!
 +
 +
added: /import all level
 +
 +
/import all 95
 +
 +
This will import all available options from the Bot_Imports.ini for your class at the level you set. I put most the automatic ones as options, so it should get like 95% of what youd want to fix in your ini once we get all the examples done.
 +
 +
Went ahead and just added the /smob alias to add your current target to the stunimmunelist, put it in the /helpme listing, and added a stunimmunelist check for stuns.
 +
 +
 +
Command:
 +
/taskget
 +
 +
**Whatever phrase you say AFTER the command will get broadcast into EQBC, all characters in group and eqbc will /target your target, then repeat the phrase, then you will /say the phrase. There is a random timer up to 3 seconds between characters so that you dont all say it at the exact same time. I had this as a personal macro for a long time and never got around to putting it out since it was only 5 lines long.
 +
 +
Usage:
 +
/taskget badges? we don't need no stinkin' badges!
 +
 +
Result:
 +
All characters in group and EQBC do the following:
 +
/target your target
 +
/say badges? we don't need no stinkin' badges!
 +
then you:
 +
/say badges? we don't need no stinkin' badges!
 +
 +
Added for testing, in game type:
 +
/varset TestVariable 1
 +
 +
Typing that in game should now cycle in and out of Dot/Nuke/Stun/damage routines per spell that is cast instead of cycling through them all. (if you have 8 nukes, it casts one and goes to next routine, instead of casting 1-8 back to back). This will allow crowd control/survival/heal routines to cycle more often, hopefully increasing survivability.
 +
 +
*<span class="highlight2">Archived notes - by version</span> -  <span class="highlight">''PeteSampras'' @ 2012-10-31</span>
 +
 +
Posted new version.
 +
 +
[Disc]s will now still check, even if a disc is already running. However, a disc with a duration will not try to fire if a disc is currently running. Instant cast discs will fire if a disc is already running.
 +
 +
 +
posted 1.093 to fix the HealerSingleRecast error.
 +
 +
Added:
 +
[Merc]
 +
MercStanceOOC=Passive (will make your merc be passive when not in combat, default is blank. aka. same as current)
 +
 +
Added ${ValidSpellType} to [GoM], [Nuke], [Dot], and [Buff] routines so that it checks for valid .BodyType and checks if you have any required reagents to use the spell. Please let me know if anything is messed up for those routines. This replaces ${TestVariable}, so if you were testing for me, please delete that reference.
 +
 +
Added 15 second delay when zoning (including partial zone time, uses MMOBugs.ZoneSecs) before you start casting spells. This is to make it less obvious that you are botting. I can play with the time if needed.
 +
 +
Added 2 routines that can be used via [Custom] section for now. If they work, I will add them to normal macro.
 +
To use:
 +
[Custom]
 +
CustomRestTotal=1
 +
CustomRest1=/call Clarity
 +
 +
CustomCombatTotal=1
 +
CustomCombat1=/call DPS
 +
 +
-Clarity routine in case you want to use clarity potions. It will check your inventory for them, figure out the best, see if you have buff space and dont already have clarity, then use it.
 +
 +
-DPS routine is to figure out how much estimated time is left before the target dies. I made it for my necro mac years ago so that you wouldnt waste mana dotting a mob that would die soon, or so you could use the emerald essence proc nuke if the mob was about to die in the next 5 seconds. It is only an estimate, but i want to see if it works. It gives you access to the variable: ${FightTimer} You can then use this variable in your conditions to figure out if you want to perform certain actions. Maybe you dont want to debuff a mob if it is going to die in the next 10 seconds.
 +
 +
Added/corrected some misc command info in /helpme
 +
 +
Posted new version.
 +
 +
Added:
 +
____ConditionsX variable to all heals.
 +
 +
Special variables involved: ${Group.Member[${g}]}
 +
 +
Posted new version.
 +
 +
The attack routine hasnt had rigorously testing, and since that is the heart and soul of the macro, you may want to hold off for confirmation that it works, or make a backup of your current mac. I do need some people to test it though to make sure it is picking up targets ok and engaging correctly.
 +
 +
Added:
 +
[Settings]
 +
AttackRange=50
 +
AttackCommand=/killthis
 +
 +
AttackRange will determine the distance the mob has to be before engaging a mob on XTarget1. It will also affect using the AttackCommand for AssistType2/3. Previously, the AttackCommand was a hidden variable, and was defaulted to "/attack on". mq2melee is enhanced to do different discs and skills if you use /killthis. So by letting you choose which you want to do, you can increase your dps some. AttackRange ONLY affects AssistType=2 and AssistType=3 for now.
 +
 +
Options for AttackCommand= are: "/killthis", "/attack on", "/keypress z", or "/keypress q", or if you have changed your default keybinds, they are whatever you've changed them to.
 +
 +
 +
Posted new version.
 +
 +
Added some minor tweaks to Mages summoning petgear. i dont know that it entirely fixes it, but i think it will get it closer. I think the reason it was clicking the wrist was because you had PetGearDefaultInvSlotForBag=8 or 9, which are InvSlot for wrists, and i was thinking they were bag slots. Just keep doing what youre doing for the variable.
 +
 +
Posted new version. 1.101?
 +
 +
Added:
 +
[Settings]
 +
OpeningMove=
 +
 +
This will execute whatever command you put there prior to /call Attack. It will be the very first thing you do with the designated mob on your target.
 +
 +
For pet classes, i would suggest:
 +
OpeningMove=/pet attack
 +
 +
For knights:
 +
OpeningMove=/disc withstand
 +
(or whatever your current rune disc is)
 +
 +
You can use /multiline or /if statements, just like a holy/downshit.
 +
 +
Added:
 +
auto detect and usage of clarity potions if you are carrying them.
 +
[Mana]
 +
UseClarityPotions=FALSE
 +
 +
Removed:
 +
[Disc]
 +
OutOfCombatDiscName=
 +
UseOOCDiscAtMyEndPct=
 +
UseOOCDiscAtDistance=
 +
 +
Those no longer function and capabilities are replaced with OpeningMove=
 +
 +
Posted new version. 1.102
 +
 +
Added:
 +
 +
Auto detection of lower level clarity potions in case you run out of your highest level potion. Best remaining potion will be used.
 +
 +
Posted new version. 1.103
 +
 +
Added:
 +
[Pet]
 +
PetBuffRecast1=1s
 +
PetBuffRecast2=2m
 +
 +
 +
Posted new version. 1.105
 +
 +
Fixed self heal routine. I had changed a variable because there was an error, turns out there was a second error that broke the routine when i corrected the first error.
 +
 +
 +
Posted new version. 1.106
 +
 +
Changed:
 +
AE Mezzes triggering immune messages will now be ignored so that when they land on PCs it doesnt return FALSE positives. If you find your NPCs arent being mezzed, check the Mob_Ignore_List.ini to make sure nothing is incorrectly added. If it is, just delete it out.
 +
 +
Added: [Summon] section
 +
 +
Posted new version. 1.107
 +
Changed:
 +
Mercs will no longer try to use MercStanceOOC if you dont have one defined.
 +
 +
 +
Posted new version. 1.108
 +
 +
Changed:
 +
Changed it back to /call Summon
 +
 +
Posted new version. 1.109
 +
 +
Changed:
 +
-[Summon] section will now only check for exact SummonItemNameX matches instead of partials. This should alleviate issues for items like Warm Milk Dispenser summoning Warm Milk.
 +
 +
-Fixed rez crash above, hopefully.
 +
 +
Posted new version. 1.110
 +
 +
Added:
 +
[Settings]
 +
EmergencyAlias=Evac Now!
 +
EmergencySkill=Exodus
 +
ClearTargetDataAlias=resettarget
 +
 +
Set those to whatever you want, they are blank by default (turned off).
 +
EmergencyAlias=whatever phrase you put here will turn off attack/twist/interrupt spells, reset target data, and then fire the skill below
 +
EmergencySkill=aa/spell that is memmed/item/disc/ability - if it isnt ready, it just skips it.
 +
ClearTargetDataAlias=this phrase will clear your target, turn attack /twist / spell casting off and reset your target data in case you want to stop hitting the current target.
 +
 +
Changed:
 +
Less spam for item summoning, you should only get 1 message.
 +
 +
Posted new version. 1.111
 +
 +
Added:
 +
[Settings]
 +
OptionsCheckRaid=
 +
 +
If you are in a raid, it will use that list of routines instead. This should let you turn off Dot/Nukes/etc if you dont want them to be used on raids. Default will be same as OptionsCheck= . It wont take effect until the second time you use macro.
 +
 +
Reminder that if you want to control individual spells to cast while on a raid, you can use DotConditions1=!${Raid.Members} etc. Or you could make your DotTotal=${If[${Raid.Members},8,4]}, and it would only check on initial mac startup.
 +
 +
Changed:
 +
[Summon] if the spell name is an item, it will now use /itemnotify instead of /call Cast to avoid top levle inventory swapping
 +
 +
Posted new version. 1.112
 +
 +
Added:
 +
[Settings]
 +
InterruptToHealAt=30
 +
 +
That will now work for check for lifetaps too. Between each routine it will check Lifetap routine if your HP is at or below the amount you designate. The normal check every cycle for Lifetap routine is unaffected, so you will keep checking it as normal as well.
 +
 +
Corrected:
 +
Emergency events/variables had a typo because i forgot about something. Fixed.
 +
 +
Added for testing, in game type:
 +
/varset TestVariable 1
 +
 +
Typing that in game should now cycle in and out of Dot/Nuke/Stun/damage routines per spell that is cast instead of cycling through them all. (if you have 8 nukes, it casts one and goes to next routine, instead of casting 1-8 back to back). This will allow crowd control/survival/heal routines to cycle more often, hopefully increasing survivability.
  
 
==Availability==
 
==Availability==

Revision as of 06:39, 31 October 2012

Macro Info
Name Bot
Author PeteSampras
Link Wiki Link
Commands /mac Bot
Includes Yes
Uses INI File Yes
Required Plugins Yes


Description

Bot.Mac Macro for all classes (limited bard support). It should be a fully functional macro that uses all your skills/abilities/items and is customizable via .ini and in game commands.

Commands

  • /assisttype # - Changes assist type to 1, 2, 3, 4, 5
  • /toggle option - Toggles "option" on or off, ie. /toggle nuke, /toggle aa, /toggle dot
  • /options - shows current options

Clickies:

  • /addclicky < item link > - adds clicky to maintain
  • /removeclicky < item link > - removes clicky from maintaing
  • /clicky - toggles maintainence of clickies

IgnoreList related:

  • /imob - adds current target to ignoremob list
  • /cmob - adds current target to coldimmune list
  • /dmob - adds current target to diseaseimmune list
  • /fmob - adds current target to fireimmune list
  • /mmob - adds current target to magicimmune list
  • /pmob - adds current target to poisonimmune list
  • /smob - adds current target to stunimmune list

Camp related:

  • /campon - turns leash mode on
  • /campoff - turns leash mode off
  • /ame - anchors you at current spot

MQ2NavFollow related:

  • /navfollow - toggles autofollowing of designated PC

SummonTank related:

  • /sumtank - toggles summon tanking for current target

Special commands:

  • invison - uses invis
  • ivuon - uses invis vs undead
  • invisoff - removes invis/ivu
  • splashp - splashes with paladin
  • splashc - splashes with cleric
  • /trusted name - Adds name to trusted rez list
  • /LootNPCs - toggles on and off looting
  • /offtank - toggles whether or not you want to offtank mobs in event of no enc/bard or unmezzable mob

Pulling related:

  • /puller - toggles whether or not you are puller
  • /pullingmethod - toggles pulling method between MQ2Navigation and MQ2AdvPath
  • /paths x - sets the amount of paths to x number. ie. /paths 3


  • /addcamp name - adds a camp to zone with that name
  • Then target al the mobs you want to add to camp
  • /stopcamp - stops creating the new camp
  • /startcamp name - starts camp with that name


  • [Imports] to import a section, use the following format (Case Sensitive): /import Section Level
  • /import Buff 95

To attempt to import all created sections:

  • /import all 95

Includes

  • spell_routines.inc - Used for casting.

Required Plugins

  • MQ2Moveutils - Used for movement.

Configuration

Initial set up:
1. Set up your group puller/tank as intended.
2. Set XTarget1 to your main tank/assist target.
3. /mac bot load
4. This will create an ini in your macros folder: Name_class.ini
5. Edit the ini to desired settings. Note that AAs, Auras, Discs, SelfBuffs, Buffs are set to FALSE by default to prevent issues. Also note that ALL pet information must be done manually for now. Ensure SpellIcon names are correct. For group Buffs they will almost certainly be wrong. I suggest using single target buffs for best results and most efficiency. (make sure to edit to proper classes)

Sample Configuration

Macro Template.ini

[Settings]
LootNPCs=FALSE
BotVersion=v1.53
AssistType=3
AssistPC=PeteSampras
AssistAt=98
UseMelee=FALSE
UseArchery=FALSE
ArcheryMaxDistance=200
ArcheryMinDistance=35
SetTargetMessage=KillTarget->
OptionsCheck=|AA|AddHandler|MQ2AdvPathFollow|Aura|AutoClickies|Camp|ClickyMaintenance|ClickyNuke|Debuff|Dot|Fade|FightBuff|Heal|MainTankBuff|MQ2NavFollow|Nuke|Pet|Rez|XHeal|
UseCamp=TRUE
CampRadius=30
CampRadiusMax=150
Verbose=TRUE
MyChannel=bc
EQBCAnnounceAdds=FALSE
AutoHideNPCCorpses=FALSE
InterruptToXHealAt=50
InterruptToHealAt=50

[ImHit]
ImHitTotal=2
ImHitUse1=TRUE
ImHitSpellName1=Spiritual Blessing
ImHitUseAtMyHP1=50
ImHitConditions1=

ImHitUse2=TRUE
ImHitSpellName2=Ancestral Guard
ImHitUseAtMyHP2=80
ImHitConditions2=

[Follow]
MQ2NavFollowCommand=lets go
NameToFollow=PeteSampras
DistanceToFollow=50
AutoFollow=FALSE
FollowCheck=1
MQ2AdvPathFollowCommand=Follow
MQ2AdvPathStopFollowCommand=Stop 

[Custom]
CustomCombatTotal=1
CustomRestTotal=1
CustomCombat1=/if (${Group.Min}<10 && ${Spawn[group wiz]} && !${Spawn[group clr]}) /bc EVACNOW
CustomRest1=/if (!${Me.Pet.ID}) /call SummonPetWeapons

[Pulling]
AmIPuller=FALSE
PullRadius=200
MQ2NavPullRadius=10
PullingMethod=MQ2Navigation
PullingAnnounceCMD=NULL
PullingTotal=1
PullAtMyHPs=75
PullSkillName1=Boastful Bellow
PullSkillRequiresLineOfSight1=TRUE
PullSkillDistance1=250
PullSkillSummon1=
PullSkillName2=
PullSkillRequiresLineOfSight2=TRUE
PullSkillDistance2=
PullSkillSummon2=

[Roles]
SetRoles=FALSE
GroupLeader=PeteSampras
GroupMainTank=Fry
GroupMainAssist=htw
GroupPuller=PeteSampras
GroupXTarget1=Group Assist Target
RaidXTarget1=Raid Assist 1 Target

[Fade]
FadeTotal=1
FadeUse1=FALSE
FadeSpellName1=Inconspicuous Totem
FadeConditions1=
FadeSpellGem1=alt
FadeUseAtMyHP1=5

[Debuff]
DontDebuffConColor=|GREY|GREEN|
DebuffAdds=TRUE
DebuffTotal=3
DebuffTotalIfNamed=3
ForceMemDebuff=FALSE

DebuffUse1=TRUE
DebuffSpellName1=Turgur's Swarm
DebuffConditions1=
DebuffSpellGem1=alt
DebuffUseAtMobPctHP1=96
DebuffStopAtMobPctHP1=1
DebuffRecast1=2m
DebuffMaxTries1=2

DebuffUse2=TRUE
DebuffSpellName2=Malosinete
DebuffConditions2=
DebuffSpellGem2=alt
DebuffUseAtMobPctHP2=96
DebuffStopAtMobPctHP2=1
DebuffRecast2=2m
DebuffMaxTries2=2

DebuffUse3=TRUE
DebuffSpellName3=Pathosis
DebuffConditions3=
DebuffSpellGem3=alt
DebuffUseAtMobPctHP3=96
DebuffStopAtMobPctHP3=1
DebuffRecast3=2m
DebuffMaxTries3=2

[XHeal]
XHealPullerName=PeteSampras
XHealPullerDist=50
XHealTotal=2

XHealUse1=TRUE
XHealSpellName1=Gotikan's Mending
XHealSpellGem1=gem9
XHealUseAt1=50
XHealStopAt1=90

XHealUse2=TRUE
XHealSpellName2=Reckless Remedy
XHealSpellGem2=gem12
XHealUseAt2=50
XHealStopAt2=90

[HealSelf]
HealSelfTotal=1
HealSelfUse1=TRUE
HealSelfSpellName1=Gotikan's Mending
HealSelfSpellGem1=
HealSelfUseAt1=30
HealSelfStopAt1=90

[HealGroup]
HealGroupTotal=2

HealGroupUse1=TRUE
HealGroupSpellName1=Progenitor's Intervention
HealGroupSpellGem1=gem11
HealGroupUseAt1=50
HealGroupStopAt1=80
HealGroupAvgHP1=60

HealGroupUse2=TRUE
HealGroupSpellName2=Gotikan's Recourse
HealGroupSpellGem2=gem12
HealGroupUseAt2=50
HealGroupStopAt2=80
HealGroupAvgHP2=60

[HealSingle]
HealPullerName=PeteSampras
HealPullerDist=50
HealSingleTotal=3

HealSingleUse1=TRUE
HealSingleSpellName1=Union of Spirits
HealSingleConditions1=
HealSingleSpellGem1=alt
HealSingleUseAt1=80
HealSingleStopAt1=90

HealSingleUse2=TRUE
HealSingleSpellName2=Gotikan's Mending
HealSingleSpellGem2=gem9
HealSingleUseAt2=80
HealSingleStopAt2=90

HealSingleUse3=TRUE
HealSingleSpellName3=Reckless Remedy
HealSingleSpellGem3=gem12
HealSingleUseAt3=80
HealSingleStopAt3=90

[HealPet]
HealPetTotal=2

HealPetUse1=TRUE
HealPetSpellName1=Gotikan's Mending
HealPetSpellGem1=gem9
HealPetUseAt1=50
HealPetStopAt1=90

[MainTankBuff]
MainTankBuffTotal=4

MainTankBuffUse1=TRUE
MainTankBuffSpellName1=Spirit Guardian
MainTankBuffConditions1=
MainTankBuffSpellGem1=alt
MainTankBuffUseAt1=100
MainTankBuffStopAt1=5
MainTankBuffNamedOnly1=FALSE
MainTankBuffRecast1=5m

MainTankBuffUse2=TRUE
MainTankBuffSpellName2=Apathy
MainTankBuffSpellGem2=gem1
MainTankBuffUseAt2=100
MainTankBuffStopAt2=5
MainTankBuffNamedOnly2=FALSE
MainTankBuffRecast2=8m
MainTankBuffConditions2=

MainTankBuffUse3=TRUE
MainTankBuffSpellName3=Halcyon Breath
MainTankBuffSpellGem3=gem8
MainTankBuffUseAt3=100
MainTankBuffStopAt3=5
MainTankBuffNamedOnly3=FALSE
MainTankBuffRecast3=1m
MainTankBuffConditions3=

MainTankBuffUse4=TRUE
MainTankBuffSpellName4=Talisman of the Lion
MainTankBuffSpellGem4=gem12
MainTankBuffUseAt4=100
MainTankBuffStopAt4=5
MainTankBuffNamedOnly4=FALSE
MainTankBuffRecast4=1m
MainTankBuffConditions4=

[FightBuff]
FightBuffTotal=1
ForceMemFightBuff=TRUE

FightBuffUse1=TRUE
FightBuffSpellName1=Ward of Reconstruction
FightBuffSpellGem1=gem10
FightBuffSpellIcon1=Ward of Reconstruction
FightBuffNamedOnly1=FALSE
FightBuffForAggro1=FALSE
FightBuffConditions1=

[AA]
AATotal=20

AAUse1=TRUE
AASpellName1=Spirit Call
AAUseAtMobPctHP1=96
AAStopAtMobPctHP1=5
AARecast1=1s
AAUseAtMyHP1=100
AANamedOnly1=FALSE
AAIfNearby1=npc
AAIfNearbyAmt1=1
AAConditions1=

AAUse2=TRUE
AASpellName2=Languid Bite
AAUseAtMobPctHP2=96
AAStopAtMobPctHP2=5
AARecast2=1s
AAUseAtMyHP2=100
AANamedOnly2=FALSE
AAIfNearby2=npc
AAIfNearbyAmt2=1
AAConditions2=

AAUse3=TRUE
AASpellName3=Dampen Resistance
AAUseAtMobPctHP3=96
AAStopAtMobPctHP3=5
AARecast3=1s
AAUseAtMyHP3=100
AANamedOnly3=FALSE
AAIfNearby3=npc
AAIfNearbyAmt3=1
AAConditions3=

AAUse4=TRUE
AASpellName4=Fundament: First Spire of Ancestors
AAUseAtMobPctHP4=96
AAStopAtMobPctHP4=5
AARecast4=1s
AAUseAtMyHP4=100
AANamedOnly4=TRUE
AAIfNearby4=npc
AAIfNearbyAmt4=1
AAConditions4=

AAUse5=FALSE
AASpellName5=Rabid Bear
AAUseAtMobPctHP5=96
AAStopAtMobPctHP5=5
AARecast5=1s
AAUseAtMyHP5=100
AANamedOnly5=FALSE
AAIfNearby5=npc
AAIfNearbyAmt5=1
AAConditions5=

[GoM]
GoMTotal=0
GoMTotalIfNamed=0
GoMUse1=TRUE
GoMSpellName1=
GoMSpellIcon1=
GoMSpellGem1=

[Dot]
DotTotal=4
DotTotalIfNamed=5
ForceMemDot=TRUE

DotUse1=TRUE
DotSpellName1=Poanag's Pandemic
DotSpellGem1=gem3
DotUseAtMobPctHP1=96
DotStopAtMobPctHP1=1
DotRecast1=1s
DotMaxTries1=2
DotConditions1=

DotUse2=TRUE
DotSpellName2=Nectar of Sholoth
DotSpellGem2=gem6
DotUseAtMobPctHP2=96
DotStopAtMobPctHP2=1
DotRecast2=1s
DotMaxTries2=2
DotConditions2=

DotUse3=TRUE
DotSpellName3=Hoodoo
DotSpellGem3=gem2
DotUseAtMobPctHP3=96
DotStopAtMobPctHP3=1
DotRecast3=1s
DotMaxTries3=2
DotConditions3=

DotUse4=TRUE
DotSpellName4=Naeya Blood
DotSpellGem4=gem4
DotUseAtMobPctHP4=96
DotStopAtMobPctHP4=1
DotRecast4=1s
DotMaxTries4=2
DotConditions4=

DotUse5=TRUE
DotSpellName5=Stranglefang's Venom
DotSpellGem5=gem7
DotUseAtMobPctHP5=96
DotStopAtMobPctHP5=1
DotRecast5=1s
DotMaxTries5=2
DotConditions5=

[Nuke]
NukeTotal=1
NukeTotalIfNamed=1
ForceMemNuke=FALSE

NukeUse1=TRUE
NukeSpellName1=Bite of the Grendlaen
NukeSpellGem1=gem12
NukeUseAtMobPctHP1=96
NukeStopAtMobPctHP1=1
NukeRecast1=1s
NukeConditions1=

[ClickyNuke]
ClickyNukeTotal=2

ClickyNukeName1=Blessed Spiritstaff of the Heyokah
ClickyNukeConditions1=
ClickyNukeSpellGem1=item
ClickyNukeRecast1=1s
ClickyNukeUseAtMobPctHP1=96
ClickyNukeStopAtMobPctHP1=1
ClickyNukeNamedOnly1=FALSE

ClickyNukeName2=Grandiose Coat of the Diviner
ClickyNukeConditions2=
ClickyNukeSpellGem2=item
ClickyNukeRecast2=1s
ClickyNukeUseAtMobPctHP2=96
ClickyNukeStopAtMobPctHP2=1
ClickyNukeNamedOnly2=FALSE


[Rez]
GrabCorpse=TRUE
RezTotal=2
ForceMemRez=FALSE
RezUse1=TRUE
RezSpellName1=Call of the Wild
RezConditions1=
RezSpellGem1=alt
RezDuringCombat1=TRUE
RezUse2=TRUE
RezAlias1=|shmrez|

RezTrustedTotal=5
RezTrusted1=PeteSampras
RezTrusted2=htw
RezTrusted3=Fry
RezTrusted4=kkthx
RezTrusted5=Xeniaz
RezRaidTimer=5m
GroupRaidTimer=1m

[Mana]
MedAt=75
MedToFull=FALSE
MedEvenIfNotInOOCRegen=FALSE
MedTimer=10s
Canni_IfManaBelow=70
DontCanni_UnlessManaBelow=90
Canni_IfMyHPAbove=70

[Aura]
AuraTotal=2
AuraUse1=TRUE
AuraSpellName1=Aura of the Pious
AuraSpellGem1=gem12
AuraSpellIcon1=Aura of the Pious Effect
AuraName1=Aura of the Pious
AuraUse2=TRUE
AuraSpellName2=Circle of Divinity Rk. II
AuraSpellGem2=gem12
AuraSpellIcon2=Divinity Effect
AuraName2=Circle of Divinity

[SelfBuff]
SelfBuffTotal=4

SelfBuffUse1=TRUE
SelfBuffSpellName1=Pact of the Wolf
SelfBuffSpellIcon1=Pact of the Wolf
SelfBuffConditions1=
SelfBuffSpellGem1=alt

SelfBuffUse2=TRUE
SelfBuffSpellName2=Preincarnation
SelfBuffSpellIcon2=Preincarnation
SelfBuffConditions2=
SelfBuffSpellGem2=alt

SelfBuffUse3=TRUE
SelfBuffSpellName3=Pack of Hilnaah
SelfBuffSpellIcon3=Pack of Hilnaah Rk. II
SelfBuffSpellGem3=gem10
SelfBuffConditions3=!${Me.Song[Mana Repercussion II].ID}

SelfBuffUse4=TRUE
SelfBuffSpellName4=Talisman of Kolos' Unity
SelfBuffSpellIcon4=Imperative Focusing Rk. II
SelfBuffSpellGem4=gem7
SelfBuffConditions4=

[Buff]
InvisSpell=Group Silent Presence
InvisSpellGem=alt
InvisUndeadSpell=
InvisUndeadSpellGem=
BuffTotal=6

BuffUse1=TRUE
BuffSpellName1=Group Pact of the Wolf
BuffSpellIcon1=Group Pact of the Wolf
BuffConditions1=
BuffSpellGem1=alt
BuffClasses1=BER,BRD,BST,CLR,DRU,ENC,MAG,MNK,NEC,PAL,RNG,ROG,SHD,SHM,WAR,WIZ
BuffAlias1=|

BuffUse2=TRUE
BuffSpellName2=Communion of the Cheetah
BuffSpellIcon2=Communion of the Cheetah
BuffConditions2=
BuffSpellGem2=alt
BuffClasses2=|
BuffAlias2=|cheetah|

BuffUse3=TRUE
BuffSpellName3=Talisman of Celerity
BuffSpellIcon3=Talisman of Celerity
BuffConditions3=!${Spawn[group enc].ID}
BuffSpellGem3=gem7
BuffClasses3=PAL,RNG,BRD,SHD,WAR|
BuffAlias1=|haste|

BuffUse4=TRUE
BuffSpellName4=Unity of Kolos
BuffSpellIcon4=Mammoth's Force Rk. II
BuffIconAlt4=Mammoth's Force Rk. III
BuffSpellGem4=gem7
BuffClasses4=BER,BRD,BST,CLR,DRU,ENC,MAG,MNK,NEC,PAL,RNG,ROG,SHD,SHM,WAR,WIZ

BuffUse5=TRUE
BuffSpellName5=Talisman of the Indomitable
BuffSpellIcon5=Talisman of the Indomitable Rk. II
BuffSpellGem5=gem7
BuffClasses5=BER,BRD,BST,CLR,DRU,ENC,MAG,MNK,NEC,PAL,RNG,ROG,SHD,SHM,WAR,WIZ

BuffUse6=FALSE
BuffSpellName6=Talisman of Kolos' Unity
BuffSpellIcon6=Talisman of Kolos' Unity Rk. II
BuffSpellGem6=gem6
BuffClasses6=BER,BRD,BST,CLR,DRU,ENC,MAG,MNK,NEC,PAL,RNG,ROG,SHD,SHM,WAR,WIZ

[Pet]
UsePet=TRUE
PetSpell=Hilnaah's Faithful Rk. II
PetSpellGem=gem10
UsePetFocusAA=TRUE
PetAttackAt=97
ShrinkPet=TRUE
ShrinkPetIfHeightAbove=2.1
ShrinkPetSpell=Shrink
ShrinkPetSpellGem=alt
DoPetHeals=TRUE
PetHealAt=50
PetHealSpell=Gotikan's Mending
PetHealSpellGem=gem9
UseAAPetHeal=TRUE
PetAAHealAt=20
DoPetBuffs=TRUE
PetBuffRecheck=10s
PetBuffTotal=1
PetBuffName1=Imperative Focusing Rk. II
PetBuffSpell1=Unity of Kolos
PetBuffGem1=gem7
PetBuffName2=Fortify Companion
PetBuffSpell2=Fortify Companion
PetBuffGem2=alt

[ClickyMaintenance]
clickies=5
click1=Brilliant Band of Arcane Knowledge
click2=Excrucidator's Black Silken Sash
click3=Drake of Pure Nature
click4=Chattering Nymph Rod
click5=Bronze Ringmail Spaulders

[Merc]
MercAssistAt=97
MercStanceNormal=Burn
MercStanceNamed=Balanced

Configuration Explanation

  • BuffTotal=1 - : The macro checks for 1 buff.

Pulling

Commands

Commands you need to know:

/puller - toggles you as puller or not, regardless of Group.Puller settings
/pullingmethod - toggles between mq2navigation and mq2advpath pulling
/paths x - sets the number of paths you will randomly use for AdvPath.

Example

How to use example that i want to call "center":

/addcamp center
*if you were using mq2navigation for this camp, you would target a bunch of mobs via map at this point until you targeted all you wanted to pull
/stopcamp

For mq2avpath: (YOU MUST START AT 0 FOR PATH NAMES)

/record center0
*run your path starting at group, and finishing at group.
/record save center0
/record center1
*run a different path starting at group, and finishing at group.
/record save center1
/startcamp center

(if you only make 1 path, you dont need to do /paths, extra paths are just for randomness, and so that you can do smaller paths for distinct areas) /paths 2

it will now randomly run center0, or center1, and target the nearest mob. once that mob is in line of sight, it will aggro it via your pullingskill and head back to group.

I know that is a lot to take in, but once you use it a couple times its not bad. At any rate, from very, very limited testing, it was working for me on a bard.

MQ2AdvPath wiki for full list of commands in that plugin: MQ2AdvPath

Version History

  • Archived notes by [section] - PeteSampras @ 2012-10-31 -

[Section] info


[Merc] Will auto revive any merc. you can set what % for mob to assist at if you set it to manual assist mode. can define different stances for named vs regular mobs.

[Setrole] Will set your group puller, tank, assist, leader for you. Will set your XTarget1 as Group Assist Target or Raid Assist 1 Target as you change from in or out of raids. it will only change it once so it doesnt spam you if you manually change it to something else.

[Settings] InterruptToHealAt=60 InterruptToXHealAt=60 Added checks to Heal/XHeal/Lifetap if you are casting dots, stuns, nukes, buffs, fightbuffs, maintankbuffs and you/groupmate PctHPs fall below that amount.

[Settings] ImmunityCheck=TRUE ImmunityCheck will check your poison/disease/magic/fire/cold immunity lists and not use that nuke or dot if the mob is flagged as immune.

[Settings] AutoHideNPCCorpses=FALSE


[Custom] CustomCombat1=/call Pikachu During the Always routine will /call Pikachu

if you want to #include some other include and add it to the Always, Combat, or Rest loop, just add the name of the routine you want to call.

[Mana] Medtimer=10s Delay before /sitting to med after combat, default is 10s

[Settings] Verbose=TRUE/FALSE MyChannel=bc/tell/group/rsay/channel

[Mana] DontCanni_UnlessMyManaBelow=95 (for shaman) DontHarvest_UnlessMyManaBelow=95 (for wizard)

Added support for mana dumps from beastlords, enchanters, clerics into the macro. The ini already had the settings for them. (paragon, focused paragon, second spire enc, quiet miracle cleric)

[Pull] Pulling section for MQ2Navigation for lifetimers

Added some checks to pulling routines and /face if you are throwing/using a bow. Also made it only try to throw/bow at a mob for 6 seconds before moving onto next, and had it strafe left/right to try to see the mob if there is a tree or something in the way.

new commands: /puller - toggles whether you are puller (or if you are set as puller in group, then it is set as TRUE)

How to create and use camps: 1. /addcamp name - adds a camp to the zone with that name 2. Target all mobs via map or manually target to add them to camp 3. /stopcamp - stops adding mobs to camp

From then on: 4. /startcamp name - starts pulling mobs from designated camp with that name

And while i was at it, i went ahead and stopped it from blocking you from being able to set up a camp for both mq2navigation and mq2advpath at the same time.

So now you can: /addcamp potato /target all the mobs in the area you want to kill via map or manually /stopcamp

/record potato0 run around your camp /record save potato0

/record potato1 run around your camp area in a different route /record save potato1

and now you have both an mq2navigation and mq2advpath version of the same camp. and you can toggle between using the 2 if you are lifetime member via /pullingmethod

Posted new version. Turns out MQ2Navigation and MQ2AdvPath input strings werent compatible.

These are the same: /addcamp /stopcamp

for MQ2AdvPath startcamp: /starcamp name 2

for MQ2Navigation startcamp: /startcampnav name

[Campfire] UseCampfire=TRUE CampfireName=Super Campfire CF_Item1=Fellowship Kit: Super Awesome CF_Item2=Fellowship Lumber Bundle: Light Brown Oak

Posted new version for non-lifetimers, removing autoload of mq2navigation. /campfire

That will toggle on and off of automatically dropping a campfire if eligible when you enter combat. You can use standard or custom campfires. If using custom, you have to define the name and the components required.


[All] Added new variable "Conditions" to the following routines:

AA, ClickyNuke, Debuff, Disc, Dot, FightBuff, ImHit, MainTankBuff, Nuke, SelfBuff, Stun

You will need to reload the sections from scratch to get the variable to declare automatically in your ini. Sorry, not much i can do about that. Alternatively, you can just add in DotConditions1, NukeConditions3, etc manually to the ones you want special conditions for.

Example of what it does: NukeConditions1=${Me.Buff[Twincast].ID} && ${SpawnCount[npc radius 40]}>3 && !${Spawn[group cleric].ID}

that would only fire nuke1 if you had twincast on, there were more than 3 npc nearby, and there were no clerics in your group alive. just as an example.

Use the normal syntax that you would use for a holyshit/downshit. If there are other routines that need "Conditions" variable added, let me know. The others seemed ok without it though.

      • IF YOU DO NOT WANT ANY SPECIAL CONDITIONS, LEAVE IT BLANK

Fixed "Conditions" setting for variables.

Added some checks to significantly speed up the macro if you set things you dont use to FALSE in the ini. it will now skip all the checks for them if they are set to FALSE, which could potentially up to double the cycle speed for someone level 95 with max spells/AAs.

[Bard] Fixed display issue for bard Orb of Tishan and Slow that it didnt /echo properly.

[Settings] AssistType=5 - allowing you to target your own prioritized mobs. Must use AddHandler for it to work

[Fade] allows you to fade at designated HP and conditions

[HealPet] Allows you to specifically designate heals for pets

[Settings] -Corrected AssistType1 to only /attack when at or below the AttackAt amount.

[HealBalance] -Cleric shields now use /itemnotify so it doesnt try to swap shield into a top level inv slot

[Settings] -AssistType5, allowing you to target your own prioritized mobs. Must use AddHandler for it to work --Can use your own name or "self", /mac bot self, or /mac bot PeteSampras

-[Fade] section to allow you to fade at designated HP and conditions. Uses AA fades only. Conditions line to set whatever you want

-[HealPet] section to allow you to specifically designate heals for pets 2 heals for heal classes. 6 for mag/nec/bst

[Custom] CustomCombat, CustomRest, to make macro specific holy/downshits, or /calling of external routines --literally checks the line you put there just like a holy or downshit: ---/call WaitForRez ---/if (${Me.PctHPs}<20) /echo hi

[Disc] DiscIfNearbyAmtX line had a typo. Discs should work now, but you need to reload your ini section for discs

[Pet] If you had a rk2/3 pet buff in spellbook, and the rank 1 AA, it would try to make it rank2/3 even if using the AA. If you want to use the rk2/3, specifically put Rk. II or Rk. III at the end for the spells you have exact name AA versions of.

[Settings] AutoBreakInvis=FALSE

This should bypass the invis check for attacking if you set it to TRUE.

[Setroles] Uses normal eq command of /xtarget instead of mq2 command of /setrole, this should stop XTarget1 from being buggy. I still need someone to confirm for me how to set it to Auto Hater. "/xtarget set 1 AutoHater" may or may not work.

[Settings] -Modified AssistType5 (self targeting) to use either AddHandler or to just use XTargets. Using XTargets should make it more efficient, especially if your tank instance is running in the background on computer. -Modified AssistType5 to change all of your XTargets to Auto Hater if they are not already. -fixed typo in AssistType5

[Root] FaceNPCToRoot=FALSE

if set to true, you will /face before casting root.

[Root] section is attempted before [Debuff] section now for crowd control purposes. Added second layer of checks for primary target on debuff/root. It should already have worked as is due to ID check, but now theres another layer of checks anyway.

[Pet] -support for auto-summoning and/or equipping pet weapons -you define your own variables in game or via ini - CASE SeNsItIvE. if you add in game, you MUST use the item link and use the word "add". usage to add: /petgear add|alias|< link of item > usage to equip: /petgear alias|alias|alias example: /petgear add|wind|Summoned: Weapon of Wind /petgear add|ice|Summoned: Weapon of Ice /petgear add|belt|Summoned: Belt of Awesomesauce

Then whenever you want those given to pet: /petgear wind|ice|belt

PetGearDefaultAlias=fire|ice|belt|mask

    • This will try to auto load these items you've defined when you create pet if it isnt holding anything already. i dont know how this affects necro pets that hold a scythe.

mages only: PetGearSpellName=name PetGearSpellGem=gem5 PetGearDefaultInvSlotForBag=10

[HealSingle] HealSingleRecast1=18s (or whatever number,reuse time you want, default is 0)

This will place a reuse timer on the individual you are casting the single heal on, NOT on the spell itself. So if you put 18s reuse, it is by group member. This should allow you to do single target HoTs.

    • It will load with /mac bot load if you delete your old [HealSingle] section or on a fresh load, or you can just manually add that to the INI for any heal you want to have a recast timer.

posted 1.093 to fix the HealerSingleRecast error.


[Disc]s will now still check, even if a disc is already running. However, a disc with a duration will not try to fire if a disc is currently running. Instant cast discs will fire if a disc is already running.

[Merc] MercStanceOOC=Passive (will make your merc be passive when not in combat, default is blank. aka. same as current)

[Custom] CustomRestTotal=1 CustomRest1=/call Clarity

CustomCombatTotal=1 CustomCombat1=/call DPS

-Clarity routine in case you want to use clarity potions. It will check your inventory for them, figure out the best, see if you have buff space and dont already have clarity, then use it.

-DPS routine is to figure out how much estimated time is left before the target dies. I made it for my necro mac years ago so that you wouldnt waste mana dotting a mob that would die soon, or so you could use the emerald essence proc nuke if the mob was about to die in the next 5 seconds. It is only an estimate, but i want to see if it works. It gives you access to the variable: ${FightTimer} You can then use this variable in your conditions to figure out if you want to perform certain actions. Maybe you dont want to debuff a mob if it is going to die in the next 10 seconds.


[Heal_____] sections Heal___ConditionsX variable to all heals.

Special variables involved: ${Group.Member[${g}]}

[Settings] AttackRange=50 AttackCommand=/killthis

AttackRange will determine the distance the mob has to be before engaging a mob on XTarget1. It will also affect using the AttackCommand for AssistType2/3. Previously, the AttackCommand was a hidden variable, and was defaulted to "/attack on". mq2melee is enhanced to do different discs and skills if you use /killthis. So by letting you choose which you want to do, you can increase your dps some. AttackRange ONLY affects AssistType=2 and AssistType=3 for now.

Options for AttackCommand= are: "/killthis", "/attack on", "/keypress z", or "/keypress q", or if you have changed your default keybinds, they are whatever you've changed them to.

[Settings] OpeningMove=

This will execute whatever command you put there prior to /call Attack. It will be the very first thing you do with the designated mob on your target.

For pet classes, i would suggest: OpeningMove=/pet attack

For knights: OpeningMove=/disc withstand (or whatever your current rune disc is)

You can use /multiline or /if statements, just like a holy/downshit.

[Mana] UseClarityPotions=FALSE Auto detection of lower level clarity potions in case you run out of your highest level potion. Best remaining potion will be used.

Removed: [Disc] OutOfCombatDiscName= UseOOCDiscAtMyEndPct= UseOOCDiscAtDistance=

Those no longer function and capabilities are replaced with OpeningMove=

[Pet] PetBuffRecast1=1s PetBuffRecast2=2m


[HealSelf] Fixed self heal routine. I had changed a variable because there was an error, turns out there was a second error that broke the routine when i corrected the first error.

[Mez][AEMez][PBAEMez] AE Mezzes triggering immune messages will now be ignored so that when they land on PCs it doesnt return FALSE positives. If you find your NPCs arent being mezzed, check the Mob_Ignore_List.ini to make sure nothing is incorrectly added. If it is, just delete it out.

[Summon] section added

[Merc] Mercs will no longer try to use MercStanceOOC if you dont have one defined.

[Summon] section will now only check for exact SummonItemNameX matches instead of partials. This should alleviate issues for items like Warm Milk Dispenser summoning Warm Milk.

[Settings] EmergencyAlias=Evac Now! EmergencySkill=Exodus ClearTargetDataAlias=resettarget

Set those to whatever you want, they are blank by default (turned off). EmergencyAlias=whatever phrase you put here will turn off attack/twist/interrupt spells, reset target data, and then fire the skill below EmergencySkill=aa/spell that is memmed/item/disc/ability - if it isnt ready, it just skips it. ClearTargetDataAlias=this phrase will clear your target, turn attack /twist / spell casting off and reset your target data in case you want to stop hitting the current target.

[Rez] Fixed rez crash above, hopefully.

[Summon] Less spam for item summoning, you should only get 1 message. if the spell name is an item, it will now use /itemnotify instead of /call Cast to avoid top levle inventory swapping

[Settings] OptionsCheckRaid=

If you are in a raid, it will use that list of routines instead. This should let you turn off Dot/Nukes/etc if you dont want them to be used on raids. Default will be same as OptionsCheck= . It wont take effect until the second time you use macro.

Reminder that if you want to control individual spells to cast while on a raid, you can use DotConditions1=!${Raid.Members} etc. Or you could make your DotTotal=${If[${Raid.Members},8,4]}, and it would only check on initial mac startup.

[Settings] InterruptToHealAt=30

That will now work for check for lifetaps too. Between each routine it will check Lifetap routine if your HP is at or below the amount you designate. The normal check every cycle for Lifetap routine is unaffected, so you will keep checking it as normal as well.

Corrected: Emergency events/variables had a typo because i forgot about something. Fixed.


  • Archived notes - hidden info - PeteSampras @ 2012-10-31

Hidden features: posted a new version, it now checks to see if you have a small, medium, or large mod rod and it also checks to see that if you have the large mod rod AA, it wont cast the medium, and if you have anything more than the small, it wont cast the small.

Posted new version for aura fix and change to Free Target splash casts. Your screen may appear to blink for a split second.

Added: Enc auto summons Azure and Sanguine crystals if above 95% mana. Enc uses heal crystal at 50% Enc uses mana crystal at 75%

Added bard support for AE Mez, tash orb, slow, clickynukes, selfbuffs, auras while /twisting.

It doesnt set up twist for you, you need to manually /twist 1 2 3 4 or whatever your song line up is, then it will handle it from there.

Posted new version so default value on MQ2NavFollowCommand when you /mac bot load is now your charname + a random series of numbers so there are no accidental triggers.


-Looters should no longer try to loot with anything on XTarget. -Melee/hybrid using AssistType2 should no longer get hung up targeting themselves and refuse to assist -If you target yourself for an ImHit, you should now retarget your original target -Fixed an errant variable not defined message for Snare. -i forget the rest because i drank last night

-Added PC check for /afolow, and /navi so you are less likely to follow warders around. -Added ${MMOBugs.FreeBuffs} check for self buffs and clickies to make sure you actually have room -Fixed so "Conditions" variable now loads for autodetected AAs (however, some routines that dont have conditions may now appear to, so i will add conditions into those routines as i find them. I think jolt was one of those)

-Macro will force you to load if it is your first time running the macro. You know who you are. -Added auto check for pulling for if it is an clicky/spell/aa/disc/ability (but i didnt actually add a place in for the ability like kick yet because i need to figure out the distance they work at. -spells should detect correct for characters under level 10 -fixed some other small stuff.

-Changed /face fast to /face, can change back if needed -Removed (hopefully), targeting of corpses automatically. -auto summon and inventory chalandria's fang if you have one

Discs should work a little better for you (at all)

Xeniaz found some bugs. Fixed them. Campfires should work. CustomCombat and CustomRest should work. ClickyMaintenance should no longer keep sending things to your ini if you have clickies=0

- You should now clear target if you are in attack cycle and targeting a pet or a group mate -Xeniaz wrote a version of the modbot looting routine. It gives you a bunch of loot settings. I am blindly adding it based on his suggestion and removing the ninjadvloot.inc. the new settings will look like so:

Per request. Pets now use /pet ghold instead of /pet hold

-Mounts should no longer try to summon more than 1 time when using mounts as an /addclicky --Additionally, you should received an /echo say the zone is indoors

-Fade fix - hopefully fade will work now. was missing 2 }

Changed /pet ghold to /pet ghold on Removed requirement to summon for items if only 1 is left to pull with (rangers + endless quiver only need 1)

Xeniaz fixed INI related issue with looting not working.

Fixed double declare message for XHeal section. Puller range should now recognize correctly.

non-detrimental spells will ignore distance checks in most offensive routines now.

-Added Free Target spell casting ability to Debuffs and all heals (HealSplash already had it)

-Modified "invisoff" by adding the functionality to store current target, /target clear, /attack on, /attack off, /target stored target. Reminder for invison or invisoff is to just say them in group/eqbc. This will break all invises.

-Added message to indicate that if you are /mac bot load in any of the "safety" zones, that it MUST be redone outside of PoK/Lobby/Hall for it to work properly.

Should now only try to /target pc or merc for innate buffs. It was already written like that but i added a second layer.

SK AE aggro will now autodetect if you have an AE aggro spell memmed and use it appropriately. Changed the order of detection to reduce wasted casts.

    • It is a cascading check so that all your AE aggros arent spent at once. Assuming you have all AAs + spell: First cycle tries first AA, cycles combat routine, second cycle will trigger next AA, cycles combat routine, third cycle will use spell. It will only autodetect a single AE aggro spell (last gem that contains one from 1-12. so if you have AE aggro in gem3 and gem5, it uses the 5)

Added ${ValidSpellType} to [GoM], [Nuke], [Dot], and [Buff] routines so that it checks for valid .BodyType and checks if you have any required reagents to use the spell. Please let me know if anything is messed up for those routines. This replaces ${TestVariable}, so if you were testing for me, please delete that reference.

Added 15 second delay when zoning (including partial zone time, uses MMOBugs.ZoneSecs) before you start casting spells. This is to make it less obvious that you are botting. I can play with the time if needed.

Added/corrected some misc command info in /helpme

Added some minor tweaks to Mages summoning petgear. i dont know that it entirely fixes it, but i think it will get it closer. I think the reason it was clicking the wrist was because you had PetGearDefaultInvSlotForBag=8 or 9, which are InvSlot for wrists, and i was thinking they were bag slots. Just keep doing what youre doing for the variable.

  • Archived notes - /commands - PeteSampras @ 2012-10-31

Misc commands: New feature add in: /import [Section] [Level] ie. /import Buff 95

Posted latest version for importing and started + posted the Bot_Imports.ini so people can /import sections.

I wanted people to see the format that I wanted this in. I added a handful of things for a few classes as examples. Once people submit ini entries to me, I will add them. If anyone would like to mess around and test some examples to make sure it works for them and not just me, please do so and let me know the results. If a section cannot be imported because it doesnt exist, the macro should tell you.

Example import commands reminder: /import Buff 95

/import Pet 90

/import SelfBuff 95

Case sensitivity matters!

added: /import all level

/import all 95

This will import all available options from the Bot_Imports.ini for your class at the level you set. I put most the automatic ones as options, so it should get like 95% of what youd want to fix in your ini once we get all the examples done.

Went ahead and just added the /smob alias to add your current target to the stunimmunelist, put it in the /helpme listing, and added a stunimmunelist check for stuns.


Command: /taskget

    • Whatever phrase you say AFTER the command will get broadcast into EQBC, all characters in group and eqbc will /target your target, then repeat the phrase, then you will /say the phrase. There is a random timer up to 3 seconds between characters so that you dont all say it at the exact same time. I had this as a personal macro for a long time and never got around to putting it out since it was only 5 lines long.

Usage: /taskget badges? we don't need no stinkin' badges!

Result: All characters in group and EQBC do the following: /target your target /say badges? we don't need no stinkin' badges! then you: /say badges? we don't need no stinkin' badges!

Added for testing, in game type: /varset TestVariable 1

Typing that in game should now cycle in and out of Dot/Nuke/Stun/damage routines per spell that is cast instead of cycling through them all. (if you have 8 nukes, it casts one and goes to next routine, instead of casting 1-8 back to back). This will allow crowd control/survival/heal routines to cycle more often, hopefully increasing survivability.

  • Archived notes - by version - PeteSampras @ 2012-10-31

Posted new version.

[Disc]s will now still check, even if a disc is already running. However, a disc with a duration will not try to fire if a disc is currently running. Instant cast discs will fire if a disc is already running.


posted 1.093 to fix the HealerSingleRecast error.

Added: [Merc] MercStanceOOC=Passive (will make your merc be passive when not in combat, default is blank. aka. same as current)

Added ${ValidSpellType} to [GoM], [Nuke], [Dot], and [Buff] routines so that it checks for valid .BodyType and checks if you have any required reagents to use the spell. Please let me know if anything is messed up for those routines. This replaces ${TestVariable}, so if you were testing for me, please delete that reference.

Added 15 second delay when zoning (including partial zone time, uses MMOBugs.ZoneSecs) before you start casting spells. This is to make it less obvious that you are botting. I can play with the time if needed.

Added 2 routines that can be used via [Custom] section for now. If they work, I will add them to normal macro. To use: [Custom] CustomRestTotal=1 CustomRest1=/call Clarity

CustomCombatTotal=1 CustomCombat1=/call DPS

-Clarity routine in case you want to use clarity potions. It will check your inventory for them, figure out the best, see if you have buff space and dont already have clarity, then use it.

-DPS routine is to figure out how much estimated time is left before the target dies. I made it for my necro mac years ago so that you wouldnt waste mana dotting a mob that would die soon, or so you could use the emerald essence proc nuke if the mob was about to die in the next 5 seconds. It is only an estimate, but i want to see if it works. It gives you access to the variable: ${FightTimer} You can then use this variable in your conditions to figure out if you want to perform certain actions. Maybe you dont want to debuff a mob if it is going to die in the next 10 seconds.

Added/corrected some misc command info in /helpme

Posted new version.

Added: ____ConditionsX variable to all heals.

Special variables involved: ${Group.Member[${g}]}

Posted new version.

The attack routine hasnt had rigorously testing, and since that is the heart and soul of the macro, you may want to hold off for confirmation that it works, or make a backup of your current mac. I do need some people to test it though to make sure it is picking up targets ok and engaging correctly.

Added: [Settings] AttackRange=50 AttackCommand=/killthis

AttackRange will determine the distance the mob has to be before engaging a mob on XTarget1. It will also affect using the AttackCommand for AssistType2/3. Previously, the AttackCommand was a hidden variable, and was defaulted to "/attack on". mq2melee is enhanced to do different discs and skills if you use /killthis. So by letting you choose which you want to do, you can increase your dps some. AttackRange ONLY affects AssistType=2 and AssistType=3 for now.

Options for AttackCommand= are: "/killthis", "/attack on", "/keypress z", or "/keypress q", or if you have changed your default keybinds, they are whatever you've changed them to.


Posted new version.

Added some minor tweaks to Mages summoning petgear. i dont know that it entirely fixes it, but i think it will get it closer. I think the reason it was clicking the wrist was because you had PetGearDefaultInvSlotForBag=8 or 9, which are InvSlot for wrists, and i was thinking they were bag slots. Just keep doing what youre doing for the variable.

Posted new version. 1.101?

Added: [Settings] OpeningMove=

This will execute whatever command you put there prior to /call Attack. It will be the very first thing you do with the designated mob on your target.

For pet classes, i would suggest: OpeningMove=/pet attack

For knights: OpeningMove=/disc withstand (or whatever your current rune disc is)

You can use /multiline or /if statements, just like a holy/downshit.

Added: auto detect and usage of clarity potions if you are carrying them. [Mana] UseClarityPotions=FALSE

Removed: [Disc] OutOfCombatDiscName= UseOOCDiscAtMyEndPct= UseOOCDiscAtDistance=

Those no longer function and capabilities are replaced with OpeningMove=

Posted new version. 1.102

Added:

Auto detection of lower level clarity potions in case you run out of your highest level potion. Best remaining potion will be used.

Posted new version. 1.103

Added: [Pet] PetBuffRecast1=1s PetBuffRecast2=2m


Posted new version. 1.105

Fixed self heal routine. I had changed a variable because there was an error, turns out there was a second error that broke the routine when i corrected the first error.


Posted new version. 1.106

Changed: AE Mezzes triggering immune messages will now be ignored so that when they land on PCs it doesnt return FALSE positives. If you find your NPCs arent being mezzed, check the Mob_Ignore_List.ini to make sure nothing is incorrectly added. If it is, just delete it out.

Added: [Summon] section

Posted new version. 1.107 Changed: Mercs will no longer try to use MercStanceOOC if you dont have one defined.


Posted new version. 1.108

Changed: Changed it back to /call Summon

Posted new version. 1.109

Changed: -[Summon] section will now only check for exact SummonItemNameX matches instead of partials. This should alleviate issues for items like Warm Milk Dispenser summoning Warm Milk.

-Fixed rez crash above, hopefully.

Posted new version. 1.110

Added: [Settings] EmergencyAlias=Evac Now! EmergencySkill=Exodus ClearTargetDataAlias=resettarget

Set those to whatever you want, they are blank by default (turned off). EmergencyAlias=whatever phrase you put here will turn off attack/twist/interrupt spells, reset target data, and then fire the skill below EmergencySkill=aa/spell that is memmed/item/disc/ability - if it isnt ready, it just skips it. ClearTargetDataAlias=this phrase will clear your target, turn attack /twist / spell casting off and reset your target data in case you want to stop hitting the current target.

Changed: Less spam for item summoning, you should only get 1 message.

Posted new version. 1.111

Added: [Settings] OptionsCheckRaid=

If you are in a raid, it will use that list of routines instead. This should let you turn off Dot/Nukes/etc if you dont want them to be used on raids. Default will be same as OptionsCheck= . It wont take effect until the second time you use macro.

Reminder that if you want to control individual spells to cast while on a raid, you can use DotConditions1=!${Raid.Members} etc. Or you could make your DotTotal=${If[${Raid.Members},8,4]}, and it would only check on initial mac startup.

Changed: [Summon] if the spell name is an item, it will now use /itemnotify instead of /call Cast to avoid top levle inventory swapping

Posted new version. 1.112

Added: [Settings] InterruptToHealAt=30

That will now work for check for lifetaps too. Between each routine it will check Lifetap routine if your HP is at or below the amount you designate. The normal check every cycle for Lifetap routine is unaffected, so you will keep checking it as normal as well.

Corrected: Emergency events/variables had a typo because i forgot about something. Fixed.

Added for testing, in game type: /varset TestVariable 1

Typing that in game should now cycle in and out of Dot/Nuke/Stun/damage routines per spell that is cast instead of cycling through them all. (if you have 8 nukes, it casts one and goes to next routine, instead of casting 1-8 back to back). This will allow crowd control/survival/heal routines to cycle more often, hopefully increasing survivability.

Availability

This macro is located in at the following forum link at MMOBugs.com.

http://www.mmobugs.com/forums/everquest-macroquest2-macros-huds-and-uis/24608-bot-macro.html