Merge branch 'extended' into 'master'

HOTFIX: Fix `ExtendedItemSetOptionByRecord()` failing to assign explicitly passed properties

See merge request 
This commit is contained in:
BondageProjects 2025-03-20 00:44:36 +00:00
commit 1774aa712f

View file

@ -1336,6 +1336,11 @@ function ExtendedItemSetOptionByRecord(C, itemOrGroupName, typeRecord=null, opti
const propertyKeys = new Set();
/** @type {Set<keyof ItemProperties>} */
const whiteListKeys = new Set(["OverridePriority"]);
for (const key of whiteListKeys) {
if (properties?.[key]) {
propertyKeys.add(key);
}
}
const previousOptions = ExtendedItemGatherOptions(item);
if (typeRecord != null) {
@ -1397,11 +1402,11 @@ function ExtendedItemSetOptionByRecord(C, itemOrGroupName, typeRecord=null, opti
}
if (properties != null) {
const invalidProperties = CommonKeys(properties).filter(i => !propertyKeys.has(i) && !whiteListKeys.has(i));
const invalidProperties = CommonKeys(properties).filter(i => !propertyKeys.has(i));
if (invalidProperties.length > 0) {
console.warn("Ignoring unsanctioned/invalid item properties", invalidProperties.sort());
}
Object.assign(item, CommonPick(properties, propertyKeys));
Object.assign((item.Property ??= {}), CommonPick(properties, propertyKeys));
}
if (refresh || refresh == null) {