diff --git a/src/Augmentation/AugmentationHelpers.jsx b/src/Augmentation/AugmentationHelpers.jsx index f89970ff1..78922f353 100644 --- a/src/Augmentation/AugmentationHelpers.jsx +++ b/src/Augmentation/AugmentationHelpers.jsx @@ -2157,15 +2157,31 @@ function installAugmentations() { dialogBoxCreate("You have not purchased any Augmentations to install!"); return false; } - var augmentationList = ""; - for (var i = 0; i < Player.queuedAugmentations.length; ++i) { - var aug = Augmentations[Player.queuedAugmentations[i].name]; + let augmentationList = ""; + let nfgIndex = -1; + for(let i = Player.queuedAugmentations.length-1; i >= 0; i--) { + if(Player.queuedAugmentations[i].name === AugmentationNames.NeuroFluxGovernor) { + nfgIndex = i; + break; + } + } + for (let i = 0; i < Player.queuedAugmentations.length; ++i) { + const ownedAug = Player.queuedAugmentations[i]; + const aug = Augmentations[ownedAug.name]; if (aug == null) { - console.error(`Invalid augmentation: ${Player.queuedAugmentations[i].name}`); + console.error(`Invalid augmentation: ${ownedAug.name}`); continue; } + + if(ownedAug.name === AugmentationNames.NeuroFluxGovernor + && i !== nfgIndex) continue; + + let level = null; + if (ownedAug.name === AugmentationNames.NeuroFluxGovernor) { + level = ` - ${ownedAug.level}`; + } applyAugmentation(Player.queuedAugmentations[i]); - augmentationList += (aug.name + "
"); + augmentationList += (aug.name + level + "
"); } Player.queuedAugmentations = []; dialogBoxCreate("You slowly drift to sleep as scientists put you under in order " + diff --git a/src/Augmentation/ui/PurchasedAugmentations.tsx b/src/Augmentation/ui/PurchasedAugmentations.tsx index ab0854e9a..9cb94fe72 100644 --- a/src/Augmentation/ui/PurchasedAugmentations.tsx +++ b/src/Augmentation/ui/PurchasedAugmentations.tsx @@ -7,12 +7,23 @@ import * as React from "react"; import { Augmentations } from "../../Augmentation/Augmentations"; import { AugmentationNames } from "../../Augmentation/data/AugmentationNames"; import { Player } from "../../Player"; +import { IPlayerOwnedAugmentation } from "../../Augmentation/PlayerOwnedAugmentation"; import { AugmentationAccordion } from "../../ui/React/AugmentationAccordion"; export function PurchasedAugmentations(): React.ReactElement { const augs: React.ReactElement[] = []; - for (const ownedAug of Player.queuedAugmentations) { + // Only render the last NeuroFlux (there are no findLastIndex btw) + let nfgIndex = -1; + for(let i = Player.queuedAugmentations.length-1; i >= 0; i--) { + if(Player.queuedAugmentations[i].name === AugmentationNames.NeuroFluxGovernor) { + nfgIndex = i; + break; + } + } + for (let i = 0; i < Player.queuedAugmentations.length; i++) { + const ownedAug = Player.queuedAugmentations[i]; + if(ownedAug.name === AugmentationNames.NeuroFluxGovernor && i !== nfgIndex) continue; const aug = Augmentations[ownedAug.name]; let level = null; if (ownedAug.name === AugmentationNames.NeuroFluxGovernor) { diff --git a/src/Constants.ts b/src/Constants.ts index d609e2873..77c44bdad 100644 --- a/src/Constants.ts +++ b/src/Constants.ts @@ -263,6 +263,6 @@ export const CONSTANTS: IMap = { * Fix weird alignment of donation text box and button. (@Tesseract1234567890) * Fixed an issue where reputation could be transfered to new jobs when unfocused. * Empty stack traces should no longer appear. - + * Purchasing anything with Infinity money doesn't result in NaN. `, } \ No newline at end of file diff --git a/src/DevMenu.jsx b/src/DevMenu.jsx index 52b54e9a0..f8583ef66 100644 --- a/src/DevMenu.jsx +++ b/src/DevMenu.jsx @@ -726,7 +726,7 @@ class DevMenuComponent extends Component { - +
diff --git a/src/PersonObjects/Player/PlayerObjectGeneralMethods.jsx b/src/PersonObjects/Player/PlayerObjectGeneralMethods.jsx index 157377f81..bdd14b8ef 100644 --- a/src/PersonObjects/Player/PlayerObjectGeneralMethods.jsx +++ b/src/PersonObjects/Player/PlayerObjectGeneralMethods.jsx @@ -394,6 +394,7 @@ export function loseMoney(money) { console.error("NaN passed into Player.loseMoney()"); return; } + if(this.money.eq(Infinity) && money === Infinity) return; this.money = this.money.minus(money); }