mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-12 11:41:08 +01:00
41 lines
1.4 KiB
JavaScript
41 lines
1.4 KiB
JavaScript
import { abilities } from '../config/actorConfig.mjs';
|
|
import { rollCommandToJSON } from '../helpers/utils.mjs';
|
|
|
|
export function dualityRollEnricher(match, _options) {
|
|
const roll = rollCommandToJSON(match[1]);
|
|
if (!roll) return match[0];
|
|
|
|
return getDualityMessage(roll);
|
|
}
|
|
|
|
export function getDualityMessage(roll) {
|
|
const traitLabel =
|
|
roll.trait && abilities[roll.trait]
|
|
? game.i18n.format('DAGGERHEART.General.Check', {
|
|
check: game.i18n.localize(abilities[roll.trait].label)
|
|
})
|
|
: null;
|
|
|
|
const label = traitLabel ?? game.i18n.localize('DAGGERHEART.General.Duality');
|
|
const dataLabel = traitLabel
|
|
? game.i18n.localize(abilities[roll.trait].label)
|
|
: game.i18n.localize('DAGGERHEART.General.Duality');
|
|
|
|
const dualityElement = document.createElement('span');
|
|
dualityElement.innerHTML = `
|
|
<button class="duality-roll-button"
|
|
data-title="${label}"
|
|
data-label="${dataLabel}"
|
|
data-hope="${roll.hope ?? 'd12'}"
|
|
data-fear="${roll.fear ?? 'd12'}"
|
|
${roll.trait && abilities[roll.trait] ? `data-trait="${roll.trait}"` : ''}
|
|
${roll.advantage ? 'data-advantage="true"' : ''}
|
|
${roll.disadvantage ? 'data-disadvantage="true"' : ''}
|
|
>
|
|
<i class="fa-solid fa-circle-half-stroke"></i>
|
|
${label}
|
|
</button>
|
|
`;
|
|
|
|
return dualityElement;
|
|
}
|