made upgrade home ram cost consistent and precision to 5 to display better in game

This commit is contained in:
Olivier Gagnon
2018-06-07 14:54:34 -04:00
parent 2332532d91
commit 289a005fbb
3 changed files with 20 additions and 30 deletions

View File

@ -1761,16 +1761,8 @@ function initLocationButtons() {
});
purchaseHomeRam.addEventListener("click", function() {
//Calculate how many times ram has been upgraded (doubled)
var currentRam = Player.getHomeComputer().maxRam;
var newRam = currentRam * 2;
var numUpgrades = Math.log2(currentRam);
//Calculate cost
//Have cost increase by some percentage each time RAM has been upgraded
var cost = currentRam * CONSTANTS.BaseCostFor1GBOfRamHome;
var mult = Math.pow(1.58, numUpgrades);
cost = cost * mult;
const cost = Player.getUpgradeHomeRamCost();
const ram = Player.getHomeComputer().maxRam;
var yesBtn = yesNoBoxGetYesButton(), noBtn = yesNoBoxGetNoButton();
yesBtn.innerHTML = "Purchase"; noBtn.innerHTML = "Cancel";
@ -1782,8 +1774,8 @@ function initLocationButtons() {
yesNoBoxClose();
});
yesNoBoxCreate("Would you like to purchase additional RAM for your home computer? <br><br>" +
"This will upgrade your RAM from " + currentRam + "GB to " + newRam + "GB. <br><br>" +
"This will cost $" + formatNumber(cost, 2));
"This will upgrade your RAM from " + ram + "GB to " + ram*2 + "GB. <br><br>" +
"This will cost " + numeral(cost).format('$0.000a'));
});
purchaseHomeCores.addEventListener("click", function() {

View File

@ -2506,15 +2506,7 @@ function NetscriptFunctions(workerScript) {
}
}
//Calculate how many times ram has been upgraded (doubled)
var currentRam = Player.getHomeComputer().maxRam;
var numUpgrades = Math.log2(currentRam);
//Calculate cost
//Have cost increase by some percentage each time RAM has been upgraded
var cost = currentRam * CONSTANTS.BaseCostFor1GBOfRamHome;
var mult = Math.pow(1.55, numUpgrades);
cost = cost * mult;
const cost = Player.getUpgradeHomeRamCost();
if (Player.money.lt(cost)) {
workerScript.scriptRef.log("ERROR: upgradeHomeRam() failed because you don't have enough money");
@ -2546,15 +2538,7 @@ function NetscriptFunctions(workerScript) {
}
}
//Calculate how many times ram has been upgraded (doubled)
var currentRam = Player.getHomeComputer().maxRam;
var numUpgrades = Math.log2(currentRam);
//Calculate cost
//Have cost increase by some percentage each time RAM has been upgraded
var cost = currentRam * CONSTANTS.BaseCostFor1GBOfRamHome;
var mult = Math.pow(1.55, numUpgrades);
return cost * mult;
return Player.getUpgradeHomeRamCost();
},
workForCompany : function() {
var ramCost = CONSTANTS.ScriptSingularityFn2RamCost;

View File

@ -405,6 +405,20 @@ PlayerObject.prototype.getHomeComputer = function() {
return AllServers[this.homeComputer];
}
PlayerObject.prototype.getUpgradeHomeRamCost = function() {
//Calculate how many times ram has been upgraded (doubled)
const currentRam = Player.getHomeComputer().maxRam;
const numUpgrades = Math.log2(currentRam);
//Calculate cost
//Have cost increase by some percentage each time RAM has been upgraded
const mult = Math.pow(1.58, numUpgrades);
var cost = currentRam * CONSTANTS.BaseCostFor1GBOfRamHome;
cost = cost * mult;
cost = cost.toPrecision(5);
return cost;
}
//Calculates skill level based on experience. The same formula will be used for every skill
PlayerObject.prototype.calculateSkill = function(exp) {
return Math.max(Math.floor(32 * Math.log(exp + 534.5) - 200), 1);