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 @@