DARKNET: Darkweb Expansion Project & Bitnode (#2139)

This is BN15. It is a really big change; see the PR for all the details.
This commit is contained in:
Michael Ficocelli
2026-02-03 06:40:36 -05:00
committed by GitHub
parent a674633f6c
commit 6073964768
225 changed files with 15010 additions and 526 deletions
+83 -2
View File
@@ -1,6 +1,6 @@
import React from "react";
import { Player } from "@player";
import { AugmentationName, CityName, FactionName } from "@enums";
import { AugmentationName, CityName, CompletedProgramName, FactionName } from "@enums";
import { BitNodeMultipliers, replaceCurrentNodeMults } from "./BitNodeMultipliers";
class BitNode {
@@ -194,7 +194,7 @@ export function initBitNodes() {
<li>
<code>getBitNodeMultipliers()</code> Netscript function
</li>
<li>Permanent access to Formulas.exe</li>
<li>Permanent access to {CompletedProgramName.formulas}</li>
<li>
Access to BitNode multiplier information on the <b>Stats</b> page
</li>
@@ -516,6 +516,49 @@ export function initBitNodes() {
</>
),
);
BitNodes.BitNode15 = new BitNode(
15,
"The Secrets of the Dark Net",
"The rules have changed",
(
<>
<br />
Delving into the uncharted and secretive parts of the internet comes with the promise of freedom from oppressive
authority and surveillance. Leaving stability behind and turning to the dark web comes with risks... but also
rewards.
<br />
<br />
Unlike the traditional network of servers, the "dark" net is a constantly shifting, complex, unreliable place
where servers can move or disappear at any moment. Long-distance communication is often impossible, requiring
scripts to be self-sufficient and durable, and spread themselves to stay alive. If you can take advantage of the
darknet servers' weak passwords and leaky logs, you will be able to gain access to the deepest parts of the
darknet and its secrets.
<br />
<br />
In this Bitnode, the Daedalus faction has not yet found and monopolized the fabled Red Pill augmentation.
Legends say it can be found somewhere, out there in the dark...
<br />
<br />
Destroying this BitNode will give you Source-File 15, or if you already have this Source-File, it will upgrade
its level up to a maximum of 3.
</>
),
(
<>
This Source-File grants the following benefits:
<ul>
<li>Level 1: Permanently start with the TOR router and {CompletedProgramName.darkscape}</li>
<li>
Level 2: Your charisma level increases job salary and rep gain. Also increases authentication speed by 20%
</li>
<li>
Level 3: Your charisma level increases faction work rep gain. Also increases the xp and money gained from
.cache files by 50%.
</li>
</ul>
</>
),
);
}
export const defaultMultipliers = new BitNodeMultipliers();
@@ -737,6 +780,9 @@ export function getBitNodeMultipliers(n: number, lvl: number): BitNodeMultiplier
BladeburnerRank: 0,
DarknetLabyrinthRewardsTheRedPill: 0,
DarknetMoneyMultiplier: 0,
GangSoftcap: 0,
GangUniqueAugs: 0,
@@ -1024,6 +1070,41 @@ export function getBitNodeMultipliers(n: number, lvl: number): BitNodeMultiplier
WorldDaemonDifficulty: 5,
});
}
case 15: {
return new BitNodeMultipliers({
HackingLevelMultiplier: 0.6,
HackingSpeedMultiplier: 0.6,
StrengthLevelMultiplier: 0.7,
DefenseLevelMultiplier: 0.7,
DexterityLevelMultiplier: 0.7,
AgilityLevelMultiplier: 0.7,
CharismaLevelMultiplier: 1.1,
ServerMaxMoney: 0.8,
ServerStartingMoney: 0.5,
ServerStartingSecurity: 1.5,
AugmentationMoneyCost: 3,
CorporationValuation: 0.2,
CorporationSoftcap: 0.4,
CorporationDivisions: 0.4,
DaedalusAugsRequirement: 20,
BladeburnerRank: 0.2,
BladeburnerSkillCost: 3,
GangUniqueAugs: 0.3,
StaneksGiftPowerMultiplier: 0.7,
StaneksGiftExtraSize: -2,
WorldDaemonDifficulty: 2,
});
}
default: {
throw new Error("Invalid BitNodeN");
}
+6
View File
@@ -60,6 +60,12 @@ export class BitNodeMultipliers {
/** Influences how many Augmentations you need in order to get invited to the Daedalus faction */
DaedalusAugsRequirement = 30;
/** If true, TRP can be found in the fourth lab deep in the darknet. */
DarknetLabyrinthRewardsTheRedPill = 1;
/** Influences how much money the player gains from darknet mechanics (phishing and reward caches). */
DarknetMoneyMultiplier = 1;
/** Influences how quickly the player's defense level (not exp) scales */
DefenseLevelMultiplier = 1;
+1 -1
View File
@@ -1 +1 @@
export const validBitNodes = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14];
export const validBitNodes = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];
+1 -1
View File
@@ -245,7 +245,7 @@ export function BitverseRoot(props: IProps): React.ReactElement {
<BitVerseMapRow> O </BitVerseMapRow>
<BitVerseMapRow> | O O | O O | </BitVerseMapRow>
<BitVerseMapRow> O | | / __| \ | | O </BitVerseMapRow>
<BitVerseMapRow> O | O | | O / | O | | O | O </BitVerseMapRow>
<BitVerseMapRow> O | O | | <BitNodePortal n={15} level={n(15)} flume={props.flume} destroyedBitNode={destroyed} /> / | O | | O | O </BitVerseMapRow>
<BitVerseMapRow> | | | | |_/ |/ | \_ \_| | | | | </BitVerseMapRow>
<BitVerseMapRow> O | | | <BitNodePortal n={14} level={n(14)} flume={props.flume} destroyedBitNode={destroyed} /> | | O__/ | / \__ | | O | | | O </BitVerseMapRow>
<BitVerseMapRow> | | | | | | | / /| O / \| | | | | | | </BitVerseMapRow>