
I am modifying a cWoD sheet for a wider tech mevel for a version of a game my brother runs. Basically, the group he was with in Korea took all the cWoD stuff and generalized it so they could use it in any genera then use the different WoD, Adventure!, etc. as sources for different characters. I am trying to get the Anduh cWoD sheet's armor to allow for multiple armors that can be enabled/disabled as needed. To do this I modified the HTML to this: <div class="sheet-col">
<h3 class="sheet-center">Armor & Soak</h3>
<div class="sheet-row">
<div class="sheet-item sheet-90">
Armor Type
</div>
<div class="sheet-item sheet-50">
Rating
</div>
<div class="sheet-item sheet-50">
DEX Penalty
</div>
<div class="sheet-item sheet-40">
In Use?
</div>
</div>
<div class="sheet-row">
<div class="sheet-item sheet-90">
<input type="text" name="attr_armor1-name"/>
</div>
<div class="sheet-item sheet-50">
<input type="number" name="attr_armor1-Rating"/>
</div>
<div class="sheet-item sheet-50">
<input type="number" name="attr_armor1-Dexterity_Penalty"/>
</div>
<div class="sheet-item sheet-40">
<div class="sheet-Query">
<input type="radio" class="sheet-Query sheet-no" name="attr_armor_1_use" value="0" checked="checked" />
<input type="radio" class="sheet-Query sheet-yes" name="attr_armor_1_use" value="1" />
<span class="sheet-Query sheet-yes">Yes</span>
<span class="sheet-Query sheet-no">No</span>
</div>
</div>
</div>
<div class="sheet-row">
<div class="sheet-item sheet-90">
<input type="text" name="attr_armor2-name"/>
</div>
<div class="sheet-item sheet-50">
<input type="number" name="attr_armor2-Rating"/>
</div>
<div class="sheet-item sheet-50">
<input type="number" name="attr_armor2-Dexterity_Penalty"/>
</div>
<div class="sheet-item sheet-40">
<div class="sheet-Query">
<input type="radio" class="sheet-Query sheet-no" name="attr_armor_2_use" value="0" checked="checked" />
<input type="radio" class="sheet-Query sheet-yes" name="attr_armor_2_use" value="1" />
<span class="sheet-Query sheet-yes">Yes</span>
<span class="sheet-Query sheet-no">No</span>
</div>
</div>
</div>
<div class="sheet-row">
<div class="sheet-item sheet-90">
<input type="text" name="attr_armor3-name"/>
</div>
<div class="sheet-item sheet-50">
<input type="number" name="attr_armor3-Rating"/>
</div>
<div class="sheet-item sheet-50">
<input type="number" name="attr_armor3-Dexterity_Penalty"/>
</div>
<div class="sheet-item sheet-40">
<div class="sheet-Query">
<input type="radio" class="sheet-Query sheet-no" name="attr_armor_3_use" value="0" checked="checked" />
<input type="radio" class="sheet-Query sheet-yes" name="attr_armor_3_use" value="1" />
<span class="sheet-Query sheet-yes">Yes</span>
<span class="sheet-Query sheet-no">No</span>
</div>
</div>
</div>
<div class="sheet-row">
<div class="sheet-item sheet-90">
<input type="text" name="attr_armor4-name"/>
</div>
<div class="sheet-item sheet-50">
<input type="number" name="attr_armor4-Rating"/>
</div>
<div class="sheet-item sheet-50">
<input type="number" name="attr_armor4-Dexterity_Penalty"/>
</div>
<div class="sheet-item sheet-40">
<div class="sheet-Query">
<input type="radio" class="sheet-Query sheet-no" name="attr_armor_4_use" value="0" checked="checked" />
<input type="radio" class="sheet-Query sheet-yes" name="attr_armor_4_use" value="1" />
<span class="sheet-Query sheet-yes">Yes</span>
<span class="sheet-Query sheet-no">No</span>
</div>
</div>
</div>
<div class="sheet-row">
<div class="sheet-item sheet-90">
<span>Totals:</span>
</div>
<div class="sheet-item sheet-50">
<input type="number" value="0" min="0" name="attr_armor-Rating" readonly="true" />
</div>
<div class="sheet-item sheet-50">
<input type="number" value="0" min="0" name="attr_armor-Dexterity_Penalty" readonly="true" />
</div>
<div class="sheet-item sheet-40">
</div>
</div>
And added this script: on("change:armor1-Rating change:armor2-Rating change:armor3-Rating change:armor4-Rating change:armor_1_use change:armor_2_use change:armor_3_use change:armor_4_use change:armor1-Dexterity_Penalty change:armor2-Dexterity_Penalty change:armor3-Dexterity_Penalty change:armor4-Dexterity_Penalty sheet:opened", function() {
getAttrs(["armor1-Rating", "armor2-Rating", "armor3-Rating", "armor4-Rating", "armor_1_use", "armor_2_use", "armor_3_use", "armor_4_use", "armor1-Dexterity_Penalty", "armor2-Dexterity_Penalty", "armor3-Dexterity_Penalty", "armor4-Dexterity_Penalty"], function(values) {
let aR1 = parseInt(values.armor1-Rating)||0;
let aR2 = parseInt(values.armor2-Rating)||0;
let aR3 = parseInt(values.armor3-Rating)||0;
let aR4 = parseInt(values.armor4-Rating)||0;
let aU1 = parseInt(values.armor_1_use)||0;
let aU2 = parseInt(values.armor_2_use)||0;
let aU3 = parseInt(values.armor_3_use)||0;
let aU4 = parseInt(values.armor_4_use)||0;
let aDP1 = parseInt(values.armor1-Dexterity_Penalty)||0;
let aDP2 = parseInt(values.armor2-Dexterity_Penalty)||0;
let aDP3 = parseInt(values.armor3-Dexterity_Penalty)||0;
let aDP4 = parseInt(values.armor4-Dexterity_Penalty)||0;
let aR = (aR1 * aU1) + (aR2 * aU2) + (aR3 * aU3) + (aR4 * aU4);
let aDP = (aDP1 * aU1) + (aDP2 * aU2) + (aDP3 * aU3) + (aDP4 * aU4);
setAttrs({
armor-Rating: aR,
armor-Dexterity_Penalty: aDP
});
});
});
When this script is active, all the scripts on the page die. Most of my scripting experience is in PHP where I have server side errors to work with. Here, trying to use the dev tools in the browser gets me loads of warning and errors from stiff some google, etc. but nothing I can find about this script. Obviously I have made some mistake because it kills all scripts, but I am not sure what I am doing wrong. The entire sheet can be found here: <a href="https://github.com/e-mccormick/cWoD-Unified-Roll20-sheet/" rel="nofollow">https://github.com/e-mccormick/cWoD-Unified-Roll20-sheet/</a>