While this is specific to DnD 5E, the problem is more generalized. For most damaging cantrips in 5e you get 1dX of damage from 1st to 4th level, then 5-10th you get 2dX, 11-16th you get 3dX, and 17-20 you get 4dX. So I tried to create the following macro where level is pulled from the autocalculated level as defined on the sheet: [[(1+{floor((@{level})/5),1}kl1+{floor((@{level})/11),1}kl1+{floor((@{level})/17),1}kl1)d8]] Now this part "(1+{floor((@{level})/5),1}kl1+{floor((@{level})/11),1}kl1+{floor((@{level})/17),1}kl1)" works absolutely as I would expect, giving me the exact number of dice I need based on character level. When put that in front of a d8 it completely ignores the d8 portion of the roll, not generating an error, it simple gives me number of dice as the result. I can make this work, but the output is significantly more complex making it hard to see what was actually rolled (due to the huge amount of output from autocalculated formulas): [[1d8+{floor((@{level})/5),1}kl1*1d8+{floor((@{level})/11),1}kl1*1d8+{floor((@{level})/17),1}kl1*1d8]] Is there a reason while the first example just doesn't factor in the "dX"?