Merged with main

This commit is contained in:
WBHarry 2025-12-22 14:34:25 +01:00
commit e1e3feb6bb
8 changed files with 180 additions and 98 deletions

View file

@ -21,8 +21,8 @@ export const registerDHSettings = () => {
scope: 'world',
config: true,
type: Boolean,
onChange: () => ui.combat.render(),
})
onChange: () => ui.combat.render()
});
};
const registerMenuSettings = () => {
@ -46,6 +46,9 @@ const registerMenuSettings = () => {
if (value.maxFear) {
if (ui.resources) ui.resources.render({ force: true });
}
// Some homebrew settings may change sheets in various ways, so trigger a re-render
resetActors();
}
});
@ -140,3 +143,25 @@ const registerNonConfigSettings = () => {
type: DhTagTeamRoll
});
};
/**
* Triggers a reset and non-forced re-render on all given actors (if given)
* or all world actors and actors in all scenes to show immediate results for a changed setting.
*/
function resetActors(actors) {
actors ??= [
game.actors.contents,
game.scenes.contents.flatMap(s => s.tokens.contents).flatMap(t => t.actor ?? [])
].flat();
actors = new Set(actors);
for (const actor of actors) {
for (const app of Object.values(actor.apps)) {
for (const element of app.element?.querySelectorAll('prose-mirror.active')) {
element.open = false; // This triggers a save
}
}
actor.reset();
actor.render();
}
}