* fix translation bug and white space in notes * remove css duplicate variable * save update Astral Init Dice function * add back astral init * fix edge toggle * combine script files. Add additional unit tests * convert unit test to QUnit. Break up pugs into tabs * convert roll template pug, add fade/draain to chat template * add margin above drain/fade selects * break up scss into 7-1 * adjust css * add user feedback * remove obsolete css and add additiona user feedback * move npc sheet * reduce button highlighting change * fix bug in with the Primary target * refactor vehicle, add gear location * move and fix npc sheet
37 lines
1.5 KiB
JavaScript
37 lines
1.5 KiB
JavaScript
|
|
const processingFunctions = {
|
|
convertIntegerNegative: number => number > 0 ? -Math.abs(number) : number,
|
|
convertIntegersNegatives: numbers => {
|
|
for (let [key, value] of Object.entries(numbers)) {
|
|
numbers[key] = processingFunctions.convertIntegerNegative(value);
|
|
}
|
|
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 => {
|
|
const split = trigger.split('_');
|
|
return `${split[0]}_${split[1]}_${split[2]}`
|
|
},
|
|
getReprowAttribute: key => {
|
|
const getReprowid = processingFunctions.getReprowid(key)
|
|
return key.split(`${getReprowid}_`)[1]
|
|
},
|
|
getTranslations: translationKeys => {
|
|
let translations = {}
|
|
translationKeys.forEach(key => translations[`${key}`] = getTranslationByKey(key))
|
|
return translations
|
|
},
|
|
parseInteger: string => parseInt(string) || 0,
|
|
parseIntegers: numbers => {
|
|
for (let [key, value] of Object.entries(numbers)) {
|
|
numbers[key] = parseInt(value) || 0;
|
|
}
|
|
return numbers
|
|
},
|
|
setAttributes: (update, silent) => silent && typeof update === 'object' ? setAttrs(update, {silent:true}) : typeof update === 'object' ? setAttrs(update) : console.error(`${update} is not an object`),
|
|
sliceAttr: attribute => attribute.slice(2, -1),
|
|
sumIntegers: numbers => numbers.reduce((a,b) => a + b, 0),
|
|
}
|