mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2026-04-18 07:18:38 +02:00
139 lines
3.5 KiB
TypeScript
139 lines
3.5 KiB
TypeScript
import { IPlayer, IProgramCreate } from "../Program";
|
|
import { CONSTANTS } from "../../Constants";
|
|
|
|
function requireHackingLevel(lvl: number) {
|
|
return function (p: IPlayer) {
|
|
return p.hacking_skill >= lvl;
|
|
};
|
|
}
|
|
|
|
function bitFlumeRequirements() {
|
|
return function (p: IPlayer) {
|
|
return p.sourceFiles.length > 0 && p.hacking_skill >= 1;
|
|
};
|
|
}
|
|
|
|
export interface IProgramCreationParams {
|
|
key: string;
|
|
name: string;
|
|
create: IProgramCreate | null;
|
|
}
|
|
|
|
export const programsMetadata: IProgramCreationParams[] = [
|
|
{
|
|
key: "NukeProgram",
|
|
name: "NUKE.exe",
|
|
create: {
|
|
level: 1,
|
|
tooltip: "This virus is used to gain root access to a machine if enough ports are opened.",
|
|
req: requireHackingLevel(1),
|
|
time: CONSTANTS.MillisecondsPerFiveMinutes,
|
|
},
|
|
},
|
|
{
|
|
key: "BruteSSHProgram",
|
|
name: "BruteSSH.exe",
|
|
create: {
|
|
level: 50,
|
|
tooltip: "This program executes a brute force attack that opens SSH ports",
|
|
req: requireHackingLevel(50),
|
|
time: CONSTANTS.MillisecondsPerFiveMinutes * 2,
|
|
},
|
|
},
|
|
{
|
|
key: "FTPCrackProgram",
|
|
name: "FTPCrack.exe",
|
|
create: {
|
|
level: 100,
|
|
tooltip: "This program cracks open FTP ports",
|
|
req: requireHackingLevel(100),
|
|
time: CONSTANTS.MillisecondsPerHalfHour,
|
|
},
|
|
},
|
|
{
|
|
key: "RelaySMTPProgram",
|
|
name: "relaySMTP.exe",
|
|
create: {
|
|
level: 250,
|
|
tooltip: "This program opens SMTP ports by redirecting data",
|
|
req: requireHackingLevel(250),
|
|
time: CONSTANTS.MillisecondsPer2Hours,
|
|
},
|
|
},
|
|
{
|
|
key: "HTTPWormProgram",
|
|
name: "HTTPWorm.exe",
|
|
create: {
|
|
level: 500,
|
|
tooltip: "This virus opens up HTTP ports",
|
|
req: requireHackingLevel(500),
|
|
time: CONSTANTS.MillisecondsPer4Hours,
|
|
},
|
|
},
|
|
{
|
|
key: "SQLInjectProgram",
|
|
name: "SQLInject.exe",
|
|
create: {
|
|
level: 750,
|
|
tooltip: "This virus opens SQL ports",
|
|
req: requireHackingLevel(750),
|
|
time: CONSTANTS.MillisecondsPer8Hours,
|
|
},
|
|
},
|
|
{
|
|
key: "DeepscanV1",
|
|
name: "DeepscanV1.exe",
|
|
create: {
|
|
level: 75,
|
|
tooltip: "This program allows you to use the scan-analyze command with a depth up to 5",
|
|
req: requireHackingLevel(75),
|
|
time: CONSTANTS.MillisecondsPerQuarterHour,
|
|
},
|
|
},
|
|
{
|
|
key: "DeepscanV2",
|
|
name: "DeepscanV2.exe",
|
|
create: {
|
|
level: 400,
|
|
tooltip: "This program allows you to use the scan-analyze command with a depth up to 10",
|
|
req: requireHackingLevel(400),
|
|
time: CONSTANTS.MillisecondsPer2Hours,
|
|
},
|
|
},
|
|
{
|
|
key: "ServerProfiler",
|
|
name: "ServerProfiler.exe",
|
|
create: {
|
|
level: 75,
|
|
tooltip: "This program is used to display hacking and Netscript-related information about servers",
|
|
req: requireHackingLevel(75),
|
|
time: CONSTANTS.MillisecondsPerHalfHour,
|
|
},
|
|
},
|
|
{
|
|
key: "AutoLink",
|
|
name: "AutoLink.exe",
|
|
create: {
|
|
level: 25,
|
|
tooltip: "This program allows you to directly connect to other servers through the 'scan-analyze' command",
|
|
req: requireHackingLevel(25),
|
|
time: CONSTANTS.MillisecondsPerQuarterHour,
|
|
},
|
|
},
|
|
{
|
|
key: "BitFlume",
|
|
name: "b1t_flum3.exe",
|
|
create: {
|
|
level: 1,
|
|
tooltip: "This program creates a portal to the BitNode Nexus (allows you to restart and switch BitNodes)",
|
|
req: bitFlumeRequirements(),
|
|
time: CONSTANTS.MillisecondsPerFiveMinutes / 20,
|
|
},
|
|
},
|
|
{
|
|
key: "Flight",
|
|
name: "fl1ght.exe",
|
|
create: null,
|
|
},
|
|
];
|