diff --git a/src/Augmentation/AugmentationHelpers.jsx b/src/Augmentation/AugmentationHelpers.jsx
index e9da71d17..d71909c97 100644
--- a/src/Augmentation/AugmentationHelpers.jsx
+++ b/src/Augmentation/AugmentationHelpers.jsx
@@ -2455,22 +2455,6 @@ function augmentationExists(name) {
return Augmentations.hasOwnProperty(name);
}
-export function displayAugmentationsContent(contentEl) {
- if (!routing.isOn(Page.Augmentations)) {
- return;
- }
- if (!(contentEl instanceof HTMLElement)) {
- return;
- }
-
- function backup() {
- saveObject.exportGame();
- onExport(Player);
- }
-
- ReactDOM.render(, contentEl);
-}
-
export function isRepeatableAug(aug) {
const augName = aug instanceof Augmentation ? aug.name : aug;
diff --git a/src/Milestones/MilestoneHelpers.tsx b/src/Milestones/MilestoneHelpers.tsx
deleted file mode 100644
index 7ea791d77..000000000
--- a/src/Milestones/MilestoneHelpers.tsx
+++ /dev/null
@@ -1,26 +0,0 @@
-import { Page, routing } from ".././ui/navigationTracking";
-import { Root } from "./ui/Root";
-import { Player } from "../Player";
-import * as React from "react";
-import * as ReactDOM from "react-dom";
-
-let milestonesContainer: HTMLElement | null = null;
-
-(function () {
- function setContainer(): void {
- milestonesContainer = document.getElementById("milestones-container");
- document.removeEventListener("DOMContentLoaded", setContainer);
- }
-
- document.addEventListener("DOMContentLoaded", setContainer);
-})();
-
-export function displayMilestonesContent(): void {
- if (!routing.isOn(Page.Milestones)) {
- return;
- }
-
- if (milestonesContainer instanceof HTMLElement) {
- ReactDOM.render(, milestonesContainer);
- }
-}
diff --git a/src/Milestones/ui/Root.tsx b/src/Milestones/ui/MilestonesRoot.tsx
similarity index 94%
rename from src/Milestones/ui/Root.tsx
rename to src/Milestones/ui/MilestonesRoot.tsx
index 5f108a708..46d682dd9 100644
--- a/src/Milestones/ui/Root.tsx
+++ b/src/Milestones/ui/MilestonesRoot.tsx
@@ -16,7 +16,7 @@ function highestMilestone(p: IPlayer, milestones: Milestone[]): number {
return n;
}
-export function Root(props: IProps): JSX.Element {
+export function MilestonesRoot(props: IProps): JSX.Element {
const n = highestMilestone(props.player, Milestones);
const milestones = Milestones.map((milestone: Milestone, i: number) => {
if (i <= n + 1) {
diff --git a/src/PersonObjects/IPlayer.ts b/src/PersonObjects/IPlayer.ts
index ef772bef7..383e492bf 100644
--- a/src/PersonObjects/IPlayer.ts
+++ b/src/PersonObjects/IPlayer.ts
@@ -192,4 +192,5 @@ export interface IPlayer {
getCasinoWinnings(): number;
quitJob(company: string): void;
createHacknetServer(): void;
+ startCreateProgramWork(programName: string, time: number, reqLevel: number): void;
}
diff --git a/src/Prestige.js b/src/Prestige.js
index 31813d446..835bb7a1b 100755
--- a/src/Prestige.js
+++ b/src/Prestige.js
@@ -23,7 +23,7 @@ import { prestigeHomeComputer } from "./Server/ServerHelpers";
import { SourceFileFlags, updateSourceFileFlags } from "./SourceFile/SourceFileFlags";
import { SpecialServerIps, prestigeSpecialServerIps, SpecialServerNames } from "./Server/SpecialServerIps";
import { deleteStockMarket, initStockMarket, initSymbolToStockMap } from "./StockMarket/StockMarket";
-import { Terminal, postNetburnerText } from "./Terminal";
+import { Terminal, postVersion } from "./Terminal";
import { Page, routing } from "./ui/navigationTracking";
diff --git a/src/Programs/ProgramHelpers.js b/src/Programs/ProgramHelpers.js
index acc880c25..ee807392a 100644
--- a/src/Programs/ProgramHelpers.js
+++ b/src/Programs/ProgramHelpers.js
@@ -3,19 +3,6 @@ import { Programs } from "./Programs";
import { Player } from "../Player";
import { createElement } from "../../utils/uiHelpers/createElement";
-// this has the same key as 'Programs', not program names
-const aLinks = {};
-
-function displayCreateProgramContent() {
- for (const key in aLinks) {
- const p = Programs[key];
- aLinks[key].style.display = "none";
- if (!Player.hasProgram(p.name) && p.create.req(Player)) {
- aLinks[key].style.display = "inline-block";
- }
- }
-}
-
//Returns the number of programs that are currently available to be created
function getNumAvailableCreateProgram() {
var count = 0;
@@ -46,29 +33,4 @@ function getNumAvailableCreateProgram() {
return count;
}
-function initCreateProgramButtons() {
- const createProgramList = document.getElementById("create-program-list");
- for (const key in Programs) {
- if (Programs[key].create === null) {
- continue;
- }
- const elem = createElement("a", {
- class: "a-link-button",
- id: Programs[key].htmlID(),
- innerText: Programs[key].name,
- tooltip: Programs[key].create.tooltip,
- });
- aLinks[key] = elem;
- createProgramList.appendChild(elem);
- }
-
- for (const key in aLinks) {
- const p = Programs[key];
- aLinks[key].addEventListener("click", function () {
- Player.startCreateProgramWork(p.name, p.create.time, p.create.level);
- return false;
- });
- }
-}
-
-export { displayCreateProgramContent, getNumAvailableCreateProgram, initCreateProgramButtons };
+export { getNumAvailableCreateProgram };
diff --git a/src/Programs/ui/ProgramsRoot.tsx b/src/Programs/ui/ProgramsRoot.tsx
new file mode 100644
index 000000000..a163e47c2
--- /dev/null
+++ b/src/Programs/ui/ProgramsRoot.tsx
@@ -0,0 +1,49 @@
+import React, { useState, useEffect } from "react";
+import { IPlayer } from "../../PersonObjects/IPlayer";
+import { Programs } from "../Programs";
+
+interface IProps {
+ player: IPlayer;
+}
+
+export function ProgramsRoot(props: IProps): React.ReactElement {
+ const setRerender = useState(false)[1];
+ function rerender(): void {
+ setRerender((old) => !old);
+ }
+ const [divisionName, setDivisionName] = useState("Overview");
+
+ useEffect(() => {
+ const id = setInterval(rerender, 20);
+ return () => clearInterval(id);
+ }, []);
+
+ return (
+ <>
+
+ This page displays any programs that you are able to create. Writing the code for a program takes time, which
+ can vary based on how complex the program is. If you are working on creating a program you can cancel at any
+ time. Your progress will be saved and you can continue later.
+
+
+
+ >
+ );
+}
diff --git a/src/Terminal.jsx b/src/Terminal.jsx
index 4672504ea..0bd9a08ea 100644
--- a/src/Terminal.jsx
+++ b/src/Terminal.jsx
@@ -64,7 +64,7 @@ import * as FileSaver from "file-saver";
import * as libarg from "arg";
import React from "react";
-function postNetburnerText() {
+function postVersion() {
post("Bitburner v" + CONSTANTS.Version);
}
@@ -2616,4 +2616,4 @@ let Terminal = {
},
};
-export { postNetburnerText, Terminal };
+export { postVersion, Terminal };
diff --git a/src/Tutorial/ui/TutorialRoot.tsx b/src/Tutorial/ui/TutorialRoot.tsx
new file mode 100644
index 000000000..3c21168b4
--- /dev/null
+++ b/src/Tutorial/ui/TutorialRoot.tsx
@@ -0,0 +1,99 @@
+import React from "react";
+
+export function TutorialRoot(): React.ReactElement {
+ return (
+ <>
+ Tutorial (AKA Links to Documentation)
+
+ Getting Started
+
+
+
+
+ Servers & Networking
+
+
+
+
+ Hacking
+
+
+
+
+ Scripts
+
+
+
+
+ Netscript Programming Language
+
+
+
+
+ Traveling
+
+
+
+
+ Companies
+
+
+
+
+ Infiltration
+
+
+
+
+ Factions
+
+
+
+
+ Augmentations
+
+
+
+
+ Keyboard Shortcuts
+
+ >
+ );
+}
diff --git a/src/engine.jsx b/src/engine.jsx
index 7807a157b..7f40aa2bd 100644
--- a/src/engine.jsx
+++ b/src/engine.jsx
@@ -5,7 +5,13 @@
*/
import { convertTimeMsToTimeElapsedString, replaceAt } from "../utils/StringHelperFunctions";
import { Augmentations } from "./Augmentation/Augmentations";
-import { initAugmentations, displayAugmentationsContent } from "./Augmentation/AugmentationHelpers";
+import {
+ initAugmentations,
+ displayAugmentationsContent,
+ installAugmentations,
+} from "./Augmentation/AugmentationHelpers";
+import { onExport } from "./ExportBonus";
+import { AugmentationsRoot } from "./Augmentation/ui/Root";
import { AugmentationNames } from "./Augmentation/data/AugmentationNames";
import { initBitNodeMultipliers } from "./BitNode/BitNode";
import { Bladeburner } from "./Bladeburner/Bladeburner";
@@ -42,11 +48,8 @@ import { workerScripts } from "./Netscript/WorkerScripts";
import { loadAllRunningScripts, updateOnlineScriptTimes } from "./NetscriptWorker";
import { Player } from "./Player";
import { prestigeAugmentation } from "./Prestige";
-import {
- displayCreateProgramContent,
- getNumAvailableCreateProgram,
- initCreateProgramButtons,
-} from "./Programs/ProgramHelpers";
+import { getNumAvailableCreateProgram } from "./Programs/ProgramHelpers";
+import { ProgramsRoot } from "./Programs/ui/ProgramsRoot";
import { redPillFlag } from "./RedPill";
import { saveObject, loadGame } from "./SaveObject";
import { Root as ScriptEditorRoot } from "./ScriptEditor/ui/Root";
@@ -55,8 +58,9 @@ import { Settings } from "./Settings/Settings";
import { updateSourceFileFlags } from "./SourceFile/SourceFileFlags";
import { initSpecialServerIps } from "./Server/SpecialServerIps";
import { initSymbolToStockMap, processStockPrices, displayStockMarketContent } from "./StockMarket/StockMarket";
-import { displayMilestonesContent } from "./Milestones/MilestoneHelpers";
-import { Terminal, postNetburnerText } from "./Terminal";
+import { MilestonesRoot } from "./Milestones/ui/MilestonesRoot";
+import { Terminal, postVersion } from "./Terminal";
+import { TutorialRoot } from "./Tutorial/ui/TutorialRoot";
import { Sleeve } from "./PersonObjects/Sleeve/Sleeve";
import { createStatusText } from "./ui/createStatusText";
@@ -197,9 +201,6 @@ const Engine = {
redPillContent: null,
cinematicTextContent: null,
missionContent: null,
-
- // Character info
- characterInfo: null,
},
indexedDb: undefined,
@@ -218,8 +219,8 @@ const Engine = {
loadCharacterContent: function () {
Engine.hideAllContent();
Engine.Display.characterContent.style.display = "block";
- ReactDOM.render(, Engine.Display.characterInfo);
routing.navigateTo(Page.CharacterInfo);
+ ReactDOM.render(, Engine.Display.characterContent);
MainMenuLinks.Stats.classList.add("active");
},
@@ -227,50 +228,49 @@ const Engine = {
Engine.hideAllContent();
Engine.Display.scriptEditorContent.style.display = "block";
routing.navigateTo(Page.ScriptEditor);
-
+ MainMenuLinks.ScriptEditor.classList.add("active");
ReactDOM.render(
,
Engine.Display.scriptEditorContent,
);
-
- MainMenuLinks.ScriptEditor.classList.add("active");
},
loadActiveScriptsContent: function () {
Engine.hideAllContent();
Engine.Display.activeScriptsContent.style.display = "block";
routing.navigateTo(Page.ActiveScripts);
+ MainMenuLinks.ActiveScripts.classList.add("active");
ReactDOM.render(
,
Engine.Display.activeScriptsContent,
);
- MainMenuLinks.ActiveScripts.classList.add("active");
},
loadHacknetNodesContent: function () {
Engine.hideAllContent();
Engine.Display.hacknetNodesContent.style.display = "block";
routing.navigateTo(Page.HacknetNodes);
- ReactDOM.render(, Engine.Display.hacknetNodesContent);
MainMenuLinks.HacknetNodes.classList.add("active");
+ ReactDOM.render(, Engine.Display.hacknetNodesContent);
},
loadCreateProgramContent: function () {
Engine.hideAllContent();
Engine.Display.createProgramContent.style.display = "block";
- displayCreateProgramContent();
routing.navigateTo(Page.CreateProgram);
MainMenuLinks.CreateProgram.classList.add("active");
+ ReactDOM.render(, Engine.Display.createProgramContent);
},
loadFactionsContent: function () {
Engine.hideAllContent();
Engine.Display.factionsContent.style.display = "block";
routing.navigateTo(Page.Factions);
- ReactDOM.render(, Engine.Display.factionsContent);
MainMenuLinks.Factions.classList.add("active");
+ ReactDOM.render(, Engine.Display.factionsContent);
},
+ // TODO reactify
loadFactionContent: function () {
Engine.hideAllContent();
Engine.Display.factionContent.style.display = "block";
@@ -281,16 +281,25 @@ const Engine = {
Engine.hideAllContent();
Engine.Display.augmentationsContent.style.display = "block";
routing.navigateTo(Page.Augmentations);
- displayAugmentationsContent(Engine.Display.augmentationsContent);
MainMenuLinks.Augmentations.classList.add("active");
+
+ function backup() {
+ saveObject.exportGame();
+ onExport(Player);
+ }
+
+ ReactDOM.render(
+ ,
+ Engine.Display.augmentationsContent,
+ );
},
loadMilestonesContent: function () {
Engine.hideAllContent();
Engine.Display.milestonesContent.style.display = "block";
routing.navigateTo(Page.Milestones);
- displayMilestonesContent();
MainMenuLinks.Milestones.classList.add("active");
+ ReactDOM.render(, Engine.Display.milestonesContent);
},
loadTutorialContent: function () {
@@ -298,8 +307,10 @@ const Engine = {
Engine.Display.tutorialContent.style.display = "block";
routing.navigateTo(Page.Tutorial);
MainMenuLinks.Tutorial.classList.add("active");
+ ReactDOM.render(, Engine.Display.tutorialContent);
},
+ // TODO reactify
loadDevMenuContent: function () {
Engine.hideAllContent();
createDevMenu();
@@ -310,11 +321,12 @@ const Engine = {
loadLocationContent: function (initiallyInCity = true) {
Engine.hideAllContent();
Engine.Display.locationContent.style.display = "block";
- MainMenuLinks.City.classList.add("active");
-
routing.navigateTo(Page.Location);
- const rootComponent = ;
- ReactDOM.render(rootComponent, Engine.Display.locationContent);
+ MainMenuLinks.City.classList.add("active");
+ ReactDOM.render(
+ ,
+ Engine.Display.locationContent,
+ );
},
loadTravelContent: function () {
@@ -323,11 +335,12 @@ const Engine = {
Engine.hideAllContent();
Player.gotoLocation(LocationName.TravelAgency);
Engine.Display.locationContent.style.display = "block";
- MainMenuLinks.Travel.classList.add("active");
-
routing.navigateTo(Page.Location);
- const rootComponent = ;
- ReactDOM.render(rootComponent, Engine.Display.locationContent);
+ MainMenuLinks.Travel.classList.add("active");
+ ReactDOM.render(
+ ,
+ Engine.Display.locationContent,
+ );
},
loadJobContent: function () {
@@ -342,29 +355,33 @@ const Engine = {
Engine.hideAllContent();
Player.gotoLocation(Player.companyName);
Engine.Display.locationContent.style.display = "block";
- MainMenuLinks.Job.classList.add("active");
-
routing.navigateTo(Page.Location);
- const rootComponent = ;
- ReactDOM.render(rootComponent, Engine.Display.locationContent);
+ MainMenuLinks.Job.classList.add("active");
+ ReactDOM.render(
+ ,
+ Engine.Display.locationContent,
+ );
},
+ // TODO reactify
loadWorkInProgressContent: function () {
Engine.hideAllContent();
- var mainMenu = document.getElementById("mainmenu-container");
+ const mainMenu = document.getElementById("mainmenu-container");
mainMenu.style.visibility = "hidden";
Engine.Display.workInProgressContent.style.display = "block";
routing.navigateTo(Page.WorkInProgress);
},
+ // TODO reactify
loadRedPillContent: function () {
Engine.hideAllContent();
- var mainMenu = document.getElementById("mainmenu-container");
+ const mainMenu = document.getElementById("mainmenu-container");
mainMenu.style.visibility = "hidden";
Engine.Display.redPillContent.style.display = "block";
routing.navigateTo(Page.RedPill);
},
+ // TODO reactify
loadCinematicTextContent: function () {
Engine.hideAllContent();
var mainMenu = document.getElementById("mainmenu-container");
@@ -373,6 +390,7 @@ const Engine = {
routing.navigateTo(Page.CinematicText);
},
+ // TODO reactify
loadInfiltrationContent: function (name, difficulty, maxLevel) {
Engine.hideAllContent();
const mainMenu = document.getElementById("mainmenu-container");
@@ -386,19 +404,17 @@ const Engine = {
Engine.hideAllContent();
Engine.Display.stockMarketContent.style.display = "block";
routing.navigateTo(Page.StockMarket);
+ MainMenuLinks.StockMarket.classList.add("active");
displayStockMarketContent();
},
loadGangContent: function () {
+ if (!Player.inGang()) return;
Engine.hideAllContent();
- if (Player.inGang()) {
- Engine.Display.gangContent.style.display = "block";
- routing.navigateTo(Page.Gang);
- ReactDOM.render(, Engine.Display.gangContent);
- } else {
- Engine.loadTerminalContent();
- routing.navigateTo(Page.Terminal);
- }
+ Engine.Display.gangContent.style.display = "block";
+ routing.navigateTo(Page.Gang);
+ MainMenuLinks.Gang.classList.add("active");
+ ReactDOM.render(, Engine.Display.gangContent);
},
loadMissionContent: function () {
@@ -412,27 +428,28 @@ const Engine = {
loadCorporationContent: function () {
if (!(Player.corporation instanceof Corporation)) return;
Engine.hideAllContent();
- routing.navigateTo(Page.Corporation);
Engine.Display.corporationContent.style.display = "block";
+ routing.navigateTo(Page.Corporation);
+ MainMenuLinks.Corporation.classList.add("active");
ReactDOM.render(, Engine.Display.corporationContent);
},
loadBladeburnerContent: function () {
if (!(Player.bladeburner instanceof Bladeburner)) return;
Engine.hideAllContent();
- routing.navigateTo(Page.Bladeburner);
Engine.Display.bladeburnerContent.style.display = "block";
+ routing.navigateTo(Page.Bladeburner);
+ MainMenuLinks.Bladeburner.classList.add("active");
ReactDOM.render(
,
Engine.Display.bladeburnerContent,
);
- MainMenuLinks.Bladeburner.classList.add("active");
},
loadSleevesContent: function () {
Engine.hideAllContent();
- routing.navigateTo(Page.Sleeves);
Engine.Display.sleevesContent.style.display = "block";
+ routing.navigateTo(Page.Sleeves);
ReactDOM.render(, Engine.Display.sleevesContent);
},
@@ -440,6 +457,7 @@ const Engine = {
Engine.hideAllContent();
routing.navigateTo(Page.Resleeves);
Engine.Display.resleeveContent.style.display = "block";
+ MainMenuLinks.City.classList.add("active");
ReactDOM.render(, Engine.Display.resleeveContent);
},
@@ -716,10 +734,6 @@ const Engine = {
if (Engine.Counters.updateDisplays <= 0) {
Engine.displayCharacterOverviewInfo();
- if (routing.isOn(Page.CreateProgram)) {
- displayCreateProgramContent();
- }
-
Engine.Counters.updateDisplays = 3;
}
@@ -1238,9 +1252,6 @@ const Engine = {
Engine.Display.missionContent = document.getElementById("mission-container");
Engine.Display.missionContent.style.display = "none";
- // Character info
- Engine.Display.characterInfo = document.getElementById("character-content");
-
// Location page (page that shows up when you visit a specific location in World)
Engine.Display.locationContent = document.getElementById("location-container");
Engine.Display.locationContent.style.display = "none";
@@ -1285,110 +1296,30 @@ const Engine = {
return;
}
- MainMenuLinks.Terminal.addEventListener("click", function () {
- Engine.loadTerminalContent();
- return false;
- });
-
- MainMenuLinks.ScriptEditor.addEventListener("click", function () {
- Engine.loadScriptEditorContent();
- return false;
- });
-
- MainMenuLinks.ActiveScripts.addEventListener("click", function () {
- Engine.loadActiveScriptsContent();
- return false;
- });
-
- MainMenuLinks.CreateProgram.addEventListener("click", function () {
- Engine.loadCreateProgramContent();
- return false;
- });
-
- MainMenuLinks.Stats.addEventListener("click", function () {
- Engine.loadCharacterContent();
- return false;
- });
-
- MainMenuLinks.Factions.addEventListener("click", function () {
- Engine.loadFactionsContent();
- return false;
- });
-
- MainMenuLinks.Augmentations.addEventListener("click", function () {
- Engine.loadAugmentationsContent();
- return false;
- });
-
- MainMenuLinks.HacknetNodes.addEventListener("click", function () {
- Engine.loadHacknetNodesContent();
- return false;
- });
-
- MainMenuLinks.Sleeves.addEventListener("click", function () {
- Engine.loadSleevesContent();
- MainMenuLinks.Sleeves.classList.add("active");
- return false;
- });
-
- MainMenuLinks.City.addEventListener("click", function () {
- Engine.loadLocationContent();
- return false;
- });
-
- MainMenuLinks.Travel.addEventListener("click", function () {
- Engine.loadTravelContent();
- return false;
- });
-
- MainMenuLinks.Job.addEventListener("click", function () {
- Engine.loadJobContent();
- return false;
- });
-
- MainMenuLinks.StockMarket.addEventListener("click", function () {
- Engine.loadStockMarketContent();
- MainMenuLinks.StockMarket.classList.add("active");
- return false;
- });
-
- MainMenuLinks.Bladeburner.addEventListener("click", function () {
- Engine.loadBladeburnerContent();
- return false;
- });
-
- MainMenuLinks.Corporation.addEventListener("click", function () {
- Engine.loadCorporationContent();
- MainMenuLinks.Corporation.classList.add("active");
- return false;
- });
-
- MainMenuLinks.Gang.addEventListener("click", function () {
- Engine.loadGangContent();
- MainMenuLinks.Gang.classList.add("active");
- return false;
- });
-
- MainMenuLinks.Milestones.addEventListener("click", function () {
- Engine.loadMilestonesContent();
- return false;
- });
-
- MainMenuLinks.Tutorial.addEventListener("click", function () {
- Engine.loadTutorialContent();
- return false;
- });
-
+ MainMenuLinks.Terminal.addEventListener("click", () => Engine.loadTerminalContent());
+ MainMenuLinks.ScriptEditor.addEventListener("click", () => Engine.loadScriptEditorContent());
+ MainMenuLinks.ActiveScripts.addEventListener("click", () => Engine.loadActiveScriptsContent());
+ MainMenuLinks.CreateProgram.addEventListener("click", () => Engine.loadCreateProgramContent());
+ MainMenuLinks.Stats.addEventListener("click", () => Engine.loadCharacterContent());
+ MainMenuLinks.Factions.addEventListener("click", () => Engine.loadFactionsContent());
+ MainMenuLinks.Augmentations.addEventListener("click", () => Engine.loadAugmentationsContent());
+ MainMenuLinks.HacknetNodes.addEventListener("click", () => Engine.loadHacknetNodesContent());
+ MainMenuLinks.Sleeves.addEventListener("click", () => Engine.loadSleevesContent());
+ MainMenuLinks.City.addEventListener("click", () => Engine.loadLocationContent());
+ MainMenuLinks.Travel.addEventListener("click", () => Engine.loadTravelContent());
+ MainMenuLinks.Job.addEventListener("click", () => Engine.loadJobContent());
+ MainMenuLinks.StockMarket.addEventListener("click", () => Engine.loadStockMarketContent());
+ MainMenuLinks.Bladeburner.addEventListener("click", () => Engine.loadBladeburnerContent());
+ MainMenuLinks.Corporation.addEventListener("click", () => Engine.loadCorporationContent());
+ MainMenuLinks.Gang.addEventListener("click", () => Engine.loadGangContent());
+ MainMenuLinks.Milestones.addEventListener("click", () => Engine.loadMilestonesContent());
+ MainMenuLinks.Tutorial.addEventListener("click", () => Engine.loadTutorialContent());
MainMenuLinks.DevMenu.addEventListener("click", function () {
if (process.env.NODE_ENV === "development") {
Engine.loadDevMenuContent();
}
- return false;
});
- // Active scripts list
- Engine.ActiveScriptsList = document.getElementById("active-scripts-list");
-
// Save, Delete, Import/Export buttons
Engine.Clickables.saveMainMenuButton = document.getElementById("save-game-link");
Engine.Clickables.saveMainMenuButton.addEventListener("click", function () {
@@ -1418,11 +1349,8 @@ const Engine = {
return false;
});
- // Create Program buttons
- initCreateProgramButtons();
-
// Message at the top of terminal
- postNetburnerText();
+ postVersion();
// Player was working cancel button
if (Player.isWorking) {
@@ -1517,7 +1445,6 @@ const Engine = {
}
dialogBoxCreate("Forcefully deleted all running scripts. Please save and refresh page.");
gameOptionsBoxClose();
- return false;
});
// DEBUG Soft Reset
@@ -1525,13 +1452,11 @@ const Engine = {
dialogBoxCreate("Soft Reset!");
prestigeAugmentation();
gameOptionsBoxClose();
- return false;
});
// DEBUG File diagnostic
document.getElementById("debug-files").addEventListener("click", function () {
createPopup("debug-files-diagnostic-popup", FileDiagnosticPopup, {});
- return false;
});
},
diff --git a/src/index.html b/src/index.html
index c1c0528f3..943739abd 100644
--- a/src/index.html
+++ b/src/index.html
@@ -41,178 +41,93 @@
-
+
- -
+
-
- -
+
-
- -
+
-
- -
+
-
- -
+
-
- -
+
-
- -
+
-
- -
+
-
- -
+
-
- -
+
-
- -
+
-
- -
+
-
- -
+
-
- -
+
-
- -
+
-
- -
+
-
- -
+
-
- -
+
-
- -
+
-
- -
+
-
-
-
@@ -233,133 +148,16 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
@@ -403,19 +201,6 @@
-
-
-