diff --git a/src/Company.js b/src/Company.js index bc75d5a2e..d865f4011 100644 --- a/src/Company.js +++ b/src/Company.js @@ -203,46 +203,46 @@ CompanyPositions = { //Constructor: CompanyPosition(name, reqHack, reqStr, reqDef, reqDex, reqAgi, reqCha, reqRep, salary) //Software - SoftwareIntern: new CompanyPosition("Software Engineering Intern", 1, 0, 0, 0, 0, 0, 0, 1), - JuniorDev: new CompanyPosition("Junior Software Engineer", 50, 0, 0, 0, 0, 0, 9000, 5), - SeniorDev: new CompanyPosition("Senior Software Engineer", 250, 0, 0, 0, 0, 50, 36000, 12), - LeadDev: new CompanyPosition("Lead Software Developer", 400, 0, 0, 0, 0, 150, 144000, 15), + SoftwareIntern: new CompanyPosition("Software Engineering Intern", 1, 0, 0, 0, 0, 0, 0, 1.2), + JuniorDev: new CompanyPosition("Junior Software Engineer", 50, 0, 0, 0, 0, 0, 9000, 6), + SeniorDev: new CompanyPosition("Senior Software Engineer", 250, 0, 0, 0, 0, 50, 36000, 15), + LeadDev: new CompanyPosition("Lead Software Developer", 400, 0, 0, 0, 0, 150, 144000, 20), //IT - ITIntern: new CompanyPosition("IT Intern", 1, 0, 0, 0, 0, 0, 0, .8), - ITAnalyst: new CompanyPosition("IT Analyst", 25, 0, 0, 0, 0, 0, 9000, 2), - ITManager: new CompanyPosition("IT Manager", 150, 0, 0, 0, 0, 50, 36000, 8), - SysAdmin: new CompanyPosition("Systems Administrator", 250, 0, 0, 0, 0, 75, 144000, 13), - SecurityEngineer: new CompanyPosition("Security Engineer", 150, 0, 0, 0, 0, 25, 36000, 10), - NetworkEngineer: new CompanyPosition("Network Engineer", 150, 0, 0, 0, 0, 25, 36000, 10), - NetworkAdministrator: new CompanyPosition("Network Administrator", 250, 0, 0, 0, 0, 75, 144000, 12), + ITIntern: new CompanyPosition("IT Intern", 1, 0, 0, 0, 0, 0, 0, 1), + ITAnalyst: new CompanyPosition("IT Analyst", 25, 0, 0, 0, 0, 0, 9000, 4), + ITManager: new CompanyPosition("IT Manager", 150, 0, 0, 0, 0, 50, 36000, 14), + SysAdmin: new CompanyPosition("Systems Administrator", 250, 0, 0, 0, 0, 75, 144000, 14), + SecurityEngineer: new CompanyPosition("Security Engineer", 150, 0, 0, 0, 0, 25, 36000, 12), + NetworkEngineer: new CompanyPosition("Network Engineer", 150, 0, 0, 0, 0, 25, 36000, 12), + NetworkAdministrator: new CompanyPosition("Network Administrator", 250, 0, 0, 0, 0, 75, 144000, 15), //Technology management - HeadOfSoftware: new CompanyPosition("Head of Software", 500, 0, 0, 0, 0, 250, 288000, 30), - HeadOfEngineering: new CompanyPosition("Head of Engineering", 500, 0, 0, 0, 0, 250, 576000, 35), - VicePresident: new CompanyPosition("Vice President of Technology", 600, 0, 0, 0, 0, 400, 1152000, 40), + HeadOfSoftware: new CompanyPosition("Head of Software", 500, 0, 0, 0, 0, 250, 288000, 35), + HeadOfEngineering: new CompanyPosition("Head of Engineering", 500, 0, 0, 0, 0, 250, 576000, 40), + VicePresident: new CompanyPosition("Vice President of Technology", 600, 0, 0, 0, 0, 400, 1152000, 45), CTO: new CompanyPosition("Chief Technology Officer", 750, 0, 0, 0, 0, 500, 4608000, 50), //Business - BusinessIntern: new CompanyPosition("Business Intern", 1, 0, 0, 0, 0, 1, 0, 1), - BusinessAnalyst: new CompanyPosition("Business Analyst", 5, 0, 0, 0, 0, 50, 9000, 8), - BusinessManager: new CompanyPosition("Business Manager", 50, 0, 0, 0, 0, 100, 36000, 15), - OperationsManager: new CompanyPosition("Operations Manager", 50, 0, 0, 0, 0, 200, 144000, 20), + BusinessIntern: new CompanyPosition("Business Intern", 1, 0, 0, 0, 0, 1, 0, 1.2), + BusinessAnalyst: new CompanyPosition("Business Analyst", 5, 0, 0, 0, 0, 50, 9000, 10), + BusinessManager: new CompanyPosition("Business Manager", 50, 0, 0, 0, 0, 100, 36000, 18), + OperationsManager: new CompanyPosition("Operations Manager", 50, 0, 0, 0, 0, 200, 144000, 22), CFO: new CompanyPosition("Chief Financial Officer", 75, 0, 0, 0, 0, 500, 576000, 50), CEO: new CompanyPosition("Chief Executive Officer", 100, 0, 0, 0, 0, 750, 4608000, 100), //Non-tech/management jobs - Waiter: new CompanyPosition("Waiter", 0, 0, 0, 0, 0, 0, 0, .5), - Employee: new CompanyPosition("Employee", 0, 0, 0, 0, 0, 0, 0, .5), - PoliceOfficer: new CompanyPosition("Police Officer", 10, 100, 100, 100, 100, 9000, 4), - PoliceChief: new CompanyPosition("Police Chief", 100, 300, 300, 300, 300, 36000, 10), - SecurityGuard: new CompanyPosition("Security Guard", 0, 50, 50, 50, 50, 0, 3), - SecurityOfficer: new CompanyPosition("Security Officer", 25, 150, 150, 150, 150, 9000, 6), - SecuritySupervisor: new CompanyPosition("Security Supervisor", 25, 250, 250, 250, 250, 36000, 12), - HeadOfSecurity: new CompanyPosition("Head of Security", 50, 500, 500, 500, 500, 144000, 20), - FieldAgent: new CompanyPosition("Field Agent", 100, 100, 100, 100, 100, 9000, 4), - SecretAgent: new CompanyPosition("Secret Agent", 200, 250, 250, 250, 250, 36000, 10), - SpecialOperative: new CompanyPosition("Special Operative", 250, 500, 500, 500, 500, 144000, 20), + Waiter: new CompanyPosition("Waiter", 0, 0, 0, 0, 0, 0, 0, .75), + Employee: new CompanyPosition("Employee", 0, 0, 0, 0, 0, 0, 0, .75), + PoliceOfficer: new CompanyPosition("Police Officer", 10, 100, 100, 100, 100, 9000, 5), + PoliceChief: new CompanyPosition("Police Chief", 100, 300, 300, 300, 300, 36000, 12), + SecurityGuard: new CompanyPosition("Security Guard", 0, 50, 50, 50, 50, 0, 4), + SecurityOfficer: new CompanyPosition("Security Officer", 25, 150, 150, 150, 150, 9000, 8), + SecuritySupervisor: new CompanyPosition("Security Supervisor", 25, 250, 250, 250, 250, 36000, 15), + HeadOfSecurity: new CompanyPosition("Head of Security", 50, 500, 500, 500, 500, 144000, 22), + FieldAgent: new CompanyPosition("Field Agent", 100, 100, 100, 100, 100, 9000, 6), + SecretAgent: new CompanyPosition("Secret Agent", 200, 250, 250, 250, 250, 36000, 15), + SpecialOperative: new CompanyPosition("Special Operative", 250, 500, 500, 500, 500, 144000, 25), init: function() { //Argument order: hack, str, def, dex, agi, cha diff --git a/src/CreateProgram.js b/src/CreateProgram.js index 22ccd68ed..5822821f8 100644 --- a/src/CreateProgram.js +++ b/src/CreateProgram.js @@ -46,7 +46,7 @@ function displayCreateProgramContent() { //FTPCrack if (Player.getHomeComputer().programs.indexOf(Programs.FTPCrackProgram) == -1 && - Player.hacking_skill >= 125) { + Player.hacking_skill >= 100) { ftpCrackALink.style.display = "block"; ftpCrackALink.addEventListener("click", function() { Player.startCreateProgramWork(Programs.FTPCrackProgram, CONSTANTS.MillisecondsPerHour); @@ -55,7 +55,7 @@ function displayCreateProgramContent() { //relaySMTP if (Player.getHomeComputer().programs.indexOf(Programs.RelaySMTPProgram) == -1 && - Player.hacking_skill >= 300) { + Player.hacking_skill >= 250) { relaySmtpALink.style.display = "block"; relaySmtpAlink.addEventListener("click", function() { Player.startCreateProgramWork(Programs.RelaySMTPProgram. CONSTANTS.MillisecondsPer4Hours); diff --git a/src/Netscript/Evaluator.js b/src/Netscript/Evaluator.js index e6c47bbbe..45e146016 100644 --- a/src/Netscript/Evaluator.js +++ b/src/Netscript/Evaluator.js @@ -232,7 +232,7 @@ function evaluate(exp, workerScript) { return; } - workerScript.scriptRef.log("Attempting to hack " + ip + " in " + hackingTime + " seconds"); + workerScript.scriptRef.log("Attempting to hack " + ip + " in " + hackingTime.toFixed(3) + " seconds"); var p = new Promise(function(resolve, reject) { if (env.stopFlag) {reject(workerScript);} @@ -603,7 +603,7 @@ function scriptCalculateHackingChance(server) { //The same as Player's calculateHackingTime() function but takes in the server as an argument function scriptCalculateHackingTime(server) { var difficultyMult = server.requiredHackingSkill * server.hackDifficulty; - var skillFactor = (difficultyMult + 1000) / (Player.hacking_skill + 50); + var skillFactor = (2 * difficultyMult + 1000) / (Player.hacking_skill + 50); var hackingTime = skillFactor * Player.hacking_speed_mult; //This is in seconds return hackingTime; }