I just finished and I programming the macro myself, and then I just wanted to post the answer, for anyone who might be interested, only to find that you GiGs beat me to it. This is how I did it: /roll ?{Range?| Close, [[?{points in Ballistic Skill|0}+1]]d4 | Medium,?{points in Ballistic Skill|0}d4 | Far, [[?{points in Ballistic Skill|0}-1]]d4} + ?{Have you moved Last Turn (Only applies to sniper rifles)? | Yes / does not apply to me, [[0]] | No, [[1d4]] } (Thing in bold is an addition that I made later on.) btw thx GiGs for helping me think about the problem in another way; first asking for the range and then the points in Ballistic Skill, instead of the other way around. (Also my solution is like 95% yours, so it really is more yours than mine, more like my take on your solution.)