diff --git a/AD&D 2E Revised/2ESheet.html b/AD&D 2E Revised/2ESheet.html index 26e09bf909..d1e5c8cb33 100644 --- a/AD&D 2E Revised/2ESheet.html +++ b/AD&D 2E Revised/2ESheet.html @@ -19610,6 +19610,10 @@ Distance ({{computed::distance}}): {{distance}} feet + + Test string ({{grenade}}): + Test computed string {{computed::grenade}} feet + @@ -31105,7 +31109,8 @@ on('clicked:grenade-miss', function (eventInfo) { default: displayDistance = 'Invalid'; break; } finishRoll(results.rollId, { - distance: displayDistance + distance: displayDistance, + grenade: "computed grenade" }) }); }); @@ -31338,26 +31343,37 @@ function migrateGems() { let name = section[1]; let oldGemFields = fieldArray.map(s => `${s}${index}`); let sectionName = `gem${index}`; + let gemdesc = `gemdesc${index}`; + let gemsizecut = `gemsizecut${index}`; + let gemvalue = `gemvalue${index}`; + let gemqty = `gemqty${index}`; TAS.repeating(sectionName) .attrs(oldGemFields) .fields(oldGemFields) .reduce(function (memo, row) { - if (row.S[`gemdesc${index}`] || row.S[`gemsizecut${index}`] || row.F[`gemvalue${index}`] || row.F[`gemqty`]) { - console.log(`Moving repeating gem: '${row.S[`gemdesc${index}`]}'`) - memo.push(oldGemFields.map(field => row.S[field])); + if ((row.hasOwnProperty(gemdesc) && row.S[gemdesc]) || + (row.hasOwnProperty(gemsizecut) && row.S[gemsizecut]) || + (row.hasOwnProperty(gemvalue) && row.F[gemvalue]) || + (row.hasOwnProperty(gemqty) && row.F[gemqty])) { + console.log(`Moving repeating gem: '${row[gemdesc]}'`) + + memo.push(oldGemFields.map(field => row[field] || '')); removeRepeatingRow(`repeating_${sectionName}_${row.id}`); } return memo; }, [], function (memo, rowSet, attrSet) { let newValue = {}; - if (attrSet.S[`gemdesc${index}`] || attrSet.S[`gemsizecut${index}`] || attrSet.F[`gemvalue${index}`] || attrSet.F[`gemqty`]) { - console.log(`Moving static gem: '${attrSet.S[`gemdesc${index}`]}'`) + if ((attrSet.hasOwnProperty(gemdesc) && attrSet.S[gemdesc]) || + (attrSet.hasOwnProperty(gemsizecut) && attrSet.S[gemsizecut]) || + (attrSet.hasOwnProperty(gemvalue) && attrSet.F[gemvalue]) || + (attrSet.hasOwnProperty(gemqty) && attrSet.F[gemqty])) { + console.log(`Moving static gem: '${attrSet[gemdesc]}'`) - memo.splice(0, 0, oldGemFields.map(field => attrSet.S[field])); - newValue[`gemdesc${index}`] = ''; - newValue[`gemvalue${index}`] = ''; - newValue[`gemqty${index}`] = ''; - newValue[`gemsizecut${index}`] = ''; + memo.splice(0, 0, oldGemFields.map(field => attrSet[field])); + newValue[gemdesc] = ''; + newValue[gemvalue] = ''; + newValue[gemqty] = ''; + newValue[gemsizecut] = ''; } if (memo.length > 0) { memo.splice(0, 0, [`--${name}--`, '', '', '---------']); diff --git a/AD&D 2E Revised/html/rolltemplates.html b/AD&D 2E Revised/html/rolltemplates.html index e2806db3a9..e4a8655821 100644 --- a/AD&D 2E Revised/html/rolltemplates.html +++ b/AD&D 2E Revised/html/rolltemplates.html @@ -713,6 +713,10 @@ Distance ({{computed::distance}}): {{distance}} feet + + Test string ({{grenade}}): + Test computed string {{computed::grenade}} feet + diff --git a/AD&D 2E Revised/javascript/sheetWorkers.js b/AD&D 2E Revised/javascript/sheetWorkers.js index 22725788d6..bbf5de8b38 100644 --- a/AD&D 2E Revised/javascript/sheetWorkers.js +++ b/AD&D 2E Revised/javascript/sheetWorkers.js @@ -1077,7 +1077,8 @@ on('clicked:grenade-miss', function (eventInfo) { default: displayDistance = 'Invalid'; break; } finishRoll(results.rollId, { - distance: displayDistance + distance: displayDistance, + grenade: "computed grenade" }) }); }); diff --git a/AD&D 2E Revised/javascript/version.js b/AD&D 2E Revised/javascript/version.js index c1336ecfae..9d3bc34d66 100644 --- a/AD&D 2E Revised/javascript/version.js +++ b/AD&D 2E Revised/javascript/version.js @@ -100,26 +100,37 @@ function migrateGems() { let name = section[1]; let oldGemFields = fieldArray.map(s => `${s}${index}`); let sectionName = `gem${index}`; + let gemdesc = `gemdesc${index}`; + let gemsizecut = `gemsizecut${index}`; + let gemvalue = `gemvalue${index}`; + let gemqty = `gemqty${index}`; TAS.repeating(sectionName) .attrs(oldGemFields) .fields(oldGemFields) .reduce(function (memo, row) { - if (row.S[`gemdesc${index}`] || row.S[`gemsizecut${index}`] || row.F[`gemvalue${index}`] || row.F[`gemqty`]) { - console.log(`Moving repeating gem: '${row.S[`gemdesc${index}`]}'`) - memo.push(oldGemFields.map(field => row.S[field])); + if ((row.hasOwnProperty(gemdesc) && row.S[gemdesc]) || + (row.hasOwnProperty(gemsizecut) && row.S[gemsizecut]) || + (row.hasOwnProperty(gemvalue) && row.F[gemvalue]) || + (row.hasOwnProperty(gemqty) && row.F[gemqty])) { + console.log(`Moving repeating gem: '${row[gemdesc]}'`) + + memo.push(oldGemFields.map(field => row[field] || '')); removeRepeatingRow(`repeating_${sectionName}_${row.id}`); } return memo; }, [], function (memo, rowSet, attrSet) { let newValue = {}; - if (attrSet.S[`gemdesc${index}`] || attrSet.S[`gemsizecut${index}`] || attrSet.F[`gemvalue${index}`] || attrSet.F[`gemqty`]) { - console.log(`Moving static gem: '${attrSet.S[`gemdesc${index}`]}'`) + if ((attrSet.hasOwnProperty(gemdesc) && attrSet.S[gemdesc]) || + (attrSet.hasOwnProperty(gemsizecut) && attrSet.S[gemsizecut]) || + (attrSet.hasOwnProperty(gemvalue) && attrSet.F[gemvalue]) || + (attrSet.hasOwnProperty(gemqty) && attrSet.F[gemqty])) { + console.log(`Moving static gem: '${attrSet[gemdesc]}'`) - memo.splice(0, 0, oldGemFields.map(field => attrSet.S[field])); - newValue[`gemdesc${index}`] = ''; - newValue[`gemvalue${index}`] = ''; - newValue[`gemqty${index}`] = ''; - newValue[`gemsizecut${index}`] = ''; + memo.splice(0, 0, oldGemFields.map(field => attrSet[field])); + newValue[gemdesc] = ''; + newValue[gemvalue] = ''; + newValue[gemqty] = ''; + newValue[gemsizecut] = ''; } if (memo.length > 0) { memo.splice(0, 0, [`--${name}--`, '', '', '---------']);