mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-11-18 05:33:54 +01:00
Added two new factions, Slum Snakes and Tetrads. Added 4 more augmentations for those factions. Fixed some issues with prestiging
This commit is contained in:
parent
9f9ea73651
commit
041f195241
@ -116,18 +116,32 @@ AugmentationNames = {
|
||||
Neurotrainer2: "Neurotrainer II",
|
||||
Neurotrainer3: "Neurotrainer III",
|
||||
Hypersight: "HyperSight Corneal Implant",
|
||||
LuminCloaking1: "LuminCloaking-V1 Skin Implant",
|
||||
LuminCloaking2: "LuminCloaking-V2 Skin Implant",
|
||||
HemoRecirculator: "HemoRecirculator",
|
||||
SmartSonar: "SmartSonar Implant"
|
||||
}
|
||||
|
||||
//TODO Something that decreases RAM usage of scripts
|
||||
initAugmentations = function() {
|
||||
//Combat stat augmentations
|
||||
var HemoRecirculator = new Augmentation(AugmentationNames.HemoRecirculator);
|
||||
HemoRecirculator.setInfo("A heart implant that greatly increases the body's ability to effectively use and pump " +
|
||||
"blood. <br><br> This augmentation increases all of the player's combat stats by 10%.")
|
||||
HemoRecirculator.setRequirements(5000, 10000000);
|
||||
HemoRecirculator.addToFactions(["Tetrads", "The Dark Army", "The Syndicate"]);
|
||||
if (augmentationExists(AugmentationNames.HemoRecirculator)) {
|
||||
HemoRecirculator.owned = Augmentations[AugmentationNames.HemoRecirculator].owned;
|
||||
delete Augmentations[AugmentationNames.HemoRecirculator];
|
||||
}
|
||||
AddToAugmentations(HemoRecirculator);
|
||||
|
||||
var Targeting1 = new Augmentation(AugmentationNames.Targeting1);
|
||||
Targeting1.setRequirements(3000, 3000000);
|
||||
Targeting1.setInfo("This cranial implant is embedded within the player's inner ear structure and optic nerves. It regulates and enhances the user's " +
|
||||
"balance and hand-eye coordination. It is also capable of augmenting reality by projecting digital information " +
|
||||
"directly onto the retina. These enhancements allow the player to better lock-on and keep track of enemies. <br><br>" +
|
||||
"This augmentation increases the player's dexterity by 10%.");
|
||||
Targeting1.addToFactions(["The Dark Army", "The Syndicate", "Sector-12", "Volhaven", "Ishima",
|
||||
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;
|
||||
@ -193,7 +207,7 @@ initAugmentations = function() {
|
||||
CombatRib1.setInfo("The human body's ribs are replaced with artificial ribs that automatically and continuously release cognitive " +
|
||||
"and performance-enhancing drugs into the bloodstream, improving the user's abilities in combat.<br><br>" +
|
||||
"This augmentation increases the player's strength and defense by 10%.");
|
||||
CombatRib1.addToFactions(["The Dark Army", "The Syndicate", "Sector-12", "Volhaven", "Ishima",
|
||||
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;
|
||||
@ -226,7 +240,7 @@ initAugmentations = function() {
|
||||
AddToAugmentations(CombatRib3);
|
||||
|
||||
var NanofiberWeave = new Augmentation(AugmentationNames.NanofiberWeave);
|
||||
NanofiberWeave.setRequirements(110000, 250000000);
|
||||
NanofiberWeave.setRequirements(75000, 250000000);
|
||||
NanofiberWeave.setInfo("Synthetic nanofibers are woven into the skin's extracellular matrix using electrospinning. " +
|
||||
"This improves the skin's ability to regenerate itself and protect the body from external stresses and forces.<br><br>" +
|
||||
"This augmentation increases the player's strength and defense by 30%.");
|
||||
@ -255,11 +269,11 @@ initAugmentations = function() {
|
||||
AddToAugmentations(SubdermalArmor);
|
||||
|
||||
var WiredReflexes = new Augmentation(AugmentationNames.WiredReflexes);
|
||||
WiredReflexes.setRequirements(1200, 500000);
|
||||
WiredReflexes.setRequirements(600, 500000);
|
||||
WiredReflexes.setInfo("Synthetic nerve-enhancements are injected into all major parts of the somatic nervous system, " +
|
||||
"supercharging the body's ability to send signals through neurons. This results in increased reflex speed.<br><br>" +
|
||||
"This augmentation increases the player's agility by 5%.");
|
||||
WiredReflexes.addToFactions(["Tian Di Hui", "Sector-12", "Volhaven", "Aevum", "Ishima",
|
||||
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;
|
||||
@ -332,7 +346,7 @@ initAugmentations = function() {
|
||||
|
||||
//Labor stat augmentations
|
||||
var SpeechProcessor = new Augmentation(AugmentationNames.SpeechProcessor); //Cochlear imlant?
|
||||
SpeechProcessor.setRequirements(4500, 25000000);
|
||||
SpeechProcessor.setRequirements(3500, 25000000);
|
||||
SpeechProcessor.setInfo("A cochlear implant with an embedded computer that analyzes incoming speech. " +
|
||||
"The embedded computer processes characteristics of incoming speech, such as tone " +
|
||||
"and inflection, to pick up on subtle cues and aid in social interaction.<br><br>" +
|
||||
@ -591,7 +605,7 @@ initAugmentations = function() {
|
||||
|
||||
//Work Augmentations
|
||||
var NuoptimalInjectorImplant = new Augmentation(AugmentationNames.NuoptimalInjectorImplant);
|
||||
NuoptimalInjectorImplant.setRequirements(2000, 3500000);
|
||||
NuoptimalInjectorImplant.setRequirements(2000, 3000000);
|
||||
NuoptimalInjectorImplant.setInfo("This torso implant automatically injects nootropic supplements into " +
|
||||
"the bloodstream to improve memory, increase focus, and provide other " +
|
||||
"cognitive enhancements.<br><br>" +
|
||||
@ -700,7 +714,7 @@ initAugmentations = function() {
|
||||
|
||||
//HacknetNode Augmentations
|
||||
var HacknetNodeCPUUpload = new Augmentation(AugmentationNames.HacknetNodeCPUUpload);
|
||||
HacknetNodeCPUUpload.setRequirements(1500, 3000000);
|
||||
HacknetNodeCPUUpload.setRequirements(1500, 2000000);
|
||||
HacknetNodeCPUUpload.setInfo("Uploads the architecture and design details of a Hacknet Node's CPU into " +
|
||||
"the brain. This allows the user to engineer custom hardware and software " +
|
||||
"for the Hacknet Node that provides better performance.<br><br>" +
|
||||
@ -715,7 +729,7 @@ initAugmentations = function() {
|
||||
AddToAugmentations(HacknetNodeCPUUpload);
|
||||
|
||||
var HacknetNodeCacheUpload = new Augmentation(AugmentationNames.HacknetNodeCacheUpload);
|
||||
HacknetNodeCacheUpload.setRequirements(1000, 2000000);
|
||||
HacknetNodeCacheUpload.setRequirements(1000, 1000000);
|
||||
HacknetNodeCacheUpload.setInfo("Uploads the architecture and design details of a Hacknet Node's main-memory cache " +
|
||||
"into the brain. This allows the user to engineer custom cache hardware for the " +
|
||||
"Hacknet Node that offers better performance.<br><br>" +
|
||||
@ -730,7 +744,7 @@ initAugmentations = function() {
|
||||
AddToAugmentations(HacknetNodeCacheUpload);
|
||||
|
||||
var HacknetNodeNICUpload = new Augmentation(AugmentationNames.HacknetNodeNICUpload);
|
||||
HacknetNodeNICUpload.setRequirements(750, 1000000);
|
||||
HacknetNodeNICUpload.setRequirements(750, 750000);
|
||||
HacknetNodeNICUpload.setInfo("Uploads the architecture and design details of a Hacknet Node's Network Interface Card (NIC) " +
|
||||
"into the brain. This allows the user to engineer a custom NIC for the Hacknet Node that " +
|
||||
"offers better performance.<br><br>" +
|
||||
@ -745,7 +759,7 @@ initAugmentations = function() {
|
||||
AddToAugmentations(HacknetNodeNICUpload);
|
||||
|
||||
var HacknetNodeKernelDNI = new Augmentation(AugmentationNames.HacknetNodeKernelDNI);
|
||||
HacknetNodeKernelDNI.setRequirements(4000, 10000000);
|
||||
HacknetNodeKernelDNI.setRequirements(4000, 90000000);
|
||||
HacknetNodeKernelDNI.setInfo("Installs a Direct-Neural Interface jack into the arm that is capable of connecting to a " +
|
||||
"Hacknet Node. This lets the user access and manipulate the Node's kernel using the mind's " +
|
||||
"electrochemical signals.<br><br>" +
|
||||
@ -770,17 +784,17 @@ initAugmentations = function() {
|
||||
}
|
||||
AddToAugmentations(HacknetNodeCoreDNI);
|
||||
|
||||
//Misc augmentations
|
||||
//Misc/Hybrid augmentations
|
||||
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);
|
||||
NeuroFluxGovernor.setRequirements(500 * mult, 500000 * mult);
|
||||
delete Augmentations[AugmentationNames.NeuroFluxGovernor];
|
||||
} else {
|
||||
NeuroFluxGovernor.setRequirements(500, 750000);
|
||||
NeuroFluxGovernor.setRequirements(500, 500000);
|
||||
}
|
||||
NeuroFluxGovernor.setInfo("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, " +
|
||||
@ -792,7 +806,7 @@ initAugmentations = function() {
|
||||
AddToAugmentations(NeuroFluxGovernor);
|
||||
|
||||
var Neurotrainer1 = new Augmentation(AugmentationNames.Neurotrainer1);
|
||||
Neurotrainer1.setRequirements(500, 750000);
|
||||
Neurotrainer1.setRequirements(500, 600000);
|
||||
Neurotrainer1.setInfo("A decentralized cranial implant that improves the brain's ability to learn. It is " +
|
||||
"installed by releasing millions of nanobots into the human brain, each of which " +
|
||||
"attaches to a different neural pathway to enhance the brain's ability to retain " +
|
||||
@ -806,7 +820,7 @@ initAugmentations = function() {
|
||||
AddToAugmentations(Neurotrainer1);
|
||||
|
||||
var Neurotrainer2 = new Augmentation(AugmentationNames.Neurotrainer2);
|
||||
Neurotrainer2.setRequirements(4000, 8000000);
|
||||
Neurotrainer2.setRequirements(4000, 5000000);
|
||||
Neurotrainer2.setInfo("A decentralized cranial implant that improves the brain's ability to learn. This " +
|
||||
"is a more powerful version of the Neurotrainer I augmentation, but it does not " +
|
||||
"require Neurotrainer I to be installed as a prerequisite.<br><br>" +
|
||||
@ -819,7 +833,7 @@ initAugmentations = function() {
|
||||
AddToAugmentations(Neurotrainer2);
|
||||
|
||||
var Neurotrainer3 = new Augmentation(AugmentationNames.Neurotrainer3);
|
||||
Neurotrainer3.setRequirements(10000, 25000000);
|
||||
Neurotrainer3.setRequirements(10000, 21000000);
|
||||
Neurotrainer3.setInfo("A decentralized cranial implant that improves the brain's ability to learn. This " +
|
||||
"is a more powerful version of the Neurotrainer I and Neurotrainer II augmentation, " +
|
||||
"but it does not require either of them to be installed as a prerequisite.<br><br>" +
|
||||
@ -846,6 +860,53 @@ initAugmentations = function() {
|
||||
delete Augmentations[AugmentationNames.Hypersight];
|
||||
}
|
||||
AddToAugmentations(Hypersight);
|
||||
|
||||
var LuminCloaking1 = new Augmentation(AugmentationNames.LuminCloaking1);
|
||||
LuminCloaking1.setInfo("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. <br><br>" +
|
||||
"This augmentation: <br>" +
|
||||
"Increases the player's agility by 5% <br>" +
|
||||
"Increases the amount of money the player gains from crimes by 5%");
|
||||
LuminCloaking1.setRequirements(600, 750000);
|
||||
LuminCloaking1.addToFactions(["Slum Snakes", "Tetrads"]);
|
||||
if (augmentationExists(AugmentationNames.LuminCloaking1)) {
|
||||
LuminCloaking1.owned = Augmentations[AugmentationNames.LuminCloaking1].owned;
|
||||
delete Augmentations[AugmentationNames.LuminCloaking1];
|
||||
}
|
||||
AddToAugmentations(LuminCloaking1);
|
||||
|
||||
var LuminCloaking2 = new Augmentation(AugmentationNames.LuminCloaking2);
|
||||
LuminCloaking2.setInfo("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. <br><br>" +
|
||||
"This augmentation: <br>" +
|
||||
"Increases the player's agility by 5% <br>" +
|
||||
"Increases the player's defense by 5% <br>" +
|
||||
"Increases the amount of money the player gains from crimes by 15%");
|
||||
LuminCloaking2.setRequirements(3000, 4000000);
|
||||
LuminCloaking2.addToFactions(["Slum Snakes", "Tetrads"]);
|
||||
if (augmentationExists(AugmentationNames.LuminCloaking2)) {
|
||||
LuminCloaking2.owned = Augmentations[AugmentationNames.LuminCloaking2].owned;
|
||||
delete Augmentations[AugmentationNames.LuminCloaking2];
|
||||
}
|
||||
AddToAugmentations(LuminCloaking2);
|
||||
|
||||
var SmartSonar = new Augmentation(AugmentationNames.SmartSonar);
|
||||
SmartSonar.setInfo("A cochlear implant that helps the player detect and locate enemies " +
|
||||
"using sound propagation. <br><br>" +
|
||||
"This augmentation: <br>" +
|
||||
"Increases the player's dexterity by 10%<br>" +
|
||||
"Increases the player's dexterity experience gain rate by 10%<br>" +
|
||||
"Increases the amount of money the player gains from crimes by 20%");
|
||||
SmartSonar.setRequirements(10000, 12000000);
|
||||
SmartSonar.addToFactions(["Slum Snakes"]);
|
||||
if (augmentationExists(AugmentationNames.SmartSonar)) {
|
||||
SmartSonar.owned = Augmentations[AugmentationNames.SmartSonar].owned;
|
||||
delete Augmentations[AugmentationNames.SmartSonar];
|
||||
}
|
||||
AddToAugmentations(SmartSonar);
|
||||
}
|
||||
|
||||
applyAugmentation = function(aug, faction) {
|
||||
@ -890,7 +951,7 @@ applyAugmentation = function(aug, faction) {
|
||||
Player.strength_mult *= 1.3;
|
||||
Player.defense_mult *= 1.3;
|
||||
break;
|
||||
case AugmentationNames.SubdermalArmor: //High level
|
||||
case AugmentationNames.SubdermalArmor: //High level
|
||||
Player.defense_mult *= 2.5;
|
||||
break;
|
||||
case AugmentationNames.WiredReflexes: //Low level
|
||||
@ -1100,7 +1161,26 @@ applyAugmentation = function(aug, faction) {
|
||||
Player.hacking_speed_mult *= .99;
|
||||
Player.hacking_money_mult *= 1.1;
|
||||
break;
|
||||
|
||||
case AugmentationNames.LuminCloaking1:
|
||||
Player.agility_mult *= 1.05;
|
||||
Player.crime_money_mult *= 1.05;
|
||||
break;
|
||||
case AugmentationNames.LuminCloaking2:
|
||||
Player.agility_mult *= 1.05;
|
||||
Player.defense_mult *= 1.05;
|
||||
Player.crime_money_mult *= 1.15;
|
||||
break;
|
||||
case AugmentationNames.HemoRecirculator:
|
||||
Player.strength_mult *= 1.1;
|
||||
Player.defense_mult *= 1.1;
|
||||
Player.agility_mult *= 1.1;
|
||||
Player.dexterity_mult *= 1.1;
|
||||
break;
|
||||
case AugmentationNames.SmartSonar:
|
||||
Player.dexterity_mult *= 1.1;
|
||||
Player.dexterity_exp_mult *= 1.1;
|
||||
Player.crime_money_mult *= 1.2;
|
||||
break;
|
||||
default:
|
||||
throw new Error("ERROR: No such augmentation!");
|
||||
return;
|
||||
|
@ -23,13 +23,6 @@ Faction.prototype.setInfo = function(inf) {
|
||||
this.info = inf;
|
||||
}
|
||||
|
||||
Faction.prototype.reset = function() {
|
||||
this.isMember = false;
|
||||
this.isBanned = false;
|
||||
this.playerReputation = 0;
|
||||
this.augmentations = [];
|
||||
}
|
||||
|
||||
Faction.prototype.toJSON = function() {
|
||||
return Generic_toJSON("Faction", this);
|
||||
}
|
||||
@ -140,6 +133,12 @@ initFactions = function() {
|
||||
var Silhouette = new Faction("Silhouette");
|
||||
Silhouette.setInfo(FactionInfo.SilhouetteInfo);
|
||||
AddToFactions(Silhouette);
|
||||
var Tetrads = new Faction("Tetrads"); //Low-medium level asian crime gang
|
||||
Tetrads.setInfo(FactionInfo.TetradsInfo);
|
||||
AddToFactions(Tetrads);
|
||||
var SlumSnakes = new Faction("Slum Snakes"); //Low level crime gang
|
||||
SlumSnakes.setInfo(FactionInfo.SlumSnakesInfo);
|
||||
AddToFactions(SlumSnakes);
|
||||
|
||||
//Earlygame factions - factions the player will prestige with early on that don't
|
||||
//belong in other categories
|
||||
@ -160,6 +159,7 @@ initFactions = function() {
|
||||
PlayerObject.prototype.checkForFactionInvitations = function() {
|
||||
if (Engine.Debug) {
|
||||
console.log("checkForFactionInvitations() called");
|
||||
console.log("karma: " + this.karma);
|
||||
}
|
||||
invitedFactions = []; //Array which will hold all Factions th eplayer should be invited to
|
||||
|
||||
@ -389,6 +389,23 @@ PlayerObject.prototype.checkForFactionInvitations = function() {
|
||||
invitedFactions.push(silhouetteFac);
|
||||
}
|
||||
|
||||
//Tetrads
|
||||
var tetradsFac = Factions["Tetrads"];
|
||||
if (tetradsFac.isBanned == false && tetradsFac.isMember == false &&
|
||||
(this.city == Locations.Chongqing || this.city == Locations.NewTokyo ||
|
||||
this.city == Locations.Ishima) && this.strength >= 75 && this.defense >= 75 &&
|
||||
this.dexterity >= 75 && this.agility >= 75 && this.karma <= -20) {
|
||||
invitedFactions.push(tetradsFac);
|
||||
}
|
||||
|
||||
//SlumSnakes
|
||||
var slumsnakesFac = Factions["Slum Snakes"];
|
||||
if (slumsnakesFac.isBanned == false && slumsnakesFac.isMember == false &&
|
||||
this.strength >= 30 && this.defense >= 30 && this.dexterity >= 30 &&
|
||||
this.agility >= 30 && this.karma <= -15 && this.money >= 1000000) {
|
||||
invitedFactions.push(slumsnakesFac);
|
||||
}
|
||||
|
||||
//Netburners
|
||||
var netburnersFac = Factions["Netburners"];
|
||||
var totalHacknetRam = 0;
|
||||
|
@ -113,6 +113,11 @@ FactionInfo = {
|
||||
TheSyndicateInfo: "TODO",
|
||||
|
||||
SilhouetteInfo: "Corporations are so big, you don't even know who you're working for. That's terror. Terror built into the system.",
|
||||
|
||||
TetradsInfo: "Following the Mandate of HEaven and Carrying out the way",
|
||||
|
||||
SlumSnakesInfo: "Slum Snakes rule!",
|
||||
|
||||
|
||||
//Earlygame factions - factions the player will prestige with early on that don't
|
||||
//belong in other categories
|
||||
|
@ -115,7 +115,7 @@ function PlayerObject() {
|
||||
this.numTimesHeistTotal = 0;
|
||||
this.numTimesHeistLifetime = 0;
|
||||
|
||||
//Achievements and achievement progress
|
||||
this.crime_money_mult = 1;
|
||||
|
||||
//Flag to let the engine know the player is starting an action
|
||||
// Current actions: hack, analyze
|
||||
@ -1042,7 +1042,7 @@ PlayerObject.prototype.startCrime = function(hackExp, strExp, defExp, dexExp, ag
|
||||
this.workDexExpGained = dexExp * this.dexterity_exp_mult;
|
||||
this.workAgiExpGained = agiExp * this.agility_exp_mult;
|
||||
this.workChaExpGained = chaExp * this.charisma_exp_mult;
|
||||
this.workMoneyGained = money; //TODO multiplier for this?
|
||||
this.workMoneyGained = money * this.crime_money_mult;
|
||||
|
||||
this.timeNeededToCompleteWork = time;
|
||||
|
||||
|
@ -114,6 +114,8 @@ function prestigeAugmentation() {
|
||||
}
|
||||
AllServers = {};
|
||||
|
||||
|
||||
|
||||
//Reset home computer (only the programs) and add to AllServers
|
||||
homeComp.programs.length = 0;
|
||||
homeComp.runningScripts = [];
|
||||
@ -125,12 +127,17 @@ function prestigeAugmentation() {
|
||||
Player.currentServer = homeComp.ip;
|
||||
Player.homeComputer = homeComp.ip;
|
||||
AddToAllServers(homeComp);
|
||||
|
||||
//Re-create foreign servers
|
||||
initForeignServers();
|
||||
|
||||
//Reset statistics of all scripts on home computer
|
||||
for (var i = 0; i < homeComp.scripts.length; ++i) {
|
||||
var s = homeComp.scripts[i];
|
||||
s.reset();
|
||||
delete s.moneyStolenMap;
|
||||
s.moneyStolenMap = new AllServersToMoneyMap();
|
||||
s.moneyStolenMap.printConsole();
|
||||
}
|
||||
|
||||
//Delete all running scripts objects
|
||||
@ -165,16 +172,21 @@ function prestigeAugmentation() {
|
||||
//Reset Factions
|
||||
for (var member in Factions) {
|
||||
if (Factions.hasOwnProperty(member)) {
|
||||
Factions[member].reset();
|
||||
delete Factions[member];
|
||||
}
|
||||
}
|
||||
Factions = {};
|
||||
|
||||
//Re-initialize Augmentations - This will update any changes
|
||||
//Stop a Terminal action if there is onerror
|
||||
if (Engine._actionInProgress) {
|
||||
Engine._actionInProgress = false;
|
||||
Terminal.finishAction(true);
|
||||
}
|
||||
|
||||
//Re-initialize things - This will update any changes
|
||||
initFactions();
|
||||
initAugmentations();
|
||||
|
||||
//Inititialization
|
||||
SpecialServerIps = new SpecialServerIpsMap();
|
||||
initForeignServers();
|
||||
initCompanies();
|
||||
|
||||
Engine.loadTerminalContent();
|
||||
|
@ -302,4 +302,18 @@ function AllServersToMoneyMap() {
|
||||
this[ip] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
AllServersToMoneyMap.prototype.printConsole = function() {
|
||||
console.log("Printing AllServersToMoneyMap");
|
||||
for (var ip in this) {
|
||||
if (this.hasOwnProperty(ip)) {
|
||||
var serv = AllServers[ip];
|
||||
if (serv == null) {
|
||||
console.log("Warning null server encountered with ip: " + ip);
|
||||
continue;
|
||||
}
|
||||
console.log(ip + "(" + serv.hostname + "): " + this[ip]);
|
||||
}
|
||||
}
|
||||
}
|
@ -268,7 +268,8 @@ var Engine = {
|
||||
'Hacknet Node level upgrade cost multiplier: ' + formatNumber(Player.hacknet_node_level_cost_mult * 100, 2) + '%<br><br>' +
|
||||
'Company reputation gain multiplier: ' + formatNumber(Player.company_rep_mult * 100, 2) + '%<br>' +
|
||||
'Faction reputation gain multiplier: ' + formatNumber(Player.faction_rep_mult * 100, 2) + '%<br>' +
|
||||
'Salary multiplier: ' + formatNumber(Player.work_money_mult * 100, 2) + '%<br><br><br>' +
|
||||
'Salary multiplier: ' + formatNumber(Player.work_money_mult * 100, 2) + '%<br>' +
|
||||
'Crime money multiplier: ' + formatNumber(Player.crime_money_mult * 100, 2) + '%<br><br><br>' +
|
||||
'<b>Misc</b><br><br>' +
|
||||
'Servers owned: ' + Player.purchasedServers.length + '<br>' +
|
||||
'Hacknet Nodes owned: ' + Player.hacknetNodes.length + '<br><br> ').replace( / /g, " " );
|
||||
@ -606,6 +607,8 @@ var Engine = {
|
||||
Engine.displayCharacterInfo();
|
||||
} else if (Engine.currentPage == Engine.Page.HacknetNodes) {
|
||||
updateHacknetNodesContent();
|
||||
} else if (Engine.currentPage == Engine.Page.CreateProgram) {
|
||||
displayCreateProgramContent();
|
||||
}
|
||||
|
||||
Engine.Counters.updateDisplays = 3;
|
||||
|
Loading…
Reference in New Issue
Block a user