From be5a4d4d53cdfda64214dcd8f9aaf80015e7c617 Mon Sep 17 00:00:00 2001 From: Cassie Date: Sat, 28 Mar 2020 17:19:35 -0500 Subject: [PATCH] give buttons more space, fix drones --- Shadowrun5thEdition/Shadowrun5thEdition.css | 2 ++ Shadowrun5thEdition/Shadowrun5thEdition.html | 8 ++++---- Shadowrun5thEdition/Shadowrun5thEdition.scss | 4 ++++ Shadowrun5thEdition/src/js/processingFunctions.js | 8 ++++---- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/Shadowrun5thEdition/Shadowrun5thEdition.css b/Shadowrun5thEdition/Shadowrun5thEdition.css index 992bdca875..02938f2c09 100644 --- a/Shadowrun5thEdition/Shadowrun5thEdition.css +++ b/Shadowrun5thEdition/Shadowrun5thEdition.css @@ -591,6 +591,8 @@ div.sheet-matrix-device .sheet-matrixFirewall { display: grid; grid-template-columns: 1.5fr 1.5fr; overflow: hidden; } + .sheet-pc div.sheet-skill-box input[name='attr_specialization'][value=''] ~ div.sheet-buttons { + grid-template-columns: 1fr; } .sheet-pc div.sheet-skill-box input[name='attr_rating_modifier'] { width: 3.5em; } .sheet-pc div.sheet-skill-box div.sheet-row-long { diff --git a/Shadowrun5thEdition/Shadowrun5thEdition.html b/Shadowrun5thEdition/Shadowrun5thEdition.html index 2314589fce..a789d2fabe 100644 --- a/Shadowrun5thEdition/Shadowrun5thEdition.html +++ b/Shadowrun5thEdition/Shadowrun5thEdition.html @@ -3493,13 +3493,13 @@ const processingFunctions = { convertIntegersNegatives: numbers => { for (let [key, value] of Object.entries(numbers)) { numbers[key] = processingFunctions.convertIntegerNegative(value); - } + }calculateConditionTracks return numbers }, findRepeatingField: trigger => trigger.split('_')[1], //Roll20 does not allow for Promises //getAttributes: array => new Promise((resolve, reject) => array ? getAttrs(array, v => resolve(v)) : reject(errorMessage('Function failed'))), - getReprowid: trigger => { + getReprowid: trigger => {calculateConditionTracks const split = trigger.split('_'); return `${split[0]}_${split[1]}_${split[2]}` }, @@ -3535,7 +3535,7 @@ const processingFunctions = { }, conditionFactory: attrs => { attrs.attribute = processingFunctions.shadowrun.determineConditionAttribute(attrs) - attrs.base = processingFunctions.shadowrun.determineConditionBase(attrs.sheet_type, attrs.drone_flag) + attrs.base = processingFunctions.shadowrun.determineConditionBase(attrs.sheet_type, attrs.flag_drone) attrs.modifier = attrs[processingFunctions.shadowrun.findModifierInKeys(attrs)] Object.keys(attrs).forEach(key => !['attribute', 'base', 'modifier'].includes(key) ? delete attrs[key] : false) attrs = processingFunctions.parseIntegers(attrs) @@ -3579,7 +3579,7 @@ const processingFunctions = { skill = skill.includes(" ") ? skill.replace(/ /g,"") : skill return skill }, - determineConditionBase: (type, drone) => drone ? 6 : type === 'vehicle' ? 12 : 8, + determineConditionBase: (type, drone) => drone && drone === 'drone' ? 6 : type === 'vehicle' ? 12 : 8, determineConditionAttribute: attrs => attrs.willpower ? attrs.willpower : attrs.body ? attrs.body : attrs.device_rating ? attrs.device_rating : 0, determineWeaponAttributesByType: weaponType => weaponType === 'range' ? sheetAttributes.rangeAttributes : sheetAttributes.meleeAttributes, findFlagInKeys: attrs => Object.keys(attrs).find(key => key.includes('_flag')), diff --git a/Shadowrun5thEdition/Shadowrun5thEdition.scss b/Shadowrun5thEdition/Shadowrun5thEdition.scss index 453154e928..54e95a5339 100644 --- a/Shadowrun5thEdition/Shadowrun5thEdition.scss +++ b/Shadowrun5thEdition/Shadowrun5thEdition.scss @@ -541,6 +541,10 @@ $npcTypes: 'grunt', 'host', 'sprite', 'vehicle'; grid-template-columns: 1.5fr 1.5fr; overflow: hidden; } + + input[name='attr_specialization'][value=''] ~ div.sheet-buttons { + grid-template-columns: 1fr; + } input[name='attr_skill'] { @extend %borderBottom; } diff --git a/Shadowrun5thEdition/src/js/processingFunctions.js b/Shadowrun5thEdition/src/js/processingFunctions.js index b25db0e39c..464fafa019 100644 --- a/Shadowrun5thEdition/src/js/processingFunctions.js +++ b/Shadowrun5thEdition/src/js/processingFunctions.js @@ -5,13 +5,13 @@ const processingFunctions = { convertIntegersNegatives: numbers => { for (let [key, value] of Object.entries(numbers)) { numbers[key] = processingFunctions.convertIntegerNegative(value); - } + }calculateConditionTracks return numbers }, findRepeatingField: trigger => trigger.split('_')[1], //Roll20 does not allow for Promises //getAttributes: array => new Promise((resolve, reject) => array ? getAttrs(array, v => resolve(v)) : reject(errorMessage('Function failed'))), - getReprowid: trigger => { + getReprowid: trigger => {calculateConditionTracks const split = trigger.split('_'); return `${split[0]}_${split[1]}_${split[2]}` }, @@ -47,7 +47,7 @@ const processingFunctions = { }, conditionFactory: attrs => { attrs.attribute = processingFunctions.shadowrun.determineConditionAttribute(attrs) - attrs.base = processingFunctions.shadowrun.determineConditionBase(attrs.sheet_type, attrs.drone_flag) + attrs.base = processingFunctions.shadowrun.determineConditionBase(attrs.sheet_type, attrs.flag_drone) attrs.modifier = attrs[processingFunctions.shadowrun.findModifierInKeys(attrs)] Object.keys(attrs).forEach(key => !['attribute', 'base', 'modifier'].includes(key) ? delete attrs[key] : false) attrs = processingFunctions.parseIntegers(attrs) @@ -91,7 +91,7 @@ const processingFunctions = { skill = skill.includes(" ") ? skill.replace(/ /g,"") : skill return skill }, - determineConditionBase: (type, drone) => drone ? 6 : type === 'vehicle' ? 12 : 8, + determineConditionBase: (type, drone) => drone && drone === 'drone' ? 6 : type === 'vehicle' ? 12 : 8, determineConditionAttribute: attrs => attrs.willpower ? attrs.willpower : attrs.body ? attrs.body : attrs.device_rating ? attrs.device_rating : 0, determineWeaponAttributesByType: weaponType => weaponType === 'range' ? sheetAttributes.rangeAttributes : sheetAttributes.meleeAttributes, findFlagInKeys: attrs => Object.keys(attrs).find(key => key.includes('_flag')),