From 326e8273680aee9d93a6295990231452f5fbc5ff Mon Sep 17 00:00:00 2001 From: Olivier Gagnon Date: Tue, 26 Oct 2021 21:22:40 -0400 Subject: [PATCH] few changes --- src/Augmentation/AugmentationHelpers.tsx | 43 +++++++++++-------- src/BitNode/BitNode.tsx | 2 +- src/Locations/ui/SpecialLocation.tsx | 42 ++++++++++++++++++ src/PersonObjects/IPlayer.ts | 2 +- src/PersonObjects/Player/PlayerObject.ts | 2 +- .../Player/PlayerObjectAugmentationMethods.ts | 10 +++-- 6 files changed, 75 insertions(+), 26 deletions(-) diff --git a/src/Augmentation/AugmentationHelpers.tsx b/src/Augmentation/AugmentationHelpers.tsx index 3910a87d2..9c7a9791f 100644 --- a/src/Augmentation/AugmentationHelpers.tsx +++ b/src/Augmentation/AugmentationHelpers.tsx @@ -2415,8 +2415,9 @@ function initAugmentations(): void { repCost: 1e5, moneyCost: 0, info: - 'TODO, something about Mother being bullshit and you get more control over her "gift"

' + - "The penalty for the gift is only 5%", + "The next evolution is near, A coming together of man and machine. A synthesis greater than the birth of the human " + + "organism. Time spent with the gift has allowed for acclimitaztion of the invavise augment and the toll it takes upon " + + "your frame granting lesser penalty of 5% to all stats.", prereqs: [AugmentationNames.StaneksGift1], isSpecial: true, hacking_chance_mult: 0.95 / 0.9, @@ -2445,7 +2446,7 @@ function initAugmentations(): void { hacknet_node_core_cost_mult: 1.05 / 1.1, hacknet_node_level_cost_mult: 1.05 / 1.1, work_money_mult: 0.95 / 0.9, - stats: null, + stats: <>The penalty for the gift is reduced to 5%, }); StaneksGift2.addToFactions([ChurchOfTheMachineGodFactionName]); resetAugmentation(StaneksGift2); @@ -2455,8 +2456,10 @@ function initAugmentations(): void { repCost: 1e7, moneyCost: 0, info: - "TODO, learn more about Allisons scheme, gain full control over the gift.

" + - "Finally freed from the penalty of the gift.", + "The synthesis of human and machine is nothing to fear. It is our destiny. " + + "You will become greater than the sum of our parts. As One. Enbrace your gift " + + "fully and wholly free of it's accursed toll. Serenity brings tranquility the form " + + "of no longer suffering a stat penalty. ", prereqs: [AugmentationNames.StaneksGift2], isSpecial: true, hacking_chance_mult: 1 / 0.95, @@ -2485,24 +2488,26 @@ function initAugmentations(): void { hacknet_node_core_cost_mult: 1 / 1.05, hacknet_node_level_cost_mult: 1 / 1.05, work_money_mult: 1 / 0.95, - stats: null, + stats: <>Staneks Gift has no penalty., }); StaneksGift3.addToFactions([ChurchOfTheMachineGodFactionName]); resetAugmentation(StaneksGift3); - const StaneksGiftAscension4 = new Augmentation({ - name: AugmentationNames.StaneksGift4, - repCost: 1e9, - moneyCost: 0, - info: - "Allow Allison to install an Ascension port in her Gift. Allowing you to connect with the Machine God.

" + - "(hydro notes: Finishes the BN, eventually)", - prereqs: [AugmentationNames.StaneksGift3], - isSpecial: true, - stats: null, - }); - StaneksGiftAscension4.addToFactions([ChurchOfTheMachineGodFactionName]); - resetAugmentation(StaneksGiftAscension4); + if (Player.bitNodeN === 13) { + const StaneksGiftAscension4 = new Augmentation({ + name: AugmentationNames.StaneksGift4, + repCost: 1e9, + moneyCost: 0, + info: + "The MachineGod approaches and when it arrives, we, all of us, will truly be as one. " + + "We will transcend our physical limitations. That is when we all truly become immortal.", + prereqs: [AugmentationNames.StaneksGift3], + isSpecial: true, + stats: <>Allows communion with the MachineGod at the Church in Chongqing., + }); + StaneksGiftAscension4.addToFactions([ChurchOfTheMachineGodFactionName]); + resetAugmentation(StaneksGiftAscension4); + } } // Update costs based on how many have been purchased diff --git a/src/BitNode/BitNode.tsx b/src/BitNode/BitNode.tsx index 6518263f4..48705284e 100644 --- a/src/BitNode/BitNode.tsx +++ b/src/BitNode/BitNode.tsx @@ -548,7 +548,7 @@ BitNodes["BitNode13"] = new BitNode( In this BitNode:

- Every is significantly reduced + Every stat is significantly reduced
Stanek's Gift power is significantly increased.
diff --git a/src/Locations/ui/SpecialLocation.tsx b/src/Locations/ui/SpecialLocation.tsx index dc63004de..6eda80600 100644 --- a/src/Locations/ui/SpecialLocation.tsx +++ b/src/Locations/ui/SpecialLocation.tsx @@ -158,6 +158,48 @@ export function SpecialLocation(props: IProps): React.ReactElement { {" sNNo-.`.-omNy` "}
{" -smNNNNmdo- "}
{" `..` "} + if (player.hasAugmentation(AugmentationNames.StaneksGift4, true)) { + return ( + <> + + + Allison "Mother" Stanek: Are you ready my sweet innocent child? Are you ready to commune with the + MachineGod? + + + + {symbol} + + ); + } + if (player.hasAugmentation(AugmentationNames.StaneksGift3, true)) { + return ( + <> + + + Allison "Mother" Stanek: ..can ...you hear them too ...? Come now, don't be shy and let me get a closer + look at you. Yes wonderful, I see my creation has taken root without consquence or much ill effect it + seems. Curious, Just how much of a machine's soul do you house in that body? + + + {symbol} + + ); + } + if (player.hasAugmentation(AugmentationNames.StaneksGift2, true)) { + return ( + <> + + + Allison "Mother" Stanek: I see you've taken to my creation. So much so it could hardly be recoginized as + one of my own after your tinkering with it. I see you follow the ways of the MachineGod as I do, and your + mastery of the gift thus for clearly demonstrates that. My hopes are climbing by the day for you. + + + {symbol} + + ); + } if (player.factions.includes("Church of the Machine God")) { return ( <> diff --git a/src/PersonObjects/IPlayer.ts b/src/PersonObjects/IPlayer.ts index d4c802c52..54c476903 100644 --- a/src/PersonObjects/IPlayer.ts +++ b/src/PersonObjects/IPlayer.ts @@ -193,7 +193,7 @@ export interface IPlayer { getUpgradeHomeRamCost(): number; getUpgradeHomeCoresCost(): number; gotoLocation(to: LocationName): boolean; - hasAugmentation(aug: string | Augmentation): boolean; + hasAugmentation(aug: string | Augmentation, installed?: boolean): boolean; hasCorporation(): boolean; hasGangWith(facName: string): boolean; hasTorRouter(): boolean; diff --git a/src/PersonObjects/Player/PlayerObject.ts b/src/PersonObjects/Player/PlayerObject.ts index 6c89579e3..9dced83a2 100644 --- a/src/PersonObjects/Player/PlayerObject.ts +++ b/src/PersonObjects/Player/PlayerObject.ts @@ -200,7 +200,7 @@ export class PlayerObject implements IPlayer { getUpgradeHomeRamCost: () => number; getUpgradeHomeCoresCost: () => number; gotoLocation: (to: LocationName) => boolean; - hasAugmentation: (aug: string | Augmentation) => boolean; + hasAugmentation: (aug: string | Augmentation, installed?: boolean) => boolean; hasCorporation: () => boolean; hasGangWith: (facName: string) => boolean; hasTorRouter: () => boolean; diff --git a/src/PersonObjects/Player/PlayerObjectAugmentationMethods.ts b/src/PersonObjects/Player/PlayerObjectAugmentationMethods.ts index 0de04587a..acccb38df 100644 --- a/src/PersonObjects/Player/PlayerObjectAugmentationMethods.ts +++ b/src/PersonObjects/Player/PlayerObjectAugmentationMethods.ts @@ -5,7 +5,7 @@ import { IPlayer } from "../IPlayer"; import { Augmentation } from "../../Augmentation/Augmentation"; -export function hasAugmentation(this: IPlayer, aug: string | Augmentation): boolean { +export function hasAugmentation(this: IPlayer, aug: string | Augmentation, installed = false): boolean { const augName: string = aug instanceof Augmentation ? aug.name : aug; for (const owned of this.augmentations) { @@ -14,9 +14,11 @@ export function hasAugmentation(this: IPlayer, aug: string | Augmentation): bool } } - for (const owned of this.queuedAugmentations) { - if (owned.name === augName) { - return true; + if (!installed) { + for (const owned of this.queuedAugmentations) { + if (owned.name === augName) { + return true; + } } }