The keep-high/low or drop-high/low modifier on a group will do this for you. For example, if you are rolling 2d8 but any result higher than 10 is treated as a 10, you could do: /roll {2d8, 0d0 + 10}kl1 Elements in a group can either all be math expressions or all be roll expressions, so you can't simply have "2d8, 10", but adding 10 to no result works just fine. Instead of kl1 (keep low 1, keeping the lowest 1 element in the group), you could also use dh1 (drop high 1, dropping the highest 1 in the group). For a minimum value rather than a maximum value, you can use kh1 (keep high 1) or dl1 (drop low 1). If you wanted both a maximum and a minimum, you could nest them: /roll {{2d8, 0d0 + 10}kl1, 0d0 + 6}kh1 would set a maximum value of 10 on the roll, and a minimum value of 6. You could use roll queries if the max/min change frequently: /roll {{2d8, 0d0 + ?{Maximum value|10}}kl1, 0d0 + ?{Minimum value|6}}kh1