GiGs said: Okay, you didnt answer the question about whether stats ever get modified, so i am ignoring that. Here's a sheet worker that will calculate dice values for your stats. There's some prep work to do: Step 1: Assuming you have an input for the attribute like <input type="number" name="attr_strength" value="10"> create a matching dice attribute for each one like <input type="text" name="attr_strength_dice" value="" readonly> It doesnt have to be visible, you could hide it like <input type="hidden" name="attr_strength_dice" value="" readonly> The attributes must start the same - spelled exactly the same - as the attribute they are based on, and then have _dice added to the end. Step 2: Now check if your html sheet has a script block. If you dont have one already, create the following at the bottom of your sheet: < script type = "text/worker" > </ script > Any and all sheet workers go between the two script lines. Step 3: Finally add the following sheet worker between the script lines. The first two lines need adjusting. Enter the extra dice roll values in order, in the same way the first few are listed here, on the dice_values line. And on the stat_names line, enter the four attribute names (I wrote strength and dexterity, just as examples, you can replace them). They must be spelled exactly the same as on the character sheet - though whether capital letters are used or not doesnt matter. In this array, only use lower case. const dice_values = [ '1' , '1d2' , '1d4' , '1d6' ]; const stat_names = [ 'strength' , 'dexterity' ]; const name_end = 'dice' ; //if you want to use a different name end, change it here. stat_names . forEach ( stat => { on ( `change: ${ stat } ` , () => { getAttrs ([ stat ], v => { const score = + v [ stat ] || 0 ; const dice = dice_values [ Math . max ( 0 , Math . min (dice_values.length -1 , score ))]; setAttrs ({ [ ` ${ stat } _ ${ name_end } ` ]: dice }); }); }); }); And voila, with that in place, your dice values will calculate automatically, at least up to scores of 39. You'll be able to use the dice in a macro or a roll using @{strength_dice} Sorry Gigs, but yes i want change the stats, for exemple in your dice values script : if my dice is 1d2 but i have +1, so i have 1d4