From cb89e31c15685ef2ce9690cd3fd2831ba3444441 Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Sun, 6 Apr 2025 16:02:20 +0200 Subject: [PATCH] merge EndOfMatchUpload conditions --- src/services/missionInventoryUpdateService.ts | 75 +++++++++---------- 1 file changed, 36 insertions(+), 39 deletions(-) diff --git a/src/services/missionInventoryUpdateService.ts b/src/services/missionInventoryUpdateService.ts index 60fda2d4..ff56bc4f 100644 --- a/src/services/missionInventoryUpdateService.ts +++ b/src/services/missionInventoryUpdateService.ts @@ -77,19 +77,42 @@ export const addMissionInventoryUpdates = async ( inventoryUpdates: IMissionInventoryUpdateRequest ): Promise => { const inventoryChanges: IInventoryChanges = {}; - if ( - inventoryUpdates.EndOfMatchUpload && - inventoryUpdates.Missions && - inventoryUpdates.Missions.Tag in ExportRegions - ) { - const node = ExportRegions[inventoryUpdates.Missions.Tag]; - if (node.miscItemFee) { - addMiscItems(inventory, [ - { - ItemType: node.miscItemFee.ItemType, - ItemCount: node.miscItemFee.ItemCount * -1 - } - ]); + if (inventoryUpdates.EndOfMatchUpload) { + if (inventoryUpdates.Missions && inventoryUpdates.Missions.Tag in ExportRegions) { + const node = ExportRegions[inventoryUpdates.Missions.Tag]; + if (node.miscItemFee) { + addMiscItems(inventory, [ + { + ItemType: node.miscItemFee.ItemType, + ItemCount: node.miscItemFee.ItemCount * -1 + } + ]); + } + } + if ( + inventoryUpdates.MissionFailed && + inventoryUpdates.MissionStatus == "GS_FAILURE" && + inventoryUpdates.ObjectiveReached && + !inventoryUpdates.LockedWeaponGroup + ) { + const loadout = (await Loadout.findById(inventory.LoadOutPresets, "NORMAL"))!; + const config = loadout.NORMAL.id(inventory.CurrentLoadOutIds[0].$oid)!; + const SuitId = new Types.ObjectId(config.s!.ItemId.$oid); + + inventory.BrandedSuits ??= []; + if (!inventory.BrandedSuits.find(x => x.equals(SuitId))) { + inventory.BrandedSuits.push(SuitId); + + await createMessage(inventory.accountOwnerId, [ + { + sndr: "/Lotus/Language/Menu/Mailbox_WarframeSender", + msg: "/Lotus/Language/G1Quests/BrandedMessage", + sub: "/Lotus/Language/G1Quests/BrandedTitle", + att: ["/Lotus/Types/Recipes/Components/BrandRemovalBlueprint"], + highPriority: true // TOVERIFY: I cannot find any content of this within the last 10 years so I can only assume that highPriority is set (it certainly would make sense), but I just don't know for sure that it is so on live. + } + ]); + } } } if (inventoryUpdates.RewardInfo) { @@ -110,32 +133,6 @@ export const addMissionInventoryUpdates = async ( inventory.NemesisAbandonedRewards = inventoryUpdates.RewardInfo.NemesisAbandonedRewards; } } - if ( - inventoryUpdates.MissionFailed && - inventoryUpdates.MissionStatus == "GS_FAILURE" && - inventoryUpdates.EndOfMatchUpload && - inventoryUpdates.ObjectiveReached && - !inventoryUpdates.LockedWeaponGroup - ) { - const loadout = (await Loadout.findById(inventory.LoadOutPresets, "NORMAL"))!; - const config = loadout.NORMAL.id(inventory.CurrentLoadOutIds[0].$oid)!; - const SuitId = new Types.ObjectId(config.s!.ItemId.$oid); - - inventory.BrandedSuits ??= []; - if (!inventory.BrandedSuits.find(x => x.equals(SuitId))) { - inventory.BrandedSuits.push(SuitId); - - await createMessage(inventory.accountOwnerId, [ - { - sndr: "/Lotus/Language/Menu/Mailbox_WarframeSender", - msg: "/Lotus/Language/G1Quests/BrandedMessage", - sub: "/Lotus/Language/G1Quests/BrandedTitle", - att: ["/Lotus/Types/Recipes/Components/BrandRemovalBlueprint"], - highPriority: true // TOVERIFY: I cannot find any content of this within the last 10 years so I can only assume that highPriority is set (it certainly would make sense), but I just don't know for sure that it is so on live. - } - ]); - } - } for (const [key, value] of getEntriesUnsafe(inventoryUpdates)) { if (value === undefined) { logger.error(`Inventory update key ${key} has no value `);