Fix bug in weight fields

- Previously weight field #18 was duplicated
- Auto-generated fields with outside program for safety
- Reformatted page: more space for item names, closer match to spells page
This commit is contained in:
Daniel R. Collins ("Delta")
2023-02-12 17:05:54 -05:00
committed by GitHub
parent 8d48a542b8
commit 20aa4cc464
2 changed files with 133 additions and 124 deletions
+128 -119
View File
@@ -134,126 +134,135 @@
<!-- Equipment page -->
<div class="equipment">
<div class="grid-16">
<!-- row 1 -->
<!-- title -->
<span class="grid-16-span-16"><label class="line-height-28" data-i18n="equipment-u">EQUIPMENT</label></span>
<!-- row 2 -->
<span class="grid-16-span-6"><label class="font-size-sm line-height-28" data-i18n="item-u">Item</label></span>
<span class="grid-16-span-2"><label class="font-size-sm line-height-28" data-i18n="weight-u">Weight</label></span>
<span class="grid-16-span-6"><label class="font-size-sm line-height-28" data-i18n="item-u">Item</label></span>
<span class="grid-16-span-2"><label class="font-size-sm line-height-28" data-i18n="weight-u">Weight</label></span>
<!-- row 3 -->
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_1" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_1" type="text" /></span>
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_2" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_2" type="text" /></span>
<!-- row 4 -->
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_3" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_3" type="text" /></span>
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_4" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_4" type="text" /></span>
<!-- row 4 -->
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_5" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_5" type="text" /></span>
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_6" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_6" type="text" /></span>
<!-- row 5 -->
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_7" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_7" type="text" /></span>
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_8" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_8" type="text" /></span>
<!-- row 6 -->
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_9" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_9" type="text" /></span>
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_10" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_10" type="text" /></span>
<!-- row 7 -->
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_11" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_11" type="text" /></span>
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_12" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_12" type="text" /></span>
<!-- row 8 -->
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_13" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_13" type="text" /></span>
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_14" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_14" type="text" /></span>
<!-- row 9 -->
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_15" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_15" type="text" /></span>
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_16" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_16" type="text" /></span>
<!-- row 10 -->
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_17" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_17" type="text" /></span>
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_18" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_18" type="text" /></span>
<!-- row 11 -->
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_18" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_18" type="text" /></span>
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_19" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_19" type="text" /></span>
<!-- row 12 -->
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_20" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_20" type="text" /></span>
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_21" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_21" type="text" /></span>
<!-- row 13 -->
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_22" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_22" type="text" /></span>
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_23" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_23" type="text" /></span>
<!-- row 14 -->
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_24" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_24" type="text" /></span>
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_25" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_25" type="text" /></span>
<!-- row 15 -->
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_26" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_26" type="text" /></span>
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_27" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_27" type="text" /></span>
<!-- row 16 -->
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_28" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_28" type="text" /></span>
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_29" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_29" type="text" /></span>
<!-- row 17 -->
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_30" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_30" type="text" /></span>
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_31" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_31" type="text" /></span>
<!-- row 18 -->
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_32" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_32" type="text" /></span>
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_33" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_33" type="text" /></span>
<!-- row 19 -->
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_34" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_34" type="text" /></span>
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_35" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_35" type="text" /></span>
<!-- row 20 -->
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_36" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_36" type="text" /></span>
<span class="grid-16-span-6"><input class="fill line-height-28" name="attr_item_37" type="text" /></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_weight_37" type="text" /></span>
<!-- column headers -->
<span class="grid-16-span-7"><label class="font-size-sm line-height-28" data-i18n="item-u">Item</label></span>
<span class="grid-16-span-1"><label class="font-size-sm line-height-28 center" data-i18n="enc-u">Enc.</label></span>
<span class="grid-16-span-7"><label class="font-size-sm line-height-28" data-i18n="item-u">Item</label></span>
<span class="grid-16-span-1"><label class="font-size-sm line-height-28 center" data-i18n="enc-u">Enc.</label></span>
<!-- Gear fields generated by program OED-Roll20-SheetGen (DRC) -->
<!-- gear row 1 -->
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_1' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_1' type='text'></span>
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_2' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_2' type='text'></span>
<!-- gear row 2 -->
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_3' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_3' type='text'></span>
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_4' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_4' type='text'></span>
<!-- gear row 3 -->
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_5' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_5' type='text'></span>
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_6' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_6' type='text'></span>
<!-- gear row 4 -->
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_7' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_7' type='text'></span>
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_8' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_8' type='text'></span>
<!-- gear row 5 -->
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_9' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_9' type='text'></span>
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_10' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_10' type='text'></span>
<!-- gear row 6 -->
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_11' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_11' type='text'></span>
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_12' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_12' type='text'></span>
<!-- gear row 7 -->
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_13' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_13' type='text'></span>
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_14' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_14' type='text'></span>
<!-- gear row 8 -->
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_15' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_15' type='text'></span>
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_16' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_16' type='text'></span>
<!-- gear row 9 -->
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_17' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_17' type='text'></span>
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_18' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_18' type='text'></span>
<!-- gear row 10 -->
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_19' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_19' type='text'></span>
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_20' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_20' type='text'></span>
<!-- gear row 11 -->
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_21' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_21' type='text'></span>
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_22' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_22' type='text'></span>
<!-- gear row 12 -->
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_23' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_23' type='text'></span>
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_24' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_24' type='text'></span>
<!-- gear row 13 -->
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_25' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_25' type='text'></span>
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_26' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_26' type='text'></span>
<!-- gear row 14 -->
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_27' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_27' type='text'></span>
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_28' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_28' type='text'></span>
<!-- gear row 15 -->
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_29' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_29' type='text'></span>
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_30' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_30' type='text'></span>
<!-- gear row 16 -->
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_31' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_31' type='text'></span>
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_32' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_32' type='text'></span>
<!-- gear row 17 -->
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_33' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_33' type='text'></span>
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_34' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_34' type='text'></span>
<!-- gear row 18 -->
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_35' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_35' type='text'></span>
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_36' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_36' type='text'></span>
<!-- gear row 19 -->
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_37' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_37' type='text'></span>
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_38' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_38' type='text'></span>
<!-- gear row 20 -->
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_39' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_39' type='text'></span>
<span class='grid-16-span-7'><input class='fill line-height-28' name='attr_item_40' type='text'></span>
<span class='grid-16-span-1'><input class='fill line-height-28 center' name='attr_enc_40' type='text'></span>
<!-- Bottom information -->
<!-- row 21 -->
<span class="grid-16-span-16">&nbsp;</span>
<!-- row 22 -->
<span class="grid-16-span-6"><div class="center font-size-sm line-height-28" data-i18n="totalWeight-u">Total Weight</div></span>
<span class="grid-16-span-6"><div class="center font-size-sm line-height-28" data-i18n="totalEnc-u">Total Encumbrance</div></span>
<span class="grid-16-span-2"><div class="center font-size-sm line-height-28" data-i18n="moveRate-u">Move Rate</div></span>
<span class="grid-16-span-4">&nbsp;</span>
<span class="grid-16-span-2"><label class="font-size-sm line-height-28" data-i18n="total-u">Total:</label></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_total" type="text" /></span>
<span class="grid-16-span-2"><label class="font-size-sm line-height-28" data-i18n="total-u">Total:</label></span>
<span class="grid-16-span-2"><input class="center fill line-height-28" name="attr_total_enc" type="text" /></span>
<!-- row 23 -->
<span class="grid-16-span-6"><div class="center font-size-sm line-height-28" data-i18n="totalWeight1-u">0 to 1/3 Strength</div></span>
<span class="grid-16-span-6"><div class="center font-size-sm line-height-28" data-i18n="totalEnc1-u">0 to 1/3 Strength</div></span>
<span class="grid-16-span-2"><div class="center font-size-sm line-height-28">12</div></span>
<span class="grid-16-span-8">&nbsp;</span>
<!-- row 24 -->
<span class="grid-16-span-6"><div class="center font-size-sm line-height-28" data-i18n="totalWeight2-u">1/3 to 2/3 Strength</div></span>
<span class="grid-16-span-6"><div class="center font-size-sm line-height-28" data-i18n="totalEnc2-u">1/3 to 2/3 Strength</div></span>
<span class="grid-16-span-2"><div class="center font-size-sm line-height-28">9</div></span>
<span class="grid-16-span-8 bdr-top pl-10"><label class="font-size-sm line-height-28" data-i18n="money-u">Money</label></span>
<!-- row 25 -->
<span class="grid-16-span-6"><div class="center font-size-sm line-height-28" data-i18n="totalWeight3-u">2/3 to Strength</div></span>
<span class="grid-16-span-6"><div class="center font-size-sm line-height-28" data-i18n="totalEnc3-u">2/3 to Strength</div></span>
<span class="grid-16-span-2"><div class="center font-size-sm line-height-28">6</div></span>
<span class="grid-16-span-8 bdr-mid"><input class="bdr-none fill line-height-28" name="attr_money_1" type="text" /></span>
<!-- row 26x -->
@@ -410,40 +419,40 @@
// Gather encumbrance fields
const items = [];
for ( i = 1; i < 38; i++ ) {
items.push( 'weight_' + i );
for ( i = 1; i <= 40; i++ ) {
items.push( 'enc_' + i );
}
items.reverse();
// Compute total encumbrance
var total = 0;
var total = 0;
items.forEach( item => {
on( `change:${item} sheet:opened`, () => {
getAttrs( items, values => {
items.forEach( weight => {
total = total + parseFloat( values[weight] )||0
items.forEach( enc => {
total = total + parseFloat( values[enc] )||0
});
setAttrs({total: total});
setAttrs({total_enc: total});
});
});
});
// Compute movement rate
on ("change:total change:str sheet:opened", function() {
getAttrs(["str","total"], function(vals) {
getAttrs(["str","total_enc"], function(vals) {
var moveRate = 0;
const strVal = parseInt(vals.str)||0;
const totalWeight = parseFloat(vals.total)||0;
if (totalWeight <= strVal * 1 / 3.) {
const totalEnc = parseFloat(vals.total_enc)||0;
if (totalEnc <= strVal * 1 / 3.) {
moveRate = 12;
}
else if (totalWeight <= strVal * 2 / 3.) {
else if (totalEnc <= strVal * 2 / 3.) {
moveRate = 9;
}
else if (totalWeight <= strVal * 1) {
else if (totalEnc <= strVal * 1) {
moveRate = 6;
}
else if (totalWeight <= strVal * 2) {
else if (totalEnc <= strVal * 2) {
moveRate = 3;
}
else {
+5 -5
View File
@@ -28,12 +28,12 @@
"special-u": "Special",
"equipment-u": "EQUIPMENT",
"item-u":"Item",
"weight-u":"Weight",
"enc-u":"Enc.",
"total-u":"Total:",
"totalWeight-u":"Total Weight",
"totalWeight1-u":"0 to 1/3 Strength",
"totalWeight2-u":"1/3 to 2/3 Strength",
"totalWeight3-u":"2/3 to Strength",
"totalEnc-u":"Total Encumbrance",
"totalEnc1-u":"0 to 1/3 Strength",
"totalEnc2-u":"1/3 to 2/3 Strength",
"totalEnc3-u":"2/3 to Strength",
"scale-u":"Scale 1\" = 5'",
"money-u":"Money",
"spellbook-u": "SPELLBOOK",