It's going to be hard to give specific help, because so much is bound up in the specifics of how that system works. It sounds like a good approach, going for a more generalised approach that will work for all weapons is best. Some general comments: You have two sheet workers that change only when weapon_type changes. If that is the only trigger for changes, then they should be combined into one sheet worker. You mention not being able to get it working as a repeating section. This should be simple. Can you post what you tried, that wasnt working? Here's a slightly more compact version of that first worker. Instead of using a different variable for every toggle, it stores them all in a javascript object variable, and gives each set a name: 1, 2, 3, etc. I could have named the "firstset", "secondset", etc. If each represents a different class of weapons, you could use that name for each set (remove spaces, keep lower case). Then you can get all the variables in a set by using weapon_toggles[name_of_set] . See the if statement for how thats done. on("change:weapon_type", function() { getAttrs (["weapon_type",], function(pvalue) { const weapon_toggles = { 1: {thrown_toggle: 1, bow_toggle: 1, slug_toggle: 1, laser_toggle: 1, plasma_rifle_toggle: 1, plasma_bazooka_toggle: 1, grenade_toggle: 1, ram_grenade_toggle: 1, grenade_launcher_toggle:1, arl_toggle: 1, tac_missile_toggle: 1, archaic_firearm_toggle: 1, archaic_artillery_toggle: 1, asset_toggle: 1, range_toggle: 1, hit_mod_toggle: 1, rof_toggle: 1, reload_toggle: 1, damage_toggle: 1, laser_damage_toggle: 1, conc_burst_toggle: 1, pen_val_c_toggle: 1, pen_val_range_toggle: 1, pen_rtng_toggle: 1, ss_recoil_toggle: 1, brst_recoil_toggle: 1, ifr_toggle: 1, bulk_toggle: 1, tac_missle_toggle: 1, dngr_spc_toggle: 1, mag_toggle: 1, rof_config_toggle: 1 }, 2: {thrown_toggle: 1, bow_toggle: 1, slug_toggle: 1, laser_toggle: 1, plasma_rifle_toggle: 1, plasma_bazooka_toggle: 1, grenade_toggle: 1, ram_grenade_toggle: 1, grenade_launcher_toggle:1, arl_toggle: 1, tac_missile_toggle: 1, archaic_firearm_toggle: 1, archaic_artillery_toggle: 1, asset_toggle: 1, range_toggle: 0, hit_mod_toggle: 0, rof_toggle: 1, reload_toggle: 1, damage_toggle: 0, laser_damage_toggle: 1, conc_burst_toggle: 1, pen_val_c_toggle: 1, pen_val_range_toggle: 1, pen_rtng_toggle: 1, ss_recoil_toggle: 1, brst_recoil_toggle: 1, ifr_toggle: 1, bulk_toggle: 1, tac_missle_toggle: 1, dngr_spc_toggle: 1, mag_toggle: 1, rof_config_toggle: 1}, 3: {thrown_toggle: 1, bow_toggle: 1, slug_toggle: 0, laser_toggle: 1, plasma_rifle_toggle: 1, plasma_bazooka_toggle: 1, grenade_toggle: 1, ram_grenade_toggle: 1, grenade_launcher_toggle:1, arl_toggle: 1, tac_missile_toggle: 1, archaic_firearm_toggle: 1, archaic_artillery_toggle: 1, asset_toggle: 1, range_toggle: 0, hit_mod_toggle: 1, rof_toggle: 0, reload_toggle: 1, damage_toggle: 0, laser_damage_toggle: 1, conc_burst_toggle: 1, pen_val_c_toggle: 1, pen_val_range_toggle: 1, pen_rtng_toggle: 0, ss_recoil_toggle: 0, brst_recoil_toggle: 0, ifr_toggle: 1, bulk_toggle: 0, tac_missle_toggle: 1, dngr_spc_toggle: 1, mag_toggle: 0, rof_config_toggle: 1}, 4: {thrown_toggle: 1, bow_toggle: 1, slug_toggle: 1, laser_toggle: 0, plasma_rifle_toggle: 1, plasma_bazooka_toggle: 1, grenade_toggle: 1, ram_grenade_toggle: 1, grenade_launcher_toggle:1, arl_toggle: 1, tac_missile_toggle: 1, archaic_firearm_toggle: 1, archaic_artillery_toggle: 1, asset_toggle: 1, range_toggle: 0, hit_mod_toggle: 1, rof_toggle: 0, reload_toggle: 1, damage_toggle: 1, laser_damage_toggle: 0, conc_burst_toggle: 1, pen_val_c_toggle: 1, pen_val_range_toggle: 1, pen_rtng_toggle: 0, ss_recoil_toggle: 1, brst_recoil_toggle: 1, ifr_toggle: 1, bulk_toggle: 0, tac_missle_toggle: 1, dngr_spc_toggle: 1, mag_toggle: 0, rof_config_toggle: 1}, 5: {thrown_toggle: 1, bow_toggle: 1, laser_toggle: 1, slug_toggle: 1, laser_toggle: 1, plasma_rifle_toggle: 0, plasma_bazooka_toggle: 1, grenade_toggle: 1, ram_grenade_toggle: 1, grenade_launcher_toggle:1, arl_toggle: 1, tac_missile_toggle: 1, archaic_firearm_toggle: 1, archaic_artillery_toggle: 1, asset_toggle: 1, range_toggle: 0, hit_mod_toggle: 1, rof_toggle: 0, reload_toggle: 1, damage_toggle: 0, laser_damage_toggle: 1, conc_burst_toggle: 1, pen_val_c_toggle: 1, pen_val_range_toggle: 0, pen_rtng_toggle: 0, ss_recoil_toggle: 0, brst_recoil_toggle: 0, ifr_toggle: 1, bulk_toggle: 0, tac_missle_toggle: 1, dngr_spc_toggle: 1, mag_toggle: 0, rof_config_toggle: 1}, 6: {thrown_toggle: 1, bow_toggle: 1, laser_toggle: 1, slug_toggle: 1, laser_toggle: 1, plasma_rifle_toggle: 1, plasma_bazooka_toggle: 0, grenade_toggle: 1, ram_grenade_toggle: 1, grenade_launcher_toggle:1, arl_toggle: 1, tac_missile_toggle: 1, archaic_firearm_toggle: 1, archaic_artillery_toggle: 1, asset_toggle: 0, range_toggle: 0, hit_mod_toggle: 1, rof_toggle: 1, reload_toggle: 0, damage_toggle: 0, laser_damage_toggle: 1, conc_burst_toggle: 1, pen_val_c_toggle: 1, pen_val_range_toggle: 0, pen_rtng_toggle: 0, ss_recoil_toggle: 1, brst_recoil_toggle: 1, ifr_toggle: 1, bulk_toggle: 0, tac_missle_toggle: 1, dngr_spc_toggle: 1, mag_toggle: 0, rof_config_toggle: 1 }, 7: {thrown_toggle: 1, bow_toggle: 1, laser_toggle: 1, slug_toggle: 1, laser_toggle: 1, plasma_rifle_toggle: 1, plasma_bazooka_toggle: 1, grenade_toggle: 0, ram_grenade_toggle: 1, grenade_launcher_toggle:1, arl_toggle: 1, tac_missile_toggle: 1, archaic_firearm_toggle: 1, archaic_artillery_toggle: 1, asset_toggle: 1, range_toggle: 1, hit_mod_toggle: 1, rof_toggle: 1, reload_toggle: 1, damage_toggle: 1, laser_damage_toggle: 1, conc_burst_toggle: 0, pen_val_c_toggle: 0, pen_val_range_toggle: 1, pen_rtng_toggle: 1, ss_recoil_toggle: 1, brst_recoil_toggle: 1, ifr_toggle: 1, bulk_toggle: 1, tac_missle_toggle: 1, dngr_spc_toggle: 1, mag_toggle: 1, rof_config_toggle: 1 }, 8: {thrown_toggle: 1, bow_toggle: 1, laser_toggle: 1, slug_toggle: 1, laser_toggle: 1, plasma_rifle_toggle: 1, plasma_bazooka_toggle: 1, grenade_toggle: 1, ram_grenade_toggle: 0, grenade_launcher_toggle: 1, arl_toggle: 1, tac_missile_toggle: 1, archaic_firearm_toggle: 1, archaic_artillery_toggle: 1, asset_toggle: 1, range_toggle: 0, hit_mod_toggle: 1, rof_toggle: 1, reload_toggle: 1, damage_toggle: 1, laser_damage_toggle: 1, conc_burst_toggle: 0, pen_val_c_toggle: 0, pen_val_range_toggle: 1, pen_rtng_toggle: 0, ss_recoil_toggle: 1, brst_recoil_toggle: 1, ifr_toggle: 0, bulk_toggle: 1, tac_missle_toggle: 1, dngr_spc_toggle: 0, mag_toggle: 1, rof_config_toggle: 1 }, 9: {thrown_toggle: 1, bow_toggle: 1, laser_toggle: 1, slug_toggle: 1, plasma_rifle_toggle: 1, plasma_bazooka_toggle: 1, grenade_toggle: 1, ram_grenade_toggle: 1, grenade_launcher_toggle: 0, arl_toggle: 1, tac_missile_toggle: 1, archaic_firearm_toggle: 1, archaic_artillery_toggle: 1, asset_toggle: 1, range_toggle: 0, hit_mod_toggle: 1, rof_toggle: 0, reload_toggle: 1, damage_toggle: 0, laser_damage_toggle: 1, conc_burst_toggle: 1, pen_val_c_toggle: 0, pen_val_range_toggle: 1, pen_rtng_toggle: 0, ss_recoil_toggle: 0, brst_recoil_toggle: 0, ifr_toggle: 0, bulk_toggle: 0, tac_missle_toggle: 1, dngr_spc_toggle: 1, mag_toggle: 1, rof_config_toggle: 1 }, 10: {thrown_toggle: 1, bow_toggle: 1, laser_toggle: 1, slug_toggle: 1, plasma_rifle_toggle: 1, plasma_bazooka_toggle: 1, grenade_toggle: 1, ram_grenade_toggle: 1, grenade_launcher_toggle: 1, arl_toggle: 0, tac_missile_toggle: 1, archaic_firearm_toggle: 1, archaic_artillery_toggle: 1, asset_toggle: 1, range_toggle: 0, hit_mod_toggle: 1, rof_toggle: 0, reload_toggle: 1, damage_toggle: 0, laser_damage_toggle: 1, conc_burst_toggle: 0, pen_val_c_toggle: 0, pen_val_range_toggle: 1, pen_rtng_toggle: 0, ss_recoil_toggle: 1, brst_recoil_toggle: 1, ifr_toggle: 0, bulk_toggle: 0, tac_missle_toggle: 1, dngr_spc_toggle: 0, mag_toggle: 0, rof_config_toggle: 1}, 11: {thrown_toggle: 1, bow_toggle: 1, laser_toggle: 1, slug_toggle: 1, plasma_rifle_toggle: 1, plasma_bazooka_toggle: 1, grenade_toggle: 1, ram_grenade_toggle: 1, grenade_launcher_toggle: 1, arl_toggle: 1, tac_missile_toggle: 0, archaic_firearm_toggle: 1, archaic_artillery_toggle: 1, asset_toggle: 1, range_toggle: 0, hit_mod_toggle: 1, rof_toggle: 1, reload_toggle: 1, damage_toggle: 1, laser_damage_toggle: 1, conc_burst_toggle: 0, pen_val_c_toggle: 0, pen_val_range_toggle: 1, pen_rtng_toggle: 1, ss_recoil_toggle: 1, brst_recoil_toggle: 1, ifr_toggle: 1, bulk_toggle: 1, dngr_spc_toggle: 1, mag_toggle: 1, rof_config_toggle: 1}, 12: {thrown_toggle: 1, bow_toggle: 1, laser_toggle: 1, slug_toggle: 1, plasma_rifle_toggle: 1, plasma_bazooka_toggle: 1, grenade_toggle: 1, ram_grenade_toggle: 1, grenade_launcher_toggle: 1, arl_toggle: 1, tac_missile_toggle: 1, archaic_firearm_toggle: 0, archaic_artillery_toggle: 1, asset_toggle: 1, range_toggle: 0, hit_mod_toggle: 1, rof_toggle: 1, reload_toggle: 0, damage_toggle: 0, laser_damage_toggle: 1, conc_burst_toggle: 0, pen_val_c_toggle: 0, pen_val_range_toggle: 1, pen_rtng_toggle: 0, ss_recoil_toggle: 0, brst_recoil_toggle: 1, ifr_toggle: 1, bulk_toggle: 0, dngr_spc_toggle: 1, mag_toggle: 0, rof_config_toggle: 1 }, 13: {thrown_toggle: 1, bow_toggle: 1, laser_toggle: 1, slug_toggle: 1, plasma_rifle_toggle: 1, plasma_bazooka_toggle: 1, grenade_toggle: 1, ram_grenade_toggle: 1, grenade_launcher_toggle: 1, arl_toggle: 1, tac_missile_toggle: 1, archaic_firearm_toggle: 1, archaic_artillery_toggle: 0, asset_toggle: 0, range_toggle: 0, hit_mod_toggle: 1, rof_toggle: 1, reload_toggle: 0, damage_toggle: 0, laser_damage_toggle: 1, conc_burst_toggle: 0, pen_val_c_toggle: 1, pen_val_range_toggle: 0, pen_rtng_toggle: 1, ss_recoil_toggle: 1, brst_recoil_toggle: 1, ifr_toggle: 1, bulk_toggle: 1, dngr_spc_toggle: 0, mag_toggle: 1, rof_config_toggle: 1}, 14: {thrown_toggle: 1, bow_toggle: 0, slug_toggle: 1, laser_toggle: 1, plasma_rifle_toggle: 1, plasma_bazooka_toggle: 1, grenade_toggle: 1, ram_grenade_toggle: 1, grenade_launcher_toggle:1, arl_toggle: 1, tac_missile_toggle: 1, archaic_firearm_toggle: 1, archaic_artillery_toggle: 1, asset_toggle: 1, range_toggle: 0, hit_mod_toggle: 1, rof_toggle: 1, reload_toggle: 0, damage_toggle: 0, laser_damage_toggle: 1, conc_burst_toggle: 1, pen_val_c_toggle: 1, pen_val_range_toggle: 1, pen_rtng_toggle: 0, ss_recoil_toggle: 0, brst_recoil_toggle: 1, ifr_toggle: 1, bulk_toggle: 0, tac_missle_toggle: 1, dngr_spc_toggle: 1, mag_toggle: 0, rof_config_toggle: 1}, 15: {thrown_toggle: 0, bow_toggle: 1, slug_toggle: 1, laser_toggle: 1, plasma_rifle_toggle: 1, plasma_bazooka_toggle: 1, grenade_toggle: 1, ram_grenade_toggle: 1, grenade_launcher_toggle:1, arl_toggle: 1, tac_missile_toggle: 1, archaic_firearm_toggle: 1, archaic_artillery_toggle: 1, asset_toggle: 1, range_toggle: 1, hit_mod_toggle: 1, rof_toggle: 1, reload_toggle: 1, damage_toggle: 0, laser_damage_toggle: 1, conc_burst_toggle: 1, pen_val_c_toggle: 1, pen_val_range_toggle: 1, pen_rtng_toggle: 1, ss_recoil_toggle: 1, brst_recoil_toggle: 1, ifr_toggle: 1, bulk_toggle: 1, tac_missle_toggle: 1, dngr_spc_toggle: 1, mag_toggle: 1, rof_config_toggle: 1}, 16: {thrown_toggle: 1, bow_toggle: 1, laser_toggle: 1, slug_toggle: 1, laser_toggle: 1, plasma_rifle_toggle: 1, plasma_bazooka_toggle: 1, grenade_toggle: 1, ram_grenade_toggle: 1, grenade_launcher_toggle:1, arl_toggle: 1, tac_missile_toggle: 1, archaic_firearm_toggle: 1, archaic_artillery_toggle: 1, asset_toggle: 0, range_toggle: 0, hit_mod_toggle: 1, rof_toggle: 0, reload_toggle: 0, damage_toggle: 0, laser_damage_toggle: 0, conc_burst_toggle: 0, pen_val_c_toggle: 0, pen_val_range_toggle: 0, pen_rtng_toggle: 0, ss_recoil_toggle: 0, brst_recoil_toggle: 0, ifr_toggle: 0, bulk_toggle: 0, tac_missle_toggle: 0, dngr_spc_toggle: 0, mag_toggle: 0, rof_config_toggle: 0} }; let output = {}; if (weapon_type < 1) { output = weapon_toggles.1; } else if (weapon_type < 2) { output = weapon_toggles.2; } else if (weapon_type < 6) { output = weapon_toggles.3; } else if (weapon_type < 8) { output = weapon_toggles.4; } else if (weapon_type < 9) { output = weapon_toggles.5; } else if (weapon_type < 10) { output = weapon_toggles.6; } else if (weapon_type < 11) { output = weapon_toggles.7; } else if (weapon_type < 12) { output = weapon_toggles.8; } else if (weapon_type < 13) { output = weapon_toggles.9; } else if (weapon_type < 14) { output = weapon_toggles.10; } else if (weapon_type < 15) { output = weapon_toggles.11; } else if (weapon_type < 16) { output = weapon_toggles.12; } else if (weapon_type < 17) { output = weapon_toggles.13; } else if (weapon_type < 20) { output = weapon_toggles.14; } else if (weapon_type < 21) { output = weapon_toggles.15; } else { output = weapon_toggles.16; } setAttrs(output); }); }); For the second sheet worker, you might want to add all the energy_artillery_asset, thrown_weapon_asset, etc., to the change line. Otherwise, the active weapons stats wont get updated if the score it depends on changes.