mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-11-26 09:33:49 +01:00
2 new exploits
This commit is contained in:
parent
bb433d4629
commit
e93be42e7c
@ -1,5 +1,7 @@
|
|||||||
import React from "react";
|
import React, { useEffect } from "react";
|
||||||
import Typography from "@mui/material/Typography";
|
import Typography from "@mui/material/Typography";
|
||||||
|
import { use } from "../../ui/Context";
|
||||||
|
import { Exploit } from "../../Exploits/Exploit";
|
||||||
|
|
||||||
const metaBB = "https://bitburner-official.github.io/bitburner-legacy/";
|
const metaBB = "https://bitburner-official.github.io/bitburner-legacy/";
|
||||||
|
|
||||||
@ -10,6 +12,14 @@ const style = {
|
|||||||
} as any;
|
} as any;
|
||||||
|
|
||||||
export function BBCabinetRoot(): React.ReactElement {
|
export function BBCabinetRoot(): React.ReactElement {
|
||||||
|
const player = use.Player();
|
||||||
|
useEffect(() => {
|
||||||
|
window.addEventListener("message", function (this: Window, ev: MessageEvent<boolean>) {
|
||||||
|
if (ev.isTrusted && ev.origin == "https://bitburner-official.github.io" && ev.data) {
|
||||||
|
player.giveExploit(Exploit.TrueRecursion);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
// prettier-ignore
|
// prettier-ignore
|
||||||
const joystick =
|
const joystick =
|
||||||
<>
|
<>
|
||||||
|
@ -19,6 +19,8 @@ export enum Exploit {
|
|||||||
RealityAlteration = "RealityAlteration",
|
RealityAlteration = "RealityAlteration",
|
||||||
N00dles = "N00dles",
|
N00dles = "N00dles",
|
||||||
YoureNotMeantToAccessThis = "YoureNotMeantToAccessThis",
|
YoureNotMeantToAccessThis = "YoureNotMeantToAccessThis",
|
||||||
|
TrueRecursion = "TrueRecursion",
|
||||||
|
INeedARainbow = "INeedARainbow",
|
||||||
// To the players reading this. Yes you're supposed to add EditSaveFile by
|
// To the players reading this. Yes you're supposed to add EditSaveFile by
|
||||||
// editing your save file, yes you could add them all, no we don't care
|
// editing your save file, yes you could add them all, no we don't care
|
||||||
// that's not the point.
|
// that's not the point.
|
||||||
@ -37,6 +39,8 @@ const names: {
|
|||||||
RealityAlteration: "by altering reality to suit your whims.",
|
RealityAlteration: "by altering reality to suit your whims.",
|
||||||
N00dles: "by harnessing the power of the n00dles.",
|
N00dles: "by harnessing the power of the n00dles.",
|
||||||
YoureNotMeantToAccessThis: "by accessing the dev menu.",
|
YoureNotMeantToAccessThis: "by accessing the dev menu.",
|
||||||
|
TrueRecursion: "by truly recursing.",
|
||||||
|
INeedARainbow: "by using the power of the rainbow.",
|
||||||
};
|
};
|
||||||
|
|
||||||
export function ExploitName(exploit: string): string {
|
export function ExploitName(exploit: string): string {
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { WorkerScript } from "../Netscript/WorkerScript";
|
import { WorkerScript } from "../Netscript/WorkerScript";
|
||||||
import { IPlayer } from "../PersonObjects/IPlayer";
|
import { IPlayer } from "../PersonObjects/IPlayer";
|
||||||
import { Exploit } from "../Exploits/Exploit";
|
import { Exploit } from "../Exploits/Exploit";
|
||||||
|
import * as bcrypt from "bcryptjs";
|
||||||
|
|
||||||
export interface INetscriptExtra {
|
export interface INetscriptExtra {
|
||||||
heart: {
|
heart: {
|
||||||
@ -9,6 +10,7 @@ export interface INetscriptExtra {
|
|||||||
exploit(): void;
|
exploit(): void;
|
||||||
bypass(doc: Document): void;
|
bypass(doc: Document): void;
|
||||||
alterReality(): void;
|
alterReality(): void;
|
||||||
|
rainbow(guess: string): void;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function NetscriptExtra(player: IPlayer, workerScript: WorkerScript): INetscriptExtra {
|
export function NetscriptExtra(player: IPlayer, workerScript: WorkerScript): INetscriptExtra {
|
||||||
@ -50,5 +52,17 @@ export function NetscriptExtra(player: IPlayer, workerScript: WorkerScript): INe
|
|||||||
player.giveExploit(Exploit.RealityAlteration);
|
player.giveExploit(Exploit.RealityAlteration);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
rainbow: function (guess: unknown): void {
|
||||||
|
async function tryGuess(): Promise<void> {
|
||||||
|
const verified = await bcrypt.compare(
|
||||||
|
guess + "",
|
||||||
|
"$2a$10$aertxDEkgor8baVtQDZsLuMwwGYmkRM/ohcA6FjmmzIHQeTCsrCcO",
|
||||||
|
);
|
||||||
|
if (verified) {
|
||||||
|
player.giveExploit(Exploit.INeedARainbow);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tryGuess();
|
||||||
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user