BUGFIX: getAugmentationBasePrice ignores bitnode mult for SoA augs (#2756)

This commit is contained in:
Sai Asish Y
2026-05-13 10:29:39 -07:00
committed by GitHub
parent 99cdd80fa1
commit 0d18ac80fe
4 changed files with 12 additions and 4 deletions
@@ -52,9 +52,11 @@ Name of Augmentation.
number
Base price of the augmentation, before price multiplier.
Base price of the augmentation, before the player's price multiplier.
## Remarks
RAM cost: 2.5 GB \* 16/4/1
This excludes the player's price multiplier, but does include the relevant BitNode multiplier (for all augs that aren't part of Shadows of Anarchy, which doesn't use BitNode multipliers).
+1 -1
View File
@@ -14,7 +14,7 @@ import { mergeMultipliers } from "../PersonObjects/Multipliers";
import { currentNodeMults } from "../BitNode/BitNodeMultipliers";
import { prestigeWorkerScripts } from "../NetscriptWorker";
const soaAugmentationNames = [
export const soaAugmentationNames = [
AugmentationName.BeautyOfAphrodite,
AugmentationName.ChaosOfDionysus,
AugmentationName.FloodOfPoseidon,
+6 -1
View File
@@ -5,7 +5,7 @@ import { CityName, CompletedProgramName, FactionWorkType, LocationName } from "@
import { purchaseAugmentation, joinFaction, getFactionAugmentationsFiltered } from "../Faction/FactionHelpers";
import { startWorkerScript } from "../NetscriptWorker";
import { Augmentations } from "../Augmentation/Augmentations";
import { getAugCost, installAugmentations } from "../Augmentation/AugmentationHelpers";
import { getAugCost, installAugmentations, soaAugmentationNames } from "../Augmentation/AugmentationHelpers";
import { CONSTANTS } from "../Constants";
import { RunningScript } from "../Script/RunningScript";
import { calculateAchievements } from "../Achievements/Achievements";
@@ -141,6 +141,11 @@ export function NetscriptSingularity(): InternalAPI<ISingularity> {
helpers.checkSingularityAccess(ctx);
const augName = getEnumHelper("AugmentationName").nsGetMember(ctx, _augName);
const aug = Augmentations[augName];
// SoA augmentations don't use the bitnode AugmentationMoneyCost multiplier;
// their cost only scales with the number of SoA augs already owned.
if (soaAugmentationNames.includes(augName)) {
return aug.baseCost;
}
return aug.baseCost * currentNodeMults.AugmentationMoneyCost;
},
getAugmentationPrice: (ctx) => (_augName) => {
+2 -1
View File
@@ -2655,9 +2655,10 @@ export interface Singularity {
* @remarks
* RAM cost: 2.5 GB * 16/4/1
*
* This excludes the player's price multiplier, but does include the relevant BitNode multiplier (for all augs that aren't part of Shadows of Anarchy, which doesn't use BitNode multipliers).
*
* @param augName - Name of Augmentation.
* @returns Base price of the augmentation, before price multiplier.
* @returns Base price of the augmentation, before the player's price multiplier.
*/
getAugmentationBasePrice(augName: string): number;