So, I've been looking at past posts and the wiki on this topic but it's not clicking... I tried many variations I've come across to calculate and add up a repeating field. I don't know if it's me or the fact that I'm using complex examples for a simple calculation or what. Anyways I'm going to continue trying, may even restructure the entire character sheet to make this work. If anyone can help me figure it out before I do, it'll be appreciated. I placed in bold the relevant sections that are components of the sheet worker. This is what I'm working with: Default Item & Repeating Field of Said Item (should I just remove the default section and just use the repeating field and calculate based off that?) <div class="sheet-relative sheet-flex sheet-width-100">
<div class="sheet-center-5">
<img class="sheet-logo" src="ignore">
</div>
<div class="sheet-width-50 sheet-margin-bottom-5 sheet-left">
<div class="sheet-header sheet-border-radius-top sheet-width-75">
<button value="@{whisper_toggle} &{template:humanity} {{character=@{character_name}}} {{check=Armor Check}} {{armortype=@{armor_primary_type}}} {{armorac=@{armor_primary_ac}}} {{armortl=@{armor_primary_tl}}} {{armorprice=@{armor_primary_price}}} {{armorcapacity=@{armor_primary_capacity_slot}}} {{armorupgrademax=@{armor_primary_upgrade_slots_max}}} {{armorupgradecurrent=@{armor_primary_upgrade_slots_current}}} {{details=@{armor_primary_notes}}}" type="roll" class="sheet-skill_button btn ui-draggable sheet-secondary sheet-padding-0 sheet-width-100">
Armor
</button>
</div>
<div class="sheet-flex sheet-secondary sheet-width-75">
<span class="sheet-left sheet-primary sheet-input-info">
Type
</span>
<select name="attr_armor_primary_type" class="sheet-input sheet-padding-5 sheet-width-100 sheet-border-bottom sheet-border-no sheet-border-no-radius" dir="rtl">
<option value="Weave Armor">
Weave Armor
</option>
<option value="Flex Armor">
Flex Armor
</option>
<option value="Armored Vesh">
Armored Vesh
</option>
<option value="Natural Armor">
Natural
</option>
</select>
</div>
<div class="sheet-flex sheet-secondary sheet-width-75 sheet-relative">
<span class="sheet-left sheet-primary sheet-input-info">
AC
</span>
<input name="attr_armor_primary_ac" type="text" value="10" class="sheet-input sheet-border-right sheet-padding-5 sheet-border-bottom sheet-width-50 sheet-border-no sheet-border-no-radius">
<span class="sheet-right sheet-primary sheet-input-info sheet-left-50">
Capacity Slot
</span>
<select name="attr_armor_primary_capacity_slot" class="sheet-input sheet-padding-5 sheet-width-50 sheet-border-bottom sheet-border-no sheet-border-no-radius" dir="rtl">
<option value="0">
0
</option>
<option value="1">
1
</option>
<option value="2">
2
</option>
</select>
</div>
<div class="sheet-flex sheet-secondary sheet-width-75 sheet-relative">
<span class="sheet-left sheet-primary sheet-input-info">
Tech Level
</span>
<select name="attr_armor_primary_tl" class="sheet-input sheet-padding-5 sheet-border-right sheet-width-50 sheet-border-bottom sheet-border-no sheet-border-no-radius" dir="rtl">
<option value="0">
N/A
</option>
<option value="1">
1
</option>
<option value="2">
2
</option>
<option value="3">
3
</option>
<option value="4">
4
</option>
</select>
<span class="sheet-right sheet-primary sheet-input-info sheet-left-50">
Price
</span>
<input name="attr_armor_primary_price" type="text" value="0" class="sheet-input sheet-padding-5 sheet-border-bottom sheet-width-50 sheet-border-no sheet-border-no-radius">
</div>
<div class="sheet-flex sheet-secondary sheet-width-75 sheet-relative">
<span class="sheet-left sheet-primary sheet-input-info">
Upgrade Slots
</span>
<span class="sheet-right-50 sheet-right sheet-primary sheet-input-info-sub">
Max
</span>
<select name="attr_armor_primary_upgrade_slots_max" class="sheet-input sheet-padding-5 sheet-border-bottom sheet-border-right sheet-width-50 sheet-border-no sheet-border-no-radius" dir="rtl">
<option value="0">
0
</option>
<option value="1">
1
</option>
<option value="2">
2
</option>
<option value="3">
3
</option>
<option value="4">
4
</option>
<option value="5">
5
</option>
<option value="6">
6
</option>
</select>
<span class="sheet-right sheet-primary sheet-input-info-sub">
Current
</span>
<select name="attr_armor_primary_upgrade_slots_current" class="sheet-input sheet-padding-5 sheet-border-bottom sheet-border-no sheet-border-no-radius sheet-width-50" dir="rtl">
<option value="0">
0
</option>
<option value="1">
1
</option>
<option value="2">
2
</option>
<option value="3">
3
</option>
<option value="4">
4
</option>
<option value="5">
5
</option>
<option value="6">
6
</option>
</select>
</div>
<div class="sheet-flex sheet-secondary sheet-width-75">
<span class="sheet-left sheet-primary sheet-input-info">
Notes
</span>
<textarea name="attr_armor_primary_notes" class="sheet-input sheet-left sheet-padding-5 sheet-border-no sheet-border-no-radius sheet-width-100" type="text">
</textarea>
</div>
</div>
<div class="sheet-width-50 sheet-margin-bottom-5 sheet-right">
<div class="sheet-header sheet-border-radius-top sheet-width-75">
<button value="@{whisper_toggle} &{template:humanity} {{character=@{character_name}}} {{check=Armor Check}} {{armortype=@{armor_secondary_type}}} {{armorac=@{armor_secondary_ac}}} {{armortl=@{armor_secondary_tl}}} {{armorprice=@{armor_secondary_price}}} {{armorcapacity=@{armor_secondary_capacity_slot}}} {{armorupgrademax=@{armor_secondary_upgrade_slots_max}}} {{armorupgradecurrent=@{armor_secondary_upgrade_slots_current}}} {{details=@{armor_secondary_notes}}}" type="roll" class="sheet-skill_button btn ui-draggable sheet-secondary sheet-padding-0 sheet-width-100">
Armor
</button>
</div>
<div class="sheet-flex sheet-secondary sheet-width-75">
<span class="sheet-left sheet-primary sheet-input-info">
Type
</span>
<select name="attr_armor_secondary_type" class="sheet-input sheet-padding-5 sheet-width-100 sheet-border-bottom sheet-border-no sheet-border-no-radius" dir="rtl">
<option value="Weave Armor">
Weave Armor
</option>
<option value="Flex Armor">
Flex Armor
</option>
<option value="Armored Vesh">
Armored Vesh
</option>
<option value="Natural Armor">
Natural
</option>
</select>
</div>
<div class="sheet-flex sheet-secondary sheet-width-75 sheet-relative">
<span class="sheet-left sheet-primary sheet-input-info">
AC
</span>
<input name="attr_armor_secondary_ac" type="text" value="10" class="sheet-input sheet-border-right sheet-padding-5 sheet-border-bottom sheet-width-50 sheet-border-no sheet-border-no-radius">
<span class="sheet-right sheet-primary sheet-input-info sheet-left-50">
Capacity Slot
</span>
<select name="attr_armor_secondary_capacity_slot" class="sheet-input sheet-padding-5 sheet-width-50 sheet-border-bottom sheet-border-no sheet-border-no-radius" dir="rtl">
<option value="0">
0
</option>
<option value="1">
1
</option>
<option value="2">
2
</option>
</select>
</div>
<div class="sheet-flex sheet-secondary sheet-width-75 sheet-relative">
<span class="sheet-left sheet-primary sheet-input-info">
Tech Level
</span>
<select name="attr_armor_secondary_tl" class="sheet-input sheet-padding-5 sheet-border-right sheet-width-50 sheet-border-bottom sheet-border-no sheet-border-no-radius" dir="rtl">
<option value="0">
N/A
</option>
<option value="1">
1
</option>
<option value="2">
2
</option>
<option value="3">
3
</option>
<option value="4">
4
</option>
</select>
<span class="sheet-right sheet-primary sheet-input-info sheet-left-50">
Price
</span>
<input name="attr_armor_secondary_price" type="text" value="0" class="sheet-input sheet-padding-5 sheet-border-bottom sheet-width-50 sheet-border-no sheet-border-no-radius">
</div>
<div class="sheet-flex sheet-secondary sheet-width-75 sheet-relative">
<span class="sheet-left sheet-primary sheet-input-info">
Upgrade Slots
</span>
<span class="sheet-right-50 sheet-right sheet-primary sheet-input-info-sub">
Max
</span>
<select name="attr_armor_secondary_upgrade_slots_max" class="sheet-input sheet-padding-5 sheet-border-bottom sheet-border-right sheet-width-50 sheet-border-no sheet-border-no-radius" dir="rtl">
<option value="0">
0
</option>
<option value="1">
1
</option>
<option value="2">
2
</option>
<option value="3">
3
</option>
<option value="4">
4
</option>
<option value="5">
5
</option>
<option value="6">
6
</option>
</select>
<span class="sheet-right sheet-primary sheet-input-info-sub">
Current
</span>
<select name="attr_armor_secondary_upgrade_slots_current" class="sheet-input sheet-padding-5 sheet-border-bottom sheet-border-no sheet-border-no-radius sheet-width-50" dir="rtl">
<option value="0">
0
</option>
<option value="1">
1
</option>
<option value="2">
2
</option>
<option value="3">
3
</option>
<option value="4">
4
</option>
<option value="5">
5
</option>
<option value="6">
6
</option>
</select>
</div>
<div class="sheet-flex sheet-secondary sheet-width-75">
<span class="sheet-left sheet-primary sheet-input-info">
Notes
</span>
<textarea name="attr_armor_secondary_notes" class="sheet-input sheet-left sheet-padding-5 sheet-border-no sheet-border-no-radius sheet-width-100" type="text">
</textarea>
</div>
</div>
</div>
Repeating Field Segment <div class="sheet-flex sheet-width-100">
<fieldset class="repeating_armor" name="attr_repeat_armor">
<div class="sheet-width-50 sheet-margin-bottom-5 sheet-left">
<div class="sheet-header sheet-border-radius-top sheet-width-75">
<button value="@{whisper_toggle} &{template:humanity} {{character=@{character_name}}} {{check=Armor Check}} {{armortype=@{armor_primary_type}}} {{armorac=@{armor_primary_ac}}} {{armortl=@{armor_primary_tl}}} {{armorprice=@{armor_primary_price}}} {{armorcapacity=@{armor_primary_capacity_slot}}} {{armorupgrademax=@{armor_primary_upgrade_slots_max}}} {{armorupgradecurrent=@{armor_primary_upgrade_slots_current}}} {{details=@{armor_primary_notes}}}" type="roll" class="sheet-skill_button btn ui-draggable sheet-secondary sheet-padding-0 sheet-width-100">
Armor
</button>
</div>
<div class="sheet-flex sheet-secondary sheet-width-75">
<span class="sheet-left sheet-primary sheet-input-info">
Type
</span>
<select name="attr_armor_primary_type" class="sheet-input sheet-padding-5 sheet-width-100 sheet-border-bottom sheet-border-no sheet-border-no-radius" dir="rtl">
<option value="Weave Armor">
Weave Armor
</option>
<option value="Flex Armor">
Flex Armor
</option>
<option value="Armored Vesh">
Armored Vesh
</option>
<option value="Natural Armor">
Natural
</option>
</select>
</div>
<div class="sheet-flex sheet-secondary sheet-width-75 sheet-relative">
<span class="sheet-left sheet-primary sheet-input-info">
AC
</span>
<input name="attr_armor_primary_ac" type="text" value="10" class="sheet-input sheet-border-right sheet-padding-5 sheet-border-bottom sheet-width-50 sheet-border-no sheet-border-no-radius">
<span class="sheet-right sheet-primary sheet-input-info sheet-left-50">
Capacity Slot
</span>
<select name="attr_armor_primary_capacity_slot" class="sheet-input sheet-padding-5 sheet-width-50 sheet-border-bottom sheet-border-no sheet-border-no-radius" dir="rtl">
<option value="0">
0
</option>
<option value="1">
1
</option>
<option value="2">
2
</option>
</select>
</div>
<div class="sheet-flex sheet-secondary sheet-width-75 sheet-relative">
<span class="sheet-left sheet-primary sheet-input-info">
Tech Level
</span>
<select name="attr_armor_primary_tl" class="sheet-input sheet-padding-5 sheet-border-right sheet-width-50 sheet-border-bottom sheet-border-no sheet-border-no-radius" dir="rtl">
<option value="0">
N/A
</option>
<option value="1">
1
</option>
<option value="2">
2
</option>
<option value="3">
3
</option>
<option value="4">
4
</option>
</select>
<span class="sheet-right sheet-primary sheet-input-info sheet-left-50">
Price
</span>
<input name="attr_armor_primary_price" type="text" value="0" class="sheet-input sheet-padding-5 sheet-border-bottom sheet-width-50 sheet-border-no sheet-border-no-radius">
</div>
<div class="sheet-flex sheet-secondary sheet-width-75 sheet-relative">
<span class="sheet-left sheet-primary sheet-input-info">
Upgrade Slots
</span>
<span class="sheet-right-50 sheet-right sheet-primary sheet-input-info-sub">
Max
</span>
<select name="attr_armor_primary_upgrade_slots_max" class="sheet-input sheet-padding-5 sheet-border-bottom sheet-border-right sheet-width-50 sheet-border-no sheet-border-no-radius" dir="rtl">
<option value="0">
0
</option>
<option value="1">
1
</option>
<option value="2">
2
</option>
<option value="3">
3
</option>
<option value="4">
4
</option>
<option value="5">
5
</option>
<option value="6">
6
</option>
</select>
<span class="sheet-right sheet-primary sheet-input-info-sub">
Current
</span>
<select name="attr_armor_primary_upgrade_slots_current" class="sheet-input sheet-padding-5 sheet-border-bottom sheet-border-no sheet-border-no-radius sheet-width-50" dir="rtl">
<option value="0">
0
</option>
<option value="1">
1
</option>
<option value="2">
2
</option>
<option value="3">
3
</option>
<option value="4">
4
</option>
<option value="5">
5
</option>
<option value="6">
6
</option>
</select>
</div>
<div class="sheet-flex sheet-secondary sheet-width-75">
<span class="sheet-left sheet-primary sheet-input-info">
Notes
</span>
<textarea name="attr_armor_primary_notes" class="sheet-input sheet-left sheet-padding-5 sheet-border-no sheet-border-no-radius sheet-width-100" type="text">
</textarea>
</div>
</div>
<div class="sheet-width-50 sheet-margin-bottom-5 sheet-right">
<div class="sheet-header sheet-border-radius-top sheet-width-75">
<button value="@{whisper_toggle} &{template:humanity} {{character=@{character_name}}} {{check=Armor Check}} {{armortype=@{armor_secondary_type}}} {{armorac=@{armor_secondary_ac}}} {{armortl=@{armor_secondary_tl}}} {{armorprice=@{armor_secondary_price}}} {{armorcapacity=@{armor_secondary_capacity_slot}}} {{armorupgrademax=@{armor_secondary_upgrade_slots_max}}} {{armorupgradecurrent=@{armor_secondary_upgrade_slots_current}}} {{details=@{armor_secondary_notes}}}" type="roll" class="sheet-skill_button btn ui-draggable sheet-secondary sheet-padding-0 sheet-width-100">
Armor
</button>
</div>
<div class="sheet-flex sheet-secondary sheet-width-75">
<span class="sheet-left sheet-primary sheet-input-info">
Type
</span>
<select name="attr_armor_secondary_type" class="sheet-input sheet-padding-5 sheet-width-100 sheet-border-bottom sheet-border-no sheet-border-no-radius" dir="rtl">
<option value="Weave Armor">
Weave Armor
</option>
<option value="Flex Armor">
Flex Armor
</option>
<option value="Armored Vesh">
Armored Vesh
</option>
<option value="Natural Armor">
Natural
</option>
</select>
</div>
<div class="sheet-flex sheet-secondary sheet-width-75 sheet-relative">
<span class="sheet-left sheet-primary sheet-input-info">
AC
</span>
<input name="attr_armor_secondary_ac" type="text" value="10" class="sheet-input sheet-border-right sheet-padding-5 sheet-border-bottom sheet-width-50 sheet-border-no sheet-border-no-radius">
<span class="sheet-right sheet-primary sheet-input-info sheet-left-50">
Capacity Slot
</span>
<select name="attr_armor_secondary_capacity_slot" class="sheet-input sheet-padding-5 sheet-width-50 sheet-border-bottom sheet-border-no sheet-border-no-radius" dir="rtl">
<option value="0">
0
</option>
<option value="1">
1
</option>
<option value="2">
2
</option>
</select>
</div>
<div class="sheet-flex sheet-secondary sheet-width-75 sheet-relative">
<span class="sheet-left sheet-primary sheet-input-info">
Tech Level
</span>
<select name="attr_armor_secondary_tl" class="sheet-input sheet-padding-5 sheet-border-right sheet-width-50 sheet-border-bottom sheet-border-no sheet-border-no-radius" dir="rtl">
<option value="0">
N/A
</option>
<option value="1">
1
</option>
<option value="2">
2
</option>
<option value="3">
3
</option>
<option value="4">
4
</option>
</select>
<span class="sheet-right sheet-primary sheet-input-info sheet-left-50">
Price
</span>
<input name="attr_armor_secondary_price" type="text" value="0" class="sheet-input sheet-padding-5 sheet-border-bottom sheet-width-50 sheet-border-no sheet-border-no-radius">
</div>
<div class="sheet-flex sheet-secondary sheet-width-75 sheet-relative">
<span class="sheet-left sheet-primary sheet-input-info">
Upgrade Slots
</span>
<span class="sheet-right-50 sheet-right sheet-primary sheet-input-info-sub">
Max
</span>
<select name="attr_armor_secondary_upgrade_slots_max" class="sheet-input sheet-padding-5 sheet-border-bottom sheet-border-right sheet-width-50 sheet-border-no sheet-border-no-radius" dir="rtl">
<option value="0">
0
</option>
<option value="1">
1
</option>
<option value="2">
2
</option>
<option value="3">
3
</option>
<option value="4">
4
</option>
<option value="5">
5
</option>
<option value="6">
6
</option>
</select>
<span class="sheet-right sheet-primary sheet-input-info-sub">
Current
</span>
<select name="attr_armor_secondary_upgrade_slots_current" class="sheet-input sheet-padding-5 sheet-border-bottom sheet-border-no sheet-border-no-radius sheet-width-50" dir="rtl">
<option value="0">
0
</option>
<option value="1">
1
</option>
<option value="2">
2
</option>
<option value="3">
3
</option>
<option value="4">
4
</option>
<option value="5">
5
</option>
<option value="6">
6
</option>
</select>
</div>
<div class="sheet-flex sheet-secondary sheet-width-75">
<span class="sheet-left sheet-primary sheet-input-info">
Notes
</span>
<textarea name="attr_armor_secondary_notes" class="sheet-input sheet-left sheet-padding-5 sheet-border-no sheet-border-no-radius sheet-width-100" type="text">
</textarea>
</div>
</div>
</fieldset>
</div> Segment I'm Trying to Calculate Capacity Slot Total (trying to update the Currrent Carrying div class="sheet-flex sheet-secondary sheet-width-75 sheet-relative">
<span class="sheet-left sheet-primary sheet-input-info">
Carrying Capacity
</span>
<span class="sheet-right-50 sheet-right sheet-primary sheet-input-info-sub">
Max
</span>
<input name="attr_carrying_capacity_max" value="(@{strength_dice_pool})" disabled="true" class="sheet-input sheet-padding-5 sheet-width-50 sheet-border-right sheet-border-bottom sheet-border-no sheet-border-no-radius">
<span class="sheet-right sheet-primary sheet-input-info-sub">
Current
</span>
<input name="attr_carrying_capacity_current" class="sheet-input sheet-padding-5 sheet-border-bottom sheet-width-50 sheet-border-no sheet-border-no-radius" type="text">
</div> My Attempts with the Sheet Worker Attempt 1 on("change:armor_primary_capacity_slot change:armor_secondary_capacity_slot", function(eventInfo) {
getAttrs(["armor_primary_capacity_slot", "armor_secondary_capacity_slot"], function(values) {
setAttrs({
"carrying_capacity_current": parseInt(values["armor_primary_capacity_slot"],10) || 0 + parseInt(values["stat_b"],10) || 0
});
});
}); Attempt 2 on("change:armor_primary_capacity_slot change:armor_secondary_capacity_slot", function(eventInfo) {
getAttrs(["armor_primary_capacity_slot", "armor_secondary_capacity_slot"], function(values) {
setAttrs({
carrying_capacity_current: Math.floor(values.armor_primary_capacity_slot + values.armor_secondary_capacity_slot)
});
});
}); Attempt 3 on("sheet:opened change:armor_primary_capacity_slot change:armor_secondary_capacity_slot", function(eventInfo) {
getAttrs(["armor_primary_capacity_slot", "armor_secondary_capacity_slot"], function(values) {
var test1 = parseInt(values.armor_primary_capacity_slot);
var test2 = parseInt(values.armor_secondary_capacity_slot);
repeatingSum("armor_primary_capacity_slot","armor_secondary_capacity_slot")
setAttrs({
({ carrying_capacity_current: test1 + test2 })
});
});
});