Figured it out. It was pretty painful in so far as I had to make a LOT of CSS handlers for the grid, despite the ease of the code. Tracks the HP number nhp and fills the physical php and mental mhp via some hidden attributes in a grid container, where the grids are listed as hidden until the values of the respective hidden attributes are set as 1. JS on("change:might change:agility change:smarts change:presence", function() {
getAttrs(['might', 'agility', 'smarts', 'presence'], function(values) {
let phy1 = parseInt(values['might'])||0;
let phy2 = parseInt(values['agility'])||0;
let men1 = parseInt(values['smarts'])||0;
let men2 = parseInt(values['presence'])||0;
let phy = phy1 + phy2;
let men = men1 + men2;
let loopcap = Math.max(phy, men);
var buildhp = {};
for(let i = 3; i <= 10; i++){
buildhp['nhp' + i] = (i <= loopcap) ? 1 : 0;
buildhp['php' + i] = (i <= phy) ? 1 : 0;
buildhp['mhp' + i] = (i <= men) ? 1 : 0;
}
setAttrs(buildhp);
});
}); HTML <div class='sheet-block sheet-hpBox'>
<div class='sheet-smallTitle sheet-hptitle'>Health</div>
<input type="hidden" class='sheet-togglephp3' name="attr_php3" value="0">
<input type="hidden" class='sheet-togglephp4' name="attr_php4" value="0">
<input type="hidden" class='sheet-togglephp5' name="attr_php5" value="0">
<input type="hidden" class='sheet-togglephp6' name="attr_php6" value="0">
<input type="hidden" class='sheet-togglephp7' name="attr_php7" value="0">
<input type="hidden" class='sheet-togglephp8' name="attr_php8" value="0">
<input type="hidden" class='sheet-togglephp9' name="attr_php9" value="0">
<input type="hidden" class='sheet-togglephp10' name="attr_php10" value="0">
<input type="hidden" class='sheet-togglemhp3' name="attr_mhp3" value="0">
<input type="hidden" class='sheet-togglemhp4' name="attr_mhp4" value="0">
<input type="hidden" class='sheet-togglemhp5' name="attr_mhp5" value="0">
<input type="hidden" class='sheet-togglemhp6' name="attr_mhp6" value="0">
<input type="hidden" class='sheet-togglemhp7' name="attr_mhp7" value="0">
<input type="hidden" class='sheet-togglemhp8' name="attr_mhp8" value="0">
<input type="hidden" class='sheet-togglemhp9' name="attr_mhp9" value="0">
<input type="hidden" class='sheet-togglemhp10' name="attr_mhp10" value="0">
<input type="hidden" class='sheet-togglenhp3' name="attr_nhp3" value="0">
<input type="hidden" class='sheet-togglenhp4' name="attr_nhp4" value="0">
<input type="hidden" class='sheet-togglenhp5' name="attr_nhp5" value="0">
<input type="hidden" class='sheet-togglenhp6' name="attr_nhp6" value="0">
<input type="hidden" class='sheet-togglenhp7' name="attr_nhp7" value="0">
<input type="hidden" class='sheet-togglenhp8' name="attr_nhp8" value="0">
<input type="hidden" class='sheet-togglenhp9' name="attr_nhp9" value="0">
<input type="hidden" class='sheet-togglenhp10' name="attr_nhp10" value="0">
<div class='sheet-nhp0'></div><div class='sheet-php0'><img src="<a href="https://i.ibb.co/d6LgGxf/phyIcon.png" rel="nofollow">https://i.ibb.co/d6LgGxf/phyIcon.png</a>" alt="Physical" style="width:30px;height:30px;"></div><div class='sheet-mhp0'><img src="<a href="https://i.ibb.co/xX1J8Qk/menicon.png" rel="nofollow">https://i.ibb.co/xX1J8Qk/menicon.png</a>" alt="Mental" style="width:30px;height:30px;"></div>
<div class='sheet-nhp1'>1</div><div class='sheet-php1'><input class='sheet-phyhpbox' type="checkbox" value="1"><span></span></div><div class='sheet-mhp1'><input class='sheet-menthpbox' type="checkbox" value="1"><span></span></div>
<div class='sheet-nhp2'>1</div><div class='sheet-php2'><input class='sheet-phyhpbox' type="checkbox" value="1"><span></span></div><div class='sheet-mhp2'><input class='sheet-menthpbox' type="checkbox" value="1"><span></span></div>
<div class='sheet-nhp3'>2</div><div class='sheet-php3'><input class='sheet-phyhpbox' type="checkbox" value="1"><span></span></div><div class='sheet-mhp3'><input class='sheet-menthpbox' type="checkbox" value="1"><span></span></div>
<div class='sheet-nhp4'>2</div><div class='sheet-php4'><input class='sheet-phyhpbox' type="checkbox" value="1"><span></span></div><div class='sheet-mhp4'><input class='sheet-menthpbox' type="checkbox" value="1"><span></span></div>
<div class='sheet-nhp5'>3</div><div class='sheet-php5'><input class='sheet-phyhpbox' type="checkbox" value="1"><span></span></div><div class='sheet-mhp5'><input class='sheet-menthpbox' type="checkbox" value="1"><span></span></div>
<div class='sheet-nhp6'>3</div><div class='sheet-php6'><input class='sheet-phyhpbox' type="checkbox" value="1"><span></span></div><div class='sheet-mhp6'><input class='sheet-menthpbox' type="checkbox" value="1"><span></span></div>
<div class='sheet-nhp7'>4</div><div class='sheet-php7'><input class='sheet-phyhpbox' type="checkbox" value="1"><span></span></div><div class='sheet-mhp7'><input class='sheet-menthpbox' type="checkbox" value="1"><span></span></div>
<div class='sheet-nhp8'>4</div><div class='sheet-php8'><input class='sheet-phyhpbox' type="checkbox" value="1"><span></span></div><div class='sheet-mhp8'><input class='sheet-menthpbox' type="checkbox" value="1"><span></span></div>
<div class='sheet-nhp9'>5</div><div class='sheet-php9'><input class='sheet-phyhpbox' type="checkbox" value="1"><span></span></div><div class='sheet-mhp9'><input class='sheet-menthpbox' type="checkbox" value="1"><span></span></div>
<div class='sheet-nhp10'>5</div><div class='sheet-php10'><input class='sheet-phyhpbox' type="checkbox" value="1"><span></span></div><div class='sheet-mhp10'><input class='sheet-menthpbox' type="checkbox" value="1"><span></span></div>
</div> <!-- end hpBox --> CSS .sheet-hptitle
{
grid-column: 1 / 4;
grid-row: 1;
}
.sheet-nhp0
{
grid-column: 1;
grid-row: 2;
}
.sheet-nhp1
{
grid-column: 1;
grid-row: 3;
margin-top: 3px;
}
.sheet-nhp2
{
grid-column: 1;
grid-row: 4;
margin-top: 3px;
}
.sheet-nhp3
{
grid-column: 1;
grid-row: 5;
display: none;
margin-top: 3px;
}
.sheet-nhp4
{
grid-column: 1;
grid-row: 6;
display: none;
margin-top: 3px;
}
.sheet-nhp5
{
grid-column: 1;
grid-row: 7;
display: none;
margin-top: 3px;
}
.sheet-nhp6
{
grid-column: 1;
grid-row: 8;
display: none;
margin-top: 3px;
}
.sheet-nhp7
{
grid-column: 1;
grid-row: 9;
display: none;
margin-top: 3px;
}
.sheet-nhp8
{
grid-column: 1;
grid-row: 10;
display: none;
margin-top: 3px;
}
.sheet-nhp9
{
grid-column: 1;
grid-row: 11;
display: none;
margin-top: 3px;
}
.sheet-nhp10
{
grid-column: 1;
grid-row: 12;
display: none;
margin-top: 3px;
}
.sheet-php0
{
grid-column: 2;
grid-row: 2;
}
.sheet-php1
{
grid-column: 2;
grid-row: 3;
}
.sheet-php2
{
grid-column: 2;
grid-row: 4;
}
.sheet-php3
{
grid-column: 2;
grid-row: 5;
display: none;
}
.sheet-php4
{
grid-column: 2;
grid-row: 6;
display: none;
}
.sheet-php5
{
grid-column: 2;
grid-row: 7;
display: none;
}
.sheet-php6
{
grid-column: 2;
grid-row: 8;
display: none;
}
.sheet-php7
{
grid-column: 2;
grid-row: 9;
display: none;
}
.sheet-php8
{
grid-column: 2;
grid-row: 10;
display: none;
}
.sheet-php9
{
grid-column: 2;
grid-row: 11;
display: none;
}
.sheet-php10
{
grid-column: 2;
grid-row: 12;
display: none;
}
.sheet-mhp0
{
grid-column: 3;
grid-row: 2;
}
.sheet-mhp1
{
grid-column: 3;
grid-row: 3;
}
.sheet-mhp2
{
grid-column: 3;
grid-row: 4;
}
.sheet-mhp3
{
grid-column: 3;
grid-row: 5;
display: none;
}
.sheet-mhp4
{
grid-column: 3;
grid-row: 6;
display: none;
}
.sheet-mhp5
{
grid-column: 3;
grid-row: 7;
display: none;
}
.sheet-mhp6
{
grid-column: 3;
grid-row: 8;
display: none;
}
.sheet-mhp7
{
grid-column: 3;
grid-row: 9;
display: none;
}
.sheet-mhp8
{
grid-column: 3;
grid-row: 10;
display: none;
}
.sheet-mhp9
{
grid-column: 3;
grid-row: 11;
display: none;
}
.sheet-mhp10
{
grid-column: 3;
grid-row: 12;
display: none;
}
.sheet-togglephp3[value="1"] ~ div.sheet-php3, .sheet-togglephp4[value="1"] ~ div.sheet-php4, .sheet-togglephp5[value="1"] ~ div.sheet-php5, .sheet-togglephp6[value="1"] ~ div.sheet-php6, .sheet-togglephp7[value="1"] ~ div.sheet-php7, .sheet-togglephp8[value="1"] ~ div.sheet-php8, .sheet-togglephp9[value="1"] ~ div.sheet-php9, .sheet-togglephp10[value="1"] ~ div.sheet-php10,
.sheet-togglenhp3[value="1"] ~ div.sheet-nhp3, .sheet-togglenhp4[value="1"] ~ div.sheet-nhp4, .sheet-togglenhp5[value="1"] ~ div.sheet-nhp5, .sheet-togglenhp6[value="1"] ~ div.sheet-nhp6, .sheet-togglenhp7[value="1"] ~ div.sheet-nhp7, .sheet-togglenhp8[value="1"] ~ div.sheet-nhp8, .sheet-togglenhp9[value="1"] ~ div.sheet-nhp9, .sheet-togglenhp10[value="1"] ~ div.sheet-nhp10,
.sheet-togglemhp3[value="1"] ~ div.sheet-mhp3, .sheet-togglemhp4[value="1"] ~ div.sheet-mhp4, .sheet-togglemhp5[value="1"] ~ div.sheet-mhp5, .sheet-togglemhp6[value="1"] ~ div.sheet-mhp6, .sheet-togglemhp7[value="1"] ~ div.sheet-mhp7, .sheet-togglemhp8[value="1"] ~ div.sheet-mhp8, .sheet-togglemhp9[value="1"] ~ div.sheet-mhp9, .sheet-togglemhp10[value="1"] ~ div.sheet-mhp10
{
display: block;
}