mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-12-20 05:05:47 +01:00
commit
157a75c8c7
@ -12,20 +12,6 @@
|
|||||||
background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
|
background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
.dialog-box-container {
|
|
||||||
display: block;
|
|
||||||
position: relative;
|
|
||||||
z-index: 2;
|
|
||||||
margin: auto;
|
|
||||||
width: 50%;
|
|
||||||
height: 100%;
|
|
||||||
vertical-align: middle;
|
|
||||||
overflow: auto;
|
|
||||||
background-color: black;
|
|
||||||
background-color: rgba(0,0,0,0.4);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
.dialog-box-container {
|
.dialog-box-container {
|
||||||
display: block;
|
display: block;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
CONSTANTS = {
|
CONSTANTS = {
|
||||||
Version: "0.18.2",
|
Version: "0.18.3",
|
||||||
|
|
||||||
//Max level for any skill, assuming no multipliers. Determined by max numerical value in javascript for experience
|
//Max level for any skill, assuming no multipliers. Determined by max numerical value in javascript for experience
|
||||||
//and the skill level formula in Player.js. Note that all this means it that when experience hits MAX_INT, then
|
//and the skill level formula in Player.js. Note that all this means it that when experience hits MAX_INT, then
|
||||||
@ -18,7 +18,7 @@ CONSTANTS = {
|
|||||||
BaseCostForHacknetNodeCore: 500000,
|
BaseCostForHacknetNodeCore: 500000,
|
||||||
|
|
||||||
/* Hacknet Node constants */
|
/* Hacknet Node constants */
|
||||||
HacknetNodeMoneyGainPerLevel: 1.5,
|
HacknetNodeMoneyGainPerLevel: 1.6,
|
||||||
HacknetNodePurchaseNextMult: 1.39, //Multiplier when purchasing an additional hacknet node
|
HacknetNodePurchaseNextMult: 1.39, //Multiplier when purchasing an additional hacknet node
|
||||||
HacknetNodeUpgradeLevelMult: 1.04, //Multiplier for cost when upgrading level
|
HacknetNodeUpgradeLevelMult: 1.04, //Multiplier for cost when upgrading level
|
||||||
HacknetNodeUpgradeRamMult: 1.26, //Multiplier for cost when upgrading RAM
|
HacknetNodeUpgradeRamMult: 1.26, //Multiplier for cost when upgrading RAM
|
||||||
@ -247,7 +247,11 @@ CONSTANTS = {
|
|||||||
"It is important to note that for this reason, conditionals such as if/else statements and certain " +
|
"It is important to note that for this reason, conditionals such as if/else statements and certain " +
|
||||||
"commands such as purchaseHacknetNode() or nuke() will not work while the game is offline.<br><br>" +
|
"commands such as purchaseHacknetNode() or nuke() will not work while the game is offline.<br><br>" +
|
||||||
"However, Scripts WILL continue to generate money and hacking exp for you while the game is offline. This " +
|
"However, Scripts WILL continue to generate money and hacking exp for you while the game is offline. This " +
|
||||||
"offline production is based off of the scripts' production while the game is online.<br><br> " +
|
"offline production is based off of the scripts' production while the game is online. <br><br>" +
|
||||||
|
"grow() and weaken() are two Netscript commands that will also be applied when the game is offline, although at a slower rate " +
|
||||||
|
"compared to if the game was open. This is done by having each script keep track of the " +
|
||||||
|
"rate at which the grow() and weaken() commands are called when the game is online. These calculated rates are used to determine how many times " +
|
||||||
|
"these function calls would be made while the game is offline. <br><br> " +
|
||||||
"Also, note that because of the way the Netscript interpreter is implemented, " +
|
"Also, note that because of the way the Netscript interpreter is implemented, " +
|
||||||
"whenever you reload or re-open the game all of the scripts that you are running will " +
|
"whenever you reload or re-open the game all of the scripts that you are running will " +
|
||||||
"start running from the BEGINNING of the code. The game does not keep track of where exactly " +
|
"start running from the BEGINNING of the code. The game does not keep track of where exactly " +
|
||||||
@ -291,10 +295,10 @@ CONSTANTS = {
|
|||||||
"<i>grow(hostname/ip)</i><br>Use your hacking skills to increase the amount of money available on a server. The argument passed in " +
|
"<i>grow(hostname/ip)</i><br>Use your hacking skills to increase the amount of money available on a server. The argument passed in " +
|
||||||
"must be a string with either the IP or hostname of the target server. The grow() command requires root access to the target server, but " +
|
"must be a string with either the IP or hostname of the target server. The grow() command requires root access to the target server, but " +
|
||||||
"there is no required hacking level to run the command. " +
|
"there is no required hacking level to run the command. " +
|
||||||
"Grants 1 hacking exp when it completes. <br> Example: grow('foodnstuff');<br><br>" +
|
"Grants 1 hacking exp when it completes. Works offline at a slower rate. <br> Example: grow('foodnstuff');<br><br>" +
|
||||||
"<i>weaken(hostname/ip)</i><br>Use your hacking skills to attack a server's security, lowering the server's security level. The argument passed " +
|
"<i>weaken(hostname/ip)</i><br>Use your hacking skills to attack a server's security, lowering the server's security level. The argument passed " +
|
||||||
"in must be a string with either the IP or hostname of the target server. This command requires root access to the target server, but " +
|
"in must be a string with either the IP or hostname of the target server. This command requires root access to the target server, but " +
|
||||||
"there is no required hacking level to run the command. Grants 5 hacking exp when it completes. <br> Example: weaken('foodnstuff');<br><br>" +
|
"there is no required hacking level to run the command. Grants 5 hacking exp when it completes. Works offline at a slower rate<br> Example: weaken('foodnstuff');<br><br>" +
|
||||||
"<i>print(x)</i> <br> Prints a value or a variable to the scripts logs (which can be viewed with the 'tail [script]' terminal command )<br><br>" +
|
"<i>print(x)</i> <br> Prints a value or a variable to the scripts logs (which can be viewed with the 'tail [script]' terminal command )<br><br>" +
|
||||||
"<i>nuke(hostname/ip)</i><br>Run NUKE.exe on the target server. NUKE.exe must exist on your home computer. Does NOT work while offline <br> Example: nuke('foodnstuff'); <br><br>" +
|
"<i>nuke(hostname/ip)</i><br>Run NUKE.exe on the target server. NUKE.exe must exist on your home computer. Does NOT work while offline <br> Example: nuke('foodnstuff'); <br><br>" +
|
||||||
"<i>brutessh(hostname/ip)</i><br>Run BruteSSH.exe on the target server. BruteSSH.exe must exist on your home computer. Does NOT work while offline <br> Example: brutessh('foodnstuff');<br><br>" +
|
"<i>brutessh(hostname/ip)</i><br>Run BruteSSH.exe on the target server. BruteSSH.exe must exist on your home computer. Does NOT work while offline <br> Example: brutessh('foodnstuff');<br><br>" +
|
||||||
|
@ -49,7 +49,7 @@ HacknetNode.prototype.updateMoneyGainRate = function() {
|
|||||||
var gainPerLevel = CONSTANTS.HacknetNodeMoneyGainPerLevel;
|
var gainPerLevel = CONSTANTS.HacknetNodeMoneyGainPerLevel;
|
||||||
|
|
||||||
this.moneyGainRatePerSecond = (this.level * gainPerLevel) *
|
this.moneyGainRatePerSecond = (this.level * gainPerLevel) *
|
||||||
Math.pow(1.03, this.ram-1) *
|
Math.pow(1.035, this.ram-1) *
|
||||||
((this.numCores + 5) / 6) * Player.hacknet_node_money_mult;
|
((this.numCores + 5) / 6) * Player.hacknet_node_money_mult;
|
||||||
if (isNaN(this.moneyGainRatePerSecond)) {
|
if (isNaN(this.moneyGainRatePerSecond)) {
|
||||||
this.moneyGainRatePerSecond = 0;
|
this.moneyGainRatePerSecond = 0;
|
||||||
@ -76,7 +76,7 @@ HacknetNode.prototype.purchaseLevelUpgrade = function(levels=1) {
|
|||||||
if (isNaN(cost)) {return false;}
|
if (isNaN(cost)) {return false;}
|
||||||
if (cost > Player.money) {return false;}
|
if (cost > Player.money) {return false;}
|
||||||
Player.loseMoney(cost);
|
Player.loseMoney(cost);
|
||||||
if (this.level + levels >= CONSTANTS.HacknetNodeMaxLevel) {
|
if (this.level + levels > CONSTANTS.HacknetNodeMaxLevel) {
|
||||||
var diff = Math.max(0, CONSTANTS.HacknetNodeMaxLevel - this.level);
|
var diff = Math.max(0, CONSTANTS.HacknetNodeMaxLevel - this.level);
|
||||||
return this.purchaseLevelUpgrade(diff);
|
return this.purchaseLevelUpgrade(diff);
|
||||||
}
|
}
|
||||||
|
@ -33,7 +33,7 @@ function runScriptsLoop() {
|
|||||||
var ast = Parser(Tokenizer(InputStream(workerScripts[i].code)));
|
var ast = Parser(Tokenizer(InputStream(workerScripts[i].code)));
|
||||||
//console.log(ast);
|
//console.log(ast);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
dialogBoxCreate("Syntax ERROR in " + workerScripts[i].name + ":", e, "", "");
|
dialogBoxCreate("Syntax ERROR in " + workerScripts[i].name + ":<br>" + e);
|
||||||
workerScripts[i].env.stopFlag = true;
|
workerScripts[i].env.stopFlag = true;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -406,7 +406,7 @@ scriptCalculateOfflineProduction = function(script) {
|
|||||||
if (serv == null) {continue;}
|
if (serv == null) {continue;}
|
||||||
var timesHacked = Math.round(0.5 * script.numTimesHackMap[ip] / script.onlineRunningTime * timePassed);
|
var timesHacked = Math.round(0.5 * script.numTimesHackMap[ip] / script.onlineRunningTime * timePassed);
|
||||||
console.log(script.filename + " hacked " + serv.hostname + " " + timesHacked + " times while offline");
|
console.log(script.filename + " hacked " + serv.hostname + " " + timesHacked + " times while offline");
|
||||||
script.log(script.filename + " hacked " + serv.hostname + " " + timesHacked + " times while offline");
|
script.log("Hacked " + serv.hostname + " " + timesHacked + " times while offline");
|
||||||
serv.fortify(CONSTANTS.ServerFortifyAmount * timesHacked);
|
serv.fortify(CONSTANTS.ServerFortifyAmount * timesHacked);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -419,7 +419,7 @@ scriptCalculateOfflineProduction = function(script) {
|
|||||||
if (serv == null) {continue;}
|
if (serv == null) {continue;}
|
||||||
var timesWeakened = Math.round(0.5 * script.numTimesWeakenMap[ip] / script.onlineRunningTime * timePassed);
|
var timesWeakened = Math.round(0.5 * script.numTimesWeakenMap[ip] / script.onlineRunningTime * timePassed);
|
||||||
console.log(script.filename + " called weaken() on " + serv.hostname + " " + timesWeakened + " times while offline");
|
console.log(script.filename + " called weaken() on " + serv.hostname + " " + timesWeakened + " times while offline");
|
||||||
script.log(script.filename + " called weaken() on " + serv.hostname + " " + timesWeakened + " times while offline");
|
script.log("Called weaken() on " + serv.hostname + " " + timesWeakened + " times while offline");
|
||||||
serv.weaken(CONSTANTS.ServerWeakenAmount * timesWeakened);
|
serv.weaken(CONSTANTS.ServerWeakenAmount * timesWeakened);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -432,12 +432,12 @@ scriptCalculateOfflineProduction = function(script) {
|
|||||||
if (serv == null) {continue;}
|
if (serv == null) {continue;}
|
||||||
var timesGrown = Math.round(0.5 * script.numTimesGrowMap[ip] / script.onlineRunningTime * timePassed);
|
var timesGrown = Math.round(0.5 * script.numTimesGrowMap[ip] / script.onlineRunningTime * timePassed);
|
||||||
console.log(script.filename + " called grow() on " + serv.hostname + " " + timesGrown + " times while offline");
|
console.log(script.filename + " called grow() on " + serv.hostname + " " + timesGrown + " times while offline");
|
||||||
script.log(script.filename + " called grow() on " + serv.hostname + " " + timesGrown + " times while offline");
|
script.log("Called grow() on " + serv.hostname + " " + timesGrown + " times while offline");
|
||||||
//TODO
|
var growth = processSingleServerGrowth(serv, timesGrown * 450);
|
||||||
|
script.log(serv.hostname + " grown by " + formatNumber(growth * 100 - 100, 6) + "% from grow() calls made while offline");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return totalOfflineProduction;
|
return totalOfflineProduction;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,6 +22,7 @@ function Server() {
|
|||||||
this.scripts = [];
|
this.scripts = [];
|
||||||
this.runningScripts = []; //Names (and only names) of scripts being run
|
this.runningScripts = []; //Names (and only names) of scripts being run
|
||||||
this.programs = [];
|
this.programs = [];
|
||||||
|
this.messages = [];
|
||||||
|
|
||||||
/* Hacking information (only valid for "foreign" aka non-purchased servers) */
|
/* Hacking information (only valid for "foreign" aka non-purchased servers) */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user