Rebalanced infiltration by making base difficulty lower, slightly decreasing the difficulty gain, and increasing money/exp rewards

This commit is contained in:
danielyxie 2018-06-24 21:50:03 -05:00
parent 178066289e
commit 8c8574878c
4 changed files with 136 additions and 128 deletions

132
dist/engine.bundle.js vendored

@ -3107,8 +3107,8 @@ let CONSTANTS = {
TorRouterCost: 200000, TorRouterCost: 200000,
//Infiltration constants //Infiltration constants
InfiltrationBribeBaseAmount: 100000, //Amount per clearance level InfiltrationBribeBaseAmount: 100e3, //Amount per clearance level
InfiltrationMoneyValue: 2500, //Convert "secret" value to money InfiltrationMoneyValue: 3e3, //Convert "secret" value to money
InfiltrationRepValue: 1.4, //Convert "secret" value to faction reputation InfiltrationRepValue: 1.4, //Convert "secret" value to faction reputation
//Stock market constants //Stock market constants
@ -3490,7 +3490,11 @@ let CONSTANTS = {
"World Stock Exchange account and TIX API Access<br>", "World Stock Exchange account and TIX API Access<br>",
LatestUpdate: LatestUpdate:
"v0.38.1<br>" + "v0.39.0<br>" +
"* Added BitNode-7: Bladeburner 2079<br>" +
"* Infiltration base difficulty decreased by 10% for most locations<br>" +
"* Experience gains from Infiltration slightly increased<br>" +
"* Money gained from Infiltration increased by 20%<br>" +
"* Added 'var' declarations in Netscript 1.0 (only works with 'var', not 'let' or 'const')<br>" + "* Added 'var' declarations in Netscript 1.0 (only works with 'var', not 'let' or 'const')<br>" +
"* Script base RAM cost is now 1.6 GB (increased from 1.4 GB)<br>" + "* Script base RAM cost is now 1.6 GB (increased from 1.4 GB)<br>" +
"* While/for loops and if statements no longer cost RAM in scripts<br>" + "* While/for loops and if statements no longer cost RAM in scripts<br>" +
@ -3966,7 +3970,7 @@ function displayLocationContent() {
purchaseHomeRam.style.display = "block"; purchaseHomeRam.style.display = "block";
purchaseHomeCores.style.display = "block"; purchaseHomeCores.style.display = "block";
setInfiltrateButton(infiltrate, Locations.AevumECorp, setInfiltrateButton(infiltrate, Locations.AevumECorp,
6000, 116, 150, 8.5); 5400, 116, 150, 8);
break; break;
case Locations.AevumBachmanAndAssociates: case Locations.AevumBachmanAndAssociates:
@ -3979,7 +3983,7 @@ function displayLocationContent() {
businessJob.style.display = "block"; businessJob.style.display = "block";
securityJob.style.display = "block"; securityJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.AevumBachmanAndAssociates, setInfiltrateButton(infiltrate, Locations.AevumBachmanAndAssociates,
1500, 42, 60, 5.75); 1350, 42, 60, 5.25);
break; break;
case Locations.AevumClarkeIncorporated: case Locations.AevumClarkeIncorporated:
@ -3992,7 +3996,7 @@ function displayLocationContent() {
businessJob.style.display = "block"; businessJob.style.display = "block";
securityJob.style.display = "block"; securityJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.AevumClarkeIncorporated, setInfiltrateButton(infiltrate, Locations.AevumClarkeIncorporated,
2400, 34, 75, 5.4); 2160, 34, 75, 5);
break; break;
case Locations.AevumFulcrumTechnologies: case Locations.AevumFulcrumTechnologies:
@ -4012,7 +4016,7 @@ function displayLocationContent() {
purchaseHomeRam.style.display = "block"; purchaseHomeRam.style.display = "block";
purchaseHomeCores.style.display = "block"; purchaseHomeCores.style.display = "block";
setInfiltrateButton(infiltrate, Locations.AevumFulcrumTechnologies, setInfiltrateButton(infiltrate, Locations.AevumFulcrumTechnologies,
6000, 96, 100, 9); 5400, 96, 100, 8.5);
break; break;
case Locations.AevumAeroCorp: case Locations.AevumAeroCorp:
@ -4024,7 +4028,7 @@ function displayLocationContent() {
networkEngineerJob.style.display = "block"; networkEngineerJob.style.display = "block";
securityJob.style.display = "block"; securityJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.AevumAeroCorp, setInfiltrateButton(infiltrate, Locations.AevumAeroCorp,
2000, 32, 50, 6.3); 1800, 32, 50, 5.9);
break; break;
case Locations.AevumGalacticCybersystems: case Locations.AevumGalacticCybersystems:
@ -4037,7 +4041,7 @@ function displayLocationContent() {
networkEngineerJob.style.display = "block"; networkEngineerJob.style.display = "block";
businessJob.style.display = "block"; businessJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.AevumGalacticCybersystems, setInfiltrateButton(infiltrate, Locations.AevumGalacticCybersystems,
1400, 30, 50, 5.3); 1400, 30, 50, 4.9);
break; break;
case Locations.AevumWatchdogSecurity: case Locations.AevumWatchdogSecurity:
@ -4051,7 +4055,7 @@ function displayLocationContent() {
securityJob.style.display = "block"; securityJob.style.display = "block";
agentJob.style.display = "block"; agentJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.AevumWatchdogSecurity, setInfiltrateButton(infiltrate, Locations.AevumWatchdogSecurity,
850, 16, 30, 4.5); 765, 16, 30, 4);
break; break;
case Locations.AevumRhoConstruction: case Locations.AevumRhoConstruction:
@ -4060,7 +4064,7 @@ function displayLocationContent() {
softwareJob.style.display = "block"; softwareJob.style.display = "block";
businessJob.style.display = "block"; businessJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.AevumRhoConstruction, setInfiltrateButton(infiltrate, Locations.AevumRhoConstruction,
600, 12, 20, 2.7); 540, 12, 20, 2.5);
break; break;
case Locations.AevumPolice: case Locations.AevumPolice:
@ -4069,7 +4073,7 @@ function displayLocationContent() {
softwareJob.style.display = "block"; softwareJob.style.display = "block";
securityJob.style.display = "block"; securityJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.AevumPolice, setInfiltrateButton(infiltrate, Locations.AevumPolice,
700, 14, 25, 3.2); 630, 14, 25, 2.9);
break; break;
case Locations.AevumNetLinkTechnologies: case Locations.AevumNetLinkTechnologies:
@ -4088,7 +4092,7 @@ function displayLocationContent() {
purchaseHomeRam.style.display = "block"; purchaseHomeRam.style.display = "block";
purchaseHomeCores.style.display = "block"; purchaseHomeCores.style.display = "block";
setInfiltrateButton(infiltrate, Locations.AevumNetLinkTechnologies, setInfiltrateButton(infiltrate, Locations.AevumNetLinkTechnologies,
160, 10, 15, 1.8); 144, 10, 15, 1.65);
break; break;
case Locations.AevumCrushFitnessGym: case Locations.AevumCrushFitnessGym:
@ -4122,7 +4126,7 @@ function displayLocationContent() {
businessJob.style.display = "block"; businessJob.style.display = "block";
securityJob.style.display = "block"; securityJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.ChongqingKuaiGongInternational, setInfiltrateButton(infiltrate, Locations.ChongqingKuaiGongInternational,
5500, 48, 100, 9); 4950, 48, 100, 8.25);
break; break;
case Locations.ChongqingSolarisSpaceSystems: case Locations.ChongqingSolarisSpaceSystems:
@ -4134,7 +4138,7 @@ function displayLocationContent() {
networkEngineerJob.style.display = "block"; networkEngineerJob.style.display = "block";
securityJob.style.display = "block"; securityJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.ChongqingSolarisSpaceSystems, setInfiltrateButton(infiltrate, Locations.ChongqingSolarisSpaceSystems,
3600, 26, 75, 8.6); 3240, 26, 75, 8);
break; break;
@ -4163,7 +4167,7 @@ function displayLocationContent() {
businessJob.style.display = "block"; businessJob.style.display = "block";
securityJob.style.display = "block"; securityJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.Sector12MegaCorp, setInfiltrateButton(infiltrate, Locations.Sector12MegaCorp,
6000, 114, 125, 9.8); 6000, 114, 125, 9);
break; break;
case Locations.Sector12BladeIndustries: case Locations.Sector12BladeIndustries:
@ -4176,7 +4180,7 @@ function displayLocationContent() {
businessJob.style.display = "block"; businessJob.style.display = "block";
securityJob.style.display = "block"; securityJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.Sector12BladeIndustries, setInfiltrateButton(infiltrate, Locations.Sector12BladeIndustries,
3000, 46, 100, 6.7); 2700, 46, 100, 6.2);
break; break;
case Locations.Sector12FourSigma: case Locations.Sector12FourSigma:
@ -4189,7 +4193,7 @@ function displayLocationContent() {
businessJob.style.display = "block"; businessJob.style.display = "block";
securityJob.style.display = "block"; securityJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.Sector12FourSigma, setInfiltrateButton(infiltrate, Locations.Sector12FourSigma,
1500, 58, 100, 10.2); 1500, 58, 100, 9.5);
break; break;
case Locations.Sector12IcarusMicrosystems: case Locations.Sector12IcarusMicrosystems:
@ -4202,7 +4206,7 @@ function displayLocationContent() {
networkEngineerJob.style.display = "block"; networkEngineerJob.style.display = "block";
businessJob.style.display = "block"; businessJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.Sector12IcarusMicrosystems, setInfiltrateButton(infiltrate, Locations.Sector12IcarusMicrosystems,
900, 32, 70, 7.8); 810, 32, 70, 7.1);
break; break;
case Locations.Sector12UniversalEnergy: case Locations.Sector12UniversalEnergy:
@ -4215,7 +4219,7 @@ function displayLocationContent() {
networkEngineerJob.style.display = "block"; networkEngineerJob.style.display = "block";
businessJob.style.display = "block"; businessJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.Sector12UniversalEnergy, setInfiltrateButton(infiltrate, Locations.Sector12UniversalEnergy,
775, 24, 50, 6.3); 775, 24, 50, 5.8);
break; break;
case Locations.Sector12DeltaOne: case Locations.Sector12DeltaOne:
@ -4227,7 +4231,7 @@ function displayLocationContent() {
networkEngineerJob.style.display = "block"; networkEngineerJob.style.display = "block";
securityJob.style.display = "block"; securityJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.Sector12DeltaOne, setInfiltrateButton(infiltrate, Locations.Sector12DeltaOne,
1200, 38, 75, 6.3); 1080, 38, 75, 5.9);
break; break;
case Locations.Sector12CIA: case Locations.Sector12CIA:
@ -4240,7 +4244,7 @@ function displayLocationContent() {
securityJob.style.display = "block"; securityJob.style.display = "block";
agentJob.style.display = "block"; agentJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.Sector12CIA, setInfiltrateButton(infiltrate, Locations.Sector12CIA,
1450, 44, 80, 7.6); 1305, 44, 80, 6.9);
break; break;
case Locations.Sector12NSA: case Locations.Sector12NSA:
@ -4259,13 +4263,13 @@ function displayLocationContent() {
nsaBladeburner.innerText = "Enter Bladeburner Headquarters"; nsaBladeburner.innerText = "Enter Bladeburner Headquarters";
} else { } else {
setInfiltrateButton(infiltrate, Locations.Sector12NSA, setInfiltrateButton(infiltrate, Locations.Sector12NSA,
1400, 40, 80, 7.2); 1260, 40, 80, 6.7);
nsaBladeburner.innerText = "Apply to Bladeburner Division"; nsaBladeburner.innerText = "Apply to Bladeburner Division";
} }
nsaBladeburner.style.display = "block"; nsaBladeburner.style.display = "block";
} else { } else {
setInfiltrateButton(infiltrate, Locations.Sector12NSA, setInfiltrateButton(infiltrate, Locations.Sector12NSA,
1400, 40, 80, 7.2); 1260, 40, 80, 6.7);
} }
break; break;
@ -4281,7 +4285,7 @@ function displayLocationContent() {
purchaseHomeRam.style.display = "block"; purchaseHomeRam.style.display = "block";
purchaseHomeCores.style.display = "block"; purchaseHomeCores.style.display = "block";
setInfiltrateButton(infiltrate, Locations.Sector12AlphaEnterprises, setInfiltrateButton(infiltrate, Locations.Sector12AlphaEnterprises,
250, 14, 40, 2.7); 225, 14, 40, 2.5);
break; break;
case Locations.Sector12CarmichaelSecurity: case Locations.Sector12CarmichaelSecurity:
@ -4295,7 +4299,7 @@ function displayLocationContent() {
securityJob.style.display = "block"; securityJob.style.display = "block";
agentJob.style.display = "block"; agentJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.Sector12CarmichaelSecurity, setInfiltrateButton(infiltrate, Locations.Sector12CarmichaelSecurity,
500, 18, 60, 2.7); 450, 18, 60, 2.5);
break; break;
case Locations.Sector12FoodNStuff: case Locations.Sector12FoodNStuff:
@ -4353,7 +4357,7 @@ function displayLocationContent() {
securityEngineerJob.style.display = "block"; securityEngineerJob.style.display = "block";
networkEngineerJob.style.display = "block"; networkEngineerJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.NewTokyoDefComm, setInfiltrateButton(infiltrate, Locations.NewTokyoDefComm,
1300, 28, 70, 5.4); 1170, 28, 70, 5);
break; break;
case Locations.NewTokyoVitaLife: case Locations.NewTokyoVitaLife:
@ -4366,7 +4370,7 @@ function displayLocationContent() {
networkEngineerJob.style.display = "block"; networkEngineerJob.style.display = "block";
businessJob.style.display = "block"; businessJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.NewTokyoVitaLife, setInfiltrateButton(infiltrate, Locations.NewTokyoVitaLife,
750, 22, 100, 5); 675, 22, 100, 4.7);
break; break;
case Locations.NewTokyoGlobalPharmaceuticals: case Locations.NewTokyoGlobalPharmaceuticals:
@ -4380,7 +4384,7 @@ function displayLocationContent() {
businessJob.style.display = "block"; businessJob.style.display = "block";
securityJob.style.display = "block"; securityJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.NewTokyoGlobalPharmaceuticals, setInfiltrateButton(infiltrate, Locations.NewTokyoGlobalPharmaceuticals,
900, 24, 80, 5.4); 810, 24, 80, 5.1);
break; break;
case Locations.NewTokyoNoodleBar: case Locations.NewTokyoNoodleBar:
@ -4420,7 +4424,7 @@ function displayLocationContent() {
purchaseHomeRam.style.display = "block"; purchaseHomeRam.style.display = "block";
purchaseHomeCores.style.display = "block"; purchaseHomeCores.style.display = "block";
setInfiltrateButton(infiltrate, Locations.IshimaStormTechnologies, setInfiltrateButton(infiltrate, Locations.IshimaStormTechnologies,
700, 24, 100, 5.9); 630, 24, 100, 5.5);
break; break;
case Locations.IshimaNovaMedical: case Locations.IshimaNovaMedical:
@ -4433,7 +4437,7 @@ function displayLocationContent() {
networkEngineerJob.style.display = "block"; networkEngineerJob.style.display = "block";
businessJob.style.display = "block"; businessJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.IshimaNovaMedical, setInfiltrateButton(infiltrate, Locations.IshimaNovaMedical,
600, 20, 50, 4.5); 540, 20, 50, 4.25);
break; break;
case Locations.IshimaOmegaSoftware: case Locations.IshimaOmegaSoftware:
@ -4452,7 +4456,7 @@ function displayLocationContent() {
purchaseHomeRam.style.display = "block"; purchaseHomeRam.style.display = "block";
purchaseHomeCores.style.display = "block"; purchaseHomeCores.style.display = "block";
setInfiltrateButton(infiltrate, Locations.IshimaOmegaSoftware, setInfiltrateButton(infiltrate, Locations.IshimaOmegaSoftware,
200, 10, 40, 2.3); 180, 10, 40, 2.1);
break; break;
case Locations.VolhavenTravelAgency: case Locations.VolhavenTravelAgency:
@ -4485,7 +4489,7 @@ function displayLocationContent() {
purchase512gb.style.display = "block"; purchase512gb.style.display = "block";
purchase1tb.style.display = "block"; purchase1tb.style.display = "block";
setInfiltrateButton(infiltrate, Locations.VolhavenOmniTekIncorporated, setInfiltrateButton(infiltrate, Locations.VolhavenOmniTekIncorporated,
1500, 44, 100, 6.3); 1350, 44, 100, 5.9);
break; break;
case Locations.VolhavenNWO: case Locations.VolhavenNWO:
@ -4498,7 +4502,7 @@ function displayLocationContent() {
businessJob.style.display = "block"; businessJob.style.display = "block";
securityJob.style.display = "block"; securityJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.VolhavenNWO, setInfiltrateButton(infiltrate, Locations.VolhavenNWO,
1800, 56, 200, 7.2); 1620, 56, 200, 6.8);
break; break;
case Locations.VolhavenHeliosLabs: case Locations.VolhavenHeliosLabs:
@ -4510,7 +4514,7 @@ function displayLocationContent() {
securityEngineerJob.style.display = "block"; securityEngineerJob.style.display = "block";
networkEngineerJob.style.display = "block"; networkEngineerJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.VolhavenHeliosLabs, setInfiltrateButton(infiltrate, Locations.VolhavenHeliosLabs,
1200, 28, 75, 5.4); 1200, 28, 75, 5);
break; break;
case Locations.VolhavenOmniaCybersystems: case Locations.VolhavenOmniaCybersystems:
@ -4522,7 +4526,7 @@ function displayLocationContent() {
networkEngineerJob.style.display = "block"; networkEngineerJob.style.display = "block";
securityJob.style.display = "block"; securityJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.VolhavenOmniaCybersystems, setInfiltrateButton(infiltrate, Locations.VolhavenOmniaCybersystems,
900, 28, 90, 5.8); 810, 28, 90, 5.3);
break; break;
case Locations.VolhavenLexoCorp: case Locations.VolhavenLexoCorp:
@ -4536,7 +4540,7 @@ function displayLocationContent() {
businessJob.style.display = "block"; businessJob.style.display = "block";
securityJob.style.display = "block"; securityJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.VolhavenLexoCorp, setInfiltrateButton(infiltrate, Locations.VolhavenLexoCorp,
500, 14, 40, 3.1); 500, 14, 40, 2.8);
break; break;
case Locations.VolhavenSysCoreSecurities: case Locations.VolhavenSysCoreSecurities:
@ -4547,7 +4551,7 @@ function displayLocationContent() {
securityEngineerJob.style.display = "block"; securityEngineerJob.style.display = "block";
networkEngineerJob.style.display = "block"; networkEngineerJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.VolhavenSysCoreSecurities, setInfiltrateButton(infiltrate, Locations.VolhavenSysCoreSecurities,
600, 16, 50, 3.6); 540, 16, 50, 3.2);
break; break;
case Locations.VolhavenCompuTek: case Locations.VolhavenCompuTek:
@ -4569,7 +4573,7 @@ function displayLocationContent() {
purchaseHomeRam.style.display = "block"; purchaseHomeRam.style.display = "block";
purchaseHomeCores.style.display = "block"; purchaseHomeCores.style.display = "block";
setInfiltrateButton(infiltrate, Locations.VolhavenCompuTek, setInfiltrateButton(infiltrate, Locations.VolhavenCompuTek,
300, 12, 35, 3.1); 270, 12, 35, 2.75);
break; break;
case Locations.VolhavenMilleniumFitnessGym: case Locations.VolhavenMilleniumFitnessGym:
@ -73856,10 +73860,10 @@ let intWgt = _Constants_js__WEBPACK_IMPORTED_MODULE_1__["CONSTANTS"].Intelligenc
//Success: 5%, Failure 10%, -Karma //Success: 5%, Failure 10%, -Karma
function attemptInfiltrationKill(inst) { function attemptInfiltrationKill(inst) {
var chance = getInfiltrationKillChance(inst); var chance = getInfiltrationKillChance(inst);
inst.gainStrengthExp(inst.securityLevel / 85) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].strength_exp_mult; inst.gainStrengthExp(inst.securityLevel / 75) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].strength_exp_mult;
inst.gainDefenseExp(inst.securityLevel / 85) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].defense_exp_mult; inst.gainDefenseExp(inst.securityLevel / 75) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].defense_exp_mult;
inst.gainDexterityExp(inst.securityLevel / 85) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].dexterity_exp_mult; inst.gainDexterityExp(inst.securityLevel / 75) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].dexterity_exp_mult;
inst.gainAgilityExp(inst.securityLevel / 85) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].agility_exp_mult; inst.gainAgilityExp(inst.securityLevel / 75) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].agility_exp_mult;
if (Math.random() <= chance) { if (Math.random() <= chance) {
inst.securityLevel *= 1.05; inst.securityLevel *= 1.05;
return [true, 1.05]; return [true, 1.05];
@ -73882,10 +73886,10 @@ function getInfiltrationKillChance(inst) {
//Success: 3%, Failure: 10% //Success: 3%, Failure: 10%
function attemptInfiltrationKnockout(inst) { function attemptInfiltrationKnockout(inst) {
var chance = getInfiltrationKnockoutChance(inst); var chance = getInfiltrationKnockoutChance(inst);
inst.gainStrengthExp(inst.securityLevel / 80) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].strength_exp_mult; inst.gainStrengthExp(inst.securityLevel / 70) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].strength_exp_mult;
inst.gainDefenseExp(inst.securityLevel / 80) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].defense_exp_mult; inst.gainDefenseExp(inst.securityLevel / 70) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].defense_exp_mult;
inst.gainDexterityExp(inst.securityLevel / 80) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].dexterity_exp_mult; inst.gainDexterityExp(inst.securityLevel / 70) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].dexterity_exp_mult;
inst.gainAgilityExp(inst.securityLevel / 80) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].agility_exp_mult; inst.gainAgilityExp(inst.securityLevel / 70) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].agility_exp_mult;
if (Math.random() <= chance) { if (Math.random() <= chance) {
inst.securityLevel *= 1.03; inst.securityLevel *= 1.03;
return [true, 1.03]; return [true, 1.03];
@ -73907,9 +73911,9 @@ function getInfiltrationKnockoutChance(inst) {
//Success: 0%, Failure: 10% //Success: 0%, Failure: 10%
function attemptInfiltrationStealthKnockout(inst) { function attemptInfiltrationStealthKnockout(inst) {
var chance = getInfiltrationStealthKnockoutChance(inst); var chance = getInfiltrationStealthKnockoutChance(inst);
inst.gainStrengthExp(inst.securityLevel / 85) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].strength_exp_mult; inst.gainStrengthExp(inst.securityLevel / 75) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].strength_exp_mult;
inst.gainDexterityExp(inst.securityLevel / 65) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].dexterity_exp_mult; inst.gainDexterityExp(inst.securityLevel / 60) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].dexterity_exp_mult;
inst.gainAgilityExp(inst.securityLevel / 65) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].agility_exp_mult; inst.gainAgilityExp(inst.securityLevel / 60) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].agility_exp_mult;
if (Math.random() <= chance) { if (Math.random() <= chance) {
return [true, 1]; return [true, 1];
} else { } else {
@ -73931,9 +73935,9 @@ function getInfiltrationStealthKnockoutChance(inst) {
//Success: 0%, Failure: 5%, -Karma //Success: 0%, Failure: 5%, -Karma
function attemptInfiltrationAssassinate(inst) { function attemptInfiltrationAssassinate(inst) {
var chance = getInfiltrationAssassinateChance(inst); var chance = getInfiltrationAssassinateChance(inst);
inst.gainStrengthExp(inst.securityLevel / 85) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].strength_exp_mult; inst.gainStrengthExp(inst.securityLevel / 75) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].strength_exp_mult;
inst.gainDexterityExp(inst.securityLevel / 65) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].dexterity_exp_mult; inst.gainDexterityExp(inst.securityLevel / 55) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].dexterity_exp_mult;
inst.gainAgilityExp(inst.securityLevel / 65) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].agility_exp_mult; inst.gainAgilityExp(inst.securityLevel / 55) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].agility_exp_mult;
if (Math.random() <= chance) { if (Math.random() <= chance) {
return [true, 1]; return [true, 1];
} else { } else {
@ -73955,10 +73959,10 @@ function getInfiltrationAssassinateChance(inst) {
//Success: 5%, Failure: 10% //Success: 5%, Failure: 10%
function attemptInfiltrationDestroySecurity(inst) { function attemptInfiltrationDestroySecurity(inst) {
var chance = getInfiltrationDestroySecurityChance(inst); var chance = getInfiltrationDestroySecurityChance(inst);
inst.gainStrengthExp(inst.securityLevel / 85) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].strength_exp_mult; inst.gainStrengthExp(inst.securityLevel / 75) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].strength_exp_mult;
inst.gainDefenseExp(inst.securityLevel / 85) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].defense_exp_mult; inst.gainDefenseExp(inst.securityLevel / 75) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].defense_exp_mult;
inst.gainDexterityExp(inst.securityLevel / 85) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].dexterity_exp_mult; inst.gainDexterityExp(inst.securityLevel / 75) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].dexterity_exp_mult;
inst.gainAgilityExp(inst.securityLevel / 85) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].agility_exp_mult; inst.gainAgilityExp(inst.securityLevel / 75) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].agility_exp_mult;
if (Math.random() <= chance) { if (Math.random() <= chance) {
inst.securityLevel *= 1.05; inst.securityLevel *= 1.05;
return [true, 1.05]; return [true, 1.05];
@ -73982,8 +73986,8 @@ function getInfiltrationDestroySecurityChance(inst) {
//Success: 3%, Failure: 5% //Success: 3%, Failure: 5%
function attemptInfiltrationHack(inst) { function attemptInfiltrationHack(inst) {
var chance = getInfiltrationHackChance(inst); var chance = getInfiltrationHackChance(inst);
inst.gainHackingExp(inst.securityLevel / 40) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].hacking_exp_mult; inst.gainHackingExp(inst.securityLevel / 30) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].hacking_exp_mult;
inst.gainIntelligenceExp(inst.securityLevel / 690); inst.gainIntelligenceExp(inst.securityLevel / 680);
if (Math.random() <= chance) { if (Math.random() <= chance) {
inst.securityLevel *= 1.03; inst.securityLevel *= 1.03;
return [true, 1.03]; return [true, 1.03];
@ -74005,7 +74009,7 @@ function getInfiltrationHackChance(inst) {
//Success: 0%, Failure: 8% //Success: 0%, Failure: 8%
function attemptInfiltrationSneak(inst) { function attemptInfiltrationSneak(inst) {
var chance = getInfiltrationSneakChance(inst); var chance = getInfiltrationSneakChance(inst);
inst.gainAgilityExp(inst.securityLevel / 40) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].agility_exp_mult; inst.gainAgilityExp(inst.securityLevel / 30) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].agility_exp_mult;
if (Math.random() <= chance) { if (Math.random() <= chance) {
return [true, 1]; return [true, 1];
} else { } else {
@ -74026,7 +74030,7 @@ function getInfiltrationSneakChance(inst) {
//Success: 1%, Failure: 3% //Success: 1%, Failure: 3%
function attemptInfiltrationPickLockedDoor(inst) { function attemptInfiltrationPickLockedDoor(inst) {
var chance = getInfiltrationPickLockedDoorChance(inst); var chance = getInfiltrationPickLockedDoorChance(inst);
inst.gainDexterityExp(inst.securityLevel / 30) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].dexterity_exp_mult; inst.gainDexterityExp(inst.securityLevel / 25) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].dexterity_exp_mult;
if (Math.random() <= chance) { if (Math.random() <= chance) {
inst.securityLevel *= 1.01; inst.securityLevel *= 1.01;
return [true, 1.01]; return [true, 1.01];
@ -74047,7 +74051,7 @@ function getInfiltrationPickLockedDoorChance(inst) {
//Success: 0%, Failure: 15%, //Success: 0%, Failure: 15%,
function attemptInfiltrationBribe(inst) { function attemptInfiltrationBribe(inst) {
var chance = getInfiltrationBribeChance(inst); var chance = getInfiltrationBribeChance(inst);
inst.gainCharismaExp(inst.securityLevel / 10) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].charisma_exp_mult; inst.gainCharismaExp(inst.securityLevel / 8) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].charisma_exp_mult;
if (Math.random() <= chance) { if (Math.random() <= chance) {
return [true, 1]; return [true, 1];
} else { } else {
@ -74066,8 +74070,8 @@ function getInfiltrationBribeChance(inst) {
//Failure: 5% //Failure: 5%
function attemptInfiltrationEscape(inst) { function attemptInfiltrationEscape(inst) {
var chance = getInfiltrationEscapeChance(inst); var chance = getInfiltrationEscapeChance(inst);
inst.gainAgilityExp(inst.securityLevel / 35) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].agility_exp_mult; inst.gainAgilityExp(inst.securityLevel / 30) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].agility_exp_mult;
inst.gainDexterityExp(inst.securityLevel / 35) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].dexterity_exp_mult; inst.gainDexterityExp(inst.securityLevel / 30) * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].dexterity_exp_mult;
if (Math.random() <= chance) { if (Math.random() <= chance) {
return [true, 1]; return [true, 1];
} else { } else {

@ -106,8 +106,8 @@ let CONSTANTS = {
TorRouterCost: 200000, TorRouterCost: 200000,
//Infiltration constants //Infiltration constants
InfiltrationBribeBaseAmount: 100000, //Amount per clearance level InfiltrationBribeBaseAmount: 100e3, //Amount per clearance level
InfiltrationMoneyValue: 2500, //Convert "secret" value to money InfiltrationMoneyValue: 3e3, //Convert "secret" value to money
InfiltrationRepValue: 1.4, //Convert "secret" value to faction reputation InfiltrationRepValue: 1.4, //Convert "secret" value to faction reputation
//Stock market constants //Stock market constants
@ -489,7 +489,11 @@ let CONSTANTS = {
"World Stock Exchange account and TIX API Access<br>", "World Stock Exchange account and TIX API Access<br>",
LatestUpdate: LatestUpdate:
"v0.38.1<br>" + "v0.39.0<br>" +
"* Added BitNode-7: Bladeburner 2079<br>" +
"* Infiltration base difficulty decreased by 10% for most locations<br>" +
"* Experience gains from Infiltration slightly increased<br>" +
"* Money gained from Infiltration increased by 20%<br>" +
"* Added 'var' declarations in Netscript 1.0 (only works with 'var', not 'let' or 'const')<br>" + "* Added 'var' declarations in Netscript 1.0 (only works with 'var', not 'let' or 'const')<br>" +
"* Script base RAM cost is now 1.6 GB (increased from 1.4 GB)<br>" + "* Script base RAM cost is now 1.6 GB (increased from 1.4 GB)<br>" +
"* While/for loops and if statements no longer cost RAM in scripts<br>" + "* While/for loops and if statements no longer cost RAM in scripts<br>" +

@ -594,10 +594,10 @@ let intWgt = CONSTANTS.IntelligenceInfiltrationWeight;
//Success: 5%, Failure 10%, -Karma //Success: 5%, Failure 10%, -Karma
function attemptInfiltrationKill(inst) { function attemptInfiltrationKill(inst) {
var chance = getInfiltrationKillChance(inst); var chance = getInfiltrationKillChance(inst);
inst.gainStrengthExp(inst.securityLevel / 85) * Player.strength_exp_mult; inst.gainStrengthExp(inst.securityLevel / 75) * Player.strength_exp_mult;
inst.gainDefenseExp(inst.securityLevel / 85) * Player.defense_exp_mult; inst.gainDefenseExp(inst.securityLevel / 75) * Player.defense_exp_mult;
inst.gainDexterityExp(inst.securityLevel / 85) * Player.dexterity_exp_mult; inst.gainDexterityExp(inst.securityLevel / 75) * Player.dexterity_exp_mult;
inst.gainAgilityExp(inst.securityLevel / 85) * Player.agility_exp_mult; inst.gainAgilityExp(inst.securityLevel / 75) * Player.agility_exp_mult;
if (Math.random() <= chance) { if (Math.random() <= chance) {
inst.securityLevel *= 1.05; inst.securityLevel *= 1.05;
return [true, 1.05]; return [true, 1.05];
@ -620,10 +620,10 @@ function getInfiltrationKillChance(inst) {
//Success: 3%, Failure: 10% //Success: 3%, Failure: 10%
function attemptInfiltrationKnockout(inst) { function attemptInfiltrationKnockout(inst) {
var chance = getInfiltrationKnockoutChance(inst); var chance = getInfiltrationKnockoutChance(inst);
inst.gainStrengthExp(inst.securityLevel / 80) * Player.strength_exp_mult; inst.gainStrengthExp(inst.securityLevel / 70) * Player.strength_exp_mult;
inst.gainDefenseExp(inst.securityLevel / 80) * Player.defense_exp_mult; inst.gainDefenseExp(inst.securityLevel / 70) * Player.defense_exp_mult;
inst.gainDexterityExp(inst.securityLevel / 80) * Player.dexterity_exp_mult; inst.gainDexterityExp(inst.securityLevel / 70) * Player.dexterity_exp_mult;
inst.gainAgilityExp(inst.securityLevel / 80) * Player.agility_exp_mult; inst.gainAgilityExp(inst.securityLevel / 70) * Player.agility_exp_mult;
if (Math.random() <= chance) { if (Math.random() <= chance) {
inst.securityLevel *= 1.03; inst.securityLevel *= 1.03;
return [true, 1.03]; return [true, 1.03];
@ -645,9 +645,9 @@ function getInfiltrationKnockoutChance(inst) {
//Success: 0%, Failure: 10% //Success: 0%, Failure: 10%
function attemptInfiltrationStealthKnockout(inst) { function attemptInfiltrationStealthKnockout(inst) {
var chance = getInfiltrationStealthKnockoutChance(inst); var chance = getInfiltrationStealthKnockoutChance(inst);
inst.gainStrengthExp(inst.securityLevel / 85) * Player.strength_exp_mult; inst.gainStrengthExp(inst.securityLevel / 75) * Player.strength_exp_mult;
inst.gainDexterityExp(inst.securityLevel / 65) * Player.dexterity_exp_mult; inst.gainDexterityExp(inst.securityLevel / 60) * Player.dexterity_exp_mult;
inst.gainAgilityExp(inst.securityLevel / 65) * Player.agility_exp_mult; inst.gainAgilityExp(inst.securityLevel / 60) * Player.agility_exp_mult;
if (Math.random() <= chance) { if (Math.random() <= chance) {
return [true, 1]; return [true, 1];
} else { } else {
@ -669,9 +669,9 @@ function getInfiltrationStealthKnockoutChance(inst) {
//Success: 0%, Failure: 5%, -Karma //Success: 0%, Failure: 5%, -Karma
function attemptInfiltrationAssassinate(inst) { function attemptInfiltrationAssassinate(inst) {
var chance = getInfiltrationAssassinateChance(inst); var chance = getInfiltrationAssassinateChance(inst);
inst.gainStrengthExp(inst.securityLevel / 85) * Player.strength_exp_mult; inst.gainStrengthExp(inst.securityLevel / 75) * Player.strength_exp_mult;
inst.gainDexterityExp(inst.securityLevel / 65) * Player.dexterity_exp_mult; inst.gainDexterityExp(inst.securityLevel / 55) * Player.dexterity_exp_mult;
inst.gainAgilityExp(inst.securityLevel / 65) * Player.agility_exp_mult; inst.gainAgilityExp(inst.securityLevel / 55) * Player.agility_exp_mult;
if (Math.random() <= chance) { if (Math.random() <= chance) {
return [true, 1]; return [true, 1];
} else { } else {
@ -693,10 +693,10 @@ function getInfiltrationAssassinateChance(inst) {
//Success: 5%, Failure: 10% //Success: 5%, Failure: 10%
function attemptInfiltrationDestroySecurity(inst) { function attemptInfiltrationDestroySecurity(inst) {
var chance = getInfiltrationDestroySecurityChance(inst); var chance = getInfiltrationDestroySecurityChance(inst);
inst.gainStrengthExp(inst.securityLevel / 85) * Player.strength_exp_mult; inst.gainStrengthExp(inst.securityLevel / 75) * Player.strength_exp_mult;
inst.gainDefenseExp(inst.securityLevel / 85) * Player.defense_exp_mult; inst.gainDefenseExp(inst.securityLevel / 75) * Player.defense_exp_mult;
inst.gainDexterityExp(inst.securityLevel / 85) * Player.dexterity_exp_mult; inst.gainDexterityExp(inst.securityLevel / 75) * Player.dexterity_exp_mult;
inst.gainAgilityExp(inst.securityLevel / 85) * Player.agility_exp_mult; inst.gainAgilityExp(inst.securityLevel / 75) * Player.agility_exp_mult;
if (Math.random() <= chance) { if (Math.random() <= chance) {
inst.securityLevel *= 1.05; inst.securityLevel *= 1.05;
return [true, 1.05]; return [true, 1.05];
@ -720,8 +720,8 @@ function getInfiltrationDestroySecurityChance(inst) {
//Success: 3%, Failure: 5% //Success: 3%, Failure: 5%
function attemptInfiltrationHack(inst) { function attemptInfiltrationHack(inst) {
var chance = getInfiltrationHackChance(inst); var chance = getInfiltrationHackChance(inst);
inst.gainHackingExp(inst.securityLevel / 40) * Player.hacking_exp_mult; inst.gainHackingExp(inst.securityLevel / 30) * Player.hacking_exp_mult;
inst.gainIntelligenceExp(inst.securityLevel / 690); inst.gainIntelligenceExp(inst.securityLevel / 680);
if (Math.random() <= chance) { if (Math.random() <= chance) {
inst.securityLevel *= 1.03; inst.securityLevel *= 1.03;
return [true, 1.03]; return [true, 1.03];
@ -743,7 +743,7 @@ function getInfiltrationHackChance(inst) {
//Success: 0%, Failure: 8% //Success: 0%, Failure: 8%
function attemptInfiltrationSneak(inst) { function attemptInfiltrationSneak(inst) {
var chance = getInfiltrationSneakChance(inst); var chance = getInfiltrationSneakChance(inst);
inst.gainAgilityExp(inst.securityLevel / 40) * Player.agility_exp_mult; inst.gainAgilityExp(inst.securityLevel / 30) * Player.agility_exp_mult;
if (Math.random() <= chance) { if (Math.random() <= chance) {
return [true, 1]; return [true, 1];
} else { } else {
@ -764,7 +764,7 @@ function getInfiltrationSneakChance(inst) {
//Success: 1%, Failure: 3% //Success: 1%, Failure: 3%
function attemptInfiltrationPickLockedDoor(inst) { function attemptInfiltrationPickLockedDoor(inst) {
var chance = getInfiltrationPickLockedDoorChance(inst); var chance = getInfiltrationPickLockedDoorChance(inst);
inst.gainDexterityExp(inst.securityLevel / 30) * Player.dexterity_exp_mult; inst.gainDexterityExp(inst.securityLevel / 25) * Player.dexterity_exp_mult;
if (Math.random() <= chance) { if (Math.random() <= chance) {
inst.securityLevel *= 1.01; inst.securityLevel *= 1.01;
return [true, 1.01]; return [true, 1.01];
@ -785,7 +785,7 @@ function getInfiltrationPickLockedDoorChance(inst) {
//Success: 0%, Failure: 15%, //Success: 0%, Failure: 15%,
function attemptInfiltrationBribe(inst) { function attemptInfiltrationBribe(inst) {
var chance = getInfiltrationBribeChance(inst); var chance = getInfiltrationBribeChance(inst);
inst.gainCharismaExp(inst.securityLevel / 10) * Player.charisma_exp_mult; inst.gainCharismaExp(inst.securityLevel / 8) * Player.charisma_exp_mult;
if (Math.random() <= chance) { if (Math.random() <= chance) {
return [true, 1]; return [true, 1];
} else { } else {
@ -804,8 +804,8 @@ function getInfiltrationBribeChance(inst) {
//Failure: 5% //Failure: 5%
function attemptInfiltrationEscape(inst) { function attemptInfiltrationEscape(inst) {
var chance = getInfiltrationEscapeChance(inst); var chance = getInfiltrationEscapeChance(inst);
inst.gainAgilityExp(inst.securityLevel / 35) * Player.agility_exp_mult; inst.gainAgilityExp(inst.securityLevel / 30) * Player.agility_exp_mult;
inst.gainDexterityExp(inst.securityLevel / 35) * Player.dexterity_exp_mult; inst.gainDexterityExp(inst.securityLevel / 30) * Player.dexterity_exp_mult;
if (Math.random() <= chance) { if (Math.random() <= chance) {
return [true, 1]; return [true, 1];
} else { } else {

@ -432,7 +432,7 @@ function displayLocationContent() {
purchaseHomeRam.style.display = "block"; purchaseHomeRam.style.display = "block";
purchaseHomeCores.style.display = "block"; purchaseHomeCores.style.display = "block";
setInfiltrateButton(infiltrate, Locations.AevumECorp, setInfiltrateButton(infiltrate, Locations.AevumECorp,
6000, 116, 150, 8.5); 5400, 116, 150, 8);
break; break;
case Locations.AevumBachmanAndAssociates: case Locations.AevumBachmanAndAssociates:
@ -445,7 +445,7 @@ function displayLocationContent() {
businessJob.style.display = "block"; businessJob.style.display = "block";
securityJob.style.display = "block"; securityJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.AevumBachmanAndAssociates, setInfiltrateButton(infiltrate, Locations.AevumBachmanAndAssociates,
1500, 42, 60, 5.75); 1350, 42, 60, 5.25);
break; break;
case Locations.AevumClarkeIncorporated: case Locations.AevumClarkeIncorporated:
@ -458,7 +458,7 @@ function displayLocationContent() {
businessJob.style.display = "block"; businessJob.style.display = "block";
securityJob.style.display = "block"; securityJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.AevumClarkeIncorporated, setInfiltrateButton(infiltrate, Locations.AevumClarkeIncorporated,
2400, 34, 75, 5.4); 2160, 34, 75, 5);
break; break;
case Locations.AevumFulcrumTechnologies: case Locations.AevumFulcrumTechnologies:
@ -478,7 +478,7 @@ function displayLocationContent() {
purchaseHomeRam.style.display = "block"; purchaseHomeRam.style.display = "block";
purchaseHomeCores.style.display = "block"; purchaseHomeCores.style.display = "block";
setInfiltrateButton(infiltrate, Locations.AevumFulcrumTechnologies, setInfiltrateButton(infiltrate, Locations.AevumFulcrumTechnologies,
6000, 96, 100, 9); 5400, 96, 100, 8.5);
break; break;
case Locations.AevumAeroCorp: case Locations.AevumAeroCorp:
@ -490,7 +490,7 @@ function displayLocationContent() {
networkEngineerJob.style.display = "block"; networkEngineerJob.style.display = "block";
securityJob.style.display = "block"; securityJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.AevumAeroCorp, setInfiltrateButton(infiltrate, Locations.AevumAeroCorp,
2000, 32, 50, 6.3); 1800, 32, 50, 5.9);
break; break;
case Locations.AevumGalacticCybersystems: case Locations.AevumGalacticCybersystems:
@ -503,7 +503,7 @@ function displayLocationContent() {
networkEngineerJob.style.display = "block"; networkEngineerJob.style.display = "block";
businessJob.style.display = "block"; businessJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.AevumGalacticCybersystems, setInfiltrateButton(infiltrate, Locations.AevumGalacticCybersystems,
1400, 30, 50, 5.3); 1400, 30, 50, 4.9);
break; break;
case Locations.AevumWatchdogSecurity: case Locations.AevumWatchdogSecurity:
@ -517,7 +517,7 @@ function displayLocationContent() {
securityJob.style.display = "block"; securityJob.style.display = "block";
agentJob.style.display = "block"; agentJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.AevumWatchdogSecurity, setInfiltrateButton(infiltrate, Locations.AevumWatchdogSecurity,
850, 16, 30, 4.5); 765, 16, 30, 4);
break; break;
case Locations.AevumRhoConstruction: case Locations.AevumRhoConstruction:
@ -526,7 +526,7 @@ function displayLocationContent() {
softwareJob.style.display = "block"; softwareJob.style.display = "block";
businessJob.style.display = "block"; businessJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.AevumRhoConstruction, setInfiltrateButton(infiltrate, Locations.AevumRhoConstruction,
600, 12, 20, 2.7); 540, 12, 20, 2.5);
break; break;
case Locations.AevumPolice: case Locations.AevumPolice:
@ -535,7 +535,7 @@ function displayLocationContent() {
softwareJob.style.display = "block"; softwareJob.style.display = "block";
securityJob.style.display = "block"; securityJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.AevumPolice, setInfiltrateButton(infiltrate, Locations.AevumPolice,
700, 14, 25, 3.2); 630, 14, 25, 2.9);
break; break;
case Locations.AevumNetLinkTechnologies: case Locations.AevumNetLinkTechnologies:
@ -554,7 +554,7 @@ function displayLocationContent() {
purchaseHomeRam.style.display = "block"; purchaseHomeRam.style.display = "block";
purchaseHomeCores.style.display = "block"; purchaseHomeCores.style.display = "block";
setInfiltrateButton(infiltrate, Locations.AevumNetLinkTechnologies, setInfiltrateButton(infiltrate, Locations.AevumNetLinkTechnologies,
160, 10, 15, 1.8); 144, 10, 15, 1.65);
break; break;
case Locations.AevumCrushFitnessGym: case Locations.AevumCrushFitnessGym:
@ -588,7 +588,7 @@ function displayLocationContent() {
businessJob.style.display = "block"; businessJob.style.display = "block";
securityJob.style.display = "block"; securityJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.ChongqingKuaiGongInternational, setInfiltrateButton(infiltrate, Locations.ChongqingKuaiGongInternational,
5500, 48, 100, 9); 4950, 48, 100, 8.25);
break; break;
case Locations.ChongqingSolarisSpaceSystems: case Locations.ChongqingSolarisSpaceSystems:
@ -600,7 +600,7 @@ function displayLocationContent() {
networkEngineerJob.style.display = "block"; networkEngineerJob.style.display = "block";
securityJob.style.display = "block"; securityJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.ChongqingSolarisSpaceSystems, setInfiltrateButton(infiltrate, Locations.ChongqingSolarisSpaceSystems,
3600, 26, 75, 8.6); 3240, 26, 75, 8);
break; break;
@ -629,7 +629,7 @@ function displayLocationContent() {
businessJob.style.display = "block"; businessJob.style.display = "block";
securityJob.style.display = "block"; securityJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.Sector12MegaCorp, setInfiltrateButton(infiltrate, Locations.Sector12MegaCorp,
6000, 114, 125, 9.8); 6000, 114, 125, 9);
break; break;
case Locations.Sector12BladeIndustries: case Locations.Sector12BladeIndustries:
@ -642,7 +642,7 @@ function displayLocationContent() {
businessJob.style.display = "block"; businessJob.style.display = "block";
securityJob.style.display = "block"; securityJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.Sector12BladeIndustries, setInfiltrateButton(infiltrate, Locations.Sector12BladeIndustries,
3000, 46, 100, 6.7); 2700, 46, 100, 6.2);
break; break;
case Locations.Sector12FourSigma: case Locations.Sector12FourSigma:
@ -655,7 +655,7 @@ function displayLocationContent() {
businessJob.style.display = "block"; businessJob.style.display = "block";
securityJob.style.display = "block"; securityJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.Sector12FourSigma, setInfiltrateButton(infiltrate, Locations.Sector12FourSigma,
1500, 58, 100, 10.2); 1500, 58, 100, 9.5);
break; break;
case Locations.Sector12IcarusMicrosystems: case Locations.Sector12IcarusMicrosystems:
@ -668,7 +668,7 @@ function displayLocationContent() {
networkEngineerJob.style.display = "block"; networkEngineerJob.style.display = "block";
businessJob.style.display = "block"; businessJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.Sector12IcarusMicrosystems, setInfiltrateButton(infiltrate, Locations.Sector12IcarusMicrosystems,
900, 32, 70, 7.8); 810, 32, 70, 7.1);
break; break;
case Locations.Sector12UniversalEnergy: case Locations.Sector12UniversalEnergy:
@ -681,7 +681,7 @@ function displayLocationContent() {
networkEngineerJob.style.display = "block"; networkEngineerJob.style.display = "block";
businessJob.style.display = "block"; businessJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.Sector12UniversalEnergy, setInfiltrateButton(infiltrate, Locations.Sector12UniversalEnergy,
775, 24, 50, 6.3); 775, 24, 50, 5.8);
break; break;
case Locations.Sector12DeltaOne: case Locations.Sector12DeltaOne:
@ -693,7 +693,7 @@ function displayLocationContent() {
networkEngineerJob.style.display = "block"; networkEngineerJob.style.display = "block";
securityJob.style.display = "block"; securityJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.Sector12DeltaOne, setInfiltrateButton(infiltrate, Locations.Sector12DeltaOne,
1200, 38, 75, 6.3); 1080, 38, 75, 5.9);
break; break;
case Locations.Sector12CIA: case Locations.Sector12CIA:
@ -706,7 +706,7 @@ function displayLocationContent() {
securityJob.style.display = "block"; securityJob.style.display = "block";
agentJob.style.display = "block"; agentJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.Sector12CIA, setInfiltrateButton(infiltrate, Locations.Sector12CIA,
1450, 44, 80, 7.6); 1305, 44, 80, 6.9);
break; break;
case Locations.Sector12NSA: case Locations.Sector12NSA:
@ -725,13 +725,13 @@ function displayLocationContent() {
nsaBladeburner.innerText = "Enter Bladeburner Headquarters"; nsaBladeburner.innerText = "Enter Bladeburner Headquarters";
} else { } else {
setInfiltrateButton(infiltrate, Locations.Sector12NSA, setInfiltrateButton(infiltrate, Locations.Sector12NSA,
1400, 40, 80, 7.2); 1260, 40, 80, 6.7);
nsaBladeburner.innerText = "Apply to Bladeburner Division"; nsaBladeburner.innerText = "Apply to Bladeburner Division";
} }
nsaBladeburner.style.display = "block"; nsaBladeburner.style.display = "block";
} else { } else {
setInfiltrateButton(infiltrate, Locations.Sector12NSA, setInfiltrateButton(infiltrate, Locations.Sector12NSA,
1400, 40, 80, 7.2); 1260, 40, 80, 6.7);
} }
break; break;
@ -747,7 +747,7 @@ function displayLocationContent() {
purchaseHomeRam.style.display = "block"; purchaseHomeRam.style.display = "block";
purchaseHomeCores.style.display = "block"; purchaseHomeCores.style.display = "block";
setInfiltrateButton(infiltrate, Locations.Sector12AlphaEnterprises, setInfiltrateButton(infiltrate, Locations.Sector12AlphaEnterprises,
250, 14, 40, 2.7); 225, 14, 40, 2.5);
break; break;
case Locations.Sector12CarmichaelSecurity: case Locations.Sector12CarmichaelSecurity:
@ -761,7 +761,7 @@ function displayLocationContent() {
securityJob.style.display = "block"; securityJob.style.display = "block";
agentJob.style.display = "block"; agentJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.Sector12CarmichaelSecurity, setInfiltrateButton(infiltrate, Locations.Sector12CarmichaelSecurity,
500, 18, 60, 2.7); 450, 18, 60, 2.5);
break; break;
case Locations.Sector12FoodNStuff: case Locations.Sector12FoodNStuff:
@ -819,7 +819,7 @@ function displayLocationContent() {
securityEngineerJob.style.display = "block"; securityEngineerJob.style.display = "block";
networkEngineerJob.style.display = "block"; networkEngineerJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.NewTokyoDefComm, setInfiltrateButton(infiltrate, Locations.NewTokyoDefComm,
1300, 28, 70, 5.4); 1170, 28, 70, 5);
break; break;
case Locations.NewTokyoVitaLife: case Locations.NewTokyoVitaLife:
@ -832,7 +832,7 @@ function displayLocationContent() {
networkEngineerJob.style.display = "block"; networkEngineerJob.style.display = "block";
businessJob.style.display = "block"; businessJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.NewTokyoVitaLife, setInfiltrateButton(infiltrate, Locations.NewTokyoVitaLife,
750, 22, 100, 5); 675, 22, 100, 4.7);
break; break;
case Locations.NewTokyoGlobalPharmaceuticals: case Locations.NewTokyoGlobalPharmaceuticals:
@ -846,7 +846,7 @@ function displayLocationContent() {
businessJob.style.display = "block"; businessJob.style.display = "block";
securityJob.style.display = "block"; securityJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.NewTokyoGlobalPharmaceuticals, setInfiltrateButton(infiltrate, Locations.NewTokyoGlobalPharmaceuticals,
900, 24, 80, 5.4); 810, 24, 80, 5.1);
break; break;
case Locations.NewTokyoNoodleBar: case Locations.NewTokyoNoodleBar:
@ -886,7 +886,7 @@ function displayLocationContent() {
purchaseHomeRam.style.display = "block"; purchaseHomeRam.style.display = "block";
purchaseHomeCores.style.display = "block"; purchaseHomeCores.style.display = "block";
setInfiltrateButton(infiltrate, Locations.IshimaStormTechnologies, setInfiltrateButton(infiltrate, Locations.IshimaStormTechnologies,
700, 24, 100, 5.9); 630, 24, 100, 5.5);
break; break;
case Locations.IshimaNovaMedical: case Locations.IshimaNovaMedical:
@ -899,7 +899,7 @@ function displayLocationContent() {
networkEngineerJob.style.display = "block"; networkEngineerJob.style.display = "block";
businessJob.style.display = "block"; businessJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.IshimaNovaMedical, setInfiltrateButton(infiltrate, Locations.IshimaNovaMedical,
600, 20, 50, 4.5); 540, 20, 50, 4.25);
break; break;
case Locations.IshimaOmegaSoftware: case Locations.IshimaOmegaSoftware:
@ -918,7 +918,7 @@ function displayLocationContent() {
purchaseHomeRam.style.display = "block"; purchaseHomeRam.style.display = "block";
purchaseHomeCores.style.display = "block"; purchaseHomeCores.style.display = "block";
setInfiltrateButton(infiltrate, Locations.IshimaOmegaSoftware, setInfiltrateButton(infiltrate, Locations.IshimaOmegaSoftware,
200, 10, 40, 2.3); 180, 10, 40, 2.1);
break; break;
case Locations.VolhavenTravelAgency: case Locations.VolhavenTravelAgency:
@ -951,7 +951,7 @@ function displayLocationContent() {
purchase512gb.style.display = "block"; purchase512gb.style.display = "block";
purchase1tb.style.display = "block"; purchase1tb.style.display = "block";
setInfiltrateButton(infiltrate, Locations.VolhavenOmniTekIncorporated, setInfiltrateButton(infiltrate, Locations.VolhavenOmniTekIncorporated,
1500, 44, 100, 6.3); 1350, 44, 100, 5.9);
break; break;
case Locations.VolhavenNWO: case Locations.VolhavenNWO:
@ -964,7 +964,7 @@ function displayLocationContent() {
businessJob.style.display = "block"; businessJob.style.display = "block";
securityJob.style.display = "block"; securityJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.VolhavenNWO, setInfiltrateButton(infiltrate, Locations.VolhavenNWO,
1800, 56, 200, 7.2); 1620, 56, 200, 6.8);
break; break;
case Locations.VolhavenHeliosLabs: case Locations.VolhavenHeliosLabs:
@ -976,7 +976,7 @@ function displayLocationContent() {
securityEngineerJob.style.display = "block"; securityEngineerJob.style.display = "block";
networkEngineerJob.style.display = "block"; networkEngineerJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.VolhavenHeliosLabs, setInfiltrateButton(infiltrate, Locations.VolhavenHeliosLabs,
1200, 28, 75, 5.4); 1200, 28, 75, 5);
break; break;
case Locations.VolhavenOmniaCybersystems: case Locations.VolhavenOmniaCybersystems:
@ -988,7 +988,7 @@ function displayLocationContent() {
networkEngineerJob.style.display = "block"; networkEngineerJob.style.display = "block";
securityJob.style.display = "block"; securityJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.VolhavenOmniaCybersystems, setInfiltrateButton(infiltrate, Locations.VolhavenOmniaCybersystems,
900, 28, 90, 5.8); 810, 28, 90, 5.3);
break; break;
case Locations.VolhavenLexoCorp: case Locations.VolhavenLexoCorp:
@ -1002,7 +1002,7 @@ function displayLocationContent() {
businessJob.style.display = "block"; businessJob.style.display = "block";
securityJob.style.display = "block"; securityJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.VolhavenLexoCorp, setInfiltrateButton(infiltrate, Locations.VolhavenLexoCorp,
500, 14, 40, 3.1); 500, 14, 40, 2.8);
break; break;
case Locations.VolhavenSysCoreSecurities: case Locations.VolhavenSysCoreSecurities:
@ -1013,7 +1013,7 @@ function displayLocationContent() {
securityEngineerJob.style.display = "block"; securityEngineerJob.style.display = "block";
networkEngineerJob.style.display = "block"; networkEngineerJob.style.display = "block";
setInfiltrateButton(infiltrate, Locations.VolhavenSysCoreSecurities, setInfiltrateButton(infiltrate, Locations.VolhavenSysCoreSecurities,
600, 16, 50, 3.6); 540, 16, 50, 3.2);
break; break;
case Locations.VolhavenCompuTek: case Locations.VolhavenCompuTek:
@ -1035,7 +1035,7 @@ function displayLocationContent() {
purchaseHomeRam.style.display = "block"; purchaseHomeRam.style.display = "block";
purchaseHomeCores.style.display = "block"; purchaseHomeCores.style.display = "block";
setInfiltrateButton(infiltrate, Locations.VolhavenCompuTek, setInfiltrateButton(infiltrate, Locations.VolhavenCompuTek,
300, 12, 35, 3.1); 270, 12, 35, 2.75);
break; break;
case Locations.VolhavenMilleniumFitnessGym: case Locations.VolhavenMilleniumFitnessGym: