mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2026-05-19 06:02:06 +02:00
moved over to player stats
* added new augmentations
This commit is contained in:
@@ -9,6 +9,7 @@ import { numeralWrapper } from "../ui/numeralFormat";
|
||||
import { Money } from "../ui/React/Money";
|
||||
|
||||
import { Generic_fromJSON, Generic_toJSON, Reviver } from "../utils/JSONReviver";
|
||||
import { FactionNames } from "../Faction/data/FactionNames";
|
||||
|
||||
export interface IConstructorParams {
|
||||
info: string | JSX.Element;
|
||||
@@ -50,6 +51,12 @@ export interface IConstructorParams {
|
||||
bladeburner_stamina_gain_mult?: number;
|
||||
bladeburner_analysis_mult?: number;
|
||||
bladeburner_success_chance_mult?: number;
|
||||
infiltration_base_rep_increase?: number;
|
||||
infiltration_rep_mult?: number;
|
||||
infiltration_trade_mult?: number;
|
||||
infiltration_sell_mult?: number;
|
||||
infiltration_timer_mult?: number;
|
||||
infiltration_health_reduction_mult?: number;
|
||||
|
||||
startingMoney?: number;
|
||||
programs?: string[];
|
||||
@@ -338,6 +345,48 @@ function generateStatsDescription(mults: IMap<number>, programs?: string[], star
|
||||
<br />+{f(mults.bladeburner_success_chance_mult - 1)} Bladeburner Contracts and Operations success chance
|
||||
</>
|
||||
);
|
||||
if (mults.infiltration_base_rep_increase)
|
||||
desc = (
|
||||
<>
|
||||
{desc}
|
||||
<br />+{f(mults.infiltration_base_rep_increase)} Infiltration {FactionNames.Infiltrators} Reputation base reward
|
||||
</>
|
||||
);
|
||||
if (mults.infiltration_rep_mult)
|
||||
desc = (
|
||||
<>
|
||||
{desc}
|
||||
<br />+{f((mults.infiltration_rep_mult - 1) * 100)}% Infiltration {FactionNames.Infiltrators} Reputation reward
|
||||
</>
|
||||
);
|
||||
if (mults.infiltration_trade_mult)
|
||||
desc = (
|
||||
<>
|
||||
{desc}
|
||||
<br />+{f((mults.infiltration_trade_mult - 1) * 100)}% Infiltration Reputation for trading information
|
||||
</>
|
||||
);
|
||||
if (mults.infiltration_sell_mult)
|
||||
desc = (
|
||||
<>
|
||||
{desc}
|
||||
<br />+{f((mults.infiltration_sell_mult - 1) * 100)}% Infiltration cash reward for selling information
|
||||
</>
|
||||
);
|
||||
if (mults.infiltration_timer_mult)
|
||||
desc = (
|
||||
<>
|
||||
{desc}
|
||||
<br />+{f((mults.infiltration_timer_mult - 1) * 100)}% Infiltration time per minigame
|
||||
</>
|
||||
);
|
||||
if (mults.infiltration_health_reduction_mult)
|
||||
desc = (
|
||||
<>
|
||||
{desc}
|
||||
<br />-{f((mults.infiltration_health_reduction_mult - 1) * 100)}% Infiltration health lost per failed minigame
|
||||
</>
|
||||
);
|
||||
|
||||
if (startingMoney)
|
||||
desc = (
|
||||
@@ -395,7 +444,7 @@ export class Augmentation {
|
||||
startingCost = 0;
|
||||
|
||||
// Initial rep requirement. Doesn't change when you purchase multiple Augmentation
|
||||
startingRepRequirement = 0
|
||||
startingRepRequirement = 0;
|
||||
|
||||
// Factions that offer this aug.
|
||||
factions: string[] = [];
|
||||
@@ -517,6 +566,25 @@ export class Augmentation {
|
||||
this.mults.bladeburner_success_chance_mult = params.bladeburner_success_chance_mult;
|
||||
}
|
||||
|
||||
if (params.infiltration_base_rep_increase) {
|
||||
this.mults.infiltration_base_rep_increase = params.infiltration_base_rep_increase;
|
||||
}
|
||||
if (params.infiltration_rep_mult) {
|
||||
this.mults.infiltration_rep_mult = params.infiltration_rep_mult;
|
||||
}
|
||||
if (params.infiltration_trade_mult) {
|
||||
this.mults.infiltration_trade_mult = params.infiltration_trade_mult;
|
||||
}
|
||||
if (params.infiltration_sell_mult) {
|
||||
this.mults.infiltration_sell_mult = params.infiltration_sell_mult;
|
||||
}
|
||||
if (params.infiltration_timer_mult) {
|
||||
this.mults.infiltration_timer_mult = params.infiltration_timer_mult;
|
||||
}
|
||||
if (params.infiltration_health_reduction_mult) {
|
||||
this.mults.infiltration_health_reduction_mult = params.infiltration_health_reduction_mult;
|
||||
}
|
||||
|
||||
if (params.stats === undefined)
|
||||
this.stats = generateStatsDescription(this.mults, params.programs, params.startingMoney);
|
||||
else this.stats = params.stats;
|
||||
|
||||
@@ -5,6 +5,7 @@ import { Programs } from "../Programs/Programs";
|
||||
import { WHRNG } from "../Casino/RNG";
|
||||
import React from "react";
|
||||
import { FactionNames } from "../Faction/data/FactionNames";
|
||||
import { CityName } from "src/Locations/data/CityNames";
|
||||
|
||||
function getRandomBonus(): any {
|
||||
const bonuses = [
|
||||
@@ -99,23 +100,63 @@ export const infiltratorsOtherAugmentations = [
|
||||
name: AugmentationNames.BionicFingers,
|
||||
repCost: 15e1,
|
||||
moneyCost: 1e6,
|
||||
infiltration_base_rep_increase: 5,
|
||||
info:
|
||||
"This state of the art augmentation removes the need for bones and tendons in your fingers, " +
|
||||
"with this you will have the dexterity equal to the best rubik's cube player in the world. ",
|
||||
stats: <>This augmentation increases the rep reward to {FactionNames.Infiltrators} by 5 per infiltration.</>,
|
||||
factions: [FactionNames.Infiltrators],
|
||||
}),
|
||||
new Augmentation({
|
||||
name: AugmentationNames.CorporationManagementImplant,
|
||||
repCost: 25e1,
|
||||
moneyCost: 1e6,
|
||||
infiltration_rep_mult: 2.5,
|
||||
info:
|
||||
"As time went on corporations realized that managers were redundant if they could be replaced by AI chips " +
|
||||
"implanted directly in the brain, and so the this implant was developed which could analyse the users brain " +
|
||||
"to find the perfect tone and sounding voice to increase productivity of the user to maximum profits.",
|
||||
stats: (
|
||||
<>This augmentation multiplies the rep reward to {FactionNames.Infiltrators} by 2.5 per infiltration.</>
|
||||
),
|
||||
factions: [FactionNames.Infiltrators],
|
||||
}),
|
||||
new Augmentation({
|
||||
name: AugmentationNames.TranslationCircuit,
|
||||
repCost: 5e2,
|
||||
moneyCost: 1e6,
|
||||
infiltration_trade_mult: 1.5,
|
||||
info:
|
||||
"A state of the art circuit module that manipulates the users voice to suit the needs of the situation, " +
|
||||
"allowing the people listening to feel more persuaded by whats said due to the voice being auto translated " +
|
||||
"to the listeners accent and language.",
|
||||
factions: [FactionNames.Infiltrators],
|
||||
}),
|
||||
new Augmentation({
|
||||
name: AugmentationNames.GoldenSuiteCase,
|
||||
repCost: 5e2,
|
||||
moneyCost: 1e6,
|
||||
infiltration_sell_mult: 1.5,
|
||||
info:
|
||||
"Some say too much money is a curse, those people clearly have never owned a golden suitcase. it might be " +
|
||||
"a bit heavier but it sure does make anything inside it look a lot more valuable.",
|
||||
factions: [FactionNames.Infiltrators],
|
||||
}),
|
||||
new Augmentation({
|
||||
name: AugmentationNames.TimeDilationInjection,
|
||||
repCost: 5e2,
|
||||
moneyCost: 1e6,
|
||||
infiltration_timer_mult: 1.3,
|
||||
info:
|
||||
"Injected directly into the user eyes, as the serum seeps into the brain via the optic nerves perception " +
|
||||
"of time begins to slow down allowing you to take more time to do things than the average person",
|
||||
factions: [FactionNames.Infiltrators],
|
||||
}),
|
||||
new Augmentation({
|
||||
name: AugmentationNames.BitaniumArmorAlloy,
|
||||
repCost: 5e2,
|
||||
moneyCost: 1e6,
|
||||
infiltration_health_reduction_mult: 0.7,
|
||||
info:
|
||||
`Deep in the mines of ${CityName.Ishima} miners found a strange new material, now known as bitanium after ` +
|
||||
"many iterations of experimenting it was found to be exceptional at increasing ones amour at absorbing " +
|
||||
"blunt damage when used as an alloy with almost any other metal you can think of.",
|
||||
factions: [FactionNames.Infiltrators],
|
||||
}),
|
||||
];
|
||||
|
||||
@@ -113,6 +113,7 @@ export enum AugmentationNames {
|
||||
StaneksGift2 = "Stanek's Gift - Awakening",
|
||||
StaneksGift3 = "Stanek's Gift - Serenity",
|
||||
|
||||
// Infiltrators MiniGames
|
||||
BagOfSand = "A Bag of Sand",
|
||||
IntellisenseModule = "Intellisense Module",
|
||||
ReverseDictionary = "Reverse Dictionary",
|
||||
@@ -121,9 +122,13 @@ export enum AugmentationNames {
|
||||
CyberDecoder = "Cyber Decoder",
|
||||
MineDetector = "Mine Detector",
|
||||
WireCuttingManual = "Wire Cutting Manual",
|
||||
|
||||
// Infiltrators general
|
||||
BionicFingers = "Bionic Fingers",
|
||||
CorporationManagementImplant = "Corporation Management Implant",
|
||||
TranslationCircuit = "Translation Circuit",
|
||||
GoldenSuiteCase = "Golden Suite Case",
|
||||
TimeDilationInjection = "Time Dilation Injection",
|
||||
BitaniumArmorAlloy = "Bitanium Armor Alloy",
|
||||
|
||||
//Wasteland Augs
|
||||
//PepBoy: "P.E.P-Boy", Plasma Energy Projection System
|
||||
|
||||
@@ -115,6 +115,48 @@ export function PlayerMultipliers(): React.ReactElement {
|
||||
);
|
||||
}
|
||||
|
||||
function InfiltrationMults(): React.ReactElement {
|
||||
return (
|
||||
<>
|
||||
<MultiplierTable
|
||||
rows={[
|
||||
[
|
||||
"Infiltrator Rep reward multiplier",
|
||||
Player.infiltration_rep_mult,
|
||||
Player.infiltration_rep_mult * mults.infiltration_rep_mult,
|
||||
1,
|
||||
],
|
||||
[
|
||||
"Infiltration sell multiplier",
|
||||
Player.infiltration_sell_mult,
|
||||
Player.infiltration_sell_mult * mults.infiltration_sell_mult,
|
||||
1,
|
||||
],
|
||||
[
|
||||
"Infiltration trade multiplier",
|
||||
Player.infiltration_trade_mult,
|
||||
Player.infiltration_trade_mult * mults.infiltration_trade_mult,
|
||||
1,
|
||||
],
|
||||
[
|
||||
"Infiltration minigame timer multiplier",
|
||||
Player.infiltration_timer_mult,
|
||||
Player.infiltration_timer_mult * mults.infiltration_timer_mult,
|
||||
1,
|
||||
],
|
||||
[
|
||||
"Infiltration minigame health reduction multiplier",
|
||||
Player.infiltration_health_reduction_mult,
|
||||
Player.infiltration_health_reduction_mult * mults.infiltration_health_reduction_mult,
|
||||
1,
|
||||
],
|
||||
]}
|
||||
/>
|
||||
<br />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<Typography variant="h4">Multipliers</Typography>
|
||||
@@ -286,6 +328,7 @@ export function PlayerMultipliers(): React.ReactElement {
|
||||
<br />
|
||||
|
||||
<BladeburnerMults />
|
||||
<InfiltrationMults />
|
||||
</Box>
|
||||
</>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user