So, I'll post here the resolutive Text Workers formulas. Both were written by GiGs. For a further explanation, check the topic that I have linked on the previous message: 1) Modified version of Tony R. Cyberpunk 2020 Character Sheet; creating an attribute which value is a bonus of +1 when you reach 7 points in a skill (' Ricaricaveloce_Skill '), or 0 when you have fewer points. The attribute for the bonus is called ' Ricaricaveloce_Bonus ' <script type="text/worker"> on('change:ricaricaveloce_skill', () => { getAttrs(['Ricaricaveloce_Skill'], values => { const Ricaricaveloce_Skill = parseInt(values.Ricaricaveloce_Skill) || 0; const RicaricaveloceBonus = Ricaricaveloce_Skill >= 7 ? 1 : 0; setAttrs({ RicaricaveloceBonus: RicaricaveloceBonus }) }); }); 1) Unofficial Pendragon 6 sheet, a modified version of the Thierry MATTRAY Pendragon 5th ed. Sheet; counting Passion's Court total: In Pendragon 6 the passions are sorted in "Courts" with a total cap of
40 for each court, BUT - by rules - if your passion's value is bigger
then 20, the court's cap count it ONLY as 20 anyway. GiGs have write the Fidelitas court formula, and i've added the others. The final attributes with the value of the court total capped iare called ' fidelitas_total ' [counting the passions: Homage ( attribute 'homa') 2 different Loyalty( attributes called 'loy' and 'loy2'), Fealty ( attribute 'feal') and Duty Vassals( attribute 'duty')], ' fervor_total ', [counting the passions: 4 differents Hate ( attributes 'hat', 'hat2', 'hat3' and 'hat4' ) and 3 differents Love ( attributes 'lov' 'lov2' and 'lov3')], ' adoration_total ' [counting the passions: Devotion ( attribute 'devo') and Adoration ( attribute 'ador')] and ' civilitas_total '[counting the passions: Chivalry ( attribute 'chiva'), Hospitality ( attribute 'hos') and Station( attribute 'stati')] <script type="text/worker"> on('change:homa change:loy change:loy2 change:feal change:duty', () => { getAttrs(['homa', 'loy', 'loy2', 'feal', 'duty'], values => { let total = 0; ['homa', 'loy', 'loy2', 'feal', 'duty'].forEach(passion => { const temp = parseInt(values[passion]) || 0; total += Math.min(20, temp); }); setAttrs({ fidelitas_total: total }); }); }); on('change:homa change:hat change:hat2 change:hat3 change:hat4 change:lov change:lov2 change:lov3', () => { getAttrs(['hat', 'hat1', 'hat2', 'hat3', 'hat4', 'lov', 'lov2', 'lov3'], values => { let total = 0; ['hat', 'hat1', 'hat2', 'hat3', 'hat4', 'lov', 'lov2', 'lov3'].forEach(passion => { const temp = parseInt(values[passion]) || 0; total += Math.min(20, temp); }); setAttrs({ fervor_total: total }); }); }); on('change:devo change:ador', () => { getAttrs(['devo', 'ador'], values => { let total = 0; ['devo', 'ador'].forEach(passion => { const temp = parseInt(values[passion]) || 0; total += Math.min(20, temp); }); setAttrs({ adoration_total: total }); }); }); on('change:chiva change:hos change:stati', () => { getAttrs(['chiva', 'hos', 'stati'], values => { let total = 0; ['chiva', 'hos', 'stati'].forEach(passion => { const temp = parseInt(values[passion]) || 0; total += Math.min(20, temp); }); setAttrs({ civilitas_total: total }); }); }); </script> FINALLY, when you want to use one of those attribute in the HTML part, you cannot use: disabled="true" Instead, you can use readonly So, as an example, i will write 'fidelitas_total' in this way: <input type="number" name="attr_fidelitas_total" value="0" readonly>