diff --git a/module/applications/settings.mjs b/module/applications/settings.mjs index a7eed1b9..8f5b3446 100644 --- a/module/applications/settings.mjs +++ b/module/applications/settings.mjs @@ -166,8 +166,6 @@ class DhpRangeSettings extends FormApplication { } export const registerDHSettings = () => { - // const debouncedReload = foundry.utils.debounce(() => window.location.reload(), 100); - game.settings.register(SYSTEM.id, SYSTEM.SETTINGS.gameSettings.General.AbilityArray, { name: game.i18n.localize('DAGGERHEART.Settings.General.AbilityArray.Name'), hint: game.i18n.localize('DAGGERHEART.Settings.General.AbilityArray.Hint'), @@ -274,7 +272,7 @@ export const registerDHSettings = () => { name: game.i18n.localize('DAGGERHEART.Settings.DualityRollColor.Name'), hint: game.i18n.localize('DAGGERHEART.Settings.DualityRollColor.Hint'), scope: 'world', - config: true, + config: false, type: Number, choices: Object.values(DualityRollColor), default: DualityRollColor.colorful.value diff --git a/module/applications/settings/appearanceSettings.mjs b/module/applications/settings/appearanceSettings.mjs index e906012b..fb395d6e 100644 --- a/module/applications/settings/appearanceSettings.mjs +++ b/module/applications/settings/appearanceSettings.mjs @@ -54,6 +54,20 @@ export default class DHAppearanceSettings extends HandlebarsApplicationMixin(App static async save() { await game.settings.set(SYSTEM.id, SYSTEM.SETTINGS.gameSettings.appearance, this.settings.toObject()); + const reload = await foundry.applications.api.DialogV2.confirm({ + id: 'reload-world-confirm', + modal: true, + rejectClose: false, + window: { title: 'SETTINGS.ReloadPromptTitle' }, + position: { width: 400 }, + content: `

${game.i18n.localize('SETTINGS.ReloadPromptBody')}

` + }); + + if (reload) { + await game.socket.emit('reload'); + foundry.utils.debouncedReload(); + } + this.close(); } } diff --git a/module/data/chat-message/adversaryRoll.mjs b/module/data/chat-message/adversaryRoll.mjs index 452cbb47..0a02677f 100644 --- a/module/data/chat-message/adversaryRoll.mjs +++ b/module/data/chat-message/adversaryRoll.mjs @@ -5,6 +5,7 @@ export default class DHAdversaryRoll extends foundry.abstract.TypeDataModel { return { title: new fields.StringField(), origin: new fields.StringField({ required: true }), + dice: new fields.DataField(), roll: new fields.DataField(), modifiers: new fields.ArrayField( new fields.SchemaField({ diff --git a/module/documents/actor.mjs b/module/documents/actor.mjs index ca2eb777..2f24a272 100644 --- a/module/documents/actor.mjs +++ b/module/documents/actor.mjs @@ -195,7 +195,12 @@ export default class DhpActor extends Actor { } formula += ` ${modifiers.map(x => `+ ${x.value}`).join(' ')}`; const roll = await Roll.create(formula).evaluate(); - roll.rolledDice = roll.dice; // Perpetuating getter field + const dice = roll.dice.flatMap(dice => ({ + denomination: dice.denomination, + number: dice.number, + total: dice.total, + results: dice.results.map(result => ({ result: result.result, discarded: !result.active })) + })); if (this.type === 'character') { setDiceSoNiceForDualityRoll(roll, advantage); @@ -246,6 +251,7 @@ export default class DhpActor extends Actor { const configRoll = { title: config.title, origin: this.id, + dice, roll, modifiers: modifiers.filter(x => x.label), advantageState: advantage diff --git a/templates/chat/adversary-attack-roll.hbs b/templates/chat/adversary-attack-roll.hbs index 90c624cc..75d661ae 100644 --- a/templates/chat/adversary-attack-roll.hbs +++ b/templates/chat/adversary-attack-roll.hbs @@ -6,7 +6,7 @@
- {{#each roll.dice}} + {{#each dice}}
{{number}}{{denomination}} {{total}} @@ -17,7 +17,7 @@
  • {{result}}
  • {{/each}} -
    {{#if (eq ../advantageState 1)}}{{localize "DAGGERHEART.General.Advantage.Full"}}{{/if}}{{#if (eq ../advantageState 2)}}{{localize "DAGGERHEART.General.Disadvantage.Full"}}{{/if}}
    +
    {{#if ../advantageState}}{{localize "DAGGERHEART.General.Advantage.Full"}}{{/if}}{{#if (eq ../advantageState false)}}{{localize "DAGGERHEART.General.Disadvantage.Full"}}{{/if}}
    {{/each}}
    diff --git a/templates/chat/adversary-roll.hbs b/templates/chat/adversary-roll.hbs index b0877b8d..b29f60b5 100644 --- a/templates/chat/adversary-roll.hbs +++ b/templates/chat/adversary-roll.hbs @@ -1,14 +1,23 @@ -
    +
    {{roll.formula}}
      - {{#each roll.dice}} - {{#each results}} -
    1. {{result}}
    2. + {{#each dice}} +
      + {{number}}{{denomination}} + {{total}} +
      +
      +
        + {{#each results}} +
      1. {{result}}
      2. + {{/each}} +
      +
      {{#if ../advantageState}}{{localize "DAGGERHEART.General.Advantage.Full"}}{{/if}}{{#if (eq ../advantageState false)}}{{localize "DAGGERHEART.General.Disadvantage.Full"}}{{/if}}
      +
      {{/each}} - {{/each}}
      {{#each modifiers}}