Add proxy trap for the in operator

This commit is contained in:
Carlos Fernandez 2026-04-25 18:01:59 -04:00
parent 1f9045276c
commit 0ccf3bde86

View file

@ -373,9 +373,10 @@ export const itemAbleRollParse = (value, actor, item) => {
const isItemTarget = value.toLowerCase().includes('item.@');
const slicedValue = isItemTarget ? value.replaceAll(/item\.@/gi, '@') : value;
const model = isItemTarget || item instanceof Item ? item : actor;
const rollData = isItemTarget || !model?.getRollData ? model : model.getRollData();
try {
return Roll.replaceFormulaData(slicedValue, isItemTarget || !model?.getRollData ? model : model.getRollData());
return Roll.replaceFormulaData(slicedValue, rollData);
} catch (_) {
return '';
}
@ -831,6 +832,9 @@ export function createShallowProxy(obj) {
deleteProperty(_target, prop) {
delete overrides[prop];
return true;
},
has(target, key) {
return key in overrides || key in target;
}
});
}