Simple question regarding new macro behavior with keybinds

Since the DF prepatch macros have processed a little different and I’ve had to use some workaround to get the simple potion/food/water ones I have to function with keybinds again. But I’ve hit a snag. It’s really annoying me how the game is no longer listening to modifiers like it used to.

E.g.

#showtooltip 0 9
/use 0 9
/use [mod:ctrl,btn:1] 0 17

I use a couple macros like this for healing/mana pots and food/water. Using the keybind uses a pot, Ctrl-clicking uses food/water as appropriate. Before DF I didn’t have to specify a modifier for the potion part. Regardless if I used G or Shift+G it would still fire off with the /use. Now it refuses to fire off unless the macro matches the keybind. So if I use Ctrl+G as the keybind I have to specify Ctrl in the macro itself or it refuses to work. So that macro becomes this:

#showtooltip 0 9
/use [mod:ctrl] 0 9
/use [mod:ctrl,btn:1] 0 17

This causes problems because some classes I need a third healing/mana macro and keybind in the mix (E.g. Warlock and Rogue having a class-based self-heal, Mage having mana gem) so I end up using Ctrl+G as seen here. And this is where I’m having problems.

When Ctrl-clicking the macro above, the game will attempt to use a mana pot AND drink water. The game is no longer obeying the modifiers in relation to mouse buttons, completely ignoring the btn:1 requirement for that line. (Also ignores btn:2 for the records.) Previously this macro worked exactly as intended. Keybind got potion, mouse clicking got food/water.

I can’t use Shift as the eat/drink modifier because that’s already used for my other related macros now. Short of using a completely different keybind, which I don’t want to do, is there a way to make the game actually FOLLOW the btn1/2 mod requirement? Thank you to anyone who can give advice.

Your order or operations is wrong. Macros are executed top to bottom, left to right. You should always put the more complex conditions first. Also, if you only want your macro to do 1 thing at a time you should only code it with a single /use.

#showtooltip
/use [btn:1] 0 17; 0 9

You could also just use being in combat to differentiate the two in this case.

#showtooltip
/use [combat] 0 17; 0 9

I knew the order of execution but didn’t know the more complex stuff should be listed first.

I’ll rewrite them as shown in your first example. As sometimes I use pots or self-heal items outside of combat when I don’t want/can’t stop to eat/drink.

Thank you.

Update:

Well, I’m still having an issue.

#showtooltip 0 5
/use [mod:shift,btn:1] 0 13;[mod:shift,btn:2] 1 29; 0 5

Expected result: Pressing keybind (Shift+G) uses health potion. Shift+M1 uses food. Shift+M2 uses a bandage.

Actual result: Eating food nonstop. On nom nom.

I tried reversing it so the potion was first and it would then use the potion, but so would everything else.

The game is still ignoring btn:1/2 in this macro.

1 Like