import { Augmentation } from "./Augmentation"; import { Augmentations } from "./Augmentations"; import { PlayerOwnedAugmentation } from "./PlayerOwnedAugmentation"; import { AugmentationNames } from "./data/AugmentationNames"; import { AugmentationsRoot } from "./ui/Root"; import { BitNodeMultipliers } from "../BitNode/BitNodeMultipliers"; import { CONSTANTS } from "../Constants"; import { Factions, factionExists } from "../Faction/Factions"; import { Player } from "../Player"; import { prestigeAugmentation } from "../Prestige"; import { saveObject } from "../SaveObject"; import { Page, routing } from "../ui/navigationTracking"; import { onExport } from "../ExportBonus"; import { dialogBoxCreate } from "../../utils/DialogBox"; import { clearObject } from "../../utils/helpers/clearObject"; import { Money } from "../ui/React/Money"; import { WHRNG } from "../Casino/RNG"; import React from "react"; import ReactDOM from "react-dom"; function AddToAugmentations(aug) { var name = aug.name; Augmentations[name] = aug; } function getRandomBonus() { var bonuses = [ [ ["hacking_chance_mult", 1.25], ["hacking_speed_mult", 1.15], ["hacking_money_mult", 1.25], ["hacking_grow_mult", 1.1], ], [ ["strength_exp_mult", 1.15], ["strength_exp_mult", 2] ], [ ["defense_mult", 1.15], ["defense_exp_mult", 2] ], [ ["dexterity_mult", 1.15], ["dexterity_exp_mult", 2] ], [ ["agility_mult", 1.15], ["agility_exp_mult", 2] ], [ ["charisma_mult", 1.15], ["charisma_exp_mult", 2] ], [ ["hacknet_node_money_mult", 1.2], ["hacknet_node_purchase_cost_mult", 0.85], ["hacknet_node_ram_cost_mult", 0.85], ["hacknet_node_core_cost_mult", 0.85], ["hacknet_node_level_cost_mult", 0.85] ], [ ["company_rep_mult", 1.25], ["faction_rep_mult", 1.15], ["work_money_mult", 1.3] ], [ ["crime_success_mult", 2], ["crime_money_mult", 2], ], ] let randomNumber = (new WHRNG(Math.floor(Player.lastUpdate/3600000))); for(let i = 0; i < 3; i++){ randomNumber.step(); } return (bonuses[Math.floor(bonuses.length * randomNumber.random())]); } function initAugmentations() { for (var name in Factions) { if (Factions.hasOwnProperty(name)) { Factions[name].augmentations = []; } } //Reset Augmentations clearObject(Augmentations); //Time-Based Augment Test var randomBonuses = getRandomBonus(); const CircadianRhythm = new Augmentation({ name:AugmentationNames.CircadianRhythm, moneyCost: 1e9, repCost:4.5e3, info:"A prototype injection which modifies your circadian rhythm, leading to varied effects.

" + "This augmentation currently modifies these values:
" }); for (let i = 0; i < randomBonuses.length; i++) { console.log(`${randomBonuses[i]}`); CircadianRhythm.mults[randomBonuses[i][0]] = randomBonuses[i][1]; CircadianRhythm.info += `${randomBonuses[i][0]} by ${Math.round(100 * randomBonuses[i][1].toFixed(2))}%
` } console.log(CircadianRhythm.info); CircadianRhythm.addToFactions(["Speakers for the Dead"]); if (augmentationExists(AugmentationNames.CircadianRhythm)) { delete Augmentations[AugmentationNames.CircadianRhythm]; } AddToAugmentations(CircadianRhythm); //Combat stat augmentations const HemoRecirculator = new Augmentation({ name:AugmentationNames.HemoRecirculator, moneyCost: 9e6, repCost:4e3, info:"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 8%.", strength_mult: 1.08, defense_mult: 1.08, agility_mult: 1.08, dexterity_mult: 1.08, }); HemoRecirculator.addToFactions(["Tetrads", "The Dark Army", "The Syndicate"]); if (augmentationExists(AugmentationNames.HemoRecirculator)) { delete Augmentations[AugmentationNames.HemoRecirculator]; } AddToAugmentations(HemoRecirculator); const Targeting1 = new Augmentation({ name:AugmentationNames.Targeting1, moneyCost:3e6, repCost:2e3, info:"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.

" + "This augmentation increases the player's dexterity by 10%.", dexterity_mult: 1.1, }); Targeting1.addToFactions(["Slum Snakes", "The Dark Army", "The Syndicate", "Sector-12", "Ishima", "OmniTek Incorporated", "KuaiGong International", "Blade Industries"]); if (augmentationExists(AugmentationNames.Targeting1)) { delete Augmentations[AugmentationNames.Targeting1]; } AddToAugmentations(Targeting1); const Targeting2 = new Augmentation({ name:AugmentationNames.Targeting2, moneyCost:8.5e6, repCost:3.5e3, info:"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 augmentation increases the player's dexterity by 20%.", prereqs:[AugmentationNames.Targeting1], dexterity_mult: 1.2, }); Targeting2.addToFactions(["The Dark Army", "The Syndicate", "Sector-12", "OmniTek Incorporated", "KuaiGong International", "Blade Industries"]); if (augmentationExists(AugmentationNames.Targeting2)) { delete Augmentations[AugmentationNames.Targeting2]; } AddToAugmentations(Targeting2); const Targeting3 = new Augmentation({ name:AugmentationNames.Targeting3, moneyCost:23e6, repCost:11e3, info:"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 augmentation increases the player's dexterity by 30%.", prereqs:[AugmentationNames.Targeting2], dexterity_mult: 1.3, }); Targeting3.addToFactions(["The Dark Army", "The Syndicate", "OmniTek Incorporated", "KuaiGong International", "Blade Industries", "The Covenant"]); if (augmentationExists(AugmentationNames.Targeting3)) { delete Augmentations[AugmentationNames.Targeting3]; } AddToAugmentations(Targeting3); const SyntheticHeart = new Augmentation({ name:AugmentationNames.SyntheticHeart, moneyCost:575e6, repCost:300e3, info:"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 50%.", agility_mult: 1.5, strength_mult: 1.5, }); SyntheticHeart.addToFactions(["KuaiGong International", "Fulcrum Secret Technologies", "Speakers for the Dead", "NWO", "The Covenant", "Daedalus", "Illuminati"]); if (augmentationExists(AugmentationNames.SyntheticHeart)) { delete Augmentations[AugmentationNames.SyntheticHeart]; } AddToAugmentations(SyntheticHeart); const SynfibrilMuscle = new Augmentation({ name:AugmentationNames.SynfibrilMuscle, repCost:175e3, moneyCost:225e6, info:"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 strength and defense by 30%.", strength_mult: 1.3, defense_mult: 1.3, }); SynfibrilMuscle.addToFactions(["KuaiGong International", "Fulcrum Secret Technologies", "Speakers for the Dead", "NWO", "The Covenant", "Daedalus", "Illuminati", "Blade Industries"]); if (augmentationExists(AugmentationNames.SynfibrilMuscle)) { delete Augmentations[AugmentationNames.SynfibrilMuscle]; } AddToAugmentations(SynfibrilMuscle) const CombatRib1 = new Augmentation({ name:AugmentationNames.CombatRib1, repCost:3e3, moneyCost:4750000, info:"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 10%.", strength_mult: 1.1, defense_mult: 1.1, }); CombatRib1.addToFactions(["Slum Snakes", "The Dark Army", "The Syndicate", "Volhaven", "Ishima", "OmniTek Incorporated", "KuaiGong International", "Blade Industries"]); if (augmentationExists(AugmentationNames.CombatRib1)) { delete Augmentations[AugmentationNames.CombatRib1]; } AddToAugmentations(CombatRib1); const CombatRib2 = new Augmentation({ name:AugmentationNames.CombatRib2, repCost:7.5e3, moneyCost:13e6, info:"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 augmentation increases the player's strength and defense by 14%.", prereqs:[AugmentationNames.CombatRib1], strength_mult: 1.14, defense_mult: 1.14, }); CombatRib2.addToFactions(["The Dark Army", "The Syndicate", "Volhaven", "OmniTek Incorporated", "KuaiGong International", "Blade Industries"]); if (augmentationExists(AugmentationNames.CombatRib2)) { delete Augmentations[AugmentationNames.CombatRib2]; } AddToAugmentations(CombatRib2); const CombatRib3 = new Augmentation({ name:AugmentationNames.CombatRib3, repCost:14e3, moneyCost:24e6, info:"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 augmentation increases the player's strength and defense by 18%.", prereqs:[AugmentationNames.CombatRib2], strength_mult: 1.18, defense_mult: 1.18, }); CombatRib3.addToFactions(["The Dark Army", "The Syndicate", "OmniTek Incorporated", "KuaiGong International", "Blade Industries", "The Covenant"]); if (augmentationExists(AugmentationNames.CombatRib3)) { delete Augmentations[AugmentationNames.CombatRib3]; } AddToAugmentations(CombatRib3); const NanofiberWeave = new Augmentation({ name:AugmentationNames.NanofiberWeave, repCost:15e3, moneyCost:25e6, info:"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 20%.", strength_mult: 1.2, defense_mult: 1.2, }); NanofiberWeave.addToFactions(["Tian Di Hui", "The Syndicate", "The Dark Army", "Speakers for the Dead", "Blade Industries", "Fulcrum Secret Technologies", "OmniTek Incorporated"]); if (augmentationExists(AugmentationNames.NanofiberWeave)) { delete Augmentations[AugmentationNames.NanofiberWeave]; } AddToAugmentations(NanofiberWeave); const SubdermalArmor = new Augmentation({ name:AugmentationNames.SubdermalArmor, repCost:350e3, moneyCost:650e6, info:"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 " + "at stopping piercing blows and reducing blunt trauma. The properties of graphene allow the plating to " + "mitigate damage from any fire-related or electrical traumas.

" + "This augmentation increases the player's defense by 120%.", defense_mult: 2.2, }); SubdermalArmor.addToFactions(["The Syndicate", "Fulcrum Secret Technologies", "Illuminati", "Daedalus", "The Covenant"]); if (augmentationExists(AugmentationNames.SubdermalArmor)) { delete Augmentations[AugmentationNames.SubdermalArmor]; } AddToAugmentations(SubdermalArmor); const WiredReflexes = new Augmentation({ name:AugmentationNames.WiredReflexes, repCost:500, moneyCost:500e3, info:"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 5%.", agility_mult: 1.05, dexterity_mult: 1.05, }); WiredReflexes.addToFactions(["Tian Di Hui", "Slum Snakes", "Sector-12", "Volhaven", "Aevum", "Ishima", "The Syndicate", "The Dark Army", "Speakers for the Dead"]); if (augmentationExists(AugmentationNames.WiredReflexes)) { delete Augmentations[AugmentationNames.WiredReflexes]; } AddToAugmentations(WiredReflexes); const GrapheneBoneLacings = new Augmentation({ name:AugmentationNames.GrapheneBoneLacings, repCost:450e3, moneyCost:850e6, info:"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 70%.", strength_mult: 1.7, defense_mult: 1.7, }); GrapheneBoneLacings.addToFactions(["Fulcrum Secret Technologies", "The Covenant"]); if (augmentationExists(AugmentationNames.GrapheneBoneLacings)) { delete Augmentations[AugmentationNames.GrapheneBoneLacings]; } AddToAugmentations(GrapheneBoneLacings); const BionicSpine = new Augmentation({ name:AugmentationNames.BionicSpine, repCost:18e3, moneyCost:25e6, info:"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 " + "greatly improved senses and reaction speeds.

" + "This augmentation increases all of the player's combat stats by 15%.", strength_mult: 1.15, defense_mult: 1.15, agility_mult: 1.15, dexterity_mult: 1.15, }); BionicSpine.addToFactions(["Speakers for the Dead", "The Syndicate", "KuaiGong International", "OmniTek Incorporated", "Blade Industries"]); if (augmentationExists(AugmentationNames.BionicSpine)) { delete Augmentations[AugmentationNames.BionicSpine]; } AddToAugmentations(BionicSpine); const GrapheneBionicSpine = new Augmentation({ name:AugmentationNames.GrapheneBionicSpine, repCost:650e3, moneyCost:1200e6, info:"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 60%.", prereqs:[AugmentationNames.BionicSpine], strength_mult: 1.6, defense_mult: 1.6, agility_mult: 1.6, dexterity_mult: 1.6, }); GrapheneBionicSpine.addToFactions(["Fulcrum Secret Technologies", "ECorp"]); if (augmentationExists(AugmentationNames.GrapheneBionicSpine)) { delete Augmentations[AugmentationNames.GrapheneBionicSpine]; } AddToAugmentations(GrapheneBionicSpine); const BionicLegs = new Augmentation({ name:AugmentationNames.BionicLegs, repCost:60e3, moneyCost:75e6, info:"Cybernetic legs created from plasteel and carbon fibers that completely replace the user's organic legs.

" + "This augmentation increases the player's agility by 60%.", agility_mult: 1.6, }); BionicLegs.addToFactions(["Speakers for the Dead", "The Syndicate", "KuaiGong International", "OmniTek Incorporated", "Blade Industries"]); if (augmentationExists(AugmentationNames.BionicLegs)) { delete Augmentations[AugmentationNames.BionicLegs]; } AddToAugmentations(BionicLegs); const GrapheneBionicLegs = new Augmentation({ name:AugmentationNames.GrapheneBionicLegs, repCost:300e3, moneyCost:900e6, info:"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 150%.", prereqs: [AugmentationNames.BionicLegs], agility_mult: 2.5, }); GrapheneBionicLegs.addToFactions(["MegaCorp", "ECorp", "Fulcrum Secret Technologies"]); if (augmentationExists(AugmentationNames.GrapheneBionicLegs)) { delete Augmentations[AugmentationNames.GrapheneBionicLegs]; } AddToAugmentations(GrapheneBionicLegs); // Work stat augmentations const SpeechProcessor = new Augmentation({ name:AugmentationNames.SpeechProcessor, repCost:3e3, moneyCost:10e6, info:"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.

" + "This augmentation increases the player's charisma by 20%.", charisma_mult: 1.2, }); SpeechProcessor.addToFactions(["Tian Di Hui", "Chongqing", "Sector-12", "New Tokyo", "Aevum", "Ishima", "Volhaven", "Silhouette"]); if (augmentationExists(AugmentationNames.SpeechProcessor)) { delete Augmentations[AugmentationNames.SpeechProcessor]; } AddToAugmentations(SpeechProcessor); const TITN41Injection = new Augmentation({ name:AugmentationNames.TITN41Injection, repCost:10e3, moneyCost:38e6, info:"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.

" + "This augmentation increases the player's charisma and charisma experience gain rate by 15%.", charisma_mult: 1.15, charisma_exp_mult: 1.15, }); TITN41Injection.addToFactions(["Silhouette"]); if (augmentationExists(AugmentationNames.TITN41Injection)) { delete Augmentations[AugmentationNames.TITN41Injection]; } AddToAugmentations(TITN41Injection); const EnhancedSocialInteractionImplant = new Augmentation({ name:AugmentationNames.EnhancedSocialInteractionImplant, repCost:150e3, moneyCost:275e6, info:"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" + "situations. The implant also uses deep learning software to continuously learn new behavior" + "patterns and how to best respond.

" + "This augmentation increases the player's charisma and charisma experience gain rate by 60%.", charisma_mult: 1.6, charisma_exp_mult: 1.6, }); EnhancedSocialInteractionImplant.addToFactions(["Bachman & Associates", "NWO", "Clarke Incorporated", "OmniTek Incorporated", "Four Sigma"]); if (augmentationExists(AugmentationNames.EnhancedSocialInteractionImplant)) { delete Augmentations[AugmentationNames.EnhancedSocialInteractionImplant]; } AddToAugmentations(EnhancedSocialInteractionImplant); // Hacking augmentations const BitWire = new Augmentation({ name:AugmentationNames.BitWire, repCost:1500, moneyCost:2e6, info: "A small brain implant embedded in the cerebrum. This regulates and improves the brain's computing " + "capabilities.

" + "This augmentation increases the player's hacking skill by 5%.", hacking_mult: 1.05, }); BitWire.addToFactions(["CyberSec", "NiteSec"]); if (augmentationExists(AugmentationNames.BitWire)) { delete Augmentations[AugmentationNames.BitWire]; } AddToAugmentations(BitWire); const ArtificialBioNeuralNetwork = new Augmentation({ name:AugmentationNames.ArtificialBioNeuralNetwork, repCost:110e3, moneyCost:600e6, info:"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 " + "nanoprocessors are programmed to perform computations much faster than organic neurons, " + "allowing its user to solve much more complex problems at a much faster rate.

" + "This augmentation:
" + "Increases the player's hacking speed by 3%.
" + "Increases the amount of money the player's gains from hacking by 15%.
" + "Increases the player's hacking skill by 12%.", hacking_speed_mult: 1.03, hacking_money_mult: 1.15, hacking_mult: 1.12, }); ArtificialBioNeuralNetwork.addToFactions(["BitRunners", "Fulcrum Secret Technologies"]); if (augmentationExists(AugmentationNames.ArtificialBioNeuralNetwork)) { delete Augmentations[AugmentationNames.ArtificialBioNeuralNetwork]; } AddToAugmentations(ArtificialBioNeuralNetwork); const ArtificialSynapticPotentiation = new Augmentation({ name:AugmentationNames.ArtificialSynapticPotentiation, repCost:2500, moneyCost:16e6, info:"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:
" + "Increases the player's hacking speed by 2%.
" + "Increases the player's hacking chance by 5%.
" + "Increases the player's hacking experience gain rate by 5%.", hacking_speed_mult: 1.02, hacking_chance_mult: 1.05, hacking_exp_mult: 1.05, }); ArtificialSynapticPotentiation.addToFactions(["The Black Hand", "NiteSec"]); if (augmentationExists(AugmentationNames.ArtificialSynapticPotentiation)) { delete Augmentations[AugmentationNames.ArtificialSynapticPotentiation]; } AddToAugmentations(ArtificialSynapticPotentiation); const EnhancedMyelinSheathing = new Augmentation({ name:AugmentationNames.EnhancedMyelinSheathing, repCost:40e3, moneyCost:275e6, info:"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 " + "counterparts, leading to greater processing speeds and better brain function.

" + "This augmentation:
" + "Increases the player's hacking speed by 3%.
" + "Increases the player's hacking skill by 8%.
" + "Increases the player's hacking experience gain rate by 10%.", hacking_speed_mult: 1.03, hacking_exp_mult: 1.1, hacking_mult: 1.08, }); EnhancedMyelinSheathing.addToFactions(["Fulcrum Secret Technologies", "BitRunners", "The Black Hand"]); if (augmentationExists(AugmentationNames.EnhancedMyelinSheathing)) { delete Augmentations[AugmentationNames.EnhancedMyelinSheathing]; } AddToAugmentations(EnhancedMyelinSheathing); const SynapticEnhancement = new Augmentation({ name:AugmentationNames.SynapticEnhancement, repCost:800, moneyCost:1.5e6, info:"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%.", hacking_speed_mult: 1.03, }); SynapticEnhancement.addToFactions(["CyberSec", "Aevum"]); if (augmentationExists(AugmentationNames.SynapticEnhancement)) { delete Augmentations[AugmentationNames.SynapticEnhancement]; } AddToAugmentations(SynapticEnhancement); const NeuralRetentionEnhancement = new Augmentation({ name:AugmentationNames.NeuralRetentionEnhancement, repCost:8e3, moneyCost:50e6, info:"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 25%.", hacking_exp_mult: 1.25, }); NeuralRetentionEnhancement.addToFactions(["NiteSec"]); if (augmentationExists(AugmentationNames.NeuralRetentionEnhancement)) { delete Augmentations[AugmentationNames.NeuralRetentionEnhancement]; } AddToAugmentations(NeuralRetentionEnhancement); const DataJack = new Augmentation({ name:AugmentationNames.DataJack, repCost:45e3, moneyCost:90e6, info:"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.

" + "This augmentation increases the amount of money the player gains from hacking by 25%.", hacking_money_mult: 1.25, }); DataJack.addToFactions(["BitRunners", "The Black Hand", "NiteSec", "Chongqing", "New Tokyo"]); if (augmentationExists(AugmentationNames.DataJack)) { delete Augmentations[AugmentationNames.DataJack]; } AddToAugmentations(DataJack); const ENM = new Augmentation({ name:AugmentationNames.ENM, repCost:6e3, moneyCost:50e6, info:"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 " + "not do much, but a variety of very powerful upgrades can be installed that allow you to fully " + "control the traffic on a network.

" + "This augmentation increases the player's hacking skill by 8%.", hacking_mult: 1.08, }); ENM.addToFactions(["BitRunners", "The Black Hand", "NiteSec", "ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO", "Blade Industries"]); if (augmentationExists(AugmentationNames.ENM)) { delete Augmentations[AugmentationNames.ENM]; } AddToAugmentations(ENM); const ENMCore = new Augmentation({ name:AugmentationNames.ENMCore, repCost:100e3, moneyCost:500e6, info:"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:
" + "Increases the player's hacking speed by 3%.
" + "Increases the amount of money the player gains from hacking by 10%.
" + "Increases the player's chance of successfully performing a hack by 3%.
" + "Increases the player's hacking experience gain rate by 7%.
" + "Increases the player's hacking skill by 7%.", prereqs:[AugmentationNames.ENM], hacking_speed_mult: 1.03, hacking_money_mult: 1.1, hacking_chance_mult: 1.03, hacking_exp_mult: 1.07, hacking_mult: 1.07, }); ENMCore.addToFactions(["BitRunners", "The Black Hand", "ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO", "Blade Industries"]); if (augmentationExists(AugmentationNames.ENMCore)) { delete Augmentations[AugmentationNames.ENMCore]; } AddToAugmentations(ENMCore); const ENMCoreV2 = new Augmentation({ name:AugmentationNames.ENMCoreV2, repCost:400e3, moneyCost:900e6, info:"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 " + "packets.

" + "This augmentation:
" + "Increases the player's hacking speed by 5%.
" + "Increases the amount of money the player gains from hacking by 30%.
" + "Increases the player's chance of successfully performing a hack by 5%.
" + "Increases the player's hacking experience gain rate by 15%.
" + "Increases the player's hacking skill by 8%.", prereqs:[AugmentationNames.ENMCore], hacking_speed_mult: 1.05, hacking_money_mult: 1.3, hacking_chance_mult: 1.05, hacking_exp_mult: 1.15, hacking_mult: 1.08, }); ENMCoreV2.addToFactions(["BitRunners", "ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO", "Blade Industries", "OmniTek Incorporated", "KuaiGong International"]); if (augmentationExists(AugmentationNames.ENMCoreV2)) { delete Augmentations[AugmentationNames.ENMCoreV2]; } AddToAugmentations(ENMCoreV2); const ENMCoreV3 = new Augmentation({ name:AugmentationNames.ENMCoreV3, repCost:700e3, moneyCost:1500e6, info:"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.

" + "This augmentation:
" + "Increases the player's hacking speed by 5%.
" + "Increases the amount of money the player gains from hacking by 40%.
" + "Increases the player's chance of successfully performing a hack by 10%.
" + "Increases the player's hacking experience gain rate by 25%.
" + "Increases the player's hacking skill by 10%.", prereqs:[AugmentationNames.ENMCoreV2], hacking_speed_mult: 1.05, hacking_money_mult: 1.4, hacking_chance_mult: 1.1, hacking_exp_mult: 1.25, hacking_mult: 1.1, }); ENMCoreV3.addToFactions(["ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO", "Daedalus", "The Covenant", "Illuminati"]); if (augmentationExists(AugmentationNames.ENMCoreV3)) { delete Augmentations[AugmentationNames.ENMCoreV3]; } AddToAugmentations(ENMCoreV3); const ENMAnalyzeEngine = new Augmentation({ name:AugmentationNames.ENMAnalyzeEngine, repCost:250e3, moneyCost:1200e6, info:"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%.", prereqs:[AugmentationNames.ENM], hacking_speed_mult: 1.1, }); ENMAnalyzeEngine.addToFactions(["ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO", "Daedalus", "The Covenant", "Illuminati"]); if (augmentationExists(AugmentationNames.ENMAnalyzeEngine)) { delete Augmentations[AugmentationNames.ENMAnalyzeEngine]; } AddToAugmentations(ENMAnalyzeEngine); const ENMDMA = new Augmentation({ name:AugmentationNames.ENMDMA, repCost:400e3, moneyCost:1400e6, info:"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.

" + "This augmentation:
" + "Increases the amount of money the player gains from hacking by 40%.
" + "Increases the player's chance of successfully performing a hack by 20%.", prereqs:[AugmentationNames.ENM], hacking_money_mult: 1.4, hacking_chance_mult: 1.2, }); ENMDMA.addToFactions(["ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO", "Daedalus", "The Covenant", "Illuminati"]); if (augmentationExists(AugmentationNames.ENMDMA)) { delete Augmentations[AugmentationNames.ENMDMA]; } AddToAugmentations(ENMDMA); const Neuralstimulator = new Augmentation({ name:AugmentationNames.Neuralstimulator, repCost:20e3, moneyCost:600e6, info:"A cranial implant that intelligently stimulates certain areas of the brain " + "in order to improve cognitive functions.

" + "This augmentation:
" + "Increases the player's hacking speed by 2%.
" + "Increases the player's chance of successfully performing a hack by 10%.
" + "Increases the player's hacking experience gain rate by 12%.", hacking_speed_mult: 1.02, hacking_chance_mult: 1.1, hacking_exp_mult: 1.12, }); Neuralstimulator.addToFactions(["The Black Hand", "Chongqing", "Sector-12", "New Tokyo", "Aevum", "Ishima", "Volhaven", "Bachman & Associates", "Clarke Incorporated", "Four Sigma"]); if (augmentationExists(AugmentationNames.Neuralstimulator)) { delete Augmentations[AugmentationNames.Neuralstimulator]; } AddToAugmentations(Neuralstimulator); const NeuralAccelerator = new Augmentation({ name:AugmentationNames.NeuralAccelerator, repCost:80e3, moneyCost:350e6, info:"A microprocessor that accelerates the processing " + "speed of biological neural networks. This is a cranial implant that is embedded inside the brain.

" + "This augmentation:
" + "Increases the player's hacking skill by 10%.
" + "Increases the player's hacking experience gain rate by 15%.
" + "Increases the amount of money the player gains from hacking by 20%.", hacking_mult: 1.1, hacking_exp_mult: 1.15, hacking_money_mult: 1.2, }); NeuralAccelerator.addToFactions(["BitRunners"]); if (augmentationExists(AugmentationNames.NeuralAccelerator)) { delete Augmentations[AugmentationNames.NeuralAccelerator]; } AddToAugmentations(NeuralAccelerator); const CranialSignalProcessorsG1 = new Augmentation({ name:AugmentationNames.CranialSignalProcessorsG1, repCost:4e3, moneyCost:14e6, info:"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 " + "so that the brain doesn't have to.

" + "This augmentation:
" + "Increases the player's hacking speed by 1%.
" + "Increases the player's hacking skill by 5%.", hacking_speed_mult: 1.01, hacking_mult: 1.05, }); CranialSignalProcessorsG1.addToFactions(["CyberSec"]); if (augmentationExists(AugmentationNames.CranialSignalProcessorsG1)) { delete Augmentations[AugmentationNames.CranialSignalProcessorsG1]; } AddToAugmentations(CranialSignalProcessorsG1); const CranialSignalProcessorsG2 = new Augmentation({ name:AugmentationNames.CranialSignalProcessorsG2, repCost:7500, moneyCost:25e6, info:"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 " + "so that the brain doesn't have to.

" + "This augmentation:
" + "Increases the player's hacking speed by 2%.
" + "Increases the player's chance of successfully performing a hack by 5%.
" + "Increases the player's hacking skill by 7%.", prereqs:[AugmentationNames.CranialSignalProcessorsG1], hacking_speed_mult: 1.02, hacking_chance_mult: 1.05, hacking_mult: 1.07, }); CranialSignalProcessorsG2.addToFactions(["CyberSec", "NiteSec"]); if (augmentationExists(AugmentationNames.CranialSignalProcessorsG2)) { delete Augmentations[AugmentationNames.CranialSignalProcessorsG2]; } AddToAugmentations(CranialSignalProcessorsG2); const CranialSignalProcessorsG3 = new Augmentation({ name:AugmentationNames.CranialSignalProcessorsG3, repCost:20e3, moneyCost:110e6, info:"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 " + "so that the brain doesn't have to.

" + "This augmentation:
" + "Increases the player's hacking speed by 2%.
" + "Increases the amount of money the player gains from hacking by 15%.
" + "Increases the player's hacking skill by 9%.", prereqs:[AugmentationNames.CranialSignalProcessorsG2], hacking_speed_mult: 1.02, hacking_money_mult: 1.15, hacking_mult: 1.09, }); CranialSignalProcessorsG3.addToFactions(["NiteSec", "The Black Hand", "BitRunners"]); if (augmentationExists(AugmentationNames.CranialSignalProcessorsG3)) { delete Augmentations[AugmentationNames.CranialSignalProcessorsG3]; } AddToAugmentations(CranialSignalProcessorsG3); const CranialSignalProcessorsG4 = new Augmentation({ name:AugmentationNames.CranialSignalProcessorsG4, repCost:50e3, moneyCost:220e6, info:"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 " + "so that the brain doesn't have to.

" + "This augmentation:
" + "Increases the player's hacking speed by 2%.
" + "Increases the amount of money the player gains from hacking by 20%.
" + "Increases the amount of money the player can inject into servers using grow() by 25%.", prereqs:[AugmentationNames.CranialSignalProcessorsG3], hacking_speed_mult: 1.02, hacking_money_mult: 1.2, hacking_grow_mult: 1.25, }); CranialSignalProcessorsG4.addToFactions(["The Black Hand", "BitRunners"]); if (augmentationExists(AugmentationNames.CranialSignalProcessorsG4)) { delete Augmentations[AugmentationNames.CranialSignalProcessorsG4]; } AddToAugmentations(CranialSignalProcessorsG4); const CranialSignalProcessorsG5 = new Augmentation({ name:AugmentationNames.CranialSignalProcessorsG5, repCost:100e3, moneyCost:450e6, info:"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 " + "so that the brain doesn't have to.

" + "This augmentation:
" + "Increases the player's hacking skill by 30%.
" + "Increases the amount of money the player gains from hacking by 25%.
" + "Increases the amount of money the player can inject into servers using grow() by 75%.", prereqs:[AugmentationNames.CranialSignalProcessorsG4], hacking_mult: 1.3, hacking_money_mult: 1.25, hacking_grow_mult: 1.75, }); CranialSignalProcessorsG5.addToFactions(["BitRunners"]); if (augmentationExists(AugmentationNames.CranialSignalProcessorsG5)) { delete Augmentations[AugmentationNames.CranialSignalProcessorsG5]; } AddToAugmentations(CranialSignalProcessorsG5); const NeuronalDensification = new Augmentation({ name:AugmentationNames.NeuronalDensification, repCost:75e3, moneyCost:275e6, info:"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.

" + "This augmentation:
" + "Increases the player's hacking skill by 15%.
" + "Increases the player's hacking experience gain rate by 10%.
"+ "Increases the player's hacking speed by 3%.", hacking_mult: 1.15, hacking_exp_mult: 1.1, hacking_speed_mult: 1.03, }); NeuronalDensification.addToFactions(["Clarke Incorporated"]); if (augmentationExists(AugmentationNames.NeuronalDensification)) { delete Augmentations[AugmentationNames.NeuronalDensification]; } AddToAugmentations(NeuronalDensification); // Work Augmentations const NuoptimalInjectorImplant = new Augmentation({ name:AugmentationNames.NuoptimalInjectorImplant, repCost:2e3, moneyCost:4e6, info:"This torso implant automatically injects nootropic supplements into " + "the bloodstream to improve memory, increase focus, and provide other " + "cognitive enhancements.

" + "This augmentation increases the amount of reputation the player gains " + "when working for a company by 20%.", company_rep_mult: 1.2, }); NuoptimalInjectorImplant.addToFactions(["Tian Di Hui", "Volhaven", "New Tokyo", "Chongqing", "Clarke Incorporated", "Four Sigma", "Bachman & Associates"]); if (augmentationExists(AugmentationNames.NuoptimalInjectorImplant)) { delete Augmentations[AugmentationNames.NuoptimalInjectorImplant]; } AddToAugmentations(NuoptimalInjectorImplant); const SpeechEnhancement = new Augmentation({ name:AugmentationNames.SpeechEnhancement, repCost:1e3, moneyCost:2.5e6, info:"An advanced neural implant that improves your speaking abilities, making " + "you more convincing and likable in conversations and overall improving your " + "social interactions.

" + "This augmentation:
" + "Increases the player's charisma by 10%.
" + "Increases the amount of reputation the player gains when working for a company by 10%.", company_rep_mult: 1.1, charisma_mult: 1.1, }); SpeechEnhancement.addToFactions(["Tian Di Hui", "Speakers for the Dead", "Four Sigma", "KuaiGong International", "Clarke Incorporated", "Bachman & Associates"]); if (augmentationExists(AugmentationNames.SpeechEnhancement)) { delete Augmentations[AugmentationNames.SpeechEnhancement]; } AddToAugmentations(SpeechEnhancement); const FocusWire = new Augmentation({ name:AugmentationNames.FocusWire, repCost:30e3, moneyCost:180e6, info:"A cranial implant that stops procrastination by blocking specific neural pathways " + "in the brain.

" + "This augmentation:
" + "Increases all experience gains by 5%.
" + "Increases the amount of money the player gains from working by 20%.
" + "Increases the amount of reputation the player gains when working for a company by 10%.", hacking_exp_mult: 1.05, strength_exp_mult: 1.05, defense_exp_mult: 1.05, dexterity_exp_mult: 1.05, agility_exp_mult: 1.05, charisma_exp_mult: 1.05, company_rep_mult: 1.1, work_money_mult: 1.2, }); FocusWire.addToFactions(["Bachman & Associates", "Clarke Incorporated", "Four Sigma", "KuaiGong International"]); if (augmentationExists(AugmentationNames.FocusWire)) { delete Augmentations[AugmentationNames.FocusWire]; } AddToAugmentations(FocusWire) const PCDNI = new Augmentation({ name:AugmentationNames.PCDNI, repCost:150e3, moneyCost:750e6, info:"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.

" + "This augmentation:
" + "Increases the amount of reputation the player gains when working for a company by 30%.
" + "Increases the player's hacking skill by 8%.", company_rep_mult: 1.3, hacking_mult: 1.08, }); PCDNI.addToFactions(["Four Sigma", "OmniTek Incorporated", "ECorp", "Blade Industries"]); if (augmentationExists(AugmentationNames.PCDNI)) { delete Augmentations[AugmentationNames.PCDNI]; } AddToAugmentations(PCDNI); const PCDNIOptimizer = new Augmentation({ name:AugmentationNames.PCDNIOptimizer, repCost:200e3, moneyCost:900e6, info:"This is a submodule upgrade to the PC Direct-Neural Interface augmentation. It " + "improves the performance of the interface and gives the user more control options " + "to the connected computer.

" + "This augmentation:
" + "Increases the amount of reputation the player gains when working for a company by 75%.
" + "Increases the player's hacking skill by 10%.", prereqs:[AugmentationNames.PCDNI], company_rep_mult: 1.75, hacking_mult: 1.1, }); PCDNIOptimizer.addToFactions(["Fulcrum Secret Technologies", "ECorp", "Blade Industries"]); if (augmentationExists(AugmentationNames.PCDNIOptimizer)) { delete Augmentations[AugmentationNames.PCDNIOptimizer]; } AddToAugmentations(PCDNIOptimizer); const PCDNINeuralNetwork = new Augmentation({ name:AugmentationNames.PCDNINeuralNetwork, repCost:600e3, moneyCost:1500e6, info:"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 " + "processing power to aid the computer in computational tasks.

" + "This augmentation:
" + "Increases the amount of reputation the player gains when working for a company by 100%.
" + "Increases the player's hacking skill by 10%.
" + "Increases the player's hacking speed by 5%.", prereqs:[AugmentationNames.PCDNI], company_rep_mult: 2, hacking_mult: 1.1, hacking_speed_mult: 1.05, }); PCDNINeuralNetwork.addToFactions(["Fulcrum Secret Technologies"]); if (augmentationExists(AugmentationNames.PCDNINeuralNetwork)) { delete Augmentations[AugmentationNames.PCDNINeuralNetwork]; } AddToAugmentations(PCDNINeuralNetwork); const ADRPheromone1 = new Augmentation({ name:AugmentationNames.ADRPheromone1, repCost:1500, moneyCost:3.5e6, info:"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.

" + "This augmentation increases the amount of reputation the player gains when working for a faction or company by 10%.", company_rep_mult: 1.1, faction_rep_mult: 1.1, }); ADRPheromone1.addToFactions(["Tian Di Hui", "The Syndicate", "NWO", "MegaCorp", "Four Sigma"]); if (augmentationExists(AugmentationNames.ADRPheromone1)) { delete Augmentations[AugmentationNames.ADRPheromone1]; } AddToAugmentations(ADRPheromone1); const ADRPheromone2 = new Augmentation({ name:AugmentationNames.ADRPheromone2, repCost:25e3, moneyCost:110e6, info:"The body is genetically re-engineered so that it produces the ADR-V2 pheromone, " + "which is similar to but more potent than ADR-V1. This pheromone, when excreted, " + "triggers feelings of admiration, approval, and respect in others.

" + "This augmentation increases the amount of reputation the player gains when working for a faction or company by 20%.", company_rep_mult: 1.2, faction_rep_mult: 1.2, }); ADRPheromone2.addToFactions(["Silhouette", "Four Sigma", "Bachman & Associates", "Clarke Incorporated"]); if (augmentationExists(AugmentationNames.ADRPheromone2)) { delete Augmentations[AugmentationNames.ADRPheromone2]; } AddToAugmentations(ADRPheromone2); const ShadowsSimulacrum = new Augmentation({ name: AugmentationNames.ShadowsSimulacrum, repCost: 15e3, moneyCost: 80e6, info: "A crude but functional matter phase-shifter module that is embedded " + "in the brainstem and cerebellum. This augmentation was developed by " + "criminal organizations and allows the user to project and control holographic " + "simulacrums within a large radius. These simulacrums are commonly used for " + "espionage and surveillance work.

" + "This augmentation increases the amount of reputation the player gains when working for a faction or company by 15%.", company_rep_mult: 1.15, faction_rep_mult: 1.15, }); ShadowsSimulacrum.addToFactions(["The Syndicate", "The Dark Army", "Speakers for the Dead"]); if (augmentationExists(AugmentationNames.ShadowsSimulacrum)) { delete Augmentations[AugmentationNames.ShadowsSimulacrum]; } AddToAugmentations(ShadowsSimulacrum); // HacknetNode Augmentations const HacknetNodeCPUUpload = new Augmentation({ name:AugmentationNames.HacknetNodeCPUUpload, repCost:1500, moneyCost:2.2e6, info:"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.

" + "This augmentation:
" + "Increases the amount of money produced by Hacknet Nodes by 15%.
" + "Decreases the cost of purchasing a Hacknet Node by 15%.", hacknet_node_money_mult: 1.15, hacknet_node_purchase_cost_mult: 0.85, }); HacknetNodeCPUUpload.addToFactions(["Netburners"]); if (augmentationExists(AugmentationNames.HacknetNodeCPUUpload)) { delete Augmentations[AugmentationNames.HacknetNodeCPUUpload]; } AddToAugmentations(HacknetNodeCPUUpload); const HacknetNodeCacheUpload = new Augmentation({ name:AugmentationNames.HacknetNodeCacheUpload, repCost:1e3, moneyCost:1.1e6, info:"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.

" + "This augmentation:
" + "Increases the amount of money produced by Hacknet Nodes by 10%.
" + "Decreases the cost of leveling up a Hacknet Node by 15%.", hacknet_node_money_mult: 1.10, hacknet_node_level_cost_mult: 0.85, }); HacknetNodeCacheUpload.addToFactions(["Netburners"]); if (augmentationExists(AugmentationNames.HacknetNodeCacheUpload)) { delete Augmentations[AugmentationNames.HacknetNodeCacheUpload]; } AddToAugmentations(HacknetNodeCacheUpload); const HacknetNodeNICUpload = new Augmentation({ name:AugmentationNames.HacknetNodeNICUpload, repCost:750, moneyCost:900e3, info:"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.

" + "This augmentation:
" + "Increases the amount of money produced by Hacknet Nodes by 10%.
" + "Decreases the cost of purchasing a Hacknet Node by 10%.", hacknet_node_money_mult: 1.1, hacknet_node_purchase_cost_mult: 0.9, }); HacknetNodeNICUpload.addToFactions(["Netburners"]); if (augmentationExists(AugmentationNames.HacknetNodeNICUpload)) { delete Augmentations[AugmentationNames.HacknetNodeNICUpload]; } AddToAugmentations(HacknetNodeNICUpload); const HacknetNodeKernelDNI = new Augmentation({ name:AugmentationNames.HacknetNodeKernelDNI, repCost:3e3, moneyCost:8e6, info:"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.

" + "This augmentation increases the amount of money produced by Hacknet Nodes by 25%.", hacknet_node_money_mult: 1.25, }); HacknetNodeKernelDNI.addToFactions(["Netburners"]); if (augmentationExists(AugmentationNames.HacknetNodeKernelDNI)) { delete Augmentations[AugmentationNames.HacknetNodeKernelDNI]; } AddToAugmentations(HacknetNodeKernelDNI); const HacknetNodeCoreDNI = new Augmentation({ name:AugmentationNames.HacknetNodeCoreDNI, repCost:5e3, moneyCost:12e6, info:"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.

" + "This augmentation increases the amount of money produced by Hacknet Nodes by 45%.", hacknet_node_money_mult: 1.45, }); HacknetNodeCoreDNI.addToFactions(["Netburners"]); if (augmentationExists(AugmentationNames.HacknetNodeCoreDNI)) { delete Augmentations[AugmentationNames.HacknetNodeCoreDNI]; } AddToAugmentations(HacknetNodeCoreDNI); //Misc/Hybrid augmentations const NeuroFluxGovernor = new Augmentation({ name:AugmentationNames.NeuroFluxGovernor, repCost:500, moneyCost: 750e3, info:"A device that is embedded in the back of the neck. The NeuroFlux Governor " + "monitors and regulates nervous impulses coming to and from the spinal column, " + "essentially 'governing' the body. By doing so, it improves the functionality of the " + "body's nervous system.

" + "This is a special augmentation because it can be leveled up infinitely. Each level of this augmentation " + "increases ALL of the player's multipliers by 1%.", hacking_chance_mult: 1.01, hacking_speed_mult: 1.01, hacking_money_mult: 1.01, hacking_grow_mult: 1.01, hacking_mult: 1.01, strength_mult: 1.01, defense_mult: 1.01, dexterity_mult: 1.01, agility_mult: 1.01, charisma_mult: 1.01, hacking_exp_mult: 1.01, strength_exp_mult: 1.01, defense_exp_mult: 1.01, dexterity_exp_mult: 1.01, agility_exp_mult: 1.01, charisma_exp_mult: 1.01, company_rep_mult: 1.01, faction_rep_mult: 1.01, crime_money_mult: 1.01, crime_success_mult: 1.01, hacknet_node_money_mult: 1.01, hacknet_node_purchase_cost_mult: 0.99, hacknet_node_ram_cost_mult: 0.99, hacknet_node_core_cost_mult: 0.99, hacknet_node_level_cost_mult: 0.99, work_money_mult: 1.01, }); // Set the Augmentation's level to the currently-installed level let currLevel = 0; for (let i = 0; i < Player.augmentations.length; ++i) { if (Player.augmentations[i].name === AugmentationNames.NeuroFluxGovernor) { currLevel = Player.augmentations[i].level; } } NeuroFluxGovernor.level = currLevel; // To set the price/rep req of the NeuroFlux, we have to take into account NeuroFlux // levels that are purchased but not yet installed let nextLevel = currLevel; for (let i = 0; i < Player.queuedAugmentations.length; ++i) { if (Player.queuedAugmentations[i].name === AugmentationNames.NeuroFluxGovernor) { ++nextLevel; } } let mult = Math.pow(CONSTANTS.NeuroFluxGovernorLevelMult, nextLevel); NeuroFluxGovernor.baseRepRequirement = 500 * mult * CONSTANTS.AugmentationRepMultiplier * BitNodeMultipliers.AugmentationRepCost; NeuroFluxGovernor.baseCost = 750e3 * mult * CONSTANTS.AugmentationCostMultiplier * BitNodeMultipliers.AugmentationMoneyCost; if (augmentationExists(AugmentationNames.NeuroFluxGovernor)) { delete Augmentations[AugmentationNames.NeuroFluxGovernor]; } NeuroFluxGovernor.addToAllFactions(); AddToAugmentations(NeuroFluxGovernor); const Neurotrainer1 = new Augmentation({ name:AugmentationNames.Neurotrainer1, repCost:400, moneyCost:800e3, info:"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 " + "and retrieve information.

" + "This augmentation increases the player's experience gain rate for all stats by 10%.", hacking_exp_mult: 1.1, strength_exp_mult: 1.1, defense_exp_mult: 1.1, dexterity_exp_mult: 1.1, agility_exp_mult: 1.1, charisma_exp_mult: 1.1, }); Neurotrainer1.addToFactions(["CyberSec", "Aevum"]); if (augmentationExists(AugmentationNames.Neurotrainer1)) { delete Augmentations[AugmentationNames.Neurotrainer1]; } AddToAugmentations(Neurotrainer1); const Neurotrainer2 = new Augmentation({ name:AugmentationNames.Neurotrainer2, repCost:4e3, moneyCost:9e6, info:"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.

" + "This augmentation increases the player's experience gain rate for all stats by 15%.", hacking_exp_mult: 1.15, strength_exp_mult: 1.15, defense_exp_mult: 1.15, dexterity_exp_mult: 1.15, agility_exp_mult: 1.15, charisma_exp_mult: 1.15, }); Neurotrainer2.addToFactions(["BitRunners", "NiteSec"]); if (augmentationExists(AugmentationNames.Neurotrainer2)) { delete Augmentations[AugmentationNames.Neurotrainer2]; } AddToAugmentations(Neurotrainer2); const Neurotrainer3 = new Augmentation({ name:AugmentationNames.Neurotrainer3, repCost:10e3, moneyCost:26e6, info:"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.

" + "This augmentation increases the player's experience gain rate for all stats by 20%.", hacking_exp_mult: 1.2, strength_exp_mult: 1.2, defense_exp_mult: 1.2, dexterity_exp_mult: 1.2, agility_exp_mult: 1.2, charisma_exp_mult: 1.2, }); Neurotrainer3.addToFactions(["NWO", "Four Sigma"]); if (augmentationExists(AugmentationNames.Neurotrainer3)) { delete Augmentations[AugmentationNames.Neurotrainer3]; } AddToAugmentations(Neurotrainer3); const Hypersight = new Augmentation({ name:AugmentationNames.Hypersight, repCost:60e3, moneyCost:550e6, info:"A bionic eye implant that grants sight capabilities far beyond those of a natural human. " + "Embedded circuitry within the implant provides the ability to detect heat and movement " + "through solid objects such as wells, thus providing 'x-ray vision'-like capabilities.

" + "This augmentation:
" + "Increases the player's dexterity by 40%.
" + "Increases the player's hacking speed by 3%.
" + "Increases the amount of money the player gains from hacking by 10%.", dexterity_mult: 1.4, hacking_speed_mult: 1.03, hacking_money_mult: 1.1, }); Hypersight.addToFactions(["Blade Industries", "KuaiGong International"]); if (augmentationExists(AugmentationNames.Hypersight)) { delete Augmentations[AugmentationNames.Hypersight]; } AddToAugmentations(Hypersight); const LuminCloaking1 = new Augmentation({ name:AugmentationNames.LuminCloaking1, repCost:600, moneyCost:1e6, info:"A skin implant that reinforces the skin with highly-advanced synthetic cells. These " + "cells, when powered, have a negative refractive index. As a result, they bend light " + "around the skin, making the user much harder to see from the naked eye.

" + "This augmentation:
" + "Increases the player's agility by 5%.
" + "Increases the amount of money the player gains from crimes by 10%.", agility_mult: 1.05, crime_money_mult: 1.1, }); LuminCloaking1.addToFactions(["Slum Snakes", "Tetrads"]); if (augmentationExists(AugmentationNames.LuminCloaking1)) { delete Augmentations[AugmentationNames.LuminCloaking1]; } AddToAugmentations(LuminCloaking1); const LuminCloaking2 = new Augmentation({ name:AugmentationNames.LuminCloaking2, repCost:2e3, moneyCost:6e6, info:"This is a more advanced version of the LuminCloaking-V2 augmentation. This skin implant " + "reinforces the skin with highly-advanced synthetic cells. These " + "cells, when powered, are capable of not only bending light but also of bending heat, " + "making the user more resilient as well as stealthy.

" + "This augmentation:
" + "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%.", prereqs:[AugmentationNames.LuminCloaking1], agility_mult: 1.1, defense_mult: 1.1, crime_money_mult: 1.25, }); LuminCloaking2.addToFactions(["Slum Snakes", "Tetrads"]); if (augmentationExists(AugmentationNames.LuminCloaking2)) { delete Augmentations[AugmentationNames.LuminCloaking2]; } AddToAugmentations(LuminCloaking2); const SmartSonar = new Augmentation({ name:AugmentationNames.SmartSonar, repCost:9e3, moneyCost:15e6, info:"A cochlear implant that helps the player detect and locate enemies " + "using sound propagation.

" + "This augmentation:
" + "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%.", dexterity_mult: 1.1, dexterity_exp_mult: 1.15, crime_money_mult: 1.25, }); SmartSonar.addToFactions(["Slum Snakes"]); if (augmentationExists(AugmentationNames.SmartSonar)) { delete Augmentations[AugmentationNames.SmartSonar]; } AddToAugmentations(SmartSonar); const PowerRecirculator = new Augmentation({ name:AugmentationNames.PowerRecirculator, repCost:10e3, moneyCost:36e6, info:"The body's nerves are attached with polypyrrole nanocircuits that " + "are capable of capturing wasted energy (in the form of heat) " + "and converting it back into usable power.

" + "This augmentation:
" + "Increases all of the player's stats by 5%.
" + "Increases the player's experience gain rate for all stats by 10%.", hacking_mult: 1.05, strength_mult: 1.05, defense_mult: 1.05, dexterity_mult: 1.05, agility_mult: 1.05, charisma_mult: 1.05, hacking_exp_mult: 1.1, strength_exp_mult: 1.1, defense_exp_mult: 1.1, dexterity_exp_mult: 1.1, agility_exp_mult: 1.1, charisma_exp_mult: 1.1, }); PowerRecirculator.addToFactions(["Tetrads", "The Dark Army", "The Syndicate", "NWO"]); if (augmentationExists(AugmentationNames.PowerRecirculator)) { delete Augmentations[AugmentationNames.PowerRecirculator]; } AddToAugmentations(PowerRecirculator); // Unique AUGS (Each Faction gets one unique augmentation) // Factions that already have unique augs up to this point: // Slum Snakes, CyberSec, Netburners, Fulcrum Secret Technologies, // Silhouette // Illuminati const QLink = new Augmentation({ name:AugmentationNames.QLink, repCost:750e3, moneyCost:5e12, info:"A brain implant that wirelessly connects you to the Illuminati's " + "quantum supercomputer, allowing you to access and use its incredible " + "computing power.

" + "This augmentation:
" + "Increases the player's hacking skill by 75%.
" + "Increases the player's hacking speed by 100%.
" + "Increases the player's chance of successfully performing a hack by 150%.
" + "Increases the amount of money the player gains from hacking by 300%.", hacking_mult: 1.75, hacking_speed_mult: 2, hacking_chance_mult: 2.5, hacking_money_mult: 4, }); QLink.addToFactions(["Illuminati"]); if (augmentationExists(AugmentationNames.QLink)) { delete Augmentations[AugmentationNames.QLink]; } AddToAugmentations(QLink); // Daedalus const RedPill = new Augmentation({ name:AugmentationNames.TheRedPill, repCost:1e6, moneyCost:0, info:"It's time to leave the cave.", }); RedPill.addToFactions(["Daedalus"]); if (augmentationExists(AugmentationNames.TheRedPill)) { delete Augmentations[AugmentationNames.TheRedPill]; } AddToAugmentations(RedPill); // Covenant const SPTN97 = new Augmentation({ name:AugmentationNames.SPTN97, repCost:500e3, moneyCost:975e6, info:"The SPTN-97 gene is injected into the genome. The SPTN-97 gene is an " + "artificially-synthesized gene that was developed by DARPA to create " + "super-soldiers through genetic modification. The gene was outlawed in " + "2056.

" + "This augmentation:
" + "Increases all of the player's combat stats by 75%.
" + "Increases the player's hacking skill by 15%.", strength_mult: 1.75, defense_mult: 1.75, dexterity_mult: 1.75, agility_mult: 1.75, hacking_mult: 1.15, }); SPTN97.addToFactions(["The Covenant"]); if (augmentationExists(AugmentationNames.SPTN97)) { delete Augmentations[AugmentationNames.SPTN97]; } AddToAugmentations(SPTN97); // ECorp const HiveMind = new Augmentation({ name:AugmentationNames.HiveMind, repCost:600e3, moneyCost:1100e6, info:"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.", hacking_grow_mult: 3, }); HiveMind.addToFactions(["ECorp"]); if (augmentationExists(AugmentationNames.HiveMind)) { delete Augmentations[AugmentationNames.HiveMind]; } AddToAugmentations(HiveMind); // MegaCorp const CordiARCReactor = new Augmentation({ name:AugmentationNames.CordiARCReactor, repCost:450e3, moneyCost:1000e6, info:"The thoracic cavity is equipped with a small chamber designed " + "to hold and sustain hydrogen plasma. The plasma is used to generate " + "fusion power through nuclear fusion, providing limitless amount of clean " + "energy for the body.

" + "This augmentation:
" + "Increases all of the player's combat stats by 35%.
" + "Increases all of the player's combat stat experience gain rate by 35%.", strength_mult: 1.35, defense_mult: 1.35, dexterity_mult: 1.35, agility_mult: 1.35, strength_exp_mult: 1.35, defense_exp_mult: 1.35, dexterity_exp_mult: 1.35, agility_exp_mult: 1.35, }); CordiARCReactor.addToFactions(["MegaCorp"]); if (augmentationExists(AugmentationNames.CordiARCReactor)) { delete Augmentations[AugmentationNames.CordiARCReactor]; } AddToAugmentations(CordiARCReactor); // BachmanAndAssociates const SmartJaw = new Augmentation({ name:AugmentationNames.SmartJaw, repCost:150e3, moneyCost:550e6, info:"A bionic jaw that contains advanced hardware and software " + "capable of psychoanalyzing and profiling the personality of " + "others using optical imaging software.

" + "This augmentation:
" + "Increases the player's charisma by 50%.
" + "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%.", charisma_mult: 1.5, charisma_exp_mult: 1.5, company_rep_mult: 1.25, faction_rep_mult: 1.25, }); SmartJaw.addToFactions(["Bachman & Associates"]); if (augmentationExists(AugmentationNames.SmartJaw)) { delete Augmentations[AugmentationNames.SmartJaw]; } AddToAugmentations(SmartJaw); // BladeIndustries const Neotra = new Augmentation({ name:AugmentationNames.Neotra, repCost:225e3, moneyCost:575e6, info:"A highly-advanced techno-organic drug that is injected into the skeletal " + "and integumentary system. The drug permanently modifies the DNA of the " + "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 55%.", strength_mult: 1.55, defense_mult: 1.55, }); Neotra.addToFactions(["Blade Industries"]); if (augmentationExists(AugmentationNames.Neotra)) { delete Augmentations[AugmentationNames.Neotra]; } AddToAugmentations(Neotra); // NWO const Xanipher = new Augmentation({ name:AugmentationNames.Xanipher, repCost:350e3, moneyCost:850e6, info:"A concoction of advanced nanobots that is orally ingested into the " + "body. These nanobots induce physiological change and significantly " + "improve the body's functioning in all aspects.

" + "This augmentation:
" + "Increases all of the player's stats by 20%.
" + "Increases the player's experience gain rate for all stats by 15%.", hacking_mult: 1.2, strength_mult: 1.2, defense_mult: 1.2, dexterity_mult: 1.2, agility_mult: 1.2, charisma_mult: 1.2, hacking_exp_mult: 1.15, strength_exp_mult: 1.15, defense_exp_mult: 1.15, dexterity_exp_mult: 1.15, agility_exp_mult: 1.15, charisma_exp_mult: 1.15, }); Xanipher.addToFactions(["NWO"]); if (augmentationExists(AugmentationNames.Xanipher)) { delete Augmentations[AugmentationNames.Xanipher]; } AddToAugmentations(Xanipher); const HydroflameLeftArm = new Augmentation({ name:AugmentationNames.HydroflameLeftArm, repCost:500e3, moneyCost:500e9, info:"The left arm of a legendary BitRunner who ascended beyond this world. " + "It projects a light blue energy shield that protects the exposed inner parts. " + "Even though it contains no weapons, the advance tungsten titanium " + "alloy increases the users strength to unbelievable levels.

" + "This augmentation increases the player's strength by 300%.", strength_mult: 2.70, }); HydroflameLeftArm.addToFactions(["NWO"]); if (augmentationExists(AugmentationNames.HydroflameLeftArm)) { delete Augmentations[AugmentationNames.HydroflameLeftArm]; } AddToAugmentations(HydroflameLeftArm); // ClarkeIncorporated const nextSENS = new Augmentation({ name:AugmentationNames.nextSENS, repCost:175e3, moneyCost:385e6, info:"The body is genetically re-engineered to maintain a state " + "of negligible senescence, preventing the body from " + "deteriorating with age.

" + "This augmentation increases all of the player's stats by 20%.", hacking_mult: 1.2, strength_mult: 1.2, defense_mult: 1.2, dexterity_mult: 1.2, agility_mult: 1.2, charisma_mult: 1.2, }); nextSENS.addToFactions(["Clarke Incorporated"]); if (augmentationExists(AugmentationNames.nextSENS)) { delete Augmentations[AugmentationNames.nextSENS]; } AddToAugmentations(nextSENS); // OmniTekIncorporated const OmniTekInfoLoad = new Augmentation({ name:AugmentationNames.OmniTekInfoLoad, repCost:250e3, moneyCost:575e6, info:"OmniTek's data and information repository is uploaded " + "into your brain, enhancing your programming and " + "hacking abilities.

" + "This augmentation:
" + "Increases the player's hacking skill by 20%.
" + "Increases the player's hacking experience gain rate by 25%.", hacking_mult: 1.2, hacking_exp_mult: 1.25, }); OmniTekInfoLoad.addToFactions(["OmniTek Incorporated"]); if (augmentationExists(AugmentationNames.OmniTekInfoLoad)) { delete Augmentations[AugmentationNames.OmniTekInfoLoad]; } AddToAugmentations(OmniTekInfoLoad); // FourSigma // TODO Later when Intelligence is added in . Some aug that greatly increases int // KuaiGongInternational const PhotosyntheticCells = new Augmentation({ name:AugmentationNames.PhotosyntheticCells, repCost:225e3, moneyCost:550e6, info:"Chloroplasts are added to epidermal stem cells and are applied " + "to the body using a skin graft. The result is photosynthetic " + "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 40%.", strength_mult: 1.4, defense_mult: 1.4, agility_mult: 1.4, }); PhotosyntheticCells.addToFactions(["KuaiGong International"]); if (augmentationExists(AugmentationNames.PhotosyntheticCells)) { delete Augmentations[AugmentationNames.PhotosyntheticCells]; } AddToAugmentations(PhotosyntheticCells); // BitRunners const Neurolink = new Augmentation({ name:AugmentationNames.Neurolink, repCost:350e3, moneyCost:875e6, info:"A brain implant that provides a high-bandwidth, direct neural link between your " + "mind and BitRunners' data servers, which reportedly contain " + "the largest database of hacking tools and information in the world.

" + "This augmentation:
" + "Increases the player's hacking skill by 15%.
" + "Increases the player's hacking experience gain rate by 20%.
" + "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.", hacking_mult: 1.15, hacking_exp_mult: 1.2, hacking_chance_mult: 1.1, hacking_speed_mult: 1.05, }); Neurolink.addToFactions(["BitRunners"]); if (augmentationExists(AugmentationNames.Neurolink)) { delete Augmentations[AugmentationNames.Neurolink]; } AddToAugmentations(Neurolink); // BlackHand const TheBlackHand = new Augmentation({ name:AugmentationNames.TheBlackHand, repCost:40e3, moneyCost:110e6, info:"A highly advanced bionic hand. This prosthetic not only " + "enhances strength and dexterity but it is also embedded " + "with hardware and firmware that lets the user connect to, access and hack " + "devices and machines just by touching them.

" + "This augmentation:
" + "Increases the player's strength and dexterity by 15%.
" + "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%.", strength_mult: 1.15, dexterity_mult: 1.15, hacking_mult: 1.1, hacking_speed_mult: 1.02, hacking_money_mult: 1.1, }); TheBlackHand.addToFactions(["The Black Hand"]); if (augmentationExists(AugmentationNames.TheBlackHand)) { delete Augmentations[AugmentationNames.TheBlackHand]; } AddToAugmentations(TheBlackHand); // NiteSec const CRTX42AA = new Augmentation({ name:AugmentationNames.CRTX42AA, repCost:18e3, moneyCost:45e6, info:"The CRTX42-AA gene is injected into the genome. " + "The CRTX42-AA is an artificially-synthesized gene that targets the visual and prefrontal " + "cortex and improves cognitive abilities.

" + "This augmentation:
" + "Improves the player's hacking skill by 8%.
" + "Improves the player's hacking experience gain rate by 15%.", hacking_mult: 1.08, hacking_exp_mult: 1.15, }); CRTX42AA.addToFactions(["NiteSec"]); if (augmentationExists(AugmentationNames.CRTX42AA)) { delete Augmentations[AugmentationNames.CRTX42AA]; } AddToAugmentations(CRTX42AA); // Chongqing const Neuregen = new Augmentation({ name:AugmentationNames.Neuregen, repCost:15e3, moneyCost:75e6, info:"A drug that genetically modifies the neurons in the brain. " + "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 40%.", hacking_exp_mult: 1.4, }); Neuregen.addToFactions(["Chongqing"]); if (augmentationExists(AugmentationNames.Neuregen)) { delete Augmentations[AugmentationNames.Neuregen]; } AddToAugmentations(Neuregen); // Sector12 const CashRoot = new Augmentation({ name:AugmentationNames.CashRoot, repCost:5e3, moneyCost:25e6, info:<>A collection of digital assets saved on a small chip. The chip is implanted into your wrist. A small jack in the chip allows you to connect it to a computer and upload the assets.

This augmentation:
Lets the player start with {Money(1e6)} after a reset.
Lets the player start with the BruteSSH.exe program after a reset., }); CashRoot.addToFactions(["Sector-12"]); if (augmentationExists(AugmentationNames.CashRoot)) { delete Augmentations[AugmentationNames.CashRoot]; } AddToAugmentations(CashRoot); // NewTokyo const NutriGen = new Augmentation({ name:AugmentationNames.NutriGen, repCost:2500, moneyCost:500e3, info:"A thermo-powered artificial nutrition generator. Endogenously " + "synthesizes glucose, amino acids, and vitamins and redistributes them " + "across the body. The device is powered by the body's naturally wasted " + "energy in the form of heat.

" + "This augmentation increases the player's experience gain rate for all combat stats by 20%.", strength_exp_mult: 1.2, defense_exp_mult: 1.2, dexterity_exp_mult: 1.2, agility_exp_mult: 1.2, }); NutriGen.addToFactions(["New Tokyo"]); if (augmentationExists(AugmentationNames.NutriGen)) { delete Augmentations[AugmentationNames.NutriGen]; } AddToAugmentations(NutriGen); // Aevum // TODO Later Something that lets you learn advanced math...this increases int // and profits as a trader/from trading // Ishima const INFRARet = new Augmentation({ name:AugmentationNames.INFRARet, repCost:3e3, moneyCost:6e6, info:"A retina implant consisting of a tiny chip that sits behind the " + "retina. This implant lets people visually detect infrared radiation.

" + "This augmentation:
" + "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%.", crime_success_mult: 1.25, crime_money_mult: 1.1, dexterity_mult: 1.1, }); INFRARet.addToFactions(["Ishima"]); if (augmentationExists(AugmentationNames.INFRARet)) { delete Augmentations[AugmentationNames.INFRARet]; } AddToAugmentations(INFRARet); // Volhaven const DermaForce = new Augmentation({ name:AugmentationNames.DermaForce, repCost:6e3, moneyCost:10e6, info:"A synthetic skin is grafted onto the body. The skin consists of " + "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 40%.", defense_mult: 1.4, }); DermaForce.addToFactions(["Volhaven"]); if (augmentationExists(AugmentationNames.DermaForce)) { delete Augmentations[AugmentationNames.DermaForce]; } AddToAugmentations(DermaForce); // SpeakersForTheDead const GrapheneBrachiBlades = new Augmentation({ name:AugmentationNames.GrapheneBrachiBlades, repCost:90e3, moneyCost:500e6, info:"An upgrade to the BrachiBlades augmentation. It infuses " + "the retractable blades with an advanced graphene material " + "to make them much stronger and lighter.

" + "This augmentation:
" + "Increases the player's strength and defense by 40%.
" + "Increases the player's crime success rate by 10%.
" + "Increases the amount of money the player gains from crimes by 30%.", prereqs:[AugmentationNames.BrachiBlades], strength_mult: 1.4, defense_mult: 1.4, crime_success_mult: 1.1, crime_money_mult: 1.3, }); GrapheneBrachiBlades.addToFactions(["Speakers for the Dead"]); if (augmentationExists(AugmentationNames.GrapheneBrachiBlades)) { delete Augmentations[AugmentationNames.GrapheneBrachiBlades]; } AddToAugmentations(GrapheneBrachiBlades); // DarkArmy const GrapheneBionicArms = new Augmentation({ name:AugmentationNames.GrapheneBionicArms, repCost:200e3, moneyCost:750e6, info:"An upgrade to the Bionic Arms augmentation. It infuses the " + "prosthetic arms with an advanced graphene material " + "to make them much stronger and lighter.

" + "This augmentation increases the player's strength and dexterity by 85%.", prereqs:[AugmentationNames.BionicArms], strength_mult: 1.85, dexterity_mult: 1.85, }); GrapheneBionicArms.addToFactions(["The Dark Army"]); if (augmentationExists(AugmentationNames.GrapheneBionicArms)) { delete Augmentations[AugmentationNames.GrapheneBionicArms]; } AddToAugmentations(GrapheneBionicArms); // TheSyndicate const BrachiBlades = new Augmentation({ name:AugmentationNames.BrachiBlades, repCost:5e3, moneyCost:18e6, info:"A set of retractable plasteel blades are implanted in the arm, underneath the skin.

" + "This augmentation:
" + "Increases the player's strength and defense by 15%.
" + "Increases the player's crime success rate by 10%.
" + "Increases the amount of money the player gains from crimes by 15%.", strength_mult: 1.15, defense_mult: 1.15, crime_success_mult: 1.1, crime_money_mult: 1.15, }); BrachiBlades.addToFactions(["The Syndicate"]); if (augmentationExists(AugmentationNames.BrachiBlades)) { delete Augmentations[AugmentationNames.BrachiBlades]; } AddToAugmentations(BrachiBlades); // Tetrads const BionicArms = new Augmentation({ name:AugmentationNames.BionicArms, repCost:25e3, moneyCost:55e6, info:"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 30%.", strength_mult: 1.3, dexterity_mult: 1.3, }); BionicArms.addToFactions(["Tetrads"]); if (augmentationExists(AugmentationNames.BionicArms)) { delete Augmentations[AugmentationNames.BionicArms]; } AddToAugmentations(BionicArms); // TianDiHui const SNA = new Augmentation({ name:AugmentationNames.SNA, repCost:2500, moneyCost:6e6, info:"A cranial implant that affects the user's personality, making them better " + "at negotiation in social situations.

" + "This augmentation:
" + "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 15%.", work_money_mult: 1.1, company_rep_mult: 1.15, faction_rep_mult: 1.15, }); SNA.addToFactions(["Tian Di Hui"]); if (augmentationExists(AugmentationNames.SNA)) { delete Augmentations[AugmentationNames.SNA]; } AddToAugmentations(SNA); // Special Bladeburner Augmentations const BladeburnersFactionName = "Bladeburners"; if (factionExists(BladeburnersFactionName)) { const EsperEyewear = new Augmentation({ name:AugmentationNames.EsperEyewear, repCost:500, moneyCost:33e6, info:"Ballistic-grade protective and retractable eyewear that was designed specially " + "for Bladeburner units. This " + "is implanted by installing a mechanical frame in the skull's orbit. " + "This frame interfaces with the brain and allows the user to " + "automatically extrude and extract the eyewear. The eyewear protects " + "against debris, shrapnel, laser, flash, and gas. It is also " + "embedded with a data processing chip that can be programmed to display an " + "AR HUD and assist the user in field missions.

" + "This augmentation:
" + "Increases the player's success chance in Bladeburner contracts/operations by 3%.
" + "Increases the player's dexterity by 5%.", bladeburner_success_chance_mult: 1.03, dexterity_mult: 1.05, isSpecial: true, }); EsperEyewear.addToFactions([BladeburnersFactionName]); resetAugmentation(EsperEyewear); const EMS4Recombination = new Augmentation({ name:AugmentationNames.EMS4Recombination, repCost: 1e3, moneyCost:55e6, info:"A DNA recombination of the EMS-4 Gene. This genetic engineering " + "technique was originally used on Bladeburners during the Synthoid uprising " + "to induce wakefulness and concentration, suppress fear, reduce empathy, and " + "improve reflexes and memory-recall among other things.

" + "This augmentation:
" + "Increases the player's success chance in Bladeburner contracts/operations by 3%.
" + "Increases the player's effectiveness in Bladeburner Field Analysis by 5%.
" + "Increases the player's Bladeburner stamina gain rate by 2%.", bladeburner_success_chance_mult: 1.03, bladeburner_analysis_mult: 1.05, bladeburner_stamina_gain_mult: 1.02, isSpecial: true, }); EMS4Recombination.addToFactions([BladeburnersFactionName]); resetAugmentation(EMS4Recombination); const OrionShoulder = new Augmentation({ name:AugmentationNames.OrionShoulder, repCost:2.5e3, moneyCost:110e6, info:"A bionic shoulder augmentation for the right shoulder. Using cybernetics, " + "the ORION-MKIV shoulder enhances the strength and dexterity " + "of the user's right arm. It also provides protection due to its " + "crystallized graphene plating.

" + "This augmentation:
" + "Increases the player's defense by 5%.
" + "Increases the player's strength and dexterity by 5%.
" + "Increases the player's success chance in Bladeburner contracts/operations by 4%.", defense_mult: 1.05, strength_mult: 1.05, dexterity_mult: 1.05, bladeburner_success_chance_mult: 1.04, isSpecial: true, }); OrionShoulder.addToFactions([BladeburnersFactionName]); resetAugmentation(OrionShoulder); const HyperionV1 = new Augmentation({ name:AugmentationNames.HyperionV1, repCost: 5e3, moneyCost:550e6, info:"A pair of mini plasma cannons embedded into the hands. The Hyperion is capable " + "of rapidly firing bolts of high-density plasma. The weapon is meant to " + "be used against augmented enemies as the ionized " + "nature of the plasma disrupts the electrical systems of Augmentations. However, " + "it can also be effective against non-augmented enemies due to its high temperature " + "and concussive force.

" + "This augmentation increases the player's success chance in Bladeburner contracts/operations by 6%.", bladeburner_success_chance_mult: 1.06, isSpecial: true, }); HyperionV1.addToFactions([BladeburnersFactionName]); resetAugmentation(HyperionV1); const HyperionV2 = new Augmentation({ name:AugmentationNames.HyperionV2, repCost:10e3, moneyCost:1.1e9, info:"A pair of mini plasma cannons embedded into the hands. This augmentation " + "is more advanced and powerful than the original V1 model. This V2 model is " + "more power-efficiency, more accurate, and can fire plasma bolts at a much " + "higher velocity than the V1 model.

" + "This augmentation increases the player's success chance in Bladeburner contracts/operations by 8%.", prereqs:[AugmentationNames.HyperionV1], bladeburner_success_chance_mult: 1.08, isSpecial: true, }); HyperionV2.addToFactions([BladeburnersFactionName]); resetAugmentation(HyperionV2); const GolemSerum = new Augmentation({ name:AugmentationNames.GolemSerum, repCost:12.5e3, moneyCost:2.2e9, info:"A serum that permanently enhances many aspects of a human's capabilities, " + "including strength, speed, immune system performance, and mitochondrial efficiency. The " + "serum was originally developed by the Chinese military in an attempt to " + "create super soldiers.

" + "This augmentation:
" + "Increases all of the player's combat stats by 7%.
" + "Increases the player's Bladeburner stamina gain rate by 5%.
", strength_mult: 1.07, defense_mult: 1.07, dexterity_mult: 1.07, agility_mult: 1.07, bladeburner_stamina_gain_mult: 1.05, isSpecial: true, }); GolemSerum.addToFactions([BladeburnersFactionName]); resetAugmentation(GolemSerum); const VangelisVirus = new Augmentation({ name:AugmentationNames.VangelisVirus, repCost:7.5e3, moneyCost:550e6, info:"A synthetic symbiotic virus that is injected into the human brain tissue. The Vangelis virus " + "heightens the senses and focus of its host, and also enhances its intuition.

" + "This augmentation:
" + "Increases the player's effectiveness in Bladeburner Field Analysis by 10%.
" + "Increases the player's success chance in Bladeburner contracts/operations by 4%.
" + "Increases the player's dexterity experience gain rate by 10%.", dexterity_exp_mult: 1.1, bladeburner_analysis_mult: 1.1, bladeburner_success_chance_mult: 1.04, isSpecial: true, }); VangelisVirus.addToFactions([BladeburnersFactionName]); resetAugmentation(VangelisVirus); const VangelisVirus3 = new Augmentation({ name:AugmentationNames.VangelisVirus3, repCost:15e3, moneyCost:2.2e9, info:"An improved version of Vangelis, a synthetic symbiotic virus that is " + "injected into the human brain tissue. On top of the benefits of the original " + "virus, this also grants an accelerated healing factor and enhanced " + "agility/reflexes.

" + "This augmentation:
" + "Increases the player's effectiveness in Bladeburner Field Analysis by 15%.
" + "Increases the player's defense and dexterity experience gain rate by 10%.
" + "Increases the player's success chance in Bladeburner contracts/operations by 5%.", prereqs:[AugmentationNames.VangelisVirus], defense_exp_mult: 1.1, dexterity_exp_mult: 1.1, bladeburner_analysis_mult: 1.15, bladeburner_success_chance_mult: 1.05, isSpecial: true, }); VangelisVirus3.addToFactions([BladeburnersFactionName]); resetAugmentation(VangelisVirus3); const INTERLINKED = new Augmentation({ name:AugmentationNames.INTERLINKED, repCost:10e3, moneyCost:1.1e9, info:"The DNA is genetically modified to enhance the human's body " + "extracellular matrix (ECM). This improves the ECM's ability to " + "structurally support the body and grants heightened strength and " + "durability.

" + "This augmentation:
" + "Increases the player's experience gain rate for all combat stats by 5%.
" + "Increases the player's Bladeburner max stamina by 10%.", strength_exp_mult: 1.05, defense_exp_mult: 1.05, dexterity_exp_mult: 1.05, agility_exp_mult: 1.05, bladeburner_max_stamina_mult: 1.1, isSpecial: true, }); INTERLINKED.addToFactions([BladeburnersFactionName]); resetAugmentation(INTERLINKED); const BladeRunner = new Augmentation({ name:AugmentationNames.BladeRunner, repCost:8e3, moneyCost:1.65e9, info:"A cybernetic foot augmentation that was specially created for Bladeburners " + "during the Synthoid Uprising. The organic musculature of the human foot " + "is enhanced with flexible carbon nanotube matrices that are controlled by " + "intelligent servo-motors.

" + "This augmentation:
" + "Increases the player's agility by 5%.
" + "Increases the player's Bladeburner max stamina by 5%.
" + "Increases the player's Bladeburner stamina gain rate by 5%.
", agility_mult: 1.05, bladeburner_max_stamina_mult: 1.05, bladeburner_stamina_gain_mult: 1.05, isSpecial: true, }); BladeRunner.addToFactions([BladeburnersFactionName]); resetAugmentation(BladeRunner); const BladeArmor = new Augmentation({ name:AugmentationNames.BladeArmor, repCost:5e3, moneyCost:275e6, info:"A powered exoskeleton suit (exosuit) designed as armor for Bladeburner units. This " + "exoskeleton is incredibly adaptable and can protect the wearer from blunt, piercing, " + "concussive, thermal, chemical, and electric trauma. It also enhances the user's " + "strength and agility.

" + "This augmentation:
" + "Increases all of the player's combat stats by 4%.
" + "Increases the player's Bladeburner stamina gain rate by 2%.
" + "Increases the player's success chance in Bladeburner contracts/operations by 3%.", strength_mult: 1.04, defense_mult: 1.04, dexterity_mult: 1.04, agility_mult: 1.04, bladeburner_stamina_gain_mult: 1.02, bladeburner_success_chance_mult: 1.03, isSpecial: true, }); BladeArmor.addToFactions([BladeburnersFactionName]); resetAugmentation(BladeArmor); const BladeArmorPowerCells = new Augmentation({ name:AugmentationNames.BladeArmorPowerCells, repCost:7.5e3, moneyCost:550e6, info:"Upgrades the BLADE-51b Tesla Armor with Ion Power Cells, which are capable of " + "more efficiently storing and using power.

" + "This augmentation:
" + "Increases the player's success chance in Bladeburner contracts/operations by 5%.
" + "Increases the player's Bladeburner stamina gain rate by 2%.
" + "Increases the player's Bladeburner max stamina by 5%.", prereqs:[AugmentationNames.BladeArmor], bladeburner_success_chance_mult: 1.05, bladeburner_stamina_gain_mult: 1.02, bladeburner_max_stamina_mult: 1.05, isSpecial: true, }); BladeArmorPowerCells.addToFactions([BladeburnersFactionName]); resetAugmentation(BladeArmorPowerCells); const BladeArmorEnergyShielding = new Augmentation({ name:AugmentationNames.BladeArmorEnergyShielding, repCost:8.5e3, moneyCost:1.1e9, info:"Upgrades the BLADE-51b Tesla Armor with a plasma energy propulsion system " + "that is capable of projecting an energy shielding force field.

" + "This augmentation:
" + "Increases the player's defense by 5%.
" + "Increases the player's success chance in Bladeburner contracts/operations by 6%.", prereqs:[AugmentationNames.BladeArmor], defense_mult: 1.05, bladeburner_success_chance_mult: 1.06, isSpecial: true, }); BladeArmorEnergyShielding.addToFactions([BladeburnersFactionName]); resetAugmentation(BladeArmorEnergyShielding); const BladeArmorUnibeam = new Augmentation({ name:AugmentationNames.BladeArmorUnibeam, repCost:12.5e3, moneyCost:3.3e9, info:"Upgrades the BLADE-51b Tesla Armor with a concentrated deuterium-fluoride laser " + "weapon. It's precision an accuracy makes it useful for quickly neutralizing " + "threats while keeping casualties to a minimum.

" + "This augmentation increases the player's success chance in Bladeburner contracts/operations by 8%.", prereqs:[AugmentationNames.BladeArmor], bladeburner_success_chance_mult: 1.08, isSpecial: true, }); BladeArmorUnibeam.addToFactions([BladeburnersFactionName]); resetAugmentation(BladeArmorUnibeam); const BladeArmorOmnibeam = new Augmentation({ name:AugmentationNames.BladeArmorOmnibeam, repCost:25e3, moneyCost:5.5e9, info:"Upgrades the BLADE-51b Tesla Armor Unibeam augmentation to use " + "multiple-fiber system. The upgraded weapon uses multiple fiber laser " + "modules that combine together to form a single, more powerful beam of up to " + "2000MW.

" + "This augmentation increases the player's success chance in Bladeburner contracts/operations by 10%.", prereqs:[AugmentationNames.BladeArmorUnibeam], bladeburner_success_chance_mult: 1.1, isSpecial: true, }); BladeArmorOmnibeam.addToFactions([BladeburnersFactionName]); resetAugmentation(BladeArmorOmnibeam); const BladeArmorIPU = new Augmentation({ name:AugmentationNames.BladeArmorIPU, repCost: 6e3, moneyCost:220e6, info:"Upgrades the BLADE-51b Tesla Armor with an AI Information Processing " + "Unit that was specially designed to analyze Synthoid related data and " + "information.

" + "This augmentation:
" + "Increases the player's effectiveness in Bladeburner Field Analysis by 15%.
" + "Increases the player's success chance in Bladeburner contracts/operations by 2%.", prereqs:[AugmentationNames.BladeArmor], bladeburner_analysis_mult: 1.15, bladeburner_success_chance_mult: 1.02, isSpecial: true, }); BladeArmorIPU.addToFactions([BladeburnersFactionName]); resetAugmentation(BladeArmorIPU); const BladesSimulacrum = new Augmentation({ name:AugmentationNames.BladesSimulacrum, repCost: 500, moneyCost: 30e9, info:"A highly-advanced matter phase-shifter module that is embedded " + "in the brainstem and cerebellum. This augmentation allows " + "the user to project and control a holographic simulacrum within an " + "extremely large radius. These specially-modified holograms were specially " + "weaponized by Bladeburner units to be used against Synthoids.

" + "This augmentation allows you to perform Bladeburner actions and other " + "actions (such as working, commiting crimes, etc.) at the same time.", isSpecial: true, }); BladesSimulacrum.addToFactions([BladeburnersFactionName]); resetAugmentation(BladesSimulacrum); } // Update costs based on how many have been purchased mult = Math.pow(CONSTANTS.MultipleAugMultiplier, Player.queuedAugmentations.length); for (var name in Augmentations) { if (Augmentations.hasOwnProperty(name)) { Augmentations[name].baseCost *= mult; } } Player.reapplyAllAugmentations(); } //Resets an Augmentation during (re-initizliation) function resetAugmentation(newAugObject) { if (!(newAugObject instanceof Augmentation)) { throw new Error("Invalid argument 'newAugObject' passed into resetAugmentation"); } var name = newAugObject.name; if (augmentationExists(name)) { delete Augmentations[name]; } AddToAugmentations(newAugObject); } function applyAugmentation(aug, reapply=false) { Augmentations[aug.name].owned = true; const augObj = Augmentations[aug.name]; // Apply multipliers for (const mult in augObj.mults) { if (Player[mult] == null) { console.warn(`Augmentation has unrecognized multiplier property: ${mult}`); } else { Player[mult] *= augObj.mults[mult]; } } // Special logic for NeuroFlux Governor if (aug.name === AugmentationNames.NeuroFluxGovernor) { if (!reapply) { Augmentations[aug.name].level = aug.level; for (let i = 0; i < Player.augmentations.length; ++i) { if (Player.augmentations[i].name == AugmentationNames.NeuroFluxGovernor) { Player.augmentations[i].level = aug.level; return; // break; } } } } // Push onto Player's Augmentation list if (!reapply) { var ownedAug = new PlayerOwnedAugmentation(aug.name); Player.augmentations.push(ownedAug); } } function installAugmentations() { if (Player.queuedAugmentations.length == 0) { dialogBoxCreate("You have not purchased any Augmentations to install!"); return false; } var augmentationList = ""; for (var i = 0; i < Player.queuedAugmentations.length; ++i) { var aug = Augmentations[Player.queuedAugmentations[i].name]; if (aug == null) { console.error(`Invalid augmentation: ${Player.queuedAugmentations[i].name}`); continue; } applyAugmentation(Player.queuedAugmentations[i]); augmentationList += (aug.name + "
"); } Player.queuedAugmentations = []; dialogBoxCreate("You slowly drift to sleep as scientists put you under in order " + "to install the following Augmentations:
" + augmentationList + "
You wake up in your home...you feel different..."); prestigeAugmentation(); } function augmentationExists(name) { return Augmentations.hasOwnProperty(name); } export function displayAugmentationsContent(contentEl) { if (!routing.isOn(Page.Augmentations)) { return; } if (!(contentEl instanceof HTMLElement)) { return; } function backup() { saveObject.exportGame(); onExport(Player); } ReactDOM.render( , contentEl, ); } export function isRepeatableAug(aug) { const augName = (aug instanceof Augmentation) ? aug.name : aug; if (augName === AugmentationNames.NeuroFluxGovernor) { return true; } return false; } export { installAugmentations, initAugmentations, applyAugmentation, augmentationExists, };