I'll preface this by saying that i am a complete Noob when it comes to macros. I know some basic stuff but that's it. I'm running a game of CAIN by Tom Bloom which isn't available on roll20 and thought of making some Macros to make my player's lives easier. Here's the parameters i'm working with: Ask for dificulty. If Normal, count the number of rolls 4 or higher onthe d6. If Hard, coun the number of rolls equal to 6 on the d6. Then query the amount of dice rolled. it goes from 0d to 9d. Where nd is the number of d6 and 0d means two d6 dropping the highest roll. Then it queries risk. If risky, roll a separate d6. If regular it doesn't roll anything. there'sno success or failure in the risk, just the raw value. I tried many things but ultimatley decided to ask ChatGPT for some help and it gave me two options. In botth cases it queries me everything but it doesn't roll. I'm having it be in template so it looks better as well. OPTION 1 &{template:default} {{name=Action Roll}} {{Difficulty=**?{Difficulty|Normal|Hard}**}} {{Dice= [[ ( ?{Number of Dice|0d,0|1d,1|2d,2|3d,3|4d,4|5d,5|6d,6|7d,7|8d,8|9d,9} )d6 + ( 2d6kl1 * (1 - floor(?{Number of Dice}/1)) ) ]] }} {{Successes= [[ { ( [[ (?{Number of Dice}d6 + 2d6kl1 * (1 - floor(?{Number of Dice}/1))) ]] >= 4 ) * ( ?{Difficulty}=Normal ) + ( [[ (?{Number of Dice}d6 + 2d6kl1 * (1 - floor(?{Number of Dice}/1))) ]] = 6 ) * ( ?{Difficulty}=Hard ) } ]] }} {{Risky Roll= [[ 1d6 * ( ?{Risky?|No,0|Yes,1} ) ]] }} OPTION 2 &{template:default} {{name=Action Roll}} {{Difficulty=**?{Difficulty|Normal|Hard}**}} {{Dice Rolled= [[ ( ?{Number of Dice|0d,0|1d,1|2d,2|3d,3|4d,4|5d,5|6d,6|7d,7|8d,8|9d,9} )d6 + ( 2d6kl1 * (1 - floor(?{Number of Dice}/1)) ) ]] }} {{Successes= [[ ( ( ?{Number of Dice}d6>3 ) + ( 2d6kl1>3 * (1 - floor(?{Number of Dice}/1)) ) ) * ( ?{Difficulty}=Normal ) + ( ( ?{Number of Dice}d6cs6cf5 ) + ( 2d6kl1cs6cf5 * (1 - floor(?{Number of Dice}/1)) ) ) * ( ?{Difficulty}=Hard ) ]] }} {{Risky Roll= [[ 1d6 * ?{Risky?|No,0|Yes,1} ]] }}