diff --git a/Perk.js b/Perk.js new file mode 100644 index 000000000..b0c07b165 --- /dev/null +++ b/Perk.js @@ -0,0 +1,116 @@ +/* Perks + * Defines Perks that are unlocked when you gain enough reputation in a + * company or faction + */ +Perks = { + FreeCoffeeCompanyPerk: "Free Coffee", + FreeFoodCompanyPerk: "Free Food", + NetworkingCompanyPerk: "Networking", + PersonalTrainerCompanyPerk: "Personal Trainer", + KnowledgeBaseCompanyPerk: "Company Knowledge Base", + NootropicsCompanyPerk: "Company-provided Nootropics", + + NetworkingFactionPerk: "Networking", + SupercomputerFactionPerk: "Remote Supercomputer Use", + VPNFactionPerk: "High-Speed VPN", + PrivateServerFactionPerk: "Private Faction Server", + InsiderKnowledgeFactionPerk: "Insider Knowledge", +} + +function Perk(name, reqRep, info) { + this.name = name; + this.info = info; + this.requiredRep = reqRep; + + //Company/faction specific multipliers + this.mult1 = 1; + this.mult2 = 1; + this.mult3 = 1; + + /* Properties below set when a Perk is gained by the player */ + this.applied = false; + + this.companyPerk = false; + this.companyName = ""; + + this.factionPerk = false; + this.factionName = ""; +} + +Perk.prototype.setCompany = function(companyName) { + if (this.factionPerk) { + console.log("ERR: Perk cannot be both faction and company perk"); + return; + } + this.companyPerk = true; + this.companyName = companyName; +} + +Perk.prototype.setFaction = function(factionName) { + if (this.companyPerk) { + console.log("ERR: Perk cannot be both faction and company perk"); + return; + } + this.factionPerk = true; + this.factionName = factionName; +} + +Perk.prototype.toJSON = function() { + return Generic_toJSON("Perk", this); +} + +Perk.fromJSON = function(value) { + return Generic_fromJSON(Perk, value.data); +} + +Reviver.constructors.Perk = Perk; + +/* Company Perks */ +//Free Coffee - Increased money and hacking exp gain +//Free Food - Increased combat stat gain +//Networking - Company Rep Gain Rate + , Charisma exp gain rate + +//Company Personal Trainer - Increase in combat stat gain rates +//Knowledge Base - Increase hacking skill by some percentage +//Nootropics - Increase hacking mult, and hacking exp gain mult + +/* Faction Perks */ +//Networking - Faction Rep Gain Rate + , Chariasma Exp Gain Rate + +//Remote Supercomputer - increase in hacking speed, chance, and money +//High Speed VPN - Hack chance increase +//Private Server - Gives you a server with a lot of RAM that you can use +//Insider Knowledge - Ppl in faction from other companies have insider information that lets you hack +// other servers easier. Increase in hack chance + +applyPerk = function(perk) { + switch (perk.name) { + case Perks.FreeCoffeeCompanyPerk: + break; + case Perks.FreeFoodCompanyPerk: + break; + case Perks.NetworkingCompanyPerk: + break; + case Perks.PersonalTrainerCompanyPerk: + break; + case Perks.KnowledgeBaseCompanyPerk: + break; + case Perks.NootropicsCompanyPerk: + break; + case Perks.NetworkingFactionPerk: + break; + case Perks.SupercomputerFactionPerk: + break; + case Perks.VPNFactionPerk: + break; + case Perks.PrivateServerFactionPerk: + break; + case Perks.InsiderKnowledgeFactionPerk: + break; + default: + console.log("WARNING: Unrecognized perk: " + perk.name); + return; + } +} + +losePerk = function(perk) { + +} \ No newline at end of file diff --git a/README.md b/README.md index 9376c5fb4..14a5a1574 100644 --- a/README.md +++ b/README.md @@ -68,6 +68,7 @@ Tasks TODO: Create new menu page for purchased servers + Gyms + Traveling Update CONSTANTS.HelpText Account for Max possible int when gaining exp (it will overflow) diff --git a/src/Augmentations.js b/src/Augmentations.js index 0ad662613..dfdaddf36 100644 --- a/src/Augmentations.js +++ b/src/Augmentations.js @@ -48,8 +48,6 @@ AddToAugmentations = function(aug) { Augmentations[name] = aug; } -//TODO Set descriptions for all - //TODO Something that decreases RAM usage of scripts initAugmentations = function() { //Combat stat augmentations @@ -486,6 +484,11 @@ initAugmentations = function() { } applyAugmentation = function(aug, faction) { + if (aug.owned) { + throw new Error("This Augmentation is already owned/applied...somethings wrong"); + return; + } + switch(aug.name) { //Combat stat augmentations case "Augmented Targeting I": diff --git a/src/Constants.js b/src/Constants.js index 7376b1e3d..f1bb6c4a5 100644 --- a/src/Constants.js +++ b/src/Constants.js @@ -17,14 +17,6 @@ CONSTANTS = { //Maximum number of log entries for a script MaxLogCapacity: 20, - //Programs - NukeProgram: "NUKE.exe", - BruteSSHProgram: "BruteSSH.exe", - FTPCrackProgram: "FTPCrack.exe", - RelaySMTPProgram: "relaySMTP.exe", - HTTPWormProgram: "HTTPWorm.exe", - SQLInjectProgram: "SQLInject.exe", - //Text that is displayed when the 'help' command is ran in Terminal HelpText: "analyze Get statistics and information about current machine
" + "clear Clear all text on the terminal
" + @@ -144,8 +136,4 @@ CONSTANTS = { "you have installed. ", - - - - } \ No newline at end of file diff --git a/src/CreateProgram.js b/src/CreateProgram.js index f6b82c36c..caf59826e 100644 --- a/src/CreateProgram.js +++ b/src/CreateProgram.js @@ -1,4 +1,13 @@ /* Create programs */ +Programs = { + NukeProgram: "NUKE.exe", + BruteSSHProgram: "BruteSSH.exe", + FTPCrackProgram: "FTPCrack.exe", + RelaySMTPProgram: "relaySMTP.exe", + HTTPWormProgram: "HTTPWorm.exe", + SQLInjectProgram: "SQLInject.exe", +} + function displayCreateProgramContent() { var portHackALink = document.getElementById("create-program-porthack"); var bruteSshALink = document.getElementById("create-program-brutessh"); @@ -17,55 +26,55 @@ function displayCreateProgramContent() { //TODO These addEventListeners should only happen once so I guess just put them in Engine.init() //PortHack.exe (in case you delete it lol) - if (Player.getHomeComputer().programs.indexOf(CONSTANTS.NukeProgram) == -1) { + if (Player.getHomeComputer().programs.indexOf(Programs.NukeProgram) == -1) { portHackALink.style.display = "block"; portHackALink.addEventListener("click", function() { - createProgram(CONSTANTS.PortHackProgram); + createProgram(Programs.PortHackProgram); } } //BruteSSH - if (Player.getHomeComputer().programs.indexOf(CONSTANTS.BruteSSHProgram) == -1 && + if (Player.getHomeComputer().programs.indexOf(Programs.BruteSSHProgram) == -1 && Player.hacking_skill >= 50) { bruteSshALink.style.display = "block"; bruteSshALink.addEventListener("click", function() { - createProgram(CONSTANTS.BruteSSHProgram); + createProgram(Programs.BruteSSHProgram); } } //FTPCrack - if (Player.getHomeComputer().programs.indexOf(CONSTANTS.FTPCrackProgram) == -1 && + if (Player.getHomeComputer().programs.indexOf(Programs.FTPCrackProgram) == -1 && Player.hacking_skill >= 125) { ftpCrackALink.style.display = "block"; ftpCrackALink.addEventListener("click", function() { - createProgram(COSNTANTS.FTPCrackProgram); + createProgram(Programs.FTPCrackProgram); } } //relaySMTP - if (Player.getHomeComputer().programs.indexOf(CONSTANTS.RelaySMTPProgram == -1 && + if (Player.getHomeComputer().programs.indexOf(Programs.RelaySMTPProgram == -1 && Player.hacking_skill >= 300) { relaySmtpALink.style.display = "block"; relaySmtpAlink.addEventListener("click", function() { - createProgram(CONSTANTS.RelaySMTPProgram); + createProgram(Programs.RelaySMTPProgram); } } //HTTPWorm - if (Player.getHomeComputer().programs.indexOf(CONSTANTS.HTTPWormProgram == -1 && + if (Player.getHomeComputer().programs.indexOf(Programs.HTTPWormProgram == -1 && Player.hacking_skill >= 500) { httpWormALink.style.display = "block"; httpWormALink.addEventListener("click", function() { - createProgram(CONSTANTS.HTTPWormProgram); + createProgram(Programs.HTTPWormProgram); } } //SQLInject - if (Player.getHomeComputer().programs.indexOf(CONSTANTS.SQLInjectProgram == -1 && + if (Player.getHomeComputer().programs.indexOf(Programs.SQLInjectProgram == -1 && Player.hacking_skill >= 750) { sqlInjectALink.style.display = "block"; sqlInjectALink.addEventListener("click", function() { - createProgram(CONSTANTS.SQLInjectProgram); + createProgram(Programs.SQLInjectProgram); } } } diff --git a/src/Terminal.js b/src/Terminal.js index 6bee6f4e3..21854a9d0 100644 --- a/src/Terminal.js +++ b/src/Terminal.js @@ -471,7 +471,7 @@ var Terminal = { //Contains the implementations of all possible programs executeProgram: function(programName) { switch (programName) { - case CONSTANTS.NukeProgram: + case Programs.NukeProgram: if (Player.getCurrentServer().hasAdminRights) { post("You already have root access to this computer. There is no reason to run NUKE.exe"); } else { diff --git a/src/tags b/src/tags index cb616458f..bffbd70f4 100644 --- a/src/tags +++ b/src/tags @@ -11,26 +11,27 @@ $.finishAnalyze C:\Users\daniel.xie\Desktop\netburner\src\Terminal.js 134;" kind $.finishHack C:\Users\daniel.xie\Desktop\netburner\src\Terminal.js 95;" kind:method line:95 language:JavaScript $.hackFlag C:\Users\daniel.xie\Desktop\netburner\src\Terminal.js 83;" kind:property line:83 language:JavaScript AddToAllServers C:\Users\daniel.xie\Desktop\netburner\src\Server.js 666;" kind:function line:666 language:JavaScript -AllServersSave C:\Users\daniel.xie\Desktop\netburner\src\engine.js 77;" kind:variable line:77 language:JavaScript +AllServersSave C:\Users\daniel.xie\Desktop\netburner\src\engine.js 88;" kind:variable line:88 language:JavaScript Augmentation C:\Users\daniel.xie\Desktop\netburner\src\Augmentations.js 2;" kind:class line:2 language:JavaScript Augmentation.addToFactions C:\Users\daniel.xie\Desktop\netburner\src\Augmentations.js 23;" kind:method line:23 language:JavaScript Augmentation.fromJSON C:\Users\daniel.xie\Desktop\netburner\src\Augmentations.js 38;" kind:function line:38 language:JavaScript Augmentation.setInfo C:\Users\daniel.xie\Desktop\netburner\src\Augmentations.js 13;" kind:method line:13 language:JavaScript Augmentation.setRequirements C:\Users\daniel.xie\Desktop\netburner\src\Augmentations.js 17;" kind:method line:17 language:JavaScript Augmentation.toJSON C:\Users\daniel.xie\Desktop\netburner\src\Augmentations.js 34;" kind:method line:34 language:JavaScript -AugmentationsSave C:\Users\daniel.xie\Desktop\netburner\src\engine.js 81;" kind:variable line:81 language:JavaScript -CONSTANTS.BruteSSHProgram C:\Users\daniel.xie\Desktop\netburner\src\Constants.js 17;" kind:property line:17 language:JavaScript -CONSTANTS.CodeInstructionRunTime C:\Users\daniel.xie\Desktop\netburner\src\Constants.js 10;" kind:property line:10 language:JavaScript -CONSTANTS.CodeOfflineExecutionTime C:\Users\daniel.xie\Desktop\netburner\src\Constants.js 13;" kind:property line:13 language:JavaScript +AugmentationsSave C:\Users\daniel.xie\Desktop\netburner\src\engine.js 92;" kind:variable line:92 language:JavaScript +CONSTANTS.BruteSSHProgram C:\Users\daniel.xie\Desktop\netburner\src\Constants.js 22;" kind:property line:22 language:JavaScript +CONSTANTS.CodeInstructionRunTime C:\Users\daniel.xie\Desktop\netburner\src\Constants.js 12;" kind:property line:12 language:JavaScript +CONSTANTS.CodeOfflineExecutionTime C:\Users\daniel.xie\Desktop\netburner\src\Constants.js 15;" kind:property line:15 language:JavaScript CONSTANTS.CorpFactionRepRequirement C:\Users\daniel.xie\Desktop\netburner\src\Constants.js 7;" kind:property line:7 language:JavaScript -CONSTANTS.FTPCrackProgram C:\Users\daniel.xie\Desktop\netburner\src\Constants.js 18;" kind:property line:18 language:JavaScript -CONSTANTS.HTTPWormProgram C:\Users\daniel.xie\Desktop\netburner\src\Constants.js 20;" kind:property line:20 language:JavaScript -CONSTANTS.HelpText C:\Users\daniel.xie\Desktop\netburner\src\Constants.js 24;" kind:property line:24 language:JavaScript +CONSTANTS.FTPCrackProgram C:\Users\daniel.xie\Desktop\netburner\src\Constants.js 23;" kind:property line:23 language:JavaScript +CONSTANTS.HTTPWormProgram C:\Users\daniel.xie\Desktop\netburner\src\Constants.js 25;" kind:property line:25 language:JavaScript +CONSTANTS.HelpText C:\Users\daniel.xie\Desktop\netburner\src\Constants.js 29;" kind:property line:29 language:JavaScript +CONSTANTS.MaxLogCapacity C:\Users\daniel.xie\Desktop\netburner\src\Constants.js 18;" kind:property line:18 language:JavaScript CONSTANTS.MaxSkillLevel C:\Users\daniel.xie\Desktop\netburner\src\Constants.js 4;" kind:property line:4 language:JavaScript -CONSTANTS.PortHackProgram C:\Users\daniel.xie\Desktop\netburner\src\Constants.js 16;" kind:property line:16 language:JavaScript -CONSTANTS.RelaySMTPProgram C:\Users\daniel.xie\Desktop\netburner\src\Constants.js 19;" kind:property line:19 language:JavaScript -CONSTANTS.SQLInjectProgram C:\Users\daniel.xie\Desktop\netburner\src\Constants.js 21;" kind:property line:21 language:JavaScript -CompaniesSave C:\Users\daniel.xie\Desktop\netburner\src\engine.js 78;" kind:variable line:78 language:JavaScript +CONSTANTS.NukeProgram C:\Users\daniel.xie\Desktop\netburner\src\Constants.js 21;" kind:property line:21 language:JavaScript +CONSTANTS.RelaySMTPProgram C:\Users\daniel.xie\Desktop\netburner\src\Constants.js 24;" kind:property line:24 language:JavaScript +CONSTANTS.SQLInjectProgram C:\Users\daniel.xie\Desktop\netburner\src\Constants.js 26;" kind:property line:26 language:JavaScript +CompaniesSave C:\Users\daniel.xie\Desktop\netburner\src\engine.js 89;" kind:variable line:89 language:JavaScript Company C:\Users\daniel.xie\Desktop\netburner\src\Company.js 4;" kind:class line:4 language:JavaScript Company.addPosition C:\Users\daniel.xie\Desktop\netburner\src\Company.js 34;" kind:method line:34 language:JavaScript Company.addPositions C:\Users\daniel.xie\Desktop\netburner\src\Company.js 38;" kind:method line:38 language:JavaScript @@ -69,7 +70,7 @@ Faction.setAugmentationMultipliers C:\Users\daniel.xie\Desktop\netburner\src\Fac Faction.setInformation C:\Users\daniel.xie\Desktop\netburner\src\Faction.js 22;" kind:method line:22 language:JavaScript Faction.toJSON C:\Users\daniel.xie\Desktop\netburner\src\Faction.js 26;" kind:method line:26 language:JavaScript FactionInfo.HelpText C:\Users\daniel.xie\Desktop\netburner\src\FactionInfo.js 5;" kind:property line:5 language:JavaScript -FactionsSave C:\Users\daniel.xie\Desktop\netburner\src\engine.js 79;" kind:variable line:79 language:JavaScript +FactionsSave C:\Users\daniel.xie\Desktop\netburner\src\engine.js 90;" kind:variable line:90 language:JavaScript GetServerByHostname C:\Users\daniel.xie\Desktop\netburner\src\Server.js 680;" kind:function line:680 language:JavaScript InputStream C:\Users\daniel.xie\Desktop\netburner\src\Netscript\InputStream.js 3;" kind:function line:3 language:JavaScript Locations.Aevum C:\Users\daniel.xie\Desktop\netburner\src\Location.js 6;" kind:property line:6 language:JavaScript @@ -156,9 +157,9 @@ PlayerObject C:\Users\daniel.xie\Desktop\netburner\src\CompanyJobApplication.js PlayerObject C:\Users\daniel.xie\Desktop\netburner\src\Faction.js 121;" kind:class line:121 language:JavaScript PlayerObject C:\Users\daniel.xie\Desktop\netburner\src\Player.js 2;" kind:class line:2 language:JavaScript PlayerObject.PlayerObject C:\Users\daniel.xie\Desktop\netburner\src\Player.js 385;" kind:class line:385 language:JavaScript -PlayerObject.PlayerObject C:\Users\daniel.xie\Desktop\netburner\src\Player.js 673;" kind:method line:673 language:JavaScript +PlayerObject.PlayerObject C:\Users\daniel.xie\Desktop\netburner\src\Player.js 676;" kind:method line:676 language:JavaScript PlayerObject.PlayerObject.createProgramWork C:\Users\daniel.xie\Desktop\netburner\src\Player.js 636;" kind:method line:636 language:JavaScript -PlayerObject.PlayerObject.finishCreateProgramWork C:\Users\daniel.xie\Desktop\netburner\src\Player.js 664;" kind:method line:664 language:JavaScript +PlayerObject.PlayerObject.finishCreateProgramWork C:\Users\daniel.xie\Desktop\netburner\src\Player.js 655;" kind:method line:655 language:JavaScript PlayerObject.PlayerObject.getFactionFieldWorkRepGain C:\Users\daniel.xie\Desktop\netburner\src\Player.js 603;" kind:method line:603 language:JavaScript PlayerObject.PlayerObject.getFactionSecurityWorkRepGain C:\Users\daniel.xie\Desktop\netburner\src\Player.js 594;" kind:method line:594 language:JavaScript PlayerObject.PlayerObject.getWorkAgiExpGain C:\Users\daniel.xie\Desktop\netburner\src\Player.js 574;" kind:method line:574 language:JavaScript @@ -174,7 +175,7 @@ PlayerObject.PlayerObject.startFactionFieldWork C:\Users\daniel.xie\Desktop\netb PlayerObject.PlayerObject.startFactionHackWork C:\Users\daniel.xie\Desktop\netburner\src\Player.js 450;" kind:method line:450 language:JavaScript PlayerObject.PlayerObject.startFactionSecurityWork C:\Users\daniel.xie\Desktop\netburner\src\Player.js 480;" kind:method line:480 language:JavaScript PlayerObject.PlayerObject.startFactionWork C:\Users\daniel.xie\Desktop\netburner\src\Player.js 420;" kind:method line:420 language:JavaScript -PlayerObject.PlayerObject.toJSON C:\Users\daniel.xie\Desktop\netburner\src\Player.js 669;" kind:method line:669 language:JavaScript +PlayerObject.PlayerObject.toJSON C:\Users\daniel.xie\Desktop\netburner\src\Player.js 672;" kind:method line:672 language:JavaScript PlayerObject.PlayerObject.workForFaction C:\Users\daniel.xie\Desktop\netburner\src\Player.js 495;" kind:method line:495 language:JavaScript PlayerObject.analyze C:\Users\daniel.xie\Desktop\netburner\src\Player.js 226;" kind:method line:226 language:JavaScript PlayerObject.applyForAgentJob C:\Users\daniel.xie\Desktop\netburner\src\CompanyJobApplication.js 114;" kind:method line:114 language:JavaScript @@ -205,11 +206,13 @@ PlayerObject.updateSkillLevels C:\Users\daniel.xie\Desktop\netburner\src\Player. PlayerObject.work C:\Users\daniel.xie\Desktop\netburner\src\Player.js 336;" kind:method line:336 language:JavaScript PrintAllServers C:\Users\daniel.xie\Desktop\netburner\src\Server.js 692;" kind:function line:692 language:JavaScript Script C:\Users\daniel.xie\Desktop\netburner\src\Script.js 66;" kind:class line:66 language:JavaScript -Script.fromJSON C:\Users\daniel.xie\Desktop\netburner\src\Script.js 132;" kind:function line:132 language:JavaScript -Script.saveScript C:\Users\daniel.xie\Desktop\netburner\src\Script.js 89;" kind:method line:89 language:JavaScript -Script.toJSON C:\Users\daniel.xie\Desktop\netburner\src\Script.js 128;" kind:method line:128 language:JavaScript -Script.updateNumInstructions C:\Users\daniel.xie\Desktop\netburner\src\Script.js 115;" kind:method line:115 language:JavaScript -Script.updateRamUsage C:\Users\daniel.xie\Desktop\netburner\src\Script.js 124;" kind:method line:124 language:JavaScript +Script.displayLog C:\Users\daniel.xie\Desktop\netburner\src\Script.js 139;" kind:method line:139 language:JavaScript +Script.fromJSON C:\Users\daniel.xie\Desktop\netburner\src\Script.js 150;" kind:function line:150 language:JavaScript +Script.log C:\Users\daniel.xie\Desktop\netburner\src\Script.js 129;" kind:method line:129 language:JavaScript +Script.saveScript C:\Users\daniel.xie\Desktop\netburner\src\Script.js 90;" kind:method line:90 language:JavaScript +Script.toJSON C:\Users\daniel.xie\Desktop\netburner\src\Script.js 145;" kind:method line:145 language:JavaScript +Script.updateNumInstructions C:\Users\daniel.xie\Desktop\netburner\src\Script.js 116;" kind:method line:116 language:JavaScript +Script.updateRamUsage C:\Users\daniel.xie\Desktop\netburner\src\Script.js 125;" kind:method line:125 language:JavaScript ScriptEditorLastStatus C:\Users\daniel.xie\Desktop\netburner\src\Script.js 56;" kind:variable line:56 language:JavaScript Server C:\Users\daniel.xie\Desktop\netburner\src\Server.js 4;" kind:class line:4 language:JavaScript Server.fromJSON C:\Users\daniel.xie\Desktop\netburner\src\Server.js 108;" kind:function line:108 language:JavaScript @@ -225,33 +228,33 @@ SpecialServerIpsMap C:\Users\daniel.xie\Desktop\netburner\src\SpecialServerIps.j SpecialServerIpsMap.addIp C:\Users\daniel.xie\Desktop\netburner\src\SpecialServerIps.js 5;" kind:method line:5 language:JavaScript SpecialServerIpsMap.fromJSON C:\Users\daniel.xie\Desktop\netburner\src\SpecialServerIps.js 13;" kind:function line:13 language:JavaScript SpecialServerIpsMap.toJSON C:\Users\daniel.xie\Desktop\netburner\src\SpecialServerIps.js 9;" kind:method line:9 language:JavaScript -SpecialServerIpsSave C:\Users\daniel.xie\Desktop\netburner\src\engine.js 80;" kind:variable line:80 language:JavaScript +SpecialServerIpsSave C:\Users\daniel.xie\Desktop\netburner\src\engine.js 91;" kind:variable line:91 language:JavaScript Tokenizer C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Tokenizer.js 16;" kind:function line:16 language:JavaScript WorkerScript C:\Users\daniel.xie\Desktop\netburner\src\Netscript\NetscriptWorker.js 9;" kind:class line:9 language:JavaScript WorkerScript.getServer C:\Users\daniel.xie\Desktop\netburner\src\Netscript\NetscriptWorker.js 21;" kind:method line:21 language:JavaScript addWorkerScript C:\Users\daniel.xie\Desktop\netburner\src\Netscript\NetscriptWorker.js 134;" kind:function line:134 language:JavaScript allFiles C:\Users\daniel.xie\Desktop\netburner\src\Terminal.js 317;" kind:variable line:317 language:JavaScript -applyAugmentation C:\Users\daniel.xie\Desktop\netburner\src\Augmentations.js 488;" kind:function line:488 language:JavaScript -apply_op C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Evaluator.js 493;" kind:function line:493 language:JavaScript -apply_op.div C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Evaluator.js 499;" kind:function line:499 language:JavaScript -apply_op.num C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Evaluator.js 494;" kind:function line:494 language:JavaScript +applyAugmentation C:\Users\daniel.xie\Desktop\netburner\src\Augmentations.js 486;" kind:function line:486 language:JavaScript +apply_op C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Evaluator.js 498;" kind:function line:498 language:JavaScript +apply_op.div C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Evaluator.js 504;" kind:function line:504 language:JavaScript +apply_op.num C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Evaluator.js 499;" kind:function line:499 language:JavaScript checkValidFilename C:\Users\daniel.xie\Desktop\netburner\src\Script.js 47;" kind:function line:47 language:JavaScript croak C:\Users\daniel.xie\Desktop\netburner\src\Netscript\InputStream.js 22;" kind:function line:22 language:JavaScript -diff C:\Users\daniel.xie\Desktop\netburner\src\engine.js 481;" kind:variable line:481 language:JavaScript +diff C:\Users\daniel.xie\Desktop\netburner\src\engine.js 530;" kind:variable line:530 language:JavaScript displayFactionAugmentations C:\Users\daniel.xie\Desktop\netburner\src\Faction.js 613;" kind:function line:613 language:JavaScript displayFactionContent C:\Users\daniel.xie\Desktop\netburner\src\Faction.js 418;" kind:function line:418 language:JavaScript eof C:\Users\daniel.xie\Desktop\netburner\src\Netscript\InputStream.js 19;" kind:function line:19 language:JavaScript eof C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Tokenizer.js 165;" kind:function line:165 language:JavaScript evaluate C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Evaluator.js 7;" kind:function line:7 language:JavaScript -evaluateFor C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Evaluator.js 328;" kind:function line:328 language:JavaScript -evaluateProg C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Evaluator.js 455;" kind:function line:455 language:JavaScript -evaluateWhile C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Evaluator.js 400;" kind:function line:400 language:JavaScript +evaluateFor C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Evaluator.js 333;" kind:function line:333 language:JavaScript +evaluateProg C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Evaluator.js 460;" kind:function line:460 language:JavaScript +evaluateWhile C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Evaluator.js 405;" kind:function line:405 language:JavaScript filename C:\Users\daniel.xie\Desktop\netburner\src\Terminal.js 339;" kind:variable line:339 language:JavaScript getNextCompanyPosition C:\Users\daniel.xie\Desktop\netburner\src\Company.js 328;" kind:function line:328 language:JavaScript hackProgressBarPost C:\Users\daniel.xie\Desktop\netburner\src\Terminal.js 10;" kind:function line:10 language:JavaScript hackProgressPost C:\Users\daniel.xie\Desktop\netburner\src\Terminal.js 15;" kind:function line:15 language:JavaScript -hostname C:\Users\daniel.xie\Desktop\netburner\src\engine.js 410;" kind:variable line:410 language:JavaScript -initAugmentations C:\Users\daniel.xie\Desktop\netburner\src\Augmentations.js 54;" kind:function line:54 language:JavaScript +hostname C:\Users\daniel.xie\Desktop\netburner\src\engine.js 422;" kind:variable line:422 language:JavaScript +initAugmentations C:\Users\daniel.xie\Desktop\netburner\src\Augmentations.js 52;" kind:function line:52 language:JavaScript initCompanies C:\Users\daniel.xie\Desktop\netburner\src\Company.js 425;" kind:function line:425 language:JavaScript initFactions C:\Users\daniel.xie\Desktop\netburner\src\Faction.js 47;" kind:function line:47 language:JavaScript initForeignServers C:\Users\daniel.xie\Desktop\netburner\src\Server.js 117;" kind:function line:117 language:JavaScript @@ -265,23 +268,25 @@ is_keyword C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Tokenizer.js 27;" is_op_char C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Tokenizer.js 44;" kind:function line:44 language:JavaScript is_punc C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Tokenizer.js 48;" kind:function line:48 language:JavaScript is_whitespace C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Tokenizer.js 52;" kind:function line:52 language:JavaScript -item C:\Users\daniel.xie\Desktop\netburner\src\engine.js 390;" kind:variable line:390 language:JavaScript -itemText C:\Users\daniel.xie\Desktop\netburner\src\engine.js 407;" kind:variable line:407 language:JavaScript +item C:\Users\daniel.xie\Desktop\netburner\src\engine.js 402;" kind:variable line:402 language:JavaScript +itemText C:\Users\daniel.xie\Desktop\netburner\src\engine.js 419;" kind:variable line:419 language:JavaScript joinFaction C:\Users\daniel.xie\Desktop\netburner\src\Faction.js 370;" kind:function line:370 language:JavaScript killWorkerScript C:\Users\daniel.xie\Desktop\netburner\src\Netscript\NetscriptWorker.js 124;" kind:function line:124 language:JavaScript -li C:\Users\daniel.xie\Desktop\netburner\src\engine.js 372;" kind:variable line:372 language:JavaScript -loadAllRunningScripts C:\Users\daniel.xie\Desktop\netburner\src\Script.js 141;" kind:function line:141 language:JavaScript -mainMenu C:\Users\daniel.xie\Desktop\netburner\src\engine.js 251;" kind:variable line:251 language:JavaScript +li C:\Users\daniel.xie\Desktop\netburner\src\engine.js 384;" kind:variable line:384 language:JavaScript +loadAllRunningScripts C:\Users\daniel.xie\Desktop\netburner\src\Script.js 159;" kind:function line:159 language:JavaScript +mainMenu C:\Users\daniel.xie\Desktop\netburner\src\engine.js 263;" kind:variable line:263 language:JavaScript maybe_call C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Parser.js 203;" kind:function line:203 language:JavaScript next C:\Users\daniel.xie\Desktop\netburner\src\Netscript\InputStream.js 11;" kind:function line:11 language:JavaScript next C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Tokenizer.js 157;" kind:function line:157 language:JavaScript -offlineEps C:\Users\daniel.xie\Desktop\netburner\src\engine.js 422;" kind:variable line:422 language:JavaScript -offlineMps C:\Users\daniel.xie\Desktop\netburner\src\engine.js 420;" kind:variable line:420 language:JavaScript -offlineMpsText C:\Users\daniel.xie\Desktop\netburner\src\engine.js 421;" kind:variable line:421 language:JavaScript -offset C:\Users\daniel.xie\Desktop\netburner\src\engine.js 482;" kind:variable line:482 language:JavaScript -onlineEps C:\Users\daniel.xie\Desktop\netburner\src\engine.js 416;" kind:variable line:416 language:JavaScript -onlineMps C:\Users\daniel.xie\Desktop\netburner\src\engine.js 414;" kind:variable line:414 language:JavaScript -onlineMpsText C:\Users\daniel.xie\Desktop\netburner\src\engine.js 415;" kind:variable line:415 language:JavaScript +offlineEps C:\Users\daniel.xie\Desktop\netburner\src\engine.js 440;" kind:variable line:440 language:JavaScript +offlineMps C:\Users\daniel.xie\Desktop\netburner\src\engine.js 438;" kind:variable line:438 language:JavaScript +offlineMpsText C:\Users\daniel.xie\Desktop\netburner\src\engine.js 439;" kind:variable line:439 language:JavaScript +offlineTotalMoneyMade C:\Users\daniel.xie\Desktop\netburner\src\engine.js 435;" kind:variable line:435 language:JavaScript +offset C:\Users\daniel.xie\Desktop\netburner\src\engine.js 531;" kind:variable line:531 language:JavaScript +onlineEps C:\Users\daniel.xie\Desktop\netburner\src\engine.js 431;" kind:variable line:431 language:JavaScript +onlineMps C:\Users\daniel.xie\Desktop\netburner\src\engine.js 429;" kind:variable line:429 language:JavaScript +onlineMpsText C:\Users\daniel.xie\Desktop\netburner\src\engine.js 430;" kind:variable line:430 language:JavaScript +onlineTotalMoneyMade C:\Users\daniel.xie\Desktop\netburner\src\engine.js 426;" kind:variable line:426 language:JavaScript parse_atom C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Parser.js 208;" kind:function line:208 language:JavaScript parse_bool C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Parser.js 196;" kind:function line:196 language:JavaScript parse_expression C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Parser.js 248;" kind:function line:248 language:JavaScript @@ -295,7 +300,7 @@ parse_varname C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Parser.js 100; parse_while C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Parser.js 182;" kind:function line:182 language:JavaScript peek C:\Users\daniel.xie\Desktop\netburner\src\Netscript\InputStream.js 16;" kind:function line:16 language:JavaScript peek C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Tokenizer.js 151;" kind:function line:151 language:JavaScript -percent C:\Users\daniel.xie\Desktop\netburner\src\engine.js 595;" kind:variable line:595 language:JavaScript +percent C:\Users\daniel.xie\Desktop\netburner\src\engine.js 644;" kind:variable line:644 language:JavaScript post C:\Users\daniel.xie\Desktop\netburner\src\Terminal.js 4;" kind:function line:4 language:JavaScript postNetburnerText C:\Users\daniel.xie\Desktop\netburner\src\Terminal.js 25;" kind:function line:25 language:JavaScript postScriptEditorStatus C:\Users\daniel.xie\Desktop\netburner\src\Script.js 57;" kind:function line:57 language:JavaScript @@ -308,16 +313,16 @@ read_number C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Tokenizer.js 63; read_string C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Tokenizer.js 107;" kind:function line:107 language:JavaScript read_while C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Tokenizer.js 56;" kind:function line:56 language:JavaScript runScriptsLoop C:\Users\daniel.xie\Desktop\netburner\src\Netscript\NetscriptWorker.js 29;" kind:function line:29 language:JavaScript -scriptCalculateExpGain C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Evaluator.js 539;" kind:function line:539 language:JavaScript -scriptCalculateHackingChance C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Evaluator.js 523;" kind:function line:523 language:JavaScript -scriptCalculateHackingTime C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Evaluator.js 531;" kind:function line:531 language:JavaScript -scriptCalculateOfflineProduction C:\Users\daniel.xie\Desktop\netburner\src\Script.js 165;" kind:function line:165 language:JavaScript -scriptCalculatePercentMoneyHacked C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Evaluator.js 544;" kind:function line:544 language:JavaScript +scriptCalculateExpGain C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Evaluator.js 544;" kind:function line:544 language:JavaScript +scriptCalculateHackingChance C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Evaluator.js 528;" kind:function line:528 language:JavaScript +scriptCalculateHackingTime C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Evaluator.js 536;" kind:function line:536 language:JavaScript +scriptCalculateOfflineProduction C:\Users\daniel.xie\Desktop\netburner\src\Script.js 183;" kind:function line:183 language:JavaScript +scriptCalculatePercentMoneyHacked C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Evaluator.js 549;" kind:function line:549 language:JavaScript scriptName C:\Users\daniel.xie\Desktop\netburner\src\Terminal.js 301;" kind:variable line:301 language:JavaScript scriptname C:\Users\daniel.xie\Desktop\netburner\src\Terminal.js 347;" kind:variable line:347 language:JavaScript -serverIpHostname C:\Users\daniel.xie\Desktop\netburner\src\engine.js 411;" kind:variable line:411 language:JavaScript +serverIpHostname C:\Users\daniel.xie\Desktop\netburner\src\engine.js 423;" kind:variable line:423 language:JavaScript skip_comment C:\Users\daniel.xie\Desktop\netburner\src\Netscript\Tokenizer.js 116;" kind:function line:116 language:JavaScript updateOnlineScriptTimes C:\Users\daniel.xie\Desktop\netburner\src\Netscript\NetscriptWorker.js 157;" kind:function line:157 language:JavaScript updateTerminalScroll C:\Users\daniel.xie\Desktop\netburner\src\Terminal.js 20;" kind:function line:20 language:JavaScript -window.onload C:\Users\daniel.xie\Desktop\netburner\src\engine.js 794;" kind:function line:794 language:JavaScript +window.onload C:\Users\daniel.xie\Desktop\netburner\src\engine.js 891;" kind:function line:891 language:JavaScript workerScripts C:\Users\daniel.xie\Desktop\netburner\src\Netscript\NetscriptWorker.js 26;" kind:variable line:26 language:JavaScript diff --git a/src/tags.idx b/src/tags.idx index db9d3c703..2270b5152 100644 Binary files a/src/tags.idx and b/src/tags.idx differ