Hey again, I'm working on my V&V 2.0 custom sheet, as a newb to CSS, HTML and js. I've gotten some great help so far, and my confidence has increased a lot, until... I ran into this particular issue which I thought I understood how to tackle, but now realize I am lost. I'm trying to calculate 2 bonuses based on attr_charisma. One is for reactions from good (attr_good), the other Reactions from evil (attr_evil). The good bonus ranges from negative charisma sores (charisma <0 = -8) increasing in bands of three (charisma > 0 = -6, charisma > 3 = -4, etc) and continues until hit higher charisma scores with positive bonuses. The banding changes to every five points at some point, though so it's not consistent. To make matters more complicated, the evil bonus is a negative version of the good bonus... so all negative bonuses to good are positive bonuses to evil and vice versa. I checked the community stuff and saw some examples GiGs and Diane posted, and I think I understand what I need to do to make this work, but for whatever reason I can't seem to get it to function at all. Here is the input HTML: < label style = "width:1600px" > Reactions From: < / label >< br / > < h4 > Good: < / h4 >< input type = "text" name = 'attr_good' readonly class = 'sheet-hitmod' > < h5 > Evil: < / h5 >< input type = "text" name = 'attr_evil' readonly class = 'sheet-hitmod' >< br / > Then here is the sheetworkers I have set up that I did my best to follow and adapt Diane's example that GiGs recommended: < script type = "text/worker" > function charismaMod ( ) { let bonus = 0 ; if ( charisma < 0 ) bonus = - 8 ; else if ( charisma > 0 ) bonus = - 6 ; else if ( charisma > 2 ) bonus = - 4 ; else if ( charisma > 5 ) bonus = - 2 ; else if ( charisma > 8 ) bonus = 0 ; else if ( charisma > 11 ) bonus = + 1 ; else if ( charisma > 14 ) bonus = + 2 ; else if ( charisma > 17 ) bonus = + 3 ; else if ( charisma > 20 ) bonus = + 4 ; else if ( charisma > 25 ) bonus = + 5 ; else if ( charisma > 30 ) bonus = + 6 ; else if ( charisma > 35 ) bonus = + 7 ; else if ( charisma > 40 ) bonus = + 8 ; else if ( charisma > 45 ) bonus = + 9 ; else if ( charisma > 50 ) bonus = + 10 ; else if ( charisma > 55 ) bonus = + 11 ; else if ( charisma > 60 ) bonus = + 12 ; else if ( charisma > 65 ) bonus = + 13 ; else if ( charisma > 70 ) bonus = + 14 ; else if ( charisma > 75 ) bonus = + 15 ; else if ( charisma > 80 ) bonus = + 16 ; else if ( charisma > 85 ) bonus = + 17 ; else if ( charisma > 90 ) bonus = + 18 ; return bonus ; } </ script > < script type = "text/worker" > on ( "change:charisma sheet:opened" , function ( ) { getAttrs ( [ "charisma" , "bonus" , "good" , "evil" ] , function ( values ) { let charisma = parseFloat ( values. charisma , 10 ) || 1 ; let bonus = parseFloat ( values. bonus , 10 ) || 1 ; let good = bonus ; let evil = Math . round ( good ) *- 1 ; setAttrs ( { good : good evil : evil } ) ; } ) ; } ) </ script > As always, any help is appreciated....