Here's the calculation: [[floor(round({[[[[1d100]]-40]],0}kh1)/5)]] You can check the math: 1d100 = $[[0.computed]] - 40 = $[[1.computed]] / 5 = [[floor(round({[[[[1d100]]-40]],0}kh1)/5)]] If you don't want to hard code the '40', then you need to supply an attribute call or query: Attribute call (replace 'throw_value' with whatever attribute name you need to use - this is dependent on what game you are playing and what character sheet you are using): [[floor(round({[[[[1d100]]-@{selected|throw_value}]],0}kh1)/5)]] Query: [[floor(round({[[[[1d100]]-?{Throw Value?|40}]],0}kh1)/5)]] Without a Mod (API) script, any chat commands (macros) are “read only” and cannot adjust token settings (including bar values). If the game creator has a Roll20 Pro subscription then you can use TokenMod to do this: !token-mod --set bar2|+[[floor(round({[[[[1d100]]-40]],0}kh1)/5)]]