mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-11-18 13:43:49 +01:00
Added functionality to create Deepscan programs. Untested
This commit is contained in:
parent
0fcde41a87
commit
84eb295527
10
index.html
10
index.html
@ -430,6 +430,16 @@
|
||||
SQLInject.exe
|
||||
<span class="tooltiptext"> This virus opens SQL ports</span>
|
||||
</a>
|
||||
|
||||
<a class="create-program-a-link-button tooltip" id="create-program-deepscanv1" href="#">
|
||||
DeepscanV1.exe
|
||||
<span class="tooltiptext"> This program allows you to use the scan-analyze command with a depth up to 5</span>
|
||||
</a>
|
||||
|
||||
<a class="create-program-a-link-button tooltip" id="create-program-deepscanv2" href="#">
|
||||
DeepscanV2.exe
|
||||
<span class="tooltiptext"> This program allows you to use the scan-analyze command with a depth up to 10</span>
|
||||
</a>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
@ -1,11 +1,13 @@
|
||||
/* Create programs */
|
||||
Programs = {
|
||||
NukeProgram: "NUKE.exe",
|
||||
BruteSSHProgram: "BruteSSH.exe",
|
||||
FTPCrackProgram: "FTPCrack.exe",
|
||||
RelaySMTPProgram: "relaySMTP.exe",
|
||||
HTTPWormProgram: "HTTPWorm.exe",
|
||||
SQLInjectProgram: "SQLInject.exe",
|
||||
NukeProgram: "NUKE.exe",
|
||||
BruteSSHProgram: "BruteSSH.exe",
|
||||
FTPCrackProgram: "FTPCrack.exe",
|
||||
RelaySMTPProgram: "relaySMTP.exe",
|
||||
HTTPWormProgram: "HTTPWorm.exe",
|
||||
SQLInjectProgram: "SQLInject.exe",
|
||||
DeepscanV1: "DeepscanV1.exe",
|
||||
DeepscanV2: "DeepscanV2.exe",
|
||||
}
|
||||
|
||||
//TODO Right now the times needed to complete work are hard-coded...
|
||||
@ -17,6 +19,8 @@ function displayCreateProgramContent() {
|
||||
var relaySmtpALink = document.getElementById("create-program-relaysmtp");
|
||||
var httpWormALink = document.getElementById("create-program-httpworm");
|
||||
var sqlInjectALink = document.getElementById("create-program-sqlinject");
|
||||
var deepscanv1ALink = document.getElementById("create-program-deepscanv1");
|
||||
var deepscanv2ALink = document.getElementById("create-program-deepscanv2");
|
||||
|
||||
nukeALink.style.display = "none";
|
||||
bruteSshALink.style.display = "none";
|
||||
@ -24,6 +28,8 @@ function displayCreateProgramContent() {
|
||||
relaySmtpALink.style.display = "none";
|
||||
httpWormALink.style.display = "none";
|
||||
sqlInjectALink.style.display = "none";
|
||||
deepscanv1ALink.style.display = "none";
|
||||
deepscanv2ALink.style.display = "none";
|
||||
|
||||
//NUKE.exe (in case you delete it lol)
|
||||
if (Player.getHomeComputer().programs.indexOf(Programs.NukeProgram) == -1) {
|
||||
@ -59,6 +65,15 @@ function displayCreateProgramContent() {
|
||||
Player.hacking_skill >= 750) {
|
||||
sqlInjectALink.style.display = "inline-block";
|
||||
}
|
||||
|
||||
//Deepscan V1 and V2
|
||||
if (!Player.hasProgram(Programs.DeepscanV1) && Player.hacking_skill >= 75) {
|
||||
deepscanv1ALink.style.display = "inline-block";
|
||||
}
|
||||
|
||||
if (!Player.hasProgram(Programs.DeepscanV2) && Player.hacking_skill >= 400) {
|
||||
deepscanv2ALink.style.display = "inline-block";
|
||||
}
|
||||
}
|
||||
|
||||
//Returns the number of programs that are currently available to be created
|
||||
@ -99,5 +114,15 @@ function getNumAvailableCreateProgram() {
|
||||
Player.hacking_skill >= 750) {
|
||||
++count;
|
||||
}
|
||||
|
||||
//Deepscan V1 and V2
|
||||
if (!Player.hasProgram(Programs.DeepscanV1) && Player.hacking_skill >= 75) {
|
||||
++count;
|
||||
}
|
||||
|
||||
if (!Player.hasProgram(Programs.DeepscanV2) && Player.hacking_skill >= 400) {
|
||||
++count;
|
||||
}
|
||||
|
||||
return count;
|
||||
}
|
@ -728,8 +728,19 @@ var Terminal = {
|
||||
Terminal.executeScanAnalyzeCommand(1);
|
||||
} else if (commandArray.length == 2) {
|
||||
var depth = Number(commandArray[1]);
|
||||
if (isNaN(depth)) {
|
||||
post("Incorrect usage of scan-analyze command. depth argument must be numeric");
|
||||
if (isNaN(depth) || depth < 0) {
|
||||
post("Incorrect usage of scan-analyze command. depth argument must be positive numeric");
|
||||
return;
|
||||
}
|
||||
if (depth > 3 && !Player.hasProgram(Programs.DeepscanV1) &&
|
||||
!Player.hasProgram(Programs.DeepscanV2)) {
|
||||
post("You cannot scan-analyze with that high of a depth. Maximum depth is 3");
|
||||
return;
|
||||
} else if (depth > 5 && !Player.hasProgram(Programs.DeepscanV2)) {
|
||||
post("You cannot scan-analyze with that high of a depth. Maximum depth is 5");
|
||||
return;
|
||||
} else if (depth > 10) {
|
||||
post("You cannot scan-analyze with that high of a depth. Maximum depth is 10");
|
||||
return;
|
||||
}
|
||||
Terminal.executeScanAnalyzeCommand(depth);
|
||||
@ -844,6 +855,9 @@ var Terminal = {
|
||||
//We'll use the AllServersToMoneyMap as a visited() array
|
||||
//TODO Later refactor this to a generic name
|
||||
//TODO Using array as stack for now, can make more efficient
|
||||
post("~~~~~~~~~~ Beginning scan-analyze ~~~~~~~~~~");
|
||||
post(" ");
|
||||
post(" ");
|
||||
var visited = new AllServersToMoneyMap();
|
||||
var stack = [];
|
||||
var depthQueue = [0];
|
||||
@ -862,31 +876,17 @@ var Terminal = {
|
||||
depthQueue.push(d+1);
|
||||
}
|
||||
if (d == 0) {continue;} //Don't print current server
|
||||
var titleNumDashes = Array((d-1) * 2 + 1).join("-");
|
||||
post("<strong>" + titleNumDashes + s.hostname + "</strong>");
|
||||
var numDashes = Array(d * 2 + 1).join("-");
|
||||
var c = "N";
|
||||
if (s.hasAdminRights) {c = "Y";}
|
||||
post(numDashes + "Root Access: " + c);
|
||||
post(numDashes + "Required hacking skill: " + s.requiredHackingSkill);
|
||||
post(numDashes + "Number of open ports required to NUKE: " + s.numOpenPortsRequired);
|
||||
post(numDashes + "RAM: " + s.maxRam);
|
||||
}
|
||||
/*
|
||||
var currServ = Player.getCurrentServer();
|
||||
for (var i = 0; i < currServ.serversOnNetwork.length; ++i) {
|
||||
var serv = currServ.getServerOnNetwork(i);
|
||||
if (serv == null) {continue;}
|
||||
post("<strong>" + serv.hostname + "</strong>");
|
||||
var c = "N";
|
||||
if (serv.hasAdminRights) {c = "Y";}
|
||||
post("--Root Access: " + c);
|
||||
post("--Required hacking skill: " + serv.requiredHackingSkill);
|
||||
post("--Number of open ports required to NUKE: " + serv.numOpenPortsRequired);
|
||||
post("--RAM: " + serv.maxRam);
|
||||
var titleDashes = Array((d-1) * 4 + 1).join("-");
|
||||
post("<strong>" + titleDashes + ">" + s.hostname + "</strong>");
|
||||
var dashes = titleDashes + "--";
|
||||
//var dashes = Array(d * 2 + 1).join("-");
|
||||
var c = "NO";
|
||||
if (s.hasAdminRights) {c = "YES";}
|
||||
post(dashes + "Root Access: " + c + ", Required hacking skill: " + s.requiredHackingSkill);
|
||||
post(dashes + "Number of open ports required to NUKE: " + s.numOpenPortsRequired);
|
||||
post(dashes + "RAM: " + s.maxRam);
|
||||
post(" ");
|
||||
}
|
||||
*/
|
||||
},
|
||||
|
||||
executeFreeCommand: function(commandArray) {
|
||||
|
@ -1005,23 +1005,40 @@ var Engine = {
|
||||
var relaySmtpALink = document.getElementById("create-program-relaysmtp");
|
||||
var httpWormALink = document.getElementById("create-program-httpworm");
|
||||
var sqlInjectALink = document.getElementById("create-program-sqlinject");
|
||||
var deepscanv1ALink = document.getElementById("create-program-deepscanv1");
|
||||
var deepscanv2ALink = document.getElementById("create-program-deepscanv2");
|
||||
|
||||
nukeALink.addEventListener("click", function() {
|
||||
Player.startCreateProgramWork(Programs.NukeProgram, CONSTANTS.MillisecondsPerFiveMinutes, 1);
|
||||
return false;
|
||||
});
|
||||
bruteSshALink.addEventListener("click", function() {
|
||||
Player.startCreateProgramWork(Programs.BruteSSHProgram, CONSTANTS.MillisecondsPerFiveMinutes * 2, 50);
|
||||
return false;
|
||||
});
|
||||
ftpCrackALink.addEventListener("click", function() {
|
||||
Player.startCreateProgramWork(Programs.FTPCrackProgram, CONSTANTS.MillisecondsPerHalfHour, 100);
|
||||
return false;
|
||||
});
|
||||
relaySmtpALink.addEventListener("click", function() {
|
||||
Player.startCreateProgramWork(Programs.RelaySMTPProgram. CONSTANTS.MillisecondsPer2Hours, 250);
|
||||
return false;
|
||||
});
|
||||
httpWormALink.addEventListener("click", function() {
|
||||
Player.startCreateProgramWork(Programs.HTTPWormProgram, CONSTANTS.MillisecondsPer4Hours, 500);
|
||||
return false;
|
||||
});
|
||||
sqlInjectALink.addEventListener("click", function() {
|
||||
Player.startCreateProgramWork(Programs.SQLInjectProgram, CONSTANTS.MillisecondsPer8Hours, 750);
|
||||
return false;
|
||||
});
|
||||
deepscanv1ALink.addEventListener("click", function() {
|
||||
Player.startCreateProgramWork(Programs.DeepscanV1, CONSTANTS.MillisecondsPerQuarterHour, 75);
|
||||
return false;
|
||||
});
|
||||
deepscanv2ALink.addEventListener("click", function() {
|
||||
Player.startCreateProgramWork(Programs.DeepscanV2, CONSTANTS.MillisecondsPer2Hours, 400);
|
||||
return false;
|
||||
});
|
||||
|
||||
//Message at the top of terminal
|
||||
|
Loading…
Reference in New Issue
Block a user