Rebalancing to job wages, hack time, and create program level requirements

This commit is contained in:
Daniel Xie 2017-05-02 12:06:46 -05:00
parent 6edd7f1a49
commit 36a261bd2e
3 changed files with 33 additions and 33 deletions

@ -203,46 +203,46 @@ CompanyPositions = {
//Constructor: CompanyPosition(name, reqHack, reqStr, reqDef, reqDex, reqAgi, reqCha, reqRep, salary) //Constructor: CompanyPosition(name, reqHack, reqStr, reqDef, reqDex, reqAgi, reqCha, reqRep, salary)
//Software //Software
SoftwareIntern: new CompanyPosition("Software Engineering Intern", 1, 0, 0, 0, 0, 0, 0, 1), 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, 5), 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, 12), 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, 15), LeadDev: new CompanyPosition("Lead Software Developer", 400, 0, 0, 0, 0, 150, 144000, 20),
//IT //IT
ITIntern: new CompanyPosition("IT Intern", 1, 0, 0, 0, 0, 0, 0, .8), 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, 2), 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, 8), 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, 13), 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, 10), 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, 10), 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, 12), NetworkAdministrator: new CompanyPosition("Network Administrator", 250, 0, 0, 0, 0, 75, 144000, 15),
//Technology management //Technology management
HeadOfSoftware: new CompanyPosition("Head of Software", 500, 0, 0, 0, 0, 250, 288000, 30), 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, 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, 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), CTO: new CompanyPosition("Chief Technology Officer", 750, 0, 0, 0, 0, 500, 4608000, 50),
//Business //Business
BusinessIntern: new CompanyPosition("Business Intern", 1, 0, 0, 0, 0, 1, 0, 1), 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, 8), 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, 15), 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, 20), 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), 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), CEO: new CompanyPosition("Chief Executive Officer", 100, 0, 0, 0, 0, 750, 4608000, 100),
//Non-tech/management jobs //Non-tech/management jobs
Waiter: new CompanyPosition("Waiter", 0, 0, 0, 0, 0, 0, 0, .5), Waiter: new CompanyPosition("Waiter", 0, 0, 0, 0, 0, 0, 0, .75),
Employee: new CompanyPosition("Employee", 0, 0, 0, 0, 0, 0, 0, .5), Employee: new CompanyPosition("Employee", 0, 0, 0, 0, 0, 0, 0, .75),
PoliceOfficer: new CompanyPosition("Police Officer", 10, 100, 100, 100, 100, 9000, 4), PoliceOfficer: new CompanyPosition("Police Officer", 10, 100, 100, 100, 100, 9000, 5),
PoliceChief: new CompanyPosition("Police Chief", 100, 300, 300, 300, 300, 36000, 10), PoliceChief: new CompanyPosition("Police Chief", 100, 300, 300, 300, 300, 36000, 12),
SecurityGuard: new CompanyPosition("Security Guard", 0, 50, 50, 50, 50, 0, 3), SecurityGuard: new CompanyPosition("Security Guard", 0, 50, 50, 50, 50, 0, 4),
SecurityOfficer: new CompanyPosition("Security Officer", 25, 150, 150, 150, 150, 9000, 6), SecurityOfficer: new CompanyPosition("Security Officer", 25, 150, 150, 150, 150, 9000, 8),
SecuritySupervisor: new CompanyPosition("Security Supervisor", 25, 250, 250, 250, 250, 36000, 12), SecuritySupervisor: new CompanyPosition("Security Supervisor", 25, 250, 250, 250, 250, 36000, 15),
HeadOfSecurity: new CompanyPosition("Head of Security", 50, 500, 500, 500, 500, 144000, 20), HeadOfSecurity: new CompanyPosition("Head of Security", 50, 500, 500, 500, 500, 144000, 22),
FieldAgent: new CompanyPosition("Field Agent", 100, 100, 100, 100, 100, 9000, 4), FieldAgent: new CompanyPosition("Field Agent", 100, 100, 100, 100, 100, 9000, 6),
SecretAgent: new CompanyPosition("Secret Agent", 200, 250, 250, 250, 250, 36000, 10), SecretAgent: new CompanyPosition("Secret Agent", 200, 250, 250, 250, 250, 36000, 15),
SpecialOperative: new CompanyPosition("Special Operative", 250, 500, 500, 500, 500, 144000, 20), SpecialOperative: new CompanyPosition("Special Operative", 250, 500, 500, 500, 500, 144000, 25),
init: function() { init: function() {
//Argument order: hack, str, def, dex, agi, cha //Argument order: hack, str, def, dex, agi, cha

@ -46,7 +46,7 @@ function displayCreateProgramContent() {
//FTPCrack //FTPCrack
if (Player.getHomeComputer().programs.indexOf(Programs.FTPCrackProgram) == -1 && if (Player.getHomeComputer().programs.indexOf(Programs.FTPCrackProgram) == -1 &&
Player.hacking_skill >= 125) { Player.hacking_skill >= 100) {
ftpCrackALink.style.display = "block"; ftpCrackALink.style.display = "block";
ftpCrackALink.addEventListener("click", function() { ftpCrackALink.addEventListener("click", function() {
Player.startCreateProgramWork(Programs.FTPCrackProgram, CONSTANTS.MillisecondsPerHour); Player.startCreateProgramWork(Programs.FTPCrackProgram, CONSTANTS.MillisecondsPerHour);
@ -55,7 +55,7 @@ function displayCreateProgramContent() {
//relaySMTP //relaySMTP
if (Player.getHomeComputer().programs.indexOf(Programs.RelaySMTPProgram) == -1 && if (Player.getHomeComputer().programs.indexOf(Programs.RelaySMTPProgram) == -1 &&
Player.hacking_skill >= 300) { Player.hacking_skill >= 250) {
relaySmtpALink.style.display = "block"; relaySmtpALink.style.display = "block";
relaySmtpAlink.addEventListener("click", function() { relaySmtpAlink.addEventListener("click", function() {
Player.startCreateProgramWork(Programs.RelaySMTPProgram. CONSTANTS.MillisecondsPer4Hours); Player.startCreateProgramWork(Programs.RelaySMTPProgram. CONSTANTS.MillisecondsPer4Hours);

@ -232,7 +232,7 @@ function evaluate(exp, workerScript) {
return; 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) { var p = new Promise(function(resolve, reject) {
if (env.stopFlag) {reject(workerScript);} 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 //The same as Player's calculateHackingTime() function but takes in the server as an argument
function scriptCalculateHackingTime(server) { function scriptCalculateHackingTime(server) {
var difficultyMult = server.requiredHackingSkill * server.hackDifficulty; 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 var hackingTime = skillFactor * Player.hacking_speed_mult; //This is in seconds
return hackingTime; return hackingTime;
} }