diff --git a/src/Augmentations.js b/src/Augmentations.js
index 39a3618ef..6bd5b59f4 100644
--- a/src/Augmentations.js
+++ b/src/Augmentations.js
@@ -2,7 +2,6 @@
function Augmentation(name) {
this.name = name;
this.info = "";
- this.owned = false; //Whether the player has it (you can only have each augmentation once)
//Price and reputation base requirements (can change based on faction multipliers)
this.baseRepRequirement = 0;
@@ -160,7 +159,6 @@ initAugmentations = function() {
HemoRecirculator.setRequirements(4000, 9000000);
HemoRecirculator.addToFactions(["Tetrads", "The Dark Army", "The Syndicate"]);
if (augmentationExists(AugmentationNames.HemoRecirculator)) {
- HemoRecirculator.owned = Augmentations[AugmentationNames.HemoRecirculator].owned;
delete Augmentations[AugmentationNames.HemoRecirculator];
}
AddToAugmentations(HemoRecirculator);
@@ -174,7 +172,6 @@ initAugmentations = function() {
Targeting1.addToFactions(["Slum Snakes", "The Dark Army", "The Syndicate", "Sector-12", "Volhaven", "Ishima",
"OmniTek Incorporated", "KuaiGong International", "Blade Industries"]);
if (augmentationExists(AugmentationNames.Targeting1)) {
- Targeting1.owned = Augmentations[AugmentationNames.Targeting1].owned;
delete Augmentations[AugmentationNames.Targeting1];
}
AddToAugmentations(Targeting1);
@@ -187,7 +184,6 @@ initAugmentations = function() {
Targeting2.addToFactions(["The Dark Army", "The Syndicate", "Sector-12", "Volhaven", "Ishima",
"OmniTek Incorporated", "KuaiGong International", "Blade Industries"]);
if (augmentationExists(AugmentationNames.Targeting2)) {
- Targeting2.owned = Augmentations[AugmentationNames.Targeting2].owned;
delete Augmentations[AugmentationNames.Targeting2];
}
AddToAugmentations(Targeting2);
@@ -200,7 +196,6 @@ initAugmentations = function() {
Targeting3.addToFactions(["The Dark Army", "The Syndicate", "OmniTek Incorporated",
"KuaiGong International", "Blade Industries", "The Covenant"]);
if (augmentationExists(AugmentationNames.Targeting3)) {
- Targeting3.owned = Augmentations[AugmentationNames.Targeting3].owned;
delete Augmentations[AugmentationNames.Targeting3];
}
AddToAugmentations(Targeting3);
@@ -213,7 +208,6 @@ initAugmentations = function() {
SyntheticHeart.addToFactions(["KuaiGong International", "Fulcrum Secret Technologies", "Speakers for the Dead",
"NWO", "The Covenant", "Daedalus", "Illuminati"]);
if (augmentationExists(AugmentationNames.SyntheticHeart)) {
- SyntheticHeart.owned = Augmentations[AugmentationNames.SyntheticHeart].owned;
delete Augmentations[AugmentationNames.SyntheticHeart];
}
AddToAugmentations(SyntheticHeart);
@@ -227,7 +221,6 @@ initAugmentations = function() {
SynfibrilMuscle.addToFactions(["KuaiGong International", "Fulcrum Secret Technologies", "Speakers for the Dead",
"NWO", "The Covenant", "Daedalus", "Illuminati", "Blade Industries"]);
if (augmentationExists(AugmentationNames.SynfibrilMuscle)) {
- SynfibrilMuscle.owned = Augmentations[AugmentationNames.SynfibrilMuscle].owned;
delete Augmentations[AugmentationNames.SynfibrilMuscle];
}
AddToAugmentations(SynfibrilMuscle)
@@ -240,7 +233,6 @@ initAugmentations = function() {
CombatRib1.addToFactions(["Slum Snakes", "The Dark Army", "The Syndicate", "Sector-12", "Volhaven", "Ishima",
"OmniTek Incorporated", "KuaiGong International", "Blade Industries"]);
if (augmentationExists(AugmentationNames.CombatRib1)) {
- CombatRib1.owned = Augmentations[AugmentationNames.CombatRib1].owned;
delete Augmentations[AugmentationNames.CombatRib1];
}
AddToAugmentations(CombatRib1);
@@ -252,7 +244,6 @@ initAugmentations = function() {
CombatRib2.addToFactions(["The Dark Army", "The Syndicate", "Sector-12", "Volhaven", "Ishima",
"OmniTek Incorporated", "KuaiGong International", "Blade Industries"]);
if (augmentationExists(AugmentationNames.CombatRib2)) {
- CombatRib2.owned = Augmentations[AugmentationNames.CombatRib2].owned;
delete Augmentations[AugmentationNames.CombatRib2];
}
AddToAugmentations(CombatRib2);
@@ -264,7 +255,6 @@ initAugmentations = function() {
CombatRib3.addToFactions(["The Dark Army", "The Syndicate", "OmniTek Incorporated",
"KuaiGong International", "Blade Industries", "The Covenant"]);
if (augmentationExists(AugmentationNames.CombatRib3)) {
- CombatRib3.owned = Augmentations[AugmentationNames.CombatRib3].owned;
delete Augmentations[AugmentationNames.CombatRib3];
}
AddToAugmentations(CombatRib3);
@@ -277,7 +267,6 @@ initAugmentations = function() {
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)) {
- NanofiberWeave.owned = Augmentations[AugmentationNames.NanofiberWeave].owned;
delete Augmentations[AugmentationNames.NanofiberWeave];
}
AddToAugmentations(NanofiberWeave);
@@ -293,7 +282,6 @@ initAugmentations = function() {
SubdermalArmor.addToFactions(["The Syndicate", "Fulcrum Secret Technologies", "Illuminati", "Daedalus",
"The Covenant"]);
if (augmentationExists(AugmentationNames.SubdermalArmor)) {
- SubdermalArmor.owned = Augmentations[AugmentationNames.SubdermalArmor].owned;
delete Augmentations[AugmentationNames.SubdermalArmor];
}
AddToAugmentations(SubdermalArmor);
@@ -306,7 +294,6 @@ initAugmentations = function() {
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)) {
- WiredReflexes.owned = Augmentations[AugmentationNames.WiredReflexes].owned;
delete Augmentations[AugmentationNames.WiredReflexes];
}
AddToAugmentations(WiredReflexes);
@@ -318,7 +305,6 @@ initAugmentations = function() {
"This augmentation increases the player's strength and defense by 75%.");
GrapheneBoneLacings.addToFactions(["Fulcrum Secret Technologies", "The Covenant"]);
if (augmentationExists(AugmentationNames.GrapheneBoneLacings)) {
- GrapheneBoneLacings.owned = Augmentations[AugmentationNames.GrapheneBoneLacings].owned;
delete Augmentations[AugmentationNames.GrapheneBoneLacings];
}
AddToAugmentations(GrapheneBoneLacings);
@@ -333,7 +319,6 @@ initAugmentations = function() {
BionicSpine.addToFactions(["Speakers for the Dead", "The Syndicate", "KuaiGong International",
"OmniTek Incorporated", "Blade Industries"]);
if (augmentationExists(AugmentationNames.BionicSpine)) {
- BionicSpine.owned = Augmentations[AugmentationNames.BionicSpine].owned;
delete Augmentations[AugmentationNames.BionicSpine];
}
AddToAugmentations(BionicSpine);
@@ -345,7 +330,6 @@ initAugmentations = function() {
"This augmentation increases all of the player's combat stats by 65%.");
GrapheneBionicSpine.addToFactions(["Fulcrum Secret Technologies", "ECorp"]);
if (augmentationExists(AugmentationNames.GrapheneBionicSpine)) {
- GrapheneBionicSpine.owned = Augmentations[AugmentationNames.GrapheneBionicSpine].owned;
delete Augmentations[AugmentationNames.GrapheneBionicSpine];
}
AddToAugmentations(GrapheneBionicSpine);
@@ -357,7 +341,6 @@ initAugmentations = function() {
BionicLegs.addToFactions(["Speakers for the Dead", "The Syndicate", "KuaiGong International",
"OmniTek Incorporated", "Blade Industries"]);
if (augmentationExists(AugmentationNames.BionicLegs)) {
- BionicLegs.owned = Augmentations[AugmentationNames.BionicLegs].owned;
delete Augmentations[AugmentationNames.BionicLegs];
}
AddToAugmentations(BionicLegs);
@@ -369,7 +352,6 @@ initAugmentations = function() {
"This augmentation increases the player's agility by an additional 175%.");
GrapheneBionicLegs.addToFactions(["MegaCorp", "ECorp", "Fulcrum Secret Technologies"]);
if (augmentationExists(AugmentationNames.GrapheneBionicLegs)) {
- GrapheneBionicLegs.owned = Augmentations[AugmentationNames.GrapheneBionicLegs].owned;
delete Augmentations[AugmentationNames.GrapheneBionicLegs];
}
AddToAugmentations(GrapheneBionicLegs);
@@ -384,7 +366,6 @@ initAugmentations = function() {
SpeechProcessor.addToFactions(["Tian Di Hui", "Chongqing", "Sector-12", "New Tokyo", "Aevum",
"Ishima", "Volhaven", "Silhouette"]);
if (augmentationExists(AugmentationNames.SpeechProcessor)) {
- SpeechProcessor.owned = Augmentations[AugmentationNames.SpeechProcessor].owned;
delete Augmentations[AugmentationNames.SpeechProcessor];
}
AddToAugmentations(SpeechProcessor);
@@ -397,7 +378,6 @@ initAugmentations = function() {
"This augmentation increases the player's charisma and charisma experience gain rate by 15%");
TITN41Injection.addToFactions(["Silhouette"]);
if (augmentationExists(AugmentationNames.TITN41Injection)) {
- TITN41Injection.owned = Augmentations[AugmentationNames.TITN41Injection].owned;
delete Augmentations[AugmentationNames.TITN41Injection];
}
AddToAugmentations(TITN41Injection);
@@ -413,7 +393,6 @@ initAugmentations = function() {
EnhancedSocialInteractionImplant.addToFactions(["Bachman & Associates", "NWO", "Clarke Incorporated",
"OmniTek Incorporated", "Four Sigma"]);
if (augmentationExists(AugmentationNames.EnhancedSocialInteractionImplant)) {
- EnhancedSocialInteractionImplant.owned = Augmentations[AugmentationNames.EnhancedSocialInteractionImplant].owned;
delete Augmentations[AugmentationNames.EnhancedSocialInteractionImplant];
}
AddToAugmentations(EnhancedSocialInteractionImplant);
@@ -425,7 +404,6 @@ initAugmentations = function() {
"capabilities.
This augmentation increases the player's hacking skill by 5%");
BitWire.addToFactions(["CyberSec", "NiteSec"]);
if (augmentationExists(AugmentationNames.BitWire)) {
- BitWire.owned = Augmentations[AugmentationNames.BitWire].owned;
delete Augmentations[AugmentationNames.BitWire];
}
AddToAugmentations(BitWire);
@@ -443,7 +421,6 @@ initAugmentations = function() {
"Inreases the player's hacking skill by 12%");
ArtificialBioNeuralNetwork.addToFactions(["BitRunners", "Fulcrum Secret Technologies"]);
if (augmentationExists(AugmentationNames.ArtificialBioNeuralNetwork)) {
- ArtificialBioNeuralNetwork.owned = Augmentations[AugmentationNames.ArtificialBioNeuralNetwork].owned;
delete Augmentations[AugmentationNames.ArtificialBioNeuralNetwork];
}
AddToAugmentations(ArtificialBioNeuralNetwork);
@@ -458,7 +435,6 @@ initAugmentations = function() {
"Increases the player's hacking experience gain rate by 5%");
ArtificialSynapticPotentiation.addToFactions(["The Black Hand", "NiteSec"]);
if (augmentationExists(AugmentationNames.ArtificialSynapticPotentiation)) {
- ArtificialSynapticPotentiation.owned = Augmentations[AugmentationNames.ArtificialSynapticPotentiation].owned;
delete Augmentations[AugmentationNames.ArtificialSynapticPotentiation];
}
AddToAugmentations(ArtificialSynapticPotentiation);
@@ -475,7 +451,6 @@ initAugmentations = function() {
"Increases the player's hacking experience gain rate by 10%");
EnhancedMyelinSheathing.addToFactions(["Fulcrum Secret Technologies", "BitRunners", "The Black Hand"]);
if (augmentationExists(AugmentationNames.EnhancedMyelinSheathing)) {
- EnhancedMyelinSheathing.owned = Augmentations[AugmentationNames.EnhancedMyelinSheathing].owned;
delete Augmentations[AugmentationNames.EnhancedMyelinSheathing];
}
AddToAugmentations(EnhancedMyelinSheathing);
@@ -487,7 +462,6 @@ initAugmentations = function() {
"This augmentation increases the player's hacking speed by 3%.");
SynapticEnhancement.addToFactions(["CyberSec"]);
if (augmentationExists(AugmentationNames.SynapticEnhancement)) {
- SynapticEnhancement.owned = Augmentations[AugmentationNames.SynapticEnhancement].owned;
delete Augmentations[AugmentationNames.SynapticEnhancement];
}
AddToAugmentations(SynapticEnhancement);
@@ -499,7 +473,6 @@ initAugmentations = function() {
"This augmentation increases the player's hacking experience gain rate by 25%.");
NeuralRetentionEnhancement.addToFactions(["NiteSec"]);
if (augmentationExists(AugmentationNames.NeuralRetentionEnhancement)) {
- NeuralRetentionEnhancement.owned = Augmentations[AugmentationNames.NeuralRetentionEnhancement].owned;
delete Augmentations[AugmentationNames.NeuralRetentionEnhancement];
}
AddToAugmentations(NeuralRetentionEnhancement);
@@ -512,7 +485,6 @@ initAugmentations = function() {
"This augmentation increases the amount of money the player gains from hacking by 25%");
DataJack.addToFactions(["BitRunners", "The Black Hand", "NiteSec", "Chongqing", "New Tokyo"]);
if (augmentationExists(AugmentationNames.DataJack)) {
- DataJack.owned = Augmentations[AugmentationNames.DataJack].owned;
delete Augmentations[AugmentationNames.DataJack];
}
AddToAugmentations(DataJack);
@@ -528,7 +500,6 @@ initAugmentations = function() {
ENM.addToFactions(["BitRunners", "The Black Hand", "NiteSec", "ECorp", "MegaCorp",
"Fulcrum Secret Technologies", "NWO", "Blade Industries"]);
if (augmentationExists(AugmentationNames.ENM)) {
- ENM.owned = Augmentations[AugmentationNames.ENM].owned;
delete Augmentations[AugmentationNames.ENM];
}
AddToAugmentations(ENM);
@@ -546,7 +517,6 @@ initAugmentations = function() {
ENMCore.addToFactions(["BitRunners", "The Black Hand", "ECorp", "MegaCorp",
"Fulcrum Secret Technologies", "NWO", "Blade Industries"]);
if (augmentationExists(AugmentationNames.ENMCore)) {
- ENMCore.owned = Augmentations[AugmentationNames.ENMCore].owned;
delete Augmentations[AugmentationNames.ENMCore];
}
AddToAugmentations(ENMCore);
@@ -566,7 +536,6 @@ initAugmentations = function() {
ENMCoreV2.addToFactions(["BitRunners", "ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO",
"Blade Industries", "OmniTek Incorporated", "KuaiGong International"]);
if (augmentationExists(AugmentationNames.ENMCoreV2)) {
- ENMCoreV2.owned = Augmentations[AugmentationNames.ENMCoreV2].owned;
delete Augmentations[AugmentationNames.ENMCoreV2];
}
AddToAugmentations(ENMCoreV2);
@@ -585,7 +554,6 @@ initAugmentations = function() {
ENMCoreV3.addToFactions(["ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO",
"Daedalus", "The Covenant", "Illuminati"]);
if (augmentationExists(AugmentationNames.ENMCoreV3)) {
- ENMCoreV3.owned = Augmentations[AugmentationNames.ENMCoreV3].owned;
delete Augmentations[AugmentationNames.ENMCoreV3];
}
AddToAugmentations(ENMCoreV3);
@@ -598,7 +566,6 @@ initAugmentations = function() {
ENMAnalyzeEngine.addToFactions(["ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO",
"Daedalus", "The Covenant", "Illuminati"]);
if (augmentationExists(AugmentationNames.ENMAnalyzeEngine)) {
- ENMAnalyzeEngine.owned = Augmentations[AugmentationNames.ENMAnalyzeEngine].owned;
delete Augmentations[AugmentationNames.ENMAnalyzeEngine];
}
AddToAugmentations(ENMAnalyzeEngine);
@@ -614,7 +581,6 @@ initAugmentations = function() {
ENMDMA.addToFactions(["ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO",
"Daedalus", "The Covenant", "Illuminati"]);
if (augmentationExists(AugmentationNames.ENMDMA)) {
- ENMDMA.owned = Augmentations[AugmentationNames.ENMDMA].owned;
delete Augmentations[AugmentationNames.ENMDMA];
}
AddToAugmentations(ENMDMA);
@@ -631,7 +597,6 @@ initAugmentations = function() {
"Ishima", "Volhaven", "Bachman & Associates", "Clarke Incorporated",
"Four Sigma"]);
if (augmentationExists(AugmentationNames.Neuralstimulator)) {
- Neuralstimulator.owned = Augmentations[AugmentationNames.Neuralstimulator].owned;
delete Augmentations[AugmentationNames.Neuralstimulator];
}
AddToAugmentations(Neuralstimulator);
@@ -646,7 +611,6 @@ initAugmentations = function() {
"Increases the amount of money the player gains from hacking by 20%");
NeuralAccelerator.addToFactions(["BitRunners"]);
if (augmentationExists(AugmentationNames.NeuralAccelerator)) {
- NeuralAccelerator.owned = Augmentations[AugmentationNames.NeuralAccelerator].owned;
delete Augmentations[AugmentationNames.NeuralAccelerator];
}
AddToAugmentations(NeuralAccelerator);
@@ -662,7 +626,6 @@ initAugmentations = function() {
"Increases the player's hacking skill by 5%");
CranialSignalProcessorsG1.addToFactions(["CyberSec"]);
if (augmentationExists(AugmentationNames.CranialSignalProcessorsG1)) {
- CranialSignalProcessorsG1.owned = Augmentations[AugmentationNames.CranialSignalProcessorsG1].owned;
delete Augmentations[AugmentationNames.CranialSignalProcessorsG1];
}
AddToAugmentations(CranialSignalProcessorsG1);
@@ -679,7 +642,6 @@ initAugmentations = function() {
"Increases the player's hacking skill by 7%");
CranialSignalProcessorsG2.addToFactions(["NiteSec"]);
if (augmentationExists(AugmentationNames.CranialSignalProcessorsG2)) {
- CranialSignalProcessorsG2.owned = Augmentations[AugmentationNames.CranialSignalProcessorsG2].owned;
delete Augmentations[AugmentationNames.CranialSignalProcessorsG2];
}
AddToAugmentations(CranialSignalProcessorsG2);
@@ -696,7 +658,6 @@ initAugmentations = function() {
"Increases the player's hacking skill by 9%");
CranialSignalProcessorsG3.addToFactions(["NiteSec", "The Black Hand"]);
if (augmentationExists(AugmentationNames.CranialSignalProcessorsG3)) {
- CranialSignalProcessorsG3.owned = Augmentations[AugmentationNames.CranialSignalProcessorsG3].owned;
delete Augmentations[AugmentationNames.CranialSignalProcessorsG3];
}
AddToAugmentations(CranialSignalProcessorsG3);
@@ -713,7 +674,6 @@ initAugmentations = function() {
"Increases the amount of money the player can inject into servers using grow() by 25%");
CranialSignalProcessorsG4.addToFactions(["The Black Hand"]);
if (augmentationExists(AugmentationNames.CranialSignalProcessorsG4)) {
- CranialSignalProcessorsG4.owned = Augmentations[AugmentationNames.CranialSignalProcessorsG4].owned;
delete Augmentations[AugmentationNames.CranialSignalProcessorsG4];
}
AddToAugmentations(CranialSignalProcessorsG4);
@@ -730,7 +690,6 @@ initAugmentations = function() {
"Increases the amount of money the player can inject into servers using grow() by 75%");
CranialSignalProcessorsG5.addToFactions(["BitRunners"]);
if (augmentationExists(AugmentationNames.CranialSignalProcessorsG5)) {
- CranialSignalProcessorsG5.owned = Augmentations[AugmentationNames.CranialSignalProcessorsG5].owned;
delete Augmentations[AugmentationNames.CranialSignalProcessorsG5];
}
AddToAugmentations(CranialSignalProcessorsG5);
@@ -746,7 +705,6 @@ initAugmentations = function() {
"Increases the player's hacking speed by 3%");
NeuronalDensification.addToFactions(["Clarke Incorporated"]);
if (augmentationExists(AugmentationNames.NeuronalDensification)) {
- NeuronalDensification.owned = Augmentations[AugmentationNames.NeuronalDensification].owned;
delete Augmentations[AugmentationNames.NeuronalDensification];
}
AddToAugmentations(NeuronalDensification);
@@ -762,7 +720,6 @@ initAugmentations = function() {
NuoptimalInjectorImplant.addToFactions(["Tian Di Hui", "Volhaven", "New Tokyo", "Chongqing", "Ishima",
"Clarke Incorporated", "Four Sigma", "Bachman & Associates"]);
if (augmentationExists(AugmentationNames.NuoptimalInjectorImplant)) {
- NuoptimalInjectorImplant.owned = Augmentations[AugmentationNames.NuoptimalInjectorImplant].owned;
delete Augmentations[AugmentationNames.NuoptimalInjectorImplant];
}
AddToAugmentations(NuoptimalInjectorImplant);
@@ -778,7 +735,6 @@ initAugmentations = function() {
SpeechEnhancement.addToFactions(["Tian Di Hui", "Speakers for the Dead", "Four Sigma", "KuaiGong International",
"Clarke Incorporated", "Four Sigma", "Bachman & Associates"]);
if (augmentationExists(AugmentationNames.SpeechEnhancement)) {
- SpeechEnhancement.owned = Augmentations[AugmentationNames.SpeechEnhancement].owned;
delete Augmentations[AugmentationNames.SpeechEnhancement];
}
AddToAugmentations(SpeechEnhancement);
@@ -793,7 +749,6 @@ initAugmentations = function() {
"Increases the amount of reputation the player gains when working for a company by 10%");
FocusWire.addToFactions(["Bachman & Associates", "Clarke Incorporated", "Four Sigma", "KuaiGong International"]);
if (augmentationExists(AugmentationNames.FocusWire)) {
- FocusWire.owned = Augmentations[AugmentationNames.FocusWire].owned;
delete Augmentations[AugmentationNames.FocusWire];
}
AddToAugmentations(FocusWire)
@@ -808,7 +763,6 @@ initAugmentations = function() {
"Increases the player's hacking skill by 8%");
PCDNI.addToFactions(["Four Sigma", "OmniTek Incorporated", "ECorp", "Blade Industries"]);
if (augmentationExists(AugmentationNames.PCDNI)) {
- PCDNI.owned = Augmentations[AugmentationNames.PCDNI].owned;
delete Augmentations[AugmentationNames.PCDNI];
}
AddToAugmentations(PCDNI);
@@ -823,7 +777,6 @@ initAugmentations = function() {
"Increases the player's hacking skill by 10%");
PCDNIOptimizer.addToFactions(["Fulcrum Secret Technologies", "ECorp", "Blade Industries"]);
if (augmentationExists(AugmentationNames.PCDNIOptimizer)) {
- PCDNIOptimizer.owned = Augmentations[AugmentationNames.PCDNIOptimizer].owned;
delete Augmentations[AugmentationNames.PCDNIOptimizer];
}
AddToAugmentations(PCDNIOptimizer);
@@ -840,7 +793,6 @@ initAugmentations = function() {
"Increases the player's hacking speed by 5%");
PCDNINeuralNetwork.addToFactions(["Fulcrum Secret Technologies"]);
if (augmentationExists(AugmentationNames.PCDNINeuralNetwork)) {
- PCDNINeuralNetwork.owned = Augmentations[AugmentationNames.PCDNINeuralNetwork].owned;
delete Augmentations[AugmentationNames.PCDNINeuralNetwork];
}
AddToAugmentations(PCDNINeuralNetwork);
@@ -855,7 +807,6 @@ initAugmentations = function() {
"Increases the amount of reputation the player gains for a faction by 10%");
ADRPheromone1.addToFactions(["Tian Di Hui", "The Syndicate", "NWO", "MegaCorp", "Four Sigma"]);
if (augmentationExists(AugmentationNames.ADRPheromone1)) {
- ADRPheromone1.owned = Augmentations[AugmentationNames.ADRPheromone1].owned;
delete Augmentations[AugmentationNames.ADRPheromone1];
}
AddToAugmentations(ADRPheromone1);
@@ -871,7 +822,6 @@ initAugmentations = function() {
"Decreases the cost of purchasing a Hacknet Node Core by 15%");
HacknetNodeCPUUpload.addToFactions(["Netburners"]);
if (augmentationExists(AugmentationNames.HacknetNodeCPUUpload)) {
- HacknetNodeCPUUpload.owned = Augmentations[AugmentationNames.HacknetNodeCPUUpload].owned;
delete Augmentations[AugmentationNames.HacknetNodeCPUUpload];
}
AddToAugmentations(HacknetNodeCPUUpload);
@@ -886,7 +836,6 @@ initAugmentations = function() {
"Decreases the cost of leveling up a Hacknet Node by 15%");
HacknetNodeCacheUpload.addToFactions(["Netburners"]);
if (augmentationExists(AugmentationNames.HacknetNodeCacheUpload)) {
- HacknetNodeCacheUpload.owned = Augmentations[AugmentationNames.HacknetNodeCacheUpload].owned;
delete Augmentations[AugmentationNames.HacknetNodeCacheUpload];
}
AddToAugmentations(HacknetNodeCacheUpload);
@@ -901,7 +850,6 @@ initAugmentations = function() {
"Decreases the cost of purchasing a Hacknet Node by 10%");
HacknetNodeNICUpload.addToFactions(["Netburners"]);
if (augmentationExists(AugmentationNames.HacknetNodeNICUpload)) {
- HacknetNodeNICUpload.owned = Augmentations[AugmentationNames.HacknetNodeNICUpload].owned;
delete Augmentations[AugmentationNames.HacknetNodeNICUpload];
}
AddToAugmentations(HacknetNodeNICUpload);
@@ -914,7 +862,6 @@ initAugmentations = function() {
"This augmentation increases the amount of money produced by Hacknet Nodes by 25%.");
HacknetNodeKernelDNI.addToFactions(["Netburners"]);
if (augmentationExists(AugmentationNames.HacknetNodeKernelDNI)) {
- HacknetNodeKernelDNI.owned = Augmentations[AugmentationNames.HacknetNodeKernelDNI].owned;
delete Augmentations[AugmentationNames.HacknetNodeKernelDNI];
}
AddToAugmentations(HacknetNodeKernelDNI);
@@ -927,7 +874,6 @@ initAugmentations = function() {
"This augmentation increases the amount of money produced by Hacknet Nodes by 45%.");
HacknetNodeCoreDNI.addToFactions(["Netburners"]);
if (augmentationExists(AugmentationNames.HacknetNodeCoreDNI)) {
- HacknetNodeCoreDNI.owned = Augmentations[AugmentationNames.HacknetNodeCoreDNI].owned;
delete Augmentations[AugmentationNames.HacknetNodeCoreDNI];
}
AddToAugmentations(HacknetNodeCoreDNI);
@@ -936,7 +882,6 @@ initAugmentations = function() {
var NeuroFluxGovernor = new Augmentation(AugmentationNames.NeuroFluxGovernor);
if (augmentationExists(AugmentationNames.NeuroFluxGovernor)) {
var oldAug = Augmentations[AugmentationNames.NeuroFluxGovernor];
- NeuroFluxGovernor.owned = oldAug.owned;
NeuroFluxGovernor.level = oldAug.level;
mult = Math.pow(CONSTANTS.NeuroFluxGovernorLevelMult, NeuroFluxGovernor.level);
NeuroFluxGovernor.setRequirements(500 * mult, 750000 * mult);
@@ -962,7 +907,6 @@ initAugmentations = function() {
"This augmentation increases the player's experience gain rate for all stats by 10%");
Neurotrainer1.addToFactions(["CyberSec"]);
if (augmentationExists(AugmentationNames.Neurotrainer1)) {
- Neurotrainer1.owned = Augmentations[AugmentationNames.Neurotrainer1].owned;
delete Augmentations[AugmentationNames.Neurotrainer1];
}
AddToAugmentations(Neurotrainer1);
@@ -975,7 +919,6 @@ initAugmentations = function() {
"This augmentation increases the player's experience gain rate for all stats by 15%");
Neurotrainer2.addToFactions(["BitRunners", "NiteSec"]);
if (augmentationExists(AugmentationNames.Neurotrainer2)) {
- Neurotrainer2.owned = Augmentations[AugmentationNames.Neurotrainer2].owned;
delete Augmentations[AugmentationNames.Neurotrainer2];
}
AddToAugmentations(Neurotrainer2);
@@ -988,7 +931,6 @@ initAugmentations = function() {
"This augmentation increases the player's experience gain rate for all stats by 20%");
Neurotrainer3.addToFactions(["NWO", "Four Sigma"]);
if (augmentationExists(AugmentationNames.Neurotrainer3)) {
- Neurotrainer3.owned = Augmentations[AugmentationNames.Neurotrainer3].owned;
delete Augmentations[AugmentationNames.Neurotrainer3];
}
AddToAugmentations(Neurotrainer3);
@@ -1004,7 +946,6 @@ initAugmentations = function() {
Hypersight.setRequirements(60000, 550000000);
Hypersight.addToFactions(["Blade Industries", "KuaiGong International"]);
if (augmentationExists(AugmentationNames.Hypersight)) {
- Hypersight.owned = Augmentations[AugmentationNames.Hypersight].owned;
delete Augmentations[AugmentationNames.Hypersight];
}
AddToAugmentations(Hypersight);
@@ -1019,7 +960,6 @@ initAugmentations = function() {
LuminCloaking1.setRequirements(600, 1000000);
LuminCloaking1.addToFactions(["Slum Snakes", "Tetrads"]);
if (augmentationExists(AugmentationNames.LuminCloaking1)) {
- LuminCloaking1.owned = Augmentations[AugmentationNames.LuminCloaking1].owned;
delete Augmentations[AugmentationNames.LuminCloaking1];
}
AddToAugmentations(LuminCloaking1);
@@ -1036,7 +976,6 @@ initAugmentations = function() {
LuminCloaking2.setRequirements(2000, 5000000);
LuminCloaking2.addToFactions(["Slum Snakes", "Tetrads"]);
if (augmentationExists(AugmentationNames.LuminCloaking2)) {
- LuminCloaking2.owned = Augmentations[AugmentationNames.LuminCloaking2].owned;
delete Augmentations[AugmentationNames.LuminCloaking2];
}
AddToAugmentations(LuminCloaking2);
@@ -1051,7 +990,6 @@ initAugmentations = function() {
SmartSonar.setRequirements(9000, 12000000);
SmartSonar.addToFactions(["Slum Snakes"]);
if (augmentationExists(AugmentationNames.SmartSonar)) {
- SmartSonar.owned = Augmentations[AugmentationNames.SmartSonar].owned;
delete Augmentations[AugmentationNames.SmartSonar];
}
AddToAugmentations(SmartSonar);
@@ -1066,7 +1004,6 @@ initAugmentations = function() {
PowerRecirculator.setRequirements(10000, 33000000);
PowerRecirculator.addToFactions(["Tetrads", "The Dark Army", "The Syndicate", "NWO"]);
if (augmentationExists(AugmentationNames.PowerRecirculator)) {
- PowerRecirculator.owned = Augmentations[AugmentationNames.PowerRecirculator].owned;
delete Augmentations[AugmentationNames.PowerRecirculator];
}
AddToAugmentations(PowerRecirculator);
@@ -1088,7 +1025,6 @@ initAugmentations = function() {
QLink.setRequirements(750000, 1200000000);
QLink.addToFactions(["Illuminati"]);
if (augmentationExists(AugmentationNames.QLink)) {
- QLink.owned = Augmentations[AugmentationNames.QLink].owned;
delete Augmentations[AugmentationNames.QLink];
}
AddToAugmentations(QLink);
@@ -1108,7 +1044,6 @@ initAugmentations = function() {
SPTN97.setRequirements(500000, 950000000);
SPTN97.addToFactions(["The Covenant"]);
if (augmentationExists(AugmentationNames.SPTN97)) {
- SPTN97.owned = Augmentations[AugmentationNames.SPTN97].owned;
delete Augmentations[AugmentationNames.SPTN97];
}
AddToAugmentations(SPTN97);
@@ -1121,7 +1056,6 @@ initAugmentations = function() {
HiveMind.setRequirements(600000, 1000000000);
HiveMind.addToFactions(["ECorp"]);
if (augmentationExists(AugmentationNames.HiveMind)) {
- HiveMind.owned = Augmentations[AugmentationNames.HiveMind].owned;
delete Augmentations[AugmentationNames.HiveMind];
}
AddToAugmentations(HiveMind);
@@ -1138,7 +1072,6 @@ initAugmentations = function() {
CordiARCReactor.setRequirements(450000, 975000000);
CordiARCReactor.addToFactions(["MegaCorp"]);
if (augmentationExists(AugmentationNames.CordiARCReactor)) {
- CordiARCReactor.owned = Augmentations[AugmentationNames.CordiARCReactor].owned;
delete Augmentations[AugmentationNames.CordiARCReactor];
}
AddToAugmentations(CordiARCReactor);
@@ -1156,7 +1089,6 @@ initAugmentations = function() {
SmartJaw.setRequirements(150000, 500000000);
SmartJaw.addToFactions(["Bachman & Associates"]);
if (augmentationExists(AugmentationNames.SmartJaw)) {
- SmartJaw.owned = Augmentations[AugmentationNames.SmartJaw].owned;
delete Augmentations[AugmentationNames.SmartJaw];
}
AddToAugmentations(SmartJaw);
@@ -1171,7 +1103,6 @@ initAugmentations = function() {
Neotra.setRequirements(225000, 550000000);
Neotra.addToFactions(["Blade Industries"]);
if (augmentationExists(AugmentationNames.Neotra)) {
- Neotra.owned = Augmentations[AugmentationNames.Neotra].owned;
delete Augmentations[AugmentationNames.Neotra];
}
AddToAugmentations(Neotra);
@@ -1187,7 +1118,6 @@ initAugmentations = function() {
Xanipher.setRequirements(350000, 800000000);
Xanipher.addToFactions(["NWO"]);
if (augmentationExists(AugmentationNames.Xanipher)) {
- Xanipher.owned = Augmentations[AugmentationNames.Xanipher].owned;
delete Augmentations[AugmentationNames.Xanipher];
}
AddToAugmentations(Xanipher);
@@ -1201,7 +1131,6 @@ initAugmentations = function() {
nextSENS.setRequirements(175000, 375000000);
nextSENS.addToFactions(["Clarke Incorporated"]);
if (augmentationExists(AugmentationNames.nextSENS)) {
- nextSENS.owned = Augmentations[AugmentationNames.nextSENS].owned;
delete Augmentations[AugmentationNames.nextSENS];
}
AddToAugmentations(nextSENS);
@@ -1217,7 +1146,6 @@ initAugmentations = function() {
OmniTekInfoLoad.setRequirements(250000, 550000000)
OmniTekInfoLoad.addToFactions(["OmniTek Incorporated"]);
if (augmentationExists(AugmentationNames.OmniTekInfoLoad)) {
- OmniTekInfoLoad.owned = Augmentations[AugmentationNames.OmniTekInfoLoad].owned;
delete Augmentations[AugmentationNames.OmniTekInfoLoad];
}
AddToAugmentations(OmniTekInfoLoad);
@@ -1235,7 +1163,6 @@ initAugmentations = function() {
PhotosyntheticCells.setRequirements(225000, 525000000);
PhotosyntheticCells.addToFactions(["KuaiGong International"]);
if (augmentationExists(AugmentationNames.PhotosyntheticCells)) {
- PhotosyntheticCells.owned = Augmentations[AugmentationNames.PhotosyntheticCells].owned;
delete Augmentations[AugmentationNames.PhotosyntheticCells];
}
AddToAugmentations(PhotosyntheticCells);
@@ -1254,7 +1181,6 @@ initAugmentations = function() {
Neurolink.setRequirements(350000, 850000000);
Neurolink.addToFactions(["BitRunners"]);
if (augmentationExists(AugmentationNames.Neurolink)) {
- Neurolink.owned = Augmentations[AugmentationNames.Neurolink].owned;
delete Augmentations[AugmentationNames.Neurolink];
}
AddToAugmentations(Neurolink);
@@ -1273,7 +1199,6 @@ initAugmentations = function() {
TheBlackHand.setRequirements(40000, 100000000);
TheBlackHand.addToFactions(["The Black Hand"]);
if (augmentationExists(AugmentationNames.TheBlackHand)) {
- TheBlackHand.owned = Augmentations[AugmentationNames.TheBlackHand].owned;
delete Augmentations[AugmentationNames.TheBlackHand];
}
AddToAugmentations(TheBlackHand);
@@ -1289,7 +1214,6 @@ initAugmentations = function() {
CRTX42AA.setRequirements(18000, 45000000);
CRTX42AA.addToFactions(["NiteSec"]);
if (augmentationExists(AugmentationNames.CRTX42AA)) {
- CRTX42AA.owned = Augmentations[AugmentationNames.CRTX42AA].owned;
delete Augmentations[AugmentationNames.CRTX42AA];
}
AddToAugmentations(CRTX42AA);
@@ -1303,7 +1227,6 @@ initAugmentations = function() {
Neuregen.setRequirements(15000, 75000000);
Neuregen.addToFactions(["Chongqing"]);
if (augmentationExists(AugmentationNames.Neuregen)) {
- Neuregen.owned = Augmentations[AugmentationNames.Neuregen].owned;
delete Augmentations[AugmentationNames.Neuregen];
}
AddToAugmentations(Neuregen);
@@ -1319,7 +1242,6 @@ initAugmentations = function() {
CashRoot.setRequirements(5000, 25000000);
CashRoot.addToFactions(["Sector-12"]);
if (augmentationExists(AugmentationNames.CashRoot)) {
- CashRoot.owned = Augmentations[AugmentationNames.CashRoot].owned;
delete Augmentations[AugmentationNames.CashRoot];
}
AddToAugmentations(CashRoot);
@@ -1335,7 +1257,6 @@ initAugmentations = function() {
NutriGen.setRequirements(2500, 500000);
NutriGen.addToFactions(["New Tokyo"]);
if (augmentationExists(AugmentationNames.NutriGen)) {
- NutriGen.owned = Augmentations[AugmentationNames.NutriGen].owned;
delete Augmentations[AugmentationNames.NutriGen];
}
AddToAugmentations(NutriGen);
@@ -1355,7 +1276,6 @@ initAugmentations = function() {
INFRARet.setRequirements(3000, 6000000);
INFRARet.addToFactions(["Ishima"]);
if (augmentationExists(AugmentationNames.INFRARet)) {
- INFRARet.owned = Augmentations[AugmentationNames.INFRARet].owned;
delete Augmentations[AugmentationNames.INFRARet];
}
AddToAugmentations(INFRARet);
@@ -1369,7 +1289,6 @@ initAugmentations = function() {
DermaForce.setRequirements(6000, 10000000);
DermaForce.addToFactions(["Volhaven"]);
if (augmentationExists(AugmentationNames.DermaForce)) {
- DermaForce.owned = Augmentations[AugmentationNames.DermaForce].owned;
delete Augmentations[AugmentationNames.DermaForce];
}
AddToAugmentations(DermaForce);
@@ -1386,7 +1305,6 @@ initAugmentations = function() {
GrapheneBrachiBlades.setRequirements(90000, 500000000);
GrapheneBrachiBlades.addToFactions(["Speakers for the Dead"]);
if (augmentationExists(AugmentationNames.GrapheneBrachiBlades)) {
- GrapheneBrachiBlades.owned = Augmentations[AugmentationNames.GrapheneBrachiBlades].owned;
delete Augmentations[AugmentationNames.GrapheneBrachiBlades];
}
AddToAugmentations(GrapheneBrachiBlades);
@@ -1400,7 +1318,6 @@ initAugmentations = function() {
GrapheneBionicArms.setRequirements(200000, 750000000);
GrapheneBionicArms.addToFactions(["The Dark Army"]);
if (augmentationExists(AugmentationNames.GrapheneBionicArms)) {
- GrapheneBionicArms.owned = Augmentations[AugmentationNames.GrapheneBionicArms].owned;
delete Augmentations[AugmentationNames.GrapheneBionicArms];
}
AddToAugmentations(GrapheneBionicArms);
@@ -1415,7 +1332,6 @@ initAugmentations = function() {
BrachiBlades.setRequirements(5000, 18000000);
BrachiBlades.addToFactions(["The Syndicate"]);
if (augmentationExists(AugmentationNames.BrachiBlades)) {
- BrachiBlades.owned = Augmentations[AugmentationNames.BrachiBlades].owned;
delete Augmentations[AugmentationNames.BrachiBlades];
}
AddToAugmentations(BrachiBlades);
@@ -1428,7 +1344,6 @@ initAugmentations = function() {
BionicArms.setRequirements(25000, 55000000);
BionicArms.addToFactions(["Tetrads"]);
if (augmentationExists(AugmentationNames.BionicArms)) {
- BionicArms.owned = Augmentations[AugmentationNames.BionicArms].owned;
delete Augmentations[AugmentationNames.BionicArms];
}
AddToAugmentations(BionicArms);
@@ -1444,18 +1359,12 @@ initAugmentations = function() {
SNA.setRequirements(2500, 6000000);
SNA.addToFactions(["Tian Di Hui"]);
if (augmentationExists(AugmentationNames.SNA)) {
- SNA.owned = Augmentations[AugmentationNames.SNA].owned;
delete Augmentations[AugmentationNames.SNA];
}
AddToAugmentations(SNA);
}
-applyAugmentation = function(aug, reapply=false) {
- if (reapply == false && aug.name != AugmentationNames.NeuroFluxGovernor && aug.owned) {
- throw new Error("This Augmentation is already owned/applied...somethings wrong");
- return;
- }
-
+applyAugmentation = function(aug, reapply=false) {
switch(aug.name) {
//Combat stat augmentations
case AugmentationNames.Targeting1:
@@ -1924,19 +1833,26 @@ applyAugmentation = function(aug, reapply=false) {
return;
}
- aug.owned = true;
- if (aug.name == AugmentationNames.NeuroFluxGovernor &&
- Player.augmentations.indexOf(AugmentationNames.NeuroFluxGovernor) != -1) {
- //Already have this aug, just upgrade the level
- return;
+ if (aug.name == AugmentationNames.NeuroFluxGovernor) {
+ for (var i = 0; i > Player.augmentations.length; ++i) {
+ if (Player.augmentations[i].name == AugmentationNames.NeuroFluxGovernor) {
+ //Already have this aug, just upgrade the level
+ return;
+ }
+ }
}
if (!reapply) {
- Player.augmentations.push(aug.name);
- ++Player.numAugmentations;
+ var ownedAug = new PlayerOwnedAugmentation(aug.name);
+ Player.augmentations.push(ownedAug);
}
}
+function PlayerOwnedAugmentation(name) {
+ this.name = name;
+ this.level = 1;
+}
+
PlayerObject.prototype.reapplyAllAugmentations = function() {
console.log("Re-applying augmentations");
//Reset multipliers
@@ -1974,7 +1890,17 @@ PlayerObject.prototype.reapplyAllAugmentations = function() {
this.work_money_mult = 1;
for (i = 0; i < this.augmentations.length; ++i) {
- var aug = Augmentations[this.augmentations[i]];
+ //Compatibility with new version
+ if (typeof this.augmentations[i] === 'string' || this.augmentations[i] instanceof String) {
+ var newOwnedAug = new PlayerOwnedAugmentation(this.augmentations[i]);
+ if (this.augmentations[i] == AugmentationNames.NeuroFluxGovernor) {
+ newOwnedAug.level = Augmentations[AugmentationNames.NeuroFluxGovernor].level;
+ }
+ this.augmentations[i] = newOwnedAug;
+ }
+
+ var augName = this.augmentations[i].name;
+ var aug = Augmentations[augName];
if (aug == null) {
console.log("WARNING: Invalid augmentation name");
continue;
@@ -1998,7 +1924,8 @@ function giveAllAugmentations() {
for (var name in Augmentations) {
var aug = Augmentations[name];
if (aug == null) {continue;}
- Player.augmentations.push(name);
+ var ownedAug = new PlayerOwnedAugmentation(name);
+ Player.augmentations.push(ownedAug);
}
Player.reapplyAllAugmentations();
}
\ No newline at end of file
diff --git a/src/Faction.js b/src/Faction.js
index 71929e8c4..bc4bc0fff 100644
--- a/src/Faction.js
+++ b/src/Faction.js
@@ -338,6 +338,8 @@ initFactions = function() {
PlayerObject.prototype.checkForFactionInvitations = function() {
invitedFactions = []; //Array which will hold all Factions th eplayer should be invited to
+ var numAugmentations = this.augmentations.length;
+
var company = Companies[this.companyName];
var companyRep = 0;
if (company != null) {
@@ -347,7 +349,7 @@ PlayerObject.prototype.checkForFactionInvitations = function() {
//Illuminati
var illuminatiFac = Factions["Illuminati"];
if (!illuminatiFac.isBanned && !illuminatiFac.isMember && !illuminatiFac.alreadyInvited &&
- this.numAugmentations >= 30 &&
+ numAugmentations >= 30 &&
this.money >= 150000000000 &&
this.hacking_skill >= 1200 &&
this.strength >= 1000 && this.defense >= 1000 &&
@@ -358,7 +360,7 @@ PlayerObject.prototype.checkForFactionInvitations = function() {
//Daedalus
var daedalusFac = Factions["Daedalus"];
if (!daedalusFac.isBanned && !daedalusFac.isMember && !daedalusFac.alreadyInvited &&
- this.numAugmentations >= 30 &&
+ numAugmentations >= 30 &&
this.money >= 100000000000 &&
(this.hacking_skill >= 2500 ||
(this.strength >= 1500 && this.defense >= 1500 &&
@@ -369,7 +371,7 @@ PlayerObject.prototype.checkForFactionInvitations = function() {
//The Covenant
var covenantFac = Factions["The Covenant"];
if (!covenantFac.isBanned && !covenantFac.isMember && !covenantFac.alreadyInvited &&
- this.numAugmentations >= 30 &&
+ numAugmentations >= 30 &&
this.money >= 75000000000 &&
this.hacking_skill >= 850 &&
this.strength >= 850 &&
diff --git a/src/Player.js b/src/Player.js
index 5cf95d6be..97c34f031 100644
--- a/src/Player.js
+++ b/src/Player.js
@@ -87,7 +87,6 @@ function PlayerObject() {
//Augmentations
this.augmentations = []; //Names of all installed augmentations
- this.numAugmentations = 0;
//Crime statistics (Total refers to this 'simulation'. Lifetime is forever)
this.karma = 0;
@@ -864,7 +863,7 @@ PlayerObject.prototype.startCreateProgramWork = function(programName, time, reqL
var res = programFile.split("-");
if (res.length != 3) {break;}
var percComplete = Number(res[1].slice(0, -1));
- if (isNaN(percComplete) || percComplete <= 0 || percComplete >= 100) {break;}
+ if (isNaN(percComplete) || percComplete < 0 || percComplete >= 100) {break;}
this.timeWorked = percComplete / 100 * this.timeNeededToCompleteWork;
Player.getHomeComputer().programs.splice(i, 1);
}
diff --git a/src/engine.js b/src/engine.js
index 8ee744759..a70cfb497 100644
--- a/src/engine.js
+++ b/src/engine.js
@@ -376,10 +376,9 @@ var Engine = {
}
for (var i = 0; i < Player.augmentations.length; ++i) {
- var augName = Player.augmentations[i];
+ var augName = Player.augmentations[i].name;
var aug = Augmentations[augName];
-
var item = document.createElement("li");
var hElem = document.createElement("h2");
var pElem = document.createElement("p");
@@ -647,6 +646,7 @@ var Engine = {
Engine.setDisplayElements(); //Sets variables for important DOM elements
Engine.init(); //Initialize buttons, work, etc.
CompanyPositions.init();
+ initAugmentations();
//Calculate the number of cycles have elapsed while offline
Engine._lastUpdate = new Date().getTime();