diff --git a/module/data/fields/foreignDocumentUUIDField.mjs b/module/data/fields/foreignDocumentUUIDField.mjs index 0efa60da..cf68ace3 100644 --- a/module/data/fields/foreignDocumentUUIDField.mjs +++ b/module/data/fields/foreignDocumentUUIDField.mjs @@ -38,4 +38,13 @@ export default class ForeignDocumentUUIDField extends foundry.data.fields.Docume toObject(value) { return value?.uuid ?? value; } + + /** @override */ + _cast(value) { + if (typeof value === 'string') return value; + if (value instanceof foundry.abstract.Document) return value.uuid; + throw new Error( + `The value provided to a ForeignDocumentUUIDField must be a ${foundry.abstract.Document.name} instance or a UUID string.` + ); + } } diff --git a/module/helpers/utils.mjs b/module/helpers/utils.mjs index 6f4e5a26..47b6d904 100644 --- a/module/helpers/utils.mjs +++ b/module/helpers/utils.mjs @@ -177,7 +177,7 @@ Roll.replaceFormulaData = function (formula, data = {}, { missing, warn = false return nativeReplaceFormulaData(formula, data, { missing, warn }); }; -foundry.dice.terms.Die.MODIFIERS.sc = 'selfCorrecting'; +foundry.utils.setProperty(foundry, 'dice.terms.Die.MODIFIERS.sc', 'selfCorrecting'); /** * Return the configured value as result if 1 is rolled