mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-04-24 00:13:39 +02:00
Fixed our templates taking custom scene distance into account
This commit is contained in:
parent
bbc521ece0
commit
8ee5db2832
2 changed files with 22 additions and 8 deletions
|
|
@ -18,7 +18,7 @@ export default class DhMeasuredTemplate extends foundry.canvas.placeables.Measur
|
||||||
|
|
||||||
static getRangeLabels(distanceValue, settings) {
|
static getRangeLabels(distanceValue, settings) {
|
||||||
let result = { distance: distanceValue, units: '' };
|
let result = { distance: distanceValue, units: '' };
|
||||||
if (!settings.enabled) return result;
|
if (!settings.enabled || !canvas.scene) return result;
|
||||||
|
|
||||||
const sceneRangeMeasurement = canvas.scene.flags.daggerheart?.rangeMeasurement;
|
const sceneRangeMeasurement = canvas.scene.flags.daggerheart?.rangeMeasurement;
|
||||||
const { disable, custom } = CONFIG.DH.GENERAL.sceneRangeMeasurementSetting;
|
const { disable, custom } = CONFIG.DH.GENERAL.sceneRangeMeasurementSetting;
|
||||||
|
|
|
||||||
|
|
@ -65,13 +65,7 @@ export const renderMeasuredTemplate = async event => {
|
||||||
? '180'
|
? '180'
|
||||||
: undefined;
|
: undefined;
|
||||||
|
|
||||||
let baseDistance = range;
|
const distance = getTemplateDistance(range, type);
|
||||||
if (Number.isNaN(Number(range))) {
|
|
||||||
baseDistance = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.variantRules).rangeMeasurement[
|
|
||||||
range
|
|
||||||
];
|
|
||||||
}
|
|
||||||
const distance = type === CONFIG.DH.GENERAL.templateTypes.EMANATION ? baseDistance + 2.5 : baseDistance;
|
|
||||||
|
|
||||||
const { width, height } = game.canvas.scene.dimensions;
|
const { width, height } = game.canvas.scene.dimensions;
|
||||||
const data = {
|
const data = {
|
||||||
|
|
@ -86,3 +80,23 @@ export const renderMeasuredTemplate = async event => {
|
||||||
|
|
||||||
CONFIG.ux.TemplateManager.createPreview(data);
|
CONFIG.ux.TemplateManager.createPreview(data);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const getTemplateDistance = (range, type) => {
|
||||||
|
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;
|
||||||
|
const baseDistance = settings[range];
|
||||||
|
|
||||||
|
if (type !== CONFIG.DH.GENERAL.templateTypes.EMANATION) return baseDistance;
|
||||||
|
|
||||||
|
const emanationAddDistance = settings.melee / 2;
|
||||||
|
return baseDistance + emanationAddDistance;
|
||||||
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue