Macro Bot.mac Updates and Bug Fixes by [40oz]

Okay, my apologies. I've been gone for over a month with travel and work and vacations and stuff. I went today to make sure everything was where I left off, and now my guys won't pull with MQ2Navigation. They keep running at the same point, it's an issue with the Navigation plugin. This makes my testing process to fix stuff really slow because now I get to hand play my puller or hunt for a spot to use a different pull method.

Artemus - neither of those two spells are hardcoded in the mac. Be sure you're looking at the right ini file. My version changes it to Bot_Character_Server_Class.ini

Code:
#define MyIni Bot_${Me.CleanName}_${MacroQuest.Server}_${Me.Class}.ini
 
Last edited:
Thanks.

Artemus - By the way, those two spells are working just fine on my casters.

Code:
SelfBuffUse4=TRUE
SelfBuffSpellName4=Praetorian Guardian
SelfBuffSpellIcon4=Praetorian Guardian
SelfBuffSpellGem4=gem12
SelfBuffConditions4=

and

Code:
SelfBuffUse3=TRUE
SelfBuffSpellName3=Armor of the Codex
SelfBuffSpellIcon3=Armor of the Codex
SelfBuffSpellGem3=gem12
SelfBuffConditions3=

Usually if something is chain casting in this mac, with the exception of a few hard coded things, it's because it can't tell you already have it on you due to a code issue with .Stacks (not something I can fix) or due to an INI issue with Icon mispelled or something along those lines.
 
*sigh* Do I really come off as that dim? Well that's my fault.

Yes I know about the new inis, look up this thread and someone pointed it out when I had a problem. And yes I have a separate bot40.mac. No I don't use downshits.

Nothing blocks the spell. it succeeds and lands. And in the case of Praetorian Guard, it says Mana Gain: 0 in the MQ2 window.
 
Ok I went and did some testing.

Regular bot.mac does not chain cast on the mage. Even when I added Praetorian Guardian back to the ini, it never cast it.

bot40.mac, on the other hand, immediately chain casts it even without including Guardian in the ini. Here's the log.

Code:
[Sat Sep 03 12:20:46 2016] Now any corpse you loot, except your own, will be hidden when you finish looting but leave items on the corpse.
[Sat Sep 03 12:20:46 2016] Pet greater hold has been set to on.
[Sat Sep 03 12:20:46 2016] Jabtik says 'Now greater holding master.  I will only attack something new if ordered.'
[Sat Sep 03 12:20:47 2016] You begin casting Praetorian Guardian Rk. II.
[Sat Sep 03 12:20:49 2016] A phantasmal guardian protects you.
[Sat Sep 03 12:20:51 2016] You begin casting Praetorian Guardian Rk. II.
[Sat Sep 03 12:20:54 2016] A phantasmal guardian protects you.
[Sat Sep 03 12:20:55 2016] You begin casting Praetorian Guardian Rk. II.
[Sat Sep 03 12:20:58 2016] A phantasmal guardian protects you.
[Sat Sep 03 12:21:00 2016] You begin casting Praetorian Guardian Rk. II.
[Sat Sep 03 12:21:02 2016] A phantasmal guardian protects you.

I didn't even bother adding it to the ini. It's clear some kind of change was made to bot40 that does this because regular bot.mac does not do it.

And here is the MQ window:

21j3u4n.jpg


40, I would look at your mana gain work. I know you added things like mod rods and wizard's using Quiesscent Harvest. Maybe you made an unintended change there to cover all mana gathering abilities, because Guardian and Armor of the Codex ARE mana gain/regen spells.
 
Last edited:
Okay, my apologies. I've been gone for over a month with travel and work and vacations and stuff. I went today to make sure everything was where I left off, and now my guys won't pull with MQ2Navigation. They keep running at the same point, it's an issue with the Navigation plugin. This makes my testing process to fix stuff really slow because now I get to hand play my puller or hunt for a spot to use a different pull method.

I have the same problem. Some toons standing right next to each other will work while others won't. No macros, no nothing running, just using the /nav target.

It's annoying. I'm glad I have a copy of an old build that still works.
 
Okay, my apologies. I've been gone for over a month with travel and work and vacations and stuff. I went today to make sure everything was where I left off, and now my guys won't pull with MQ2Navigation. They keep running at the same point, it's an issue with the Navigation plugin. This makes my testing process to fix stuff really slow because now I get to hand play my puller or hunt for a spot to use a different pull method.

I have the same problem. Some toons standing right next to each other will work while others won't. No macros, no nothing running, just using the /nav target.

It's annoying. I'm glad I have a copy of an old build that still works.

Do you know the build number? Would be nice to post a new thread on this to bring it to htw / brainiac's attention. They can look at differences between the two versions, maybe figure something out.
 
40, I would look at your mana gain work. I know you added things like mod rods and wizard's using Quiesscent Harvest. Maybe you made an unintended change there to cover all mana gathering abilities, because Guardian and Armor of the Codex ARE mana gain/regen spells.

I think I see what's happening. When the mac is loaded, if a spell that has an attribute that gains mana, it remembers it to use it later.

Code:
	/if (!${Defined[${CurrentSub}Boost${Me.Class.ShortName}]}) {
		/declare numEffects int local 0
		/declare effect int local

		/for i 1 to ${MyGemTotal}
			/varcalc numEffects ${Spell[${Me.Gem[${i}]}].NumEffects}

			|Attrib 15 = Mana
			/for effect 1 to ${numEffects}
				/if (${Me.Gem[${i}].Attrib[${effect}]}==15 && ${Me.Gem[${i}].Base[${effect}]}>0) {
					/if (!${Defined[${CurrentSub}Boost${Me.Class.ShortName}]}) /declare ${CurrentSub}Boost${Me.Class.ShortName} string outer ${Me.Gem[${i}]}
					/if (!${Defined[${CurrentSub}BoostGem${Me.Class.ShortName}]}) /declare ${CurrentSub}BoostGem${Me.Class.ShortName} string outer gem${Me.Gem[${${CurrentSub}Boost${Me.Class.ShortName}}]}
				}
			/next effect
		/next i
	}

Inside the wiz mana section, there's this fun block of shit to read:

Code:
		/if ((${Math.Calc[${Me.MaxMana}-${Me.CurrentMana}]}>=${Spell[${${CurrentSub}Boost${Me.Class.ShortName}}].Base[1]}||${Me.PctMana}<${MyManaLessThan}) && ${Me.SpellReady[${${CurrentSub}Boost${Me.Class.ShortName}}]} && (${Me.PctMana}<=${DontUnlessMyManaLessThan}||!${DontUnlessMyManaLessThan})) {
			/call ${EchoSub} "${Orange}${${CurrentSub}Boost${Me.Class.ShortName}} -- ${White} ${Spell[${${CurrentSub}Boost${Me.Class.ShortName}}].Base[1]} Mana Gain"
			/call Cast "${${CurrentSub}Boost${Me.Class.ShortName}}" ${${CurrentSub}BoostGem${Me.Class.ShortName}}
			/delay 5s !${Me.Casting.ID}
		}

The weird part is, these spells really shouldn't get picked up, as the effect isn't greater than 0. I'll have to log in my mag or wiz when I have a moment and look around if this theory is correct.
 
Artemus

First off, you should remove AutoClickies from your options at the top; it just spams the clickies for me.

I could not reproduce your chain casting of Armor of the Codex problem. I do have rank 2 on my wizard, not rank 1, and I did verify my theory as at least partially correct, though the fix isn't as easy.

I have no way to determine if an effect is going to be per tick or instant, as far as I can tell.

Around line 7089 of bot40.mac you should see this:

Code:
				/if (${Me.Gem[${i}].Attrib[${effect}]}==15 && ${Me.Gem[${i}].Base[${effect}]}>0) {

Please replace it with this:

Code:
				/if (${Me.Gem[${i}].Attrib[${effect}]}==15 && ${Me.Gem[${i}].Base[${effect}]}>150) {

And let me know if that solves your issue. The change here is the 0 to 150 in the second comparison.

Basically, I'll ignore anything that isn't at least as big as at least 151 mana returned, which covers the first level harvest and larger from Wizards. Not sure how this will affect other classes, but this bit of code is just some magic on your memmed spells when the macro is started. I think in theory if you didn't have that spell in a gem when you started the macro, you also wouldn't have the issue (though you'd need to add armor of the codex as a buff to get it).
 
Last edited:
Apologies, haven't had a ton of time to work on this. Fiance is back from out of the country so much less time now for such things. I still want to clean up AE Aggro and Mezzing, just hard to find the time for the larger issues. Smaller bug fixes much easier =)
 
So, I actually do have some time today. I've spent the morning / lunch time standardizing debugging and making life better to debug these bigger issues. I'm starting in on SK AE Aggro now.

I also uploaded the version with the fix Artemis tested.

Not sure how far I'll get today, but I should at least be able to upload a version with the better debugging in if others want to take a look by end of day.

edit: Good news, my SK is now ae aggroing. It was completely broken with the AA Consolidations. I've fixed that up now and he now casts AE aggro AA stuff reactively. Personally, I'd prefer it to be proactive rather than reactive, I guess you could lower the AggroAtAggroPct to a really low level to force that behavior if you want it though.
 
Last edited:
Just posted a new version

Code:
 ** 2016-10-09 - 40oz
 **   - Bumped Macro Version to v2016.1009 (new aliases require this)
 **   - Fixed new version detection
 **   - Standardized debugging, see notes after change list in comments
 **   - Added /debuglevel command to change spam real time
 **   - Changed XTarget aggro detection to also use AggroAtAggroPct
 **   - Updated aggro sub for SK AA Changes to not have Improved Explosion of [Spite/Hatred]
 **   - Started adding debugging for Mez Routine

Sorry for the long wait between updates.

NOTE: This will cause a long delay the first time you run it per character (new aliases being loaded) as the internal version number has changed.

Would appreciate feedback on the new SK AE Aggro stuff. It's working for me now, where as before it did nothing. Not sure if Warriors had changes to the names of their abilities, I don't have a max warrior to test with.
 
hi i have the same problem with bot and bot40 my toon loops its clickys all of the normal items just keeps going into a loop how do i fix this ?
 
hi i have the same problem with bot and bot40 my toon loops its clickys all of the normal items just keeps going into a loop how do i fix this ?

Just delete clickymaintenance and autoclickies from the options and raid options in the ini.

It should be the 1st 2 lines after the [Settings] in your in. and looks like


OptionsCheck=|Pulling|Merc|AA|Aura|AutoClickies|Buff|ClickyMaintenance|ClickyNuke|Fade|Disc|Aggro|Endurance|
OptionsCheckRaid=|Pulling|Merc|AA|Aura|AutoClickies|Buff|ClickyMaintenance|ClickyNuke|Fade|Disc|Aggro|Endurance|
 
hi i have the same problem with bot and bot40 my toon loops its clickys all of the normal items just keeps going into a loop how do i fix this ?

As nookiecookie said, that's part of AutoClickies. Really, that should be deprecated at this point. Remove it from your Options and Raid Options in the top settings section.
 
Ello,

Tried using this. First time use sets up the ini. Upon second use to actually start it I get this:

Code:
[MQ2]Beginning main bot loop
Failed to parse /while command. Parameters after conditions.
bot40.mac@150(Main): /while (TRUE) {
The current macro has ended
Useage /while (< conditions >)
 
I'm clueless as to that one. I'll have to see if I can recreate, I haven't been able to play since the expansion release. As soon as I get a moment to check I will.

I don't think anything changed with /while in the EOK patches, but I used these the day before the release and everything worked fine. Maybe you need MQ2Loops loaded? I didn't think so, I thought /while was part of core now.

In any case, I'll check this ASAP unless someone else knows what's up.