diff --git a/src/Augmentation/AugmentationCreator.tsx b/src/Augmentation/AugmentationCreator.tsx index f9693c1bf..00951f369 100644 --- a/src/Augmentation/AugmentationCreator.tsx +++ b/src/Augmentation/AugmentationCreator.tsx @@ -1484,6 +1484,19 @@ export const initGeneralAugmentations = (): Augmentation[] => [ ), factions: [FactionNames.TianDiHui], }), + + // Grafting-exclusive Augmentation + new Augmentation({ + name: AugmentationNames.CongruityImplant, + repCost: 0, + moneyCost: 50e12, + info: + "Developed by a pioneer in Grafting research, this implant " + + "generates pulses of stability which seem to have a nullifying " + + "effect versus the Entropy virus.", + stats: <>This Augmentation removes the Entropy virus, and prevents it from affecting you again., + factions: [], + }), ]; export const initBladeburnerAugmentations = (): Augmentation[] => [ diff --git a/src/Augmentation/AugmentationHelpers.tsx b/src/Augmentation/AugmentationHelpers.tsx index 2250d65f3..6078ae182 100644 --- a/src/Augmentation/AugmentationHelpers.tsx +++ b/src/Augmentation/AugmentationHelpers.tsx @@ -141,6 +141,12 @@ function applyAugmentation(aug: IPlayerOwnedAugmentation, reapply = false): void } } + // Special logic for Congruity Implant + if (aug.name === AugmentationNames.CongruityImplant && !reapply) { + Player.entropy = 0; + Player.applyEntropy(Player.entropy); + } + // Push onto Player's Augmentation list if (!reapply) { const ownedAug = new PlayerOwnedAugmentation(aug.name); diff --git a/src/Augmentation/data/AugmentationNames.ts b/src/Augmentation/data/AugmentationNames.ts index f0fe6a46f..fc77c6d78 100644 --- a/src/Augmentation/data/AugmentationNames.ts +++ b/src/Augmentation/data/AugmentationNames.ts @@ -91,6 +91,7 @@ export enum AugmentationNames { BionicArms = "Bionic Arms", SNA = "Social Negotiation Assistant (S.N.A)", HydroflameLeftArm = "Hydroflame Left Arm", + CongruityImplant = "nickofolas Congruity Implant", EsperEyewear = "EsperTech Bladeburner Eyewear", EMS4Recombination = "EMS-4 Recombination", OrionShoulder = "ORION-MKIV Shoulder", diff --git a/src/PersonObjects/Player/PlayerObjectGeneralMethods.tsx b/src/PersonObjects/Player/PlayerObjectGeneralMethods.tsx index 00f0acbd7..b316096ea 100644 --- a/src/PersonObjects/Player/PlayerObjectGeneralMethods.tsx +++ b/src/PersonObjects/Player/PlayerObjectGeneralMethods.tsx @@ -1371,8 +1371,11 @@ export function finishGraftAugmentationWork(this: IPlayer, cancelled: boolean): ); applyAugmentation(Augmentations[augName]); - this.entropy += 1; - this.applyEntropy(this.entropy); + + if (!this.hasAugmentation(AugmentationNames.CongruityImplant)) { + this.entropy += 1; + this.applyEntropy(this.entropy); + } } else { dialogBoxCreate(`You cancelled the crafting of ${augName}.
Your money was not returned to you.`); }