forked from OpenWF/SpaceNinjaServer
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:
parent
2e649cabf6
commit
8ffbb308c5
@ -7,6 +7,7 @@ import {
|
|||||||
getNemesisManifest,
|
getNemesisManifest,
|
||||||
getNemesisPasscode,
|
getNemesisPasscode,
|
||||||
getNemesisPasscodeModTypes,
|
getNemesisPasscodeModTypes,
|
||||||
|
GUESS_WILDCARD,
|
||||||
IKnifeResponse
|
IKnifeResponse
|
||||||
} from "@/src/helpers/nemesisHelpers";
|
} from "@/src/helpers/nemesisHelpers";
|
||||||
import { getJSONfromString } from "@/src/helpers/stringHelpers";
|
import { getJSONfromString } from "@/src/helpers/stringHelpers";
|
||||||
@ -82,7 +83,7 @@ export const nemesisController: RequestHandler = async (req, res) => {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for (let i = 0; i != 3; ++i) {
|
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;
|
++guessResult;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -149,16 +150,18 @@ export const nemesisController: RequestHandler = async (req, res) => {
|
|||||||
await inventory.save();
|
await inventory.save();
|
||||||
res.json(response);
|
res.json(response);
|
||||||
} else {
|
} else {
|
||||||
const passcode = getNemesisPasscode(inventory.Nemesis!);
|
|
||||||
let RankIncrease: number | undefined;
|
let RankIncrease: number | undefined;
|
||||||
if (passcode[body.position] != body.guess) {
|
if (body.guess != GUESS_WILDCARD) {
|
||||||
const manifest = getNemesisManifest(inventory.Nemesis!.manifest);
|
const passcode = getNemesisPasscode(inventory.Nemesis!);
|
||||||
if (inventory.Nemesis!.Rank + 1 < manifest.systemIndexes.length) {
|
if (passcode[body.position] != body.guess) {
|
||||||
inventory.Nemesis!.Rank += 1;
|
const manifest = getNemesisManifest(inventory.Nemesis!.manifest);
|
||||||
RankIncrease = 1;
|
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 });
|
res.json({ RankIncrease });
|
||||||
}
|
}
|
||||||
|
@ -266,6 +266,9 @@ export const getNemesisPasscodeModTypes = (nemesis: { fp: bigint; Faction: TNeme
|
|||||||
: passcode.map(i => reqiuemMods[i]);
|
: passcode.map(i => reqiuemMods[i]);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const GUESS_NONE = 8;
|
||||||
|
export const GUESS_WILDCARD = 9;
|
||||||
|
|
||||||
export const encodeNemesisGuess = (
|
export const encodeNemesisGuess = (
|
||||||
symbol1: number,
|
symbol1: number,
|
||||||
result1: number,
|
result1: number,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user