diff --git a/README.md b/README.md index daaa762c3..29746ed91 100644 --- a/README.md +++ b/README.md @@ -37,5 +37,3 @@ Private beta feedback window, 6) - Maybe show total $ somewhere onscreen at all (or most) times. $/sec would also be good to know, depending on if you want the player to know that. Bottom of the menu on the left is an empty enough place to keep these. - -CreateProgram affected by hacking skill \ No newline at end of file diff --git a/src/Augmentations.js b/src/Augmentations.js index 60b7b7ede..cccbf969d 100644 --- a/src/Augmentations.js +++ b/src/Augmentations.js @@ -1030,8 +1030,8 @@ initAugmentations = function() { "capable of psychoanalyzing and profiling the personality of " + "others using optimal imaging software.

" + "This augmentation:
" + - "Increases the player's charisma by 30%.
" + - "Increases the player's charisma experience gain rate by 30%
" + + "Increases the player's charisma by 50%.
" + + "Increases the player's charisma experience gain rate by 50%
" + "Increases the amount of reputation the player gains for a company by 25%
" + "Increases the amount of reputation the player gains for a faction by 25%"); SmartJaw.setRequirements(150000, 400000000); @@ -1079,7 +1079,7 @@ initAugmentations = function() { "of negligible senescence, preventing the body from " + "deteriorating with age.

" + "This augmentation increases all of the player's stats by 20%"); - nextSENS.setRequirements(200000, 300000000); + nextSENS.setRequirements(175000, 300000000); nextSENS.addToFactions(["Clarke Incorporated"]); if (augmentationExists(AugmentationNames.nextSENS)) { nextSENS.owned = Augmentations[AugmentationNames.nextSENS].owned; @@ -1226,7 +1226,6 @@ initAugmentations = function() { //and profits as a trader/from trading //Ishima - Infrared vision in eyes - Increase crime chance. Increase dexterity var INFRARet = new Augmentation(AugmentationNames.INFRARet); INFRARet.setInfo("A retina implant consisting of a tiny chip that sits behind the " + "retina. This implant lets people visually detect infrared radiation.

" + @@ -1494,7 +1493,6 @@ applyAugmentation = function(aug, faction) { Player.hacking_mult *= 1.1; break; case AugmentationNames.PCDNIOptimizer: //High level - //Allows u to better optimize code/pc when connecting with PC DNI..helps with software/IT jobs Player.company_rep_mult *= 1.25; Player.hacking_mult *= 1.25; break; @@ -1609,6 +1607,128 @@ applyAugmentation = function(aug, faction) { Player.agility_exp_mult *= 1.1; Player.charisma_exp_mult *= 1.1; break; + //Unique augmentations (for factions) + case AugmentationNames.QLink: + Player.hacking_speed_mult *= 0.9; + Player.hacking_chance_mult *= 1.3; + Player.hacking_money_mult *= 2; + break; + case AugmentationNames.SPTN97: + Player.strength_mult *= 1.75; + Player.defense_mult *= 1.75; + Player.dexterity_mult *= 1.75; + Player.agility_mult *= 1.75; + Player.hacking_mult *= 1.25; + break; + case AugmentationNames.HiveMind: + Player.hacking_grow_mult *= 3; + break; + case AugmentationNames.CordiARCReactor: + Player.strength_mult *= 1.4; + Player.defense_mult *= 1.4; + Player.dexterity_mult *= 1.4; + Player.agility_mult *= 1.4; + Player.strength_exp_mult *= 1.4; + Player.defense_exp_mult *= 1.4; + Player.dexterity_exp_mult *= 1.4; + Player.agility_exp_mult *= 1.4; + break; + case AugmentationNames.SmartJaw: + Player.charisma_mult *= 1.5; + Player.charisma_exp_mult *= 1.5; + Player.company_rep_mult *= 1.25; + Player.faction_rep_mult *= 1.25; + break; + case AugmentationNames.Neotra: + Player.strength_mult *= 1.75; + Player.defense_mult *= 1.75; + break; + case AugmentationNames.Xanipher: + Player.hacking_mult *= 1.25; + Player.strength_mult *= 1.25; + Player.defense_mult *= 1.25; + Player.dexterity_mult *= 1.25; + Player.agility_mult *= 1.25; + Player.charisma_mult *= 1.25; + Player.hacking_exp_mult *= 1.2; + Player.strength_exp_mult *= 1.2; + Player.defense_exp_mult *= 1.2; + Player.dexterity_exp_mult *= 1.2; + Player.agility_exp_mult *= 1.2; + Player.charisma_exp_mult *= 1.2; + break; + case AugmentationNames.nextSENS: + Player.hacking_mult *= 1.2; + Player.strength_mult *= 1.2; + Player.defense_mult *= 1.2; + Player.dexterity_mult *= 1.2; + Player.agility_mult *= 1.2; + Player.charisma_mult *= 1.2; + break; + case AugmentationNames.OmniTekInfoLoad: + Player.hacking_mult *= 1.3; + Player.hacking_exp_mult *= 1.3; + break; + case AugmentationNames.PhotosyntheticCells: + Player.strength_mult *= 1.5; + Player.defense_mult *= 1.5; + Player.agility_mult *= 1.5; + break; + case AugmentationNames.Neurolink: + Player.hacking_mult *= 1.2; + Player.hacking_exp_mult *= 1.25; + Player.hacking_chance_mult *= 1.1; + Player.hacking_speed_mult *= 0.95; + break; + case AugmentationNames.TheBlackHand: + Player.strength_mult *= 1.2; + Player.dexterity_mult *= 1.2; + Player.hacking_mult *= 1.1; + Player.hacking_speed_mult *= 0.98; + Player.hacking_money_mult *= 1.1; + break; + case AugmentationNames.CRTX42AA: + Player.hacking_mult *= 1.1; + Player.hacking_exp_mult *= 1.2; + break; + case AugmentationNames.Neuregen: + Player.hacking_exp_mult *= 1.75; + break; + case AugmentationNames.NutriGen: + Player.strength_exp_mult *= 1.2; + Player.defense_exp_mult *= 1.2; + Player.dexterity_exp_mult *= 1.2; + Player.agility_exp_mult *= 1.2; + break; + case AugmentationNames.INFRARet: + Player.crime_success_mult *= 1.25; + Player.crime_money_mult *= 1.1; + Player.dexterity_mult *= 1.1; + break; + case AugmentationNames.DermaForce: + Player.defense_mult *= 1.5; + break; + case AugmentationNames.GrapheneBrachiBlades: + Player.strength_mult *= 1.75; + Player.defense_mult *= 1.75; + break; + case AugmentationNames.GrapheneBionicArms: + Player.strength_mult *= 2; + Player.dexterity_mult *= 2; + break; + case AugmentationNames.BrachiBlades: + Player.strength_mult *= 1.25; + Player.defense_mult *= 1.25; + break; + case AugmentationNames.BionicArms: + Player.strength_mult *= 1.5; + Player.dexterity_mult *= 1.5; + break; + case AugmentationNames.SNA: + Player.work_money_mult *= 1.1; + Player.company_rep_mult *= 1.2; + Player.faction_rep_mult *= 1.2; + break; default: throw new Error("ERROR: No such augmentation!"); return; diff --git a/src/Crimes.js b/src/Crimes.js index 8b66557ba..3865fcaeb 100644 --- a/src/Crimes.js +++ b/src/Crimes.js @@ -78,6 +78,7 @@ function determineCrimeSuccess(crime, moneyGained) { dialogBoxCreate("ERR: Unrecognized crime type. This is probably a bug please contact the developer"); return; } + chance *= Player.crime_success_mult; if (Math.random() <= chance) { //Success Player.gainMoney(moneyGained); diff --git a/src/Player.js b/src/Player.js index 6588200fc..03ef98400 100644 --- a/src/Player.js +++ b/src/Player.js @@ -17,6 +17,7 @@ function PlayerObject() { this.hacking_chance_mult = 1; //Increase through ascensions/augmentations this.hacking_speed_mult = 1; //Decrease through ascensions/augmentations this.hacking_money_mult = 1; //Increase through ascensions/augmentations. Can't go above 1 + this.hacking_grow_mult = 1; //Note: "Lifetime" refers to current ascension, "total" refers to the entire game history //Accumulative stats and skills @@ -116,6 +117,7 @@ function PlayerObject() { this.numTimesHeistLifetime = 0; this.crime_money_mult = 1; + this.crime_success_mult = 1; //Flag to let the engine know the player is starting an action // Current actions: hack, analyze diff --git a/src/Prestige.js b/src/Prestige.js index 5f5acfbdd..b51ab2ca2 100644 --- a/src/Prestige.js +++ b/src/Prestige.js @@ -127,6 +127,16 @@ function prestigeAugmentation() { homeComp.isOnline = true; homeComp.ramUsed = 0; homeComp.programs.push(Programs.NukeProgram); + if (augmentationExists(AugmentationNames.Neurolink) && + Augmentations[AugmentationNames.Neurolink].owned) { + homeComp.programs.push(Programs.FTPCrackProgram); + homeComp.programs.push(Programs.RelaySMTPProgram); + } + if (augmentationExists(AugmentationNames.CashRoot) && + Augmentations[AugmentationNames.CashRoot].owned) { + Player.money = 1000000; + homeComp.programs.push(Programs.BruteSSHProgram); + } Player.currentServer = homeComp.ip; Player.homeComputer = homeComp.ip; AddToAllServers(homeComp);