added two additonal augmentations

* refactored augmentation names to enum
This commit is contained in:
phyzical 2022-03-24 21:19:49 +08:00
parent 80edb744bf
commit e8fffc6183
5 changed files with 189 additions and 262 deletions

@ -94,7 +94,33 @@ function getRandomBonus(): any {
return bonuses[Math.floor(bonuses.length * randomNumber.random())]; return bonuses[Math.floor(bonuses.length * randomNumber.random())];
} }
export const infiltratorsAugmentations = [ export const infiltratorsOtherAugmentations = [
new Augmentation({
name: AugmentationNames.BionicFingers,
repCost: 15e1,
moneyCost: 1e6,
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,
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],
}),
];
export const infiltratorsMiniGameAugmentations = [
new Augmentation({ new Augmentation({
name: AugmentationNames.BagOfSand, name: AugmentationNames.BagOfSand,
repCost: 1e2, repCost: 1e2,

@ -17,7 +17,8 @@ import {
churchOfTheMachineGodAugmentations, churchOfTheMachineGodAugmentations,
generalAugmentations, generalAugmentations,
getNextNeuroFluxLevel, getNextNeuroFluxLevel,
infiltratorsAugmentations, infiltratorsMiniGameAugmentations,
infiltratorsOtherAugmentations,
initNeuroFluxGovernor, initNeuroFluxGovernor,
initUnstableCircadianModulator, initUnstableCircadianModulator,
} from "./AugmentationCreator"; } from "./AugmentationCreator";
@ -33,7 +34,8 @@ function createAugmentations(): void {
initNeuroFluxGovernor(), initNeuroFluxGovernor(),
initUnstableCircadianModulator(), initUnstableCircadianModulator(),
...generalAugmentations, ...generalAugmentations,
...infiltratorsAugmentations, ...infiltratorsMiniGameAugmentations,
...infiltratorsOtherAugmentations,
...(factionExists(FactionNames.Bladeburners) ? bladeburnerAugmentations : []), ...(factionExists(FactionNames.Bladeburners) ? bladeburnerAugmentations : []),
...(factionExists(FactionNames.ChurchOfTheMachineGod) ? churchOfTheMachineGodAugmentations : []), ...(factionExists(FactionNames.ChurchOfTheMachineGod) ? churchOfTheMachineGodAugmentations : []),
].map(resetAugmentation); ].map(resetAugmentation);
@ -62,25 +64,35 @@ export function getGenericAugmentationPriceMultiplier(): number {
return Math.pow(getBaseAugmentationPriceMultiplier(), Player.queuedAugmentations.length); return Math.pow(getBaseAugmentationPriceMultiplier(), Player.queuedAugmentations.length);
} }
function updateNeuroFluxGovernorCosts(neuroFluxGovernorAugmentation: Augmentation): void {
let nextLevel = getNextNeuroFluxLevel();
--nextLevel;
const multiplier = Math.pow(CONSTANTS.NeuroFluxGovernorLevelMult, nextLevel);
neuroFluxGovernorAugmentation.baseRepRequirement *= multiplier * BitNodeMultipliers.AugmentationRepCost;
neuroFluxGovernorAugmentation.baseCost *= multiplier * BitNodeMultipliers.AugmentationMoneyCost;
for (let i = 0; i < Player.queuedAugmentations.length - 1; ++i) {
neuroFluxGovernorAugmentation.baseCost *= getBaseAugmentationPriceMultiplier();
}
}
function updateInfiltratorCosts(infiltratorAugmentation: Augmentation): void {
const infiltratorMultiplier =
infiltratorsMiniGameAugmentations.filter((augmentation) => Player.hasAugmentation(augmentation.name)).length + 1;
infiltratorAugmentation.baseCost = Math.pow(infiltratorAugmentation.baseCost * 1000, infiltratorMultiplier);
if (infiltratorsMiniGameAugmentations.find((augmentation) => augmentation.name === infiltratorAugmentation.name)) {
infiltratorAugmentation.baseRepRequirement *= infiltratorMultiplier;
}
}
export function updateAugmentationCosts(): void { export function updateAugmentationCosts(): void {
for (const name of Object.keys(Augmentations)) { for (const name of Object.keys(Augmentations)) {
if (Augmentations.hasOwnProperty(name)) { if (Augmentations.hasOwnProperty(name)) {
const augmentationToUpdate = Augmentations[name]; const augmentationToUpdate = Augmentations[name];
if (augmentationToUpdate.name === AugmentationNames.NeuroFluxGovernor) { if (augmentationToUpdate.name === AugmentationNames.NeuroFluxGovernor) {
let nextLevel = getNextNeuroFluxLevel(); updateNeuroFluxGovernorCosts(augmentationToUpdate);
--nextLevel;
const multiplier = Math.pow(CONSTANTS.NeuroFluxGovernorLevelMult, nextLevel);
augmentationToUpdate.baseRepRequirement *= multiplier * BitNodeMultipliers.AugmentationRepCost;
augmentationToUpdate.baseCost *= multiplier * BitNodeMultipliers.AugmentationMoneyCost;
for (let i = 0; i < Player.queuedAugmentations.length - 1; ++i) {
augmentationToUpdate.baseCost *= getBaseAugmentationPriceMultiplier();
}
} else if (augmentationToUpdate.factions.includes(FactionNames.Infiltrators)) { } else if (augmentationToUpdate.factions.includes(FactionNames.Infiltrators)) {
const infiltratorMultiplier = updateInfiltratorCosts(augmentationToUpdate);
infiltratorsAugmentations.filter((augmentation) => Player.hasAugmentation(augmentation.name)).length + 1;
augmentationToUpdate.baseCost = Math.pow(augmentationToUpdate.baseCost * 1000, infiltratorMultiplier);
augmentationToUpdate.baseRepRequirement *= infiltratorMultiplier;
} else { } else {
augmentationToUpdate.baseCost *= getGenericAugmentationPriceMultiplier(); augmentationToUpdate.baseCost *= getGenericAugmentationPriceMultiplier();
} }

@ -1,251 +1,133 @@
export const AugmentationNames: { export enum AugmentationNames {
Targeting1: string; Targeting1 = "Augmented Targeting I",
Targeting2: string; Targeting2 = "Augmented Targeting II",
Targeting3: string; Targeting3 = "Augmented Targeting III",
SyntheticHeart: string; SyntheticHeart = "Synthetic Heart",
SynfibrilMuscle: string; SynfibrilMuscle = "Synfibril Muscle",
CombatRib1: string; CombatRib1 = "Combat Rib I",
CombatRib2: string; CombatRib2 = "Combat Rib II",
CombatRib3: string; CombatRib3 = "Combat Rib III",
NanofiberWeave: string; NanofiberWeave = "Nanofiber Weave",
SubdermalArmor: string; SubdermalArmor = "NEMEAN Subdermal Weave",
WiredReflexes: string; WiredReflexes = "Wired Reflexes",
GrapheneBoneLacings: string; GrapheneBoneLacings = "Graphene Bone Lacings",
BionicSpine: string; BionicSpine = "Bionic Spine",
GrapheneBionicSpine: string; GrapheneBionicSpine = "Graphene Bionic Spine Upgrade",
BionicLegs: string; BionicLegs = "Bionic Legs",
GrapheneBionicLegs: string; GrapheneBionicLegs = "Graphene Bionic Legs Upgrade",
SpeechProcessor: string; SpeechProcessor = "Speech Processor Implant",
TITN41Injection: string; TITN41Injection = "TITN-41 Gene-Modification Injection",
EnhancedSocialInteractionImplant: string; EnhancedSocialInteractionImplant = "Enhanced Social Interaction Implant",
BitWire: string; BitWire = "BitWire",
ArtificialBioNeuralNetwork: string; ArtificialBioNeuralNetwork = "Artificial Bio-neural Network Implant",
ArtificialSynapticPotentiation: string; ArtificialSynapticPotentiation = "Artificial Synaptic Potentiation",
EnhancedMyelinSheathing: string; EnhancedMyelinSheathing = "Enhanced Myelin Sheathing",
SynapticEnhancement: string; SynapticEnhancement = "Synaptic Enhancement Implant",
NeuralRetentionEnhancement: string; NeuralRetentionEnhancement = "Neural-Retention Enhancement",
DataJack: string; DataJack = "DataJack",
ENM: string; ENM = "Embedded Netburner Module",
ENMCore: string; ENMCore = "Embedded Netburner Module Core Implant",
ENMCoreV2: string; ENMCoreV2 = "Embedded Netburner Module Core V2 Upgrade",
ENMCoreV3: string; ENMCoreV3 = "Embedded Netburner Module Core V3 Upgrade",
ENMAnalyzeEngine: string; ENMAnalyzeEngine = "Embedded Netburner Module Analyze Engine",
ENMDMA: string; ENMDMA = "Embedded Netburner Module Direct Memory Access Upgrade",
Neuralstimulator: string; Neuralstimulator = "Neuralstimulator",
NeuralAccelerator: string; NeuralAccelerator = "Neural Accelerator",
CranialSignalProcessorsG1: string; CranialSignalProcessorsG1 = "Cranial Signal Processors - Gen I",
CranialSignalProcessorsG2: string; CranialSignalProcessorsG2 = "Cranial Signal Processors - Gen II",
CranialSignalProcessorsG3: string; CranialSignalProcessorsG3 = "Cranial Signal Processors - Gen III",
CranialSignalProcessorsG4: string; CranialSignalProcessorsG4 = "Cranial Signal Processors - Gen IV",
CranialSignalProcessorsG5: string; CranialSignalProcessorsG5 = "Cranial Signal Processors - Gen V",
NeuronalDensification: string; NeuronalDensification = "Neuronal Densification",
NeuroreceptorManager: string; NeuroreceptorManager = "Neuroreceptor Management Implant",
NuoptimalInjectorImplant: string; NuoptimalInjectorImplant = "Nuoptimal Nootropic Injector Implant",
SpeechEnhancement: string; SpeechEnhancement = "Speech Enhancement",
FocusWire: string; FocusWire = "FocusWire",
PCDNI: string; PCDNI = "PC Direct-Neural Interface",
PCDNIOptimizer: string; PCDNIOptimizer = "PC Direct-Neural Interface Optimization Submodule",
PCDNINeuralNetwork: string; PCDNINeuralNetwork = "PC Direct-Neural Interface NeuroNet Injector",
PCMatrix: string; PCMatrix = "PCMatrix",
ADRPheromone1: string; ADRPheromone1 = "ADR-V1 Pheromone Gene",
ADRPheromone2: string; ADRPheromone2 = "ADR-V2 Pheromone Gene",
ShadowsSimulacrum: string; ShadowsSimulacrum = "The Shadow's Simulacrum",
HacknetNodeCPUUpload: string; HacknetNodeCPUUpload = "Hacknet Node CPU Architecture Neural-Upload",
HacknetNodeCacheUpload: string; HacknetNodeCacheUpload = "Hacknet Node Cache Architecture Neural-Upload",
HacknetNodeNICUpload: string; HacknetNodeNICUpload = "Hacknet Node NIC Architecture Neural-Upload",
HacknetNodeKernelDNI: string; HacknetNodeKernelDNI = "Hacknet Node Kernel Direct-Neural Interface",
HacknetNodeCoreDNI: string; HacknetNodeCoreDNI = "Hacknet Node Core Direct-Neural Interface",
NeuroFluxGovernor: string; NeuroFluxGovernor = "NeuroFlux Governor",
Neurotrainer1: string; Neurotrainer1 = "Neurotrainer I",
Neurotrainer2: string; Neurotrainer2 = "Neurotrainer II",
Neurotrainer3: string; Neurotrainer3 = "Neurotrainer III",
Hypersight: string; Hypersight = "HyperSight Corneal Implant",
LuminCloaking1: string; LuminCloaking1 = "LuminCloaking-V1 Skin Implant",
LuminCloaking2: string; LuminCloaking2 = "LuminCloaking-V2 Skin Implant",
HemoRecirculator: string; HemoRecirculator = "HemoRecirculator",
SmartSonar: string; SmartSonar = "SmartSonar Implant",
PowerRecirculator: string; PowerRecirculator = "Power Recirculation Core",
QLink: string; QLink = "QLink",
TheRedPill: string; TheRedPill = "The Red Pill",
SPTN97: string; SPTN97 = "SPTN-97 Gene Modification",
HiveMind: string; HiveMind = "ECorp HVMind Implant",
CordiARCReactor: string; CordiARCReactor = "CordiARC Fusion Reactor",
SmartJaw: string; SmartJaw = "SmartJaw",
Neotra: string; Neotra = "Neotra",
Xanipher: string; Xanipher = "Xanipher",
nextSENS: string; nextSENS = "nextSENS Gene Modification",
OmniTekInfoLoad: string; OmniTekInfoLoad = "OmniTek InfoLoad",
PhotosyntheticCells: string; PhotosyntheticCells = "Photosynthetic Cells",
Neurolink: string; Neurolink = "BitRunners Neurolink",
TheBlackHand: string; TheBlackHand = "The Black Hand",
UnstableCircadianModulator: string; UnstableCircadianModulator = "Unstable Circadian Modulator",
CRTX42AA: string; CRTX42AA = "CRTX42-AA Gene Modification",
Neuregen: string; Neuregen = "Neuregen Gene Modification",
CashRoot: string; CashRoot = "CashRoot Starter Kit",
NutriGen: string; NutriGen = "NutriGen Implant",
INFRARet: string; INFRARet = "INFRARET Enhancement",
DermaForce: string; DermaForce = "DermaForce Particle Barrier",
GrapheneBrachiBlades: string; GrapheneBrachiBlades = "Graphene BrachiBlades Upgrade",
GrapheneBionicArms: string; GrapheneBionicArms = "Graphene Bionic Arms Upgrade",
BrachiBlades: string; BrachiBlades = "BrachiBlades",
BionicArms: string; BionicArms = "Bionic Arms",
SNA: string; SNA = "Social Negotiation Assistant (S.N.A)",
HydroflameLeftArm: string; HydroflameLeftArm = "Hydroflame Left Arm",
EsperEyewear: string; EsperEyewear = "EsperTech Bladeburner Eyewear",
EMS4Recombination: string; EMS4Recombination = "EMS-4 Recombination",
OrionShoulder: string; OrionShoulder = "ORION-MKIV Shoulder",
HyperionV1: string; HyperionV1 = "Hyperion Plasma Cannon V1",
HyperionV2: string; HyperionV2 = "Hyperion Plasma Cannon V2",
GolemSerum: string; GolemSerum = "GOLEM Serum",
VangelisVirus: string; VangelisVirus = "Vangelis Virus",
VangelisVirus3: string; VangelisVirus3 = "Vangelis Virus 3.0",
INTERLINKED: string; INTERLINKED = "I.N.T.E.R.L.I.N.K.E.D",
BladeRunner: string; BladeRunner = "Blade's Runners",
BladeArmor: string; BladeArmor = "BLADE-51b Tesla Armor",
BladeArmorPowerCells: string; BladeArmorPowerCells = "BLADE-51b Tesla Armor: Power Cells Upgrade",
BladeArmorEnergyShielding: string; BladeArmorEnergyShielding = "BLADE-51b Tesla Armor: Energy Shielding Upgrade",
BladeArmorUnibeam: string; BladeArmorUnibeam = "BLADE-51b Tesla Armor: Unibeam Upgrade",
BladeArmorOmnibeam: string; BladeArmorOmnibeam = "BLADE-51b Tesla Armor: Omnibeam Upgrade",
BladeArmorIPU: string; BladeArmorIPU = "BLADE-51b Tesla Armor: IPU Upgrade",
BladesSimulacrum: string; BladesSimulacrum = "The Blade's Simulacrum",
StaneksGift1: string;
StaneksGift2: string;
StaneksGift3: string;
BagOfSand: string;
IntellisenseModule: string;
ReverseDictionary: string;
AmuletOfPersuasion: string;
LameSharkRepository: string;
CyberDecoder: string;
MineDetector: string;
WireCuttingManual: string;
} = {
Targeting1: "Augmented Targeting I",
Targeting2: "Augmented Targeting II",
Targeting3: "Augmented Targeting III",
SyntheticHeart: "Synthetic Heart",
SynfibrilMuscle: "Synfibril Muscle",
CombatRib1: "Combat Rib I",
CombatRib2: "Combat Rib II",
CombatRib3: "Combat Rib III",
NanofiberWeave: "Nanofiber Weave",
SubdermalArmor: "NEMEAN Subdermal Weave",
WiredReflexes: "Wired Reflexes",
GrapheneBoneLacings: "Graphene Bone Lacings",
BionicSpine: "Bionic Spine",
GrapheneBionicSpine: "Graphene Bionic Spine Upgrade",
BionicLegs: "Bionic Legs",
GrapheneBionicLegs: "Graphene Bionic Legs Upgrade",
SpeechProcessor: "Speech Processor Implant",
TITN41Injection: "TITN-41 Gene-Modification Injection",
EnhancedSocialInteractionImplant: "Enhanced Social Interaction Implant",
BitWire: "BitWire",
ArtificialBioNeuralNetwork: "Artificial Bio-neural Network Implant",
ArtificialSynapticPotentiation: "Artificial Synaptic Potentiation",
EnhancedMyelinSheathing: "Enhanced Myelin Sheathing",
SynapticEnhancement: "Synaptic Enhancement Implant",
NeuralRetentionEnhancement: "Neural-Retention Enhancement",
DataJack: "DataJack",
ENM: "Embedded Netburner Module",
ENMCore: "Embedded Netburner Module Core Implant",
ENMCoreV2: "Embedded Netburner Module Core V2 Upgrade",
ENMCoreV3: "Embedded Netburner Module Core V3 Upgrade",
ENMAnalyzeEngine: "Embedded Netburner Module Analyze Engine",
ENMDMA: "Embedded Netburner Module Direct Memory Access Upgrade",
Neuralstimulator: "Neuralstimulator",
NeuralAccelerator: "Neural Accelerator",
CranialSignalProcessorsG1: "Cranial Signal Processors - Gen I",
CranialSignalProcessorsG2: "Cranial Signal Processors - Gen II",
CranialSignalProcessorsG3: "Cranial Signal Processors - Gen III",
CranialSignalProcessorsG4: "Cranial Signal Processors - Gen IV",
CranialSignalProcessorsG5: "Cranial Signal Processors - Gen V",
NeuronalDensification: "Neuronal Densification",
NeuroreceptorManager: "Neuroreceptor Management Implant",
NuoptimalInjectorImplant: "Nuoptimal Nootropic Injector Implant",
SpeechEnhancement: "Speech Enhancement",
FocusWire: "FocusWire",
PCDNI: "PC Direct-Neural Interface",
PCDNIOptimizer: "PC Direct-Neural Interface Optimization Submodule",
PCDNINeuralNetwork: "PC Direct-Neural Interface NeuroNet Injector",
PCMatrix: "PCMatrix",
ADRPheromone1: "ADR-V1 Pheromone Gene",
ADRPheromone2: "ADR-V2 Pheromone Gene",
ShadowsSimulacrum: "The Shadow's Simulacrum",
HacknetNodeCPUUpload: "Hacknet Node CPU Architecture Neural-Upload",
HacknetNodeCacheUpload: "Hacknet Node Cache Architecture Neural-Upload",
HacknetNodeNICUpload: "Hacknet Node NIC Architecture Neural-Upload",
HacknetNodeKernelDNI: "Hacknet Node Kernel Direct-Neural Interface",
HacknetNodeCoreDNI: "Hacknet Node Core Direct-Neural Interface",
NeuroFluxGovernor: "NeuroFlux Governor",
Neurotrainer1: "Neurotrainer I",
Neurotrainer2: "Neurotrainer II",
Neurotrainer3: "Neurotrainer III",
Hypersight: "HyperSight Corneal Implant",
LuminCloaking1: "LuminCloaking-V1 Skin Implant",
LuminCloaking2: "LuminCloaking-V2 Skin Implant",
HemoRecirculator: "HemoRecirculator",
SmartSonar: "SmartSonar Implant",
PowerRecirculator: "Power Recirculation Core",
QLink: "QLink",
TheRedPill: "The Red Pill",
SPTN97: "SPTN-97 Gene Modification",
HiveMind: "ECorp HVMind Implant",
CordiARCReactor: "CordiARC Fusion Reactor",
SmartJaw: "SmartJaw",
Neotra: "Neotra",
Xanipher: "Xanipher",
nextSENS: "nextSENS Gene Modification",
OmniTekInfoLoad: "OmniTek InfoLoad",
PhotosyntheticCells: "Photosynthetic Cells",
Neurolink: "BitRunners Neurolink",
TheBlackHand: "The Black Hand",
UnstableCircadianModulator: "Unstable Circadian Modulator",
CRTX42AA: "CRTX42-AA Gene Modification",
Neuregen: "Neuregen Gene Modification",
CashRoot: "CashRoot Starter Kit",
NutriGen: "NutriGen Implant",
INFRARet: "INFRARET Enhancement",
DermaForce: "DermaForce Particle Barrier",
GrapheneBrachiBlades: "Graphene BrachiBlades Upgrade",
GrapheneBionicArms: "Graphene Bionic Arms Upgrade",
BrachiBlades: "BrachiBlades",
BionicArms: "Bionic Arms",
SNA: "Social Negotiation Assistant (S.N.A)",
HydroflameLeftArm: "Hydroflame Left Arm",
EsperEyewear: "EsperTech Bladeburner Eyewear",
EMS4Recombination: "EMS-4 Recombination",
OrionShoulder: "ORION-MKIV Shoulder",
HyperionV1: "Hyperion Plasma Cannon V1",
HyperionV2: "Hyperion Plasma Cannon V2",
GolemSerum: "GOLEM Serum",
VangelisVirus: "Vangelis Virus",
VangelisVirus3: "Vangelis Virus 3.0",
INTERLINKED: "I.N.T.E.R.L.I.N.K.E.D",
BladeRunner: "Blade's Runners",
BladeArmor: "BLADE-51b Tesla Armor",
BladeArmorPowerCells: "BLADE-51b Tesla Armor: Power Cells Upgrade",
BladeArmorEnergyShielding: "BLADE-51b Tesla Armor: Energy Shielding Upgrade",
BladeArmorUnibeam: "BLADE-51b Tesla Armor: Unibeam Upgrade",
BladeArmorOmnibeam: "BLADE-51b Tesla Armor: Omnibeam Upgrade",
BladeArmorIPU: "BLADE-51b Tesla Armor: IPU Upgrade",
BladesSimulacrum: "The Blade's Simulacrum",
StaneksGift1: "Stanek's Gift - Genesis", StaneksGift1 = "Stanek's Gift - Genesis",
StaneksGift2: "Stanek's Gift - Awakening", StaneksGift2 = "Stanek's Gift - Awakening",
StaneksGift3: "Stanek's Gift - Serenity", StaneksGift3 = "Stanek's Gift - Serenity",
BagOfSand: "A Bag of Sand", BagOfSand = "A Bag of Sand",
IntellisenseModule: "Intellisense Module", IntellisenseModule = "Intellisense Module",
ReverseDictionary: "Reverse Dictionary", ReverseDictionary = "Reverse Dictionary",
AmuletOfPersuasion: "Amulet of Persuasian", AmuletOfPersuasion = "Amulet of Persuasian",
LameSharkRepository: "Lame Shark Repository", LameSharkRepository = "Lame Shark Repository",
CyberDecoder: "Cyber Decoder", CyberDecoder = "Cyber Decoder",
MineDetector: "Mine Detector", MineDetector = "Mine Detector",
WireCuttingManual: "Wire Cutting Manual", WireCuttingManual = "Wire Cutting Manual",
BionicFingers = "Bionic Fingers",
CorporationManagementImplant = "Corporation Management Implant",
//Wasteland Augs //Wasteland Augs
//PepBoy: "P.E.P-Boy", Plasma Energy Projection System //PepBoy: "P.E.P-Boy", Plasma Energy Projection System
//PepBoyForceField Generates plasma force fields //PepBoyForceField Generates plasma force fields
//PepBoyBlasts Generate high density plasma concussive blasts //PepBoyBlasts Generate high density plasma concussive blasts
//PepBoyDataStorage STore more data on pep boy, //PepBoyDataStorage STore more data on pep boy,
}; }

@ -10,6 +10,7 @@ import Button from "@mui/material/Button";
import MenuItem from "@mui/material/MenuItem"; import MenuItem from "@mui/material/MenuItem";
import Select, { SelectChangeEvent } from "@mui/material/Select"; import Select, { SelectChangeEvent } from "@mui/material/Select";
import { FactionNames } from "../../Faction/data/FactionNames"; import { FactionNames } from "../../Faction/data/FactionNames";
import { AugmentationNames } from "../../Augmentation/data/AugmentationNames";
interface IProps { interface IProps {
StartingDifficulty: number; StartingDifficulty: number;
@ -37,8 +38,14 @@ export function Victory(props: IProps): React.ReactElement {
levelBonus * levelBonus *
BitNodeMultipliers.InfiltrationRep; BitNodeMultipliers.InfiltrationRep;
// TODO: add two augmentations to infiltrators to increase this by 5 and * 2 const bionicFingersRepGain = player.hasAugmentation(AugmentationNames.BionicFingers, true) ? 5 : 0;
const infiltratorsRepGain = 5; const CorporationManagementImplantRepMultiplier = player.hasAugmentation(
AugmentationNames.CorporationManagementImplant,
true,
)
? 2.5
: 1;
const infiltratorsRepGain = (5 + bionicFingersRepGain) * CorporationManagementImplantRepMultiplier;
const infiltratorFaction = Factions[FactionNames.Infiltrators]; const infiltratorFaction = Factions[FactionNames.Infiltrators];
const isMemberOfInfiltrators = infiltratorFaction && infiltratorFaction.isMember; const isMemberOfInfiltrators = infiltratorFaction && infiltratorFaction.isMember;

@ -111,7 +111,7 @@ export function generateResleeves(): Resleeve[] {
AugmentationNames.StaneksGift1, AugmentationNames.StaneksGift1,
AugmentationNames.StaneksGift2, AugmentationNames.StaneksGift2,
AugmentationNames.StaneksGift3, AugmentationNames.StaneksGift3,
]; ].map((faction) => faction as string);
if (forbidden.includes(randKey)) { if (forbidden.includes(randKey)) {
continue; continue;
} }