Added Augmentations for new Hacknet Node faction and rebalancing company positions so the requirements are in even numbers

This commit is contained in:
Daniel Xie 2017-05-02 14:24:24 -05:00
parent 36a261bd2e
commit 635ef04967
5 changed files with 114 additions and 40 deletions

@ -449,6 +449,54 @@ initAugmentations = function() {
PCDNINeuralNetwork.addToFactions(["Fulcrum Secret Technologies"]); PCDNINeuralNetwork.addToFactions(["Fulcrum Secret Technologies"]);
AddToAugmentations(PCDNINeuralNetwork); AddToAugmentations(PCDNINeuralNetwork);
//HacknetNode Augmentations
var HacknetNodeCPUUpload = new Augmentation("Hacknet Node CPU Architecture Neural-Upload");
HacknetNodeCPUUpload.setRequirements(60000, 12000000);
HacknetNodeCPUUpload.setInfo("Uploads the architecture and design details of a Hacknet Node's CPU into \n" +
"the brain. This allows the user to engineer custom hardware and software \n " +
"for the Hacknet Node that provides better performance.\n\n" +
"This augmentation:\n" +
"Increases the amount of money produced by Hacknet Nodes by 15%\n" +
"Decreases the cost of purchasing a Hacknet Node Core by 10%");
AddToAugmentations(HacknetNodeCPUUpload);
var HacknetNodeCacheUpload = new Augmentation("Hacknet Node Cache Architecture Neural-Upload");
HacknetNodeCacheUpload.setRequirements(40000, 8000000);
HacknetNodeCacheUpload.setInfo("Uploads the architecture and design details of a Hacknet Node's main-memory cacge\n" +
"into the brain. This allows the user to engineer custom cache hardware for the \n" +
"Hacknet Node that offers better performance.\n\n" +
"This augmentation:\n " +
"Increases the amount of money produced by Hacknet Nodes by 10%\n" +
"Decreases the cost of leveling up a Hacknet Node by 10%");
AddToAugmentations(HacknetNodeCacheUpload);
var HacknetNodeNICUpload = new Augmentation("HacknetNode NIC Architecture Neural-Upload");
HacknetNodeNICUpload.setRequirements(20000, 6000000);
HacknetNodeNICUpload.setInfo("Uploads the architecture and design details of a Hacknet Node's Network Interface Card (NIC)\n" +
"into the brain. This allows the user to engineer a custom NIC for the Hacknet Node that \n" +
"offers better performance.\n\n" +
"This augmentation:\n" +
"Increases the amount of money produced by Hacknet Nodes by 5%\n" +
"Decreases the cost of purchasing a Hacknet Node by 5%");
AddToAugmentations(HacknetNodeNICUpload);
var HacknetNodeKernelDNI = new Augmentation("Hacknet Node Kernel Direct-Neural Interface");
HacknetNodeKernelDNI.setRequirements(120000, 30000000);
HacknetNodeKernelDNI.setInfo("Installs a Direct-Neural Interface jack into the arm that is capable of connecting to a\n" +
"Hacknet Node. This lets the user access and manipulate the Node's kernel using the mind's\n" +
"electrochemical signals.\n\n" +
"This augmentation increases the amount of money produced by Hacknet Nodes by 50%.");
AddToAugmentations(HacknetNodeKernelDNI);
var HacknetNodeCoreDNI = new Augmentation("Hacknet Node Core Direct-Neural Interface");
HacknetNodeCoreDNI.setRequirements(200000, 50000000);
HacknetNodeCoreDNI.setInfo("Installs a Direct-Neural Interface jack into the arm that is capable of connecting \n" +
"to a Hacknet Node. This lets the user access and manipulate the Node's processing logic using" +
"the mind's electrochemical signals.\n\n" +
"This augmentation increases the amount of money produced by Hacknet Nodes by 75%.");
AddToAugmentations(HacknetNodeCoreDNI);
//Misc augmentations //Misc augmentations
var Neurotrainer1 = new Augmentation("Neurotrainer I"); var Neurotrainer1 = new Augmentation("Neurotrainer I");
Neurotrainer1.setRequirements(40000, 10000000); Neurotrainer1.setRequirements(40000, 10000000);
@ -667,6 +715,26 @@ applyAugmentation = function(aug, faction) {
Player.hacking_speed_mult *= .98; Player.hacking_speed_mult *= .98;
break; break;
//Hacknet Node Augmentations
case "Hacknet Node CPU Architecture Neural-Upload":
Player.hacknet_node_money_mult *= 1.15;
Player.hacknet_node_purchase_cost_mult *= 0.90;
break;
case "Hacknet Node Cache Architecture Neural-Upload":
Player.hacknet_node_money_mult *= 1.10;
Player.hacknet_node_level_cost_mult *= 0.90;
break;
case "HacknetNode NIC Architecture Neural-Upload":
Player.hacknet_node_money_mult *= 1.05;
Player.hacknet_node_purchase_cost_mult *= 0.95;
break;
case "Hacknet Node Kernel Direct-Neural Interface":
Player.hacknet_node_money_mult *= 1.50;
break;
case "Hacknet Node Core Direct-Neural Interface":
Player.hacknet_node_money_mult *= 1.75;
break;
//Misc augmentations //Misc augmentations
case "Neurotrainer I": //Low Level case "Neurotrainer I": //Low Level
Player.hacking_exp_mult *= 1.05; Player.hacking_exp_mult *= 1.05;

@ -426,7 +426,7 @@ initCompanies = function() {
/* Companies that also have servers */ /* Companies that also have servers */
//Megacorporations //Megacorporations
var ECorp = new Company(); var ECorp = new Company();
ECorp.init(Locations.AevumECorp, 3.0, 3.0, 250); ECorp.init(Locations.AevumECorp, 3.0, 3.0, 249);
ECorp.addPositions([ ECorp.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.ITIntern, CompanyPositions.BusinessIntern, CompanyPositions.SoftwareIntern, CompanyPositions.ITIntern, CompanyPositions.BusinessIntern,
CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.LeadDev, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.LeadDev,
@ -440,7 +440,7 @@ initCompanies = function() {
AddToCompanies(ECorp); AddToCompanies(ECorp);
var MegaCorp = new Company(); var MegaCorp = new Company();
MegaCorp.init(Locations.Sector12MegaCorp, 3.0, 3.0, 250); MegaCorp.init(Locations.Sector12MegaCorp, 3.0, 3.0, 249);
MegaCorp.addPositions([ MegaCorp.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.ITIntern, CompanyPositions.BusinessIntern, CompanyPositions.SoftwareIntern, CompanyPositions.ITIntern, CompanyPositions.BusinessIntern,
CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.LeadDev, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.LeadDev,
@ -454,7 +454,7 @@ initCompanies = function() {
AddToCompanies(MegaCorp); AddToCompanies(MegaCorp);
var BachmanAndAssociates = new Company(); var BachmanAndAssociates = new Company();
BachmanAndAssociates.init(Locations.AevumBachmanAndAssociates, 2.6, 2.6, 225); BachmanAndAssociates.init(Locations.AevumBachmanAndAssociates, 2.6, 2.6, 224);
BachmanAndAssociates.addPositions([ BachmanAndAssociates.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.ITIntern, CompanyPositions.BusinessIntern, CompanyPositions.SoftwareIntern, CompanyPositions.ITIntern, CompanyPositions.BusinessIntern,
CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.LeadDev, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.LeadDev,
@ -468,7 +468,7 @@ initCompanies = function() {
AddToCompanies(BachmanAndAssociates); AddToCompanies(BachmanAndAssociates);
var BladeIndustries = new Company(); var BladeIndustries = new Company();
BladeIndustries.init(Locations.Sector12BladeIndustries, 2.75, 2.75, 225); BladeIndustries.init(Locations.Sector12BladeIndustries, 2.75, 2.75, 224);
BladeIndustries.addPositions([ BladeIndustries.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.ITIntern, CompanyPositions.BusinessIntern, CompanyPositions.SoftwareIntern, CompanyPositions.ITIntern, CompanyPositions.BusinessIntern,
CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.LeadDev, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.LeadDev,
@ -482,7 +482,7 @@ initCompanies = function() {
AddToCompanies(BladeIndustries); AddToCompanies(BladeIndustries);
var NWO = new Company(); var NWO = new Company();
NWO.init(Locations.VolhavenNWO, 2.75, 2.75, 250); NWO.init(Locations.VolhavenNWO, 2.75, 2.75, 249);
NWO.addPositions([ NWO.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.ITIntern, CompanyPositions.BusinessIntern, CompanyPositions.SoftwareIntern, CompanyPositions.ITIntern, CompanyPositions.BusinessIntern,
CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.LeadDev, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.LeadDev,
@ -496,7 +496,7 @@ initCompanies = function() {
AddToCompanies(NWO); AddToCompanies(NWO);
var ClarkeIncorporated = new Company(); var ClarkeIncorporated = new Company();
ClarkeIncorporated.init(Locations.AevumClarkeIncorporated, 2.25, 2.25, 225); ClarkeIncorporated.init(Locations.AevumClarkeIncorporated, 2.25, 2.25, 224);
ClarkeIncorporated.addPositions([ ClarkeIncorporated.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.ITIntern, CompanyPositions.BusinessIntern, CompanyPositions.SoftwareIntern, CompanyPositions.ITIntern, CompanyPositions.BusinessIntern,
CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.LeadDev, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.LeadDev,
@ -510,7 +510,7 @@ initCompanies = function() {
AddToCompanies(ClarkeIncorporated); AddToCompanies(ClarkeIncorporated);
var OmniTekIncorporated = new Company(); var OmniTekIncorporated = new Company();
OmniTekIncorporated.init(Locations.VolhavenOmniTekIncorporated, 2.25, 2.25, 225); OmniTekIncorporated.init(Locations.VolhavenOmniTekIncorporated, 2.25, 2.25, 224);
OmniTekIncorporated.addPositions([ OmniTekIncorporated.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.ITIntern, CompanyPositions.BusinessIntern, CompanyPositions.SoftwareIntern, CompanyPositions.ITIntern, CompanyPositions.BusinessIntern,
CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.LeadDev, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.LeadDev,
@ -524,7 +524,7 @@ initCompanies = function() {
AddToCompanies(OmniTekIncorporated); AddToCompanies(OmniTekIncorporated);
var FourSigma = new Company(); var FourSigma = new Company();
FourSigma.init(Locations.Sector12FourSigma, 2.5, 2.5, 225); FourSigma.init(Locations.Sector12FourSigma, 2.5, 2.5, 224);
FourSigma.addPositions([ FourSigma.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.ITIntern, CompanyPositions.BusinessIntern, CompanyPositions.SoftwareIntern, CompanyPositions.ITIntern, CompanyPositions.BusinessIntern,
CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.LeadDev, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.LeadDev,
@ -538,7 +538,7 @@ initCompanies = function() {
AddToCompanies(FourSigma); AddToCompanies(FourSigma);
var KuaiGongInternational = new Company(); var KuaiGongInternational = new Company();
KuaiGongInternational.init(Locations.ChongqingKuaiGongInternational, 2.2, 2.2, 225); KuaiGongInternational.init(Locations.ChongqingKuaiGongInternational, 2.2, 2.2, 224);
KuaiGongInternational.addPositions([ KuaiGongInternational.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.ITIntern, CompanyPositions.BusinessIntern, CompanyPositions.SoftwareIntern, CompanyPositions.ITIntern, CompanyPositions.BusinessIntern,
CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.LeadDev, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.LeadDev,
@ -553,7 +553,7 @@ initCompanies = function() {
//Technology and communication companies ("Large" servers) //Technology and communication companies ("Large" servers)
var FulcrumTechnologies = new Company(); var FulcrumTechnologies = new Company();
FulcrumTechnologies.init(Locations.AevumFulcrumTechnologies, 2.0, 2.0, 225); FulcrumTechnologies.init(Locations.AevumFulcrumTechnologies, 2.0, 2.0, 224);
FulcrumTechnologies.addPositions([ FulcrumTechnologies.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.ITIntern, CompanyPositions.BusinessIntern, CompanyPositions.SoftwareIntern, CompanyPositions.ITIntern, CompanyPositions.BusinessIntern,
CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.LeadDev, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.LeadDev,
@ -566,7 +566,7 @@ initCompanies = function() {
AddToCompanies(FulcrumTechnologies); AddToCompanies(FulcrumTechnologies);
var StormTechnologies = new Company(); var StormTechnologies = new Company();
StormTechnologies.init(Locations.IshimaStormTechnologies, 1.8, 1.8, 200); StormTechnologies.init(Locations.IshimaStormTechnologies, 1.8, 1.8, 199);
StormTechnologies.addPositions([ StormTechnologies.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.SoftwareIntern,
CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.LeadDev, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.LeadDev,
@ -579,7 +579,7 @@ initCompanies = function() {
AddToCompanies(StormTechnologies); AddToCompanies(StormTechnologies);
var DefComm = new Company(); var DefComm = new Company();
DefComm.init(Locations.NewTokyoDefComm, 1.75, 1.75, 200); DefComm.init(Locations.NewTokyoDefComm, 1.75, 1.75, 199);
DefComm.addPositions([ DefComm.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev,
CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst, CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst,
@ -589,7 +589,7 @@ initCompanies = function() {
AddToCompanies(DefComm); AddToCompanies(DefComm);
var HeliosLabs = new Company(); var HeliosLabs = new Company();
HeliosLabs.init(Locations.VolhavenHeliosLabs, 1.8, 1.8, 200); HeliosLabs.init(Locations.VolhavenHeliosLabs, 1.8, 1.8, 199);
HeliosLabs.addPositions([ HeliosLabs.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev,
CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst, CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst,
@ -599,7 +599,7 @@ initCompanies = function() {
AddToCompanies(HeliosLabs); AddToCompanies(HeliosLabs);
var VitaLife = new Company(); var VitaLife = new Company();
VitaLife.init(Locations.NewTokyoVitaLife, 1.8, 1.8, 200); VitaLife.init(Locations.NewTokyoVitaLife, 1.8, 1.8, 199);
VitaLife.addPositions([ VitaLife.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev,
CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst, CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst,
@ -610,7 +610,7 @@ initCompanies = function() {
AddToCompanies(VitaLife); AddToCompanies(VitaLife);
var IcarusMicrosystems = new Company(); var IcarusMicrosystems = new Company();
IcarusMicrosystems.init(Locations.Sector12IcarusMicrosystems, 1.9, 1.9, 200); IcarusMicrosystems.init(Locations.Sector12IcarusMicrosystems, 1.9, 1.9, 199);
IcarusMicrosystems.addPositions([ IcarusMicrosystems.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev,
CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst, CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst,
@ -621,7 +621,7 @@ initCompanies = function() {
AddToCompanies(IcarusMicrosystems); AddToCompanies(IcarusMicrosystems);
var UniversalEnergy = new Company(); var UniversalEnergy = new Company();
UniversalEnergy.init(Locations.Sector12UniversalEnergy, 2.0, 2.0, 200); UniversalEnergy.init(Locations.Sector12UniversalEnergy, 2.0, 2.0, 199);
UniversalEnergy.addPositions([ UniversalEnergy.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev,
CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst, CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst,
@ -632,7 +632,7 @@ initCompanies = function() {
AddToCompanies(UniversalEnergy); AddToCompanies(UniversalEnergy);
var GalacticCybersystems = new Company(); var GalacticCybersystems = new Company();
GalacticCybersystems.init(Locations.AevumGalacticCybersystems, 1.9, 1.9, 200); GalacticCybersystems.init(Locations.AevumGalacticCybersystems, 1.9, 1.9, 199);
GalacticCybersystems.addPositions([ GalacticCybersystems.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev,
CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst, CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst,
@ -644,7 +644,7 @@ initCompanies = function() {
//Defense Companies ("Large" Companies) //Defense Companies ("Large" Companies)
var AeroCorp = new Company(); var AeroCorp = new Company();
AeroCorp.init(Locations.AevumAeroCorp, 1.7, 1.7, 200); AeroCorp.init(Locations.AevumAeroCorp, 1.7, 1.7, 199);
AeroCorp.addPositions([ AeroCorp.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev,
CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst, CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst,
@ -657,7 +657,7 @@ initCompanies = function() {
AddToCompanies(AeroCorp); AddToCompanies(AeroCorp);
var OmniaCybersystems = new Company(); var OmniaCybersystems = new Company();
OmniaCybersystems.init(Locations.VolhavenOmniaCybersystems, 1.7, 1.7, 200); OmniaCybersystems.init(Locations.VolhavenOmniaCybersystems, 1.7, 1.7, 199);
OmniaCybersystems.addPositions([ OmniaCybersystems.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev,
CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst, CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst,
@ -670,7 +670,7 @@ initCompanies = function() {
AddToCompanies(OmniaCybersystems); AddToCompanies(OmniaCybersystems);
var SolarisSpaceSystems = new Company(); var SolarisSpaceSystems = new Company();
SolarisSpaceSystems.init(Locations.ChongqingSolarisSpaceSystems, 1.7, 1.7, 200); SolarisSpaceSystems.init(Locations.ChongqingSolarisSpaceSystems, 1.7, 1.7, 199);
SolarisSpaceSystems.addPositions([ SolarisSpaceSystems.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev,
CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst, CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst,
@ -683,7 +683,7 @@ initCompanies = function() {
AddToCompanies(SolarisSpaceSystems); AddToCompanies(SolarisSpaceSystems);
var DeltaOne = new Company(); var DeltaOne = new Company();
DeltaOne.init(Locations.Sector12DeltaOne, 1.6, 1.6, 200); DeltaOne.init(Locations.Sector12DeltaOne, 1.6, 1.6, 199);
DeltaOne.addPositions([ DeltaOne.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev,
CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst, CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst,
@ -697,7 +697,7 @@ initCompanies = function() {
//Health, medicine, pharmaceutical companies ("Large" servers) //Health, medicine, pharmaceutical companies ("Large" servers)
var GlobalPharmaceuticals = new Company(); var GlobalPharmaceuticals = new Company();
GlobalPharmaceuticals.init(Locations.NewTokyoGlobalPharmaceuticals, 1.8, 1.8, 225); GlobalPharmaceuticals.init(Locations.NewTokyoGlobalPharmaceuticals, 1.8, 1.8, 224);
GlobalPharmaceuticals.addPositions([ GlobalPharmaceuticals.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.ITIntern, CompanyPositions.BusinessIntern, CompanyPositions.SoftwareIntern, CompanyPositions.ITIntern, CompanyPositions.BusinessIntern,
CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.LeadDev, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.LeadDev,
@ -710,7 +710,7 @@ initCompanies = function() {
AddToCompanies(GlobalPharmaceuticals); AddToCompanies(GlobalPharmaceuticals);
var NovaMedical = new Company(); var NovaMedical = new Company();
NovaMedical.init(Locations.IshimaNovaMedical, 1.75, 1.75, 200); NovaMedical.init(Locations.IshimaNovaMedical, 1.75, 1.75, 199);
NovaMedical.addPositions([ NovaMedical.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.ITIntern, CompanyPositions.BusinessIntern, CompanyPositions.SoftwareIntern, CompanyPositions.ITIntern, CompanyPositions.BusinessIntern,
CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.LeadDev, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.LeadDev,
@ -724,7 +724,7 @@ initCompanies = function() {
//Other large companies //Other large companies
var CIA = new Company(); var CIA = new Company();
CIA.init(Locations.Sector12CIA, 2.0, 2.0, 150); CIA.init(Locations.Sector12CIA, 2.0, 2.0, 149);
CIA.addPositions([ CIA.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev,
CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst, CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst,
@ -736,7 +736,7 @@ initCompanies = function() {
AddToCompanies(CIA); AddToCompanies(CIA);
var NSA = new Company(); var NSA = new Company();
NSA.init(Locations.Sector12NSA, 2.0, 2.0, 150); NSA.init(Locations.Sector12NSA, 2.0, 2.0, 149);
NSA.addPositions([ NSA.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev,
CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst, CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst,
@ -748,7 +748,7 @@ initCompanies = function() {
AddToCompanies(NSA); AddToCompanies(NSA);
var WatchdogSecurity = new Company(); var WatchdogSecurity = new Company();
WatchdogSecurity.init(Locations.AevumWatchdogSecurity, 1.5, 1.5, 125); WatchdogSecurity.init(Locations.AevumWatchdogSecurity, 1.5, 1.5, 124);
WatchdogSecurity.addPositions([ WatchdogSecurity.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev,
CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst, CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst,
@ -761,7 +761,7 @@ initCompanies = function() {
//"Medium level" companies //"Medium level" companies
var LexoCorp = new Company(); var LexoCorp = new Company();
LexoCorp.init(Locations.VolhavenLexoCorp, 1.4, 1.4, 100); LexoCorp.init(Locations.VolhavenLexoCorp, 1.4, 1.4, 99);
LexoCorp.addPositions([ LexoCorp.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev,
CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst, CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst,
@ -773,7 +773,7 @@ initCompanies = function() {
AddToCompanies(LexoCorp); AddToCompanies(LexoCorp);
var RhoConstruction = new Company(); var RhoConstruction = new Company();
RhoConstruction.init(Locations.AevumRhoConstruction, 1.3, 1.3, 50); RhoConstruction.init(Locations.AevumRhoConstruction, 1.3, 1.3, 49);
RhoConstruction.addPositions([ RhoConstruction.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev,
CompanyPositions.LeadDev, CompanyPositions.BusinessIntern, CompanyPositions.BusinessAnalyst, CompanyPositions.LeadDev, CompanyPositions.BusinessIntern, CompanyPositions.BusinessAnalyst,
@ -781,7 +781,7 @@ initCompanies = function() {
AddToCompanies(RhoConstruction); AddToCompanies(RhoConstruction);
var AlphaEnterprises = new Company(); var AlphaEnterprises = new Company();
AlphaEnterprises.init(Locations.Sector12AlphaEnterprises, 1.5, 1.5, 100); AlphaEnterprises.init(Locations.Sector12AlphaEnterprises, 1.5, 1.5, 99);
AlphaEnterprises.addPositions([ AlphaEnterprises.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev,
CompanyPositions.LeadDev, CompanyPositions.BusinessIntern, CompanyPositions.BusinessAnalyst, CompanyPositions.LeadDev, CompanyPositions.BusinessIntern, CompanyPositions.BusinessAnalyst,
@ -789,14 +789,14 @@ initCompanies = function() {
AddToCompanies(AlphaEnterprises); AddToCompanies(AlphaEnterprises);
var AevumPolice = new Company(); var AevumPolice = new Company();
AevumPolice.init(Locations.AevumPolice, 1.3, 1.3, 100); AevumPolice.init(Locations.AevumPolice, 1.3, 1.3, 99);
AevumPolice.addPositions([ AevumPolice.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev,
CompanyPositions.LeadDev, CompanyPositions.SecurityGuard, CompanyPositions.PoliceOfficer]); CompanyPositions.LeadDev, CompanyPositions.SecurityGuard, CompanyPositions.PoliceOfficer]);
AddToCompanies(AevumPolice); AddToCompanies(AevumPolice);
var SysCoreSecurities = new Company(); var SysCoreSecurities = new Company();
SysCoreSecurities.init(Locations.VolhavenSysCoreSecurities, 1.3, 1.3, 125); SysCoreSecurities.init(Locations.VolhavenSysCoreSecurities, 1.3, 1.3, 124);
SysCoreSecurities.addPositions([ SysCoreSecurities.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev,
CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst, CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst,
@ -806,7 +806,7 @@ initCompanies = function() {
AddToCompanies(SysCoreSecurities); AddToCompanies(SysCoreSecurities);
var CompuTek = new Company(); var CompuTek = new Company();
CompuTek.init(Locations.VolhavenCompuTek, 1.2, 1.2, 75); CompuTek.init(Locations.VolhavenCompuTek, 1.2, 1.2, 74);
CompuTek.addPositions([ CompuTek.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev,
CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst, CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst,
@ -816,7 +816,7 @@ initCompanies = function() {
AddToCompanies(CompuTek); AddToCompanies(CompuTek);
var NetLinkTechnologies = new Company(); var NetLinkTechnologies = new Company();
NetLinkTechnologies.init(Locations.AevumNetLinkTechnologies, 1.2, 1.2, 100); NetLinkTechnologies.init(Locations.AevumNetLinkTechnologies, 1.2, 1.2, 99);
NetLinkTechnologies.addPositions([ NetLinkTechnologies.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev,
CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst, CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst,
@ -826,7 +826,7 @@ initCompanies = function() {
AddToCompanies(NetLinkTechnologies); AddToCompanies(NetLinkTechnologies);
var CarmichaelSecurity = new Company(); var CarmichaelSecurity = new Company();
CarmichaelSecurity.init(Locations.Sector12CarmichaelSecurity, 1.2, 1.2, 75); CarmichaelSecurity.init(Locations.Sector12CarmichaelSecurity, 1.2, 1.2, 74);
CarmichaelSecurity.addPositions([ CarmichaelSecurity.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev,
CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst, CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst,
@ -849,7 +849,7 @@ initCompanies = function() {
AddToCompanies(JoesGuns); AddToCompanies(JoesGuns);
var OmegaSoftware = new Company(); var OmegaSoftware = new Company();
OmegaSoftware.init(Locations.IshimaOmegaSoftware, 1.1, 1.1, 50); OmegaSoftware.init(Locations.IshimaOmegaSoftware, 1.1, 1.1, 49);
OmegaSoftware.addPositions([ OmegaSoftware.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev, CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev,
CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst, CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst,

@ -17,7 +17,9 @@ HacknetNode.prototype.updateMoneyGainRate = function() {
var gainPerLevel = CONSTANTS.HacknetNodeMoneyGainPerLevel; var gainPerLevel = CONSTANTS.HacknetNodeMoneyGainPerLevel;
//Each CPU core doubles the speed. Every 1GB of ram adds 10% increase //Each CPU core doubles the speed. Every 1GB of ram adds 10% increase
this.moneyGainRatePerSecond = (this.level * gainPerLevel) * Math.pow(1.1, this.ram-1) * this.numCores; this.moneyGainRatePerSecond = (this.level * gainPerLevel) *
Math.pow(1.1, this.ram-1) *
this.numCores * Player.hacknet_node_money_mult;
if (isNaN(this.moneyGainRatePerSecond)) { if (isNaN(this.moneyGainRatePerSecond)) {
throw new Error("Money gain rate calculated for Hacknet Node is NaN"); throw new Error("Money gain rate calculated for Hacknet Node is NaN");
} }

@ -135,6 +135,13 @@ function PlayerObject() {
this.work_money_mult = 1; this.work_money_mult = 1;
//Hacknet Node multipliers
this.hacknet_node_money_mult = 1;
this.hacknet_node_purchase_cost_mult = 1;
this.hacknet_node_ram_cost_mult = 1;
this.hacknet_node_core_cost_mult = 1;
this.hacknet_node_level_cost_mult = 1;
//Used to store the last update time. //Used to store the last update time.
this.lastUpdate = new Date().getTime(); this.lastUpdate = new Date().getTime();
}; };

@ -34,9 +34,6 @@ $(document).keydown(function(event) {
var terminalInput = document.getElementById("terminal-input-text-box"); var terminalInput = document.getElementById("terminal-input-text-box");
if (terminalInput == null) {return;} if (terminalInput == null) {return;}
//Keep terminal input in focus
terminalInput.focus();
//Enter //Enter
if (event.keyCode == 13) { if (event.keyCode == 13) {
var command = $('input[class=terminal-input]').val(); var command = $('input[class=terminal-input]').val();
@ -134,7 +131,7 @@ $(document).keydown(function(e) {
} else if (terminalCtrlPressed == true) { } else if (terminalCtrlPressed == true) {
//Don't focus //Don't focus
} else { } else {
$('.terminal-input').focus(); document.getElementById("terminal-input-text-box").focus();
terminalCtrlPressed = false; terminalCtrlPressed = false;
} }
} }