fix: oull being considered an incorrect guess (#2125)

Closes #2121

Reviewed-on: OpenWF/SpaceNinjaServer#2125
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
This commit is contained in:
Sainan 2025-06-07 02:16:50 -07:00 committed by Sainan
parent 2e649cabf6
commit 8ffbb308c5
2 changed files with 15 additions and 9 deletions

View File

@ -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;
}
}
@ -149,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 (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 });
}

View File

@ -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,