From 3c20a1cfc1b98a9aba933e510944de2ba1e98c92 Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Sat, 7 Jun 2025 01:59:53 +0200 Subject: [PATCH 1/2] fix: oull being considered an incorrect guess --- src/controllers/api/nemesisController.ts | 5 +++-- src/helpers/nemesisHelpers.ts | 3 +++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/controllers/api/nemesisController.ts b/src/controllers/api/nemesisController.ts index 435f6791..3b56d85b 100644 --- a/src/controllers/api/nemesisController.ts +++ b/src/controllers/api/nemesisController.ts @@ -7,6 +7,7 @@ import { getNemesisManifest, getNemesisPasscode, getNemesisPasscodeModTypes, + GUESS_WILDCARD, IKnifeResponse } from "@/src/helpers/nemesisHelpers"; import { getJSONfromString } from "@/src/helpers/stringHelpers"; @@ -82,7 +83,7 @@ export const nemesisController: RequestHandler = async (req, res) => { } } else { for (let i = 0; i != 3; ++i) { - if (body.guess[i] == passcode[i]) { + if (body.guess[i] == passcode[i] || body.guess[i] == GUESS_WILDCARD) { ++guessResult; } } @@ -151,7 +152,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 (body.guess != GUESS_WILDCARD && passcode[body.position] != body.guess) { const manifest = getNemesisManifest(inventory.Nemesis!.manifest); if (inventory.Nemesis!.Rank + 1 < manifest.systemIndexes.length) { inventory.Nemesis!.Rank += 1; diff --git a/src/helpers/nemesisHelpers.ts b/src/helpers/nemesisHelpers.ts index 9d6a7a2b..0c2eebbe 100644 --- a/src/helpers/nemesisHelpers.ts +++ b/src/helpers/nemesisHelpers.ts @@ -266,6 +266,9 @@ export const getNemesisPasscodeModTypes = (nemesis: { fp: bigint; Faction: TNeme : passcode.map(i => reqiuemMods[i]); }; +export const GUESS_NONE = 8; +export const GUESS_WILDCARD = 9; + export const encodeNemesisGuess = ( symbol1: number, result1: number, -- 2.47.2 From d099073f5b539f0ade6aac2541bf9f2afa936256 Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Sat, 7 Jun 2025 02:21:09 +0200 Subject: [PATCH 2/2] don't compute passcode when validating oull --- src/controllers/api/nemesisController.ts | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/controllers/api/nemesisController.ts b/src/controllers/api/nemesisController.ts index 3b56d85b..4a206d00 100644 --- a/src/controllers/api/nemesisController.ts +++ b/src/controllers/api/nemesisController.ts @@ -150,16 +150,18 @@ export const nemesisController: RequestHandler = async (req, res) => { await inventory.save(); res.json(response); } else { - const passcode = getNemesisPasscode(inventory.Nemesis!); let RankIncrease: number | undefined; - if (body.guess != GUESS_WILDCARD && passcode[body.position] != body.guess) { - const manifest = getNemesisManifest(inventory.Nemesis!.manifest); - if (inventory.Nemesis!.Rank + 1 < manifest.systemIndexes.length) { - inventory.Nemesis!.Rank += 1; - RankIncrease = 1; + if (body.guess != GUESS_WILDCARD) { + const passcode = getNemesisPasscode(inventory.Nemesis!); + if (passcode[body.position] != body.guess) { + const manifest = getNemesisManifest(inventory.Nemesis!.manifest); + if (inventory.Nemesis!.Rank + 1 < manifest.systemIndexes.length) { + inventory.Nemesis!.Rank += 1; + RankIncrease = 1; + } + inventory.Nemesis!.InfNodes = getInfNodes(manifest, inventory.Nemesis!.Rank); + await inventory.save(); } - inventory.Nemesis!.InfNodes = getInfNodes(manifest, inventory.Nemesis!.Rank); - await inventory.save(); } res.json({ RankIncrease }); } -- 2.47.2