diff --git a/src/Augmentation/ui/SourceFileMinus1.tsx b/src/Augmentation/ui/SourceFileMinus1.tsx
deleted file mode 100644
index 8d30ab394..000000000
--- a/src/Augmentation/ui/SourceFileMinus1.tsx
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- * React Component for displaying a list of the player's Source-Files
- * on the Augmentations UI
- */
-import React, { useState } from "react";
-
-import { Player } from "@player";
-import { Exploit, ExploitName } from "../../Exploits/Exploit";
-
-import ListItemButton from "@mui/material/ListItemButton";
-import ListItemText from "@mui/material/ListItemText";
-import Box from "@mui/material/Box";
-import Typography from "@mui/material/Typography";
-import Paper from "@mui/material/Paper";
-import Collapse from "@mui/material/Collapse";
-import ExpandMore from "@mui/icons-material/ExpandMore";
-import ExpandLess from "@mui/icons-material/ExpandLess";
-
-export function SourceFileMinus1(): React.ReactElement {
- const [open, setOpen] = useState(false);
- const exploits = Player.exploits;
-
- if (exploits.length === 0) {
- return <>>;
- }
-
- return (
-
- setOpen((old) => !old)}>
-
- Source-File -1: Exploits in the BitNodes
-
- Level {exploits.length} / {Object.keys(Exploit).length}
-
- }
- />
- {open ? : }
-
-
-
-
- This Source-File can only be acquired with obscure knowledge of the game, javascript, and the web ecosystem.
-
- It increases all of the player's multipliers by 0.1%
-
-
- You have found the following exploits:
-
- {exploits.map((c) => (
- * {ExploitName(c)}
- ))}
-
-
-
-
- );
-}
diff --git a/src/Augmentation/ui/SourceFiles.tsx b/src/Augmentation/ui/SourceFiles.tsx
index 407e9c362..890adb370 100644
--- a/src/Augmentation/ui/SourceFiles.tsx
+++ b/src/Augmentation/ui/SourceFiles.tsx
@@ -135,7 +135,7 @@ export function SourceFilesElement(): React.ReactElement {
{safeGetSf(selectedSf.n)?.name}
-
+
{(() => {
const sfObj = safeGetSf(selectedSf.n);
if (!sfObj) return;
diff --git a/src/BitNode/BitNode.tsx b/src/BitNode/BitNode.tsx
index a333dee23..f1c10c3ae 100644
--- a/src/BitNode/BitNode.tsx
+++ b/src/BitNode/BitNode.tsx
@@ -156,14 +156,23 @@ export function initBitNodes() {
Destroying this BitNode will give you Source-File 5, or if you already have this Source-File, it will upgrade
- its level up to a maximum of 3. This Source-File grants you a special new stat called Intelligence. Intelligence
- is unique because it is permanent and persistent (it never gets reset back to 1). However, gaining Intelligence
+ its level up to a maximum of 3. This Source-File grants you a new stat called Intelligence. Intelligence is
+ unique because it is permanent and persistent (it never gets reset back to 1). However, gaining Intelligence
experience is much slower than other stats. Higher Intelligence levels will boost your production for many
actions in the game.
- In addition, this Source-File will unlock the getBitNodeMultipliers() Netscript function and let you start with
- Formulas.exe, and will also raise all of your hacking-related multipliers by:
+ In addition, this Source-File will unlock:
+
+ -
+
getBitNodeMultipliers()
Netscript function
+
+ - Permanent access to Formulas.exe
+ -
+ Access to BitNode multiplier information on the Stats page
+
+
+ It will also raise all of your hacking-related multipliers by:
- Level 1: 8%
- Level 2: 12%
diff --git a/src/Documentation/doc/advanced/bitnodes.md b/src/Documentation/doc/advanced/bitnodes.md
index 837f3315a..8122c0c74 100644
--- a/src/Documentation/doc/advanced/bitnodes.md
+++ b/src/Documentation/doc/advanced/bitnodes.md
@@ -102,10 +102,15 @@ Destroying this BitNode will give you Source-File 4, or if you already have this
They said it couldn't be done. They said the human brain, along with its consciousness and intelligence, couldn't be replicated. They said the complexity of the brain results from unpredictable, nonlinear interactions that couldn't be modeled by 1's and 0's. They were wrong.
-Destroying this BitNode will give you Source-File 5, or if you already have this Source-File, it will upgrade its level up to a maximum of 3. This Source-File grants you a special new stat called Intelligence. Intelligence is unique because it is permanent and persistent (it never gets reset back to 1). However, gaining Intelligence
-experience is much slower than other stats. Higher Intelligence levels will boost your production for many actions in the game.
+Destroying this BitNode will give you Source-File 5, or if you already have this Source-File, it will upgrade its level up to a maximum of 3. This Source-File grants you a new stat called Intelligence. Intelligence is unique because it is permanent and persistent (it never gets reset back to 1). However, gaining Intelligence experience is much slower than other stats. Higher Intelligence levels will boost your production for many actions in the game.
-In addition, this Source-File will unlock the getBitNodeMultipliers() Netscript function and let you start with Formulas.exe, and will also raise all of your hacking-related multipliers by:
+In addition, this Source-File will unlock:
+
+- `getBitNodeMultipliers()` Netscript function
+- Permanent access to `Formulas.exe`
+- Access to BitNode multiplier information on the `Stats` page
+
+It will also raise all of your hacking-related multipliers by:
- Level 1: 8%
- Level 2: 12%
diff --git a/src/SourceFile/SourceFiles.tsx b/src/SourceFile/SourceFiles.tsx
index 0b2a9a86c..0cd68efd7 100644
--- a/src/SourceFile/SourceFiles.tsx
+++ b/src/SourceFile/SourceFiles.tsx
@@ -1,6 +1,7 @@
import React from "react";
import { SourceFile } from "./SourceFile";
import { initBitNodes } from "../BitNode/BitNode";
+import { FactionName } from "@enums";
export const SourceFiles: Record = {};
/** Engine initializer for SourceFiles, BitNodes, and BitNodeMultipliers. Run once at engine load. */
@@ -10,15 +11,13 @@ export function initSourceFiles() {
1,
(
<>
- This Source-File lets the player start with 32GB of RAM on his/her home computer. It also increases all of the
- player's multipliers by:
-
-
- Level 1: 16%
-
- Level 2: 24%
-
- Level 3: 28%
+ This Source-File lets the player start with 32GB of RAM on their home computer when entering a new BitNode and
+ increases all of the player's multipliers by:
+
+ - Level 1: 16%
+ - Level 2: 24%
+ - Level 3: 28%
+
>
),
);
@@ -27,14 +26,12 @@ export function initSourceFiles() {
(
<>
This Source-File allows you to form gangs in other BitNodes once your karma decreases to a certain value. It
- also increases the player's crime success rate, crime money, and charisma multipliers by:
-
-
- Level 1: 24%
-
- Level 2: 36%
-
- Level 3: 42%
+ also increases your crime success rate, crime money, and charisma multipliers by:
+
+ - Level 1: 24%
+ - Level 2: 36%
+ - Level 3: 42%
+
>
),
);
@@ -45,12 +42,11 @@ export function initSourceFiles() {
This Source-File lets you create corporations on other BitNodes (although some BitNodes will disable this
mechanic) and level 3 permanently unlocks the full API. This Source-File also increases your charisma and
company salary multipliers by:
-
- Level 1: 8%
-
- Level 2: 12%
-
- Level 3: 14%
+
+ - Level 1: 8%
+ - Level 2: 12%
+ - Level 3: 14%
+
>
),
);
@@ -58,14 +54,13 @@ export function initSourceFiles() {
4,
(
<>
- This Source-File lets you access and use the Singularity Functions in every BitNode. Every level of this
- Source-File reduces the RAM cost of Singularity functions:
-
- Level 1: 16x
-
- Level 2: 4x
-
- Level 3: 1x
+ This Source-File lets you access and use the Singularity functions in other BitNodes. Each level of this
+ Source-File reduces the RAM cost of singularity functions:
+
+ - Level 1: 16x
+ - Level 2: 4x
+ - Level 3: 1x
+
>
),
);
@@ -73,34 +68,27 @@ export function initSourceFiles() {
5,
(
<>
- This Source-File grants a special new stat called Intelligence. Intelligence is unique because it is permanent
- and persistent (it never gets reset back to 1). However, gaining Intelligence experience is much slower than
- other stats. Higher Intelligence levels will boost your production for many actions in the game. In addition,
- this Source-File will unlock:
+ This Source-File grants you a new stat called Intelligence. Intelligence is unique because it is permanent and
+ persistent (it never gets reset back to 1). However, gaining Intelligence experience is much slower than other
+ stats. Higher Intelligence levels will boost your production for many actions in the game.
+
+ In addition, this Source-File will unlock:
-
-
- The
getBitNodeMultipliers()
Netscript function
-
+ getBitNodeMultipliers()
Netscript function
+ - Permanent access to Formulas.exe
-
- Permanent access to Formulas.exe
-
- -
-
- Access to BitNode multiplier information on the Stats page
-
+ Access to BitNode multiplier information on the Stats page
It will also raise all of your hacking-related multipliers by:
-
-
- Level 1: 8%
-
- Level 2: 12%
-
- Level 3: 14%
+
+ - Level 1: 8%
+ - Level 2: 12%
+ - Level 3: 14%
+
>
),
);
@@ -108,15 +96,13 @@ export function initSourceFiles() {
6,
(
<>
- This Source-File allows you to access the NSA's Bladeburner Division in other BitNodes. In addition, this
- Source-File will raise both the level and experience gain rate of all your combat stats by:
-
-
- Level 1: 8%
-
- Level 2: 12%
-
- Level 3: 14%
+ This Source-File allows you to access the NSA's {FactionName.Bladeburners} division in other BitNodes. In
+ addition, this Source-File will raise both the level and experience gain rate of all your combat stats by:
+
+ - Level 1: 8%
+ - Level 2: 12%
+ - Level 3: 14%
+
>
),
);
@@ -124,15 +110,13 @@ export function initSourceFiles() {
7,
(
<>
- This Source-File allows you to access the Bladeburner Netscript API in other BitNodes. In addition, this
- Source-File will increase all of your Bladeburner multipliers by:
-
-
- Level 1: 8%
-
- Level 2: 12%
-
- Level 3: 14%
+ This Source-File allows you to access the {FactionName.Bladeburners} Netscript API in other BitNodes. In
+ addition, this Source-File will increase all of your {FactionName.Bladeburners} multipliers by:
+
+ - Level 1: 8%
+ - Level 2: 12%
+ - Level 3: 14%
+
>
),
);
@@ -141,22 +125,17 @@ export function initSourceFiles() {
(
<>
This Source-File grants the following benefits:
-
-
- Level 1: Permanent access to WSE and TIX API
-
- Level 2: Ability to short stocks in other BitNodes
-
- Level 3: Ability to use limit/stop orders in other BitNodes
-
-
+
+ - Level 1: Permanent access to WSE and TIX API
+ - Level 2: Ability to short stocks in other BitNodes
+ - Level 3: Ability to use limit/stop orders in other BitNodes
+
This Source-File also increases your hacking growth multipliers by:
-
- Level 1: 12%
-
- Level 2: 18%
-
- Level 3: 21%
+
+ - Level 1: 12%
+ - Level 2: 18%
+ - Level 3: 21%
+
>
),
);
@@ -165,26 +144,21 @@ export function initSourceFiles() {
(
<>
This Source-File grants the following benefits:
-
-
- Level 1: Permanently unlocks the Hacknet Server in other BitNodes
-
- Level 2: You start with 128GB of RAM on your home computer when entering a new BitNode
-
- Level 3: Grants a highly-upgraded Hacknet Server when entering a new BitNode
-
-
+
+ - Level 1: Permanently unlocks the Hacknet Server in other BitNodes
+ - Level 2: You start with 128GB of RAM on your home computer when entering a new BitNode
+ - Level 3: Grants a highly-upgraded Hacknet Server when entering a new BitNode
+
(Note that the Level 3 effect of this Source-File only applies when entering a new BitNode, NOT when installing
- Augmentations)
+ augmentations)
This Source-File also increases hacknet production and reduces hacknet costs by:
-
- Level 1: 12%
-
- Level 2: 18%
-
- Level 3: 21%
+
+ - Level 1: 12%
+ - Level 2: 18%
+ - Level 3: 21%
+
>
),
);
@@ -192,8 +166,8 @@ export function initSourceFiles() {
10,
(
<>
- This Source-File unlocks Sleeve technology, and the Grafting API in other BitNodes. Each level of this
- Source-File also grants you a Duplicate Sleeve
+ This Source-File unlocks Sleeve and Grafting API in other BitNodes. Each level of this Source-File also grants
+ you a Sleeve.
>
),
);
@@ -204,23 +178,17 @@ export function initSourceFiles() {
This Source-File makes it so that company favor increases BOTH the player's salary and reputation gain rate at
that company by 1% per favor (rather than just the reputation gain). This Source-File also increases the
player's company salary and reputation gain multipliers by:
-
-
- Level 1: 32%
-
- Level 2: 48%
-
- Level 3: 56%
-
-
- It also reduces the price increase for every aug bought by:
-
-
- Level 1: 4%
-
- Level 2: 6%
-
- Level 3: 7%
+
+ - Level 1: 32%
+ - Level 2: 48%
+ - Level 3: 56%
+
+ It also reduces the price increase for every augmentation bought by:
+
+ - Level 1: 4%
+ - Level 2: 6%
+ - Level 3: 7%
+
>
),
);
@@ -230,29 +198,31 @@ export function initSourceFiles() {
);
SourceFiles.SourceFile13 = new SourceFile(
13,
- <>Each level of this Source-File increases the size of Stanek's Gift.>,
+ (
+ <>
+ This Source-File lets the {FactionName.ChurchOfTheMachineGod} appear in other BitNodes.
+
+
+ Each level of this Source-File increases the size of Stanek's Gift.
+ >
+ ),
);
SourceFiles.SourceFile14 = new SourceFile(
14,
(
<>
This Source-File grants the following benefits:
-
-
- Level 1: 100% increased stat multipliers from node Power
-
- Level 2: Permanently unlocks the go.cheat API in other BitNodes
-
- Level 3: 25% additive increased success rate for the go.cheat API
-
-
+
+ - Level 1: 100% increased stat multipliers from Node Power
+ - Level 2: Permanently unlocks the go.cheat API
+ - Level 3: 25% additive increased success rate for the go.cheat API
+
This Source-File also increases the maximum favor you can gain for each faction from IPvGO to:
-
- Level 1: 80
-
- Level 2: 100
-
- Level 3: 120
+
+ - Level 1: 80
+ - Level 2: 100
+ - Level 3: 120
+
>
),
);
diff --git a/src/ui/React/SourceFileAccordion.tsx b/src/ui/React/SourceFileAccordion.tsx
deleted file mode 100644
index 5006876ac..000000000
--- a/src/ui/React/SourceFileAccordion.tsx
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * React Component for displaying a single Source-File as an accordion.
- *
- * The header of the accordion contains the Source-Files's name and level,
- * and the accordion's panel contains the Source-File's description.
- */
-import React, { useState } from "react";
-
-import { SourceFile } from "../../SourceFile/SourceFile";
-
-import ListItemButton from "@mui/material/ListItemButton";
-import ListItemText from "@mui/material/ListItemText";
-import Box from "@mui/material/Box";
-import Typography from "@mui/material/Typography";
-import Paper from "@mui/material/Paper";
-import Collapse from "@mui/material/Collapse";
-import ExpandMore from "@mui/icons-material/ExpandMore";
-import ExpandLess from "@mui/icons-material/ExpandLess";
-
-interface IProps {
- level: number;
- sf: SourceFile;
-}
-
-export function SourceFileAccordion(props: IProps): React.ReactElement {
- const [open, setOpen] = useState(false);
- const maxLevel = props.sf.n === 12 ? "∞" : "3";
-
- return (
-
- setOpen((old) => !old)}>
-
- {props.sf.name}
-
- {`Level ${props.level} / ${maxLevel}`}
-
- }
- />
- {open ? : }
-
-
-
- {props.sf.info}
-
-
-
- );
-}