mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2026-04-23 01:32:55 +02:00
v0.37.2
This commit is contained in:
Vendored
+107
-26
@@ -197,6 +197,7 @@ function PlayerObject() {
|
||||
this.currentServer = ""; //IP address of Server currently being accessed through terminal
|
||||
this.purchasedServers = []; //IP Addresses of purchased servers
|
||||
this.hacknetNodes = [];
|
||||
this.hacknetNodeWrappers = [];
|
||||
this.totalHacknetNodeProduction = 0;
|
||||
|
||||
//Factions
|
||||
@@ -488,16 +489,8 @@ PlayerObject.prototype.prestigeSourceFile = function() {
|
||||
if (this.bitNodeN === 3) {this.money = new decimal_js__WEBPACK_IMPORTED_MODULE_15__["default"](150e9);}
|
||||
this.corporation = 0;
|
||||
|
||||
//Reset Bladeburner
|
||||
this.bladeburner = 0;
|
||||
|
||||
//BitNode 8: Ghost of Wall Street
|
||||
if (this.bitNodeN === 8) {this.money = new decimal_js__WEBPACK_IMPORTED_MODULE_15__["default"](100000000);}
|
||||
if (this.bitNodeN === 8 || _NetscriptFunctions_js__WEBPACK_IMPORTED_MODULE_11__["hasWallStreetSF"]) {
|
||||
this.hasWseAccount = true;
|
||||
this.hasTixApiAccess = true;
|
||||
}
|
||||
|
||||
this.playtimeSinceLastAug = 0;
|
||||
this.scriptProdSinceLastAug = 0;
|
||||
}
|
||||
@@ -2956,7 +2949,7 @@ function generateRandomString(n) {
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CONSTANTS", function() { return CONSTANTS; });
|
||||
let CONSTANTS = {
|
||||
Version: "0.37.1",
|
||||
Version: "0.37.2",
|
||||
|
||||
//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
|
||||
@@ -3441,16 +3434,13 @@ let CONSTANTS = {
|
||||
"World Stock Exchange account and TIX API Access<br>",
|
||||
|
||||
LatestUpdate:
|
||||
"v0.37.1<br>" +
|
||||
"* You now earn money from successfully completing Bladeburner contracts. The amount you earn is based " +
|
||||
"on the difficulty of the contract.<br>" +
|
||||
"* Completing Field Analysis in Bladeburner now grants 0.1 rank<br>" +
|
||||
"* The maximum RAM you can get on a purchased server is now 1,048,576 GB (2^20)<br>" +
|
||||
"* Bug Fix: Fixed Netscript syntax highlighting issues with the new NetscriptJS<br>" +
|
||||
"* Bug Fix: Netscript Functions now properly incur RAM costs in NetscriptJS<br>" +
|
||||
"* Bug Fix: deleteServer() now fails if its called on the server you are currently connected to<br>" +
|
||||
"* Removed in-game Netscript documentation, since it was outdated and difficult to maintain.<br>" +
|
||||
"* Bug Fix: Updated the gymWorkout() Singularity function with the new exp/cost values for gyms<br>"
|
||||
"v0.37.2<br>" +
|
||||
"* After joining the Bladeburners division, there is now a button to go to the Bladeburner content " +
|
||||
"in the 'City' page<br>" +
|
||||
"* You now start with $250m in BitNode-8 (increased from $100m)<br>" +
|
||||
"* Bug Fix: You can now no longer directly edit Hacknet Node values through NetscriptJS (hopefully)<br>" +
|
||||
"* Bug Fix: Bladeburners is no longer accessible in BN-8<br>" +
|
||||
"* Bug Fix: getBitNodeMultipliers() Netscript function now returns a copy rather than the original object<br>"
|
||||
}
|
||||
|
||||
|
||||
@@ -4198,6 +4188,7 @@ function displayLocationContent() {
|
||||
securityJob.style.display = "block";
|
||||
agentJob.style.display = "block";
|
||||
if (_Player_js__WEBPACK_IMPORTED_MODULE_8__["Player"].bitNodeN === 6 || _NetscriptFunctions_js__WEBPACK_IMPORTED_MODULE_7__["hasBladeburnerSF"] === true) {
|
||||
if (_Player_js__WEBPACK_IMPORTED_MODULE_8__["Player"].bitNodeN === 8) {break;}
|
||||
if (_Player_js__WEBPACK_IMPORTED_MODULE_8__["Player"].bladeburner instanceof _Bladeburner_js__WEBPACK_IMPORTED_MODULE_0__["Bladeburner"]) {
|
||||
//Note: Can't infiltrate NSA when part of bladeburner
|
||||
nsaBladeburner.innerText = "Enter Bladeburner Headquarters";
|
||||
@@ -6348,6 +6339,7 @@ let Engine = {
|
||||
//Generic Locations (common to every city):
|
||||
// World Stock Exchange
|
||||
// Corporation (if applicable)
|
||||
// Bladeburner HQ (if applicable);
|
||||
var genericLocationsList = document.getElementById("generic-locations-list");
|
||||
genericLocationsList.style.display = "inline";
|
||||
Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_2__["removeChildrenFromElement"])(genericLocationsList);
|
||||
@@ -6374,6 +6366,18 @@ let Engine = {
|
||||
}));
|
||||
genericLocationsList.appendChild(li);
|
||||
}
|
||||
|
||||
if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].bladeburner instanceof _Bladeburner_js__WEBPACK_IMPORTED_MODULE_9__["Bladeburner"]) {
|
||||
var li = Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_2__["createElement"])("li");
|
||||
li.appendChild(Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_2__["createElement"])("a", {
|
||||
innerText:"Bladeburner Headquarters", class:"a-link-button",
|
||||
clickListener:()=>{
|
||||
Engine.loadBladeburnerContent();
|
||||
return false;
|
||||
}
|
||||
}));
|
||||
genericLocationsList.appendChild(li);
|
||||
}
|
||||
},
|
||||
|
||||
displayFactionsInfo: function() {
|
||||
@@ -6436,9 +6440,9 @@ let Engine = {
|
||||
clickListener:()=>{
|
||||
Object(_Faction_js__WEBPACK_IMPORTED_MODULE_15__["joinFaction"])(_Faction_js__WEBPACK_IMPORTED_MODULE_15__["Factions"][factionName]);
|
||||
for (var i = 0; i < _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].factionInvitations.length; ++i) {
|
||||
if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].factionInvitations[i] == factionName) {
|
||||
if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].factionInvitations[i] == factionName || _Faction_js__WEBPACK_IMPORTED_MODULE_15__["Factions"][_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].factionInvitations[i]].isBanned) {
|
||||
_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].factionInvitations.splice(i, 1);
|
||||
break;
|
||||
i--;
|
||||
}
|
||||
}
|
||||
Engine.displayFactionsInfo();
|
||||
@@ -18855,6 +18859,9 @@ function displayStockMarketContent() {
|
||||
wseAccountButton.innerText = "Buy WSE Account - $" + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_10__["formatNumber"])(_Constants_js__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].WSEAccountCost, 2).toString();
|
||||
if (!_Player_js__WEBPACK_IMPORTED_MODULE_5__["Player"].hasWseAccount && _Player_js__WEBPACK_IMPORTED_MODULE_5__["Player"].money.gte(_Constants_js__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].WSEAccountCost)) {
|
||||
wseAccountButton.setAttribute("class", "a-link-button");
|
||||
} else if (_Player_js__WEBPACK_IMPORTED_MODULE_5__["Player"].hasWseAccount){
|
||||
wseAccountButton.innerText = "WSE Account - Purchased";
|
||||
wseAccountButton.setAttribute("class", "a-link-button-bought");
|
||||
} else {
|
||||
wseAccountButton.setAttribute("class", "a-link-button-inactive");
|
||||
}
|
||||
@@ -18873,6 +18880,9 @@ function displayStockMarketContent() {
|
||||
Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_10__["formatNumber"])(_Constants_js__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].TIXAPICost, 2).toString();
|
||||
if (!_Player_js__WEBPACK_IMPORTED_MODULE_5__["Player"].hasTixApiAccess && _Player_js__WEBPACK_IMPORTED_MODULE_5__["Player"].money.gte(_Constants_js__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].TIXAPICost)) {
|
||||
tixApiAccessButton.setAttribute("class", "a-link-button");
|
||||
} else if(_Player_js__WEBPACK_IMPORTED_MODULE_5__["Player"].hasTixApiAccess) {
|
||||
tixApiAccessButton.innerText = "Trade Information eXchange (TIX) API Access - Purchased"
|
||||
tixApiAccessButton.setAttribute("class", "a-link-button-bought");
|
||||
} else {
|
||||
tixApiAccessButton.setAttribute("class", "a-link-button-inactive");
|
||||
}
|
||||
@@ -25616,6 +25626,7 @@ function parseOnlyRamCalculate(server, code, workerScript) {
|
||||
// onto the main reference map, and a list of modules that need to be parsed.
|
||||
function parseOnlyCalculateDeps(code, currentModule) {
|
||||
const ast = Object(_utils_acorn_js__WEBPACK_IMPORTED_MODULE_12__["parse"])(code, {sourceType:"module", ecmaVersion: 8});
|
||||
console.log(ast);
|
||||
|
||||
// Everything from the global scope goes in ".". Everything else goes in ".function", where only
|
||||
// the outermost layer of functions counts.
|
||||
@@ -29304,7 +29315,7 @@ function initBladeburner() {
|
||||
Skills[SkillNames.Overclock] = new Skill({
|
||||
name:SkillNames.Overclock,
|
||||
desc:"Each level of this skill decreases the time it takes " +
|
||||
"to attempt a contract or operation by 1% (Max Level: 99)",
|
||||
"to attempt a contract or operation by 1% (Max Level: 95)",
|
||||
baseCost:5, costInc:1, maxLvl:95,
|
||||
actionTime:1
|
||||
});
|
||||
@@ -30405,7 +30416,7 @@ function NetscriptFunctions(workerScript) {
|
||||
Math : Math,
|
||||
Date : Date,
|
||||
Number : Number,
|
||||
hacknetnodes : _Player_js__WEBPACK_IMPORTED_MODULE_15__["Player"].hacknetNodes,
|
||||
hacknetnodes : _Player_js__WEBPACK_IMPORTED_MODULE_15__["Player"].hacknetNodeWrappers,
|
||||
sprintf : sprintf,
|
||||
vsprintf: vsprintf,
|
||||
scan : function(ip=workerScript.serverIp, hostnames=true){
|
||||
@@ -31372,7 +31383,8 @@ function NetscriptFunctions(workerScript) {
|
||||
if (!hasAISF) {
|
||||
throw Object(_NetscriptEvaluator_js__WEBPACK_IMPORTED_MODULE_24__["makeRuntimeRejectMsg"])(workerScript, "Cannot run getBitNodeMultipliers(). It requires Source-File 5 to run.");
|
||||
}
|
||||
return _BitNode_js__WEBPACK_IMPORTED_MODULE_2__["BitNodeMultipliers"];
|
||||
let copy = Object.assign({}, _BitNode_js__WEBPACK_IMPORTED_MODULE_2__["BitNodeMultipliers"]);
|
||||
return copy;
|
||||
},
|
||||
getServerMoneyAvailable : function(ip){
|
||||
if (workerScript.checkingRam) {
|
||||
@@ -52283,6 +52295,7 @@ __webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "updateHacknetNodesContent", function() { return updateHacknetNodesContent; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "processAllHacknetNodeEarnings", function() { return processAllHacknetNodeEarnings; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getHacknetNode", function() { return getHacknetNode; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createPlayerHacknetNodeWrappers", function() { return createPlayerHacknetNodeWrappers; });
|
||||
/* harmony import */ var _BitNode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BitNode.js */ 15);
|
||||
/* harmony import */ var _Constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Constants.js */ 3);
|
||||
/* harmony import */ var _engine_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./engine.js */ 5);
|
||||
@@ -52348,6 +52361,7 @@ function HacknetNode(name) {
|
||||
this.moneyGainRatePerSecond = 0;
|
||||
}
|
||||
|
||||
|
||||
HacknetNode.prototype.updateMoneyGainRate = function() {
|
||||
//How much extra $/s is gained per level
|
||||
var gainPerLevel = _Constants_js__WEBPACK_IMPORTED_MODULE_1__["CONSTANTS"].HacknetNodeMoneyGainPerLevel;
|
||||
@@ -52472,6 +52486,36 @@ HacknetNode.fromJSON = function(value) {
|
||||
|
||||
_utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_7__["Reviver"].constructors.HacknetNode = HacknetNode;
|
||||
|
||||
var HacknetNodeWrapper = function(hacknetNodeObj) {
|
||||
var _node = hacknetNodeObj;
|
||||
return {
|
||||
name : _node.name,
|
||||
level : _node.level,
|
||||
ram : _node.ram,
|
||||
cores : _node.cores,
|
||||
totalMoneyGenerated : _node.totalMoneyGenerated,
|
||||
onlineTimeSeconds : _node.onlineTimeSeconds,
|
||||
moneyGainRatePerSecond : _node.moneyGainRatePerSecond,
|
||||
upgradeLevel : function(n) {
|
||||
return _node.upgradeLevel(n);
|
||||
},
|
||||
upgradeRam : function() {
|
||||
return _node.upgradeRam();
|
||||
},
|
||||
upgradeCore : function() {
|
||||
return _node.upgradeCore();
|
||||
},
|
||||
getLevelUpgradeCost : function(n) {
|
||||
return _node.getLevelUpgradeCost(n);
|
||||
},
|
||||
getRamUpgradeCost : function() {
|
||||
return _node.getRamUpgradeCost();
|
||||
},
|
||||
getCoreUpgradeCost : function() {
|
||||
return _node.getCoreUpgradeCost();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function purchaseHacknet() {
|
||||
/* INTERACTIVE TUTORIAL */
|
||||
@@ -52761,8 +52805,31 @@ function updateHacknetNodeDomElement(nodeObj) {
|
||||
}
|
||||
}
|
||||
|
||||
function createPlayerHacknetNodeWrappers() {
|
||||
_Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers.length = _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes.length;
|
||||
for (var i = 0; i < _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes.length; ++i) {
|
||||
_Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers[i] = new HacknetNodeWrapper(_Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes[i]);
|
||||
}
|
||||
}
|
||||
|
||||
function updatePlayerHacknetNodeWrappers() {
|
||||
if (_Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers.length !== _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes.length) {
|
||||
return createPlayerHacknetNodeWrappers();
|
||||
}
|
||||
for (var i = 0; i < _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers.length; ++i) {
|
||||
if (!(_Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers[i] instanceof HacknetNodeWrapper)) {return createPlayerHacknetNodeWrappers();}
|
||||
_Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers[i].level = _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes[i].level;
|
||||
_Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers[i].ram = _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes[i].ram;
|
||||
_Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers[i].cores = _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes[i].cores;
|
||||
_Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers[i].totalMoneyGenerated = _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes[i].totalMoneyGenerated;
|
||||
_Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers[i].onlineTimeSeconds = _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes[i].onlineTimeSeconds;
|
||||
_Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers[i].moneyGainRatePerSecond = _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes[i].moneyGainRatePerSecond;
|
||||
}
|
||||
}
|
||||
|
||||
function processAllHacknetNodeEarnings(numCycles) {
|
||||
var total = 0;
|
||||
updatePlayerHacknetNodeWrappers();
|
||||
for (var i = 0; i < _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes.length; ++i) {
|
||||
total += processSingleHacknetNodeEarnings(numCycles, _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes[i]);
|
||||
}
|
||||
@@ -59020,6 +59087,8 @@ function loadGame(saveString) {
|
||||
}
|
||||
}
|
||||
|
||||
//Re-initialize Hacknet Node Wrappers
|
||||
Object(_HacknetNode_js__WEBPACK_IMPORTED_MODULE_7__["createPlayerHacknetNodeWrappers"])();
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -59236,6 +59305,9 @@ function loadImportedGame(saveObj, saveString) {
|
||||
}
|
||||
}
|
||||
|
||||
//Re-initialize Hacknet Node Wrappers
|
||||
Object(_HacknetNode_js__WEBPACK_IMPORTED_MODULE_7__["createPlayerHacknetNodeWrappers"])();
|
||||
|
||||
var popupId = "import-game-restart-game-notice";
|
||||
var txt = Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_17__["createElement"])("p", {
|
||||
innerText:"Imported game! I would suggest saving the game and then reloading the page " +
|
||||
@@ -60698,6 +60770,8 @@ __webpack_require__.r(__webpack_exports__);
|
||||
|
||||
|
||||
|
||||
|
||||
let BitNode8StartingMoney = 250e6;
|
||||
|
||||
//Prestige by purchasing augmentation
|
||||
function prestigeAugmentation() {
|
||||
@@ -60792,7 +60866,7 @@ function prestigeAugmentation() {
|
||||
_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].bladeburner = null;
|
||||
|
||||
//BitNode 8: Ghost of Wall Street
|
||||
if (_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].bitNodeN === 8) {_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].money = new decimal_js__WEBPACK_IMPORTED_MODULE_18__["default"](100e6);}
|
||||
if (_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].bitNodeN === 8) {_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].money = new decimal_js__WEBPACK_IMPORTED_MODULE_18__["default"](BitNode8StartingMoney);}
|
||||
if (_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].bitNodeN === 8 || _NetscriptFunctions_js__WEBPACK_IMPORTED_MODULE_11__["hasWallStreetSF"]) {
|
||||
_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].hasWseAccount = true;
|
||||
_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].hasTixApiAccess = true;
|
||||
@@ -60970,6 +61044,13 @@ function prestigeSourceFile() {
|
||||
|
||||
}
|
||||
|
||||
//BitNode 8: Ghost of Wall Street
|
||||
if (_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].bitNodeN === 8) {_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].money = new decimal_js__WEBPACK_IMPORTED_MODULE_18__["default"](BitNode8StartingMoney);}
|
||||
if (_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].bitNodeN === 8 || _NetscriptFunctions_js__WEBPACK_IMPORTED_MODULE_11__["hasWallStreetSF"]) {
|
||||
_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].hasWseAccount = true;
|
||||
_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].hasTixApiAccess = true;
|
||||
}
|
||||
|
||||
//Gain int exp
|
||||
_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].gainIntelligenceExp(5);
|
||||
}
|
||||
@@ -95680,7 +95761,7 @@ var NetscriptHighlightRules = function(options) {
|
||||
"JSON|Math|" + // Other
|
||||
"this|arguments|prototype|window|document" , // Pseudo
|
||||
"keyword":
|
||||
"const|yield|import|get|set|async|await|foop|" +
|
||||
"const|yield|import|get|set|async|await|" +
|
||||
"break|case|catch|continue|default|delete|do|else|finally|for|function|" +
|
||||
"if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|" +
|
||||
"__parent__|__count__|escape|unescape|with|__proto__|" +
|
||||
|
||||
Reference in New Issue
Block a user