diff --git a/src/Augmentation/data/AugmentationCreator.tsx b/src/Augmentation/data/AugmentationCreator.tsx index 02ce0bdd2..6efc498e9 100644 --- a/src/Augmentation/data/AugmentationCreator.tsx +++ b/src/Augmentation/data/AugmentationCreator.tsx @@ -109,6 +109,7 @@ export const initSoAAugmentations = (): Augmentation[] => [ rewards, reduced damage taken, etc. ), + isSpecial: true, factions: [FactionNames.ShadowsOfAnarchy], }), new Augmentation({ @@ -121,6 +122,7 @@ export const initSoAAugmentations = (): Augmentation[] => [ stats: ( <>This augmentation makes the Slash minigame easier by showing you via an indictor when the slash in coming. ), + isSpecial: true, factions: [FactionNames.ShadowsOfAnarchy], }), new Augmentation({ @@ -129,6 +131,7 @@ export const initSoAAugmentations = (): Augmentation[] => [ moneyCost: 1e6, info: "A connective brain implant to SASHA that focuses in pattern recognition and predictive templating.", stats: <>This augmentation makes the Bracket minigame easier by removing all '[' ']'., + isSpecial: true, factions: [FactionNames.ShadowsOfAnarchy], }), new Augmentation({ @@ -137,6 +140,7 @@ export const initSoAAugmentations = (): Augmentation[] => [ moneyCost: 1e6, info: "Opto-occipito implant to process visual signal before brain interpretation.", stats: <>This augmentation makes the Backwards minigame easier by flipping the words., + isSpecial: true, factions: [FactionNames.ShadowsOfAnarchy], }), new Augmentation({ @@ -147,6 +151,7 @@ export const initSoAAugmentations = (): Augmentation[] => [ "Pheromone extruder injected in the thoracodorsal nerve. Emits pleasing scent guaranteed to " + "make conversational partners more agreeable.", stats: <>This augmentation makes the Bribe minigame easier by indicating the incorrect paths., + isSpecial: true, factions: [FactionNames.ShadowsOfAnarchy], }), new Augmentation({ @@ -155,6 +160,7 @@ export const initSoAAugmentations = (): Augmentation[] => [ moneyCost: 1e6, info: "Penta-dynamo-neurovascular-valve inserted in the carpal ligament, enhances dexterity.", stats: <>This augmentation makes the Cheat Code minigame easier by allowing the opposite character., + isSpecial: true, factions: [FactionNames.ShadowsOfAnarchy], }), new Augmentation({ @@ -163,6 +169,7 @@ export const initSoAAugmentations = (): Augmentation[] => [ moneyCost: 1e6, info: "Transtinatium VVD reticulator used in optico-sterbing recognition.", stats: <>This augmentation makes the Symbol matching minigame easier by indicating the correct choice., + isSpecial: true, factions: [FactionNames.ShadowsOfAnarchy], }), new Augmentation({ @@ -176,6 +183,7 @@ export const initSoAAugmentations = (): Augmentation[] => [ position. ), + isSpecial: true, factions: [FactionNames.ShadowsOfAnarchy], }), new Augmentation({ @@ -184,6 +192,7 @@ export const initSoAAugmentations = (): Augmentation[] => [ moneyCost: 1e6, info: "Neodynic retention fjengeln spoofer using -φ karmions, net positive effect on implantees delta wave.", stats: <>This augmentation makes the Wire Cutting minigame easier by indicating the incorrect wires., + isSpecial: true, factions: [FactionNames.ShadowsOfAnarchy], }), ]; @@ -1254,6 +1263,7 @@ export const initGeneralAugmentations = (): Augmentation[] => [ moneyCost: 0, info: "It's time to leave the cave.", stats: null, + isSpecial: true, factions: [FactionNames.Daedalus], }), new Augmentation({ @@ -2003,6 +2013,7 @@ export function initNeuroFluxGovernor(): Augmentation { multiplicatively. ), + isSpecial: true, hacking_chance_mult: 1.01 + donationBonus, hacking_speed_mult: 1.01 + donationBonus, hacking_money_mult: 1.01 + donationBonus, diff --git a/src/Faction/FactionHelpers.tsx b/src/Faction/FactionHelpers.tsx index 84519d5af..d4bad8ef3 100644 --- a/src/Faction/FactionHelpers.tsx +++ b/src/Faction/FactionHelpers.tsx @@ -165,13 +165,11 @@ export const getFactionAugmentationsFiltered = (player: IPlayer, faction: Factio let augs = Object.values(Augmentations); // Remove special augs - augs = augs.filter((a) => !a.isSpecial); + augs = augs.filter((a) => !a.isSpecial || a.name != AugmentationNames.CongruityImplant ); - const blacklist: string[] = [AugmentationNames.NeuroFluxGovernor, AugmentationNames.CongruityImplant]; - - if (player.bitNodeN !== 2) { + if (player.bitNodeN === 2) { // TRP is not available outside of BN2 for Gangs - blacklist.push(AugmentationNames.TheRedPill); + augs.push(Augmentations[AugmentationNames.TheRedPill]); } const rng = SFC32RNG(`BN${player.bitNodeN}.${player.sourceFileLvl(player.bitNodeN)}`); @@ -190,9 +188,6 @@ export const getFactionAugmentationsFiltered = (player: IPlayer, faction: Factio }; augs = augs.filter(uniqueFilter); - // Remove blacklisted augs - augs = augs.filter((a) => !blacklist.includes(a.name)); - return augs.map((a) => a.name); } diff --git a/src/PersonObjects/Grafting/GraftingHelpers.ts b/src/PersonObjects/Grafting/GraftingHelpers.ts index edf5ca798..62d3b72f4 100644 --- a/src/PersonObjects/Grafting/GraftingHelpers.ts +++ b/src/PersonObjects/Grafting/GraftingHelpers.ts @@ -1,5 +1,4 @@ import { Augmentations } from "../../Augmentation/Augmentations"; -import { AugmentationNames } from "../../Augmentation/data/AugmentationNames"; import { GraftableAugmentation } from "./GraftableAugmentation"; import { IPlayer } from "../IPlayer"; @@ -7,8 +6,7 @@ export const getGraftingAvailableAugs = (player: IPlayer): string[] => { const augs: string[] = []; for (const [augName, aug] of Object.entries(Augmentations)) { - if (augName === AugmentationNames.NeuroFluxGovernor || augName === AugmentationNames.TheRedPill || aug.isSpecial) - continue; + if (aug.isSpecial) continue; augs.push(augName); } diff --git a/src/PersonObjects/Sleeve/SleeveHelpers.ts b/src/PersonObjects/Sleeve/SleeveHelpers.ts index 76bde04e8..ad39b0d7f 100644 --- a/src/PersonObjects/Sleeve/SleeveHelpers.ts +++ b/src/PersonObjects/Sleeve/SleeveHelpers.ts @@ -22,9 +22,6 @@ export function findSleevePurchasableAugs(sleeve: Sleeve, p: IPlayer): Augmentat // Helper function that helps filter out augs that are already owned // and augs that aren't allowed for sleeves function isAvailableForSleeve(aug: Augmentation): boolean { - if (aug.name === AugmentationNames.NeuroFluxGovernor) { - return false; - } if (ownedAugNames.includes(aug.name)) { return false; }