From 1c7f8d599f543129683182413b3cc9cccbeb46d7 Mon Sep 17 00:00:00 2001 From: VampireKitten Date: Tue, 15 Oct 2024 22:22:49 +0200 Subject: [PATCH] Implements gaining Intrinsics --- src/services/inventoryService.ts | 12 +++++++++++- src/types/requestTypes.ts | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/services/inventoryService.ts b/src/services/inventoryService.ts index b7a1059f..1ee68e28 100644 --- a/src/services/inventoryService.ts +++ b/src/services/inventoryService.ts @@ -721,6 +721,14 @@ const addMissionComplete = (inventory: IInventoryDatabaseDocument, { Tag, Comple } }; +const addPlayerSkillGains = (inventory: IInventoryDatabaseDocument, PlayerSkillGains: IPlayerSkills | undefined) => { + if (PlayerSkillGains) { + inventory.PlayerSkills ??= { LPP_SPACE: 0, LPP_DRIFTER: 0, LPS_NONE: 0, LPS_PILOTING: 0, LPS_GUNNERY: 0, LPS_TACTICAL: 0, LPS_ENGINEERING: 0, LPS_COMMAND: 0, LPS_DRIFT_COMBAT: 0, LPS_DRIFT_RIDING: 0, LPS_DRIFT_OPPORTUNITY: 0, LPS_DRIFT_ENDURANCE: 0 }; + inventory.PlayerSkills.LPP_SPACE += PlayerSkillGains.LPP_SPACE; + inventory.PlayerSkills.LPP_DRIFTER += PlayerSkillGains.LPP_DRIFTER; + } +}; + export const missionInventoryUpdate = async (data: IMissionInventoryUpdateRequest, accountId: string) => { const { RawUpgrades, @@ -731,7 +739,8 @@ export const missionInventoryUpdate = async (data: IMissionInventoryUpdateReques Consumables, Recipes, Missions, - FusionTreasures + FusionTreasures, + PlayerSkillGains } = data; const inventory = await getInventory(accountId); @@ -793,6 +802,7 @@ export const missionInventoryUpdate = async (data: IMissionInventoryUpdateReques if (Missions) { addMissionComplete(inventory, Missions); } + addPlayerSkillGains(inventory, PlayerSkillGains); const changedInventory = await inventory.save(); return changedInventory.toJSON(); diff --git a/src/types/requestTypes.ts b/src/types/requestTypes.ts index 288bb99c..d207d88c 100644 --- a/src/types/requestTypes.ts +++ b/src/types/requestTypes.ts @@ -70,6 +70,7 @@ export interface IMissionInventoryUpdateRequest { Missions?: IMission; EvolutionProgress?: IEvolutionProgress[]; LastRegionPlayed?: TSolarMapRegion; + PlayerSkillGains?: IPlayerSkills; FusionPoints?: number; // Not a part of the request, but we put it in this struct as an intermediate storage. }