From a87bfb0de639e6a0ab892c4fd2d47a7f8d7c4b3d Mon Sep 17 00:00:00 2001 From: nickofolas Date: Tue, 26 Apr 2022 20:11:41 -0500 Subject: [PATCH] Handle grafting in singularity stop work --- src/PersonObjects/IPlayer.ts | 2 +- src/PersonObjects/Player/PlayerObject.ts | 2 +- src/PersonObjects/Player/PlayerObjectGeneralMethods.tsx | 7 +++++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/PersonObjects/IPlayer.ts b/src/PersonObjects/IPlayer.ts index 1341e8c33..1ed5d9a43 100644 --- a/src/PersonObjects/IPlayer.ts +++ b/src/PersonObjects/IPlayer.ts @@ -291,6 +291,6 @@ export interface IPlayer { sourceFileLvl(n: number): number; startGraftAugmentationWork(augmentationName: string, time: number): void; graftAugmentationWork(numCycles: number): boolean; - finishGraftAugmentationWork(cancelled: boolean): string; + finishGraftAugmentationWork(cancelled: boolean, singularity?: boolean): string; applyEntropy(stacks?: number): void; } diff --git a/src/PersonObjects/Player/PlayerObject.ts b/src/PersonObjects/Player/PlayerObject.ts index b61c3b72c..00b380d87 100644 --- a/src/PersonObjects/Player/PlayerObject.ts +++ b/src/PersonObjects/Player/PlayerObject.ts @@ -302,7 +302,7 @@ export class PlayerObject implements IPlayer { sourceFileLvl: (n: number) => number; startGraftAugmentationWork: (augmentationName: string, time: number) => void; graftAugmentationWork: (numCycles: number) => boolean; - finishGraftAugmentationWork: (cancelled: boolean) => string; + finishGraftAugmentationWork: (cancelled: boolean, singularity?: boolean) => string; applyEntropy: (stacks?: number) => void; constructor() { diff --git a/src/PersonObjects/Player/PlayerObjectGeneralMethods.tsx b/src/PersonObjects/Player/PlayerObjectGeneralMethods.tsx index ce336e1a1..0631c0eab 100644 --- a/src/PersonObjects/Player/PlayerObjectGeneralMethods.tsx +++ b/src/PersonObjects/Player/PlayerObjectGeneralMethods.tsx @@ -1364,7 +1364,7 @@ export function craftAugmentationWork(this: IPlayer, numCycles: number): boolean return false; } -export function finishGraftAugmentationWork(this: IPlayer, cancelled: boolean): string { +export function finishGraftAugmentationWork(this: IPlayer, cancelled: boolean, singularity = false): string { const augName = this.graftAugmentationName; if (cancelled === false) { applyAugmentation(Augmentations[augName]); @@ -1378,7 +1378,7 @@ export function finishGraftAugmentationWork(this: IPlayer, cancelled: boolean): `You've finished grafting ${augName}.
The augmentation has been applied to your body` + (this.hasAugmentation(AugmentationNames.CongruityImplant) ? "." : ", but you feel a bit off."), ); - } else { + } else if (cancelled && singularity === false) { dialogBoxCreate(`You cancelled the grafting of ${augName}.
Your money was not returned to you.`); } @@ -1700,6 +1700,9 @@ export function singularityStopWork(this: IPlayer): string { case CONSTANTS.WorkTypeCrime: res = this.finishCrime(true); break; + case CONSTANTS.WorkTypeGraftAugmentation: + res = this.finishGraftAugmentationWork(true, true); + break; default: console.error(`Unrecognized work type (${this.workType})`); return "";