diff --git a/daggerheart.mjs b/daggerheart.mjs index 89c74e00..b5da2c3e 100644 --- a/daggerheart.mjs +++ b/daggerheart.mjs @@ -59,8 +59,6 @@ CONFIG.Canvas.layers.tokens.layerClass = DhTokenLayer; CONFIG.MeasuredTemplate.objectClass = placeables.DhMeasuredTemplate; -CONFIG.Region.objectClass = placeables.DhRegion; - CONFIG.RollTable.documentClass = documents.DhRollTable; CONFIG.RollTable.resultTemplate = 'systems/daggerheart/templates/ui/chat/table-result.hbs'; diff --git a/lang/en.json b/lang/en.json index cc5c778d..24d6168a 100755 --- a/lang/en.json +++ b/lang/en.json @@ -1222,8 +1222,8 @@ "cone": "Cone", "emanation": "Emanation", "inFront": "In Front", - "rectangle": "Rectangle", - "line": "Line" + "rect": "Rectangle", + "ray": "Ray" }, "TokenSize": { "tiny": "Tiny", diff --git a/module/applications/sheets-configs/environment-settings.mjs b/module/applications/sheets-configs/environment-settings.mjs index bc0efef2..5c039f85 100644 --- a/module/applications/sheets-configs/environment-settings.mjs +++ b/module/applications/sheets-configs/environment-settings.mjs @@ -68,9 +68,9 @@ export default class DHEnvironmentSettings extends DHBaseActorSettings { */ static async #addCategory() { await this.actor.update({ - [`system.potentialAdversaries.${foundry.utils.randomID()}`]: { - label: game.i18n.localize('DAGGERHEART.ACTORS.Environment.newAdversary') - } + [`system.potentialAdversaries.${foundry.utils.randomID()}.label`]: game.i18n.localize( + 'DAGGERHEART.ACTORS.Environment.newAdversary' + ) }); } @@ -138,8 +138,4 @@ export default class DHEnvironmentSettings extends DHBaseActorSettings { this.render(); } } - - async _onDropItem(event, item) { - console.log(item); - } } diff --git a/module/canvas/placeables/_module.mjs b/module/canvas/placeables/_module.mjs index 8746aabd..6ba047fb 100644 --- a/module/canvas/placeables/_module.mjs +++ b/module/canvas/placeables/_module.mjs @@ -1,6 +1,5 @@ export { default as DhMeasuredTemplate } from './measuredTemplate.mjs'; export { default as DhRuler } from './ruler.mjs'; -export { default as DhRegion } from './region.mjs'; export { default as DhRegionLayer } from './regionLayer.mjs'; export { default as DhTokenPlaceable } from './token.mjs'; export { default as DhTokenRuler } from './tokenRuler.mjs'; diff --git a/module/canvas/placeables/region.mjs b/module/canvas/placeables/region.mjs deleted file mode 100644 index 7ad94b2f..00000000 --- a/module/canvas/placeables/region.mjs +++ /dev/null @@ -1,12 +0,0 @@ -import DhMeasuredTemplate from './measuredTemplate.mjs'; - -export default class DhRegion extends foundry.canvas.placeables.Region { - /**@inheritdoc */ - _formatMeasuredDistance(distance) { - const range = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.variantRules).rangeMeasurement; - if (!range.enabled) return super._formatMeasuredDistance(distance); - - const { distance: resultDistance, units } = DhMeasuredTemplate.getRangeLabels(distance, range); - return `${resultDistance} ${units}`; - } -} diff --git a/module/config/generalConfig.mjs b/module/config/generalConfig.mjs index 685b725f..165342b4 100644 --- a/module/config/generalConfig.mjs +++ b/module/config/generalConfig.mjs @@ -74,8 +74,8 @@ export const range = { export const templateTypes = { CIRCLE: 'circle', CONE: 'cone', - RECTANGLE: 'rectangle', - LINE: 'line', + RECTANGLE: 'rect', + RAY: 'ray', EMANATION: 'emanation', INFRONT: 'inFront' }; diff --git a/module/data/actor/environment.mjs b/module/data/actor/environment.mjs index c4a3f747..0aaf8eb0 100644 --- a/module/data/actor/environment.mjs +++ b/module/data/actor/environment.mjs @@ -37,7 +37,7 @@ export default class DhEnvironment extends BaseDataActor { potentialAdversaries: new fields.TypedObjectField( new fields.SchemaField({ label: new fields.StringField(), - adversaries: new ForeignDocumentUUIDArrayField({ type: 'Actor' }, { required: false, initial: [] }) + adversaries: new ForeignDocumentUUIDArrayField({ type: 'Actor' }) }) ), notes: new fields.HTMLField() diff --git a/module/data/fields/foreignDocumentUUIDArrayField.mjs b/module/data/fields/foreignDocumentUUIDArrayField.mjs index 456c0593..0ddd126c 100644 --- a/module/data/fields/foreignDocumentUUIDArrayField.mjs +++ b/module/data/fields/foreignDocumentUUIDArrayField.mjs @@ -14,7 +14,7 @@ export default class ForeignDocumentUUIDArrayField extends foundry.data.fields.A /** @inheritdoc */ initialize(value, model, options = {}) { - const v = super.initialize(value ?? [], model, options); + const v = super.initialize(value, model, options); return () => { const data = v.map(entry => (typeof entry === 'function' ? entry() : entry)); return this.options.prune ? data.filter(d => !!d) : data; diff --git a/module/enrichers/TemplateEnricher.mjs b/module/enrichers/TemplateEnricher.mjs index fd0e78eb..ab3d406f 100644 --- a/module/enrichers/TemplateEnricher.mjs +++ b/module/enrichers/TemplateEnricher.mjs @@ -49,8 +49,6 @@ export default function DhTemplateEnricher(match, _options) { } export const renderMeasuredTemplate = async event => { - const { LINE, RECTANGLE, INFRONT, CONE } = CONFIG.DH.GENERAL.templateTypes; - const button = event.currentTarget, type = button.dataset.type, range = button.dataset.range, @@ -59,9 +57,13 @@ export const renderMeasuredTemplate = async event => { if (!type || !range || !game.canvas.scene) return; - const usedType = type === 'inFront' ? 'cone' : type; + const usedType = type === 'inFront' ? 'cone' : type === 'emanation' ? 'circle' : type; const usedAngle = - type === CONE ? (angle ?? CONFIG.MeasuredTemplate.defaults.angle) : type === INFRONT ? '180' : undefined; + type === CONFIG.DH.GENERAL.templateTypes.CONE + ? (angle ?? CONFIG.MeasuredTemplate.defaults.angle) + : type === CONFIG.DH.GENERAL.templateTypes.INFRONT + ? '180' + : undefined; let baseDistance = range; if (Number.isNaN(Number(range))) { @@ -69,32 +71,16 @@ export const renderMeasuredTemplate = async event => { range ]; } - - const dimensionConstant = game.scenes.active.grid.size / game.scenes.active.grid.distance; - - baseDistance *= dimensionConstant; - - const length = baseDistance; - const radius = length; - - const shapeWidth = type === LINE ? 5 * dimensionConstant : type === RECTANGLE ? length : undefined; + const distance = type === CONFIG.DH.GENERAL.templateTypes.EMANATION ? baseDistance + 2.5 : baseDistance; + const radius = (distance / game.scenes.active.grid.distance) * game.scenes.active.grid.size; const { width, height } = game.canvas.scene.dimensions; const shapeData = { x: width / 2, y: height / 2, - base: { - type: 'token', - x: 0, - y: 0, - width: 1, - height: 1, - shape: game.canvas.grid.isHexagonal ? CONST.TOKEN_SHAPES.ELLIPSE_1 : CONST.TOKEN_SHAPES.RECTANGLE_1 - }, t: usedType, - length: length, - width: shapeWidth, - height: length, + distance: distance, + width: type === CONFIG.DH.GENERAL.templateTypes.RAY ? 5 : undefined, angle: usedAngle, radius: radius, direction: direction, diff --git a/system.json b/system.json index 14d61851..48a2319a 100644 --- a/system.json +++ b/system.json @@ -4,8 +4,8 @@ "description": "An unofficial implementation of the Daggerheart system", "version": "2.0.0", "compatibility": { - "minimum": "14.355", - "verified": "14.355", + "minimum": "14.354", + "verified": "14.354", "maximum": "14" }, "authors": [