Restrict battle item stocks to allies

This commit is contained in:
2026-07-05 14:47:24 +09:00
parent 785ef2921d
commit 3d48ef3c80
2 changed files with 2 additions and 0 deletions

View File

@@ -101,6 +101,7 @@ try {
['invalid item stock count', { itemStocks: { 'liu-bei': { bean: -1 } } }],
['too many item stock count', { itemStocks: { 'liu-bei': { bean: 4, wine: 2 } } }],
['unknown item stock unit id', { itemStocks: { 'ghost-unit': { bean: 1 } } }],
['enemy item stock unit id', { itemStocks: { 'rebel-1': { bean: 1 } } }],
['unknown item stock item id', { itemStocks: { 'liu-bei': { phantomItem: 1 } } }],
['invalid buff turns', { battleBuffs: [{ ...validState.battleBuffs[0], turns: 0 }] }],
['too many buff turns', { battleBuffs: [{ ...validState.battleBuffs[0], turns: 10 }] }],

View File

@@ -430,6 +430,7 @@ function isOptionalItemStockRecord(value: unknown, options: BattleSaveValidation
return Object.entries(value).every(
([unitId, stocks]) =>
isKnownUnitId(unitId, options) &&
(!options.validAllyUnitIds || options.validAllyUnitIds.has(unitId)) &&
isRecord(stocks) &&
Object.keys(stocks).length <= itemReferenceLimit(options) &&
Object.entries(stocks).every(