diff --git a/assets/turn-marker.png b/assets/turn-marker.png new file mode 100644 index 0000000..fa70749 Binary files /dev/null and b/assets/turn-marker.png differ diff --git a/module/hooks/init.mjs b/module/hooks/init.mjs index 9c61730..35c434d 100644 --- a/module/hooks/init.mjs +++ b/module/hooks/init.mjs @@ -103,6 +103,7 @@ Hooks.once(`init`, () => { // #region Token Attrs CONFIG.Actor.trackableAttributes.hero = HeroData.trackableAttributes; + // #endregion registerCustomComponents(); Handlebars.registerHelper(helpers); diff --git a/module/hooks/ready.mjs b/module/hooks/ready.mjs index 919f869..c71bc25 100644 --- a/module/hooks/ready.mjs +++ b/module/hooks/ready.mjs @@ -1,3 +1,4 @@ +import { filePath } from "../consts.mjs"; import { Logger } from "../utils/Logger.mjs"; Hooks.once(`ready`, () => { @@ -21,4 +22,15 @@ Hooks.once(`ready`, () => { if (game.settings.get(`ripcrypt`, `showDelveTour`)) { ui.crypt.render({ force: true }); }; + + // MARK: 1-time updates + if (!game.settings.get(`ripcrypt`, `firstLoadFinished`)) { + // Update the turnMarker to be the RipCrypt defaults + const combatConfig = game.settings.get(`core`, `combatTrackerConfig`); + combatConfig.turnMarker.src = filePath(`assets/turn-marker.png`); + combatConfig.turnMarker.animation = `spinPulse`; + game.settings.set(`core`, `combatTrackerConfig`, combatConfig); + } + + game.settings.set(`ripcrypt`, `firstLoadFinished`, true); }); diff --git a/module/settings/metaSettings.mjs b/module/settings/metaSettings.mjs index 24eed63..d0b6798 100644 --- a/module/settings/metaSettings.mjs +++ b/module/settings/metaSettings.mjs @@ -30,4 +30,11 @@ export function registerMetaSettings() { await ui.combat.render({ parts: [ `tracker` ] }); }, }); + + game.settings.register(`ripcrypt`, `firstLoadFinished`, { + scope: `world`, + type: Boolean, + initial: false, + requiresReload: false, + }); };