Warrior: Execute Rule - (*temporary) = nil
IngeniousDox opened this issue ยท 4 comments
Target any unit, with the Execute rule enabled, stack the errors.
AdiButtonAuras\rules\Warrior.lua:40: Usage: UnitHealthMax("unit")
[C]: in functionUnitHealthMax' AdiButtonAuras\rules\Warrior.lua:40: in function
handler'
AdiButtonAuras\core\Overlays.lua:479: in function <AdiButtonAuras\core\Overlays.lua:469>Locals:
(*temporary) = nil
(I'm following Github master btw.)
This is strange. The enemy unit token failed to map to an actual unit token. Do you use a macro for Execute? If so, could you please post it?
Aight, you pointed me in the right direction. I macro everything. But never had issues with it. And my normal macros with /click ActionButton etc weren't actually the culprit here. However, I added very simple macro for mouseover executes, that turned out to be it.
/cast [@mouseOver] Execute
This starts throwing the errors, since ofc I don't hover over an enemy unit all the time, and I didn't condtional it. Changing it to:
/cast [@mouseOver,exists] Execute
Doesn't throw an error. So, basically a nil check in your code to shortcircuit the execute rule (perhaps other rules) would protect against unconditional mouseover macros.
I'll see into it once I'm back from vacation. The dynamic units system currently in place has some undesired side effects and I'll have to look deeper into it. I'm glad it is fixed for you for now
Fixed by 7ddac0b.