diff --git a/module/data/activeEffect/beastformEffect.mjs b/module/data/activeEffect/beastformEffect.mjs index b041b59e..5311b827 100644 --- a/module/data/activeEffect/beastformEffect.mjs +++ b/module/data/activeEffect/beastformEffect.mjs @@ -66,12 +66,20 @@ export default class BeastformEffect extends BaseEffect { }; const updateToken = token => { - const { x, y } = game.system.api.documents.DhToken.getSnappedPositionInSquareGrid( - token.object.scene.grid, - { x: token.x, y: token.y, elevation: token.elevation }, - baseUpdate.width, - baseUpdate.height - ); + let x = null, + y = null; + if (token.object?.scene?.grid) { + const positionData = game.system.api.documents.DhToken.getSnappedPositionInSquareGrid( + token.object.scene.grid, + { x: token.x, y: token.y, elevation: token.elevation }, + baseUpdate.width, + baseUpdate.height + ); + + x = positionData.x; + y = positionData.y; + } + return { ...baseUpdate, x, diff --git a/module/data/item/beastform.mjs b/module/data/item/beastform.mjs index 669cd4b1..1840e26a 100644 --- a/module/data/item/beastform.mjs +++ b/module/data/item/beastform.mjs @@ -218,12 +218,20 @@ export default class DHBeastform extends BaseDataItem { } }; const tokenUpdate = token => { - const { x, y } = game.system.api.documents.DhToken.getSnappedPositionInSquareGrid( - token.object.scene.grid, - { x: token.x, y: token.y, elevation: token.elevation }, - width ?? token.width, - height ?? token.height - ); + let x = null, + y = null; + if (token.object?.scene?.grid) { + const positionData = game.system.api.documents.DhToken.getSnappedPositionInSquareGrid( + token.object.scene.grid, + { x: token.x, y: token.y, elevation: token.elevation }, + width ?? token.width, + height ?? token.height + ); + + x = positionData.x; + y = positionData.y; + } + return { ...prototypeTokenUpdate, x,