diff --git a/module/data/fields/action/damageField.mjs b/module/data/fields/action/damageField.mjs index a8579569..7839bf5a 100644 --- a/module/data/fields/action/damageField.mjs +++ b/module/data/fields/action/damageField.mjs @@ -234,13 +234,8 @@ export default class DamageField extends fields.SchemaField { if (!canvas.scene) return []; const targets = Array.from(game.user.targets); - const { custom } = CONFIG.DH.GENERAL.sceneRangeMeasurementSetting; - const sceneMeasurements = canvas.scene?.flags.daggerheart?.rangeMeasurement; - const globalMeasurements = game.settings.get( - CONFIG.DH.id, - CONFIG.DH.SETTINGS.gameSettings.variantRules - ).rangeMeasurement; - const rangeSettings = sceneMeasurements?.setting === custom.id ? sceneMeasurements : globalMeasurements; + const rangeSettings = canvas.scene?.rangeSettings; + if (!rangeSettings) return []; const maxDistance = rangeSettings[range]; return canvas.scene.tokens.filter(x => { diff --git a/module/documents/scene.mjs b/module/documents/scene.mjs index 1c2faa34..59b8091f 100644 --- a/module/documents/scene.mjs +++ b/module/documents/scene.mjs @@ -1,6 +1,16 @@ import DHToken from './token.mjs'; export default class DhScene extends Scene { + get rangeSettings() { + const { custom } = CONFIG.DH.GENERAL.sceneRangeMeasurementSetting; + const sceneMeasurements = this.flags.daggerheart?.rangeMeasurement; + const globalMeasurements = game.settings.get( + CONFIG.DH.id, + CONFIG.DH.SETTINGS.gameSettings.variantRules + ).rangeMeasurement; + return sceneMeasurements?.setting === custom.id ? sceneMeasurements : globalMeasurements; + } + /** A map of `TokenDocument` IDs embedded in this scene long with new dimensions from actor size-category changes */ #sizeSyncBatch = new Map(); diff --git a/module/enrichers/TemplateEnricher.mjs b/module/enrichers/TemplateEnricher.mjs index 1a075518..cd0e7d9c 100644 --- a/module/enrichers/TemplateEnricher.mjs +++ b/module/enrichers/TemplateEnricher.mjs @@ -118,13 +118,6 @@ const getTemplateDistance = range => { const rangeNumber = Number(range); if (!Number.isNaN(rangeNumber)) return rangeNumber; - const { custom } = CONFIG.DH.GENERAL.sceneRangeMeasurementSetting; - const sceneMeasurements = canvas.scene?.flags.daggerheart?.rangeMeasurement; - const globalMeasurements = game.settings.get( - CONFIG.DH.id, - CONFIG.DH.SETTINGS.gameSettings.variantRules - ).rangeMeasurement; - - const settings = sceneMeasurements?.setting === custom.id ? sceneMeasurements : globalMeasurements; - return settings[range]; + const settings = canvas.scene?.rangeSettings; + return settings ? settings[range] : 0; };