diff --git a/module/applications/sheets/rollTables/rollTable.mjs b/module/applications/sheets/rollTables/rollTable.mjs index 95c8e5c8..f7031461 100644 --- a/module/applications/sheets/rollTables/rollTable.mjs +++ b/module/applications/sheets/rollTables/rollTable.mjs @@ -11,7 +11,7 @@ export default class DhRollTableSheet extends foundry.applications.sheets.RollTa }; static buildParts() { - const { footer, header, sheet, ...parts } = super.PARTS; + const { footer, header, sheet, results, ...parts } = super.PARTS; return { sheet: { ...sheet, @@ -19,6 +19,11 @@ export default class DhRollTableSheet extends foundry.applications.sheets.RollTa }, header: { template: 'systems/daggerheart/templates/sheets/rollTable/header.hbs' }, ...parts, + results: { + template: 'systems/daggerheart/templates/sheets/rollTable/results.hbs', + templates: ['templates/sheets/roll-table/result-details.hbs'], + scrollable: ['table[data-results] tbody'] + }, summary: { template: 'systems/daggerheart/templates/sheets/rollTable/summary.hbs' }, footer }; @@ -54,6 +59,7 @@ export default class DhRollTableSheet extends foundry.applications.sheets.RollTa }; context.activeAltFormula = this.daggerheartFlag.activeAltFormula; context.selectedFormula = this.daggerheartFlag.getActiveFormula(this.document.formula); + context.results = this.getExtendedResults(context.results); break; case 'header': context.altFormula = this.daggerheartFlag.altFormula; @@ -69,11 +75,26 @@ export default class DhRollTableSheet extends foundry.applications.sheets.RollTa context.altFormula = this.daggerheartFlag.altFormula; context.formulaName = this.daggerheartFlag.formulaName; break; + case 'results': + context.results = this.getExtendedResults(context.results); + break; } return context; } + getExtendedResults(results) { + const bodyDarkMode = document.body.classList.contains('theme-dark'); + const elementLightMode = this.element.classList.contains('theme-light'); + const elementDarkMode = this.element.classList.contains('theme-dark'); + const isDarkMode = elementDarkMode || (!elementLightMode && bodyDarkMode); + + return results.map(x => ({ + ...x, + displayImg: isDarkMode && x.img === 'icons/svg/d20-black.svg' ? 'icons/svg/d20.svg' : x.img + })); + } + /* -------------------------------------------- */ /* Flag SystemData update methods */ /* -------------------------------------------- */ diff --git a/templates/sheets/rollTable/results.hbs b/templates/sheets/rollTable/results.hbs new file mode 100644 index 00000000..5e7944b0 --- /dev/null +++ b/templates/sheets/rollTable/results.hbs @@ -0,0 +1,55 @@ +
+ + + + + + + + + + + + {{#each results as |result i|}} + + + + + + + + + + + + + + {{/each}} + +
+ + {{localize "TABLE_RESULT.Details"}}{{localize "TABLE_RESULT.FIELDS.weight.label"}}{{localize "TABLE_RESULT.FIELDS.range.label"}} + +
+ {{localize + + {{> "templates/sheets/roll-table/result-details.hbs" result=result}} + + + + + + + + + + +
+
diff --git a/templates/sheets/rollTable/sheet.hbs b/templates/sheets/rollTable/sheet.hbs index 2c793906..f066825a 100644 --- a/templates/sheets/rollTable/sheet.hbs +++ b/templates/sheets/rollTable/sheet.hbs @@ -30,7 +30,7 @@ {{#each results as |result i|}} - {{localize + {{localize {{result.range}}