PDA

View Full Version : Can macros check for a percentage ?



Iceorbz
06-27-2008, 12:09 PM
Can a macro check for a health percentage.

Basically say I wanted all the shaman to have this macro, to either dps or heal based of the main guys health %, so if he was below 70% one would heal, if he was below 50% I could alter another's macro to heal as well, and then at 30% I could have another heal. So this way if at 30% 3 shaman are healing, 50% 2, 1 @ 70. I really am not sure if this possible or not.

Drizzit
06-27-2008, 12:17 PM
I don't think you can. If you could it would lead to botting.

Gurblash
06-27-2008, 12:31 PM
Not possible as this would be a form of automation.

Iceorbz
06-27-2008, 01:23 PM
Not sure how checking a variable for the spell would really lead to automation.
So like if focus hp >50% cast lb on focustarget, if <50% then cast healing wave on focus.

Your still pushing the key, its just deciding what spell to cast based off your focus's hit points, and who to cast it on. To me its very similar to the dead/nodead, so it would either heal or rez. Im just looking to see if there was a way to have it based off targets hitpoint percentage.

Gurblash
06-27-2008, 01:44 PM
Not possible

Nuf said.

Šeceased
06-27-2008, 01:48 PM
Well it used to be in the game, but blizz removed it back in 2.0. It was considered nigh automation, and whilst initially blizz had introduced the ability to do those things, it felt it made the game too easy.
It is automation to an extent because the target or spell selection is not user selected as such (well it is within the macro, but only as a range and does not require any further thought).
It is only recently that blizz introduced this to the list of things it wouldn't allow, because healers, for instance, could just watch a film and heal pressing one button, as it would automatically target the person with the lowest health or if noone was below 80% for instance, then target the MT and heal him with low rank heals.. It was just too effective.

You are right, the dead/nodead is pretty much the same in some respects, however unlike the % health thing, the only circumstances under which this command can distinguish between two spells whilst in combat is for the use of battleres (druids), i can't think of another. It is therefore hardly automation, as otherwise the the only thing the condition can do is re-enforce a boundary. what I mean by this is that it will prevent any action from beginning that would anyway not be allowed or possible, such as healing a dead person or healing an enemy etc.

EDIT: acctually I just contradicted myself there.. the druid battle res and healing is again a boundary issue. battleres can't be cast on a player that is alive and one can't heal a player that's dead.. but what I said earlier about it begin the only circumstance is wrong. there are none :)

PS: I love arguing with myself :P

Djarid
06-27-2008, 03:33 PM
Not sure how checking a variable for the spell would really lead to automation.
So like if focus hp >50% cast lb on focustarget, if <50% then cast healing wave on focus.

Your still pushing the key, its just deciding what spell to cast based off your focus's hit points, and who to cast it on. To me its very similar to the dead/nodead, so it would either heal or rez. Im just looking to see if there was a way to have it based off targets hitpoint percentage.it is considered automation because it is making a decision for you. Consider these 2 scenarios
first -

Person: is the guy who is my groups focus low on health?
YES: push button 1 (Heal)
No: push button 2 (Harm)

second:

Person: Push button 1
Macro: is focus health < 50%
YES: Heal
NO: Harm


you see the difference? in the 1st you decide what to do, in the second you might as well be a nodding bird.

Golle
07-03-2008, 01:49 PM
So...

what you're saying is that, a macro that i'm certain many poeple in here use:

Person: Push Button 1
Macro: is target dead
YES: Cast Ancestral Spirit
NO: Cast Chain Heal.

Then everyone should remove that macro since it's "botting".

Aah... i found a very suitable macro used in the Quick Start Multiboxing Guide.

/cast [harm, nodead] Smite
/cast [target=mousover, noharm, nodead] Lesser Heal
/cast [target=mouseover, noharm, dead] Ressurection

According to you, this is botting.

Otlecs
07-03-2008, 02:00 PM
Basically say I wanted all the shaman to have this macro, to either dps or heal based of the main guys health %, so if he was below 70% one would heal, if he was below 50% I could alter another's macro to heal as well, and then at 30% I could have another heal. So this way if at 30% 3 shaman are healing, 50% 2, 1 @ 70. I really am not sure if this possible or not.
This is a really interesting idea, and definitely doesn't fall under automation because you're still triggering the action. Although you used to have to "trigger" Decursive too.... ;)

You can get the raw information with a combination of UnitHealth and UnitHealthMax, but as Gurlbash says it's just not possible to use that information in a conditional. From the WoW Macro Forum (http://forums.worldofwarcraft.com/thread.html?topicId=108386180):

There is a very limited set of conditions which you're allowed to check for when casting spells. These are listed in their entirety in the Complete Macro Guide sticky on this forum. Since the questions are asked so frequently, though, here are some conditions you are not allowed to check for:
Cooldown
Mana/rage/energy/health
Range
Class/race/level
Presence of a (de)buff
Whether a unit is a player or NPC
Whether a unit is some other unit (e.g., whether you are targeting yourself)

Sarduci
07-03-2008, 03:38 PM
Checking to see if something is mostly/some what/almost/not dead is a protected function. Macro can not use them.

This differs from the macro you found in that is won't pick the spell based on how much damage something has, but simply that it is a valid healing target. It won't pick between Greater Heal Rank 8 and Renew Rank 1. It'll cast Greater Heal Rank 8 even if you haven't taken any damage.

Djarid
07-04-2008, 07:40 AM
also except for the Druid, you can't rez in combat and so the decision making is merely a time saver, not a life saver.