mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-17 23:49:02 +01:00
Look for rangeMeasurementSettingsOverride on the scene to switch off DH global range measurement settings.
This commit is contained in:
parent
b3c0344b91
commit
2b90d55a48
3 changed files with 21 additions and 15 deletions
|
|
@ -10,29 +10,35 @@ export default class DhMeasuredTemplate extends foundry.canvas.placeables.Measur
|
||||||
const splitRulerText = this.ruler.text.split(' ');
|
const splitRulerText = this.ruler.text.split(' ');
|
||||||
if (splitRulerText.length > 0) {
|
if (splitRulerText.length > 0) {
|
||||||
const rulerValue = Number(splitRulerText[0]);
|
const rulerValue = Number(splitRulerText[0]);
|
||||||
const vagueLabel = this.constructor.getDistanceLabel(rulerValue, rangeMeasurementSettings);
|
const result = this.constructor.getRangeLabels(rulerValue, rangeMeasurementSettings);
|
||||||
this.ruler.text = vagueLabel;
|
this.ruler.text = result.distance + result.units ? (' ' + result.units) : '' ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static getDistanceLabel(distance, settings) {
|
static getRangeLabels(distance, settings) {
|
||||||
|
let result = { distance : '', units: null }
|
||||||
|
if (canvas.scene?.rangeMeasurementSettingsOverride === true) {
|
||||||
|
result.distance = distance;
|
||||||
|
result.units = canvas.scene?.grid?.units;
|
||||||
|
return result
|
||||||
|
}
|
||||||
if (distance <= settings.melee) {
|
if (distance <= settings.melee) {
|
||||||
return game.i18n.localize('DAGGERHEART.CONFIG.Range.melee.name');
|
result.distance = game.i18n.localize('DAGGERHEART.CONFIG.Range.melee.name');
|
||||||
}
|
}
|
||||||
if (distance <= settings.veryClose) {
|
if (distance <= settings.veryClose) {
|
||||||
return game.i18n.localize('DAGGERHEART.CONFIG.Range.veryClose.name');
|
result.distance = game.i18n.localize('DAGGERHEART.CONFIG.Range.veryClose.name');
|
||||||
}
|
}
|
||||||
if (distance <= settings.close) {
|
if (distance <= settings.close) {
|
||||||
return game.i18n.localize('DAGGERHEART.CONFIG.Range.close.name');
|
result.distance = game.i18n.localize('DAGGERHEART.CONFIG.Range.close.name');
|
||||||
}
|
}
|
||||||
if (distance <= settings.far) {
|
if (distance <= settings.far) {
|
||||||
return game.i18n.localize('DAGGERHEART.CONFIG.Range.far.name');
|
result.distance = game.i18n.localize('DAGGERHEART.CONFIG.Range.far.name');
|
||||||
}
|
}
|
||||||
if (distance > settings.far) {
|
if (distance > settings.far) {
|
||||||
return game.i18n.localize('DAGGERHEART.CONFIG.Range.veryFar.name');
|
result.distance = game.i18n.localize('DAGGERHEART.CONFIG.Range.veryFar.name');
|
||||||
}
|
}
|
||||||
|
|
||||||
return '';
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,9 +8,9 @@ export default class DhpRuler extends foundry.canvas.interaction.Ruler {
|
||||||
const range = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.variantRules).rangeMeasurement;
|
const range = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.variantRules).rangeMeasurement;
|
||||||
|
|
||||||
if (range.enabled) {
|
if (range.enabled) {
|
||||||
const distance = DhMeasuredTemplate.getDistanceLabel(waypoint.measurement.distance.toNearest(0.01), range);
|
const result = DhMeasuredTemplate.getRangeLabels(waypoint.measurement.distance.toNearest(0.01), range);
|
||||||
context.cost = { total: distance, units: null };
|
context.cost = { total: result.distance, units: result.units };
|
||||||
context.distance = { total: distance, units: null };
|
context.distance = { total: result.distance, units: result.units };
|
||||||
}
|
}
|
||||||
|
|
||||||
return context;
|
return context;
|
||||||
|
|
|
||||||
|
|
@ -8,9 +8,9 @@ export default class DhpTokenRuler extends foundry.canvas.placeables.tokens.Toke
|
||||||
const range = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.variantRules).rangeMeasurement;
|
const range = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.variantRules).rangeMeasurement;
|
||||||
|
|
||||||
if (range.enabled) {
|
if (range.enabled) {
|
||||||
const distance = DhMeasuredTemplate.getDistanceLabel(waypoint.measurement.distance.toNearest(0.01), range);
|
const result = DhMeasuredTemplate.getRangeLabels(waypoint.measurement.distance.toNearest(0.01), range);
|
||||||
context.cost = { total: distance, units: null };
|
context.cost = { total: result.distance, units: result.units };
|
||||||
context.distance = { total: distance, units: null };
|
context.distance = { total: result.distance, units: result.units };
|
||||||
}
|
}
|
||||||
|
|
||||||
return context;
|
return context;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue