diff --git a/src/Augmentations.js b/src/Augmentations.js index f2f369dfc..e600535e6 100644 --- a/src/Augmentations.js +++ b/src/Augmentations.js @@ -19,7 +19,7 @@ Augmentation.prototype.setInfo = function(inf) { Augmentation.prototype.setRequirements = function(rep, cost) { this.baseRepRequirement = rep; - this.baseCost = cost; + this.baseCost = cost * CONSTANTS.AugmentationCostMultiplier; } //Takes in an array of faction names and adds this augmentation to all of those factions @@ -157,7 +157,7 @@ initAugmentations = function() { var HemoRecirculator = new Augmentation(AugmentationNames.HemoRecirculator); HemoRecirculator.setInfo("A heart implant that greatly increases the body's ability to effectively use and pump " + "blood.

This augmentation increases all of the player's combat stats by 15%.") - HemoRecirculator.setRequirements(4000, 8000000); + HemoRecirculator.setRequirements(4000, 9000000); HemoRecirculator.addToFactions(["Tetrads", "The Dark Army", "The Syndicate"]); if (augmentationExists(AugmentationNames.HemoRecirculator)) { HemoRecirculator.owned = Augmentations[AugmentationNames.HemoRecirculator].owned; @@ -166,7 +166,7 @@ initAugmentations = function() { AddToAugmentations(HemoRecirculator); var Targeting1 = new Augmentation(AugmentationNames.Targeting1); - Targeting1.setRequirements(2000, 2500000); + Targeting1.setRequirements(2000, 3000000); Targeting1.setInfo("This cranial implant is embedded within the player's inner ear structure and optic nerves. It regulates and enhances the user's " + "balance and hand-eye coordination. It is also capable of augmenting reality by projecting digital information " + "directly onto the retina. These enhancements allow the player to better lock-on and keep track of enemies.

" + @@ -180,7 +180,7 @@ initAugmentations = function() { AddToAugmentations(Targeting1); var Targeting2 = new Augmentation(AugmentationNames.Targeting2); - Targeting2.setRequirements(3500, 7500000); + Targeting2.setRequirements(3500, 8500000); Targeting2.setInfo("This is an upgrade of the Augmented Targeting I cranial implant, which is capable of augmenting reality " + "and enhances the user's balance and hand-eye coordination.

This upgrade increases the player's dexterity " + "by an additional 30%."); @@ -193,7 +193,7 @@ initAugmentations = function() { AddToAugmentations(Targeting2); var Targeting3 = new Augmentation(AugmentationNames.Targeting3); - Targeting3.setRequirements(11000, 20000000); + Targeting3.setRequirements(11000, 23000000); Targeting3.setInfo("This is an upgrade of the Augmented Targeting II cranial implant, which is capable of augmenting reality " + "and enhances the user's balance and hand-eye coordination.

This upgrade increases the player's dexterity " + "by an additional 50%."); @@ -206,7 +206,7 @@ initAugmentations = function() { AddToAugmentations(Targeting3); var SyntheticHeart = new Augmentation(AugmentationNames.SyntheticHeart); - SyntheticHeart.setRequirements(300000, 500000000); + SyntheticHeart.setRequirements(300000, 575000000); SyntheticHeart.setInfo("This advanced artificial heart, created from plasteel and graphene, is capable of pumping more blood " + "at much higher efficiencies than a normal human heart.

This augmentation increases the player's agility " + "and strength by 100%"); @@ -219,7 +219,7 @@ initAugmentations = function() { AddToAugmentations(SyntheticHeart); var SynfibrilMuscle = new Augmentation(AugmentationNames.SynfibrilMuscle); - SynfibrilMuscle.setRequirements(175000, 200000000); + SynfibrilMuscle.setRequirements(175000, 225000000); SynfibrilMuscle.setInfo("The myofibrils in human muscles are injected with special chemicals that react with the proteins inside " + "the myofibrils, altering their underlying structure. The end result is muscles that are stronger and more elastic. " + "Scientists have named these artificially enhanced units 'synfibrils'.

This augmentation increases the player's " + @@ -233,7 +233,7 @@ initAugmentations = function() { AddToAugmentations(SynfibrilMuscle) var CombatRib1 = new Augmentation(AugmentationNames.CombatRib1); - CombatRib1.setRequirements(2500, 4000000); + CombatRib1.setRequirements(2500, 4500000); CombatRib1.setInfo("The human body's ribs are replaced with artificial ribs that automatically and continuously release cognitive " + "and performance-enhancing drugs into the bloodstream, improving the user's abilities in combat.

" + "This augmentation increases the player's strength and defense by 15%."); @@ -246,7 +246,7 @@ initAugmentations = function() { AddToAugmentations(CombatRib1); var CombatRib2 = new Augmentation(AugmentationNames.CombatRib2); - CombatRib2.setRequirements(7000, 10000000); + CombatRib2.setRequirements(7000, 12000000); CombatRib2.setInfo("This is an upgrade to the Combat Rib I augmentation, and is capable of releasing even more potent combat-enhancing " + "drugs into the bloodstream

. This upgrade increases the player's strength and defense by an additional 25%.") CombatRib2.addToFactions(["The Dark Army", "The Syndicate", "Sector-12", "Volhaven", "Ishima", @@ -258,7 +258,7 @@ initAugmentations = function() { AddToAugmentations(CombatRib2); var CombatRib3 = new Augmentation(AugmentationNames.CombatRib3); - CombatRib3.setRequirements(12000, 18000000); + CombatRib3.setRequirements(12000, 22000000); CombatRib3.setInfo("This is an upgrade to the Combat Rib II augmentation, and is capable of releasing even more potent combat-enhancing " + "drugs into the bloodstream

. This upgrade increases the player's strength and defense by an additional 35%."); CombatRib3.addToFactions(["The Dark Army", "The Syndicate", "OmniTek Incorporated", @@ -270,7 +270,7 @@ initAugmentations = function() { AddToAugmentations(CombatRib3); var NanofiberWeave = new Augmentation(AugmentationNames.NanofiberWeave); - NanofiberWeave.setRequirements(14000, 15000000); + NanofiberWeave.setRequirements(14000, 20000000); NanofiberWeave.setInfo("Synthetic nanofibers are woven into the skin's extracellular matrix using electrospinning. " + "This improves the skin's ability to regenerate itself and protect the body from external stresses and forces.

" + "This augmentation increases the player's strength and defense by 40%."); @@ -283,7 +283,7 @@ initAugmentations = function() { AddToAugmentations(NanofiberWeave); var SubdermalArmor = new Augmentation(AugmentationNames.SubdermalArmor); - SubdermalArmor.setRequirements(350000, 550000000); + SubdermalArmor.setRequirements(350000, 650000000); SubdermalArmor.setInfo("The NEMEAN Subdermal Weave is a thin, light-weight, graphene plating that houses a dilatant fluid. " + "The material is implanted underneath the skin, and is the most advanced form of defensive enhancement " + "that has ever been created. The dilatant fluid, despite being thin and light, is extremely effective " + @@ -299,7 +299,7 @@ initAugmentations = function() { AddToAugmentations(SubdermalArmor); var WiredReflexes = new Augmentation(AugmentationNames.WiredReflexes); - WiredReflexes.setRequirements(400, 400000); + WiredReflexes.setRequirements(500, 500000); WiredReflexes.setInfo("Synthetic nerve-enhancements are injected into all major parts of the somatic nervous system, " + "supercharging the body's ability to send signals through neurons. This results in increased reflex speed.

" + "This augmentation increases the player's agility and dexterity by 10%."); @@ -312,7 +312,7 @@ initAugmentations = function() { AddToAugmentations(WiredReflexes); var GrapheneBoneLacings = new Augmentation(AugmentationNames.GrapheneBoneLacings); - GrapheneBoneLacings.setRequirements(450000, 750000000); + GrapheneBoneLacings.setRequirements(450000, 850000000); GrapheneBoneLacings.setInfo("A graphene-based material is grafted and fused into the user's bones, significantly increasing " + "their density and tensile strength.

" + "This augmentation increases the player's strength and defense by 125%."); @@ -324,7 +324,7 @@ initAugmentations = function() { AddToAugmentations(GrapheneBoneLacings); var BionicSpine = new Augmentation(AugmentationNames.BionicSpine); - BionicSpine.setRequirements(18000, 22000000); + BionicSpine.setRequirements(18000, 25000000); BionicSpine.setInfo("An artificial spine created from plasteel and carbon fibers that completely replaces the organic spine. " + "Not only is the Bionic Spine physically stronger than a human spine, but it is also capable of digitally " + "stimulating and regulating the neural signals that are sent and received by the spinal cord. This results in " + @@ -339,7 +339,7 @@ initAugmentations = function() { AddToAugmentations(BionicSpine); var GrapheneBionicSpine = new Augmentation(AugmentationNames.GrapheneBionicSpine); - GrapheneBionicSpine.setRequirements(650000, 1000000000); + GrapheneBionicSpine.setRequirements(650000, 1200000000); GrapheneBionicSpine.setInfo("An upgrade to the Bionic Spine augmentation. It fuses the implant with an advanced graphene " + "material to make it much stronger and lighter.

" + "This augmentation increases all of the player's combat stats by 100%."); @@ -351,7 +351,7 @@ initAugmentations = function() { AddToAugmentations(GrapheneBionicSpine); var BionicLegs = new Augmentation(AugmentationNames.BionicLegs); - BionicLegs.setRequirements(60000, 60000000); + BionicLegs.setRequirements(60000, 75000000); BionicLegs.setInfo("Cybernetic legs created from plasteel and carbon fibers that completely replace the user's organic legs.

" + "This augmentation increases the player's agility by 75%."); BionicLegs.addToFactions(["Speakers for the Dead", "The Syndicate", "KuaiGong International", @@ -363,7 +363,7 @@ initAugmentations = function() { AddToAugmentations(BionicLegs); var GrapheneBionicLegs = new Augmentation(AugmentationNames.GrapheneBionicLegs); - GrapheneBionicLegs.setRequirements(300000, 750000000); + GrapheneBionicLegs.setRequirements(300000, 900000000); GrapheneBionicLegs.setInfo("An upgrade to the Bionic Legs augmentation. It fuses the implant with an advanced graphene " + "material to make it much stronger and lighter.

" + "This augmentation increases the player's agility by an additional 200%."); @@ -376,7 +376,7 @@ initAugmentations = function() { //Labor stat augmentations var SpeechProcessor = new Augmentation(AugmentationNames.SpeechProcessor); //Cochlear imlant? - SpeechProcessor.setRequirements(3000, 7500000); + SpeechProcessor.setRequirements(3000, 10000000); SpeechProcessor.setInfo("A cochlear implant with an embedded computer that analyzes incoming speech. " + "The embedded computer processes characteristics of incoming speech, such as tone " + "and inflection, to pick up on subtle cues and aid in social interactions.

" + @@ -390,7 +390,7 @@ initAugmentations = function() { AddToAugmentations(SpeechProcessor); TITN41Injection = new Augmentation(AugmentationNames.TITN41Injection); - TITN41Injection.setRequirements(10000, 30000000); + TITN41Injection.setRequirements(10000, 38000000); TITN41Injection.setInfo("TITN is a series of viruses that targets and alters the sequences of human DNA in genes that " + "control personality. The TITN-41 strain alters these genes so that the subject becomes more " + "outgoing and socialable.

" + @@ -403,7 +403,7 @@ initAugmentations = function() { AddToAugmentations(TITN41Injection); var EnhancedSocialInteractionImplant = new Augmentation(AugmentationNames.EnhancedSocialInteractionImplant); - EnhancedSocialInteractionImplant.setRequirements(150000, 200000000); + EnhancedSocialInteractionImplant.setRequirements(150000, 250000000); EnhancedSocialInteractionImplant.setInfo("A cranial implant that greatly assists in the user's ability to analyze social situations " + "and interactions. The system uses a wide variety of factors such as facial expression, body " + "language, and the voice's tone/inflection to determine the best course of action during social" + @@ -431,7 +431,7 @@ initAugmentations = function() { AddToAugmentations(BitWire); var ArtificialBioNeuralNetwork = new Augmentation(AugmentationNames.ArtificialBioNeuralNetwork); - ArtificialBioNeuralNetwork.setRequirements(110000, 500000000); + ArtificialBioNeuralNetwork.setRequirements(110000, 600000000); ArtificialBioNeuralNetwork.setInfo("A network consisting of millions of nanoprocessors is embedded into the brain. " + "The network is meant to mimick the way a biological brain solves a problem, which each " + "nanoprocessor acting similar to the way a neuron would in a neural network. However, these " + @@ -449,7 +449,7 @@ initAugmentations = function() { AddToAugmentations(ArtificialBioNeuralNetwork); var ArtificialSynapticPotentiation = new Augmentation(AugmentationNames.ArtificialSynapticPotentiation); - ArtificialSynapticPotentiation.setRequirements(2500, 14000000); + ArtificialSynapticPotentiation.setRequirements(2500, 16000000); ArtificialSynapticPotentiation.setInfo("The body is injected with a chemical that artificially induces synaptic potentiation, " + "otherwise known as the strengthening of synapses. This results in a enhanced cognitive abilities.

" + "This augmentation:
" + @@ -464,7 +464,7 @@ initAugmentations = function() { AddToAugmentations(ArtificialSynapticPotentiation); var EnhancedMyelinSheathing = new Augmentation(AugmentationNames.EnhancedMyelinSheathing); - EnhancedMyelinSheathing.setRequirements(40000, 225000000); + EnhancedMyelinSheathing.setRequirements(40000, 275000000); EnhancedMyelinSheathing.setInfo("Electrical signals are used to induce a new, artificial form of myelinogensis in the human body. " + "This process results in the proliferation of new, synthetic myelin sheaths in the nervous " + "system. These myelin sheaths can propogate neuro-signals much faster than their organic " + @@ -481,7 +481,7 @@ initAugmentations = function() { AddToAugmentations(EnhancedMyelinSheathing); var SynapticEnhancement = new Augmentation(AugmentationNames.SynapticEnhancement); - SynapticEnhancement.setRequirements(800, 1100000); + SynapticEnhancement.setRequirements(800, 1500000); SynapticEnhancement.setInfo("A small cranial implant that continuously uses weak electric signals to stimulate the brain and " + "induce stronger synaptic activity. This improves the user's cognitive abilities.

" + "This augmentation increases the player's hacking speed by 3%."); @@ -493,7 +493,7 @@ initAugmentations = function() { AddToAugmentations(SynapticEnhancement); var NeuralRetentionEnhancement = new Augmentation(AugmentationNames.NeuralRetentionEnhancement); - NeuralRetentionEnhancement.setRequirements(8000, 40000000); + NeuralRetentionEnhancement.setRequirements(8000, 50000000); NeuralRetentionEnhancement.setInfo("Chemical injections are used to permanently alter and strengthen the brain's neuronal " + "circuits, strengthening its ability to retain information.

" + "This augmentation increases the player's hacking experience gain rate by 40%."); @@ -505,7 +505,7 @@ initAugmentations = function() { AddToAugmentations(NeuralRetentionEnhancement); var DataJack = new Augmentation(AugmentationNames.DataJack); - DataJack.setRequirements(45000, 75000000); + DataJack.setRequirements(45000, 90000000); DataJack.setInfo("A brain implant that provides an interface for direct, wireless communication between a computer's main " + "memory and the mind. This implant allows the user to not only access a computer's memory, but also alter " + "and delete it.

" + @@ -518,7 +518,7 @@ initAugmentations = function() { AddToAugmentations(DataJack); var ENM = new Augmentation(AugmentationNames.ENM); - ENM.setRequirements(6000, 40000000); + ENM.setRequirements(6000, 50000000); ENM.setInfo("A thin device embedded inside the arm containing a wireless module capable of connecting " + "to nearby networks. Once connected, the Netburner Module is capable of capturing and " + "processing all of the traffic on that network. By itself, the Embedded Netburner Module does " + @@ -534,7 +534,7 @@ initAugmentations = function() { AddToAugmentations(ENM); var ENMCore = new Augmentation(AugmentationNames.ENMCore); - ENMCore.setRequirements(100000, 400000000); + ENMCore.setRequirements(100000, 500000000); ENMCore.setInfo("The Core library is an implant that upgrades the firmware of the Embedded Netburner Module. " + "This upgrade allows the Embedded Netburner Module to generate its own data on a network.

" + "This augmentation:
" + @@ -552,7 +552,7 @@ initAugmentations = function() { AddToAugmentations(ENMCore); var ENMCoreV2 = new Augmentation(AugmentationNames.ENMCoreV2); - ENMCoreV2.setRequirements(400000, 800000000); + ENMCoreV2.setRequirements(400000, 900000000); ENMCoreV2.setInfo("The Core V2 library is an implant that upgrades the firmware of the Embedded Netburner Module. " + "This upgraded firmware allows the Embedded Netburner Module to control the information on " + "a network by re-routing traffic, spoofing IP addresses, or altering the data inside network " + @@ -572,7 +572,7 @@ initAugmentations = function() { AddToAugmentations(ENMCoreV2); var ENMCoreV3 = new Augmentation(AugmentationNames.ENMCoreV3); - ENMCoreV3.setRequirements(700000, 1200000000); + ENMCoreV3.setRequirements(700000, 1500000000); ENMCoreV3.setInfo("The Core V3 library is an implant that upgrades the firmware of the Embedded Netburner Module. " + "This upgraded firmware allows the Embedded Netburner Module to seamlessly inject code into " + "any device on a network.

" + @@ -591,7 +591,7 @@ initAugmentations = function() { AddToAugmentations(ENMCoreV3); var ENMAnalyzeEngine = new Augmentation(AugmentationNames.ENMAnalyzeEngine); - ENMAnalyzeEngine.setRequirements(250000, 1000000000); + ENMAnalyzeEngine.setRequirements(250000, 1200000000); ENMAnalyzeEngine.setInfo("Installs the Analyze Engine for the Embedded Netburner Module, which is a CPU cluster " + "that vastly outperforms the Netburner Module's native single-core processor.

" + "This augmentation increases the player's hacking speed by 10%."); @@ -604,7 +604,7 @@ initAugmentations = function() { AddToAugmentations(ENMAnalyzeEngine); var ENMDMA = new Augmentation(AugmentationNames.ENMDMA); - ENMDMA.setRequirements(400000, 1100000000); + ENMDMA.setRequirements(400000, 1400000000); ENMDMA.setInfo("This implant installs a Direct Memory Access (DMA) controller into the " + "Embedded Netburner Module. This allows the Module to send and receive data " + "directly to and from the main memory of devices on a network.

" + @@ -620,7 +620,7 @@ initAugmentations = function() { AddToAugmentations(ENMDMA); var Neuralstimulator = new Augmentation(AugmentationNames.Neuralstimulator); - Neuralstimulator.setRequirements(20000, 500000000); + Neuralstimulator.setRequirements(20000, 600000000); Neuralstimulator.setInfo("A cranial implant that intelligently stimulates certain areas of the brain " + "in order to improve cognitive functions

" + "This augmentation:
" + @@ -637,7 +637,7 @@ initAugmentations = function() { AddToAugmentations(Neuralstimulator); var NeuralAccelerator = new Augmentation(AugmentationNames.NeuralAccelerator); - NeuralAccelerator.setRequirements(80000, 300000000); + NeuralAccelerator.setRequirements(80000, 350000000); NeuralAccelerator.setInfo("A microprocessor that accelerates the processing " + "speed of biological neural networks. This is a cranial implant that is embedded inside the brain.

" + "This augmentation:
" + @@ -652,7 +652,7 @@ initAugmentations = function() { AddToAugmentations(NeuralAccelerator); var CranialSignalProcessorsG1 = new Augmentation(AugmentationNames.CranialSignalProcessorsG1); - CranialSignalProcessorsG1.setRequirements(4000, 15000000); + CranialSignalProcessorsG1.setRequirements(4000, 18000000); CranialSignalProcessorsG1.setInfo("The first generation of Cranial Signal Processors. Cranial Signal Processors " + "are a set of specialized microprocessors that are attached to " + "neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations " + @@ -668,7 +668,7 @@ initAugmentations = function() { AddToAugmentations(CranialSignalProcessorsG1); var CranialSignalProcessorsG2 = new Augmentation(AugmentationNames.CranialSignalProcessorsG2); - CranialSignalProcessorsG2.setRequirements(7500, 21000000); + CranialSignalProcessorsG2.setRequirements(7500, 25000000); CranialSignalProcessorsG2.setInfo("The second generation of Cranial Signal Processors. Cranial Signal Processors " + "are a set of specialized microprocessors that are attached to " + "neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations " + @@ -685,7 +685,7 @@ initAugmentations = function() { AddToAugmentations(CranialSignalProcessorsG2); var CranialSignalProcessorsG3 = new Augmentation(AugmentationNames.CranialSignalProcessorsG3); - CranialSignalProcessorsG3.setRequirements(20000, 90000000); + CranialSignalProcessorsG3.setRequirements(20000, 110000000); CranialSignalProcessorsG3.setInfo("The third generation of Cranial Signal Processors. Cranial Signal Processors " + "are a set of specialized microprocessors that are attached to " + "neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations " + @@ -702,7 +702,7 @@ initAugmentations = function() { AddToAugmentations(CranialSignalProcessorsG3); var CranialSignalProcessorsG4 = new Augmentation(AugmentationNames.CranialSignalProcessorsG4); - CranialSignalProcessorsG4.setRequirements(50000, 200000000); + CranialSignalProcessorsG4.setRequirements(50000, 220000000); CranialSignalProcessorsG4.setInfo("The fourth generation of Cranial Signal Processors. Cranial Signal Processors " + "are a set of specialized microprocessors that are attached to " + "neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations " + @@ -719,7 +719,7 @@ initAugmentations = function() { AddToAugmentations(CranialSignalProcessorsG4); var CranialSignalProcessorsG5 = new Augmentation(AugmentationNames.CranialSignalProcessorsG5); - CranialSignalProcessorsG5.setRequirements(100000, 350000000); + CranialSignalProcessorsG5.setRequirements(100000, 450000000); CranialSignalProcessorsG5.setInfo("The fifth generation of Cranial Signal Processors. Cranial Signal Processors " + "are a set of specialized microprocessors that are attached to " + "neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations " + @@ -735,7 +735,7 @@ initAugmentations = function() { AddToAugmentations(CranialSignalProcessorsG5); var NeuronalDensification = new Augmentation(AugmentationNames.NeuronalDensification); - NeuronalDensification.setRequirements(75000, 250000000); + NeuronalDensification.setRequirements(75000, 275000000); NeuronalDensification.setInfo("The brain is surgically re-engineered to have increased neuronal density " + "by decreasing the neuron gap junction. Then, the body is genetically modified " + "to enhance the production and capabilities of its neural stem cells.

" + @@ -752,7 +752,7 @@ initAugmentations = function() { //Work Augmentations var NuoptimalInjectorImplant = new Augmentation(AugmentationNames.NuoptimalInjectorImplant); - NuoptimalInjectorImplant.setRequirements(2000, 2500000); + NuoptimalInjectorImplant.setRequirements(2000, 3000000); NuoptimalInjectorImplant.setInfo("This torso implant automatically injects nootropic supplements into " + "the bloodstream to improve memory, increase focus, and provide other " + "cognitive enhancements.

" + @@ -767,7 +767,7 @@ initAugmentations = function() { AddToAugmentations(NuoptimalInjectorImplant); var SpeechEnhancement = new Augmentation(AugmentationNames.SpeechEnhancement); - SpeechEnhancement.setRequirements(1000, 1750000); + SpeechEnhancement.setRequirements(1000, 2500000); SpeechEnhancement.setInfo("An advanced neural implant that improves your speaking abilities, making " + "you more convincing and likable in conversations and overall improving your " + "social interactions.

" + @@ -783,7 +783,7 @@ initAugmentations = function() { AddToAugmentations(SpeechEnhancement); var FocusWire = new Augmentation(AugmentationNames.FocusWire); //Stops procrastination - FocusWire.setRequirements(30000, 150000000); + FocusWire.setRequirements(30000, 180000000); FocusWire.setInfo("A cranial implant that stops procrastination by blocking specific neural pathways " + "in the brain.

" + "This augmentation:
" + @@ -798,7 +798,7 @@ initAugmentations = function() { AddToAugmentations(FocusWire) var PCDNI = new Augmentation(AugmentationNames.PCDNI); - PCDNI.setRequirements(150000, 650000000); + PCDNI.setRequirements(150000, 750000000); PCDNI.setInfo("Installs a Direct-Neural Interface jack into your arm that is compatible with most " + "computers. Connecting to a computer through this jack allows you to interface with " + "it using the brain's electrochemical signals.

" + @@ -828,7 +828,7 @@ initAugmentations = function() { AddToAugmentations(PCDNIOptimizer); var PCDNINeuralNetwork = new Augmentation(AugmentationNames.PCDNINeuralNetwork); - PCDNINeuralNetwork.setRequirements(600000, 1100000000); + PCDNINeuralNetwork.setRequirements(600000, 1300000000); PCDNINeuralNetwork.setInfo("This is an additional installation that upgrades the functionality of the " + "PC Direct-Neural Interface augmentation. When connected to a computer, " + "The NeuroNet Injector upgrade allows the user to use his/her own brain's " + @@ -845,7 +845,7 @@ initAugmentations = function() { AddToAugmentations(PCDNINeuralNetwork); var ADRPheromone1 = new Augmentation(AugmentationNames.ADRPheromone1); - ADRPheromone1.setRequirements(1250, 2000000); + ADRPheromone1.setRequirements(1250, 2600000); ADRPheromone1.setInfo("The body is genetically re-engineered so that it produces the ADR-V1 pheromone, " + "an artificial pheromone discovered by scientists. The ADR-V1 pheromone, when excreted, " + "triggers feelings of admiration and approval in other people.

" + @@ -861,7 +861,7 @@ initAugmentations = function() { //HacknetNode Augmentations var HacknetNodeCPUUpload = new Augmentation(AugmentationNames.HacknetNodeCPUUpload); - HacknetNodeCPUUpload.setRequirements(1500, 2000000); + HacknetNodeCPUUpload.setRequirements(1500, 2200000); HacknetNodeCPUUpload.setInfo("Uploads the architecture and design details of a Hacknet Node's CPU into " + "the brain. This allows the user to engineer custom hardware and software " + "for the Hacknet Node that provides better performance.

" + @@ -876,7 +876,7 @@ initAugmentations = function() { AddToAugmentations(HacknetNodeCPUUpload); var HacknetNodeCacheUpload = new Augmentation(AugmentationNames.HacknetNodeCacheUpload); - HacknetNodeCacheUpload.setRequirements(1000, 1000000); + HacknetNodeCacheUpload.setRequirements(1000, 1100000); HacknetNodeCacheUpload.setInfo("Uploads the architecture and design details of a Hacknet Node's main-memory cache " + "into the brain. This allows the user to engineer custom cache hardware for the " + "Hacknet Node that offers better performance.

" + @@ -891,7 +891,7 @@ initAugmentations = function() { AddToAugmentations(HacknetNodeCacheUpload); var HacknetNodeNICUpload = new Augmentation(AugmentationNames.HacknetNodeNICUpload); - HacknetNodeNICUpload.setRequirements(750, 750000); + HacknetNodeNICUpload.setRequirements(750, 900000); HacknetNodeNICUpload.setInfo("Uploads the architecture and design details of a Hacknet Node's Network Interface Card (NIC) " + "into the brain. This allows the user to engineer a custom NIC for the Hacknet Node that " + "offers better performance.

" + @@ -906,7 +906,7 @@ initAugmentations = function() { AddToAugmentations(HacknetNodeNICUpload); var HacknetNodeKernelDNI = new Augmentation(AugmentationNames.HacknetNodeKernelDNI); - HacknetNodeKernelDNI.setRequirements(3000, 6000000); + HacknetNodeKernelDNI.setRequirements(3000, 8000000); HacknetNodeKernelDNI.setInfo("Installs a Direct-Neural Interface jack into the arm that is capable of connecting to a " + "Hacknet Node. This lets the user access and manipulate the Node's kernel using the mind's " + "electrochemical signals.

" + @@ -919,7 +919,7 @@ initAugmentations = function() { AddToAugmentations(HacknetNodeKernelDNI); var HacknetNodeCoreDNI = new Augmentation(AugmentationNames.HacknetNodeCoreDNI); - HacknetNodeCoreDNI.setRequirements(5000, 10000000); + HacknetNodeCoreDNI.setRequirements(5000, 12000000); HacknetNodeCoreDNI.setInfo("Installs a Direct-Neural Interface jack into the arm that is capable of connecting " + "to a Hacknet Node. This lets the user access and manipulate the Node's processing logic using " + "the mind's electrochemical signals.

" + @@ -938,7 +938,7 @@ initAugmentations = function() { NeuroFluxGovernor.owned = oldAug.owned; NeuroFluxGovernor.level = oldAug.level; mult = Math.pow(CONSTANTS.NeuroFluxGovernorLevelMult, NeuroFluxGovernor.level); - NeuroFluxGovernor.setRequirements(300 * mult, 600000 * mult); + NeuroFluxGovernor.setRequirements(500 * mult, 750000 * mult); delete Augmentations[AugmentationNames.NeuroFluxGovernor]; } else { NeuroFluxGovernor.setRequirements(250, 500000); @@ -953,7 +953,7 @@ initAugmentations = function() { AddToAugmentations(NeuroFluxGovernor); var Neurotrainer1 = new Augmentation(AugmentationNames.Neurotrainer1); - Neurotrainer1.setRequirements(400, 600000); + Neurotrainer1.setRequirements(400, 800000); Neurotrainer1.setInfo("A decentralized cranial implant that improves the brain's ability to learn. It is " + "installed by releasing millions of nanobots into the human brain, each of which " + "attaches to a different neural pathway to enhance the brain's ability to retain " + @@ -967,7 +967,7 @@ initAugmentations = function() { AddToAugmentations(Neurotrainer1); var Neurotrainer2 = new Augmentation(AugmentationNames.Neurotrainer2); - Neurotrainer2.setRequirements(4000, 7500000); + Neurotrainer2.setRequirements(4000, 8500000); Neurotrainer2.setInfo("A decentralized cranial implant that improves the brain's ability to learn. This " + "is a more powerful version of the Neurotrainer I augmentation, but it does not " + "require Neurotrainer I to be installed as a prerequisite.

" + @@ -980,7 +980,7 @@ initAugmentations = function() { AddToAugmentations(Neurotrainer2); var Neurotrainer3 = new Augmentation(AugmentationNames.Neurotrainer3); - Neurotrainer3.setRequirements(10000, 22000000); + Neurotrainer3.setRequirements(10000, 25000000); Neurotrainer3.setInfo("A decentralized cranial implant that improves the brain's ability to learn. This " + "is a more powerful version of the Neurotrainer I and Neurotrainer II augmentation, " + "but it does not require either of them to be installed as a prerequisite.

" + @@ -1000,7 +1000,7 @@ initAugmentations = function() { "Increases the player's dexterity by 50%
" + "Increases the player's hacking speed by 3%
" + "Increases the amount of money the player gains from hacking by 10%"); - Hypersight.setRequirements(60000, 450000000); + Hypersight.setRequirements(60000, 550000000); Hypersight.addToFactions(["Blade Industries", "KuaiGong International"]); if (augmentationExists(AugmentationNames.Hypersight)) { Hypersight.owned = Augmentations[AugmentationNames.Hypersight].owned; @@ -1015,7 +1015,7 @@ initAugmentations = function() { "This augmentation:
" + "Increases the player's agility by 5%
" + "Increases the amount of money the player gains from crimes by 10%"); - LuminCloaking1.setRequirements(600, 750000); + LuminCloaking1.setRequirements(600, 1000000); LuminCloaking1.addToFactions(["Slum Snakes", "Tetrads"]); if (augmentationExists(AugmentationNames.LuminCloaking1)) { LuminCloaking1.owned = Augmentations[AugmentationNames.LuminCloaking1].owned; @@ -1032,7 +1032,7 @@ initAugmentations = function() { "Increases the player's agility by 10%
" + "Increases the player's defense by 10%
" + "Increases the amount of money the player gains from crimes by 25%"); - LuminCloaking2.setRequirements(2000, 4000000); + LuminCloaking2.setRequirements(2000, 5000000); LuminCloaking2.addToFactions(["Slum Snakes", "Tetrads"]); if (augmentationExists(AugmentationNames.LuminCloaking2)) { LuminCloaking2.owned = Augmentations[AugmentationNames.LuminCloaking2].owned; @@ -1047,7 +1047,7 @@ initAugmentations = function() { "Increases the player's dexterity by 10%
" + "Increases the player's dexterity experience gain rate by 15%
" + "Increases the amount of money the player gains from crimes by 25%"); - SmartSonar.setRequirements(9000, 10000000); + SmartSonar.setRequirements(9000, 12000000); SmartSonar.addToFactions(["Slum Snakes"]); if (augmentationExists(AugmentationNames.SmartSonar)) { SmartSonar.owned = Augmentations[AugmentationNames.SmartSonar].owned; @@ -1062,7 +1062,7 @@ initAugmentations = function() { "This augmentation:
" + "Increases all of the player's stats by 10%
" + "Increases the player's experience gain rate for all stats by 10%"); - PowerRecirculator.setRequirements(10000, 30000000); + PowerRecirculator.setRequirements(10000, 33000000); PowerRecirculator.addToFactions(["Tetrads", "The Dark Army", "The Syndicate", "NWO"]); if (augmentationExists(AugmentationNames.PowerRecirculator)) { PowerRecirculator.owned = Augmentations[AugmentationNames.PowerRecirculator].owned; @@ -1084,7 +1084,7 @@ initAugmentations = function() { "Increases the player's hacking speed by 10%
" + "Increases the player's chance of successfully performing a hack by 30%
" + "Increases the amount of money the player gains from hacking by 100%"); - QLink.setRequirements(750000, 1000000000); + QLink.setRequirements(750000, 1200000000); QLink.addToFactions(["Illuminati"]); if (augmentationExists(AugmentationNames.QLink)) { QLink.owned = Augmentations[AugmentationNames.QLink].owned; @@ -1104,7 +1104,7 @@ initAugmentations = function() { "This augmentation:
" + "Increases all of the player's combat stats by 75%
" + "Increases the player's hacking skill by 25%"); - SPTN97.setRequirements(500000, 850000000); + SPTN97.setRequirements(500000, 950000000); SPTN97.addToFactions(["The Covenant"]); if (augmentationExists(AugmentationNames.SPTN97)) { SPTN97.owned = Augmentations[AugmentationNames.SPTN97].owned; @@ -1117,7 +1117,7 @@ initAugmentations = function() { HiveMind.setInfo("A brain implant developed by ECorp. They do not reveal what " + "exactly the implant does, but they promise that it will greatly " + "enhance your abilities."); - HiveMind.setRequirements(600000, 925000000); + HiveMind.setRequirements(600000, 1000000000); HiveMind.addToFactions(["ECorp"]); if (augmentationExists(AugmentationNames.HiveMind)) { HiveMind.owned = Augmentations[AugmentationNames.HiveMind].owned; @@ -1134,7 +1134,7 @@ initAugmentations = function() { "This augmentation:
" + "Increases all of the player's combat stats by 40%
" + "Increases all of the player's combat stat experience gain rate by 40%"); - CordiARCReactor.setRequirements(450000, 900000000); + CordiARCReactor.setRequirements(450000, 975000000); CordiARCReactor.addToFactions(["MegaCorp"]); if (augmentationExists(AugmentationNames.CordiARCReactor)) { CordiARCReactor.owned = Augmentations[AugmentationNames.CordiARCReactor].owned; @@ -1152,7 +1152,7 @@ initAugmentations = function() { "Increases the player's charisma experience gain rate by 50%
" + "Increases the amount of reputation the player gains for a company by 25%
" + "Increases the amount of reputation the player gains for a faction by 25%"); - SmartJaw.setRequirements(150000, 400000000); + SmartJaw.setRequirements(150000, 500000000); SmartJaw.addToFactions(["Bachman & Associates"]); if (augmentationExists(AugmentationNames.SmartJaw)) { SmartJaw.owned = Augmentations[AugmentationNames.SmartJaw].owned; @@ -1167,7 +1167,7 @@ initAugmentations = function() { "body's skin and bone cells, granting them the ability to repair " + "and restructure themselves.

" + "This augmentation increases the player's strength and defense by 75%"); - Neotra.setRequirements(225000, 500000000); + Neotra.setRequirements(225000, 550000000); Neotra.addToFactions(["Blade Industries"]); if (augmentationExists(AugmentationNames.Neotra)) { Neotra.owned = Augmentations[AugmentationNames.Neotra].owned; @@ -1183,7 +1183,7 @@ initAugmentations = function() { "This augmentation:
" + "Increases all of the player's stats by 25%
" + "Increases the player's experience gain rate for all stats by 20%"); - Xanipher.setRequirements(350000, 700000000); + Xanipher.setRequirements(350000, 800000000); Xanipher.addToFactions(["NWO"]); if (augmentationExists(AugmentationNames.Xanipher)) { Xanipher.owned = Augmentations[AugmentationNames.Xanipher].owned; @@ -1197,7 +1197,7 @@ initAugmentations = function() { "of negligible senescence, preventing the body from " + "deteriorating with age.

" + "This augmentation increases all of the player's stats by 20%"); - nextSENS.setRequirements(175000, 300000000); + nextSENS.setRequirements(175000, 375000000); nextSENS.addToFactions(["Clarke Incorporated"]); if (augmentationExists(AugmentationNames.nextSENS)) { nextSENS.owned = Augmentations[AugmentationNames.nextSENS].owned; @@ -1213,7 +1213,7 @@ initAugmentations = function() { "This augmentation:
" + "Increases the player's hacking skill by 30%
" + "Increases the player's hacking experience gain rate by 30%"); - OmniTekInfoLoad.setRequirements(250000, 400000000) + OmniTekInfoLoad.setRequirements(250000, 550000000) OmniTekInfoLoad.addToFactions(["OmniTek Incorporated"]); if (augmentationExists(AugmentationNames.OmniTekInfoLoad)) { OmniTekInfoLoad.owned = Augmentations[AugmentationNames.OmniTekInfoLoad].owned; @@ -1231,7 +1231,7 @@ initAugmentations = function() { "skin cells, allowing users to generate their own energy " + "and nutrition using solar power.

" + "This augmentation increases the player's strength, defense, and agility by 50%"); - PhotosyntheticCells.setRequirements(225000, 425000000); + PhotosyntheticCells.setRequirements(225000, 525000000); PhotosyntheticCells.addToFactions(["KuaiGong International"]); if (augmentationExists(AugmentationNames.PhotosyntheticCells)) { PhotosyntheticCells.owned = Augmentations[AugmentationNames.PhotosyntheticCells].owned; @@ -1250,7 +1250,7 @@ initAugmentations = function() { "Increases the player's chance of successfully performing a hack by 10%
" + "Increases the player's hacking speed by 5%
" + "Lets the player start with the FTPCrack.exe and relaySMTP.exe programs after a reset"); - Neurolink.setRequirements(350000, 750000000); + Neurolink.setRequirements(350000, 850000000); Neurolink.addToFactions(["BitRunners"]); if (augmentationExists(AugmentationNames.Neurolink)) { Neurolink.owned = Augmentations[AugmentationNames.Neurolink].owned; @@ -1269,7 +1269,7 @@ initAugmentations = function() { "Increases the player's hacking skill by 10%
" + "Increases the player's hacking speed by 2%
" + "Increases the amount of money the player gains from hacking by 10%"); - TheBlackHand.setRequirements(40000, 90000000); + TheBlackHand.setRequirements(40000, 100000000); TheBlackHand.addToFactions(["The Black Hand"]); if (augmentationExists(AugmentationNames.TheBlackHand)) { TheBlackHand.owned = Augmentations[AugmentationNames.TheBlackHand].owned; @@ -1285,7 +1285,7 @@ initAugmentations = function() { "This augmentation:
" + "Improves the player's hacking skill by 10%
" + "Improves the player's hacking experience gain rate by 20%"); - CRTX42AA.setRequirements(18000, 35000000); + CRTX42AA.setRequirements(18000, 45000000); CRTX42AA.addToFactions(["NiteSec"]); if (augmentationExists(AugmentationNames.CRTX42AA)) { CRTX42AA.owned = Augmentations[AugmentationNames.CRTX42AA].owned; @@ -1299,7 +1299,7 @@ initAugmentations = function() { "The result is that these neurons never die and continuously " + "regenerate and strengthen themselves.

" + "This augmentation increases the player's hacking experience gain rate by 75%"); - Neuregen.setRequirements(15000, 60000000); + Neuregen.setRequirements(15000, 75000000); Neuregen.addToFactions(["Chongqing"]); if (augmentationExists(AugmentationNames.Neuregen)) { Neuregen.owned = Augmentations[AugmentationNames.Neuregen].owned; @@ -1315,7 +1315,7 @@ initAugmentations = function() { "This augmentation:
" + "Lets the player start with $1,000,000 after a reset
" + "Lets the player start with the BruteSSH.exe program after a reset"); - CashRoot.setRequirements(4000, 20000000); + CashRoot.setRequirements(4000, 25000000); CashRoot.addToFactions(["Sector-12"]); if (augmentationExists(AugmentationNames.CashRoot)) { CashRoot.owned = Augmentations[AugmentationNames.CashRoot].owned; @@ -1331,7 +1331,7 @@ initAugmentations = function() { "energy in the form of heat.

" + "This augmentation:
" + "Increases the player's experience gain rate for all combat stats by 20%"); - NutriGen.setRequirements(2500, 400000); + NutriGen.setRequirements(2500, 500000); NutriGen.addToFactions(["New Tokyo"]); if (augmentationExists(AugmentationNames.NutriGen)) { NutriGen.owned = Augmentations[AugmentationNames.NutriGen].owned; @@ -1351,7 +1351,7 @@ initAugmentations = function() { "Increases the player's crime success rate by 25%
" + "Increases the amount of money the player gains from crimes by 10%
" + "Increases the player's dexterity by 10%"); - INFRARet.setRequirements(3000, 5000000); + INFRARet.setRequirements(3000, 6000000); INFRARet.addToFactions(["Ishima"]); if (augmentationExists(AugmentationNames.INFRARet)) { INFRARet.owned = Augmentations[AugmentationNames.INFRARet].owned; @@ -1365,7 +1365,7 @@ initAugmentations = function() { "millions of nanobots capable of projecting high-density muon beams, " + "creating an energy barrier around the user.

" + "This augmentation increases the player's defense by 50%"); - DermaForce.setRequirements(6000, 8000000); + DermaForce.setRequirements(6000, 10000000); DermaForce.addToFactions(["Volhaven"]); if (augmentationExists(AugmentationNames.DermaForce)) { DermaForce.owned = Augmentations[AugmentationNames.DermaForce].owned; @@ -1382,7 +1382,7 @@ initAugmentations = function() { "Increases the player's strength and defense by 50%
" + "Increases the player's crime success rate by 10%
" + "Increases the amount of money the player gains from crimes by 20%"); - GrapheneBrachiBlades.setRequirements(90000, 400000000); + GrapheneBrachiBlades.setRequirements(90000, 500000000); GrapheneBrachiBlades.addToFactions(["Speakers for the Dead"]); if (augmentationExists(AugmentationNames.GrapheneBrachiBlades)) { GrapheneBrachiBlades.owned = Augmentations[AugmentationNames.GrapheneBrachiBlades].owned; @@ -1396,7 +1396,7 @@ initAugmentations = function() { "prosthetic arms with an advanced graphene material " + "to make them much stronger and lighter.

" + "This augmentation increases the player's strength and dexterity by 100%"); - GrapheneBionicArms.setRequirements(200000, 600000000); + GrapheneBionicArms.setRequirements(200000, 750000000); GrapheneBionicArms.addToFactions(["The Dark Army"]); if (augmentationExists(AugmentationNames.GrapheneBionicArms)) { GrapheneBionicArms.owned = Augmentations[AugmentationNames.GrapheneBionicArms].owned; @@ -1411,7 +1411,7 @@ initAugmentations = function() { "Increases the player's strength and defense by 20%
" + "Increases the player's crime success rate by 10%
" + "Increases thea mount of money the player gains from crimes by 10%"); - BrachiBlades.setRequirements(5000, 14000000); + BrachiBlades.setRequirements(5000, 18000000); BrachiBlades.addToFactions(["The Syndicate"]); if (augmentationExists(AugmentationNames.BrachiBlades)) { BrachiBlades.owned = Augmentations[AugmentationNames.BrachiBlades].owned; @@ -1424,7 +1424,7 @@ initAugmentations = function() { BionicArms.setInfo("Cybernetic arms created from plasteel and carbon fibers that completely replace " + "the user's organic arms.

" + "This augmentation increases the user's strength and dexterity by 50%"); - BionicArms.setRequirements(25000, 45000000); + BionicArms.setRequirements(25000, 55000000); BionicArms.addToFactions(["Tetrads"]); if (augmentationExists(AugmentationNames.BionicArms)) { BionicArms.owned = Augmentations[AugmentationNames.BionicArms].owned; @@ -1440,7 +1440,7 @@ initAugmentations = function() { "Increases the amount of money the player earns at a company by 10%
" + "Increases the amount of reputation the player gains when working for a " + "company or faction by 20%"); - SNA.setRequirements(2500, 5000000); + SNA.setRequirements(2500, 6000000); SNA.addToFactions(["Tian Di Hui"]); if (augmentationExists(AugmentationNames.SNA)) { SNA.owned = Augmentations[AugmentationNames.SNA].owned; diff --git a/src/Constants.js b/src/Constants.js index 851de28ed..22c12062a 100644 --- a/src/Constants.js +++ b/src/Constants.js @@ -18,7 +18,7 @@ CONSTANTS = { BaseCostForHacknetNodeCore: 500000, /* Hacknet Node constants */ - HacknetNodeMoneyGainPerLevel: 1.65, + HacknetNodeMoneyGainPerLevel: 1.5, HacknetNodePurchaseNextMult: 1.39, //Multiplier when purchasing an additional hacknet node HacknetNodeUpgradeLevelMult: 1.04, //Multiplier for cost when upgrading level HacknetNodeUpgradeRamMult: 1.26, //Multiplier for cost when upgrading RAM @@ -65,10 +65,13 @@ CONSTANTS = { ScriptHNUpgCoreRamCost: 0.8, //Server constants - ServerGrowthRate: 1.0015, //Growth rate + ServerGrowthRate: 1.002, //Growth rate ServerFortifyAmount: 0.001, //Amount by which server's security increases when its hacked ServerWeakenAmount: 0.1, //Amount by which server's security decreases when weakened + //Augmentation Constants + AugmentationCostMultiplier: 2, //Used for balancing costs without having to readjust every Augmentation cost + //Maximum number of log entries for a script MaxLogCapacity: 40, @@ -287,8 +290,11 @@ CONSTANTS = { "sleep(n)
Suspends the script for n milliseconds.
Example: sleep(5000);

" + "grow(hostname/ip)
Use your hacking skills to increase the amount of money available on a server. The argument passed in " + "must be a string with either the IP or hostname of the target server. The grow() command requires root access to the target server, but " + - "there is no required hacking level to run the command. The grow() command takes a flat 2 minutes to execute " + - "and grants 1 hacking exp when it completes.
Example: grow('foodnstuff');

" + + "there is no required hacking level to run the command. " + + "Grants 1 hacking exp when it completes.
Example: grow('foodnstuff');

" + + "weaken(hostname/ip)
Use your hacking skills to attack a server's security, lowering the server's security level. The argument passed " + + "in must be a string with either the IP or hostname of the target server. This command requires root access to the target server, but " + + "there is no required hacking level to run the command. Grants 5 hacking exp when it completes.
Example: weaken('foodnstuff');

" + "print(x)
Prints a value or a variable to the scripts logs (which can be viewed with the 'tail [script]' terminal command )

" + "nuke(hostname/ip)
Run NUKE.exe on the target server. NUKE.exe must exist on your home computer. Does NOT work while offline
Example: nuke('foodnstuff');

" + "brutessh(hostname/ip)
Run BruteSSH.exe on the target server. BruteSSH.exe must exist on your home computer. Does NOT work while offline
Example: brutessh('foodnstuff');

" + @@ -310,10 +316,12 @@ CONSTANTS = { "hasRootAccess(hostname/ip)
Returns a boolean (true or false) indicating whether or not the Player has root access to a server. " + "The argument passed in must be a string with either the hostname or IP of the target server. Does NOT work while offline.
" + "Example:
if (hasRootAccess('foodnstuff') == false) {
    nuke('foodnstuff');
}

" + - "getHostname()
Returns a string with the hostname of the server that the script is running on

" + - "getHackingLevel()
Returns the Player's current hacking level. Does NOT work while offline

" + + "getHostname()
Returns a string with the hostname of the server that the script is running on

" + + "getHackingLevel()
Returns the Player's current hacking level. Does NOT work while offline

" + "getServerMoneyAvailable(hostname/ip)
Returns the amount of money available on a server. The argument passed in must be a string with either the " + "hostname or IP of the target server. Does NOT work while offline
Example: getServerMoneyAvailable('foodnstuff');

" + + "getServerSecurityLevel(hostname/ip)
Returns the security level of a server. The argument passed in must be a string with either the " + + "hostname or IP of the target server. A server's security is denoted by a number between 1 and 100. Does NOT work while offline.

" + "purchaseHacknetNode()
Purchases a new Hacknet Node. Returns a number with the index of the Hacknet Node. This index is equivalent to the number " + "at the end of the Hacknet Node's name (e.g The Hacknet Node named 'hacknet-node-4' will have an index of 4). If the player cannot afford to purchase " + "a new Hacknet Node then the function will return false. Does NOT work offline

" + diff --git a/src/Faction.js b/src/Faction.js index ea64ba974..a82c2d493 100644 --- a/src/Faction.js +++ b/src/Faction.js @@ -585,7 +585,7 @@ displayFactionContent = function(factionName) { return; } Player.loseMoney(numMoneyDonate); - var repGain = numMoneyDonate / 1000 * Player.faction_rep_mult; + var repGain = numMoneyDonate / 1000000 * Player.faction_rep_mult; faction.playerReputation += repGain; dialogBoxCreate("You just donated $" + formatNumber(numMoneyDonate, 2) + " to " + faction.name + " to gain " + formatNumber(repGain, 3) + " reputation"); diff --git a/src/HacknetNode.js b/src/HacknetNode.js index b8c3ef05f..7ceabef55 100644 --- a/src/HacknetNode.js +++ b/src/HacknetNode.js @@ -49,8 +49,8 @@ HacknetNode.prototype.updateMoneyGainRate = function() { var gainPerLevel = CONSTANTS.HacknetNodeMoneyGainPerLevel; this.moneyGainRatePerSecond = (this.level * gainPerLevel) * - Math.pow(1.037, this.ram-1) * - ((this.numCores + 4) / 5) * Player.hacknet_node_money_mult; + Math.pow(1.035, this.ram-1) * + ((this.numCores + 5) / 6) * Player.hacknet_node_money_mult; if (isNaN(this.moneyGainRatePerSecond)) { this.moneyGainRatePerSecond = 0; dialogBoxCreate("Error in calculating Hacknet Node production. Please report to game developer"); diff --git a/src/NetscriptEvaluator.js b/src/NetscriptEvaluator.js index 130b755ed..fdb0f03db 100644 --- a/src/NetscriptEvaluator.js +++ b/src/NetscriptEvaluator.js @@ -880,7 +880,7 @@ function evaluate(exp, workerScript) { workerScript.scriptRef.log("Cannot getServerMoneyAvailable(). Invalid IP or hostname passed in: " + ip); return; } - workerScript.scriptRef.log("getServerMoneyAvailable() returned " + formatNumber(server.moneyAvailable, 2)); + workerScript.scriptRef.log("getServerMoneyAvailable() returned " + formatNumber(server.moneyAvailable, 2) + " for " + server.hostname); resolve(server.moneyAvailable); }, CONSTANTS.CodeInstructionRunTime); }, function(e) { @@ -900,7 +900,7 @@ function evaluate(exp, workerScript) { workerScript.scriptRef.log("Cannot getServerSecurityLevel(). Invalid IP or hostname passed in: " + ip); return; } - workerScript.scriptRef.log("getServerSecurityLevel() returned " + formatNumber(server.hackDifficulty, 3)); + workerScript.scriptRef.log("getServerSecurityLevel() returned " + formatNumber(server.hackDifficulty, 3) + " for " + server.hostname); resolve(server.hackDifficulty); }, CONSTANTS.CodeInstructionRunTime); }, function(e) {