From 85a45a04eade52b5aef440f8043266fa3723a9cd Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Tue, 13 May 2025 08:25:09 -0700 Subject: [PATCH] fix: ensure that only one CrewMember is ever on call (#2069) Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/2069 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com> --- src/controllers/api/crewMembersController.ts | 8 ++++++++ src/services/missionInventoryUpdateService.ts | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/controllers/api/crewMembersController.ts b/src/controllers/api/crewMembersController.ts index 15ef0fbf..f19b5ff3 100644 --- a/src/controllers/api/crewMembersController.ts +++ b/src/controllers/api/crewMembersController.ts @@ -15,6 +15,14 @@ export const crewMembersController: RequestHandler = async (req, res) => { dbCrewMember.WeaponConfigIdx = data.crewMember.WeaponConfigIdx; dbCrewMember.WeaponId = new Types.ObjectId(data.crewMember.WeaponId.$oid); dbCrewMember.Configs = data.crewMember.Configs; + if (data.crewMember.SecondInCommand) { + for (const cm of inventory.CrewMembers) { + if (cm.SecondInCommand) { + cm.SecondInCommand = false; + break; + } + } + } dbCrewMember.SecondInCommand = data.crewMember.SecondInCommand; await inventory.save(); res.json({ diff --git a/src/services/missionInventoryUpdateService.ts b/src/services/missionInventoryUpdateService.ts index 4ec203bb..f2a63281 100644 --- a/src/services/missionInventoryUpdateService.ts +++ b/src/services/missionInventoryUpdateService.ts @@ -631,7 +631,7 @@ export const addMissionInventoryUpdates = async ( Rank: inventory.Nemesis.Rank, Traded: inventory.Nemesis.Traded, PrevOwners: inventory.Nemesis.PrevOwners, - SecondInCommand: inventory.Nemesis.SecondInCommand, + SecondInCommand: false, Weakened: inventory.Nemesis.Weakened, // And set killed flag k: value.killed