as you can see in the picture above, the value of 1.87 was for E+ <input name="attr_rankfinalcalculadora_mod" type="hidden" value="0"> <input name="attr_rest" type="hidden" value="0"> <script type="text/worker"> const int = score => parseInt(score, 10) || 0; const stats = ["rankfinalcalculadora"]; stats.forEach(stat => { on(`change:${stat}`, () => { getAttrs([stat], values => { const stat_base = int(values[stat]); //console.log(stat_base); let stat_mod = Sem Rank; if (stat_base >= 9) stat_mod = "K"; else if (stat_base >= 8.5) stat_mod = "SSS+"; else if (stat_base >= 8) stat_mod = "SSS"; else if (stat_base >= 7.5) stat_mod = "SS+"; else if (stat_base >= 7) stat_mod = "SS"; else if (stat_base >= 6.5) stat_mod = "S+"; else if (stat_base >= 6) stat_mod = "S"; else if (stat_base >= 5.5) stat_mod = "A+"; else if (stat_base >= 5) stat_mod = "A"; else if (stat_base >= 4.5) stat_mod = "B+"; else if (stat_base >= 4) stat_mod = "B"; else if (stat_base >= 3.5) stat_mod = "C+"; else if (stat_base >= 3) stat_mod = "C"; else if (stat_base >= 2.5) stat_mod = "D+"; else if (stat_base >= 2) stat_mod = "D"; else if (stat_base >= 1.5) stat_mod = "E+"; else if (stat_base >= 1) stat_mod = "E"; else stat_mod = "0"; setAttrs({ [`${stat}_mod`]: stat_mod }); }); }); }); </script> it only changes when it's full value when it's half rank it doesn't recognize