mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-12 03:31:07 +01:00
* Look for rangeMeasurementSettingsOverride on the scene to switch off DH global range measurement settings. * Part progress on adding config tab to scene config * Hard coded template; no value applied/saved * Flag fix * Use the flags setting * Clean up * Remove import * Better initialisation of PARTS and TABS * Fix localisation --------- Co-authored-by: Chris Ryan <chrisr@blackhole> Co-authored-by: WBHarry <williambjrklund@gmail.com>
50 lines
2 KiB
JavaScript
50 lines
2 KiB
JavaScript
export default class DhMeasuredTemplate extends foundry.canvas.placeables.MeasuredTemplate {
|
|
_refreshRulerText() {
|
|
super._refreshRulerText();
|
|
|
|
const rangeMeasurementSettings = game.settings.get(
|
|
CONFIG.DH.id,
|
|
CONFIG.DH.SETTINGS.gameSettings.variantRules
|
|
).rangeMeasurement;
|
|
if (rangeMeasurementSettings.enabled) {
|
|
const splitRulerText = this.ruler.text.split(' ');
|
|
if (splitRulerText.length > 0) {
|
|
const rulerValue = Number(splitRulerText[0]);
|
|
const result = this.constructor.getRangeLabels(rulerValue, rangeMeasurementSettings);
|
|
this.ruler.text = result.distance + result.units ? (' ' + result.units) : '';
|
|
}
|
|
}
|
|
}
|
|
|
|
static getRangeLabels(distance, settings) {
|
|
let result = { distance: '', units: null }
|
|
const rangeMeasurementOverride = canvas.scene.flags.daggerheart?.rangeMeasurementOverride;
|
|
|
|
if (rangeMeasurementOverride === true) {
|
|
result.distance = distance;
|
|
result.units = canvas.scene?.grid?.units;
|
|
return result
|
|
}
|
|
if (distance <= settings.melee) {
|
|
result.distance = game.i18n.localize('DAGGERHEART.CONFIG.Range.melee.name');
|
|
return result;
|
|
}
|
|
if (distance <= settings.veryClose) {
|
|
result.distance = game.i18n.localize('DAGGERHEART.CONFIG.Range.veryClose.name');
|
|
return result;
|
|
}
|
|
if (distance <= settings.close) {
|
|
result.distance = game.i18n.localize('DAGGERHEART.CONFIG.Range.close.name');
|
|
return result;
|
|
}
|
|
if (distance <= settings.far) {
|
|
result.distance = game.i18n.localize('DAGGERHEART.CONFIG.Range.far.name');
|
|
return result;
|
|
}
|
|
if (distance > settings.far) {
|
|
result.distance = game.i18n.localize('DAGGERHEART.CONFIG.Range.veryFar.name');
|
|
}
|
|
|
|
return result;
|
|
}
|
|
}
|