diff --git a/css/menupages.css b/css/menupages.css
index f6d8f943a..4d9bde93a 100644
--- a/css/menupages.css
+++ b/css/menupages.css
@@ -239,6 +239,7 @@ background-color: #555;
background-color: #555;
width: auto;
display: none;
+ margin-bottom: 6px;
}
.active-scripts-script-panel p,
@@ -251,6 +252,26 @@ background-color: #555;
margin-left: 5%;
}
+.active-scripts-button {
+ color: #aaa;
+ font-size: 16px;
+ font-weight: bold;
+ -webkit-border-radius: 12px;
+ -moz-border-radius: 12px;
+ border-radius: 12px;
+ -moz-box-shadow: 1px 1px 3px #000;
+ -webkit-box-shadow: 1px 1px 3px #000;
+ box-shadow: 1px 1px 3px #000;
+ margin: 4px;
+ padding: 4px;
+}
+
+.active-scripts-button:hover,
+.active-scripts-button:focus {
+ color: white;
+ text-decoration: none;
+ cursor: pointer;
+}
/* Hacknet Nodes */
#hacknet-nodes-container {
diff --git a/css/popupboxes.css b/css/popupboxes.css
index 8676f0da7..4c338addd 100644
--- a/css/popupboxes.css
+++ b/css/popupboxes.css
@@ -52,7 +52,7 @@
#log-box-close {
position: fixed;
- right: 27%;
+ right: 26%;
}
.dialog-box-close-button:hover,
diff --git a/src/ActiveScriptsUI.js b/src/ActiveScriptsUI.js
index a76382968..628258467 100644
--- a/src/ActiveScriptsUI.js
+++ b/src/ActiveScriptsUI.js
@@ -232,6 +232,24 @@ function createActiveScriptsText(workerscript, item) {
item.appendChild(itemText);
+ var logButton = document.createElement("span");
+ logButton.innerHTML = "Log";
+ var killButton = document.createElement("span");
+ killButton.innerHTML = "Kill script";
+ logButton.setAttribute("class", "active-scripts-button");
+ killButton.setAttribute("class", "active-scripts-button");
+ logButton.addEventListener("click", function() {
+ logBoxCreate(workerscript.scriptRef);
+ return false;
+ });
+ killButton.addEventListener("click", function() {
+ killWorkerScript(workerscript.scriptRef, workerscript.scriptRef.scriptRef.server);
+ dialogBoxCreate("Killing script, may take a few minutes to complete...");
+ return false;
+ });
+ item.appendChild(logButton);
+ item.appendChild(killButton);
+
//Return total online production rate
return onlineMps;
}
\ No newline at end of file
diff --git a/src/Augmentations.js b/src/Augmentations.js
index e9891be53..39a3618ef 100644
--- a/src/Augmentations.js
+++ b/src/Augmentations.js
@@ -209,7 +209,7 @@ initAugmentations = function() {
SyntheticHeart.setRequirements(300000, 575000000);
SyntheticHeart.setInfo("This advanced artificial heart, created from plasteel and graphene, is capable of pumping more blood " +
"at much higher efficiencies than a normal human heart.
This augmentation increases the player's agility " +
- "and strength by 80%");
+ "and strength by 50%");
SyntheticHeart.addToFactions(["KuaiGong International", "Fulcrum Secret Technologies", "Speakers for the Dead",
"NWO", "The Covenant", "Daedalus", "Illuminati"]);
if (augmentationExists(AugmentationNames.SyntheticHeart)) {
@@ -223,7 +223,7 @@ initAugmentations = function() {
SynfibrilMuscle.setInfo("The myofibrils in human muscles are injected with special chemicals that react with the proteins inside " +
"the myofibrils, altering their underlying structure. The end result is muscles that are stronger and more elastic. " +
"Scientists have named these artificially enhanced units 'synfibrils'.
This augmentation increases the player's " +
- "strength and defense by 50%.");
+ "strength and defense by 35%.");
SynfibrilMuscle.addToFactions(["KuaiGong International", "Fulcrum Secret Technologies", "Speakers for the Dead",
"NWO", "The Covenant", "Daedalus", "Illuminati", "Blade Industries"]);
if (augmentationExists(AugmentationNames.SynfibrilMuscle)) {
@@ -315,7 +315,7 @@ initAugmentations = function() {
GrapheneBoneLacings.setRequirements(450000, 850000000);
GrapheneBoneLacings.setInfo("A graphene-based material is grafted and fused into the user's bones, significantly increasing " +
"their density and tensile strength.
" +
- "This augmentation increases the player's strength and defense by 85%.");
+ "This augmentation increases the player's strength and defense by 75%.");
GrapheneBoneLacings.addToFactions(["Fulcrum Secret Technologies", "The Covenant"]);
if (augmentationExists(AugmentationNames.GrapheneBoneLacings)) {
GrapheneBoneLacings.owned = Augmentations[AugmentationNames.GrapheneBoneLacings].owned;
@@ -1167,7 +1167,7 @@ initAugmentations = function() {
"and integumentary system. The drug permanently modifies the DNA of the " +
"body's skin and bone cells, granting them the ability to repair " +
"and restructure themselves.
" +
- "This augmentation increases the player's strength and defense by 65%");
+ "This augmentation increases the player's strength and defense by 55%");
Neotra.setRequirements(225000, 550000000);
Neotra.addToFactions(["Blade Industries"]);
if (augmentationExists(AugmentationNames.Neotra)) {
@@ -1468,12 +1468,12 @@ applyAugmentation = function(aug, reapply=false) {
Player.dexterity_mult *= 1.40;
break;
case AugmentationNames.SyntheticHeart: //High level
- Player.agility_mult *= 1.8;
- Player.strength_mult *= 1.8;
+ Player.agility_mult *= 1.5;
+ Player.strength_mult *= 1.5;
break;
case AugmentationNames.SynfibrilMuscle: //Medium-high level
- Player.strength_mult *= 1.5;
- Player.defense_mult *= 1.5;
+ Player.strength_mult *= 1.35;
+ Player.defense_mult *= 1.35;
break;
case AugmentationNames.CombatRib1:
Player.strength_mult *= 1.1;
@@ -1499,8 +1499,8 @@ applyAugmentation = function(aug, reapply=false) {
Player.dexterity_mult *= 1.05;
break;
case AugmentationNames.GrapheneBoneLacings: //High level
- Player.strength_mult *= 1.85;
- Player.defense_mult *= 1.85;
+ Player.strength_mult *= 1.75;
+ Player.defense_mult *= 1.75;
break;
case AugmentationNames.BionicSpine: //Med level
Player.strength_mult *= 1.18;
@@ -1824,8 +1824,8 @@ applyAugmentation = function(aug, reapply=false) {
Player.faction_rep_mult *= 1.25;
break;
case AugmentationNames.Neotra:
- Player.strength_mult *= 1.65;
- Player.defense_mult *= 1.65;
+ Player.strength_mult *= 1.55;
+ Player.defense_mult *= 1.55;
break;
case AugmentationNames.Xanipher:
Player.hacking_mult *= 1.2;
diff --git a/src/Constants.js b/src/Constants.js
index 7ce76c819..44e610c14 100644
--- a/src/Constants.js
+++ b/src/Constants.js
@@ -645,6 +645,8 @@ CONSTANTS = {
Changelog:
"v0.21.2
" +
"-Significantly nerfed most augmentations
" +
+ "-Almost every server with a required hacking level of 200 or more now has slightly randomized server parameters. This means that after every Augmentation " +
+ "purchase, the required hacking level, base security level, and growth factor of these servers will all be slightly different
" +
"-The hacking speed multiplier now increases rather than decreases. The hacking time is divided by your hacking speed " +
"multiplier rather than multiplied. In other words, a higher hacking speed multiplier is better now
" +
"-Servers now have a minimum server security, which is approximately one third of their starting server security
" +
@@ -655,6 +657,7 @@ CONSTANTS = {
"-Slightly reduced amount of exp gained from hack(), weaken(), and grow()
" +
"-Rebalanced formulas that determine crime success
" +
"-Reduced RAM cost for multithreading a script. The RAM multiplier for each thread was reduced from 1.02 to 1.01
" +
+ "-Optimized Script objects so they take less space in the save file
" +
"v0.21.1
" +
"-IF YOUR GAME BREAKS, DO THE FOLLOWING: Options -> Soft Reset -> Save Game -> Reload Page. Sorry about that!
" +
"-Autocompletion for aliases - courtesy of Github user LTCNugget
" +
diff --git a/src/Faction.js b/src/Faction.js
index c7cbbafdb..a6c1433a2 100644
--- a/src/Faction.js
+++ b/src/Faction.js
@@ -175,10 +175,6 @@ initFactions = function() {
//those requirements and will return an array of all factions that the Player should
//receive an invitation to
PlayerObject.prototype.checkForFactionInvitations = function() {
- if (Engine.Debug) {
- console.log("checkForFactionInvitations() called");
- console.log("karma: " + this.karma);
- }
invitedFactions = []; //Array which will hold all Factions th eplayer should be invited to
var company = Companies[this.companyName];
@@ -190,39 +186,35 @@ PlayerObject.prototype.checkForFactionInvitations = function() {
//Illuminati
var illuminatiFac = Factions["Illuminati"];
if (!illuminatiFac.isBanned && !illuminatiFac.isMember && !illuminatiFac.alreadyInvited &&
- this.numAugmentations >= 10 &&
- this.money >= 10000000000 && this.total_money >= 20000000000 &&
- this.hacking_skill >= 800 && this.total_hacking >= 7000 &&
- this.strength >= 900 && this.total_strength >= 10000 &&
- this.defense >= 900 && this.total_defense >= 10000 &&
- this.dexterity >= 900 && this.total_dexterity >= 10000 &&
- this.agility >= 900 && this.total_agility >= 10000) {
+ this.numAugmentations >= 30 &&
+ this.money >= 150000000000 &&
+ this.hacking_skill >= 1200 &&
+ this.strength >= 1000 && this.defense >= 1000 &&
+ this.dexterity >= 1000 && this.agility >= 1000) {
invitedFactions.push(illuminatiFac);
}
//Daedalus
var daedalusFac = Factions["Daedalus"];
if (!daedalusFac.isBanned && !daedalusFac.isMember && !daedalusFac.alreadyInvited &&
- this.numAugmentations >= 15 &&
- this.money >= 1000000000 && this.total_money >= 10000000000 &&
- this.hacking_skill >= 1000 && this.total_hacking >= 10000 &&
- this.strength >= 500 && this.total_strength >= 8000 &&
- this.defense >= 500 && this.total_defense >= 8000 &&
- this.dexterity >= 500 && this.total_dexterity >= 8000 &&
- this.agility >= 500 && this.total_agility >= 8000) {
+ this.numAugmentations >= 30 &&
+ this.money >= 100000000000 &&
+ (this.hacking_skill >= 2500 ||
+ (this.strength >= 1500 && this.defense >= 1500 &&
+ this.dexterity >= 1500 && this.agility >= 1500))) {
invitedFactions.push(daedalusFac);
}
//The Covenant
var covenantFac = Factions["The Covenant"];
if (!covenantFac.isBanned && !covenantFac.isMember && !covenantFac.alreadyInvited &&
- this.numAugmentations >= 12 &&
- this.money >= 5000000000 && this.total_money >= 10000000000 &&
- this.hacking_skill >= 850 && this.total_hacking >= 5000 &&
- this.strength >= 850 && this.total_strength >= 5000 &&
- this.defense >= 850 && this.total_defense >= 5000 &&
- this.dexterity >= 850 && this.total_dexterity >= 5000 &&
- this.agility >= 850 && this.total_agility >= 5000) {
+ this.numAugmentations >= 30 &&
+ this.money >= 75000000000 &&
+ this.hacking_skill >= 850 &&
+ this.strength >= 850 &&
+ this.defense >= 850 &&
+ this.dexterity >= 850 &&
+ this.agility >= 850) {
invitedFactions.push(covenantFac);
}
diff --git a/src/NetscriptEvaluator.js b/src/NetscriptEvaluator.js
index 9c1be9ce5..3d3403661 100644
--- a/src/NetscriptEvaluator.js
+++ b/src/NetscriptEvaluator.js
@@ -1032,7 +1032,7 @@ function scriptCalculateExpGain(server) {
if (server.baseDifficulty == null) {
server.baseDifficulty = server.hackDifficulty;
}
- return (server.baseDifficulty * Player.hacking_exp_mult * 0.5 + 1);
+ return (server.baseDifficulty * Player.hacking_exp_mult * 0.5 + 3);
}
//The same as Player's calculatePercentMoneyHacked() function but takes in the server as an argument
diff --git a/src/Player.js b/src/Player.js
index df9eb4f89..217db6769 100644
--- a/src/Player.js
+++ b/src/Player.js
@@ -259,7 +259,7 @@ PlayerObject.prototype.calculateExpGain = function() {
if (s.baseDifficulty == null) {
s.baseDifficulty = s.hackDifficulty;
}
- return (s.baseDifficulty * this.hacking_exp_mult * 0.5 + 1);
+ return (s.baseDifficulty * this.hacking_exp_mult * 0.5 + 3);
}
//Hack/Analyze a server. Return the amount of time the hack will take. This lets the Terminal object know how long to disable itself for
diff --git a/src/Prestige.js b/src/Prestige.js
index c903bb523..ff8a91178 100644
--- a/src/Prestige.js
+++ b/src/Prestige.js
@@ -200,5 +200,7 @@ function prestigeAugmentation() {
//Messages
initMessages();
+ Player.playtimeSinceLastAug = 0;
+
Engine.loadTerminalContent();
}
\ No newline at end of file
diff --git a/src/SaveObject.js b/src/SaveObject.js
index 9e29a7ead..e2d600d82 100644
--- a/src/SaveObject.js
+++ b/src/SaveObject.js
@@ -19,7 +19,8 @@ BitburnerSaveObject.prototype.saveGame = function() {
this.PlayerSave = JSON.stringify(Player);
//Delete all logs from all running scripts
- TempAllServers = jQuery.extend(true, {}, AllServers); //Deep copy
+ var TempAllServers = JSON.parse(JSON.stringify(AllServers), Reviver);
+ //var TempAllServers = jQuery.extend(true, {}, AllServers); //Deep copy
for (var ip in TempAllServers) {
var server = TempAllServers[ip];
if (server == null) {continue;}
diff --git a/src/Script.js b/src/Script.js
index f93b1a6f2..ba4dc109a 100644
--- a/src/Script.js
+++ b/src/Script.js
@@ -424,16 +424,14 @@ RunningScript.fromJSON = function(value) {
//Creates an object that creates a map/dictionary with the IP of each existing server as
//a key. Initializes every key with a specified value that can either by a number or an array
-function AllServersMap(init = 0) {
- if (init.constructor === Array || init instanceof Array) {
- this.initValue = init.splice(); //Make a copy
- } else {
- this.initValue = 0;
- }
-
+function AllServersMap(arr=false) {
for (var ip in AllServers) {
if (AllServers.hasOwnProperty(ip)) {
- this[ip] = this.initValue;
+ if (arr) {
+ this[ip] = [0, 0, 0, 0];
+ } else {
+ this[ip] = 0;
+ }
}
}
}
diff --git a/src/Server.js b/src/Server.js
index fdd724956..eea331b7e 100644
--- a/src/Server.js
+++ b/src/Server.js
@@ -141,277 +141,277 @@ initForeignServers = function() {
//MegaCorporations
var ECorpServer = new Server();
ECorpServer.init(createRandomIp(), "ecorp", "ECorp", true, false, false, false, 0);
- ECorpServer.setHackingParameters(900, 100000000000, 99, 99);
+ ECorpServer.setHackingParameters(getRandomInt(900, 950), 100000000000, 99, 99);
ECorpServer.setPortProperties(5);
AddToAllServers(ECorpServer);
var MegaCorpServer = new Server();
MegaCorpServer.init(createRandomIp(), "megacorp", "MegaCorp", true, false, false, false, 0);
- MegaCorpServer.setHackingParameters(900, 80000000000, 99, 99);
+ MegaCorpServer.setHackingParameters(getRandomInt(900, 950), 80000000000, 99, 99);
MegaCorpServer.setPortProperties(5);
AddToAllServers(MegaCorpServer);
var BachmanAndAssociatesServer = new Server();
BachmanAndAssociatesServer.init(createRandomIp(), "b-and-a", "Bachman & Associates", true, false, false, false, 0);
- BachmanAndAssociatesServer.setHackingParameters(900, 32000000000, 80, 70);
+ BachmanAndAssociatesServer.setHackingParameters(getRandomInt(875, 925), 32000000000, getRandomInt(75, 85), getRandomInt(65, 75));
BachmanAndAssociatesServer.setPortProperties(5);
AddToAllServers(BachmanAndAssociatesServer);
var BladeIndustriesServer = new Server();
BladeIndustriesServer.init(createRandomIp(), "blade", "Blade Industries", true, false, false, false, 0);
- BladeIndustriesServer.setHackingParameters(900, 20000000000, 90, 65);
+ BladeIndustriesServer.setHackingParameters(getRandomInt(875, 925), 20000000000, getRandomInt(90, 95), getRandomInt(60, 75));
BladeIndustriesServer.setPortProperties(5);
AddToAllServers(BladeIndustriesServer);
var NWOServer = new Server();
NWOServer.init(createRandomIp(), "nwo", "New World Order", true, false, false, false, 0);
- NWOServer.setHackingParameters(900, 40000000000, 99, 80);
+ NWOServer.setHackingParameters(getRandomInt(900, 920), 40000000000, 99, getRandomInt(75, 85));
NWOServer.setPortProperties(5);
AddToAllServers(NWOServer);
var ClarkeIncorporatedServer = new Server();
ClarkeIncorporatedServer.init(createRandomIp(), "clarkeinc", "Clarke Incorporated", true, false, false, false, 0);
- ClarkeIncorporatedServer.setHackingParameters(900, 15000000000, 50, 60);
+ ClarkeIncorporatedServer.setHackingParameters(getRandomInt(875, 950), 15000000000, getRandomInt(50, 60), getRandomInt(50, 70));
ClarkeIncorporatedServer.setPortProperties(5);
AddToAllServers(ClarkeIncorporatedServer);
var OmniTekIncorporatedServer = new Server();
OmniTekIncorporatedServer.init(createRandomIp(), "omnitek", "OmniTek Incorporated", true, false, false, false, 0);
- OmniTekIncorporatedServer.setHackingParameters(900, 50000000000, 95, 99);
+ OmniTekIncorporatedServer.setHackingParameters(getRandomInt(870, 930), 50000000000, getRandomInt(90, 99), getRandomInt(95, 99));
OmniTekIncorporatedServer.setPortProperties(5);
AddToAllServers(OmniTekIncorporatedServer);
var FourSigmaServer = new Server();
FourSigmaServer.init(createRandomIp(), "4sigma", "FourSigma", true, false, false, false, 0);
- FourSigmaServer.setHackingParameters(900, 25000000000, 60, 80);
+ FourSigmaServer.setHackingParameters(getRandomInt(875, 925), 25000000000, getRandomInt(60, 70), getRandomInt(75, 85));
FourSigmaServer.setPortProperties(5);
AddToAllServers(FourSigmaServer);
var KuaiGongInternationalServer = new Server();
KuaiGongInternationalServer.init(createRandomIp(), "kuai-gong", "KuaiGong International", true, false, false, false, 0);
- KuaiGongInternationalServer.setHackingParameters(925, 75000000000, 99, 99);
+ KuaiGongInternationalServer.setHackingParameters(getRandomInt(900, 950), 75000000000, getRandomInt(95, 99), getRandomInt(90, 99));
KuaiGongInternationalServer.setPortProperties(5);
AddToAllServers(KuaiGongInternationalServer);
//Technology and communications companies (large targets)
var FulcrumTechnologiesServer = new Server();
FulcrumTechnologiesServer.init(createRandomIp(), "fulcrumtech", "Fulcrum Technologies", true, false, false, false, 64);
- FulcrumTechnologiesServer.setHackingParameters(900, 2000000000, 90, 85);
+ FulcrumTechnologiesServer.setHackingParameters(getRandomInt(900, 1000), 2000000000, getRandomInt(85, 95), getRandomInt(80, 99));
FulcrumTechnologiesServer.setPortProperties(5);
AddToAllServers(FulcrumTechnologiesServer);
var FulcrumSecretTechnologiesServer = new Server();
FulcrumSecretTechnologiesServer.init(createRandomIp(), "fulcrumassets", "Fulcrum Technologies Assets", true, false, false, false, 0);
- FulcrumSecretTechnologiesServer.setHackingParameters(999, 1000000, 99, 1);
+ FulcrumSecretTechnologiesServer.setHackingParameters(getRandomInt(1000, 1250), 1000000, 99, 1);
FulcrumSecretTechnologiesServer.setPortProperties(5);
AddToAllServers(FulcrumSecretTechnologiesServer);
SpecialServerIps.addIp(SpecialServerNames.FulcrumSecretTechnologies, FulcrumSecretTechnologiesServer.ip);
var StormTechnologiesServer = new Server();
StormTechnologiesServer.init(createRandomIp(), "stormtech", "Storm Technologies", true, false, false, false, 0);
- StormTechnologiesServer.setHackingParameters(850, 1500000000, 85, 80);
+ StormTechnologiesServer.setHackingParameters(getRandomInt(825, 875), 1500000000, getRandomInt(80, 90), getRandomInt(70, 90));
StormTechnologiesServer.setPortProperties(5);
AddToAllServers(StormTechnologiesServer);
var DefCommServer = new Server();
DefCommServer.init(createRandomIp(), "defcomm", "DefComm", true, false, false, false, 0);
- DefCommServer.setHackingParameters(825, 900000000, 90, 60);
+ DefCommServer.setHackingParameters(getRandomInt(800, 850), 900000000, getRandomInt(85, 95), getRandomInt(50, 70));
DefCommServer.setPortProperties(5);
AddToAllServers(DefCommServer);
var InfoCommServer = new Server();
InfoCommServer.init(createRandomIp(), "infocomm", "InfoComm", true, false, false, false, 0);
- InfoCommServer.setHackingParameters(830, 750000000, 80, 50);
+ InfoCommServer.setHackingParameters(getRandomInt(800, 850), 750000000, getRandomInt(70, 90), getRandomInt(35, 75));
InfoCommServer.setPortProperties(5);
AddToAllServers(InfoCommServer);
var HeliosLabsServer = new Server();
HeliosLabsServer.init(createRandomIp(), "helios", "Helios Labs", true, false, false, false, 0);
- HeliosLabsServer.setHackingParameters(800, 500000000, 90, 75);
+ HeliosLabsServer.setHackingParameters(getRandomInt(775, 825), 500000000, getRandomInt(85, 95), getRandomInt(70, 80));
HeliosLabsServer.setPortProperties(5);
AddToAllServers(HeliosLabsServer);
var VitaLifeServer = new Server();
VitaLifeServer.init(createRandomIp(), "vitalife", "VitaLife", true, false, false, false, 32);
- VitaLifeServer.setHackingParameters(775, 800000000, 85, 70);
+ VitaLifeServer.setHackingParameters(getRandomInt(750, 800), 800000000, getRandomInt(80, 90), getRandomInt(60, 80));
VitaLifeServer.setPortProperties(5);
AddToAllServers(VitaLifeServer);
var IcarusMicrosystemsServer = new Server();
IcarusMicrosystemsServer.init(createRandomIp(), "icarus", "Icarus Microsystems", true, false, false, false, 0);
- IcarusMicrosystemsServer.setHackingParameters(810, 1100000000, 90, 90);
+ IcarusMicrosystemsServer.setHackingParameters(getRandomInt(800, 820), 1100000000, getRandomInt(85, 95), getRandomInt(85, 95));
IcarusMicrosystemsServer.setPortProperties(5);
AddToAllServers(IcarusMicrosystemsServer);
var UniversalEnergyServer = new Server();
UniversalEnergyServer.init(createRandomIp(), "univ-energy", "Universal Energy", true, false, false, false, 32);
- UniversalEnergyServer.setHackingParameters(790, 1500000000, 85, 85);
+ UniversalEnergyServer.setHackingParameters(getRandomInt(780, 800), 1500000000, getRandomInt(80, 90), getRandomInt(80, 90));
UniversalEnergyServer.setPortProperties(4);
AddToAllServers(UniversalEnergyServer);
var TitanLabsServer = new Server();
TitanLabsServer.init(createRandomIp(), "titan-labs", "Titan Laboratories", true, false, false, false, 32);
- TitanLabsServer.setHackingParameters(795, 1000000000, 75, 70);
+ TitanLabsServer.setHackingParameters(getRandomInt(790, 800), 1000000000, getRandomInt(70, 80), getRandomInt(60, 80));
TitanLabsServer.setPortProperties(5);
AddToAllServers(TitanLabsServer);
var MicrodyneTechnologiesServer = new Server();
MicrodyneTechnologiesServer.init(createRandomIp(), "microdyne", "Microdyne Technologies", true, false, false, false, 16);
- MicrodyneTechnologiesServer.setHackingParameters(800, 900000000, 70, 80);
+ MicrodyneTechnologiesServer.setHackingParameters(getRandomInt(780, 820), 900000000, getRandomInt(65, 75), getRandomInt(70, 90));
MicrodyneTechnologiesServer.setPortProperties(5);
AddToAllServers(MicrodyneTechnologiesServer);
var TaiYangDigitalServer = new Server();
TaiYangDigitalServer.init(createRandomIp(), "taiyang-digital", "Taiyang Digital", true, false, false, false, 0);
- TaiYangDigitalServer.setHackingParameters(850, 1100000000, 75, 75);
+ TaiYangDigitalServer.setHackingParameters(getRandomInt(800, 900), 1100000000, getRandomInt(70, 80), getRandomInt(70, 80));
TaiYangDigitalServer.setPortProperties(5);
AddToAllServers(TaiYangDigitalServer);
var GalacticCyberSystemsServer = new Server();
GalacticCyberSystemsServer.init(createRandomIp(), "galactic-cyber", "Galactic Cybersystems", true, false, false, false, 0);
- GalacticCyberSystemsServer.setHackingParameters(825, 500000000, 60, 80);
+ GalacticCyberSystemsServer.setHackingParameters(getRandomInt(800, 850), 500000000, getRandomInt(55, 65), getRandomInt(70, 90));
GalacticCyberSystemsServer.setPortProperties(5);
AddToAllServers(GalacticCyberSystemsServer);
//Defense Companies ("Large" Companies)
var AeroCorpServer = new Server();
AeroCorpServer.init(createRandomIp(), "aerocorp", "AeroCorp", true, false, false, false, 0);
- AeroCorpServer.setHackingParameters(850, 1500000000, 85, 60);
+ AeroCorpServer.setHackingParameters(getRandomInt(825, 875), 1500000000, getRandomInt(80, 90), getRandomInt(55, 65));
AeroCorpServer.setPortProperties(5);
AddToAllServers(AeroCorpServer);
var OmniaCybersystemsServer = new Server();
OmniaCybersystemsServer.init(createRandomIp(), "omnia", "Omnia Cybersystems", true, false, false, false, 0);
- OmniaCybersystemsServer.setHackingParameters(825, 1200000000, 90, 65);
+ OmniaCybersystemsServer.setHackingParameters(getRandomInt(800, 850), 1200000000, getRandomInt(85, 95), getRandomInt(60, 70));
OmniaCybersystemsServer.setPortProperties(5);
AddToAllServers(OmniaCybersystemsServer);
var ZBDefenseServer = new Server();
ZBDefenseServer.init(createRandomIp(), "zb-def", "ZB Defense Industries", true, false, false, false, 0);
- ZBDefenseServer.setHackingParameters(800, 1000000000, 60, 70);
+ ZBDefenseServer.setHackingParameters(getRandomInt(775, 825), 1000000000, getRandomInt(55, 65), getRandomInt(65, 75));
ZBDefenseServer.setPortProperties(4);
AddToAllServers(ZBDefenseServer);
var AppliedEnergeticsServer = new Server();
AppliedEnergeticsServer.init(createRandomIp(), "applied-energetics", "Applied Energetics", true, false, false, false, 0);
- AppliedEnergeticsServer.setHackingParameters(775, 1200000000, 70, 72);
+ AppliedEnergeticsServer.setHackingParameters(getRandomInt(750, 800), 1200000000, getRandomInt(60, 80), getRandomInt(70, 75));
AppliedEnergeticsServer.setPortProperties(4);
AddToAllServers(AppliedEnergeticsServer);
var SolarisSpaceSystemsServer = new Server();
SolarisSpaceSystemsServer.init(createRandomIp(), "solaris", "Solaris Space Systems", true, false, false, false, 0);
- SolarisSpaceSystemsServer.setHackingParameters(800, 900000000, 75, 75);
+ SolarisSpaceSystemsServer.setHackingParameters(getRandomInt(790, 810), 900000000, getRandomInt(70, 80), getRandomInt(70, 80));
SolarisSpaceSystemsServer.setPortProperties(5);
AddToAllServers(SolarisSpaceSystemsServer);
var DeltaOneServer = new Server();
DeltaOneServer.init(createRandomIp(), "deltaone", "Delta One", true, false, false, false, 0);
- DeltaOneServer.setHackingParameters(810, 1500000000, 80, 60);
+ DeltaOneServer.setHackingParameters(getRandomInt(800, 820), 1500000000, getRandomInt(75, 85), getRandomInt(50, 70));
DeltaOneServer.setPortProperties(5);
AddToAllServers(DeltaOneServer);
//Health, medicine, pharmaceutical companies ("Large" targets)
var GlobalPharmaceuticalsServer = new Server();
GlobalPharmaceuticalsServer.init(createRandomIp(), "global-pharm", "Global Pharmaceuticals", true, false, false, false, 16);
- GlobalPharmaceuticalsServer.setHackingParameters(775, 2000000000, 80, 85);
+ GlobalPharmaceuticalsServer.setHackingParameters(getRandomInt(750, 800), 2000000000, getRandomInt(75, 85), getRandomInt(80, 90));
GlobalPharmaceuticalsServer.setPortProperties(4);
AddToAllServers(GlobalPharmaceuticalsServer);
var NovaMedicalServer = new Server();
NovaMedicalServer.init(createRandomIp(), "nova-med", "Nova Medical", true, false, false, false, 0);
- NovaMedicalServer.setHackingParameters(800, 1500000000, 70, 75);
+ NovaMedicalServer.setHackingParameters(getRandomInt(775, 825), 1500000000, getRandomInt(60, 80), getRandomInt(65, 85));
NovaMedicalServer.setPortProperties(4);
AddToAllServers(NovaMedicalServer);
var ZeusMedicalServer = new Server();
ZeusMedicalServer.init(createRandomIp(), "zeud-med", "Zeus Medical", true, false, false, false, 0);
- ZeusMedicalServer.setHackingParameters(810, 1750000000, 80, 75);
+ ZeusMedicalServer.setHackingParameters(getRandomInt(800, 825), 1750000000, getRandomInt(70, 90), getRandomInt(70, 80));
ZeusMedicalServer.setPortProperties(5);
AddToAllServers(ZeusMedicalServer);
var UnitaLifeGroupServer = new Server();
UnitaLifeGroupServer.init(createRandomIp(), "unitalife", "UnitaLife Group", true, false, false, false, 32);
- UnitaLifeGroupServer.setHackingParameters(790, 1400000000, 75, 75);
+ UnitaLifeGroupServer.setHackingParameters(getRandomInt(780, 800), 1400000000, getRandomInt(70, 80), getRandomInt(70, 80));
UnitaLifeGroupServer.setPortProperties(4);
AddToAllServers(UnitaLifeGroupServer);
//"Medium level" targets
var LexoCorpServer = new Server();
LexoCorpServer.init(createRandomIp(), "lexo-corp", "Lexo Corporation", true, false, false, false, 16);
- LexoCorpServer.setHackingParameters(700, 1000000000, 70, 60);
+ LexoCorpServer.setHackingParameters(getRandomInt(680, 720), 1000000000, getRandomInt(60, 80), getRandomInt(55, 65));
LexoCorpServer.setPortProperties(4);
AddToAllServers(LexoCorpServer);
var RhoConstructionServer = new Server();
RhoConstructionServer.init(createRandomIp(), "rho-construction", "Rho Construction", true, false, false, false, 0);
- RhoConstructionServer.setHackingParameters(500, 750000000, 50, 50);
+ RhoConstructionServer.setHackingParameters(getRandomInt(480, 520), 750000000, getRandomInt(40, 60), getRandomInt(40, 60));
RhoConstructionServer.setPortProperties(3);
AddToAllServers(RhoConstructionServer);
var AlphaEnterprisesServer = new Server();
AlphaEnterprisesServer.init(createRandomIp(), "alpha-ent", "Alpha Enterprises", true, false, false, false, 0);
- AlphaEnterprisesServer.setHackingParameters(550, 800000000, 60, 55);
+ AlphaEnterprisesServer.setHackingParameters(getRandomInt(500, 600), 800000000, getRandomInt(50, 70), getRandomInt(50, 60));
AlphaEnterprisesServer.setPortProperties(4);
AddToAllServers(AlphaEnterprisesServer);
var AevumPoliceServer = new Server();
AevumPoliceServer.init(createRandomIp(), "aevum-police", "Aevum Police Network", true, false, false, false, 0);
- AevumPoliceServer.setHackingParameters(425, 100000000, 75, 40);
+ AevumPoliceServer.setHackingParameters(getRandomInt(400, 450), 100000000, getRandomInt(70, 80), getRandomInt(30, 50));
AevumPoliceServer.setPortProperties(4);
AddToAllServers(AevumPoliceServer);
var RothmanUniversityServer = new Server();
RothmanUniversityServer.init(createRandomIp(), "rothman-uni", "Rothman University Network", true, false, false, false, 4);
- RothmanUniversityServer.setHackingParameters(400, 250000000, 50, 40);
+ RothmanUniversityServer.setHackingParameters(getRandomInt(370, 430), 250000000, getRandomInt(45, 55), getRandomInt(35, 45));
RothmanUniversityServer.setPortProperties(3);
AddToAllServers(RothmanUniversityServer);
var ZBInstituteOfTechnologyServer = new Server();
ZBInstituteOfTechnologyServer.init(createRandomIp(), "zb-institute", "ZB Institute of Technology Network", true, false, false, false, 4);
- ZBInstituteOfTechnologyServer.setHackingParameters(750, 1000000000, 75, 80);
+ ZBInstituteOfTechnologyServer.setHackingParameters(getRandomInt(725, 775), 1000000000, getRandomInt(65, 85), getRandomInt(75, 85));
ZBInstituteOfTechnologyServer.setPortProperties(5);
AddToAllServers(ZBInstituteOfTechnologyServer);
var SummitUniversityServer = new Server();
SummitUniversityServer.init(createRandomIp(), "summit-uni", "Summit University Network", true, false, false, false, 4);
- SummitUniversityServer.setHackingParameters(450, 200000000, 55, 50);
+ SummitUniversityServer.setHackingParameters(getRandomInt(425, 475), 200000000, getRandomInt(45, 65), getRandomInt(40, 60));
SummitUniversityServer.setPortProperties(3);
AddToAllServers(SummitUniversityServer);
var SysCoreSecuritiesServer = new Server();
SysCoreSecuritiesServer.init(createRandomIp(), "syscore", "SysCore Securities", true, false, false, false, 0);
- SysCoreSecuritiesServer.setHackingParameters(600, 600000000, 70, 65);
+ SysCoreSecuritiesServer.setHackingParameters(getRandomInt(550, 650), 600000000, getRandomInt(60, 80), getRandomInt(60, 70));
SysCoreSecuritiesServer.setPortProperties(4);
AddToAllServers(SysCoreSecuritiesServer);
var CatalystVenturesServer = new Server();
CatalystVenturesServer.init(createRandomIp(), "catalyst", "Catalyst Ventures", true, false, false, false, 0);
- CatalystVenturesServer.setHackingParameters(425, 900000000, 65, 40);
+ CatalystVenturesServer.setHackingParameters(getRandomInt(400, 450), 900000000, getRandomInt(60, 70), getRandomInt(25, 55));
CatalystVenturesServer.setPortProperties(3);
AddToAllServers(CatalystVenturesServer);
var TheHubServer = new Server();
TheHubServer.init(createRandomIp(), "the-hub", "The Hub", true, false, false, false, 0);
- TheHubServer.setHackingParameters(300, 250000000, 40, 50);
+ TheHubServer.setHackingParameters(getRandomInt(275, 325), 250000000, getRandomInt(35, 45), getRandomInt(45, 55));
TheHubServer.setPortProperties(2);
AddToAllServers(TheHubServer);
var CompuTekServer = new Server();
CompuTekServer.init(createRandomIp(), "comptek", "CompuTek", true, false, false, false, 8);
- CompuTekServer.setHackingParameters(350, 300000000, 60, 55);
+ CompuTekServer.setHackingParameters(getRandomInt(300, 400), 300000000, getRandomInt(55, 65), getRandomInt(50, 60));
CompuTekServer.setPortProperties(3);
AddToAllServers(CompuTekServer);
var NetLinkTechnologiesServer = new Server();
NetLinkTechnologiesServer.init(createRandomIp(), "netlink", "NetLink Technologies", true, false, false, false, 0);
- NetLinkTechnologiesServer.setHackingParameters(400, 350000000, 70, 60);
+ NetLinkTechnologiesServer.setHackingParameters(getRandomInt(375, 425), 350000000, getRandomInt(60, 80), getRandomInt(50, 70));
NetLinkTechnologiesServer.setPortProperties(3);
AddToAllServers(NetLinkTechnologiesServer);
var JohnsonOrthopedicsServer = new Server();
JohnsonOrthopedicsServer.init(createRandomIp(), "johnson-ortho", "Johnson Orthopedics", true, false, false, false, 4);
- JohnsonOrthopedicsServer.setHackingParameters(275, 100000000, 50, 50);
+ JohnsonOrthopedicsServer.setHackingParameters(getRandomInt(250, 300), 100000000, getRandomInt(40, 60), getRandomInt(40, 60));
JohnsonOrthopedicsServer.setPortProperties(2);
AddToAllServers(JohnsonOrthopedicsServer);
@@ -484,14 +484,14 @@ initForeignServers = function() {
var OmegaSoftwareServer = new Server();
OmegaSoftwareServer.init(createRandomIp(), "omega-net", "Omega Software", true, false, false, false, 8);
- OmegaSoftwareServer.setHackingParameters(200, 85000000, 30, 35);
+ OmegaSoftwareServer.setHackingParameters(getRandomInt(180, 220), 85000000, getRandomInt(25, 35), getRandomInt(30, 40));
OmegaSoftwareServer.setPortProperties(2);
AddToAllServers(OmegaSoftwareServer);
//Gyms
var CrushFitnessGymServer = new Server();
CrushFitnessGymServer.init(createRandomIp(), "crush-fitness", "Crush Fitness", true, false, false, false, 0);
- CrushFitnessGymServer.setHackingParameters(250, 40000000, 40, 30);
+ CrushFitnessGymServer.setHackingParameters(getRandomInt(225, 275), 40000000, getRandomInt(35, 45), getRandomInt(27, 33));
CrushFitnessGymServer.setPortProperties(2);
AddToAllServers(CrushFitnessGymServer);
@@ -503,19 +503,19 @@ initForeignServers = function() {
var MilleniumFitnessGymServer = new Server();
MilleniumFitnessGymServer.init(createRandomIp(), "millenium-fitness", "Millenium Fitness Network", true, false, false, false, 0);
- MilleniumFitnessGymServer.setHackingParameters(500, 100000000, 50, 35);
+ MilleniumFitnessGymServer.setHackingParameters(getRandomInt(475, 525), 100000000, getRandomInt(45, 55), getRandomInt(25, 45));
MilleniumFitnessGymServer.setPortProperties(3);
AddToAllServers(MilleniumFitnessGymServer);
var PowerhouseGymServer = new Server();
PowerhouseGymServer.init(createRandomIp(), "powerhouse-fitness", "Powerhouse Fitness", true, false, false, false, 0);
- PowerhouseGymServer.setHackingParameters(1000, 300000000, 60, 55);
+ PowerhouseGymServer.setHackingParameters(getRandomInt(950, 1100), 300000000, getRandomInt(55, 65), getRandomInt(50, 60));
PowerhouseGymServer.setPortProperties(5);
AddToAllServers(PowerhouseGymServer);
var SnapFitnessGymServer = new Server();
SnapFitnessGymServer.init(createRandomIp(), "snap-fitness", "Snap Fitness", true, false, false, false, 0);
- SnapFitnessGymServer.setHackingParameters(750, 150000000, 50, 50);
+ SnapFitnessGymServer.setHackingParameters(getRandomInt(675, 800), 150000000, getRandomInt(40, 60), getRandomInt(40, 60));
SnapFitnessGymServer.setPortProperties(4);
AddToAllServers(SnapFitnessGymServer);
diff --git a/src/Terminal.js b/src/Terminal.js
index 03612336d..5a2d318f1 100644
--- a/src/Terminal.js
+++ b/src/Terminal.js
@@ -648,7 +648,7 @@ var Terminal = {
post("Error: No such script exists");
return;
}
- logBoxCreate(runningScript);
+ runningScript.displayLog();
}
break;
case "clear":
diff --git a/utils/HelperFunctions.js b/utils/HelperFunctions.js
index dbda8e4df..0cc6c03d8 100644
--- a/utils/HelperFunctions.js
+++ b/utils/HelperFunctions.js
@@ -31,6 +31,7 @@ function clearEventListeners(elemId) {
}
function getRandomInt(min, max) {
+ if (min > max) {return getRandomInt(max, min);}
return Math.floor(Math.random() * (max - min + 1)) + min;
}