Cap campaign inventory recovery
This commit is contained in:
@@ -268,6 +268,7 @@ const campaignInventoryCaps: Record<string, number> = {
|
||||
|
||||
const maxCampaignStringListEntries = 128;
|
||||
const maxCampaignStringListLength = 96;
|
||||
const maxCampaignUnknownInventoryAmount = 999;
|
||||
const maxCampaignRewardNoteLength = 180;
|
||||
const maxCampaignBattleObjectiveEntries = 24;
|
||||
const maxCampaignBattleUnitEntries = 96;
|
||||
@@ -967,10 +968,10 @@ function normalizeInventory(value: unknown) {
|
||||
return Object.entries(recordOrEmpty(value)).reduce<Record<string, number>>((inventory, [itemId, amount]) => {
|
||||
const normalizedItemId = itemId.replace(/\s+/g, ' ').trim();
|
||||
const normalizedAmount = normalizeNonNegativeInteger(amount);
|
||||
if (normalizedItemId && normalizedAmount > 0) {
|
||||
if (normalizedItemId && normalizedItemId.length <= maxCampaignStringListLength && normalizedAmount > 0) {
|
||||
const nextAmount = (inventory[normalizedItemId] ?? 0) + normalizedAmount;
|
||||
const cap = campaignInventoryCaps[normalizedItemId];
|
||||
inventory[normalizedItemId] = cap ? Math.min(nextAmount, cap) : nextAmount;
|
||||
const cap = campaignInventoryCaps[normalizedItemId] ?? maxCampaignUnknownInventoryAmount;
|
||||
inventory[normalizedItemId] = Math.min(nextAmount, cap);
|
||||
}
|
||||
return inventory;
|
||||
}, {});
|
||||
|
||||
Reference in New Issue
Block a user