mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-12-23 22:52:29 +01:00
Merge branch 'master' of https://github.com/danielyxie/netburner into netscript-refactor
This commit is contained in:
commit
378797e511
@ -62,6 +62,10 @@ function removeAlias(name) {
|
||||
delete Aliases[name];
|
||||
return true;
|
||||
}
|
||||
if (GlobalAliases.hasOwnProperty(name)) {
|
||||
delete GlobalAliases[name];
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -1740,6 +1740,8 @@ applyAugmentation = function(aug, reapply=false) {
|
||||
Player.hacking_chance_mult *= 1.3;
|
||||
Player.hacking_money_mult *= 2;
|
||||
break;
|
||||
case AugmentationNames.TheRedPill:
|
||||
break;
|
||||
case AugmentationNames.SPTN97:
|
||||
Player.strength_mult *= 1.75;
|
||||
Player.defense_mult *= 1.75;
|
||||
|
@ -295,9 +295,9 @@ CompanyPositions = {
|
||||
CompanyPositions.LeadDev.setExperienceGains(.5, 0, 0, 0, 0, .1);
|
||||
|
||||
CompanyPositions.SoftwareConsultant.setPerformanceParameters(80, 0, 0, 0, 0, 20, 1);
|
||||
CompanyPositions.SoftwareConsultant.setExperienceGains(.175, 0, 0, 0, 0, .03);
|
||||
CompanyPositions.SoftwareConsultant.setExperienceGains(.08, 0, 0, 0, 0, .03);
|
||||
CompanyPositions.SeniorSoftwareConsultant.setPerformanceParameters(75, 0, 0, 0, 0, 25, 1.2);
|
||||
CompanyPositions.SeniorSoftwareConsultant.setExperienceGains(.35, 0, 0, 0, 0, .06);
|
||||
CompanyPositions.SeniorSoftwareConsultant.setExperienceGains(.25, 0, 0, 0, 0, .06);
|
||||
|
||||
//Security
|
||||
CompanyPositions.ITIntern.setPerformanceParameters(90, 0, 0, 0, 0, 10, 0.9);
|
||||
|
@ -1,5 +1,5 @@
|
||||
CONSTANTS = {
|
||||
Version: "0.24.0",
|
||||
Version: "0.24.1",
|
||||
|
||||
//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
|
||||
@ -152,12 +152,12 @@ CONSTANTS = {
|
||||
ClassGymDexterity: "training your dexterity at a gym",
|
||||
ClassGymAgility: "training your agility at a gym",
|
||||
|
||||
ClassDataStructuresBaseCost: 10,
|
||||
ClassNetworksBaseCost: 32,
|
||||
ClassAlgorithmsBaseCost: 120,
|
||||
ClassManagementBaseCost: 60,
|
||||
ClassLeadershipBaseCost: 120,
|
||||
ClassGymBaseCost: 100,
|
||||
ClassDataStructuresBaseCost: 30,
|
||||
ClassNetworksBaseCost: 60,
|
||||
ClassAlgorithmsBaseCost: 240,
|
||||
ClassManagementBaseCost: 120,
|
||||
ClassLeadershipBaseCost: 240,
|
||||
ClassGymBaseCost: 120,
|
||||
|
||||
CrimeShoplift: "shoplift",
|
||||
CrimeMug: "mug someone",
|
||||
@ -170,7 +170,7 @@ CONSTANTS = {
|
||||
CrimeHeist: "pull off the ultimate heist",
|
||||
|
||||
//Text that is displayed when the 'help' command is ran in Terminal
|
||||
HelpText: 'alias [name="value"] Create aliases for Terminal commands, or list existing aliases<br>' +
|
||||
HelpText: 'alias [-g] [name="value"] Create aliases for Terminal commands, or list existing aliases<br>' +
|
||||
"analyze Get statistics and information about current machine <br>" +
|
||||
"cat [message] Display a .msg file<br>" +
|
||||
"check [script] [args...] Print logs to Terminal for the script with the specified name and arguments<br>" +
|
||||
@ -665,6 +665,24 @@ CONSTANTS = {
|
||||
"World Stock Exchange account and TIX API Access<br>",
|
||||
|
||||
Changelog:
|
||||
"v0.24.1<br>" +
|
||||
"-Adjusted cost of upgrading home computer RAM. Should be a little cheaper for the first few upgrades (up to ~64GB), and " +
|
||||
"then will start being more expensive than before. High RAM upgrades should now be significantly more expensive than before.<br>" +
|
||||
"-Slightly lowered the starting money available on most mid-game and end-game servers (servers with required hacking level " +
|
||||
"greater than 200) by about 10-15%<br>" +
|
||||
"-Rebalanced company/company position reputation gains and requirements<br>" +
|
||||
"-Studying at a university now gives slightly more EXP and early jobs give slightly less EXP<br>" +
|
||||
"-Studying at a university is now considerably more expensive<br>" +
|
||||
"-Rebalanced stock market<br>" +
|
||||
"-Significantly increased cost multiplier for purchasing additional Hacknet Nodes<br>" +
|
||||
"-The rate at which facility security level increases during infiltration for each clearance level " +
|
||||
"was lowered slightly for all companies<br>" +
|
||||
"-Updated Faction descriptions<br>" +
|
||||
"-Changed the way alias works. Normal aliases now only work at the start of a Terminal command (they will only " +
|
||||
"replace the first word in the Terminal command). You can also create global aliases that work on any part of the " +
|
||||
'command, like before. Declare global aliases by entering the optional -g flag: alias -g name="value" - Courtesy of Github user MrNuggelz<br>' +
|
||||
"-'top' Terminal command implemented courtesy of Github user LTCNugget. Currently, the formatting gets screwed up " +
|
||||
"if your script names are really long.<br><br>" +
|
||||
"v0.24.0<br>" +
|
||||
"-Players now have HP, which is displayed in the top right. To regain HP, visit the hospital. Currently " +
|
||||
"the only way to lose HP is through infiltration<br>" +
|
||||
@ -876,13 +894,21 @@ CONSTANTS = {
|
||||
"v0.24.1<br>" +
|
||||
"-Adjusted cost of upgrading home computer RAM. Should be a little cheaper for the first few upgrades (up to ~64GB), and " +
|
||||
"then will start being more expensive than before. High RAM upgrades should now be significantly more expensive than before.<br>" +
|
||||
"-Very slightly lowered the starting money available on most mid-game and end-game servers (servers with required hacking level " +
|
||||
"-Slightly lowered the starting money available on most mid-game and end-game servers (servers with required hacking level " +
|
||||
"greater than 200) by about 10-15%<br>" +
|
||||
"-Rebalanced company/company position reputation gains and requirements<br>" +
|
||||
"-Studying at a university now gives slightly more EXP and early jobs give slightly less EXP<br>" +
|
||||
"-Studying at a university is now considerably more expensive<br>" +
|
||||
"-Rebalanced stock market<br>" +
|
||||
"-Significantly increased cost multiplier for purchasing additional Hacknet Nodes<br>" +
|
||||
"-The rate at which facility security level increases during infiltration for each clearance level " +
|
||||
"was lowered slightly for all companies<br>" +
|
||||
"-Updated Faction descriptions<br>" +
|
||||
"-'top' Terminal command implemented courtesy of Github user LTCNugget<br><br>" +
|
||||
"-Changed the way alias works. Normal aliases now only work at the start of a Terminal command (they will only " +
|
||||
"replace the first word in the Terminal command). You can also create global aliases that work on any part of the " +
|
||||
'command, like before. Declare global aliases by entering the optional -g flag: alias -g name="value" - Courtesy of Github user MrNuggelz<br>' +
|
||||
"-'top' Terminal command implemented courtesy of Github user LTCNugget. Currently, the formatting gets screwed up " +
|
||||
"if your script names are really long.<br><br>" +
|
||||
"v0.24.0<br>" +
|
||||
"-Players now have HP, which is displayed in the top right. To regain HP, visit the hospital. Currently " +
|
||||
"the only way to lose HP is through infiltration<br>" +
|
||||
|
@ -216,6 +216,9 @@ getMaxNumberLevelUpgrades = function(nodeObj) {
|
||||
var min = 1;
|
||||
var max = CONSTANTS.HacknetNodeMaxLevel-1;
|
||||
var levelsToMax = CONSTANTS.HacknetNodeMaxLevel - nodeObj.level;
|
||||
if (nodeObj.calculateLevelUpgradeCost(levelsToMax) < Player.money) {
|
||||
return levelsToMax;
|
||||
}
|
||||
|
||||
while (min <= max) {
|
||||
var curr = (min + max) / 2 | 0;
|
||||
|
@ -369,7 +369,7 @@ displayLocationContent = function() {
|
||||
purchaseTor.style.display = "block";
|
||||
purchaseHomeRam.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.AevumECorp,
|
||||
6000, 100, 150, 14);
|
||||
6000, 100, 150, 13);
|
||||
break;
|
||||
|
||||
case Locations.AevumBachmanAndAssociates:
|
||||
@ -382,7 +382,7 @@ displayLocationContent = function() {
|
||||
businessJob.style.display = "block";
|
||||
securityJob.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.AevumBachmanAndAssociates,
|
||||
1500, 36, 60, 10);
|
||||
1500, 36, 60, 9.5);
|
||||
break;
|
||||
|
||||
case Locations.AevumClarkeIncorporated:
|
||||
@ -395,7 +395,7 @@ displayLocationContent = function() {
|
||||
businessJob.style.display = "block";
|
||||
securityJob.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.AevumClarkeIncorporated,
|
||||
2400, 28, 75, 9.5);
|
||||
2400, 28, 75, 9);
|
||||
break;
|
||||
|
||||
case Locations.AevumFulcrumTechnologies:
|
||||
@ -414,7 +414,7 @@ displayLocationContent = function() {
|
||||
purchaseTor.style.display = "block";
|
||||
purchaseHomeRam.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.AevumFulcrumTechnologies,
|
||||
6000, 84, 100, 16);
|
||||
6000, 84, 100, 15);
|
||||
break;
|
||||
|
||||
case Locations.AevumAeroCorp:
|
||||
@ -426,7 +426,7 @@ displayLocationContent = function() {
|
||||
networkEngineerJob.style.display = "block";
|
||||
securityJob.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.AevumAeroCorp,
|
||||
2000, 26, 50, 10.5);
|
||||
2000, 26, 50, 10);
|
||||
break;
|
||||
|
||||
case Locations.AevumGalacticCybersystems:
|
||||
@ -439,7 +439,7 @@ displayLocationContent = function() {
|
||||
networkEngineerJob.style.display = "block";
|
||||
businessJob.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.AevumGalacticCybersystems,
|
||||
1400, 24, 50, 10);
|
||||
1400, 24, 50, 9);
|
||||
break;
|
||||
|
||||
case Locations.AevumWatchdogSecurity:
|
||||
@ -453,7 +453,7 @@ displayLocationContent = function() {
|
||||
securityJob.style.display = "block";
|
||||
agentJob.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.AevumWatchdogSecurity,
|
||||
850, 12, 30, 8);
|
||||
850, 12, 30, 7.5);
|
||||
break;
|
||||
|
||||
case Locations.AevumRhoConstruction:
|
||||
@ -462,7 +462,7 @@ displayLocationContent = function() {
|
||||
softwareJob.style.display = "block";
|
||||
businessJob.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.AevumRhoConstruction,
|
||||
600, 8, 20, 4.5);
|
||||
600, 8, 20, 4);
|
||||
break;
|
||||
|
||||
case Locations.AevumPolice:
|
||||
@ -471,7 +471,7 @@ displayLocationContent = function() {
|
||||
softwareJob.style.display = "block";
|
||||
securityJob.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.AevumPolice,
|
||||
700, 10, 25, 6);
|
||||
700, 10, 25, 5);
|
||||
break;
|
||||
|
||||
case Locations.AevumNetLinkTechnologies:
|
||||
@ -489,7 +489,7 @@ displayLocationContent = function() {
|
||||
purchaseTor.style.display = "block";
|
||||
purchaseHomeRam.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.AevumNetLinkTechnologies,
|
||||
150, 5, 15, 3.5);
|
||||
150, 5, 15, 3);
|
||||
break;
|
||||
|
||||
case Locations.AevumCrushFitnessGym:
|
||||
@ -523,7 +523,7 @@ displayLocationContent = function() {
|
||||
businessJob.style.display = "block";
|
||||
securityJob.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.ChongqingKuaiGongInternational,
|
||||
5500, 42, 100, 15);
|
||||
5500, 42, 100, 14);
|
||||
break;
|
||||
|
||||
case Locations.ChongqingSolarisSpaceSystems:
|
||||
@ -535,7 +535,7 @@ displayLocationContent = function() {
|
||||
networkEngineerJob.style.display = "block";
|
||||
securityJob.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.ChongqingSolarisSpaceSystems,
|
||||
3600, 24, 75, 14);
|
||||
3600, 24, 75, 13);
|
||||
break;
|
||||
|
||||
|
||||
@ -564,7 +564,7 @@ displayLocationContent = function() {
|
||||
businessJob.style.display = "block";
|
||||
securityJob.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.Sector12MegaCorp,
|
||||
6000, 100, 125, 15.5);
|
||||
6000, 100, 125, 15);
|
||||
break;
|
||||
|
||||
case Locations.Sector12BladeIndustries:
|
||||
@ -577,7 +577,7 @@ displayLocationContent = function() {
|
||||
businessJob.style.display = "block";
|
||||
securityJob.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.Sector12BladeIndustries,
|
||||
3000, 40, 100, 11);
|
||||
3000, 40, 100, 10);
|
||||
break;
|
||||
|
||||
case Locations.Sector12FourSigma:
|
||||
@ -590,7 +590,7 @@ displayLocationContent = function() {
|
||||
businessJob.style.display = "block";
|
||||
securityJob.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.Sector12FourSigma,
|
||||
1500, 50, 100, 16);
|
||||
1500, 50, 100, 14.5);
|
||||
break;
|
||||
|
||||
case Locations.Sector12IcarusMicrosystems:
|
||||
@ -603,7 +603,7 @@ displayLocationContent = function() {
|
||||
networkEngineerJob.style.display = "block";
|
||||
businessJob.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.Sector12IcarusMicrosystems,
|
||||
900, 28, 70, 12);
|
||||
900, 28, 70, 11);
|
||||
break;
|
||||
|
||||
case Locations.Sector12UniversalEnergy:
|
||||
@ -616,7 +616,7 @@ displayLocationContent = function() {
|
||||
networkEngineerJob.style.display = "block";
|
||||
businessJob.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.Sector12UniversalEnergy,
|
||||
775, 20, 50, 10);
|
||||
775, 20, 50, 9.5);
|
||||
break;
|
||||
|
||||
case Locations.Sector12DeltaOne:
|
||||
@ -628,7 +628,7 @@ displayLocationContent = function() {
|
||||
networkEngineerJob.style.display = "block";
|
||||
securityJob.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.Sector12DeltaOne,
|
||||
1200, 30, 75, 11);
|
||||
1200, 30, 75, 10);
|
||||
break;
|
||||
|
||||
case Locations.Sector12CIA:
|
||||
@ -641,7 +641,7 @@ displayLocationContent = function() {
|
||||
securityJob.style.display = "block";
|
||||
agentJob.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.Sector12CIA,
|
||||
1450, 38, 80, 12.5);
|
||||
1450, 38, 80, 12);
|
||||
break;
|
||||
|
||||
case Locations.Sector12NSA:
|
||||
@ -654,7 +654,7 @@ displayLocationContent = function() {
|
||||
securityJob.style.display = "block";
|
||||
agentJob.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.Sector12NSA,
|
||||
1400, 34, 80, 12);
|
||||
1400, 34, 80, 11);
|
||||
break;
|
||||
|
||||
case Locations.Sector12AlphaEnterprises:
|
||||
@ -668,7 +668,7 @@ displayLocationContent = function() {
|
||||
purchaseTor.style.display = "block";
|
||||
purchaseHomeRam.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.Sector12AlphaEnterprises,
|
||||
250, 10, 40, 5);
|
||||
250, 10, 40, 4.5);
|
||||
break;
|
||||
|
||||
case Locations.Sector12CarmichaelSecurity:
|
||||
@ -682,7 +682,7 @@ displayLocationContent = function() {
|
||||
securityJob.style.display = "block";
|
||||
agentJob.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.Sector12CarmichaelSecurity,
|
||||
500, 14, 60, 5);
|
||||
500, 14, 60, 4.5);
|
||||
break;
|
||||
|
||||
case Locations.Sector12FoodNStuff:
|
||||
@ -698,7 +698,7 @@ displayLocationContent = function() {
|
||||
employeeJob.style.display = "block";
|
||||
employeePartTimeJob.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.Sector12JoesGuns,
|
||||
100, 4, 20, 4);
|
||||
100, 4, 20, 3.5);
|
||||
break;
|
||||
|
||||
case Locations.Sector12IronGym:
|
||||
@ -731,7 +731,7 @@ displayLocationContent = function() {
|
||||
securityEngineerJob.style.display = "block";
|
||||
networkEngineerJob.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.NewTokyoDefComm,
|
||||
1300, 24, 70, 9.5);
|
||||
1300, 24, 70, 9);
|
||||
break;
|
||||
|
||||
case Locations.NewTokyoVitaLife:
|
||||
@ -744,7 +744,7 @@ displayLocationContent = function() {
|
||||
networkEngineerJob.style.display = "block";
|
||||
businessJob.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.NewTokyoVitaLife,
|
||||
750, 18, 100, 9);
|
||||
750, 18, 100, 8);
|
||||
break;
|
||||
|
||||
case Locations.NewTokyoGlobalPharmaceuticals:
|
||||
@ -758,7 +758,7 @@ displayLocationContent = function() {
|
||||
businessJob.style.display = "block";
|
||||
securityJob.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.NewTokyoGlobalPharmaceuticals,
|
||||
900, 20, 80, 9);
|
||||
900, 20, 80, 8.5);
|
||||
break;
|
||||
|
||||
case Locations.NewTokyoNoodleBar:
|
||||
@ -797,7 +797,7 @@ displayLocationContent = function() {
|
||||
purchase256gb.style.display = "block";
|
||||
purchaseHomeRam.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.IshimaStormTechnologies,
|
||||
700, 20, 100, 10.5);
|
||||
700, 20, 100, 10);
|
||||
break;
|
||||
|
||||
case Locations.IshimaNovaMedical:
|
||||
@ -810,7 +810,7 @@ displayLocationContent = function() {
|
||||
networkEngineerJob.style.display = "block";
|
||||
businessJob.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.IshimaNovaMedical,
|
||||
600, 16, 50, 8);
|
||||
600, 16, 50, 7.5);
|
||||
break;
|
||||
|
||||
case Locations.IshimaOmegaSoftware:
|
||||
@ -828,7 +828,7 @@ displayLocationContent = function() {
|
||||
purchaseTor.style.display = "block";
|
||||
purchaseHomeRam.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.IshimaOmegaSoftware,
|
||||
200, 5, 40, 4.5);
|
||||
200, 5, 40, 4);
|
||||
break;
|
||||
|
||||
case Locations.VolhavenTravelAgency:
|
||||
@ -861,7 +861,7 @@ displayLocationContent = function() {
|
||||
purchase512gb.style.display = "block";
|
||||
purchase1tb.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.VolhavenOmniTekIncorporated,
|
||||
1500, 38, 100, 10);
|
||||
1500, 38, 100, 9.5);
|
||||
break;
|
||||
|
||||
case Locations.VolhavenNWO:
|
||||
@ -874,7 +874,7 @@ displayLocationContent = function() {
|
||||
businessJob.style.display = "block";
|
||||
securityJob.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.VolhavenNWO,
|
||||
1800, 48, 200, 12);
|
||||
1800, 48, 200, 11);
|
||||
break;
|
||||
|
||||
case Locations.VolhavenHeliosLabs:
|
||||
@ -886,7 +886,7 @@ displayLocationContent = function() {
|
||||
securityEngineerJob.style.display = "block";
|
||||
networkEngineerJob.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.VolhavenHeliosLabs,
|
||||
1200, 24, 75, 9.5);
|
||||
1200, 24, 75, 9);
|
||||
break;
|
||||
|
||||
case Locations.VolhavenOmniaCybersystems:
|
||||
@ -898,7 +898,7 @@ displayLocationContent = function() {
|
||||
networkEngineerJob.style.display = "block";
|
||||
securityJob.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.VolhavenOmniaCybersystems,
|
||||
900, 24, 90, 10);
|
||||
900, 24, 90, 9.5);
|
||||
break;
|
||||
|
||||
case Locations.VolhavenLexoCorp:
|
||||
@ -912,7 +912,7 @@ displayLocationContent = function() {
|
||||
businessJob.style.display = "block";
|
||||
securityJob.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.VolhavenLexoCorp,
|
||||
500, 10, 40, 6);
|
||||
500, 10, 40, 5.5);
|
||||
break;
|
||||
|
||||
case Locations.VolhavenSysCoreSecurities:
|
||||
@ -923,7 +923,7 @@ displayLocationContent = function() {
|
||||
securityEngineerJob.style.display = "block";
|
||||
networkEngineerJob.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.VolhavenSysCoreSecurities,
|
||||
600, 12, 50, 7);
|
||||
600, 12, 50, 6);
|
||||
break;
|
||||
|
||||
case Locations.VolhavenCompuTek:
|
||||
@ -944,7 +944,7 @@ displayLocationContent = function() {
|
||||
purchaseTor.style.display = "block";
|
||||
purchaseHomeRam.style.display = "block";
|
||||
setInfiltrateButton(infiltrate, Locations.VolhavenCompuTek,
|
||||
300, 8, 35, 6);
|
||||
300, 8, 35, 5);
|
||||
break;
|
||||
|
||||
case Locations.VolhavenMilleniumFitnessGym:
|
||||
|
@ -938,13 +938,13 @@ PlayerObject.prototype.startClass = function(costMult, expMult, className) {
|
||||
var gameCPS = 1000 / Engine._idleSpeed;
|
||||
|
||||
//Base exp gains per second
|
||||
var baseStudyComputerScienceExp = 0.3;
|
||||
var baseDataStructuresExp = 0.6;
|
||||
var baseNetworksExp = 1.2;
|
||||
var baseAlgorithmsExp = 2.4;
|
||||
var baseManagementExp = 1.0;
|
||||
var baseLeadershipExp = 2.0;
|
||||
var baseGymExp = 1.0;
|
||||
var baseStudyComputerScienceExp = 0.25;
|
||||
var baseDataStructuresExp = 0.5;
|
||||
var baseNetworksExp = 1;
|
||||
var baseAlgorithmsExp = 2;
|
||||
var baseManagementExp = 1;
|
||||
var baseLeadershipExp = 2;
|
||||
var baseGymExp = 1;
|
||||
|
||||
//Find cost and exp gain per game cycle
|
||||
var cost = 0;
|
||||
|
@ -316,7 +316,7 @@ BitburnerSaveObject.prototype.exportGame = function() {
|
||||
this.SpecialServerIpsSave = JSON.stringify(SpecialServerIps);
|
||||
this.AugmentationsSave = JSON.stringify(Augmentations);
|
||||
this.AliasesSave = JSON.stringify(Aliases);
|
||||
this.GlobalAliasesSave = JSON.stringify(GlobalAliasesSave);
|
||||
this.GlobalAliasesSave = JSON.stringify(GlobalAliases);
|
||||
this.MessagesSave = JSON.stringify(Messages);
|
||||
this.VersionSave = JSON.stringify(CONSTANTS.Version);
|
||||
|
||||
|
@ -703,7 +703,10 @@ processSingleServerGrowth = function(server, numCycles) {
|
||||
}
|
||||
|
||||
server.moneyAvailable *= serverGrowth;
|
||||
if (server.moneyMax && server.moneyAvailable >= server.moneyMax) {
|
||||
if (server.moneyMax && isNaN(server.moneyAvailable)) {
|
||||
server.moneyAvailable = server.moneyMax;
|
||||
}
|
||||
if (server.moneyMax && server.moneyAvailable > server.moneyMax) {
|
||||
server.moneyAvailable = server.moneyMax;
|
||||
return 1;
|
||||
}
|
||||
|
@ -63,67 +63,67 @@ function initStockMarket() {
|
||||
StockMarket = {};
|
||||
|
||||
var ecorp = Locations.AevumECorp;
|
||||
var ecorpStk = new Stock(ecorp, StockSymbols[ecorp], 0.5, true, 20, getRandomInt(20000, 25000));
|
||||
var ecorpStk = new Stock(ecorp, StockSymbols[ecorp], 0.5, true, 16, getRandomInt(20000, 25000));
|
||||
StockMarket[ecorp] = ecorpStk;
|
||||
|
||||
var megacorp = Locations.Sector12MegaCorp;
|
||||
var megacorpStk = new Stock(megacorp, StockSymbols[megacorp], 0.5, true, 20, getRandomInt(25000, 33000));
|
||||
var megacorpStk = new Stock(megacorp, StockSymbols[megacorp], 0.5, true, 16, getRandomInt(25000, 33000));
|
||||
StockMarket[megacorp] = megacorpStk;
|
||||
|
||||
var blade = Locations.Sector12BladeIndustries;
|
||||
var bladeStk = new Stock(blade, StockSymbols[blade], 0.75, true, 16, getRandomInt(15000, 22000));
|
||||
var bladeStk = new Stock(blade, StockSymbols[blade], 0.75, true, 13, getRandomInt(15000, 22000));
|
||||
StockMarket[blade] = bladeStk;
|
||||
|
||||
var clarke = Locations.AevumClarkeIncorporated;
|
||||
var clarkeStk = new Stock(clarke, StockSymbols[clarke], 0.7, true, 15, getRandomInt(15000, 20000));
|
||||
var clarkeStk = new Stock(clarke, StockSymbols[clarke], 0.7, true, 12, getRandomInt(15000, 20000));
|
||||
StockMarket[clarke] = clarkeStk;
|
||||
|
||||
var omnitek = Locations.VolhavenOmniTekIncorporated;
|
||||
var omnitekStk = new Stock(omnitek, StockSymbols[omnitek], 0.65, true, 15, getRandomInt(35000, 40000));
|
||||
var omnitekStk = new Stock(omnitek, StockSymbols[omnitek], 0.65, true, 12, getRandomInt(35000, 40000));
|
||||
StockMarket[omnitek] = omnitekStk;
|
||||
|
||||
var foursigma = Locations.Sector12FourSigma;
|
||||
var foursigmaStk = new Stock(foursigma, StockSymbols[foursigma], 1.25, true, 20, getRandomInt(75000, 80000));
|
||||
var foursigmaStk = new Stock(foursigma, StockSymbols[foursigma], 1.1, true, 18, getRandomInt(60000, 70000));
|
||||
StockMarket[foursigma] = foursigmaStk;
|
||||
|
||||
var kuaigong = Locations.ChongqingKuaiGongInternational;
|
||||
var kuaigongStk = new Stock(kuaigong, StockSymbols[kuaigong], 0.8, true, 12, getRandomInt(20000, 24000));
|
||||
var kuaigongStk = new Stock(kuaigong, StockSymbols[kuaigong], 0.8, true, 10, getRandomInt(20000, 24000));
|
||||
StockMarket[kuaigong] = kuaigongStk;
|
||||
|
||||
var fulcrum = Locations.AevumFulcrumTechnologies;
|
||||
var fulcrumStk = new Stock(fulcrum, StockSymbols[fulcrum], 1.25, true, 21, getRandomInt(30000, 35000));
|
||||
var fulcrumStk = new Stock(fulcrum, StockSymbols[fulcrum], 1.25, true, 17, getRandomInt(30000, 35000));
|
||||
StockMarket[fulcrum] = fulcrumStk;
|
||||
|
||||
var storm = Locations.IshimaStormTechnologies;
|
||||
var stormStk = new Stock(storm, StockSymbols[storm], 0.85, true, 9, getRandomInt(21000, 24000));
|
||||
var stormStk = new Stock(storm, StockSymbols[storm], 0.85, true, 7, getRandomInt(21000, 24000));
|
||||
StockMarket[storm] = stormStk;
|
||||
|
||||
var defcomm = Locations.NewTokyoDefComm;
|
||||
var defcommStk = new Stock(defcomm, StockSymbols[defcomm], 0.65, true, 12, getRandomInt(10000, 15000));
|
||||
var defcommStk = new Stock(defcomm, StockSymbols[defcomm], 0.65, true, 10, getRandomInt(10000, 15000));
|
||||
StockMarket[defcomm] = defcommStk;
|
||||
|
||||
var helios = Locations.VolhavenHeliosLabs;
|
||||
var heliosStk = new Stock(helios, StockSymbols[helios], 0.6, true, 11, getRandomInt(12000, 16000));
|
||||
var heliosStk = new Stock(helios, StockSymbols[helios], 0.6, true, 9, getRandomInt(12000, 16000));
|
||||
StockMarket[helios] = heliosStk;
|
||||
|
||||
var vitalife = Locations.NewTokyoVitaLife;
|
||||
var vitalifeStk = new Stock(vitalife, StockSymbols[vitalife], 0.75, true, 7.5, getRandomInt(10000, 12000));
|
||||
var vitalifeStk = new Stock(vitalife, StockSymbols[vitalife], 0.75, true, 7, getRandomInt(10000, 12000));
|
||||
StockMarket[vitalife] = vitalifeStk;
|
||||
|
||||
var icarus = Locations.Sector12IcarusMicrosystems;
|
||||
var icarusStk = new Stock(icarus, StockSymbols[icarus], 0.65, true, 9, getRandomInt(16000, 20000));
|
||||
var icarusStk = new Stock(icarus, StockSymbols[icarus], 0.65, true, 7.5, getRandomInt(16000, 20000));
|
||||
StockMarket[icarus] = icarusStk;
|
||||
|
||||
var universalenergy = Locations.Sector12UniversalEnergy;
|
||||
var universalenergyStk = new Stock(universalenergy, StockSymbols[universalenergy], 0.55, true, 12, getRandomInt(20000, 25000));
|
||||
var universalenergyStk = new Stock(universalenergy, StockSymbols[universalenergy], 0.55, true, 10, getRandomInt(20000, 25000));
|
||||
StockMarket[universalenergy] = universalenergyStk;
|
||||
|
||||
var galactic = Locations.AevumGalacticCybersystems;
|
||||
var galacticStk = new Stock(galactic, StockSymbols[galactic], 0.6, true, 6, getRandomInt(8000, 10000));
|
||||
var galacticStk = new Stock(galactic, StockSymbols[galactic], 0.6, true, 5, getRandomInt(8000, 10000));
|
||||
StockMarket[galactic] = galacticStk;
|
||||
|
||||
var aerocorp = Locations.AevumAeroCorp;
|
||||
var aerocorpStk = new Stock(aerocorp, StockSymbols[aerocorp], 0.6, true, 7, getRandomInt(10000, 15000));
|
||||
var aerocorpStk = new Stock(aerocorp, StockSymbols[aerocorp], 0.6, true, 6, getRandomInt(10000, 15000));
|
||||
StockMarket[aerocorp] = aerocorpStk;
|
||||
|
||||
var omnia = Locations.VolhavenOmniaCybersystems;
|
||||
@ -131,19 +131,19 @@ function initStockMarket() {
|
||||
StockMarket[omnia] = omniaStk;
|
||||
|
||||
var solaris = Locations.ChongqingSolarisSpaceSystems;
|
||||
var solarisStk = new Stock(solaris, StockSymbols[solaris], 0.75, true, 10, getRandomInt(18000, 24000));
|
||||
var solarisStk = new Stock(solaris, StockSymbols[solaris], 0.75, true, 8.5, getRandomInt(18000, 24000));
|
||||
StockMarket[solaris] = solarisStk;
|
||||
|
||||
var globalpharm = Locations.NewTokyoGlobalPharmaceuticals;
|
||||
var globalpharmStk = new Stock(globalpharm, StockSymbols[globalpharm], 0.6, true, 12, getRandomInt(18000, 24000));
|
||||
var globalpharmStk = new Stock(globalpharm, StockSymbols[globalpharm], 0.6, true, 10.5, getRandomInt(18000, 24000));
|
||||
StockMarket[globalpharm] = globalpharmStk;
|
||||
|
||||
var nova = Locations.IshimaNovaMedical;
|
||||
var novaStk = new Stock(nova, StockSymbols[nova], 0.75, true, 6, getRandomInt(18000, 24000));
|
||||
var novaStk = new Stock(nova, StockSymbols[nova], 0.75, true, 5, getRandomInt(18000, 24000));
|
||||
StockMarket[nova] = novaStk;
|
||||
|
||||
var watchdog = Locations.AevumWatchdogSecurity;
|
||||
var watchdogStk = new Stock(watchdog, StockSymbols[watchdog], 1, true, 2, getRandomInt(5000, 7500));
|
||||
var watchdogStk = new Stock(watchdog, StockSymbols[watchdog], 1, true, 1.5, getRandomInt(5000, 7500));
|
||||
StockMarket[watchdog] = watchdogStk;
|
||||
|
||||
var lexocorp = Locations.VolhavenLexoCorp;
|
||||
@ -491,15 +491,22 @@ function displayStockMarketContent() {
|
||||
li.appendChild(sharesTxt);
|
||||
li.appendChild(returnTxt);
|
||||
stockList.appendChild(li);
|
||||
|
||||
updateStockTicker(stock, true);
|
||||
updateStockPlayerPosition(stock);
|
||||
}()); //Immediate invocation
|
||||
}//End if
|
||||
|
||||
}
|
||||
stockMarketContentCreated = true;
|
||||
}
|
||||
|
||||
if (Player.hasWseAccount) {
|
||||
for (var name in StockMarket) {
|
||||
if (StockMarket.hasOwnProperty(name)) {
|
||||
var stock = StockMarket[name];
|
||||
updateStockTicker(stock, true);
|
||||
updateStockPlayerPosition(stock);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//'increase' argument is a boolean indicating whether the price increased or decreased
|
||||
|
@ -584,15 +584,18 @@ var Terminal = {
|
||||
return;
|
||||
}
|
||||
if (commandArray.length == 2) {
|
||||
var args = commandArray[1].split(" ");
|
||||
if (args.length == 1 && parseAliasDeclaration(args[0])){
|
||||
if (commandArray[1].startsWith("-g ")) {
|
||||
var alias = commandArray[1].substring(3);
|
||||
if (parseAliasDeclaration(alias, true)) {
|
||||
return;
|
||||
}
|
||||
if (args.length == 2 && args[0] == "-g" && parseAliasDeclaration(args[1],true)){
|
||||
} else {
|
||||
if (parseAliasDeclaration(commandArray[1])) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
post('Incorrect usage of alias command. Usage: alias [aliasname="value"]');
|
||||
}
|
||||
post('Incorrect usage of alias command. Usage: alias [-g] [aliasname="value"]');
|
||||
break;
|
||||
case "analyze":
|
||||
if (commandArray.length != 1) {
|
||||
@ -1051,7 +1054,8 @@ var Terminal = {
|
||||
var script = currRunningScripts[i];
|
||||
|
||||
//Calculate name padding
|
||||
var numSpacesScript = 26 - script.filename.length; //26 -> width of name column
|
||||
var numSpacesScript = 32 - script.filename.length; //26 -> width of name column
|
||||
if (numSpacesScript < 0) {numSpacesScript = 0;}
|
||||
var spacesScript = Array(numSpacesScript+1).join(" ");
|
||||
|
||||
//Calculate thread padding
|
||||
@ -1059,7 +1063,7 @@ var Terminal = {
|
||||
var spacesThread = Array(numSpacesThread+1).join(" ");
|
||||
|
||||
//Calculate and transform RAM usage
|
||||
ramUsage = (script.scriptRef.ramUsage * script.threads) + "GB";
|
||||
ramUsage = formatNumber(script.scriptRef.ramUsage * script.threads, 2).toString() + "GB";
|
||||
|
||||
var entry = [script.filename, spacesScript, script.threads, spacesThread, ramUsage];
|
||||
post(entry.join(""));
|
||||
|
Loading…
Reference in New Issue
Block a user