DARKNET: Add improved challenge achievement for BN15 (#2479)

* DARKNET: Add improved challenge achievement for BN15

* DARKNET: Adjust heartbleed check location for achievement

* Fix wrong achievement data and update svg

* DARKNET: Fix styling of documentation link

* lint

---------

Co-authored-by: CatLover <152669316+catloversg@users.noreply.github.com>
This commit is contained in:
Michael Ficocelli
2026-02-07 21:28:55 -05:00
committed by GitHub
parent 95d08d7722
commit e649adfef4
8 changed files with 155 additions and 5 deletions
+4 -1
View File
@@ -3,11 +3,13 @@ import { assertObject } from "../../utils/TypeAssertion";
export type DarknetSaveFormat = {
storedCycles: number;
hasUsedHeartbleed: boolean;
};
export function getDarkNetSave(): DarknetSaveFormat {
return {
storedCycles: Math.floor(DarknetState.storedCycles),
hasUsedHeartbleed: DarknetState.hasUsedHeartbleed,
};
}
@@ -18,11 +20,12 @@ export function loadDarkNet(saveString: unknown): void {
try {
const parsedData: unknown = JSON.parse(saveString);
assertObject(parsedData);
const { storedCycles } = parsedData;
const { storedCycles, hasUsedHeartbleed } = parsedData;
if (typeof storedCycles !== "number" || !Number.isFinite(storedCycles)) {
throw new Error(`Invalid storedCycles: ${storedCycles}`);
}
DarknetState.storedCycles = storedCycles < 0 ? 0 : storedCycles;
DarknetState.hasUsedHeartbleed = Boolean(hasUsedHeartbleed);
} catch (error) {
console.error(error);
console.error("Invalid DarkNet data:", saveString);