Computing the number of buff slots available

Need help with a macro you are writing? Ask here!

Moderator: MacroQuest Developers

ThePoetLives
orc pawn
orc pawn
Posts: 14
Joined: Sat May 14, 2005 1:09 pm
Location: Northern Virginia
Contact:

Computing the number of buff slots available

Post by ThePoetLives » Wed Jul 20, 2005 11:22 am

http://www.macroquest2.com/wiki/index.php/MQ2DataVars

I have written a multipurpose macro for a collection of classes I multibox. Several of these have radiant cure/resplendant cure. I have logic that checks for DoTs/AE effects and attempts to cure them. Up until now, I have been only checking the default 15 slots, but now I have several of these toons that have 1 or more of the AAs that extend the number of buff slots. In order to insure that each of the priest class toons can check for detrimental effects in all of their available buff slots, I have changed my /for loop to go from 1 through 15+${Me.AltAbility[mystical atuning]}/5. This appears to handle the OoW AA's. However, this does not cover the DoN buff slot AA, and I do not appear to be able to determine when a toon has this AA.

Any ideas?

Thanks.
"All that is golden does not glitter"
J.R.R. Tolkien

skyler
a snow griffon
a snow griffon
Posts: 311
Joined: Wed May 11, 2005 9:22 am

Post by skyler » Wed Jul 20, 2005 11:26 am

again, if this is your own personal macro for your own person toons then you should know if you have it or not. If you do have it and you have the 5 aa ranks, then make it check 21.

ThePoetLives
orc pawn
orc pawn
Posts: 14
Joined: Sat May 14, 2005 1:09 pm
Location: Northern Virginia
Contact:

Post by ThePoetLives » Wed Jul 20, 2005 11:30 am

Please note that it is a general purpose macro, and having been in software development for 25+ years of my life, I try not to hardcode logic to fixed toons. Hence, I use one macro for 5 different toons with "roles" and such that get turned on. I would rather not have logic that goes like this, "if toonA then 18, if toonB, then 19, if toonC, then 21". That goes against the whole concept of a general purpose macro to me.
"All that is golden does not glitter"
J.R.R. Tolkien

skyler
a snow griffon
a snow griffon
Posts: 311
Joined: Wed May 11, 2005 9:22 am

Post by skyler » Wed Jul 20, 2005 11:31 am

gimp wrote:

Code: Select all

	|Calculates the number of buff slots you have available
	/varset mcHUDbuffslots 15
	/varcalc mcHUDbuffslots ${mcHUDbuffslots}+(${Me.AltAbility[Mystical Attuning]}/5)
	/if (${AltAbility["Embrace of the Keepers"].ID}) /varcalc mcHUDbuffslots ${mcHUDbuffslots}+1
plz post your macro help questions in appropriate forum
posted in the other thread

DigitalMocking
a grimling bloodguard
a grimling bloodguard
Posts: 620
Joined: Mon Apr 04, 2005 5:53 pm

Post by DigitalMocking » Wed Jul 20, 2005 12:50 pm

Why divide the AltAbility by 5?

edit: nm, I see why.

A_Druid_00
Macro Maker Extraordinaire
Posts: 2378
Joined: Tue Jul 13, 2004 12:45 pm
Location: Rolling on the Lawn Farting

Post by A_Druid_00 » Wed Jul 20, 2005 1:09 pm

Isn't there a ${Me.BuffCount} or something like that? BBL, checking TFM

Edit: Here you go

Code: Select all

int CountBuffs Number of buffs you have, not including short duration buffs 
Reading TFM can work for you too!

NM, this won't work if you have 15 buffs and the debuff happens to be in slot 18..... hmm, I'll have to look harder. To be honest I'd just step the /for loop all the way through to 21. If there's nothing in slots 16-21 it'll take less than 1ms to get through those 5 checks.
[quote]<DigitalMocking> man, A_Druid_00 really does love those long ass if statements
<dont_know_at_all> i don't use his macro because i'm frightened of it[/quote]
[quote][12:45] <dont_know_at_all> never use a macro when you can really fuck up things with a plugin[/quote]

skyler
a snow griffon
a snow griffon
Posts: 311
Joined: Wed May 11, 2005 9:22 am

Post by skyler » Wed Jul 20, 2005 1:14 pm

Yes, but isn't that just the number of buffs your currently have? As in if you died you'd only have 1? I believe he is after how many total buffs you can have.

A_Druid_00
Macro Maker Extraordinaire
Posts: 2378
Joined: Tue Jul 13, 2004 12:45 pm
Location: Rolling on the Lawn Farting

Post by A_Druid_00 » Wed Jul 20, 2005 1:16 pm

Yeah, check my edit.
[quote]<DigitalMocking> man, A_Druid_00 really does love those long ass if statements
<dont_know_at_all> i don't use his macro because i'm frightened of it[/quote]
[quote][12:45] <dont_know_at_all> never use a macro when you can really fuck up things with a plugin[/quote]

ThePoetLives
orc pawn
orc pawn
Posts: 14
Joined: Sat May 14, 2005 1:09 pm
Location: Northern Virginia
Contact:

Post by ThePoetLives » Wed Jul 20, 2005 1:20 pm

I want to thank the people who responded. I thank skyler for his code snippet. It was that second piece I was missing and could not figure out. Thanks again.
"All that is golden does not glitter"
J.R.R. Tolkien

TheNewGuy
a snow griffon
a snow griffon
Posts: 307
Joined: Sat Jul 10, 2004 9:33 am
Contact:

Post by TheNewGuy » Wed Jul 20, 2005 1:26 pm

Great, now fix your [[Wiki]] edit - make it correct so others that have this question also have the answer.
[quote="dont_know_at_all"][quote="sybarite"]Um.. search works fine for me (used spell_routines.inc)... Try scrolling down you lazy fuck.

http://www.macroquest2.com/phpBB2/viewtopic.php?t=8964&highlight=spellroutines+inc[/quote]

That's great but he's looking for move.inc, you fucking spastic colon.[/quote]

A_Druid_00
Macro Maker Extraordinaire
Posts: 2378
Joined: Tue Jul 13, 2004 12:45 pm
Location: Rolling on the Lawn Farting

Post by A_Druid_00 » Wed Jul 20, 2005 1:27 pm

You could also use

Code: Select all

int FreeBuffSlots Number of open buff slots (not counting the bard buff slots) 
and do

Code: Select all

${Math.Calc[${Me.FreeBuffSlots}+${Me.BuffCount}]}
I swear there was a MaxBuffs in character at some point.
[quote]<DigitalMocking> man, A_Druid_00 really does love those long ass if statements
<dont_know_at_all> i don't use his macro because i'm frightened of it[/quote]
[quote][12:45] <dont_know_at_all> never use a macro when you can really fuck up things with a plugin[/quote]

ThePoetLives
orc pawn
orc pawn
Posts: 14
Joined: Sat May 14, 2005 1:09 pm
Location: Northern Virginia
Contact:

Post by ThePoetLives » Wed Jul 20, 2005 1:52 pm

Wiki updated, and it looks like A_Druid_00 has the cleanest solution. Thanks.
"All that is golden does not glitter"
J.R.R. Tolkien

skyler
a snow griffon
a snow griffon
Posts: 311
Joined: Wed May 11, 2005 9:22 am

Post by skyler » Wed Jul 20, 2005 1:54 pm

ThePoetLives wrote:I want to thank the people who responded. I thank skyler for his code snippet. It was that second piece I was missing and could not figure out. Thanks again.
credit goes to 'gimp' =)

User avatar
Night Hawk
a grimling bloodguard
a grimling bloodguard
Posts: 590
Joined: Fri Aug 13, 2004 4:56 pm

Post by Night Hawk » Wed Jul 20, 2005 2:53 pm

If someone can figure out how to fix ${Me.FreeBuffSlots} to work with the new DoN AA (Embrace of the Keepers->Good, Embrace of the Dark Reign->Evil), then you wouldn't have to mess around with making a /declare and such.

User avatar
gimp
a grimling bloodguard
a grimling bloodguard
Posts: 584
Joined: Fri Oct 29, 2004 9:28 am
Location: internet

Post by gimp » Wed Jul 20, 2005 3:09 pm

hm,

Code: Select all

/declare slots int local 0
/varcalc slots 15+(${Me.AltAbility["Mystical Attuning"]}/5)+${If[${AltAbility["Embrace of the Keepers"].ID},1,0]}
looks better than the one someone quouted me saying earlier in the thread