mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-12 03:31:07 +01:00
[Fix] 680 - VeryFar Ruler (#692)
* . * Removed veryFar template from Stardrop Feature
This commit is contained in:
parent
0108e3d222
commit
cd30aeaa7d
17 changed files with 56 additions and 163 deletions
|
|
@ -259,7 +259,10 @@ Hooks.on('moveToken', async (movedToken, data) => {
|
||||||
const rangeDependantEffects = movedToken.actor.effects.filter(effect => effect.system.rangeDependence?.enabled);
|
const rangeDependantEffects = movedToken.actor.effects.filter(effect => effect.system.rangeDependence?.enabled);
|
||||||
|
|
||||||
const updateEffects = async (disposition, token, effects, effectUpdates) => {
|
const updateEffects = async (disposition, token, effects, effectUpdates) => {
|
||||||
const rangeMeasurement = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.RangeMeasurement);
|
const rangeMeasurement = game.settings.get(
|
||||||
|
CONFIG.DH.id,
|
||||||
|
CONFIG.DH.SETTINGS.gameSettings.variantRules
|
||||||
|
).rangeMeasurement;
|
||||||
|
|
||||||
for (let effect of effects.filter(x => x.system.rangeDependence?.enabled)) {
|
for (let effect of effects.filter(x => x.system.rangeDependence?.enabled)) {
|
||||||
const { target, range, type } = effect.system.rangeDependence;
|
const { target, range, type } = effect.system.rangeDependence;
|
||||||
|
|
|
||||||
|
|
@ -2210,10 +2210,6 @@
|
||||||
"actionTokens": {
|
"actionTokens": {
|
||||||
"enabled": { "label": "Enabled" },
|
"enabled": { "label": "Enabled" },
|
||||||
"tokens": { "label": "Tokens" }
|
"tokens": { "label": "Tokens" }
|
||||||
},
|
|
||||||
"useCoins": {
|
|
||||||
"label": "Use Coins",
|
|
||||||
"hint": "test"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
export { default as DhAppearanceSettings } from './appearanceSettings.mjs';
|
export { default as DhAppearanceSettings } from './appearanceSettings.mjs';
|
||||||
export { default as DhAutomationSettings } from './automationSettings.mjs';
|
export { default as DhAutomationSettings } from './automationSettings.mjs';
|
||||||
export { default as DhHomebrewSettings } from './homebrewSettings.mjs';
|
export { default as DhHomebrewSettings } from './homebrewSettings.mjs';
|
||||||
export { default as DhRangeMeasurementSettings } from './rangeMeasurementSettings.mjs';
|
|
||||||
export { default as DhVariantRuleSettings } from './variantRuleSettings.mjs';
|
export { default as DhVariantRuleSettings } from './variantRuleSettings.mjs';
|
||||||
|
|
|
||||||
|
|
@ -1,66 +0,0 @@
|
||||||
import { DhRangeMeasurement } from '../../data/settings/_module.mjs';
|
|
||||||
|
|
||||||
const { HandlebarsApplicationMixin, ApplicationV2 } = foundry.applications.api;
|
|
||||||
|
|
||||||
export default class DhRangeMeasurementSettings extends HandlebarsApplicationMixin(ApplicationV2) {
|
|
||||||
constructor() {
|
|
||||||
super({});
|
|
||||||
|
|
||||||
this.settings = new DhRangeMeasurement(
|
|
||||||
game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.RangeMeasurement).toObject()
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
get title() {
|
|
||||||
return game.i18n.localize('DAGGERHEART.SETTINGS.Menu.title');
|
|
||||||
}
|
|
||||||
|
|
||||||
static DEFAULT_OPTIONS = {
|
|
||||||
tag: 'form',
|
|
||||||
id: 'daggerheart-automation-settings',
|
|
||||||
classes: ['daggerheart', 'dialog', 'dh-style', 'setting'],
|
|
||||||
position: { width: '600', height: 'auto' },
|
|
||||||
window: {
|
|
||||||
icon: 'fa-solid fa-gears'
|
|
||||||
},
|
|
||||||
actions: {
|
|
||||||
reset: this.reset,
|
|
||||||
save: this.save
|
|
||||||
},
|
|
||||||
form: { handler: this.updateData, submitOnChange: true }
|
|
||||||
};
|
|
||||||
|
|
||||||
static PARTS = {
|
|
||||||
main: {
|
|
||||||
template: 'systems/daggerheart/templates/settings/range-measurement-settings.hbs'
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
async _prepareContext(_options) {
|
|
||||||
const context = await super._prepareContext(_options);
|
|
||||||
context.settingFields = this.settings;
|
|
||||||
|
|
||||||
return context;
|
|
||||||
}
|
|
||||||
|
|
||||||
static async updateData(event, element, formData) {
|
|
||||||
const updatedSettings = foundry.utils.expandObject(formData.object);
|
|
||||||
|
|
||||||
await this.settings.updateSource(updatedSettings);
|
|
||||||
this.render();
|
|
||||||
}
|
|
||||||
|
|
||||||
static async reset() {
|
|
||||||
this.settings = new DhRangeMeasurement();
|
|
||||||
this.render();
|
|
||||||
}
|
|
||||||
|
|
||||||
static async save() {
|
|
||||||
await game.settings.set(
|
|
||||||
CONFIG.DH.id,
|
|
||||||
CONFIG.DH.SETTINGS.gameSettings.RangeMeasurement,
|
|
||||||
this.settings.toObject()
|
|
||||||
);
|
|
||||||
this.close();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -4,8 +4,8 @@ export default class DhMeasuredTemplate extends foundry.canvas.placeables.Measur
|
||||||
|
|
||||||
const rangeMeasurementSettings = game.settings.get(
|
const rangeMeasurementSettings = game.settings.get(
|
||||||
CONFIG.DH.id,
|
CONFIG.DH.id,
|
||||||
CONFIG.DH.SETTINGS.gameSettings.RangeMeasurement
|
CONFIG.DH.SETTINGS.gameSettings.variantRules
|
||||||
);
|
).rangeMeasurement;
|
||||||
if (rangeMeasurementSettings.enabled) {
|
if (rangeMeasurementSettings.enabled) {
|
||||||
const splitRulerText = this.ruler.text.split(' ');
|
const splitRulerText = this.ruler.text.split(' ');
|
||||||
if (splitRulerText.length > 0) {
|
if (splitRulerText.length > 0) {
|
||||||
|
|
@ -29,7 +29,7 @@ export default class DhMeasuredTemplate extends foundry.canvas.placeables.Measur
|
||||||
if (distance <= settings.far) {
|
if (distance <= settings.far) {
|
||||||
return game.i18n.localize('DAGGERHEART.CONFIG.Range.far.name');
|
return game.i18n.localize('DAGGERHEART.CONFIG.Range.far.name');
|
||||||
}
|
}
|
||||||
if (distance <= settings.veryFar) {
|
if (distance > settings.far) {
|
||||||
return game.i18n.localize('DAGGERHEART.CONFIG.Range.veryFar.name');
|
return game.i18n.localize('DAGGERHEART.CONFIG.Range.veryFar.name');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ export default class DhpRuler extends foundry.canvas.interaction.Ruler {
|
||||||
const context = super._getWaypointLabelContext(waypoint, state);
|
const context = super._getWaypointLabelContext(waypoint, state);
|
||||||
if (!context) return;
|
if (!context) return;
|
||||||
|
|
||||||
const range = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.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 distance = DhMeasuredTemplate.getDistanceLabel(waypoint.measurement.distance.toNearest(0.01), range);
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ export default class DhpTokenRuler extends foundry.canvas.placeables.tokens.Toke
|
||||||
const context = super._getWaypointLabelContext(waypoint, state);
|
const context = super._getWaypointLabelContext(waypoint, state);
|
||||||
if (!context) return;
|
if (!context) return;
|
||||||
|
|
||||||
const range = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.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 distance = DhMeasuredTemplate.getDistanceLabel(waypoint.measurement.distance.toNearest(0.01), range);
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ export const ruleChoice = {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
export const range = {
|
export const templateRanges = {
|
||||||
self: {
|
self: {
|
||||||
id: 'self',
|
id: 'self',
|
||||||
short: 's',
|
short: 's',
|
||||||
|
|
@ -56,7 +56,11 @@ export const range = {
|
||||||
label: 'DAGGERHEART.CONFIG.Range.far.name',
|
label: 'DAGGERHEART.CONFIG.Range.far.name',
|
||||||
description: 'DAGGERHEART.CONFIG.Range.far.description',
|
description: 'DAGGERHEART.CONFIG.Range.far.description',
|
||||||
distance: 20
|
distance: 20
|
||||||
},
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export const range = {
|
||||||
|
...templateRanges,
|
||||||
veryFar: {
|
veryFar: {
|
||||||
id: 'veryFar',
|
id: 'veryFar',
|
||||||
short: 'vf',
|
short: 'vf',
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,6 @@ export const menu = {
|
||||||
export const gameSettings = {
|
export const gameSettings = {
|
||||||
Automation: 'Automation',
|
Automation: 'Automation',
|
||||||
Homebrew: 'Homebrew',
|
Homebrew: 'Homebrew',
|
||||||
RangeMeasurement: 'RangeMeasurement',
|
|
||||||
appearance: 'Appearance',
|
appearance: 'Appearance',
|
||||||
variantRules: 'VariantRules',
|
variantRules: 'VariantRules',
|
||||||
Resources: {
|
Resources: {
|
||||||
|
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
export default class DhRangeMeasurement extends foundry.abstract.DataModel {
|
|
||||||
static defineSchema() {
|
|
||||||
const fields = foundry.data.fields;
|
|
||||||
return {
|
|
||||||
enabled: new fields.BooleanField({ required: true, initial: true, label: 'DAGGERHEART.GENERAL.enabled' }),
|
|
||||||
melee: new fields.NumberField({ required: true, initial: 5, label: 'DAGGERHEART.CONFIG.Range.melee.name' }),
|
|
||||||
veryClose: new fields.NumberField({
|
|
||||||
required: true,
|
|
||||||
initial: 15,
|
|
||||||
label: 'DAGGERHEART.CONFIG.Range.veryClose.name'
|
|
||||||
}),
|
|
||||||
close: new fields.NumberField({
|
|
||||||
required: true,
|
|
||||||
initial: 30,
|
|
||||||
label: 'DAGGERHEART.CONFIG.Range.close.name'
|
|
||||||
}),
|
|
||||||
far: new fields.NumberField({ required: true, initial: 60, label: 'DAGGERHEART.CONFIG.Range.far.name' }),
|
|
||||||
veryFar: new fields.NumberField({
|
|
||||||
required: true,
|
|
||||||
initial: 120,
|
|
||||||
label: 'DAGGERHEART.CONFIG.Range.veryFar.name'
|
|
||||||
})
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -17,9 +17,28 @@ export default class DhVariantRules extends foundry.abstract.DataModel {
|
||||||
label: 'DAGGERHEART.SETTINGS.VariantRules.FIELDS.actionTokens.tokens.label'
|
label: 'DAGGERHEART.SETTINGS.VariantRules.FIELDS.actionTokens.tokens.label'
|
||||||
})
|
})
|
||||||
}),
|
}),
|
||||||
useCoins: new fields.BooleanField({
|
rangeMeasurement: new fields.SchemaField({
|
||||||
initial: false,
|
enabled: new fields.BooleanField({
|
||||||
label: 'DAGGERHEART.SETTINGS.VariantRules.FIELDS.useCoins.label'
|
required: true,
|
||||||
|
initial: true,
|
||||||
|
label: 'DAGGERHEART.GENERAL.enabled'
|
||||||
|
}),
|
||||||
|
melee: new fields.NumberField({
|
||||||
|
required: true,
|
||||||
|
initial: 5,
|
||||||
|
label: 'DAGGERHEART.CONFIG.Range.melee.name'
|
||||||
|
}),
|
||||||
|
veryClose: new fields.NumberField({
|
||||||
|
required: true,
|
||||||
|
initial: 15,
|
||||||
|
label: 'DAGGERHEART.CONFIG.Range.veryClose.name'
|
||||||
|
}),
|
||||||
|
close: new fields.NumberField({
|
||||||
|
required: true,
|
||||||
|
initial: 30,
|
||||||
|
label: 'DAGGERHEART.CONFIG.Range.close.name'
|
||||||
|
}),
|
||||||
|
far: new fields.NumberField({ required: true, initial: 60, label: 'DAGGERHEART.CONFIG.Range.far.name' })
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
export { default as DhAppearance } from './Appearance.mjs';
|
export { default as DhAppearance } from './Appearance.mjs';
|
||||||
export { default as DhAutomation } from './Automation.mjs';
|
export { default as DhAutomation } from './Automation.mjs';
|
||||||
export { default as DhHomebrew } from './Homebrew.mjs';
|
export { default as DhHomebrew } from './Homebrew.mjs';
|
||||||
export { default as DhRangeMeasurement } from './RangeMeasurement.mjs';
|
|
||||||
export { default as DhVariantRules } from './VariantRules.mjs';
|
export { default as DhVariantRules } from './VariantRules.mjs';
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,3 @@
|
||||||
import { range as configRange } from '../config/generalConfig.mjs';
|
|
||||||
|
|
||||||
export default function DhTemplateEnricher(match, _options) {
|
export default function DhTemplateEnricher(match, _options) {
|
||||||
const parts = match[1].split('|').map(x => x.trim());
|
const parts = match[1].split('|').map(x => x.trim());
|
||||||
|
|
||||||
|
|
@ -17,7 +15,7 @@ export default function DhTemplateEnricher(match, _options) {
|
||||||
type = matchedType;
|
type = matchedType;
|
||||||
break;
|
break;
|
||||||
case 'range':
|
case 'range':
|
||||||
const matchedRange = Object.values(configRange).find(
|
const matchedRange = Object.values(CONFIG.DH.GENERAL.templateRanges).find(
|
||||||
x => x.id.toLowerCase() === split[1] || x.short === split[1]
|
x => x.id.toLowerCase() === split[1] || x.short === split[1]
|
||||||
);
|
);
|
||||||
range = matchedRange?.id;
|
range = matchedRange?.id;
|
||||||
|
|
@ -55,7 +53,9 @@ export const renderMeasuredTemplate = async event => {
|
||||||
? '180'
|
? '180'
|
||||||
: undefined;
|
: undefined;
|
||||||
|
|
||||||
const baseDistance = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.RangeMeasurement)[range];
|
const 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 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;
|
||||||
|
|
|
||||||
|
|
@ -313,8 +313,10 @@ export const itemAbleRollParse = (value, actor, item) => {
|
||||||
|
|
||||||
const isItemTarget = value.toLowerCase().includes('item.@');
|
const isItemTarget = value.toLowerCase().includes('item.@');
|
||||||
const slicedValue = isItemTarget ? value.replaceAll(/item\.@/gi, '@') : value;
|
const slicedValue = isItemTarget ? value.replaceAll(/item\.@/gi, '@') : value;
|
||||||
|
const model = isItemTarget ? item : actor;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
return Roll.replaceFormulaData(slicedValue, isItemTarget ? item : actor);
|
return Roll.replaceFormulaData(slicedValue, model?.getRollData?.() ?? model);
|
||||||
} catch (_) {
|
} catch (_) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,10 @@
|
||||||
import { defaultLevelTiers, DhLevelTiers } from '../data/levelTier.mjs';
|
import { defaultLevelTiers, DhLevelTiers } from '../data/levelTier.mjs';
|
||||||
import DhCountdowns from '../data/countdowns.mjs';
|
import DhCountdowns from '../data/countdowns.mjs';
|
||||||
import {
|
import { DhAppearance, DhAutomation, DhHomebrew, DhVariantRules } from '../data/settings/_module.mjs';
|
||||||
DhAppearance,
|
|
||||||
DhAutomation,
|
|
||||||
DhHomebrew,
|
|
||||||
DhRangeMeasurement,
|
|
||||||
DhVariantRules
|
|
||||||
} from '../data/settings/_module.mjs';
|
|
||||||
import {
|
import {
|
||||||
DhAppearanceSettings,
|
DhAppearanceSettings,
|
||||||
DhAutomationSettings,
|
DhAutomationSettings,
|
||||||
DhHomebrewSettings,
|
DhHomebrewSettings,
|
||||||
DhRangeMeasurementSettings,
|
|
||||||
DhVariantRuleSettings
|
DhVariantRuleSettings
|
||||||
} from '../applications/settings/_module.mjs';
|
} from '../applications/settings/_module.mjs';
|
||||||
|
|
||||||
|
|
@ -58,12 +51,6 @@ const registerMenuSettings = () => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
game.settings.register(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.RangeMeasurement, {
|
|
||||||
scope: 'world',
|
|
||||||
config: false,
|
|
||||||
type: DhRangeMeasurement
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const registerMenus = () => {
|
const registerMenus = () => {
|
||||||
|
|
@ -83,14 +70,6 @@ const registerMenus = () => {
|
||||||
type: DhHomebrewSettings,
|
type: DhHomebrewSettings,
|
||||||
restricted: true
|
restricted: true
|
||||||
});
|
});
|
||||||
game.settings.registerMenu(CONFIG.DH.id, CONFIG.DH.SETTINGS.menu.Range.Name, {
|
|
||||||
name: game.i18n.localize('DAGGERHEART.SETTINGS.Menu.range.name'),
|
|
||||||
label: game.i18n.localize('DAGGERHEART.SETTINGS.Menu.range.label'),
|
|
||||||
hint: game.i18n.localize('DAGGERHEART.SETTINGS.Menu.range.hint'),
|
|
||||||
icon: CONFIG.DH.SETTINGS.menu.Range.Icon,
|
|
||||||
type: DhRangeMeasurementSettings,
|
|
||||||
restricted: true
|
|
||||||
});
|
|
||||||
|
|
||||||
game.settings.registerMenu(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.appearance, {
|
game.settings.registerMenu(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.appearance, {
|
||||||
name: game.i18n.localize('DAGGERHEART.SETTINGS.Menu.appearance.title'),
|
name: game.i18n.localize('DAGGERHEART.SETTINGS.Menu.appearance.title'),
|
||||||
|
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
<div>
|
|
||||||
<header class="dialog-header">
|
|
||||||
<h1>{{localize 'DAGGERHEART.SETTINGS.Menu.range.name'}}</h1>
|
|
||||||
</header>
|
|
||||||
<div class="settings-col">
|
|
||||||
{{formGroup settingFields.schema.fields.enabled value=settingFields._source.enabled localize=true}}
|
|
||||||
{{formGroup settingFields.schema.fields.melee value=settingFields._source.melee localize=true}}
|
|
||||||
{{formGroup settingFields.schema.fields.veryClose value=settingFields._source.veryClose localize=true}}
|
|
||||||
{{formGroup settingFields.schema.fields.close value=settingFields._source.close localize=true}}
|
|
||||||
{{formGroup settingFields.schema.fields.far value=settingFields._source.far localize=true}}
|
|
||||||
{{formGroup settingFields.schema.fields.veryFar value=settingFields._source.veryFar localize=true}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<footer class="form-footer">
|
|
||||||
<button data-action="reset">
|
|
||||||
<i class="fa-solid fa-arrow-rotate-left"></i>
|
|
||||||
<span>{{localize "Reset"}}</span>
|
|
||||||
</button>
|
|
||||||
<button data-action="save" >
|
|
||||||
<i class="fa-solid fa-floppy-disk"></i>
|
|
||||||
<span>{{localize "Save Changes"}}</span>
|
|
||||||
</button>
|
|
||||||
</footer>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
@ -3,6 +3,17 @@
|
||||||
<h1>{{localize 'DAGGERHEART.SETTINGS.Menu.variantRules.name'}}</h1>
|
<h1>{{localize 'DAGGERHEART.SETTINGS.Menu.variantRules.name'}}</h1>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
|
<fieldset>
|
||||||
|
<legend>{{localize 'DAGGERHEART.SETTINGS.Menu.range.name'}}</legend>
|
||||||
|
|
||||||
|
{{formGroup settingFields.schema.fields.rangeMeasurement.fields.enabled value=settingFields._source.rangeMeasurement.enabled localize=true}}
|
||||||
|
{{formGroup settingFields.schema.fields.rangeMeasurement.fields.melee value=settingFields._source.rangeMeasurement.melee localize=true}}
|
||||||
|
{{formGroup settingFields.schema.fields.rangeMeasurement.fields.veryClose value=settingFields._source.rangeMeasurement.veryClose localize=true}}
|
||||||
|
{{formGroup settingFields.schema.fields.rangeMeasurement.fields.close value=settingFields._source.rangeMeasurement.close localize=true}}
|
||||||
|
{{formGroup settingFields.schema.fields.rangeMeasurement.fields.far value=settingFields._source.rangeMeasurement.far localize=true}}
|
||||||
|
{{formGroup settingFields.schema.fields.rangeMeasurement.fields.veryFar value=settingFields._source.rangeMeasurement.veryFar localize=true}}
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{localize "DAGGERHEART.SETTINGS.Menu.variantRules.actionTokens"}}</label>
|
<label>{{localize "DAGGERHEART.SETTINGS.Menu.variantRules.actionTokens"}}</label>
|
||||||
|
|
||||||
|
|
@ -12,8 +23,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{formGroup settingFields.schema.fields.useCoins value=settingFields._source.useCoins localize=true }}
|
|
||||||
|
|
||||||
<footer class="form-footer">
|
<footer class="form-footer">
|
||||||
<button data-action="reset">
|
<button data-action="reset">
|
||||||
<i class="fa-solid fa-arrow-rotate-left"></i>
|
<i class="fa-solid fa-arrow-rotate-left"></i>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue