From df548f7fb73a44841fa602efa14a27751af88603 Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Fri, 9 May 2025 02:33:04 +0200 Subject: [PATCH] fix: only set IsNew flag if the ItemType is new --- src/services/inventoryService.ts | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/services/inventoryService.ts b/src/services/inventoryService.ts index 6a30df38..a42f8f00 100644 --- a/src/services/inventoryService.ts +++ b/src/services/inventoryService.ts @@ -869,10 +869,14 @@ const addSentinel = ( // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition const configs: IItemConfig[] = applyDefaultUpgrades(inventory, ExportSentinels[sentinelName]?.defaultUpgrades); - const features = premiumPurchase ? EquipmentFeatures.DOUBLE_CAPACITY : undefined; const sentinelIndex = - inventory.Sentinels.push({ ItemType: sentinelName, Configs: configs, XP: 0, Features: features, IsNew: true }) - - 1; + inventory.Sentinels.push({ + ItemType: sentinelName, + Configs: configs, + XP: 0, + Features: premiumPurchase ? EquipmentFeatures.DOUBLE_CAPACITY : undefined, + IsNew: inventory.Sentinels.find(x => x.ItemType == sentinelName) ? undefined : true + }) - 1; inventoryChanges.Sentinels ??= []; inventoryChanges.Sentinels.push(inventory.Sentinels[sentinelIndex].toJSON()); @@ -921,6 +925,9 @@ export const addPowerSuit = async ( }, defaultOverwrites ); + if (suit.IsNew) { + suit.IsNew = !inventory.Suits.find(x => x.ItemType == powersuitName); + } if (!suit.IsNew) { suit.IsNew = undefined; } @@ -955,7 +962,7 @@ export const addMechSuit = async ( UpgradeVer: 101, XP: 0, Features: features, - IsNew: true + IsNew: inventory.MechSuits.find(x => x.ItemType == mechsuitName) ? undefined : true }) - 1; inventoryChanges.MechSuits ??= []; inventoryChanges.MechSuits.push(inventory.MechSuits[suitIndex].toJSON()); @@ -995,7 +1002,7 @@ export const addSpaceSuit = ( UpgradeVer: 101, XP: 0, Features: features, - IsNew: true + IsNew: inventory.SpaceSuits.find(x => x.ItemType == spacesuitName) ? undefined : true }) - 1; inventoryChanges.SpaceSuits ??= []; inventoryChanges.SpaceSuits.push(inventory.SpaceSuits[suitIndex].toJSON()); @@ -1077,7 +1084,7 @@ export const addKubrowPet = ( Configs: configs, XP: 0, Details: details, - IsNew: true + IsNew: inventory.KubrowPets.find(x => x.ItemType == kubrowPetName) ? undefined : true }) - 1; inventoryChanges.KubrowPets ??= []; inventoryChanges.KubrowPets.push(inventory.KubrowPets[kubrowPetIndex].toJSON()); @@ -1257,6 +1264,9 @@ export const addEquipment = ( }, defaultOverwrites ); + if (equipment.IsNew) { + equipment.IsNew = !inventory[category].find(x => x.ItemType == type); + } if (!equipment.IsNew) { equipment.IsNew = undefined; }