mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-12 11:41:08 +01:00
34 lines
1.3 KiB
JavaScript
34 lines
1.3 KiB
JavaScript
export default class DhpRuler extends foundry.canvas.interaction.Ruler {
|
|
_getWaypointLabelContext(waypoint, state) {
|
|
const context = super._getWaypointLabelContext(waypoint, state);
|
|
if (!context) return;
|
|
|
|
const range = game.settings.get(SYSTEM.id, SYSTEM.SETTINGS.gameSettings.RangeMeasurement);
|
|
|
|
if (range.enabled) {
|
|
const distance = this.#getRangeLabel(waypoint.measurement.distance.toNearest(0.01), range);
|
|
context.cost = { total: distance, units: null };
|
|
context.distance = { total: distance, units: null };
|
|
}
|
|
|
|
return context;
|
|
}
|
|
|
|
#getRangeLabel(distance, settings) {
|
|
if (distance <= settings.melee) {
|
|
return game.i18n.localize('DAGGERHEART.Range.melee.name');
|
|
}
|
|
if (distance <= settings.veryClose) {
|
|
return game.i18n.localize('DAGGERHEART.Range.veryClose.name');
|
|
}
|
|
if (distance <= settings.close) {
|
|
return game.i18n.localize('DAGGERHEART.Range.close.name');
|
|
}
|
|
if (distance <= settings.far) {
|
|
return game.i18n.localize('DAGGERHEART.Range.far.name');
|
|
}
|
|
if (distance <= settings.veryFar) {
|
|
return game.i18n.localize('DAGGERHEART.Range.veryFar.name');
|
|
}
|
|
}
|
|
}
|