diff --git a/src/Corporation/Corporation.jsx b/src/Corporation/Corporation.jsx
index b19b8fea4..08403439a 100644
--- a/src/Corporation/Corporation.jsx
+++ b/src/Corporation/Corporation.jsx
@@ -17,7 +17,8 @@ import { Warehouse } from "./Warehouse";
import { BitNodeMultipliers } from "../BitNode/BitNodeMultipliers";
import { CONSTANTS } from "../Constants";
import { Factions } from "../Faction/Factions";
-import { showLiterature } from "../Literature";
+import { showLiterature } from "../Literature/LiteratureHelpers";
+import { LiteratureNames } from "../Literature/data/LiteratureNames";
import { createCityMap } from "../Locations/Cities";
import { CityName } from "../Locations/data/CityNames";
import { Player } from "../Player";
@@ -1795,7 +1796,7 @@ OfficeSpace.prototype.findEmployees = function(parentRefs) {
"Creativity: " + formatNumber(employee.cre, 1) + "
" +
"Efficiency: " + formatNumber(employee.eff, 1) + "
" +
"Salary: " + numeralWrapper.format(employee.sal, '$0.000a') + " \ s
",
- clickListener:()=>{
+ clickListener:() => {
office.hireEmployee(employee, parentRefs);
removeElementById("cmpy-mgmt-hire-employee-popup");
return false;
@@ -1808,7 +1809,7 @@ OfficeSpace.prototype.findEmployees = function(parentRefs) {
class:"a-link-button",
innerText:"Cancel",
float:"right",
- clickListener:()=>{
+ clickListener:() => {
removeElementById("cmpy-mgmt-hire-employee-popup");
return false;
}
@@ -1842,7 +1843,7 @@ OfficeSpace.prototype.hireEmployee = function(employee, parentRefs) {
company.rerender();
return yesNoTxtInpBoxClose();
});
- noBtn.addEventListener("click", ()=>{
+ noBtn.addEventListener("click", () => {
return yesNoTxtInpBoxClose();
});
yesNoTxtInpBoxCreate("Give your employee a nickname!");
@@ -2075,14 +2076,14 @@ Corporation.prototype.getInvestment = function() {
noBtn = yesNoBoxGetNoButton();
yesBtn.innerHTML = "Accept";
noBtn.innerHML = "Reject";
- yesBtn.addEventListener("click", ()=>{
+ yesBtn.addEventListener("click", () => {
++this.fundingRound;
this.funds = this.funds.plus(funding);
this.numShares -= investShares;
this.rerender();
return yesNoBoxClose();
});
- noBtn.addEventListener("click", ()=>{
+ noBtn.addEventListener("click", () => {
return yesNoBoxClose();
});
yesNoBoxCreate("An investment firm has offered you " + numeralWrapper.format(funding, '$0.000a') +
@@ -2107,7 +2108,7 @@ Corporation.prototype.goPublic = function() {
var input = createElement("input", {
type:"number",
placeholder: "Shares to issue",
- onkeyup:(e)=>{
+ onkeyup:(e) => {
e.preventDefault();
if (e.keyCode === KEY.ENTER) {yesBtn.click();}
}
@@ -2116,7 +2117,7 @@ Corporation.prototype.goPublic = function() {
yesBtn = createElement("a", {
class:"a-link-button",
innerText:"Go Public",
- clickListener:()=>{
+ clickListener:() => {
var numShares = Math.round(input.value);
var initialSharePrice = this.determineValuation() / (this.totalShares);
if (isNaN(numShares)) {
@@ -2142,7 +2143,7 @@ Corporation.prototype.goPublic = function() {
var noBtn = createElement("a", {
class:"a-link-button",
innerText:"Cancel",
- clickListener:()=>{
+ clickListener:() => {
removeElementById(goPublicPopupId);
return false;
}
@@ -2330,7 +2331,7 @@ Corporation.prototype.getStarterGuide = function() {
// Check if player already has Corporation Handbook
let homeComp = Player.getHomeComputer(),
hasHandbook = false,
- handbookFn = "corporation-management-handbook.lit";
+ handbookFn = LiteratureNames.CorporationManagementHandbook;
for (let i = 0; i < homeComp.messages.length; ++i) {
if (isString(homeComp.messages[i]) && homeComp.messages[i] === handbookFn) {
hasHandbook = true;
diff --git a/src/DarkWeb/DarkWeb.js b/src/DarkWeb/DarkWeb.ts
similarity index 90%
rename from src/DarkWeb/DarkWeb.js
rename to src/DarkWeb/DarkWeb.ts
index b8a5cdf89..c0c301cf8 100644
--- a/src/DarkWeb/DarkWeb.js
+++ b/src/DarkWeb/DarkWeb.ts
@@ -8,14 +8,14 @@ import { isValidIPAddress } from "../../utils/helpers/isVali
import { formatNumber } from "../../utils/StringHelperFunctions";
//Posts a "help" message if connected to DarkWeb
-export function checkIfConnectedToDarkweb() {
+export function checkIfConnectedToDarkweb(): void {
if (SpecialServerIps.hasOwnProperty("Darkweb Server")) {
- var darkwebIp = SpecialServerIps["Darkweb Server"];
+ const darkwebIp = SpecialServerIps.getIp("Darkweb Server");
if (!isValidIPAddress(darkwebIp)) {return;}
if (darkwebIp == Player.getCurrentServer().ip) {
post("You are now connected to the dark web. From the dark web you can purchase illegal items. " +
"Use the 'buy -l' command to display a list of all the items you can buy. Use 'buy [item-name] " +
- "to purchase an item");
+ "to purchase an item.");
}
}
}
@@ -23,7 +23,7 @@ export function checkIfConnectedToDarkweb() {
//Handler for dark web commands. The terminal's executeCommand() function will pass
//dark web-specific commands into this. It will pass in the raw split command array
//rather than the command string
-export function executeDarkwebTerminalCommand(commandArray) {
+export function executeDarkwebTerminalCommand(commandArray: string[]): void {
if (commandArray.length == 0) {return;}
switch (commandArray[0]) {
case "buy":
@@ -53,7 +53,7 @@ function listAllDarkwebItems() {
}
}
-function buyDarkwebItem(itemName) {
+function buyDarkwebItem(itemName: string): void {
itemName = itemName.toLowerCase();
// find the program that matches, if any
diff --git a/src/InteractiveTutorial.js b/src/InteractiveTutorial.js
index 979d19227..064bcefd0 100644
--- a/src/InteractiveTutorial.js
+++ b/src/InteractiveTutorial.js
@@ -3,6 +3,7 @@ import { Player } from "./Player";
import { Settings } from "./Settings/Settings";
import { initializeMainMenuLinks } from "./ui/MainMenu/Links";
+import { LiteratureNames } from "./Literature/data/LiteratureNames";
import { exceptionAlert } from "../utils/helpers/exceptionAlert";
import { clearEventListeners } from "../utils/uiHelpers/clearEventListeners";
@@ -499,7 +500,7 @@ function iTutorialEnd() {
"Getting Started Guide" +
"Documentation
" +
"The Beginner's Guide to Hacking was added to your home computer! It contains some tips/pointers for starting out with the game. " +
- "To read it, go to Terminal and enter
cat hackers-starting-handbook.lit"
+ "To read it, go to Terminal and enter
cat " + LiteratureNames.HackersStartingHandbook
});
var gotitBtn = createElement("a", {
class:"a-link-button", float:"right", padding:"6px", innerText:"Got it!",
@@ -509,7 +510,7 @@ function iTutorialEnd() {
});
createPopup(popupId, [txt, gotitBtn]);
- Player.getHomeComputer().messages.push("hackers-starting-handbook.lit");
+ Player.getHomeComputer().messages.push(LiteratureNames.HackersStartingHandbook);
}
function iTutorialSetText(txt) {
diff --git a/src/Literature/Literature.ts b/src/Literature/Literature.ts
new file mode 100644
index 000000000..f86f96e75
--- /dev/null
+++ b/src/Literature/Literature.ts
@@ -0,0 +1,15 @@
+/**
+ * Lore / world building literature files that can be found on servers.
+ * These files can be read by the player
+ */
+export class Literature {
+ title: string;
+ fn: string;
+ txt: string;
+
+ constructor(title: string, filename: string, txt: string) {
+ this.title = title;
+ this.fn = filename;
+ this.txt = txt;
+ }
+}
\ No newline at end of file
diff --git a/src/Literature/LiteratureHelpers.ts b/src/Literature/LiteratureHelpers.ts
new file mode 100644
index 000000000..43cefdc72
--- /dev/null
+++ b/src/Literature/LiteratureHelpers.ts
@@ -0,0 +1,9 @@
+import { Literatures } from "./Literatures";
+import { dialogBoxCreate } from "../../utils/DialogBox";
+
+export function showLiterature(fn: string): void {
+ const litObj = Literatures[fn];
+ if (litObj == null) { return; }
+ const txt = `${litObj.title}
${litObj.txt}`;
+ dialogBoxCreate(txt);
+}
diff --git a/src/Literature.js b/src/Literature/Literatures.ts
similarity index 96%
rename from src/Literature.js
rename to src/Literature/Literatures.ts
index f5354a1e2..ed54e66bd 100644
--- a/src/Literature.js
+++ b/src/Literature/Literatures.ts
@@ -1,28 +1,13 @@
-/**
- * Lore / world building literature files that can be found on servers.
- * These files can be read by the player
- */
-import { dialogBoxCreate } from "../utils/DialogBox";
+import { Literature } from "./Literature";
+import { LiteratureNames } from "./data/LiteratureNames";
+import { IMap } from "../types";
-function Literature(title, filename, txt) {
- this.title = title;
- this.fn = filename;
- this.txt = txt;
-}
+export const Literatures: IMap = {};
-function showLiterature(fn) {
- const litObj = Literatures[fn];
- if (litObj == null) { return; }
- const txt = `${litObj.title}
${litObj.txt}`;
- dialogBoxCreate(txt);
-}
-
-let Literatures = {}
-
-function initLiterature() {
- var title, fn, txt;
+(function () {
+ let title, fn, txt;
title = "The Beginner's Guide to Hacking";
- fn = "hackers-starting-handbook.lit";
+ fn = LiteratureNames.HackersStartingHandbook;
txt = "Some resources:
" +
"Learn to Program
" +
"For Experienced JavaScript Developers: NetscriptJS
" +
@@ -44,7 +29,7 @@ function initLiterature() {
Literatures[fn] = new Literature(title, fn, txt);
title = "The Complete Handbook for Creating a Successful Corporation";
- fn = "corporation-management-handbook.lit";
+ fn = LiteratureNames.CorporationManagementHandbook;
txt = "Getting Started with Corporations
" +
"To get started, visit the City Hall in Sector-12 in order to create a Corporation. This requires " +
"$150b of your own money, but this $150b will get put into your Corporation's funds. " +
@@ -94,7 +79,7 @@ function initLiterature() {
Literatures[fn] = new Literature(title, fn, txt);
title = "A Brief History of Synthoids";
- fn = "history-of-synthoids.lit";
+ fn = LiteratureNames.HistoryOfSynthoids;
txt = "Synthetic androids, or Synthoids for short, are genetically engineered robots and, short of Augmentations, " +
"are composed entirely of organic substances. For this reason, Synthoids are virtually identical to " +
"humans in form, composition, and appearance.
" +
@@ -134,7 +119,7 @@ function initLiterature() {
Literatures[fn] = new Literature(title, fn, txt);
title = "A Green Tomorrow";
- fn = "A-Green-Tomorrow.lit";
+ fn = LiteratureNames.AGreenTomorrow;
txt = "Starting a few decades ago, there was a massive global movement towards the generation of renewable energy in an effort to " +
"combat global warming and climate change. The shift towards renewable energy was a big success, or so it seemed. In 2045 " +
"a staggering 80% of the world's energy came from non-renewable fossil fuels. Now, about three decades later, that " +
@@ -156,7 +141,7 @@ function initLiterature() {
Literatures[fn] = new Literature(title, fn, txt);
title = "Alpha and Omega";
- fn = "alpha-omega.lit";
+ fn = LiteratureNames.AlphaOmega;
txt = "Then we saw a new heaven and a new earth, for our first heaven and earth had gone away, and our sea was no more. " +
"And we saw a new holy city, new Aeria, coming down out of this new heaven, prepared as a bride adorned for her husband. " +
"And we heard a loud voice saying, 'Behold, the new dwelling place of the Gods. We will dwell with them, and they " +
@@ -173,7 +158,7 @@ function initLiterature() {
Literatures[fn] = new Literature(title, fn, txt);
title = "Are We Living in a Computer Simulation?";
- fn = "simulated-reality.lit";
+ fn = LiteratureNames.SimulatedReality;
txt = "The idea that we are living in a virtual world is not new. It's a trope that has " +
"been explored constantly in literature and pop culture. However, it is also a legitimate " +
"scientific hypothesis that many notable physicists and philosophers have debated for years.
" +
@@ -191,7 +176,7 @@ function initLiterature() {
Literatures[fn] = new Literature(title, fn, txt);
title = "Beyond Man";
- fn = "beyond-man.lit";
+ fn = LiteratureNames.BeyondMan;
txt = "Humanity entered a 'transhuman' era a long time ago. And despite the protests and criticisms of many who cried out against " +
"human augmentation at the time, the transhuman movement continued and prospered. Proponents of the movement ignored the critics, " +
"arguing that it was in our inherent nature to better ourselves. To improve. To be more than we were. They claimed that " +
@@ -208,7 +193,7 @@ function initLiterature() {
title = "Brighter than the Sun";
- fn = "brighter-than-the-sun.lit";
+ fn = LiteratureNames.BrighterThanTheSun;
txt = "When people think about the corporations that dominate the East, they typically think of KuaiGong International, which " +
"holds a complete monopoly for manufacturing and commerce in Asia, or Global Pharmaceuticals, the world's largest " +
"drug company, or OmniTek Incorporated, the global leader in intelligent and autonomous robots. But there's one company " +
@@ -231,7 +216,7 @@ function initLiterature() {
Literatures[fn] = new Literature(title, fn, txt);
title = "Democracy is Dead: The Fall of an Empire";
- fn = "democracy-is-dead.lit";
+ fn = LiteratureNames.DemocracyIsDead;
txt = "They rose from the shadows in the street
From the places where the oppressed meet
" +
"Their cries echoed loudly through the air
As they once did in Tiananmen Square
" +
"Loudness in the silence, Darkness in the light
They came forth with power and might
" +
@@ -244,7 +229,7 @@ function initLiterature() {
Literatures[fn] = new Literature(title, fn, txt);
title = "Figures Show Rising Crime Rates in Sector-12";
- fn = "sector-12-crime.lit";
+ fn = LiteratureNames.Sector12Crime;
txt = "A recent study by analytics company Wilson Inc. shows a significant rise " +
"in criminal activity in Sector-12. Perhaps the most alarming part of the statistic " +
"is that most of the rise is in violent crime such as homicide and assault. According " +
@@ -258,7 +243,7 @@ function initLiterature() {
Literatures[fn] = new Literature(title, fn, txt);
title = "Man and the Machine";
- fn = "man-and-machine.lit";
+ fn = LiteratureNames.ManAndMachine;
txt = "In 2005 Ray Kurzweil popularized his theory of the Singularity. He predicted that the rate " +
"of technological advancement would continue to accelerate faster and faster until one day " +
"machines would be become infinitely more intelligent than humans. This point, called the " +
@@ -276,7 +261,7 @@ function initLiterature() {
Literatures[fn] = new Literature(title, fn, txt);
title = "Secret Societies";
- fn = "secret-societies.lit";
+ fn = LiteratureNames.SecretSocieties;
txt = "The idea of secret societies has long intrigued the general public by inspiring curiosity, fascination, and " +
"distrust. People have long wondered about who these secret society members are and what they do, with the " +
"most radical of conspiracy theorists claiming that they control everything in the entire world. And while the world " +
@@ -294,7 +279,7 @@ function initLiterature() {
Literatures[fn] = new Literature(title, fn, txt);
title = "Space: The Failed Frontier";
- fn = "the-failed-frontier.lit";
+ fn = LiteratureNames.TheFailedFrontier;
txt = "Humans have long dreamed about spaceflight. With enduring interest, we were driven to explore " +
"the unknown and discover new worlds. We dreamed about conquering the stars. And in our quest, " +
"we pushed the boundaries of our scientific limits, and then pushed further. Space exploration " +
@@ -311,7 +296,7 @@ function initLiterature() {
Literatures[fn] = new Literature(title, fn, txt);
title = "Coded Intelligence: Myth or Reality?";
- fn = "coded-intelligence.lit";
+ fn = LiteratureNames.CodedIntelligence;
txt = "Tremendous progress has been made in the field of Artificial Intelligence over the past few decades. " +
"Our autonomous vehicles and transporation systems. The electronic personal assistants that control our everyday lives. " +
"Medical, service, and manufacturing robots. All of these are examples of how far AI has come and how much it has " +
@@ -327,7 +312,7 @@ function initLiterature() {
Literatures[fn] = new Literature(title, fn, txt);
title = "Synthetic Muscles";
- fn = "synthetic-muscles.lit";
+ fn = LiteratureNames.SyntheticMuscles;
txt = "Initial versions of synthetic muscles weren't made of anything organic but were actually " +
"crude devices made to mimic human muscle function. Some of the early iterations were actually made of " +
"common materials such as fishing lines and sewing threads due to their high strength for " +
@@ -340,7 +325,7 @@ function initLiterature() {
Literatures[fn] = new Literature(title, fn, txt);
title = "Tensions rise in global tech race";
- fn = "tensions-in-tech-race.lit";
+ fn = LiteratureNames.TensionsInTechRace;
txt = "Have we entered a new Cold War? Is WWIII just beyond the horizon?
" +
"After rumors came out that OmniTek Incorporated had begun developing advanced robotic supersoldiers, " +
"geopolitical tensions quickly flared between the USA, Russia, and several Asian superpowers. " +
@@ -354,7 +339,7 @@ function initLiterature() {
Literatures[fn] = new Literature(title, fn, txt);
title = "The Cost of Immortality";
- fn = "cost-of-immortality.lit";
+ fn = LiteratureNames.CostOfImmortality;
txt = "Evolution and advances in medical and augmentation technology has lead to drastic improvements " +
"in human mortality rates. Recent figures show that the life expectancy for humans " +
"that live in a first-world country is about 130 years of age, almost double of what it was " +
@@ -378,7 +363,7 @@ function initLiterature() {
Literatures[fn] = new Literature(title, fn, txt);
title = "The Hidden World";
- fn = "the-hidden-world.lit";
+ fn = LiteratureNames.TheHiddenWorld;
txt = "WAKE UP SHEEPLE
" +
"THE GOVERNMENT DOES NOT EXIST. CORPORATIONS DO NOT RUN SOCIETY
" +
"THE ILLUMINATI ARE THE SECRET RULERS OF THE WORLD!
" +
@@ -396,7 +381,7 @@ function initLiterature() {
Literatures[fn] = new Literature(title, fn, txt);
title = "The New God";
- fn = "the-new-god.lit";
+ fn = LiteratureNames.TheNewGod;
txt = "Everyone has that moment in their life where they wonder about the bigger questions
" +
"What's the point of all of this? What is my purpose?
" +
"Some people dare to think even bigger
" +
@@ -409,7 +394,7 @@ function initLiterature() {
Literatures[fn] = new Literature(title, fn, txt);
title = "The New Triads";
- fn = "new-triads.lit";
+ fn = LiteratureNames.NewTriads;
txt = "The Triads were an ancient transnational crime syndicate based in China, Hong Kong, and other Asian " +
"territories. They were often considered one of the first and biggest criminal secret societies. " +
"While most of the branches of the Triads have been destroyed over the past few decades, the " +
@@ -427,13 +412,7 @@ function initLiterature() {
Literatures[fn] = new Literature(title, fn, txt);
title = "The Secret War";
- fn = "the-secret-war.lit";
+ fn = LiteratureNames.TheSecretWar;
txt = ""
Literatures[fn] = new Literature(title, fn, txt);
-}
-
-export {
- Literatures,
- initLiterature,
- showLiterature
-};
+})()
\ No newline at end of file
diff --git a/src/Literature/data/LiteratureNames.ts b/src/Literature/data/LiteratureNames.ts
new file mode 100644
index 000000000..462afb4f1
--- /dev/null
+++ b/src/Literature/data/LiteratureNames.ts
@@ -0,0 +1,25 @@
+import { IMap } from "../../types";
+
+export const LiteratureNames: IMap = {
+ HackersStartingHandbook: "hackers-starting-handbook.lit",
+ CorporationManagementHandbook: "corporation-management-handbook.lit",
+ HistoryOfSynthoids: "history-of-synthoids.lit",
+ AGreenTomorrow: "A-Green-Tomorrow.lit",
+ AlphaOmega: "alpha-omega.lit",
+ SimulatedReality: "simulated-reality.lit",
+ BeyondMan: "beyond-man.lit",
+ BrighterThanTheSun: "brighter-than-the-sun.lit",
+ DemocracyIsDead: "democracy-is-dead.lit",
+ Sector12Crime: "sector-12-crime.lit",
+ ManAndMachine: "man-and-machine.lit",
+ SecretSocieties: "secret-societies.lit",
+ TheFailedFrontier: "the-failed-frontier.lit",
+ CodedIntelligence: "coded-intelligence.lit",
+ SyntheticMuscles: "synthetic-muscles.lit",
+ TensionsInTechRace: "tensions-in-tech-race.lit",
+ CostOfImmortality: "cost-of-immortality.lit",
+ TheHiddenWorld: "the-hidden-world.lit",
+ TheNewGod: "the-new-god.lit",
+ NewTriads: "new-triads.lit",
+ TheSecretWar: "the-secret-war.lit",
+};
\ No newline at end of file
diff --git a/src/NetscriptFunctions.js b/src/NetscriptFunctions.js
index eb1633e52..257eb4fcf 100644
--- a/src/NetscriptFunctions.js
+++ b/src/NetscriptFunctions.js
@@ -128,7 +128,6 @@ import { TextFile, getTextFile, createTextFile } from "./TextFile";
import {
unknownBladeburnerActionErrorMessage
} from"./NetscriptBladeburner";
-import * as nsGang from "./NetscriptGang";
import { Gang } from "./Gang";
import {
NetscriptPorts,
diff --git a/src/NetscriptGang.js b/src/NetscriptGang.js
deleted file mode 100644
index d592ff251..000000000
--- a/src/NetscriptGang.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import { Player } from "./Player";
-import { Gang } from "./Gang";
-import { makeRuntimeRejectMsg } from "./NetscriptEvaluator";
-
-export function unknownGangApiExceptionMessage(functionName, err) {
- return `gang.${functionName}() failed with exception: ` + err;
-}
-
diff --git a/src/NetscriptPort.js b/src/NetscriptPort.js
deleted file mode 100644
index df5fa842d..000000000
--- a/src/NetscriptPort.js
+++ /dev/null
@@ -1,51 +0,0 @@
-import { Settings } from "./Settings/Settings";
-
-function NetscriptPort() {
- this.data = [];
-}
-
-NetscriptPort.prototype.write = function(data) {
- this.data.push(data);
- if (this.data.length > Settings.MaxPortCapacity) {
- return this.data.shift();
- }
- return null;
-}
-
-NetscriptPort.prototype.tryWrite = function(data) {
- if (this.data.length >= Settings.MaxPortCapacity) {
- return false;
- }
- this.data.push(data);
- return true;
-}
-
-NetscriptPort.prototype.read = function() {
- if (this.data.length === 0) {
- return "NULL PORT DATA";
- }
- return this.data.shift();
-}
-
-NetscriptPort.prototype.peek = function() {
- if (this.data.length === 0) {
- return "NULL PORT DATA";
- } else {
- var foo = this.data.slice();
- return foo[0];
- }
-}
-
-NetscriptPort.prototype.full = function() {
- return this.data.length == Settings.MaxPortCapacity;
-}
-
-NetscriptPort.prototype.empty = function() {
- return this.data.length === 0;
-}
-
-NetscriptPort.prototype.clear = function() {
- this.data.length = 0;
-}
-
-export {NetscriptPort};
diff --git a/src/NetscriptPort.ts b/src/NetscriptPort.ts
new file mode 100644
index 000000000..d9c5ea2a7
--- /dev/null
+++ b/src/NetscriptPort.ts
@@ -0,0 +1,51 @@
+import { Settings } from "./Settings/Settings";
+
+export class NetscriptPort {
+ data: any[] = [];
+
+ constructor() {}
+
+ write(data: any): any {
+ this.data.push(data);
+ if (this.data.length > Settings.MaxPortCapacity) {
+ return this.data.shift();
+ }
+ return null;
+ }
+
+ tryWrite(data: any): boolean {
+ if (this.data.length >= Settings.MaxPortCapacity) {
+ return false;
+ }
+ this.data.push(data);
+ return true;
+ }
+
+ read(): any {
+ if (this.data.length === 0) {
+ return "NULL PORT DATA";
+ }
+ return this.data.shift();
+ }
+
+ peek(): any {
+ if (this.data.length === 0) {
+ return "NULL PORT DATA";
+ } else {
+ var foo = this.data.slice();
+ return foo[0];
+ }
+ }
+
+ full(): boolean {
+ return this.data.length == Settings.MaxPortCapacity;
+ }
+
+ empty(): boolean {
+ return this.data.length === 0;
+ }
+
+ clear(): void {
+ this.data.length = 0;
+ }
+}
diff --git a/src/Perk.js b/src/Perk.js
deleted file mode 100644
index 54685a335..000000000
--- a/src/Perk.js
+++ /dev/null
@@ -1,155 +0,0 @@
-/* Perks
- * Defines Perks that are unlocked when you gain enough reputation in a
- * company or faction
- */
-PerkNames = {
- 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",
-}
-
-PerkInfo = {
- FreeCoffee: "Your company provides free coffee, improving your focus " +
- "and productivity",
- FreeFood: "Your company provides free healthy and nutritious food",
- NetworkingCompany: "Working at this company provides many opportunities to " +
- "build your professional network!",
- PersonalTrainer: "Your company provides a free personal trainer to help you train",
- KnowledgeBase: "The company has a comprehensive knowledge base that " +
- "you can use to learn",
- Nootropics: "Your company provides free nootropics, cognitive-enhancing drugs",
- NetworkingFaction: "Being a member of this faction provides many opportunities to " +
- "build your network of contacts",
- SupercomputerFaction: "You are able to use your Faction's private supercomputer, " +
- "giving you unparalleled computing power",
- VPN: "You are able to use your Faction's high-speed VPN to more securely " +
- "access the Internet",
- PrivateServer: "You are able to use your Faction's private server",
- InsiderKnowledge: "Other members of the faction give you insider information about other " +
- "companies and factions"
-}
-
-function Perk(name, reqRep, info) {
- this.name = name;
- this.info = info;
- this.requiredRep = reqRep;
-
- //Company/faction specific multipliers
- this.money_mult = 1;
- this.hacking_mult = 1;
- this.combat_stat_mult = 1;
- this.labor_stat_mult = 1;
- this.repmult = 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.error("Perk cannot be both faction and company perk");
- return;
- }
- this.companyPerk = true;
- this.companyName = companyName;
-}
-
-Perk.prototype.setFaction = function(factionName) {
- if (this.companyPerk) {
- console.error("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;
-
- var freeCoffee = new Perk(PerkNames.FreeCoffeeCompanyPerk, 6000, PerkInfo.FreeCoffee);
-
-/* 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 PerkNames.FreeCoffeeCompanyPerk:
- //Increase money and hacking exp gain
- Player.hacking_money_mult *= 1.25;
- Player.hacking_exp_mult *= 1.25;
- break;
- case PerkNames.FreeFoodCompanyPerk:
- Player.strength_exp_mult *= 1.2;
- Player.defense_exp_mult *= 1.2;
- Player.dexterity_exp_mult *= 1.2;
- Player.agility_exp_mult *= 1.2;
- break;
- case PerkNames.NetworkingCompanyPerk:
- Player.company_rep_mult *= 1.1;
- Player.charisma_exp_mult *= 1.2;
- break;
- case PerkNames.PersonalTrainerCompanyPerk:
- Player.strength_exp_mult *= 1.15;
- Player.defense_exp_mult *= 1.15;
- Player.dexterity_exp_mult *= 1.15;
- Player.agility_exp_mult *= 1.15;
- break;
- case PerkNames.KnowledgeBaseCompanyPerk:
- break;
- case PerkNames.NootropicsCompanyPerk:
- break;
- case PerkNames.NetworkingFactionPerk:
- break;
- case PerkNames.SupercomputerFactionPerk:
- break;
- case PerkNames.VPNFactionPerk:
- break;
- case PerkNames.PrivateServerFactionPerk:
- break;
- case PerkNames.InsiderKnowledgeFactionPerk:
- break;
- default:
- console.warn(`Unrecognized perk: ${perk.name}`);
- return;
- }
-}
-
-losePerk = function(perk) {
-
-}
\ No newline at end of file
diff --git a/src/PersonObjects/IPlayer.ts b/src/PersonObjects/IPlayer.ts
index 046b27861..680973e31 100644
--- a/src/PersonObjects/IPlayer.ts
+++ b/src/PersonObjects/IPlayer.ts
@@ -146,6 +146,7 @@ export interface IPlayer {
hasCorporation(): boolean;
hasGangWith(facName: string): boolean;
hasTorRouter(): boolean;
+ hasProgram(program: string): boolean;
inBladeburner(): boolean;
inGang(): boolean;
isQualified(company: Company, position: CompanyPosition): boolean;
diff --git a/src/Prestige.js b/src/Prestige.js
index 3fdc63b85..9dc2b5b7c 100755
--- a/src/Prestige.js
+++ b/src/Prestige.js
@@ -21,6 +21,7 @@ import { initMessages, Messages } from "./Message/MessageHelpers";
import { prestigeWorkerScripts } from "./NetscriptWorker";
import { Player } from "./Player";
import { resetPidCounter } from "./Netscript/Pid";
+import { LiteratureNames } from "./Literature/data/LiteratureNames"
import {
AllServers,
@@ -36,7 +37,6 @@ import {
} from "./SourceFile/SourceFileFlags";
import {
SpecialServerIps,
- SpecialServerIpsMap,
prestigeSpecialServerIps,
SpecialServerNames
} from "./Server/SpecialServerIps";
@@ -257,7 +257,7 @@ function prestigeSourceFile() {
// BitNode 3: Corporatocracy
if (Player.bitNodeN === 3) {
- homeComp.messages.push("corporation-management-handbook.lit");
+ homeComp.messages.push(LiteratureNames.CorporationManagementHandbook);
dialogBoxCreate("You received a copy of the Corporation Management Handbook on your home computer. " +
"Read it if you need help getting started with Corporations!");
}
diff --git a/src/Server/ServerHelpers.ts b/src/Server/ServerHelpers.ts
index dc690d378..80deed022 100644
--- a/src/Server/ServerHelpers.ts
+++ b/src/Server/ServerHelpers.ts
@@ -10,6 +10,7 @@ import { CONSTANTS } from "../Constants";
import { HacknetServer } from "../Hacknet/HacknetServer";
import { IPlayer } from "../PersonObjects/IPlayer";
import { Programs } from "../Programs/Programs";
+import { LiteratureNames } from "../Literature/data/LiteratureNames";
import { isValidNumber } from "../utils/helpers/isValidNumber";
import { isValidIPAddress } from "../../utils/helpers/isValidIPAddress";
@@ -118,7 +119,7 @@ export function prestigeHomeComputer(homeComp: Server) {
});
homeComp.messages.length = 0; //Remove .lit and .msg files
- homeComp.messages.push("hackers-starting-handbook.lit");
+ homeComp.messages.push(LiteratureNames.HackersStartingHandbook);
}
//Returns server object with corresponding hostname
diff --git a/src/Server/SpecialServerIps.ts b/src/Server/SpecialServerIps.ts
index 121c377cc..a5a73e90f 100644
--- a/src/Server/SpecialServerIps.ts
+++ b/src/Server/SpecialServerIps.ts
@@ -29,6 +29,10 @@ export class SpecialServerIpsMap {
this[name] = ip;
}
+ getIp(name: string): string {
+ return this[name] as string;
+ }
+
// Serialize the current object to a JSON save state
toJSON(): any {
return Generic_toJSON("SpecialServerIpsMap", this);
diff --git a/src/Server/data/servers.ts b/src/Server/data/servers.ts
index 738c1c10f..9e2ee1972 100644
--- a/src/Server/data/servers.ts
+++ b/src/Server/data/servers.ts
@@ -3,6 +3,7 @@
// This could actually be a JSON file as it should be constant metadata to be imported...
import { IMinMaxRange } from "../../types";
import { LocationName } from "../../Locations/data/LocationNames";
+import { LiteratureNames } from "../../Literature/data/LiteratureNames";
/**
* The metadata describing the base state of servers on the network.
@@ -134,7 +135,7 @@ export const serverMetadata: IServerMetadata[] = [
min: 88,
},
hostname: "blade",
- literature: ["beyond-man.lit"],
+ literature: [LiteratureNames.BeyondMan],
maxRamExponent: {
max: 9,
min: 5,
@@ -158,7 +159,7 @@ export const serverMetadata: IServerMetadata[] = [
{
hackDifficulty: 99,
hostname: "nwo",
- literature: ["the-hidden-world.lit"],
+ literature: [LiteratureNames.TheHiddenWorld],
moneyAvailable: {
max: 40e9,
min: 20e9,
@@ -182,8 +183,8 @@ export const serverMetadata: IServerMetadata[] = [
},
hostname: "clarkinc",
literature: [
- "beyond-man.lit",
- "cost-of-immortality.lit",
+ LiteratureNames.BeyondMan,
+ LiteratureNames.CostOfImmortality,
],
moneyAvailable: {
max: 25e9,
@@ -208,8 +209,8 @@ export const serverMetadata: IServerMetadata[] = [
},
hostname: "omnitek",
literature: [
- "coded-intelligence.lit",
- "history-of-synthoids.lit",
+ LiteratureNames.CodedIntelligence,
+ LiteratureNames.HistoryOfSynthoids,
],
maxRamExponent: {
max: 9,
@@ -281,7 +282,7 @@ export const serverMetadata: IServerMetadata[] = [
min: 83,
},
hostname: "fulcrumtech",
- literature: ["simulated-reality.lit"],
+ literature: [LiteratureNames.SimulatedReality],
maxRamExponent: {
max: 11,
min: 7,
@@ -388,7 +389,7 @@ export const serverMetadata: IServerMetadata[] = [
min: 85,
},
hostname: "helios",
- literature: ["beyond-man.lit"],
+ literature: [LiteratureNames.BeyondMan],
maxRamExponent: {
max: 8,
min: 5,
@@ -415,7 +416,7 @@ export const serverMetadata: IServerMetadata[] = [
min: 80,
},
hostname: "vitalife",
- literature: ["A-Green-Tomorrow.lit"],
+ literature: [LiteratureNames.AGreenTomorrow],
maxRamExponent: {
max: 7,
min: 4,
@@ -490,7 +491,7 @@ export const serverMetadata: IServerMetadata[] = [
min: 70,
},
hostname: "titan-labs",
- literature: ["coded-intelligence.lit"],
+ literature: [LiteratureNames.CodedIntelligence],
maxRamExponent: {
max: 7,
min: 4,
@@ -517,7 +518,7 @@ export const serverMetadata: IServerMetadata[] = [
min: 65,
},
hostname: "microdyne",
- literature: ["synthetic-muscles.lit"],
+ literature: [LiteratureNames.SyntheticMuscles],
maxRamExponent: {
max: 6,
min: 4,
@@ -545,8 +546,8 @@ export const serverMetadata: IServerMetadata[] = [
},
hostname: "taiyang-digital",
literature: [
- "A-Green-Tomorrow.lit",
- "brighter-than-the-sun.lit",
+ LiteratureNames.AGreenTomorrow,
+ LiteratureNames.BrighterThanTheSun,
],
moneyAvailable: {
max: 900000000,
@@ -592,7 +593,7 @@ export const serverMetadata: IServerMetadata[] = [
min: 80,
},
hostname: "aerocorp",
- literature: ["man-and-machine.lit"],
+ literature: [LiteratureNames.ManAndMachine],
moneyAvailable: {
max: 1200000000,
min: 1000000000,
@@ -615,7 +616,7 @@ export const serverMetadata: IServerMetadata[] = [
min: 85,
},
hostname: "omnia",
- literature: ["history-of-synthoids.lit"],
+ literature: [LiteratureNames.HistoryOfSynthoids],
maxRamExponent: {
max: 6,
min: 4,
@@ -642,7 +643,7 @@ export const serverMetadata: IServerMetadata[] = [
min: 55,
},
hostname: "zb-def",
- literature: ["synthetic-muscles.lit"],
+ literature: [LiteratureNames.SyntheticMuscles],
moneyAvailable: {
max: 1100000000,
min: 900000000,
@@ -688,8 +689,8 @@ export const serverMetadata: IServerMetadata[] = [
},
hostname: "solaris",
literature: [
- "A-Green-Tomorrow.lit",
- "the-failed-frontier.lit",
+ LiteratureNames.AGreenTomorrow,
+ LiteratureNames.TheFailedFrontier,
],
maxRamExponent: {
max: 7,
@@ -739,7 +740,7 @@ export const serverMetadata: IServerMetadata[] = [
min: 75,
},
hostname: "global-pharm",
- literature: ["A-Green-Tomorrow.lit"],
+ literature: [LiteratureNames.AGreenTomorrow],
maxRamExponent: {
max: 6,
min: 3,
@@ -888,7 +889,7 @@ export const serverMetadata: IServerMetadata[] = [
min: 50,
},
hostname: "alpha-ent",
- literature: ["sector-12-crime.lit"],
+ literature: [LiteratureNames.Sector12Crime],
maxRamExponent: {
max: 7,
min: 4,
@@ -942,9 +943,9 @@ export const serverMetadata: IServerMetadata[] = [
},
hostname: "rothman-uni",
literature: [
- "secret-societies.lit",
- "the-failed-frontier.lit",
- "tensions-in-tech-race.lit",
+ LiteratureNames.SecretSocieties,
+ LiteratureNames.TheFailedFrontier,
+ LiteratureNames.TensionsInTechRace,
],
maxRamExponent: {
max: 7,
@@ -999,9 +1000,9 @@ export const serverMetadata: IServerMetadata[] = [
},
hostname: "summit-uni",
literature: [
- "secret-societies.lit",
- "the-failed-frontier.lit",
- "synthetic-muscles.lit",
+ LiteratureNames.SecretSocieties,
+ LiteratureNames.TheFailedFrontier,
+ LiteratureNames.SyntheticMuscles,
],
maxRamExponent: {
max: 6,
@@ -1051,7 +1052,7 @@ export const serverMetadata: IServerMetadata[] = [
min: 60,
},
hostname: "catalyst",
- literature: ["tensions-in-tech-race.lit"],
+ literature: [LiteratureNames.TensionsInTechRace],
maxRamExponent: {
max: 7,
min: 4,
@@ -1104,7 +1105,7 @@ export const serverMetadata: IServerMetadata[] = [
min: 55,
},
hostname: "comptek",
- literature: ["man-and-machine.lit"],
+ literature: [LiteratureNames.ManAndMachine],
moneyAvailable: {
max: 250000000,
min: 220000000,
@@ -1127,7 +1128,7 @@ export const serverMetadata: IServerMetadata[] = [
min: 60,
},
hostname: "netlink",
- literature: ["simulated-reality.lit"],
+ literature: [LiteratureNames.SimulatedReality],
maxRamExponent: {
max: 7,
min: 4,
@@ -1170,7 +1171,7 @@ export const serverMetadata: IServerMetadata[] = [
{
hackDifficulty: 10,
hostname: "foodnstuff",
- literature: ["sector-12-crime.lit"],
+ literature: [LiteratureNames.Sector12Crime],
maxRamExponent: 4,
moneyAvailable: 2000000,
networkLayer: 1,
@@ -1226,7 +1227,7 @@ export const serverMetadata: IServerMetadata[] = [
{
hackDifficulty: 25,
hostname: "neo-net",
- literature: ["the-hidden-world.lit"],
+ literature: [LiteratureNames.TheHiddenWorld],
maxRamExponent: 5,
moneyAvailable: 5000000,
networkLayer: 3,
@@ -1238,7 +1239,7 @@ export const serverMetadata: IServerMetadata[] = [
{
hackDifficulty: 30,
hostname: "silver-helix",
- literature: ["new-triads.lit"],
+ literature: [LiteratureNames.NewTriads],
maxRamExponent: 6,
moneyAvailable: 45000000,
networkLayer: 3,
@@ -1250,7 +1251,7 @@ export const serverMetadata: IServerMetadata[] = [
{
hackDifficulty: 15,
hostname: "hong-fang-tea",
- literature: ["brighter-than-the-sun.lit"],
+ literature: [LiteratureNames.BrighterThanTheSun],
maxRamExponent: 4,
moneyAvailable: 3000000,
networkLayer: 1,
@@ -1298,7 +1299,7 @@ export const serverMetadata: IServerMetadata[] = [
min: 25,
},
hostname: "omega-net",
- literature: ["the-new-god.lit"],
+ literature: [LiteratureNames.TheNewGod],
maxRamExponent: 5,
moneyAvailable: {
max: 70000000,
@@ -1418,8 +1419,8 @@ export const serverMetadata: IServerMetadata[] = [
hackDifficulty: 0,
hostname: "run4theh111z",
literature: [
- "simulated-reality.lit",
- "the-new-god.lit",
+ LiteratureNames.SimulatedReality,
+ LiteratureNames.TheNewGod,
],
maxRamExponent: {
max: 9,
@@ -1439,7 +1440,7 @@ export const serverMetadata: IServerMetadata[] = [
{
hackDifficulty: 0,
hostname: "I.I.I.I",
- literature: ["democracy-is-dead.lit"],
+ literature: [LiteratureNames.DemocracyIsDead],
maxRamExponent: {
max: 8,
min: 4,
@@ -1458,7 +1459,7 @@ export const serverMetadata: IServerMetadata[] = [
{
hackDifficulty: 0,
hostname: "avmnite-02h",
- literature: ["democracy-is-dead.lit"],
+ literature: [LiteratureNames.DemocracyIsDead],
maxRamExponent: {
max: 7,
min: 4,
@@ -1492,7 +1493,7 @@ export const serverMetadata: IServerMetadata[] = [
{
hackDifficulty: 0,
hostname: "CSEC",
- literature: ["democracy-is-dead.lit"],
+ literature: [LiteratureNames.DemocracyIsDead],
maxRamExponent: 3,
moneyAvailable: 0,
networkLayer: 2,
@@ -1508,7 +1509,7 @@ export const serverMetadata: IServerMetadata[] = [
{
hackDifficulty: 0,
hostname: "The-Cave",
- literature: ["alpha-omega.lit"],
+ literature: [LiteratureNames.AlphaOmega],
moneyAvailable: 0,
networkLayer: 15,
numOpenPortsRequired: 5,
diff --git a/src/Terminal.js b/src/Terminal.js
index d52877d5c..2b3ed51a6 100644
--- a/src/Terminal.js
+++ b/src/Terminal.js
@@ -50,7 +50,7 @@ import {
iTutorialSteps,
ITutorial
} from "./InteractiveTutorial";
-import { showLiterature } from "./Literature";
+import { showLiterature } from "./Literature/LiteratureHelpers";
import { Message } from "./Message/Message";
import { showMessage } from "./Message/MessageHelpers";
import { startWorkerScript } from "./NetscriptWorker";
diff --git a/src/engine.jsx b/src/engine.jsx
index c76521969..a544ca202 100644
--- a/src/engine.jsx
+++ b/src/engine.jsx
@@ -40,7 +40,6 @@ import {
processHacknetEarnings
} from "./Hacknet/HacknetHelpers";
import { iTutorialStart } from "./InteractiveTutorial";
-import { initLiterature } from "./Literature";
import { LocationName } from "./Locations/data/LocationNames";
import { LocationRoot } from "./Locations/ui/Root";
import { checkForMessagesToSend, initMessages } from "./Message/MessageHelpers";
@@ -1069,7 +1068,6 @@ const Engine = {
if (Player.hasWseAccount) {
initSymbolToStockMap();
}
- initLiterature();
updateSourceFileFlags(Player);
// Calculate the number of cycles have elapsed while offline
@@ -1190,7 +1188,6 @@ const Engine = {
initFactions();
initAugmentations();
initMessages();
- initLiterature();
updateSourceFileFlags(Player);
// Open main menu accordions for new game
diff --git a/src/tags b/src/tags
deleted file mode 100644
index 717a1f6d4..000000000
--- a/src/tags
+++ /dev/null
@@ -1,360 +0,0 @@
-!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
-!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
-!_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/
-!_TAG_PROGRAM_NAME Exuberant Ctags //
-!_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/
-!_TAG_PROGRAM_VERSION 5.8 //
-$.analyzeFlag C:\Users\daniel.xie\Desktop\netburner\netburner\src\Terminal.js 84;" kind:property line:84 language:JavaScript
-$.executeCommand C:\Users\daniel.xie\Desktop\netburner\netburner\src\Terminal.js 183;" kind:method line:183 language:JavaScript
-$.finishAction C:\Users\daniel.xie\Desktop\netburner\netburner\src\Terminal.js 86;" kind:method line:86 language:JavaScript
-$.finishAnalyze C:\Users\daniel.xie\Desktop\netburner\netburner\src\Terminal.js 134;" kind:method line:134 language:JavaScript
-$.finishHack C:\Users\daniel.xie\Desktop\netburner\netburner\src\Terminal.js 95;" kind:method line:95 language:JavaScript
-$.hackFlag C:\Users\daniel.xie\Desktop\netburner\netburner\src\Terminal.js 83;" kind:property line:83 language:JavaScript
-AddToAllServers C:\Users\daniel.xie\Desktop\netburner\netburner\src\Server.js 666;" kind:function line:666 language:JavaScript
-AllServersSave C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 88;" kind:variable line:88 language:JavaScript
-Augmentation C:\Users\daniel.xie\Desktop\netburner\netburner\src\Augmentations.js 2;" kind:class line:2 language:JavaScript
-Augmentation.addToFactions C:\Users\daniel.xie\Desktop\netburner\netburner\src\Augmentations.js 23;" kind:method line:23 language:JavaScript
-Augmentation.fromJSON C:\Users\daniel.xie\Desktop\netburner\netburner\src\Augmentations.js 38;" kind:function line:38 language:JavaScript
-Augmentation.setInfo C:\Users\daniel.xie\Desktop\netburner\netburner\src\Augmentations.js 13;" kind:method line:13 language:JavaScript
-Augmentation.setRequirements C:\Users\daniel.xie\Desktop\netburner\netburner\src\Augmentations.js 17;" kind:method line:17 language:JavaScript
-Augmentation.toJSON C:\Users\daniel.xie\Desktop\netburner\netburner\src\Augmentations.js 34;" kind:method line:34 language:JavaScript
-AugmentationsSave C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 92;" kind:variable line:92 language:JavaScript
-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.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
-Company.addPositions C:\Users\daniel.xie\Desktop\netburner\netburner\src\Company.js 38;" kind:method line:38 language:JavaScript
-Company.fromJSON C:\Users\daniel.xie\Desktop\netburner\netburner\src\Company.js 57;" kind:function line:57 language:JavaScript
-Company.hasPosition C:\Users\daniel.xie\Desktop\netburner\netburner\src\Company.js 44;" kind:method line:44 language:JavaScript
-Company.init C:\Users\daniel.xie\Desktop\netburner\netburner\src\Company.js 23;" kind:method line:23 language:JavaScript
-Company.setInfo C:\Users\daniel.xie\Desktop\netburner\netburner\src\Company.js 30;" kind:method line:30 language:JavaScript
-Company.toJSON C:\Users\daniel.xie\Desktop\netburner\netburner\src\Company.js 53;" kind:method line:53 language:JavaScript
-CompanyPosition C:\Users\daniel.xie\Desktop\netburner\netburner\src\Company.js 64;" kind:class line:64 language:JavaScript
-CompanyPosition.calculateJobPerformance C:\Users\daniel.xie\Desktop\netburner\netburner\src\Company.js 112;" kind:method line:112 language:JavaScript
-CompanyPosition.fromJSON C:\Users\daniel.xie\Desktop\netburner\netburner\src\Company.js 196;" kind:function line:196 language:JavaScript
-CompanyPosition.isAgentJob C:\Users\daniel.xie\Desktop\netburner\netburner\src\Company.js 183;" kind:method line:183 language:JavaScript
-CompanyPosition.isBusinessJob C:\Users\daniel.xie\Desktop\netburner\netburner\src\Company.js 160;" kind:method line:160 language:JavaScript
-CompanyPosition.isITJob C:\Users\daniel.xie\Desktop\netburner\netburner\src\Company.js 136;" kind:method line:136 language:JavaScript
-CompanyPosition.isNetworkEngineerJob C:\Users\daniel.xie\Desktop\netburner\netburner\src\Company.js 153;" kind:method line:153 language:JavaScript
-CompanyPosition.isSecurityEngineerJob C:\Users\daniel.xie\Desktop\netburner\netburner\src\Company.js 146;" kind:method line:146 language:JavaScript
-CompanyPosition.isSecurityJob C:\Users\daniel.xie\Desktop\netburner\netburner\src\Company.js 172;" kind:method line:172 language:JavaScript
-CompanyPosition.isSoftwareJob C:\Users\daniel.xie\Desktop\netburner\netburner\src\Company.js 122;" kind:method line:122 language:JavaScript
-CompanyPosition.setExperienceGains C:\Users\daniel.xie\Desktop\netburner\netburner\src\Company.js 101;" kind:method line:101 language:JavaScript
-CompanyPosition.setPerformanceParameters C:\Users\daniel.xie\Desktop\netburner\netburner\src\Company.js 86;" kind:method line:86 language:JavaScript
-CompanyPosition.toJSON C:\Users\daniel.xie\Desktop\netburner\netburner\src\Company.js 192;" kind:method line:192 language:JavaScript
-CompanyPositions.SoftwareIntern C:\Users\daniel.xie\Desktop\netburner\netburner\src\Company.js 206;" kind:property line:206 language:JavaScript
-Engine.Clickables C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 5;" kind:property line:5 language:JavaScript
-Engine.Debug C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 2;" kind:property line:2 language:JavaScript
-Environment C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Environment.js 4;" kind:class line:4 language:JavaScript
-Environment.def C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Environment.js 46;" kind:method line:46 language:JavaScript
-Environment.extend C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Environment.js 12;" kind:method line:12 language:JavaScript
-Environment.get C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Environment.js 27;" kind:method line:27 language:JavaScript
-Environment.lookup C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Environment.js 17;" kind:method line:17 language:JavaScript
-Environment.set C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Environment.js 34;" kind:method line:34 language:JavaScript
-FALSE.type C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 6;" kind:property line:6 language:JavaScript
-FALSE.value C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 6;" kind:property line:6 language:JavaScript
-Faction C:\Users\daniel.xie\Desktop\netburner\netburner\src\Faction.js 2;" kind:class line:2 language:JavaScript
-Faction.fromJSON C:\Users\daniel.xie\Desktop\netburner\netburner\src\Faction.js 30;" kind:function line:30 language:JavaScript
-Faction.setAugmentationMultipliers C:\Users\daniel.xie\Desktop\netburner\netburner\src\Faction.js 17;" kind:method line:17 language:JavaScript
-Faction.setInformation C:\Users\daniel.xie\Desktop\netburner\netburner\src\Faction.js 22;" kind:method line:22 language:JavaScript
-Faction.toJSON C:\Users\daniel.xie\Desktop\netburner\netburner\src\Faction.js 26;" kind:method line:26 language:JavaScript
-FactionInfo.HelpText C:\Users\daniel.xie\Desktop\netburner\netburner\src\FactionInfo.js 5;" kind:property line:5 language:JavaScript
-FactionsSave C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 90;" kind:variable line:90 language:JavaScript
-GetServerByHostname C:\Users\daniel.xie\Desktop\netburner\netburner\src\Server.js 680;" kind:function line:680 language:JavaScript
-InputStream C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\InputStream.js 3;" kind:function line:3 language:JavaScript
-Locations.Aevum C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 6;" kind:property line:6 language:JavaScript
-Locations.AevumAeroCorp C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 20;" kind:property line:20 language:JavaScript
-Locations.AevumBachmanAndAssociates C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 17;" kind:property line:17 language:JavaScript
-Locations.AevumClarkeIncorporated C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 18;" kind:property line:18 language:JavaScript
-Locations.AevumCrushFitnessGym C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 26;" kind:property line:26 language:JavaScript
-Locations.AevumECorp C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 16;" kind:property line:16 language:JavaScript
-Locations.AevumFulcrumTechnologies C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 19;" kind:property line:19 language:JavaScript
-Locations.AevumGalacticCybersystems C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 21;" kind:property line:21 language:JavaScript
-Locations.AevumNetLinkTechnologies C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 25;" kind:property line:25 language:JavaScript
-Locations.AevumPolice C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 24;" kind:property line:24 language:JavaScript
-Locations.AevumRhoConstruction C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 23;" kind:property line:23 language:JavaScript
-Locations.AevumSnapFitnessGym C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 27;" kind:property line:27 language:JavaScript
-Locations.AevumTravelAgency C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 15;" kind:property line:15 language:JavaScript
-Locations.AevumWatchdogSecurity C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 22;" kind:property line:22 language:JavaScript
-Locations.Chongqing C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 7;" kind:property line:7 language:JavaScript
-Locations.ChongqingKuaiGongInternational C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 31;" kind:property line:31 language:JavaScript
-Locations.ChongqingSolarisSpaceSystems C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 32;" kind:property line:32 language:JavaScript
-Locations.ChongqingTravelAgency C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 30;" kind:property line:30 language:JavaScript
-Locations.Ishima C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 10;" kind:property line:10 language:JavaScript
-Locations.IshimaNovaMedical C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 61;" kind:property line:61 language:JavaScript
-Locations.IshimaOmegaSoftware C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 62;" kind:property line:62 language:JavaScript
-Locations.IshimaStormTechnologies C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 60;" kind:property line:60 language:JavaScript
-Locations.IshimaTravelAgency C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 59;" kind:property line:59 language:JavaScript
-Locations.NewTokyo C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 9;" kind:property line:9 language:JavaScript
-Locations.NewTokyoDefComm C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 53;" kind:property line:53 language:JavaScript
-Locations.NewTokyoGlobalPharmaceuticals C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 55;" kind:property line:55 language:JavaScript
-Locations.NewTokyoNoodleBar C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 56;" kind:property line:56 language:JavaScript
-Locations.NewTokyoTravelAgency C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 52;" kind:property line:52 language:JavaScript
-Locations.NewTokyoVitaLife C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 54;" kind:property line:54 language:JavaScript
-Locations.Sector12 C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 8;" kind:property line:8 language:JavaScript
-Locations.Sector12AlphaEnterprises C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 44;" kind:property line:44 language:JavaScript
-Locations.Sector12BladeIndustries C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 37;" kind:property line:37 language:JavaScript
-Locations.Sector12CIA C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 42;" kind:property line:42 language:JavaScript
-Locations.Sector12CarmichaelSecurity C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 45;" kind:property line:45 language:JavaScript
-Locations.Sector12DeltaOne C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 41;" kind:property line:41 language:JavaScript
-Locations.Sector12FoodNStuff C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 46;" kind:property line:46 language:JavaScript
-Locations.Sector12FourSigma C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 38;" kind:property line:38 language:JavaScript
-Locations.Sector12IcarusMicrosystems C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 39;" kind:property line:39 language:JavaScript
-Locations.Sector12IronGym C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 48;" kind:property line:48 language:JavaScript
-Locations.Sector12JoesGuns C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 47;" kind:property line:47 language:JavaScript
-Locations.Sector12MegaCorp C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 36;" kind:property line:36 language:JavaScript
-Locations.Sector12NSA C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 43;" kind:property line:43 language:JavaScript
-Locations.Sector12PowerhouseGym C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 49;" kind:property line:49 language:JavaScript
-Locations.Sector12TravelAgency C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 35;" kind:property line:35 language:JavaScript
-Locations.Sector12UniversalEnergy C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 40;" kind:property line:40 language:JavaScript
-Locations.Volhaven C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 11;" kind:property line:11 language:JavaScript
-Locations.VolhavenCompuTek C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 72;" kind:property line:72 language:JavaScript
-Locations.VolhavenHeliosLabs C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 68;" kind:property line:68 language:JavaScript
-Locations.VolhavenLexoCorp C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 70;" kind:property line:70 language:JavaScript
-Locations.VolhavenMilleniumFitnessGym C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 73;" kind:property line:73 language:JavaScript
-Locations.VolhavenNWO C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 67;" kind:property line:67 language:JavaScript
-Locations.VolhavenOmniTekIncorporated C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 66;" kind:property line:66 language:JavaScript
-Locations.VolhavenOmniaCybersystems C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 69;" kind:property line:69 language:JavaScript
-Locations.VolhavenSysCoreSecurities C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 71;" kind:property line:71 language:JavaScript
-Locations.VolhavenTravelAgency C:\Users\daniel.xie\Desktop\netburner\netburner\src\Location.js 65;" kind:property line:65 language:JavaScript
-Parser C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 8;" kind:function line:8 language:JavaScript
-Parser.PRECEDENCE.!= C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 13;" kind:property line:13 language:JavaScript
-Parser.PRECEDENCE.% C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 15;" kind:property line:15 language:JavaScript
-Parser.PRECEDENCE.&& C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 12;" kind:property line:12 language:JavaScript
-Parser.PRECEDENCE.* C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 15;" kind:property line:15 language:JavaScript
-Parser.PRECEDENCE.+ C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 14;" kind:property line:14 language:JavaScript
-Parser.PRECEDENCE.- C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 14;" kind:property line:14 language:JavaScript
-Parser.PRECEDENCE./ C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 15;" kind:property line:15 language:JavaScript
-Parser.PRECEDENCE.< C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 13;" kind:property line:13 language:JavaScript
-Parser.PRECEDENCE.<= C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 13;" kind:property line:13 language:JavaScript
-Parser.PRECEDENCE.= C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 10;" kind:property line:10 language:JavaScript
-Parser.PRECEDENCE.== C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 13;" kind:property line:13 language:JavaScript
-Parser.PRECEDENCE.> C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 13;" kind:property line:13 language:JavaScript
-Parser.PRECEDENCE.>= C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 13;" kind:property line:13 language:JavaScript
-Parser.PRECEDENCE.|| C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 11;" kind:property line:11 language:JavaScript
-Parser.checkKeywordAndSkip C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 46;" kind:function line:46 language:JavaScript
-Parser.checkOpAndSkip C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 53;" kind:function line:53 language:JavaScript
-Parser.checkPuncAndSkip C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 39;" kind:function line:39 language:JavaScript
-Parser.delimited C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 79;" kind:function line:79 language:JavaScript
-Parser.is_kw C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 26;" kind:function line:26 language:JavaScript
-Parser.is_op C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 32;" kind:function line:32 language:JavaScript
-Parser.is_punc C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 20;" kind:function line:20 language:JavaScript
-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 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 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 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 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 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 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 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
-Programs.HTTPWormProgram C:\Users\daniel.xie\Desktop\netburner\netburner\src\CreateProgram.js 7;" kind:property line:7 language:JavaScript
-Programs.NukeProgram C:\Users\daniel.xie\Desktop\netburner\netburner\src\CreateProgram.js 3;" kind:property line:3 language:JavaScript
-Programs.RelaySMTPProgram C:\Users\daniel.xie\Desktop\netburner\netburner\src\CreateProgram.js 6;" kind:property line:6 language:JavaScript
-Programs.SQLInjectProgram C:\Users\daniel.xie\Desktop\netburner\netburner\src\CreateProgram.js 8;" kind:property line:8 language:JavaScript
-Script C:\Users\daniel.xie\Desktop\netburner\netburner\src\Script.js 66;" kind:class line:66 language:JavaScript
-Script.displayLog C:\Users\daniel.xie\Desktop\netburner\netburner\src\Script.js 139;" kind:method line:139 language:JavaScript
-Script.fromJSON C:\Users\daniel.xie\Desktop\netburner\netburner\src\Script.js 150;" kind:function line:150 language:JavaScript
-Script.log C:\Users\daniel.xie\Desktop\netburner\netburner\src\Script.js 129;" kind:method line:129 language:JavaScript
-Script.saveScript C:\Users\daniel.xie\Desktop\netburner\netburner\src\Script.js 90;" kind:method line:90 language:JavaScript
-Script.toJSON C:\Users\daniel.xie\Desktop\netburner\netburner\src\Script.js 145;" kind:method line:145 language:JavaScript
-Script.updateNumInstructions C:\Users\daniel.xie\Desktop\netburner\netburner\src\Script.js 116;" kind:method line:116 language:JavaScript
-Script.updateRamUsage C:\Users\daniel.xie\Desktop\netburner\netburner\src\Script.js 125;" kind:method line:125 language:JavaScript
-ScriptEditorLastStatus C:\Users\daniel.xie\Desktop\netburner\netburner\src\Script.js 56;" kind:variable line:56 language:JavaScript
-Server C:\Users\daniel.xie\Desktop\netburner\netburner\src\Server.js 4;" kind:class line:4 language:JavaScript
-Server.fromJSON C:\Users\daniel.xie\Desktop\netburner\netburner\src\Server.js 108;" kind:function line:108 language:JavaScript
-Server.getScript C:\Users\daniel.xie\Desktop\netburner\netburner\src\Server.js 94;" kind:method line:94 language:JavaScript
-Server.getServerOnNetwork C:\Users\daniel.xie\Desktop\netburner\netburner\src\Server.js 84;" kind:method line:84 language:JavaScript
-Server.init C:\Users\daniel.xie\Desktop\netburner\netburner\src\Server.js 57;" kind:method line:57 language:JavaScript
-Server.setHackingParameters C:\Users\daniel.xie\Desktop\netburner\netburner\src\Server.js 69;" kind:method line:69 language:JavaScript
-Server.setPortProperties C:\Users\daniel.xie\Desktop\netburner\netburner\src\Server.js 78;" kind:method line:78 language:JavaScript
-Server.toJSON C:\Users\daniel.xie\Desktop\netburner\netburner\src\Server.js 104;" kind:method line:104 language:JavaScript
-SizeOfAllServers C:\Users\daniel.xie\Desktop\netburner\netburner\src\Server.js 657;" kind:function line:657 language:JavaScript
-SpecialServerIpsMap C:\Users\daniel.xie\Desktop\netburner\netburner\src\SpecialServerIps.js 2;" kind:function line:2 language:JavaScript
-SpecialServerIpsMap C:\Users\daniel.xie\Desktop\netburner\netburner\src\SpecialServerIps.js 5;" kind:class line:5 language:JavaScript
-SpecialServerIpsMap.addIp C:\Users\daniel.xie\Desktop\netburner\netburner\src\SpecialServerIps.js 5;" kind:method line:5 language:JavaScript
-SpecialServerIpsMap.fromJSON C:\Users\daniel.xie\Desktop\netburner\netburner\src\SpecialServerIps.js 13;" kind:function line:13 language:JavaScript
-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 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
-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
-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
-hostname C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 422;" kind:variable line:422 language:JavaScript
-initAugmentations C:\Users\daniel.xie\Desktop\netburner\netburner\src\Augmentations.js 52;" kind:function line:52 language:JavaScript
-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 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
-is_keyword C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Tokenizer.js 27;" kind:function line:27 language:JavaScript
-is_op_char C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Tokenizer.js 44;" kind:function line:44 language:JavaScript
-is_punc C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Tokenizer.js 48;" kind:function line:48 language:JavaScript
-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 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
-next C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Tokenizer.js 157;" kind:function line:157 language:JavaScript
-offlineEps C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 440;" kind:variable line:440 language:JavaScript
-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 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
-onlineTotalMoneyMade C:\Users\daniel.xie\Desktop\netburner\netburner\src\engine.js 426;" kind:variable line:426 language:JavaScript
-parse_atom C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 208;" kind:function line:208 language:JavaScript
-parse_bool C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 196;" kind:function line:196 language:JavaScript
-parse_expression C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 248;" kind:function line:248 language:JavaScript
-parse_for C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 154;" kind:function line:154 language:JavaScript
-parse_if C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 111;" kind:function line:111 language:JavaScript
-parse_if.ret.cond C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 122;" kind:property line:122 language:JavaScript
-parse_if.ret.type C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 121;" kind:property line:121 language:JavaScript
-parse_prog C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 240;" kind:function line:240 language:JavaScript
-parse_toplevel C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 230;" kind:function line:230 language:JavaScript
-parse_varname C:\Users\daniel.xie\Desktop\netburner\netburner\src\Netscript\Parser.js 100;" kind:function line:100 language:JavaScript
-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 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 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 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 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
-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 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
diff --git a/src/tags.idx b/src/tags.idx
deleted file mode 100644
index 22d704dc7..000000000
Binary files a/src/tags.idx and /dev/null differ