export const registerSystemSettings = function() { /** * Track the system version upon which point a migration was last applied */ game.settings.register("sw5e", "systemMigrationVersion", { name: "System Migration Version", scope: "world", config: false, type: Number, default: 0 }); /** * Register diagonal movement rule setting */ game.settings.register("sw5e", "diagonalMovement", { name: "SETTINGS.5eDiagN", hint: "SETTINGS.5eDiagL", scope: "world", config: true, default: "555", type: String, choices: { "555": "SETTINGS.5eDiagPHB", "5105": "SETTINGS.5eDiagDMG" }, onChange: rule => canvas.grid.diagonalRule = rule }); /** * Register Initiative formula setting */ function _set5eInitiative(tiebreaker) { CONFIG.Combat.initiative.tiebreaker = tiebreaker; CONFIG.Combat.initiative.decimals = tiebreaker ? 2 : 0; if ( ui.combat && ui.combat._rendered ) ui.combat.render(); } game.settings.register("sw5e", "initiativeDexTiebreaker", { name: "SETTINGS.5eInitTBN", hint: "SETTINGS.5eInitTBL", scope: "world", config: true, default: false, type: Boolean, onChange: enable => _set5eInitiative(enable) }); _set5eInitiative(game.settings.get("sw5e", "initiativeDexTiebreaker")); /** * Require Currency Carrying Weight */ game.settings.register("sw5e", "currencyWeight", { name: "SETTINGS.5eCurWtN", hint: "SETTINGS.5eCurWtL", scope: "world", config: true, default: true, type: Boolean }); /** * Option to disable XP bar for session-based or story-based advancement. */ game.settings.register("sw5e", "disableExperienceTracking", { name: "SETTINGS.5eNoExpN", hint: "SETTINGS.5eNoExpL", scope: "world", config: true, default: false, type: Boolean, }); /** * Option to automatically create Power Measured Template on roll */ game.settings.register("sw5e", "alwaysPlacePowerTemplate", { name: "SETTINGS.5eAutoPowerTemplateN", hint: "SETTINGS.5eAutoPowerTemplateL", scope: "client", config: true, default: false, type: Boolean }); /** * Option to automatically collapse Item Card descriptions */ game.settings.register("sw5e", "autoCollapseItemCards", { name: "SETTINGS.5eAutoCollapseCardN", hint: "SETTINGS.5eAutoCollapseCardL", scope: "client", config: true, default: false, type: Boolean, onChange: s => { ui.chat.render(); } }); /** * Option to allow GMs to restrict polymorphing to GMs only. */ game.settings.register('sw5e', 'allowPolymorphing', { name: 'SETTINGS.5eAllowPolymorphingN', hint: 'SETTINGS.5eAllowPolymorphingL', scope: 'world', config: true, default: false, type: Boolean }); /** * Remember last-used polymorph settings. */ game.settings.register('sw5e', 'polymorphSettings', { scope: 'client', default: { keepPhysical: false, keepMental: false, keepSaves: false, keepSkills: false, mergeSaves: false, mergeSkills: false, keepClass: false, keepFeats: false, keepPowers: false, keepItems: false, keepBio: false, keepVision: true, transformTokens: true } }); };