From e53e906976fcf3b18f9a6df748b23f76ec9f8597 Mon Sep 17 00:00:00 2001 From: VampireKitten Date: Tue, 15 Oct 2024 20:54:00 +0200 Subject: [PATCH] Implements obtaining Focus XP via lens --- src/services/inventoryService.ts | 14 +++++++++++++- src/types/requestTypes.ts | 1 + 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/services/inventoryService.ts b/src/services/inventoryService.ts index b7a1059f..d81c989c 100644 --- a/src/services/inventoryService.ts +++ b/src/services/inventoryService.ts @@ -721,6 +721,17 @@ const addMissionComplete = (inventory: IInventoryDatabaseDocument, { Tag, Comple } }; +const addFocusXpIncreases = (inventory: IInventoryDatabaseDocument, focusXpPlus: number[] | undefined) => { + if (focusXpPlus) { + inventory.FocusXP ??= { AP_POWER: 0, AP_TACTIC: 0, AP_DEFENSE: 0, AP_ATTACK: 0, AP_WARD: 0 }; + inventory.FocusXP.AP_ATTACK += focusXpPlus[1]; + inventory.FocusXP.AP_DEFENSE += focusXpPlus[2]; + inventory.FocusXP.AP_TACTIC += focusXpPlus[3]; + inventory.FocusXP.AP_POWER += focusXpPlus[4]; + inventory.FocusXP.AP_WARD += focusXpPlus[7]; + } +}; + export const missionInventoryUpdate = async (data: IMissionInventoryUpdateRequest, accountId: string) => { const { RawUpgrades, @@ -731,7 +742,8 @@ export const missionInventoryUpdate = async (data: IMissionInventoryUpdateReques Consumables, Recipes, Missions, - FusionTreasures + FusionTreasures, + FocusXpIncreases } = data; const inventory = await getInventory(accountId); diff --git a/src/types/requestTypes.ts b/src/types/requestTypes.ts index 288bb99c..c109d87d 100644 --- a/src/types/requestTypes.ts +++ b/src/types/requestTypes.ts @@ -70,6 +70,7 @@ export interface IMissionInventoryUpdateRequest { Missions?: IMission; EvolutionProgress?: IEvolutionProgress[]; LastRegionPlayed?: TSolarMapRegion; + FocusXpIncreases?: number[]; FusionPoints?: number; // Not a part of the request, but we put it in this struct as an intermediate storage. }