diff --git a/package/ose-v0.6.zip b/package/ose-v0.6.zip index aee75f2..521125c 100644 Binary files a/package/ose-v0.6.zip and b/package/ose-v0.6.zip differ diff --git a/src/module/settings.js b/src/module/settings.js index 7fbc0cf..7c765d0 100644 --- a/src/module/settings.js +++ b/src/module/settings.js @@ -6,6 +6,7 @@ export const registerSettings = function () { scope: "world", type: Boolean, config: true, + onChange: _ => window.location.reload() }); game.settings.register("ose", "ascendingAC", { diff --git a/src/ose.js b/src/ose.js index 4115135..347cf8f 100644 --- a/src/ose.js +++ b/src/ose.js @@ -81,14 +81,22 @@ Hooks.once("ready", async () => { }); Hooks.on("preCreateCombatant", (combat, data, options, id) => { - OseCombat.addCombatant(combat, data, options, id); + let init = game.settings.get("ose", "individualInit"); + if (!init) { + OseCombat.addCombatant(combat, data, options, id); + } }); Hooks.on("preUpdateCombatant", (combat, combatant, data, diff, id) => { - if (data.initiative) { + let init = game.settings.get("ose", "individualInit"); + if (data.initiative && !init) { let groupInit = data.initiative; combat.combatants.forEach((ct) => { - if (ct.initiative && ct._id != data._id && ct.flags.ose.group == combatant.flags.ose.group) { + if ( + ct.initiative && + ct._id != data._id && + ct.flags.ose.group == combatant.flags.ose.group + ) { groupInit = ct.initiative; data.initiative = parseInt(groupInit); } @@ -97,11 +105,15 @@ Hooks.on("preUpdateCombatant", (combat, combatant, data, diff, id) => { }); Hooks.on("renderCombatTracker", (object, html, data) => { - OseCombat.format(object, html, data); + let init = game.settings.get("ose", "individualInit"); + if (!init) { + OseCombat.format(object, html, data); + } }); Hooks.on("preUpdateCombat", async (combat, data, diff, id) => { - if (!data.round) { + let init = game.settings.get("ose", "individualInit"); + if (!data.round || init) { return; } OseCombat.rollInitiative(combat, data, diff, id);