I'm creating a modified version of the Star Wars WEG D6 sheet because I want to be able to tweak the formatting some and total up the skill points being spent and track them. I have only the most flimsy understanding of how sheet workers operate, and this doesn't seem to be working at all--can anyone help me sort out what I'm doing wrong? This code defines DEX-based attributes: <!---Dex Attribute ---> <div class="tdborder"> <div class="bold"> <button name="roll_dex" class="d6-dice rollmod" type="roll" value="&{template:blue} {{name=@{character_name}: Dexterity}} {{Roll=[[(@{dexterity} -@{WoundMod} +@{Force_Up} + ?{Dice mods|0} -1)d6cf0cs7 + @{dexteritypip} + ?{Other Mods(pip)|0} + 1d6@{wilddie}]]}}" >Dexterity</button> <button name="roll_dex-w" class="d6-dice rollmod gmroll gmroll-hide" type="roll" value="/w gm &{template:blue} {{name=@{character_name}: Dexterity}} {{Roll=[[(@{dexterity} -@{WoundMod} +@{Force_Up} + ?{Dice mods|0} -1)d6cf0cs7 + @{dexteritypip} + ?{Other Mods(pip)|0} + 1d6@{wilddie}]]}}" ><span class="redtxt">GM</span></button> <button name="roll_dex_n" class="d6-dice rollmod-no" type="roll" value="&{template:blue} {{name=@{character_name}: Dexterity}} {{Roll=[[(@{dexterity} -@{WoundMod} +@{Force_Up} -1)d6cf0cs7 + @{dexteritypip} + 1d6@{wilddie}]]}}" >Dexterity</button> <button name="roll_dex_n-w" class="d6-dice rollmod-no gmroll gmroll-hide" type="roll" value="/w gm &{template:blue} {{name=@{character_name}: Dexterity}} {{Roll=[[(@{dexterity} -@{WoundMod} +@{Force_Up} -1)d6cf0cs7 + @{dexteritypip} + 1d6@{wilddie}]]}}" ><span class="redtxt">GM</span></button> <div style="float:right;"> <input type="number" name="attr_dexterity" class="smallnumber" min="1" value="3"/>D+<input type="number" name="attr_dexteritypip" class="pipnumber" min="0" max="2" value="0"/> </div> </div> <fieldset class="repeating_dexskills"> <!---Dex Skills ---> <button name="roll_dexskill" class="d6-dice rollmod" type="roll" value="&{template:blue} {{name=@{character_name}: @{dexskillname}}} {{Roll=[[(@{dexskilldice} -@{WoundMod} +@{Force_Up} + ?{Dice mods|0} -1)d6cf0cs7 + @{dexskillpip} + ?{Other Mods(pip)|0} + 1d6@{wilddie}]]}}"></button> <button name="roll_dexskill-w" class="d6-dice rollmod gmroll gmroll-hide" type="roll" value="/w gm &{template:blue} {{name=@{character_name}: @{dexskillname}}} {{Roll=[[(@{dexskilldice} -@{WoundMod} +@{Force_Up} + ?{Dice mods|0} -1)d6cf0cs7 + @{dexskillpip} + ?{Other Mods(pip)|0} + 1d6@{wilddie}]]}}"><span class="redtxt">GM</span></button> <button name="roll_dexskill_n" class="d6-dice rollmod-no" type="roll" value="&{template:blue} {{name=@{character_name}: @{dexskillname}}} {{Roll=[[(@{dexskilldice} -@{WoundMod} +@{Force_Up} -1)d6cf0cs7 + @{dexskillpip} + 1d6@{wilddie}]]}}"></button> <button name="roll_dexskill_n-w" class="d6-dice rollmod-no gmroll gmroll-hide" type="roll" value="/w gm &{template:blue} {{name=@{character_name}: @{dexskillname}}} {{Roll=[[(@{dexskilldice} -@{WoundMod} +@{Force_Up} -1)d6cf0cs7 + @{dexskillpip} + 1d6@{wilddie}]]}}"><span class="redtxt">GM</span></button> <input class="skilltext" type="text" name="attr_dexskillname" style="width:150px"/> <div class="right"> <input type="number" name="attr_dexskilldice" class="smallnumber shortnumber" min="1" value="3"/>D+<input type="number" name="attr_dexskillpip" class="pipnumber shortnumber" min="0" max="2" value="0"/> <input type="hidden" name="attr_dexskillpipnum" value="(@{dexskillpip}-@{dexteritypip})" disabled/> </div> </fieldset> </div> This is the sheet worker designed to total up the DEX-based skill dice (but not the pips, which I plan to total separately). It's supposed to track how many more dice the character has in each skill than they have in their base DEX, then total up how many dice they have spent on DEX-based skills. on("change:repeating_dexskills:dexskilldice change:dexterity remove:repeating_dexskills", function() { getAttrs(['repeating_dexskills_dexskilldice','dexterity'], function(values) { var base = +values.dexterity || 0; var level = +values.repeating_dexskills_dexskilldice || 0; var total = level - base; setAttrs({ repeating_dexskills_dexskillcost: total }); }); }); on("change:repeating_dexskills:dexskillcost remove:repeating_dexskills", function() { getSectionIDs("repeating_dexskills", function(IDArray) { let fieldNames = []; for (var i=0; i < IDArray.length; i++) { fieldNames.push("repeating_dexskills_" + IDArray[i] + "_dexskillcost"); } let total = 0; getAttrs(fieldNames, function(values) { for (var i=0; i < IDArray.length; i++) { total += parseInt(values["repeating_dexskills_" + IDArray[i] + "_dexskillcost"])||0; } setAttrs({ dexskilldicetotal:total }); }); }); }); This is then output to: <input type="text" name="attr_dexskilldicetotal" style="width:50px" value="0" readonly/> At present, it's just not totaling at all, and the output shows as 0. Anyone have any ideas? Thanks!