This can certainly be done with sheet workers, as The Aaron suggests. The important part here is to make the "buttons" for copying things effectively checkboxes that you change to look like buttons via CSS. So if you have a checkbox in the repeating ranged weapon section such as <input type="checkbox" name="attr_copy_to_1" class="sheet-fake-button"> you can then grab all the attributes from the row on the corresponding change event and write them into the non-repeating attributes for page 1. on('change:repeating_rangedweapon:copy_to_1', function () {
getAttrs(['repeating_rangedweapon_damage', 'repeating_rangedweapon_range' /* and so on */], values => {
setAttrs({
rangedweapon1_damage: v.repeating_rangedweapon_damage,
rangedweapon1_range: v.repeating_rangedweapon_range,
/* and so on */
});
});
});