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}--`, '', '', '---------']);