update gurps

Add code to handle single traits instead of an array of traits.
This commit is contained in:
Ken
2020-12-30 12:49:06 -08:00
parent 42ceed14ee
commit c178ca12b3
+32 -9
View File
@@ -26359,7 +26359,7 @@ The attacker may choose to hit the original target or the limb you used to parry
let attributes = jsonData.Character.Traits.Attribute;
let advantages = jsonData.Character.Traits.Advantage;
let advantages = getJsonArrayFromTrait(jsonData.Character.Traits.Advantage);
let campaign = jsonData.Character.Campaign;
@@ -26477,6 +26477,29 @@ The attacker may choose to hit the original target or the limb you used to parry
"Fearlessness",
];
/**
* If a trait, like Advantage only has one advantage,
* then the JSON is NOT an array. We have to convert that
* element to an array
* NOTE: Classic single or array issue with json
*
* @param json trait A trait(s) like advantages, perks, etc.
*/
function getJsonArrayFromTrait(trait) {
let traits;
if (Array.isArray(trait)) {
traits = trait;
} else {
// convert to an array
traits = [trait];
}
return traits;
}
/**
* Loops advantages and add advantages
* TODO: Check to see if advantage already exists, then update
@@ -26490,7 +26513,7 @@ The attacker may choose to hit the original target or the limb you used to parry
// make sure we have a valid function
callback = callback || noop;
let advantages = jsonData.Character.Traits.Advantage;
let advantages = getJsonArrayFromTrait(jsonData.Character.Traits.Advantage);
let rows = {};
@@ -26926,9 +26949,9 @@ The attacker may choose to hit the original target or the limb you used to parry
// make sure we have a valid function
callback = callback || noop;
let perks = jsonData.Character.Traits.Perks;
let perks = getJsonArrayFromTrait(jsonData.Character.Traits.Perks);
let quirks = jsonData.Character.Traits.Quirk;
let quirks = getJsonArrayFromTrait(jsonData.Character.Traits.Quirk);
let rows = {};
@@ -27031,7 +27054,7 @@ The attacker may choose to hit the original target or the limb you used to parry
// make sure we have a valid function
callback = callback || noop;
let disadvantages = jsonData.Character.Traits.Disadvantage;
let disadvantages = getJsonArrayFromTrait(jsonData.Character.Traits.Disadvantage);
let rows = {};
@@ -27199,7 +27222,7 @@ The attacker may choose to hit the original target or the limb you used to parry
// make sure we have a valid function
callback = callback || noop;
let skills = jsonData.Character.Traits.Skill;
let skills = getJsonArrayFromTrait(jsonData.Character.Traits.Skill);
let rows = {};
@@ -27423,7 +27446,7 @@ The attacker may choose to hit the original target or the limb you used to parry
// make sure we have a valid function
callback = callback || noop;
let skills = jsonData.Character.Traits.Skill;
let skills = getJsonArrayFromTrait(jsonData.Character.Traits.Skill);
let rows = {};
@@ -27643,7 +27666,7 @@ The attacker may choose to hit the original target or the limb you used to parry
// make sure we have a valid function
callback = callback || noop;
let items = jsonData.Character.Traits.Equipment;
let items = getJsonArrayFromTrait(jsonData.Character.Traits.Equipment);
let rows = {};
@@ -27768,7 +27791,7 @@ The attacker may choose to hit the original target or the limb you used to parry
// make sure we have a valid function
callback = callback || noop;
let spells = jsonData.Character.Traits.Spell;
let spells = getJsonArrayFromTrait(jsonData.Character.Traits.Spell);
let rows = {};