From bd02e724e5481132362217e5d2e55ac4b519aca5 Mon Sep 17 00:00:00 2001 From: danielyxie Date: Tue, 14 May 2019 04:23:55 -0700 Subject: [PATCH] Fixed several more bugs. Rebalanced stock market changes to make the effects a bit less potent for now --- src/ActiveScriptsUI.js | 2 +- src/Constants.ts | 3 +++ src/Hacknet/HacknetHelpers.jsx | 5 ++++- src/Hacknet/HacknetServer.ts | 2 +- src/NetscriptFunctions.js | 13 ++++++++++--- src/Prestige.js | 2 +- src/StockMarket/StockMarket.jsx | 2 +- src/StockMarket/StockMarketHelpers.ts | 3 +-- src/engine.jsx | 2 +- 9 files changed, 23 insertions(+), 11 deletions(-) diff --git a/src/ActiveScriptsUI.js b/src/ActiveScriptsUI.js index fd4338aa7..998614fb4 100644 --- a/src/ActiveScriptsUI.js +++ b/src/ActiveScriptsUI.js @@ -242,7 +242,6 @@ function updateActiveScriptsItems(maxTasks=150) { } } - if (!routing.isOn(Page.ActiveScripts)) { return; } let total = 0; for (var i = 0; i < workerScripts.length; ++i) { try { @@ -252,6 +251,7 @@ function updateActiveScriptsItems(maxTasks=150) { } } + if (!routing.isOn(Page.ActiveScripts)) { return total; } getElementById("active-scripts-total-production-active").innerText = numeralWrapper.formatMoney(total); getElementById("active-scripts-total-prod-aug-total").innerText = numeralWrapper.formatMoney(Player.scriptProdSinceLastAug); getElementById("active-scripts-total-prod-aug-avg").innerText = numeralWrapper.formatMoney(Player.scriptProdSinceLastAug / (Player.playtimeSinceLastAug/1000)); diff --git a/src/Constants.ts b/src/Constants.ts index 3e3c0c33c..c2f7ad16f 100644 --- a/src/Constants.ts +++ b/src/Constants.ts @@ -244,6 +244,7 @@ export let CONSTANTS: IMap = { * getHackTime(), getGrowTime(), and getWeakenTime() now return Infinity if called on a Hacknet Server * Money/Income tracker now displays money lost from hospitalizations * Exported saves now have a unique filename based on current BitNode and timestamp + * Maximum number of Hacknet Servers decreased from 25 to 20 * Bug Fix: Corporation employees stats should no longer become negative * Bug Fix: Fixed sleeve.getInformation() throwing error in certain scenarios * Bug Fix: Coding contracts should no longer generate on the w0r1d_d43m0n server @@ -260,5 +261,7 @@ export let CONSTANTS: IMap = { * Bug Fix: Having Corporation warehouses at full capacity should no longer freeze game in certain conditions * Bug Fix: Prevented an exploit that allows you to buy multiple copies of an Augmentation by holding the 'Enter' button * Bug Fix: gang.getOtherGangInformation() now properly returns a deep copy + * Bug Fix: Fixed getScriptIncome() returning an undefined value + * Bug Fix: Fixed an issue with Hacknet Server hash rate not always updating ` } diff --git a/src/Hacknet/HacknetHelpers.jsx b/src/Hacknet/HacknetHelpers.jsx index e1066c9be..16da06f85 100644 --- a/src/Hacknet/HacknetHelpers.jsx +++ b/src/Hacknet/HacknetHelpers.jsx @@ -426,7 +426,10 @@ function processAllHacknetServerEarnings(numCycles) { let hashes = 0; for (let i = 0; i < Player.hacknetNodes.length; ++i) { - const hserver = AllServers[Player.hacknetNodes[i]]; // hacknetNodes array only contains the IP addresses + // hacknetNodes array only contains the IP addresses of the servers. + // Also, update the hash rate before processing + const hserver = AllServers[Player.hacknetNodes[i]]; + hserver.updateHashRate(Player.hacknet_node_money_mult); hashes += hserver.process(numCycles); } diff --git a/src/Hacknet/HacknetServer.ts b/src/Hacknet/HacknetServer.ts index 1c0d42c60..236ff06e9 100644 --- a/src/Hacknet/HacknetServer.ts +++ b/src/Hacknet/HacknetServer.ts @@ -32,7 +32,7 @@ export const HacknetServerUpgradeRamMult: number = 1.4; // Multiplier for co export const HacknetServerUpgradeCoreMult: number = 1.55; // Multiplier for cost when buying another core export const HacknetServerUpgradeCacheMult: number = 1.85; // Multiplier for cost when upgrading cache -export const MaxNumberHacknetServers: number = 25; // Max number of Hacknet Servers you can own +export const MaxNumberHacknetServers: number = 20; // Max number of Hacknet Servers you can own // Constants for max upgrade levels for Hacknet Server export const HacknetServerMaxLevel: number = 300; diff --git a/src/NetscriptFunctions.js b/src/NetscriptFunctions.js index 1bd9f3d7f..308054333 100644 --- a/src/NetscriptFunctions.js +++ b/src/NetscriptFunctions.js @@ -2164,10 +2164,17 @@ function NetscriptFunctions(workerScript) { getScriptIncome: function(scriptname, ip) { updateDynamicRam("getScriptIncome", getRamCost("getScriptIncome")); if (arguments.length === 0) { - // Get total script income var res = []; - res.push(updateActiveScriptsItems()); - res.push(Player.scriptProdSinceLastAug / (Player.playtimeSinceLastAug/1000)); + + // First element is total income of all currently running scripts + let total = 0; + for (const script of workerScripts) { + total += (script.scriptRef.onlineMoneyMade / script.scriptRef.onlineRunningTime); + } + res.push(total); + + // Second element is total income you've earned from scripts since you installed Augs + res.push(Player.scriptProdSinceLastAug / (Player.playtimeSinceLastAug / 1000)); return res; } else { // Get income for a particular script diff --git a/src/Prestige.js b/src/Prestige.js index ba0ba2755..6e3dc4947 100755 --- a/src/Prestige.js +++ b/src/Prestige.js @@ -336,7 +336,7 @@ function prestigeSourceFile() { hserver.level = 100; hserver.cores = 10; hserver.cache = 5; - hserver.updateHashRate(Player); + hserver.updateHashRate(Player.hacknet_node_money_mult); hserver.updateHashCapacity(); updateHashManagerCapacity(); } diff --git a/src/StockMarket/StockMarket.jsx b/src/StockMarket/StockMarket.jsx index b41a0c61b..519c87456 100644 --- a/src/StockMarket/StockMarket.jsx +++ b/src/StockMarket/StockMarket.jsx @@ -202,7 +202,7 @@ export function stockMarketCycle() { if (stock.b) { thresh = 0.4; } if (Math.random() < thresh) { stock.b = !stock.b; - if (stock.otlkMag < 10) { stock.otlkMag += 0.2; } + if (stock.otlkMag < 10) { stock.otlkMag += 0.15; } } } } diff --git a/src/StockMarket/StockMarketHelpers.ts b/src/StockMarket/StockMarketHelpers.ts index ca5e71b32..30a5113ee 100644 --- a/src/StockMarket/StockMarketHelpers.ts +++ b/src/StockMarket/StockMarketHelpers.ts @@ -3,7 +3,7 @@ import { PositionTypes } from "./data/PositionTypes"; import { CONSTANTS } from "../Constants"; // Amount by which a stock's forecast changes during each price movement -export const forecastChangePerPriceMovement = 0.1; +export const forecastChangePerPriceMovement = 0.05; /** * Given a stock, calculates the amount by which the stock price is multiplied @@ -31,7 +31,6 @@ export function calculateDecreasingPriceMovement(stock: Stock): number | null { return (1 - (stock.priceMovementPerc / 100)); } - /** * Calculate the total cost of a "buy" transaction. This accounts for spread, * price movements, and commission. diff --git a/src/engine.jsx b/src/engine.jsx index f171f9686..e86bbcdfb 100644 --- a/src/engine.jsx +++ b/src/engine.jsx @@ -277,8 +277,8 @@ const Engine = { loadActiveScriptsContent: function() { Engine.hideAllContent(); Engine.Display.activeScriptsContent.style.display = "block"; - updateActiveScriptsItems(); routing.navigateTo(Page.ActiveScripts); + updateActiveScriptsItems(); MainMenuLinks.ActiveScripts.classList.add("active"); },