From 3e6448d80b56d03226bff00e3f3478a59b7714c7 Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Sat, 7 Jun 2025 00:58:13 +0200 Subject: [PATCH 1/4] fix: cap nemesis rank --- src/controllers/api/nemesisController.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/controllers/api/nemesisController.ts b/src/controllers/api/nemesisController.ts index abd9180e..95c9ab66 100644 --- a/src/controllers/api/nemesisController.ts +++ b/src/controllers/api/nemesisController.ts @@ -153,13 +153,13 @@ export const nemesisController: RequestHandler = async (req, res) => { if (passcode[body.position] != body.guess) { res.end(); } else { - inventory.Nemesis!.Rank += 1; - inventory.Nemesis!.InfNodes = getInfNodes( - getNemesisManifest(inventory.Nemesis!.manifest), - inventory.Nemesis!.Rank - ); - await inventory.save(); - res.json({ RankIncrease: 1 }); + const manifest = getNemesisManifest(inventory.Nemesis!.manifest); + if (inventory.Nemesis!.Rank + 1 < manifest.systemIndexes.length) { + inventory.Nemesis!.Rank += 1; + inventory.Nemesis!.InfNodes = getInfNodes(manifest, inventory.Nemesis!.Rank); + await inventory.save(); + res.json({ RankIncrease: 1 }); + } } } } else if ((req.query.mode as string) == "rs") { -- 2.47.2 From 2ca459b84316365cca86c635009f10ccbe7a9da5 Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Sat, 7 Jun 2025 01:02:52 +0200 Subject: [PATCH 2/4] always end request --- src/controllers/api/nemesisController.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/controllers/api/nemesisController.ts b/src/controllers/api/nemesisController.ts index 95c9ab66..9a11ce7a 100644 --- a/src/controllers/api/nemesisController.ts +++ b/src/controllers/api/nemesisController.ts @@ -150,9 +150,7 @@ export const nemesisController: RequestHandler = async (req, res) => { res.json(response); } else { const passcode = getNemesisPasscode(inventory.Nemesis!); - if (passcode[body.position] != body.guess) { - res.end(); - } else { + if (passcode[body.position] == body.guess) { const manifest = getNemesisManifest(inventory.Nemesis!.manifest); if (inventory.Nemesis!.Rank + 1 < manifest.systemIndexes.length) { inventory.Nemesis!.Rank += 1; @@ -161,6 +159,7 @@ export const nemesisController: RequestHandler = async (req, res) => { res.json({ RankIncrease: 1 }); } } + res.end(); } } else if ((req.query.mode as string) == "rs") { // report spawn; POST but no application data in body -- 2.47.2 From 51057ee3f9dc16dc7e541b32875073fbb76cbb7d Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Sat, 7 Jun 2025 01:10:19 +0200 Subject: [PATCH 3/4] refresh InfNodes even when rank does not increase --- src/controllers/api/nemesisController.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/controllers/api/nemesisController.ts b/src/controllers/api/nemesisController.ts index 9a11ce7a..410df731 100644 --- a/src/controllers/api/nemesisController.ts +++ b/src/controllers/api/nemesisController.ts @@ -150,16 +150,17 @@ export const nemesisController: RequestHandler = async (req, res) => { res.json(response); } else { const passcode = getNemesisPasscode(inventory.Nemesis!); + let RankIncrease: number | undefined; if (passcode[body.position] == body.guess) { const manifest = getNemesisManifest(inventory.Nemesis!.manifest); if (inventory.Nemesis!.Rank + 1 < manifest.systemIndexes.length) { inventory.Nemesis!.Rank += 1; - inventory.Nemesis!.InfNodes = getInfNodes(manifest, inventory.Nemesis!.Rank); - await inventory.save(); - res.json({ RankIncrease: 1 }); + RankIncrease = 1; } + inventory.Nemesis!.InfNodes = getInfNodes(manifest, inventory.Nemesis!.Rank); + await inventory.save(); } - res.end(); + res.json({ RankIncrease }); } } else if ((req.query.mode as string) == "rs") { // report spawn; POST but no application data in body -- 2.47.2 From 3393c3108600a9e63ed31e712a60ffeed0bf9f13 Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Sat, 7 Jun 2025 01:36:54 +0200 Subject: [PATCH 4/4] fix ranking up lich when guess is correct and not vice-versa --- src/controllers/api/nemesisController.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controllers/api/nemesisController.ts b/src/controllers/api/nemesisController.ts index 410df731..435f6791 100644 --- a/src/controllers/api/nemesisController.ts +++ b/src/controllers/api/nemesisController.ts @@ -151,7 +151,7 @@ export const nemesisController: RequestHandler = async (req, res) => { } else { const passcode = getNemesisPasscode(inventory.Nemesis!); let RankIncrease: number | undefined; - if (passcode[body.position] == body.guess) { + if (passcode[body.position] != body.guess) { const manifest = getNemesisManifest(inventory.Nemesis!.manifest); if (inventory.Nemesis!.Rank + 1 < manifest.systemIndexes.length) { inventory.Nemesis!.Rank += 1; -- 2.47.2