If it's not clear what we're doing with these queries, we're asking the user (you) to enter a zero or a one when you hit the macro. That number is then multiplied by the actual roll. So if you entered a 1, you get the normal roll (because 1 * AnyNumber = TheSameNumber If you enter a 0, you get a 0 (because anything * 0 is 0 ) In this way you're using 1 or 0 as a boolean flag to determine which rolls you end up adding to the final result. So in Gauss' Saving Throw example , if you want to roll Reflex but not Fort or Will you would hit your macro and it will prompt you " Fort" . You enter 0 or just hit enter, thus adding "0" to your total roll. It will then ask " Reflex" , you hit 1 so it gives you 1 * (1d20+13), which is just 1d20+13 added to your total roll. And then it finally asks you " Will" which you again enter 0 or just hit enter and you get another "0" added for that. All together your total roll would be 0 + 1d20+13 + 0 In all honesty, It's generally much simpler for player and GM alike to just roll all three together on the same line. /me defends himself from attack! Fort:[[1d20+13]] ♦ Ref:[[1d20+13]] ♦ Will:[[1d20+28]]