Playtesting - Fixed bugs

This commit is contained in:
Daniel Xie 2017-04-19 14:19:33 -05:00
parent 650bdf1f3f
commit 9b408cb995
23 changed files with 286 additions and 191 deletions

@ -67,6 +67,7 @@ TESTING TODO:
Seems to work fine
Tasks TODO:
Add Silhouette Criminal Faction
Factions Info page isn't formatted correctly
Augmentations that decrease time to make programs

@ -75,6 +75,7 @@
height: 100%;
margin-left: 10%;
width: 99%;
overflow-y: scroll;
}
.active-scripts-list>li h2{
@ -137,7 +138,7 @@
cursor: default;
}
/* Factions */
/* Factions and Faction (Single Faction page) */
#factions-container {
position: fixed;
padding-top: 10px;
@ -174,6 +175,11 @@
display:inline-block;
}
#faction-container p {
padding: 6px;
margin: 6px;
}
/* Faction Augmentations */
#faction-augmentations-container{
position: fixed;

@ -198,4 +198,55 @@
color: white;
text-decoration: none;
cursor: pointer;
}
/* Travel Pop-up Box */
#travel-box-container {
display: none; /* Hidden by default */
position: fixed; /* Stay in place */
z-index: 1; /* Sit on top */
left: 0;
right: 0;
bottom: 0;
top: 0;
width: 100%; /* Full width */
height: 100%; /* Full height */
overflow: auto; /* Enable scroll if needed */
background-color: black; /* Fallback color */
background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
transition: opacity 400ms ease-in;
}
#travel-box-content {
background-color: black;
margin: 15% auto; /* 15% from the top and centered */
padding: 10px;
border: 5px solid #FFFFFF;
width: 80%; /* Could be more or less, depending on screen size */
color: #66ff33;
}
#travel-box-confirm,
#travel-box-cancel {
color: #aaa;
font-size: 20px;
font-weight: bold;
padding: 3px;
margin: 3px;
border: 1px solid white;
}
#travel-box-confirm:hover,
#travel-box-confirm:focus {
color: white;
text-decoration: none;
cursor: pointer;
}
#travel-box-cancel:hover,
#travel-box-cancel:focus {
color: white;
text-decoration: none;
cursor: pointer;
}

@ -73,7 +73,8 @@ li {
text-decoration: none;
background-color: #555;
color: #FFFFFF;
padding: 4px 4px 4px 4px;
padding: 4px;
margin: 4px;
border-top: 1px solid #333333;
border-right: 1px solid #333333;
border-bottom: 1px solid #333333;
@ -85,7 +86,8 @@ li {
text-decoration: none;
background-color: #555;
color: #FFFFFF;
padding: 4px 4px 4px 4px;
padding: 4px;
margin: 4px;
border-top: 1px solid #333333;
border-right: 1px solid #333333;
border-bottom: 1px solid #333333;

@ -17,7 +17,7 @@
<script src="utils/IPAddress.js"></script>
<script src="utils/JSONReviver.js"></script>
<script src="utils/StringHelperFunctions.js"></script>
<script src="utils/ObjectHelperFunctions.js"></script>
<script src="utils/HelperFunctions.js"></script>
<script src="utils/DialogBox.js"></script>
<script src="utils/PurchaseServerBox.js"></script>
<script src="utils/FactionInvitationBox.js"></script>
@ -40,6 +40,7 @@
<script src="src/Server.js"></script>
<script src="src/Player.js"></script>
<script src="src/Faction.js"></script>
<script src="src/FactionInfo.js"></script>
<script src="src/Company.js"></script>
<script src="src/CompanyJobApplication.js"></script>
<script src="src/Terminal.js"></script>

@ -25,7 +25,7 @@ Augmentation.prototype.addToFactions = function(factionList) {
var faction = Factions[factionList[i]];
if (faction == null) {
console.log("Error: Could not find faction with this name:" + factionList[i]);
return;
continue;
}
faction.augmentations.push(this.name);
}

@ -796,7 +796,7 @@ initCompanies = function() {
AddToCompanies(AevumPolice);
var SysCoreSecurities = new Company();
SysCoreSecurities.init(Locations.VolhavenSysCoreSecurities, 1.3, 1.3, 75);
SysCoreSecurities.init(Locations.VolhavenSysCoreSecurities, 1.3, 1.3, 125);
SysCoreSecurities.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev,
CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst,
@ -826,7 +826,7 @@ initCompanies = function() {
AddToCompanies(NetLinkTechnologies);
var CarmichaelSecurity = new Company();
CarmichaelSecurity.init(Locations.Sector12CarmichaelSecurity, 1.2, 1.2, 100);
CarmichaelSecurity.init(Locations.Sector12CarmichaelSecurity, 1.2, 1.2, 75);
CarmichaelSecurity.addPositions([
CompanyPositions.SoftwareIntern, CompanyPositions.JuniorDev, CompanyPositions.SeniorDev,
CompanyPositions.LeadDev, CompanyPositions.ITIntern, CompanyPositions.ITAnalyst,

@ -2,7 +2,7 @@
function Faction(name) {
this.name = name;
this.augmentations = []; //Name of augmentation only
this.information = ""; //Introductory/informational text about the faction
this.info = ""; //Introductory/informational text about the faction
//Player-related properties for faction
this.isMember = false; //Whether player is member
@ -19,8 +19,8 @@ Faction.prototype.setAugmentationMultipliers = function(price, rep) {
this.augmentationRepRequirementMult = rep;
}
Faction.prototype.setInformation = function(info) {
this.information = info;
Faction.prototype.setInfo = function(inf) {
this.info = inf;
}
Faction.prototype.toJSON = function() {
@ -47,71 +47,98 @@ AddToFactions = function(faction) {
initFactions = function() {
//Endgame
var Illuminati = new Faction("Illuminati");
Illuminati.setInfo(FactionInfo.IlluminatiInfo);
AddToFactions(Illuminati);
var Daedalus = new Faction("Daedalus");
Daedalus.setInfo(FactionInfo.DaedalusInfo);
AddToFactions(Daedalus);
var Covenant = new Faction("The Covenant");
Covenant.setInfo(FactionInfo.CovenantInfo);
AddToFactions(Covenant);
//Megacorporations, each forms its own faction
var ECorp = new Faction("ECorp");
ECorp.setInfo(FactionInfo.ECorpInfo);
AddToFactions(ECorp);
var MegaCorp = new Faction("MegaCorp");
MegaCorp.setInfo(FactionInfo.MegaCorpInfo);
AddToFactions(MegaCorp);
var BachmanAndAssociates = new Faction("Bachman & Associates");
BachmanAndAssociates.setInfo(FactionInfo.BachmanAndAssociatesInfo);
AddToFactions(BachmanAndAssociates);
var BladeIndustries = new Faction("Blade Industries");
BladeIndustries.setInfo(FactionInfo.BladeIndustriesInfo);
AddToFactions(BladeIndustries);
var NWO = new Faction("NWO");
NWO.setInfo(FactionInfo.NWOInfo);
AddToFactions(NWO);
var ClarkeIncorporated = new Faction("Clarke Incorporated");
ClarkeIncorporated.setInfo(FactionInfo.ClarkeIncorporatedInfo);
AddToFactions(ClarkeIncorporated);
var OmniTekIncorporated = new Faction("OmniTek Incorporated");
OmniTekIncorporated.setInfo(FactionInfo.OmniTekIncorporatedInfo);
AddToFactions(OmniTekIncorporated);
var FourSigma = new Faction("Four Sigma");
FourSigma.setInfo(FactionInfo.FourSigmaInfo);
AddToFactions(FourSigma);
var KuaiGongInternational = new Faction("KuaiGong International");
KuaiGongInternational.setInfo(FactionInfo.KuaiGongInternationalInfo);
AddToFactions(KuaiGongInternational);
//Other corporations
var FulcrumTechnologies = new Faction("Fulcrum Secret Technologies");
FulcrumTechnologies.setInfo(FactionInfo.FulcrumSecretTechnologiesInfo);
AddToFactions(FulcrumTechnologies);
//Hacker groups
var BitRunners = new Faction("BitRunners");
BitRunners.setInfo(FactionInfo.BitRunnersInfo);
AddToFactions(BitRunners);
var BlackHand = new Faction("The Black Hand");
BlackHand.setInfo(FactionInfo.BlackHandInfo);
AddToFactions(BlackHand);
var NiteSec = new Faction("NiteSec");
NiteSec.setInfo(FactionInfo.NiteSecInfo);
AddToFactions(NiteSec);
//City factions, essentially governments
var Chongqing = new Faction("Chongqing");
Chongqing.setInfo(FactionInfo.ChongqingInfo);
AddToFactions(Chongqing);
var Sector12 = new Faction("Sector-12");
Sector12.setInfo(FactionInfo.Sector12Info);
AddToFactions(Sector12);
var NewTokyo = new Faction("New Tokyo");
NewTokyo.setInfo(FactionInfo.NewTokyoInfo);
AddToFactions(NewTokyo);
var Aevum = new Faction("Aevum");
Aevum.setInfo(FactionInfo.AevumInfo);
AddToFactions(Aevum);
var Ishima = new Faction("Ishima");
Ishima.setInfo(FactionInfo.IshimaInfo);
AddToFactions(Ishima);
var Volhaven = new Faction("Volhaven");
Volhaven.setInfo(FactionInfo.VolhavenInfo);
AddToFactions(Volhaven);
//Criminal Organizations/Gangs
var SpeakersForTheDead = new Faction("Speakers for the Dead");
SpeakersForTheDead.setInfo(FactionInfo.SpeakersForTheDeadInfo);
AddToFactions(SpeakersForTheDead);
var DarkArmy = new Faction("The Dark Army");
DarkArmy.setInfo(FactionInfo.DarkArmyInfo);
AddToFactions(DarkArmy);
var TheSyndicate = new Faction("The Syndicate");
TheSyndicate.setInfo(FactionInfo.TheSyndicateInfo);
AddToFactions(TheSyndicate);
//Earlygame factions - factions the player will prestige with early on that don't
//belong in other categories
var TianDiHui = new Faction("Tian Di Hui"); //Society of the Heaven and Earth
TianDiHui.setInfo(FactionInfo.TianDiHuiInfo);
AddToFactions(TianDiHui);
var CyberSec = new Faction("CyberSec");
CyberSec.setInfo(FactionInfo.CyberSecInfo);
AddToFactions(CyberSec);
}
@ -351,10 +378,8 @@ PlayerObject.prototype.checkForFactionInvitations = function() {
//CyberSec
var cybersecFac = Factions["CyberSec"];
console.log(this.hacking_skill + " " + cybersecFac.isMember + " " + cybersecFac.isBanned);
if (cybersecFac.isBanned == false && cybersecFac.isMember == false &&
this.hacking_skill >= 5) {
console.log("Qualified for CyberSec");
this.hacking_skill >= 50) {
invitedFactions.push(cybersecFac);
}
@ -418,6 +443,9 @@ joinFaction = function(faction) {
//Displays the HTML content for a specific faction
displayFactionContent = function(factionName) {
var faction = Factions[factionName];
document.getElementById("faction-name").innerHTML = factionName;
document.getElementById("faction-info").innerHTML = faction.info;
document.getElementById("faction-reputation").innerHTML = "Reputation: " + faction.playerReputation;
var hackDiv = document.getElementById("faction-hack-div");
var fieldWorkDiv = document.getElementById("faction-fieldwork-div");
@ -461,8 +489,13 @@ displayFactionContent = function(factionName) {
newPurchaseAugmentationsButton.addEventListener("click", function() {
Engine.hideAllContent();
Engine.Display.factionAugmentationsContent.style.visiblility = "visible";
document.getElementById("faction-augmentations-back-button").addEventListener("click", function() {
Engine.Display.factionAugmentationsContent.style.visibility = "visible";
var backButton = document.getElementById("faction-augmentations-back-button");
var newBackButton = backButton.cloneNode(true);
backButton.parentNode.replaceChild(newBackButton, backButton);
newBackButton.addEventListener("click", function() {
Engine.loadFactionContent();
displayFactionContent(factionName);
return false;
});
@ -617,8 +650,8 @@ displayFactionAugmentations = function(factionName) {
var augmentationsList = document.getElementById("faction-augmentations-list");
for (var i = 0; i < Player.augmentations.length; ++i) {
var aug = Augmentations[Player.augmentations[i]];
for (var i = 0; i < faction.augmentations.length; ++i) {
var aug = Augmentations[faction.augmentations[i]];
var item = document.createElement("li");
var span = document.createElement("span");
var aElem = document.createElement("a");

@ -1,28 +1,6 @@
//Contains the "information" property for all the Factions, which is just a description
//of each faction
FactionInfo = {
//Text that is displayed when the 'help' command is ran in Terminal
HelpText: "analyze Get statistics and information about current machine\n" +
"clear Clear all text on the terminal\n" +
"cls See 'clear' command\n" +
"connect [ip/hostname] Connects to the machine given by its IP or hostname\n" +
"free Check the machine's memory usage\n" +
"hack Hack the current machine\n" +
"help Display this list\n" +
"hostname Displays the hostname of the machine\n" +
"ifconfig Displays the IP address of the machine\n" +
"kill [script name] Stops a script that is running\n" +
"ls Displays all programs and scripts on the machine\n" +
"nano [script name] Text editor - Open up and edit a script\n" +
"netstat Displays all available network connections\n" +
"ps Display all scripts that are currently running\n" +
"rm Delete a script/program from the machine. (WARNING: Permanent)\n" +
"run [script/program] Execute a program or a script\n" +
"scan See 'netstat' command\n" +
"telnet [ip/hostname] See 'connect' command\n" +
"top Display all running scripts and their RAM usage\n",
//Endgame
IlluminatiInfo: "Humanity never changes. No matter how civilized society becomes, it will eventually fall back\n" +
"into chaos. And out of this chaos, we will lead them to order.\n" +
@ -49,19 +27,22 @@ FactionInfo = {
"transporation on an unprecendented scale, in ways that no other company can.\n\n" +
"In its labs and factories and on the ground with customers, MegaCorp is ushering in a new era for the world.",
BachmanAndAssociatesInfo:
BachmanAndAssociatesInfo: "TODO",
BladeIndustriesInfo:
BladeIndustriesInfo: "TODO",
NWOInfo: "The human being created civilization not because of willingness but of a need to be assimilated into higher orders of structure and meaning.",
ClarkeIncorporatedInfo:
ClarkeIncorporatedInfo: "TODO",
OmniTekIncorporatedInfo: "Simply put, our mission is to design and build robots that make a difference",
FourSigmaInfo:
FourSigmaInfo: "TODO",
KuaiGongInternationalInfo:
KuaiGongInternationalInfo: "TODO",
//Other Corporations
FulcrumSecretTechnologiesInfo: "TODO",
//Hacker groups
BitRunnersInfo: "Our entire lives are controlled by bits. All of our actions, our thoughts, our personal information. \n"+
@ -79,56 +60,56 @@ FactionInfo = {
"So much pain. So many lives. Their darkness must end.",
NiteSecInfo:
" __..__ "
" _.nITESECNIt. "
" .-'NITESECNITESEc. "
" .' NITESECNITESECn "
" / NITESECNITESEC; "
" : :NITESECNITESEC; "
" ; @ NITESECNITESECN "
" : _, ,N'ITESECNITESEC "
" : .+''`, : `NITESECNIT "
" ) /), `-,-=,NITESECNI "
" / ` ,-;|NITESECN; "
" / _.'(o) '-';NITESECN "
" ( , o ,-''`^NITE' "
" )` :`. .' "
" )-. ; `- / "
" \ _.-' : "
" ( _.-' \. \ "
" \------. \ \ "
" \. \ \ "
" bug \ _.nIt "
" \ _.nITESECNi "
" nITESECNIT^' \ "
" NITE^' ___ \ "
" / .gP''''Tp. \ "
" : d' . `b \ "
" ; d' o `b ; "
" / d; `b| "
" /, $; @ `: "
" /' $$ ; "
" .' $$b (o) | "
" .' d$$$; : "
" / .d$$$$; , ; "
" d .d$$$$$$$ $ | "
" :bp.__.g$$$$$$$$$ :$ ; "
" $$$$$$$$$$$$$$$$$ $$b : "
" __..__ <br>" +
" _.nITESECNIt. <br>" +
" .-'NITESECNITESEc. <br>" +
" .' NITESECNITESECn <br>" +
" / NITESECNITESEC; <br>" +
" : :NITESECNITESEC; <br>" +
" ; @ NITESECNITESECN <br>" +
" : _, ,N'ITESECNITESEC <br>" +
" : .+''`, : `NITESECNIT <br>" +
" ) /), `-,-=,NITESECNI <br>" +
" / ` ,-;|NITESECN; <br>" +
" / _.'(o) '-';NITESECN <br>" +
" ( , o ,-''`^NITE' <br>" +
" )` :`. .' <br>" +
" )-. ; `- / <br>" +
" \ _.-' : <br>" +
" ( _.-' \. \ <br>" +
" \------. \ \ <br>" +
" \. \ \ <br>" +
" bug \ _.nIt <br>" +
" \ _.nITESECNi <br>" +
" nITESECNIT^' \ <br>" +
" NITE^' ___ \ <br>" +
" / .gP''''Tp. \ <br>" +
" : d' . `b \ <br>" +
" ; d' o `b ; <br>" +
" / d; `b| <br>" +
" /, $; @ `: <br>" +
" /' $$ ; <br>" +
" .' $$b (o) | <br>" +
" .' d$$$; : <br>" +
" / .d$$$$; , ; <br>" +
" d .d$$$$$$$ $ | <br>" +
" :bp.__.g$$$$$$$$$ :$ ; <br>" +
" $$$$$$$$$$$$$$$$$ $$b : <br>",
//City factions, essentially governments
ChongqingInfo: "",
Sector12Info: "",
HongKongInfo: "",
AevumInfo: "",
IshimaInfo: "",
VolhavenInfo: "",
ChongqingInfo: "TODO",
Sector12Info: "TODO",
HongKongInfo: "TODO",
AevumInfo: "TODO",
IshimaInfo: "TODO",
VolhavenInfo: "TODO",
//Criminal Organizations/Gangs
SpeakersForTheDeadInfo: "It is better to reign in hell than to serve in heaven.",
DarkArmyInfo: "The World doesn't care about right or wrong. It's all about power.",
TheSyndicateInfo: "",
TheSyndicateInfo: "TODO",
Silhouette: "Corporations are so big, you don't even know who you're working for. That's terror. Terror built into the system.",

@ -1241,7 +1241,7 @@ initLocationButtons = function() {
});
purchaseTor.addEventListener("click", function() {
purchaseTor();
purchaseTorRouter();
return false;
});
@ -1289,7 +1289,7 @@ travelToCity = function(destCityName, cost) {
Engine.loadWorldContent();
}
purchaseTor = function() {
purchaseTorRouter = function() {
if (CONSTANTS.TorRouterCost > Player.money) {
dialogBoxCreate("You cannot afford to purchase the Tor router");
return;

@ -123,7 +123,7 @@ Script.prototype.updateNumInstructions = function() {
//Ideally, I would want it to be based on type of instructions as well
// (e.g. hack() costs a lot but others dont)
Script.prototype.updateRamUsage = function() {
this.ramUsage = this.numInstructions * .2;
this.ramUsage = this.numInstructions * .25;
}
Script.prototype.log = function(txt) {

@ -396,7 +396,7 @@ initForeignServers = function() {
//"Low level" targets
var FoodNStuffServer = new Server();
FoodNStuffServer.init(createRandomIp(), "foodnstuff", "Food N Stuff Supermarket", true, false, false, false, 2);
FoodNStuffServer.setHackingParameters(1, 500000, 10, 20);
FoodNStuffServer.setHackingParameters(1, 500000, 10, 5);
FoodNStuffServer.setPortProperties(0);
AddToAllServers(FoodNStuffServer);
@ -408,7 +408,7 @@ initForeignServers = function() {
var JoesGunsServer = new Server();
JoesGunsServer.init(createRandomIp(), "joesguns", "Joe's Guns", true, false, false, false, 8);
JoesGunsServer.setHackingParameters(10, 200000, 20, 20);
JoesGunsServer.setHackingParameters(10, 200000, 20, 25);
JoesGunsServer.setPortProperties(0);
AddToAllServers(JoesGunsServer);
@ -456,7 +456,7 @@ initForeignServers = function() {
var MaxHardwareServer = new Server();
MaxHardwareServer.init(createRandomIp(), "max-hardware", "Max Hardware Store", true, false, false, false, 8);
MaxHardwareServer.setHackingParameters(80, 150000, 15, 10);
MaxHardwareServer.setHackingParameters(80, 150000, 15, 25);
MaxHardwareServer.setPortProperties(1);
AddToAllServers(MaxHardwareServer);

@ -193,7 +193,6 @@ var Terminal = {
post("Incorrect usage of analyze command. Usage: analyze"); return;
}
//Analyze the current server for information
console.log("analyze terminal command called");
Terminal.analyzeFlag = true;
post("Analyzing system...");
hackProgressPost("Time left:");
@ -201,7 +200,6 @@ var Terminal = {
Player.analyze();
//Disable terminal
console.log("Disabling terminal");
document.getElementById("terminal-input-td").innerHTML = '<input type="text" class="terminal-input"/>';
$('input[class=terminal-input]').prop('disabled', true);
break;
@ -210,7 +208,6 @@ var Terminal = {
if (commandArray.length != 1) {
post("Incorrect usage of clear/cls command. Usage: clear/cls"); return;
}
console.log("cls/clear terminal command called");
$("#terminal tr:not(:last)").remove();
postNetburnerText();
break;
@ -240,7 +237,6 @@ var Terminal = {
if (commandArray.length != 1) {
post("Incorrect usage of free command. Usage: free"); return;
}
console.log("free terminal command called");
post("Total: " + Player.getCurrentServer().maxRam.toString() + " GB");
post("Used: " + Player.getCurrentServer().ramUsed.toString() + " GB");
post("Available: " + (Player.getCurrentServer().maxRam - Player.getCurrentServer().ramUsed).toString() + " GB");
@ -264,7 +260,6 @@ var Terminal = {
Player.hack();
//Disable terminal
console.log("Disabling terminal");
document.getElementById("terminal-input-td").innerHTML = '<input type="text" class="terminal-input"/>';
$('input[class=terminal-input]').prop('disabled', true);
}
@ -368,7 +363,6 @@ var Terminal = {
post("Incorrect usage of netstat/scan command. Usage: netstat/scan"); return;
}
//Displays available network connections using TCP
console.log("netstat/scan terminal command called");
post("Hostname IP Root Access");
for (var i = 0; i < Player.getCurrentServer().serversOnNetwork.length; i++) {
//Add hostname
@ -503,7 +497,6 @@ var Terminal = {
if (Player.getCurrentServer().hasAdminRights) {
post("You already have root access to this computer. There is no reason to run NUKE.exe");
} else {
console.log("Running NUKE executable");
if (Player.getCurrentServer().openPortCount >= Player.getCurrentServer().numOpenPortsRequired) {
Player.getCurrentServer().hasAdminRights = true;
post("NUKE successful! Gained root access to " + Player.getCurrentServer().hostname);

@ -591,8 +591,7 @@ var Engine = {
updateSkillLevelsCounter: 10, //Only update skill levels every 2 seconds. Might improve performance
updateDisplays: 5, //Update displays such as Active Scripts display and character display
serverGrowth: 450, //Process server growth every minute and a half
//checkFactionInvitations: 1500, //Check whether you qualify for any faction invitations every 5 minutes
checkFactionInvitations: 50,
checkFactionInvitations: 1500, //Check whether you qualify for any faction invitations every 5 minutes
},
decrementAllCounters: function(numCycles = 1) {

162
src/tags

@ -22,9 +22,11 @@ AugmentationsSave C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js
CONSTANTS.CodeInstructionRunTime C:\Users\daniel.xie\Desktop\netburner\netburner\src\Constants.js 11;" kind:property line:11 language:JavaScript
CONSTANTS.CodeOfflineExecutionTime C:\Users\daniel.xie\Desktop\netburner\netburner\src\Constants.js 14;" kind:property line:14 language:JavaScript
CONSTANTS.CorpFactionRepRequirement C:\Users\daniel.xie\Desktop\netburner\netburner\src\Constants.js 7;" kind:property line:7 language:JavaScript
CONSTANTS.HelpText C:\Users\daniel.xie\Desktop\netburner\netburner\src\Constants.js 20;" kind:property line:20 language:JavaScript
CONSTANTS.GameCyclesPer20Hours C:\Users\daniel.xie\Desktop\netburner\netburner\src\Constants.js 23;" kind:property line:23 language:JavaScript
CONSTANTS.MaxLogCapacity C:\Users\daniel.xie\Desktop\netburner\netburner\src\Constants.js 17;" kind:property line:17 language:JavaScript
CONSTANTS.MaxSkillLevel C:\Users\daniel.xie\Desktop\netburner\netburner\src\Constants.js 4;" kind:property line:4 language:JavaScript
CONSTANTS.MillisecondsPer20Hours C:\Users\daniel.xie\Desktop\netburner\netburner\src\Constants.js 22;" kind:property line:22 language:JavaScript
CONSTANTS.TorRouterCost C:\Users\daniel.xie\Desktop\netburner\netburner\src\Constants.js 20;" kind:property line:20 language:JavaScript
CompaniesSave C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 89;" kind:variable line:89 language:JavaScript
Company C:\Users\daniel.xie\Desktop\netburner\netburner\src\Company.js 4;" kind:class line:4 language:JavaScript
Company.addPosition C:\Users\daniel.xie\Desktop\netburner\netburner\src\Company.js 34;" kind:method line:34 language:JavaScript
@ -147,57 +149,79 @@ Parser.is_punc C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Par
Parser.maybe_binary C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 62;" kind:function line:62 language:JavaScript
Parser.parse_call C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 92;" kind:function line:92 language:JavaScript
Parser.unexpected C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 58;" kind:function line:58 language:JavaScript
Perk C:\Users\daniel.xie\Desktop\netburner\netburner\src\Perk.js 40;" kind:class line:40 language:JavaScript
Perk.fromJSON C:\Users\daniel.xie\Desktop\netburner\netburner\src\Perk.js 62;" kind:function line:62 language:JavaScript
Perk.setCompany C:\Users\daniel.xie\Desktop\netburner\netburner\src\Perk.js 40;" kind:method line:40 language:JavaScript
Perk.setFaction C:\Users\daniel.xie\Desktop\netburner\netburner\src\Perk.js 49;" kind:method line:49 language:JavaScript
Perk.toJSON C:\Users\daniel.xie\Desktop\netburner\netburner\src\Perk.js 58;" kind:method line:58 language:JavaScript
Perks.FreeCoffeeCompanyPerk C:\Users\daniel.xie\Desktop\netburner\netburner\src\Perk.js 6;" kind:property line:6 language:JavaScript
Perks.FreeFoodCompanyPerk C:\Users\daniel.xie\Desktop\netburner\netburner\src\Perk.js 7;" kind:property line:7 language:JavaScript
Perks.InsiderKnowledgeFactionPerk C:\Users\daniel.xie\Desktop\netburner\netburner\src\Perk.js 17;" kind:property line:17 language:JavaScript
Perks.KnowledgeBaseCompanyPerk C:\Users\daniel.xie\Desktop\netburner\netburner\src\Perk.js 10;" kind:property line:10 language:JavaScript
Perks.NetworkingCompanyPerk C:\Users\daniel.xie\Desktop\netburner\netburner\src\Perk.js 8;" kind:property line:8 language:JavaScript
Perks.NetworkingFactionPerk C:\Users\daniel.xie\Desktop\netburner\netburner\src\Perk.js 13;" kind:property line:13 language:JavaScript
Perks.NootropicsCompanyPerk C:\Users\daniel.xie\Desktop\netburner\netburner\src\Perk.js 11;" kind:property line:11 language:JavaScript
Perks.PersonalTrainerCompanyPerk C:\Users\daniel.xie\Desktop\netburner\netburner\src\Perk.js 9;" kind:property line:9 language:JavaScript
Perks.PrivateServerFactionPerk C:\Users\daniel.xie\Desktop\netburner\netburner\src\Perk.js 16;" kind:property line:16 language:JavaScript
Perks.SupercomputerFactionPerk C:\Users\daniel.xie\Desktop\netburner\netburner\src\Perk.js 14;" kind:property line:14 language:JavaScript
Perks.VPNFactionPerk C:\Users\daniel.xie\Desktop\netburner\netburner\src\Perk.js 15;" kind:property line:15 language:JavaScript
PlayerObject C:\Users\daniel.xie\Desktop\netburner\netburner\src\CompanyJobApplication.js 5;" kind:class line:5 language:JavaScript
PlayerObject C:\Users\daniel.xie\Desktop\netburner\netburner\src\Faction.js 121;" kind:class line:121 language:JavaScript
PlayerObject C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 2;" kind:class line:2 language:JavaScript
PlayerObject.PlayerObject C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 385;" kind:class line:385 language:JavaScript
PlayerObject.PlayerObject C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 676;" kind:method line:676 language:JavaScript
PlayerObject.PlayerObject.createProgramWork C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 636;" kind:method line:636 language:JavaScript
PlayerObject.PlayerObject.finishCreateProgramWork C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 655;" kind:method line:655 language:JavaScript
PlayerObject.PlayerObject.getFactionFieldWorkRepGain C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 603;" kind:method line:603 language:JavaScript
PlayerObject.PlayerObject.getFactionSecurityWorkRepGain C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 594;" kind:method line:594 language:JavaScript
PlayerObject.PlayerObject.getWorkAgiExpGain C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 574;" kind:method line:574 language:JavaScript
PlayerObject.PlayerObject.getWorkChaExpGain C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 580;" kind:method line:580 language:JavaScript
PlayerObject.PlayerObject.getWorkDefExpGain C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 562;" kind:method line:562 language:JavaScript
PlayerObject.PlayerObject.getWorkDexExpGain C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 568;" kind:method line:568 language:JavaScript
PlayerObject.PlayerObject.getWorkHackExpGain C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 550;" kind:method line:550 language:JavaScript
PlayerObject.PlayerObject.getWorkMoneyGain C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 544;" kind:method line:544 language:JavaScript
PlayerObject.PlayerObject.getWorkRepGain C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 586;" kind:method line:586 language:JavaScript
PlayerObject.PlayerObject.getWorkStrExpGain C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 556;" kind:method line:556 language:JavaScript
PlayerObject.PlayerObject.startCreateProgramWork C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 614;" kind:method line:614 language:JavaScript
PlayerObject.PlayerObject.startFactionFieldWork C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 465;" kind:method line:465 language:JavaScript
PlayerObject.PlayerObject.startFactionHackWork C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 450;" kind:method line:450 language:JavaScript
PlayerObject.PlayerObject.startFactionSecurityWork C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 480;" kind:method line:480 language:JavaScript
PlayerObject.PlayerObject.startFactionWork C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 420;" kind:method line:420 language:JavaScript
PlayerObject.PlayerObject.toJSON C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 672;" kind:method line:672 language:JavaScript
PlayerObject.PlayerObject.workForFaction C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 495;" kind:method line:495 language:JavaScript
PlayerObject.analyze C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 226;" kind:method line:226 language:JavaScript
PlayerObject.applyForAgentJob C:\Users\daniel.xie\Desktop\netburner\netburner\src\CompanyJobApplication.js 114;" kind:method line:114 language:JavaScript
PlayerObject.applyForBusinessJob C:\Users\daniel.xie\Desktop\netburner\netburner\src\CompanyJobApplication.js 105;" kind:method line:105 language:JavaScript
PlayerObject.applyForEmployeeJob C:\Users\daniel.xie\Desktop\netburner\netburner\src\CompanyJobApplication.js 123;" kind:method line:123 language:JavaScript
PlayerObject.applyForItJob C:\Users\daniel.xie\Desktop\netburner\netburner\src\CompanyJobApplication.js 80;" kind:method line:80 language:JavaScript
PlayerObject.PlayerObject C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 436;" kind:class line:436 language:JavaScript
PlayerObject.PlayerObject C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 730;" kind:method line:730 language:JavaScript
PlayerObject.PlayerObject.createProgramWork C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 690;" kind:method line:690 language:JavaScript
PlayerObject.PlayerObject.finishCreateProgramWork C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 709;" kind:method line:709 language:JavaScript
PlayerObject.PlayerObject.getFactionFieldWorkRepGain C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 655;" kind:method line:655 language:JavaScript
PlayerObject.PlayerObject.getFactionSecurityWorkRepGain C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 646;" kind:method line:646 language:JavaScript
PlayerObject.PlayerObject.getWorkAgiExpGain C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 626;" kind:method line:626 language:JavaScript
PlayerObject.PlayerObject.getWorkChaExpGain C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 632;" kind:method line:632 language:JavaScript
PlayerObject.PlayerObject.getWorkDefExpGain C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 614;" kind:method line:614 language:JavaScript
PlayerObject.PlayerObject.getWorkDexExpGain C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 620;" kind:method line:620 language:JavaScript
PlayerObject.PlayerObject.getWorkHackExpGain C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 602;" kind:method line:602 language:JavaScript
PlayerObject.PlayerObject.getWorkMoneyGain C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 596;" kind:method line:596 language:JavaScript
PlayerObject.PlayerObject.getWorkRepGain C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 638;" kind:method line:638 language:JavaScript
PlayerObject.PlayerObject.getWorkStrExpGain C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 608;" kind:method line:608 language:JavaScript
PlayerObject.PlayerObject.startCreateProgramWork C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 666;" kind:method line:666 language:JavaScript
PlayerObject.PlayerObject.startFactionFieldWork C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 517;" kind:method line:517 language:JavaScript
PlayerObject.PlayerObject.startFactionHackWork C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 502;" kind:method line:502 language:JavaScript
PlayerObject.PlayerObject.startFactionSecurityWork C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 532;" kind:method line:532 language:JavaScript
PlayerObject.PlayerObject.startFactionWork C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 471;" kind:method line:471 language:JavaScript
PlayerObject.PlayerObject.toJSON C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 726;" kind:method line:726 language:JavaScript
PlayerObject.PlayerObject.workForFaction C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 547;" kind:method line:547 language:JavaScript
PlayerObject.analyze C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 230;" kind:method line:230 language:JavaScript
PlayerObject.applyForAgentJob C:\Users\daniel.xie\Desktop\netburner\netburner\src\CompanyJobApplication.js 118;" kind:method line:118 language:JavaScript
PlayerObject.applyForBusinessJob C:\Users\daniel.xie\Desktop\netburner\netburner\src\CompanyJobApplication.js 109;" kind:method line:109 language:JavaScript
PlayerObject.applyForEmployeeJob C:\Users\daniel.xie\Desktop\netburner\netburner\src\CompanyJobApplication.js 127;" kind:method line:127 language:JavaScript
PlayerObject.applyForItJob C:\Users\daniel.xie\Desktop\netburner\netburner\src\CompanyJobApplication.js 84;" kind:method line:84 language:JavaScript
PlayerObject.applyForJob C:\Users\daniel.xie\Desktop\netburner\netburner\src\CompanyJobApplication.js 5;" kind:method line:5 language:JavaScript
PlayerObject.applyForNetworkEngineerJob C:\Users\daniel.xie\Desktop\netburner\netburner\src\CompanyJobApplication.js 96;" kind:method line:96 language:JavaScript
PlayerObject.applyForSecurityEngineerJob C:\Users\daniel.xie\Desktop\netburner\netburner\src\CompanyJobApplication.js 84;" kind:method line:84 language:JavaScript
PlayerObject.applyForSecurityJob C:\Users\daniel.xie\Desktop\netburner\netburner\src\CompanyJobApplication.js 109;" kind:method line:109 language:JavaScript
PlayerObject.applyForSoftwareJob C:\Users\daniel.xie\Desktop\netburner\netburner\src\CompanyJobApplication.js 76;" kind:method line:76 language:JavaScript
PlayerObject.applyForWaiterJob C:\Users\daniel.xie\Desktop\netburner\netburner\src\CompanyJobApplication.js 135;" kind:method line:135 language:JavaScript
PlayerObject.calculateExpGain C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 212;" kind:method line:212 language:JavaScript
PlayerObject.applyForNetworkEngineerJob C:\Users\daniel.xie\Desktop\netburner\netburner\src\CompanyJobApplication.js 100;" kind:method line:100 language:JavaScript
PlayerObject.applyForSecurityEngineerJob C:\Users\daniel.xie\Desktop\netburner\netburner\src\CompanyJobApplication.js 88;" kind:method line:88 language:JavaScript
PlayerObject.applyForSecurityJob C:\Users\daniel.xie\Desktop\netburner\netburner\src\CompanyJobApplication.js 113;" kind:method line:113 language:JavaScript
PlayerObject.applyForSoftwareJob C:\Users\daniel.xie\Desktop\netburner\netburner\src\CompanyJobApplication.js 80;" kind:method line:80 language:JavaScript
PlayerObject.applyForWaiterJob C:\Users\daniel.xie\Desktop\netburner\netburner\src\CompanyJobApplication.js 139;" kind:method line:139 language:JavaScript
PlayerObject.calculateExpGain C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 216;" kind:method line:216 language:JavaScript
PlayerObject.calculateHackingChance C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 176;" kind:method line:176 language:JavaScript
PlayerObject.calculateHackingTime C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 188;" kind:method line:188 language:JavaScript
PlayerObject.calculatePercentMoneyHacked C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 199;" kind:method line:199 language:JavaScript
PlayerObject.calculateHackingTime C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 190;" kind:method line:190 language:JavaScript
PlayerObject.calculatePercentMoneyHacked C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 201;" kind:method line:201 language:JavaScript
PlayerObject.calculateSkill C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 157;" kind:method line:157 language:JavaScript
PlayerObject.checkForFactionInvitations C:\Users\daniel.xie\Desktop\netburner\netburner\src\Faction.js 121;" kind:method line:121 language:JavaScript
PlayerObject.finishWork C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 239;" kind:method line:239 language:JavaScript
PlayerObject.gainMoney C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 232;" kind:method line:232 language:JavaScript
PlayerObject.finishWork C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 288;" kind:method line:288 language:JavaScript
PlayerObject.gainAgilityExp C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 273;" kind:method line:273 language:JavaScript
PlayerObject.gainCharismaExp C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 280;" kind:method line:280 language:JavaScript
PlayerObject.gainDefenseExp C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 259;" kind:method line:259 language:JavaScript
PlayerObject.gainDexterityExp C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 266;" kind:method line:266 language:JavaScript
PlayerObject.gainHackingExp C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 245;" kind:method line:245 language:JavaScript
PlayerObject.gainMoney C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 236;" kind:method line:236 language:JavaScript
PlayerObject.gainStrengthExp C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 252;" kind:method line:252 language:JavaScript
PlayerObject.getCurrentServer C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 146;" kind:method line:146 language:JavaScript
PlayerObject.getHomeComputer C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 150;" kind:method line:150 language:JavaScript
PlayerObject.hack C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 219;" kind:method line:219 language:JavaScript
PlayerObject.hack C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 223;" kind:method line:223 language:JavaScript
PlayerObject.init C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 135;" kind:method line:135 language:JavaScript
PlayerObject.isQualified C:\Users\daniel.xie\Desktop\netburner\netburner\src\CompanyJobApplication.js 148;" kind:method line:148 language:JavaScript
PlayerObject.startWork C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 298;" kind:method line:298 language:JavaScript
PlayerObject.isQualified C:\Users\daniel.xie\Desktop\netburner\netburner\src\CompanyJobApplication.js 152;" kind:method line:152 language:JavaScript
PlayerObject.startWork C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 346;" kind:method line:346 language:JavaScript
PlayerObject.updateSkillLevels C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 161;" kind:method line:161 language:JavaScript
PlayerObject.work C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 336;" kind:method line:336 language:JavaScript
PlayerObject.work C:\Users\daniel.xie\Desktop\netburner\netburner\src\Player.js 387;" kind:method line:387 language:JavaScript
PrintAllServers C:\Users\daniel.xie\Desktop\netburner\netburner\src\Server.js 692;" kind:function line:692 language:JavaScript
Programs.BruteSSHProgram C:\Users\daniel.xie\Desktop\netburner\netburner\src\CreateProgram.js 4;" kind:property line:4 language:JavaScript
Programs.FTPCrackProgram C:\Users\daniel.xie\Desktop\netburner\netburner\src\CreateProgram.js 5;" kind:property line:5 language:JavaScript
@ -230,26 +254,30 @@ SpecialServerIpsMap.fromJSON C:\Users\daniel.xie\Desktop\netburner\netburner\src
SpecialServerIpsMap.toJSON C:\Users\daniel.xie\Desktop\netburner\netburner\src\SpecialServerIps.js 9;" kind:method line:9 language:JavaScript
SpecialServerIpsSave C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 91;" kind:variable line:91 language:JavaScript
Tokenizer C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Tokenizer.js 16;" kind:function line:16 language:JavaScript
WorkerScript C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\NetscriptWorker.js 9;" kind:class line:9 language:JavaScript
WorkerScript.getServer C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\NetscriptWorker.js 21;" kind:method line:21 language:JavaScript
addWorkerScript C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\NetscriptWorker.js 134;" kind:function line:134 language:JavaScript
allFiles C:\Users\daniel.xie\Desktop\netburner\netburner\src\Terminal.js 317;" kind:variable line:317 language:JavaScript
WorkerScript C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\NetscriptWorker.js 6;" kind:class line:6 language:JavaScript
WorkerScript.getServer C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\NetscriptWorker.js 18;" kind:method line:18 language:JavaScript
addWorkerScript C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\NetscriptWorker.js 132;" kind:function line:132 language:JavaScript
allFiles C:\Users\daniel.xie\Desktop\netburner\netburner\src\Terminal.js 312;" kind:variable line:312 language:JavaScript
applyAugmentation C:\Users\daniel.xie\Desktop\netburner\netburner\src\Augmentations.js 486;" kind:function line:486 language:JavaScript
applyPerk C:\Users\daniel.xie\Desktop\netburner\netburner\src\Perk.js 84;" kind:function line:84 language:JavaScript
apply_op C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Evaluator.js 498;" kind:function line:498 language:JavaScript
apply_op.div C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Evaluator.js 504;" kind:function line:504 language:JavaScript
apply_op.num C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Evaluator.js 499;" kind:function line:499 language:JavaScript
checkValidFilename C:\Users\daniel.xie\Desktop\netburner\netburner\src\Script.js 47;" kind:function line:47 language:JavaScript
createProgram C:\Users\daniel.xie\Desktop\netburner\netburner\src\CreateProgram.js 82;" kind:function line:82 language:JavaScript
croak C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\InputStream.js 22;" kind:function line:22 language:JavaScript
diff C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 530;" kind:variable line:530 language:JavaScript
displayFactionAugmentations C:\Users\daniel.xie\Desktop\netburner\netburner\src\Faction.js 613;" kind:function line:613 language:JavaScript
displayFactionContent C:\Users\daniel.xie\Desktop\netburner\netburner\src\Faction.js 418;" kind:function line:418 language:JavaScript
delTarget C:\Users\daniel.xie\Desktop\netburner\netburner\src\Terminal.js 405;" kind:variable line:405 language:JavaScript
diff C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 536;" kind:variable line:536 language:JavaScript
displayFactionAugmentations C:\Users\daniel.xie\Desktop\netburner\netburner\src\Faction.js 616;" kind:function line:616 language:JavaScript
displayFactionContent C:\Users\daniel.xie\Desktop\netburner\netburner\src\Faction.js 417;" kind:function line:417 language:JavaScript
eof C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\InputStream.js 19;" kind:function line:19 language:JavaScript
eof C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Tokenizer.js 165;" kind:function line:165 language:JavaScript
evaluate C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Evaluator.js 7;" kind:function line:7 language:JavaScript
evaluateFor C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Evaluator.js 333;" kind:function line:333 language:JavaScript
evaluateProg C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Evaluator.js 460;" kind:function line:460 language:JavaScript
evaluateWhile C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Evaluator.js 405;" kind:function line:405 language:JavaScript
filename C:\Users\daniel.xie\Desktop\netburner\netburner\src\Terminal.js 339;" kind:variable line:339 language:JavaScript
executeDarkwebTerminalCommand C:\Users\daniel.xie\Desktop\netburner\netburner\src\DarkWeb.js 2;" kind:function line:2 language:JavaScript
filename C:\Users\daniel.xie\Desktop\netburner\netburner\src\Terminal.js 334;" kind:variable line:334 language:JavaScript
getNextCompanyPosition C:\Users\daniel.xie\Desktop\netburner\netburner\src\Company.js 328;" kind:function line:328 language:JavaScript
hackProgressBarPost C:\Users\daniel.xie\Desktop\netburner\netburner\src\Terminal.js 10;" kind:function line:10 language:JavaScript
hackProgressPost C:\Users\daniel.xie\Desktop\netburner\netburner\src\Terminal.js 15;" kind:function line:15 language:JavaScript
@ -258,9 +286,9 @@ initAugmentations C:\Users\daniel.xie\Desktop\netburner\netburner\src\Augmentati
initCompanies C:\Users\daniel.xie\Desktop\netburner\netburner\src\Company.js 425;" kind:function line:425 language:JavaScript
initFactions C:\Users\daniel.xie\Desktop\netburner\netburner\src\Faction.js 47;" kind:function line:47 language:JavaScript
initForeignServers C:\Users\daniel.xie\Desktop\netburner\netburner\src\Server.js 117;" kind:function line:117 language:JavaScript
initLocationButtons C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 745;" kind:function line:745 language:JavaScript
inviteToFaction C:\Users\daniel.xie\Desktop\netburner\netburner\src\Faction.js 363;" kind:function line:363 language:JavaScript
ip C:\Users\daniel.xie\Desktop\netburner\netburner\src\Terminal.js 225;" kind:variable line:225 language:JavaScript
initLocationButtons C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 759;" kind:function line:759 language:JavaScript
inviteToFaction C:\Users\daniel.xie\Desktop\netburner\netburner\src\Faction.js 362;" kind:function line:362 language:JavaScript
ip C:\Users\daniel.xie\Desktop\netburner\netburner\src\Terminal.js 222;" kind:variable line:222 language:JavaScript
is_digit C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Tokenizer.js 31;" kind:function line:31 language:JavaScript
is_id C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Tokenizer.js 40;" kind:function line:40 language:JavaScript
is_id_start C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Tokenizer.js 36;" kind:function line:36 language:JavaScript
@ -270,10 +298,11 @@ is_punc C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Tokenizer.
is_whitespace C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Tokenizer.js 52;" kind:function line:52 language:JavaScript
item C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 402;" kind:variable line:402 language:JavaScript
itemText C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 419;" kind:variable line:419 language:JavaScript
joinFaction C:\Users\daniel.xie\Desktop\netburner\netburner\src\Faction.js 370;" kind:function line:370 language:JavaScript
killWorkerScript C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\NetscriptWorker.js 124;" kind:function line:124 language:JavaScript
joinFaction C:\Users\daniel.xie\Desktop\netburner\netburner\src\Faction.js 369;" kind:function line:369 language:JavaScript
killWorkerScript C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\NetscriptWorker.js 122;" kind:function line:122 language:JavaScript
li C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 384;" kind:variable line:384 language:JavaScript
loadAllRunningScripts C:\Users\daniel.xie\Desktop\netburner\netburner\src\Script.js 159;" kind:function line:159 language:JavaScript
losePerk C:\Users\daniel.xie\Desktop\netburner\netburner\src\Perk.js 114;" kind:function line:114 language:JavaScript
mainMenu C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 263;" kind:variable line:263 language:JavaScript
maybe_call C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 203;" kind:function line:203 language:JavaScript
next C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\InputStream.js 11;" kind:function line:11 language:JavaScript
@ -282,7 +311,7 @@ offlineEps C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 440;" k
offlineMps C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 438;" kind:variable line:438 language:JavaScript
offlineMpsText C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 439;" kind:variable line:439 language:JavaScript
offlineTotalMoneyMade C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 435;" kind:variable line:435 language:JavaScript
offset C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 531;" kind:variable line:531 language:JavaScript
offset C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 537;" kind:variable line:537 language:JavaScript
onlineEps C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 431;" kind:variable line:431 language:JavaScript
onlineMps C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 429;" kind:variable line:429 language:JavaScript
onlineMpsText C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 430;" kind:variable line:430 language:JavaScript
@ -300,29 +329,32 @@ parse_varname C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Pars
parse_while C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 182;" kind:function line:182 language:JavaScript
peek C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\InputStream.js 16;" kind:function line:16 language:JavaScript
peek C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Tokenizer.js 151;" kind:function line:151 language:JavaScript
percent C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 644;" kind:variable line:644 language:JavaScript
percent C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 657;" kind:variable line:657 language:JavaScript
post C:\Users\daniel.xie\Desktop\netburner\netburner\src\Terminal.js 4;" kind:function line:4 language:JavaScript
postNetburnerText C:\Users\daniel.xie\Desktop\netburner\netburner\src\Terminal.js 25;" kind:function line:25 language:JavaScript
postScriptEditorStatus C:\Users\daniel.xie\Desktop\netburner\netburner\src\Script.js 57;" kind:function line:57 language:JavaScript
prestigeAugmentation C:\Users\daniel.xie\Desktop\netburner\netburner\src\Prestige.js 4;" kind:function line:4 language:JavaScript
purchaseServer C:\Users\daniel.xie\Desktop\netburner\netburner\src\PurchaseServers.js 2;" kind:function line:2 language:JavaScript
purchaseTor C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 1292;" kind:function line:1292 language:JavaScript
read_escaped C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Tokenizer.js 88;" kind:function line:88 language:JavaScript
read_ident C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Tokenizer.js 79;" kind:function line:79 language:JavaScript
read_next C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Tokenizer.js 122;" kind:function line:122 language:JavaScript
read_number C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Tokenizer.js 63;" kind:function line:63 language:JavaScript
read_string C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Tokenizer.js 107;" kind:function line:107 language:JavaScript
read_while C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Tokenizer.js 56;" kind:function line:56 language:JavaScript
runScriptsLoop C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\NetscriptWorker.js 29;" kind:function line:29 language:JavaScript
scriptCalculateExpGain C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Evaluator.js 544;" kind:function line:544 language:JavaScript
runScriptsLoop C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\NetscriptWorker.js 26;" kind:function line:26 language:JavaScript
s C:\Users\daniel.xie\Desktop\netburner\netburner\src\Terminal.js 406;" kind:variable line:406 language:JavaScript
scriptCalculateExpGain C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Evaluator.js 546;" kind:function line:546 language:JavaScript
scriptCalculateHackingChance C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Evaluator.js 528;" kind:function line:528 language:JavaScript
scriptCalculateHackingTime C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Evaluator.js 536;" kind:function line:536 language:JavaScript
scriptCalculateHackingTime C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Evaluator.js 538;" kind:function line:538 language:JavaScript
scriptCalculateOfflineProduction C:\Users\daniel.xie\Desktop\netburner\netburner\src\Script.js 183;" kind:function line:183 language:JavaScript
scriptCalculatePercentMoneyHacked C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Evaluator.js 549;" kind:function line:549 language:JavaScript
scriptName C:\Users\daniel.xie\Desktop\netburner\netburner\src\Terminal.js 301;" kind:variable line:301 language:JavaScript
scriptname C:\Users\daniel.xie\Desktop\netburner\netburner\src\Terminal.js 347;" kind:variable line:347 language:JavaScript
scriptCalculatePercentMoneyHacked C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Evaluator.js 551;" kind:function line:551 language:JavaScript
scriptName C:\Users\daniel.xie\Desktop\netburner\netburner\src\Terminal.js 296;" kind:variable line:296 language:JavaScript
scriptname C:\Users\daniel.xie\Desktop\netburner\netburner\src\Terminal.js 342;" kind:variable line:342 language:JavaScript
serverIpHostname C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 423;" kind:variable line:423 language:JavaScript
skip_comment C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Tokenizer.js 116;" kind:function line:116 language:JavaScript
updateOnlineScriptTimes C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\NetscriptWorker.js 157;" kind:function line:157 language:JavaScript
travelToCity C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 1280;" kind:function line:1280 language:JavaScript
updateOnlineScriptTimes C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\NetscriptWorker.js 155;" kind:function line:155 language:JavaScript
updateTerminalScroll C:\Users\daniel.xie\Desktop\netburner\netburner\src\Terminal.js 20;" kind:function line:20 language:JavaScript
window.onload C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 891;" kind:function line:891 language:JavaScript
workerScripts C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\NetscriptWorker.js 26;" kind:variable line:26 language:JavaScript
window.onload C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 904;" kind:function line:904 language:JavaScript
workerScripts C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\NetscriptWorker.js 23;" kind:variable line:23 language:JavaScript

Binary file not shown.

@ -1,8 +1,5 @@
/* Pop up Dialog Box */
function dialogBoxInit() {
if (Engine.Debug) {
console.log("Dialog Box Initialized");
}
var closeButton = document.getElementById("dialog-box-close-button");
var dialogBox = document.getElementById("dialog-box-container");

@ -1,8 +1,5 @@
/* Faction Invitation Pop-up box */
function factionInvitationBoxInit() {
if (Engine.Debug) {
console.log("Faction Invitation Box Initialized");
}
var cancelButton = document.getElementById("faction-invitation-box-no");
//Close Dialog box

21
utils/HelperFunctions.js Normal file

@ -0,0 +1,21 @@
//General helper functions
//Returns the size (number of keys) of an object
function sizeOfObject(obj) {
var size = 0, key;
for (key in obj) {
if (obj.hasOwnProperty(key)) size++;
}
return size;
}
//Adds a random offset to a number within a certain percentage
//e.g. addOffset(100, 5) will return anything from 95 to 105.
//The percentage argument must be between 0 and 100;
function addOffset(n, percentage) {
if (percentage < 0 || percentage > 100) {return ;}
var offset = n * (percentage / 100);
return n * (Math.random() * (2 * offset) - offset);
}

@ -1,10 +0,0 @@
//Netburner Object helper functions
//Returns the size (number of keys) of an object
function sizeOfObject(obj) {
var size = 0, key;
for (key in obj) {
if (obj.hasOwnProperty(key)) size++;
}
return size;
}

@ -1,8 +1,5 @@
/* Pop up Purchase Augmentation Box */
function purchaseAugmentationBoxInit() {
if (Engine.Debug) {
console.log("Purchase Augmentation Box Initialized");
}
var cancelButton = document.getElementById("purchase-augmentation-box-cancel");
//Close Dialog box

@ -1,8 +1,5 @@
/* Pop up Purchase Server Box */
function purchaseServerBoxInit() {
if (Engine.Debug) {
console.log("Purchase Server box Initialized");
}
var cancelButton = document.getElementById("purchase-server-box-cancel");
//Close Dialog box

@ -1,8 +1,5 @@
/* Pop up Purchase Server Box */
function travelBoxInit() {
if (Engine.Debug) {
console.log("Travel box Initialized");
}
var cancelButton = document.getElementById("travel-box-cancel");
//Close Dialog box