MISC: Update description of source files (#1461)

This commit is contained in:
catloversg 2024-07-06 04:17:06 +07:00 committed by GitHub
parent 6fb6d38bd9
commit 02f5c5b727
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 127 additions and 252 deletions

@ -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 (
<Box component={Paper}>
<ListItemButton onClick={() => setOpen((old) => !old)}>
<ListItemText
primary={
<Typography style={{ whiteSpace: "pre-wrap" }}>
Source-File -1: Exploits in the BitNodes
<br />
Level {exploits.length} / {Object.keys(Exploit).length}
</Typography>
}
/>
{open ? <ExpandLess color="primary" /> : <ExpandMore color="primary" />}
</ListItemButton>
<Collapse in={open} unmountOnExit>
<Box m={4}>
<Typography>
This Source-File can only be acquired with obscure knowledge of the game, javascript, and the web ecosystem.
</Typography>
<Typography>It increases all of the player's multipliers by 0.1%</Typography>
<br />
<Typography>You have found the following exploits:</Typography>
<Box mx={2}>
{exploits.map((c) => (
<Typography key={c}>* {ExploitName(c)}</Typography>
))}
</Box>
</Box>
</Collapse>
</Box>
);
}

@ -135,7 +135,7 @@ export function SourceFilesElement(): React.ReactElement {
<Typography variant="h6" sx={{ display: "flex", alignItems: "center", flexWrap: "wrap" }}>
{safeGetSf(selectedSf.n)?.name}
</Typography>
<Typography sx={{ maxHeight: 350, overflowY: "scroll" }}>
<Typography component="div" sx={{ maxHeight: 350, overflowY: "scroll" }}>
{(() => {
const sfObj = safeGetSf(selectedSf.n);
if (!sfObj) return;

@ -156,14 +156,23 @@ export function initBitNodes() {
<br />
<br />
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.
<br />
<br />
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:
<ul>
<li>
<code>getBitNodeMultipliers()</code> Netscript function
</li>
<li>Permanent access to Formulas.exe</li>
<li>
Access to BitNode multiplier information on the <b>Stats</b> page
</li>
</ul>
It will also raise all of your hacking-related multipliers by:
<ul>
<li>Level 1: 8%</li>
<li>Level 2: 12%</li>

@ -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%

@ -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<string, SourceFile> = {};
/** 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:
<br />
<br />
Level 1: 16%
<br />
Level 2: 24%
<br />
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:
<ul>
<li>Level 1: 16%</li>
<li>Level 2: 24%</li>
<li>Level 3: 28%</li>
</ul>
</>
),
);
@ -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:
<br />
<br />
Level 1: 24%
<br />
Level 2: 36%
<br />
Level 3: 42%
also increases your crime success rate, crime money, and charisma multipliers by:
<ul>
<li>Level 1: 24%</li>
<li>Level 2: 36%</li>
<li>Level 3: 42%</li>
</ul>
</>
),
);
@ -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:
<br />
Level 1: 8%
<br />
Level 2: 12%
<br />
Level 3: 14%
<ul>
<li>Level 1: 8%</li>
<li>Level 2: 12%</li>
<li>Level 3: 14%</li>
</ul>
</>
),
);
@ -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:
<br />
Level 1: 16x
<br />
Level 2: 4x
<br />
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:
<ul>
<li>Level 1: 16x</li>
<li>Level 2: 4x</li>
<li>Level 3: 1x</li>
</ul>
</>
),
);
@ -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.
<br />
<br />
In addition, this Source-File will unlock:
<ul>
<li>
<span>
The <code>getBitNodeMultipliers()</code> Netscript function
</span>
<code>getBitNodeMultipliers()</code> Netscript function
</li>
<li>Permanent access to Formulas.exe</li>
<li>
<span>Permanent access to Formulas.exe</span>
</li>
<li>
<span>
Access to BitNode multiplier information on the <b>Stats</b> page
</span>
Access to BitNode multiplier information on the <b>Stats</b> page
</li>
</ul>
It will also raise all of your hacking-related multipliers by:
<br />
<br />
Level 1: 8%
<br />
Level 2: 12%
<br />
Level 3: 14%
<ul>
<li>Level 1: 8%</li>
<li>Level 2: 12%</li>
<li>Level 3: 14%</li>
</ul>
</>
),
);
@ -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:
<br />
<br />
Level 1: 8%
<br />
Level 2: 12%
<br />
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:
<ul>
<li>Level 1: 8%</li>
<li>Level 2: 12%</li>
<li>Level 3: 14%</li>
</ul>
</>
),
);
@ -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:
<br />
<br />
Level 1: 8%
<br />
Level 2: 12%
<br />
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:
<ul>
<li>Level 1: 8%</li>
<li>Level 2: 12%</li>
<li>Level 3: 14%</li>
</ul>
</>
),
);
@ -141,22 +125,17 @@ export function initSourceFiles() {
(
<>
This Source-File grants the following benefits:
<br />
<br />
Level 1: Permanent access to WSE and TIX API
<br />
Level 2: Ability to short stocks in other BitNodes
<br />
Level 3: Ability to use limit/stop orders in other BitNodes
<br />
<br />
<ul>
<li>Level 1: Permanent access to WSE and TIX API</li>
<li>Level 2: Ability to short stocks in other BitNodes</li>
<li>Level 3: Ability to use limit/stop orders in other BitNodes</li>
</ul>
This Source-File also increases your hacking growth multipliers by:
<br />
Level 1: 12%
<br />
Level 2: 18%
<br />
Level 3: 21%
<ul>
<li>Level 1: 12%</li>
<li>Level 2: 18%</li>
<li>Level 3: 21%</li>
</ul>
</>
),
);
@ -165,26 +144,21 @@ export function initSourceFiles() {
(
<>
This Source-File grants the following benefits:
<br />
<br />
Level 1: Permanently unlocks the Hacknet Server in other BitNodes
<br />
Level 2: You start with 128GB of RAM on your home computer when entering a new BitNode
<br />
Level 3: Grants a highly-upgraded Hacknet Server when entering a new BitNode
<br />
<br />
<ul>
<li>Level 1: Permanently unlocks the Hacknet Server in other BitNodes</li>
<li>Level 2: You start with 128GB of RAM on your home computer when entering a new BitNode</li>
<li>Level 3: Grants a highly-upgraded Hacknet Server when entering a new BitNode</li>
</ul>
(Note that the Level 3 effect of this Source-File only applies when entering a new BitNode, NOT when installing
Augmentations)
augmentations)
<br />
<br />
This Source-File also increases hacknet production and reduces hacknet costs by:
<br />
Level 1: 12%
<br />
Level 2: 18%
<br />
Level 3: 21%
<ul>
<li>Level 1: 12%</li>
<li>Level 2: 18%</li>
<li>Level 3: 21%</li>
</ul>
</>
),
);
@ -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:
<br />
<br />
Level 1: 32%
<br />
Level 2: 48%
<br />
Level 3: 56%
<br />
<br />
It also reduces the price increase for every aug bought by:
<br />
<br />
Level 1: 4%
<br />
Level 2: 6%
<br />
Level 3: 7%
<ul>
<li>Level 1: 32%</li>
<li>Level 2: 48%</li>
<li>Level 3: 56%</li>
</ul>
It also reduces the price increase for every augmentation bought by:
<ul>
<li>Level 1: 4%</li>
<li>Level 2: 6%</li>
<li>Level 3: 7%</li>
</ul>
</>
),
);
@ -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.
<br />
<br />
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:
<br />
<br />
Level 1: 100% increased stat multipliers from node Power
<br />
Level 2: Permanently unlocks the go.cheat API in other BitNodes
<br />
Level 3: 25% additive increased success rate for the go.cheat API
<br />
<br />
<ul>
<li>Level 1: 100% increased stat multipliers from Node Power</li>
<li>Level 2: Permanently unlocks the go.cheat API</li>
<li>Level 3: 25% additive increased success rate for the go.cheat API</li>
</ul>
This Source-File also increases the maximum favor you can gain for each faction from IPvGO to:
<br />
Level 1: 80
<br />
Level 2: 100
<br />
Level 3: 120
<ul>
<li>Level 1: 80</li>
<li>Level 2: 100</li>
<li>Level 3: 120</li>
</ul>
</>
),
);

@ -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 (
<Box component={Paper}>
<ListItemButton onClick={() => setOpen((old) => !old)}>
<ListItemText
primary={
<Typography style={{ whiteSpace: "pre-wrap" }}>
{props.sf.name}
<br />
{`Level ${props.level} / ${maxLevel}`}
</Typography>
}
/>
{open ? <ExpandLess color="primary" /> : <ExpandMore color="primary" />}
</ListItemButton>
<Collapse in={open} unmountOnExit>
<Box m={4}>
<Typography>{props.sf.info}</Typography>
</Box>
</Collapse>
</Box>
);
}