I copied your macro, and it worked for me. One problem I did notice is that if the modifier is negative, it doesnt work properly. If you do want to attack multiple people in the same macro, you can use this syntax: @{target|foe|NPCarmorclass} Basically each time you use @target it thinks you are targeting a new opponent. But you can add a middle parameter, to show you mean to attack the same foe. So if you had this macro: [[d20cs>[[@{target|foe|NPCarmorclass}-?{modifier|0}]]cf<[[@{target|foe|NPCarmorclass}-?{modifier}-1]]]] vs AC It will assume the second target is for the same target as the first, and you should be prompted only once. This is handy because you can also do this: [[d20cs>[[@{target|foe1|NPCarmorclass}-?{modifier|0}]]cf<[[@{target|foe1|NPCarmorclass}-?{modifier}-1]]]] vs AC [[d20cs>[[@{target|foe2|NPCarmorclass}-?{modifier|0}]]cf<[[@{target|foe2|NPCarmorclass}-?{modifier}-1]]]] vs AC If you have both the above lines in the same macro, you get to make two attacks, against different targets (or you could select the first target again on your second). You can use any word in place of foe, just as long as you use the same label for calls to the same token, and different labels if calling multiple tokens. Also note that calling the modifier more than once doesnt need the |0 part after the first call. I'm not sure why it is failing for you, all the above examples, and you original macro, worked for me. As long as the modifier was 0 or above, not sure how to fix the problem with negative modifiers.