diff --git a/src/PersonObjects/Sleeve/Sleeve.ts b/src/PersonObjects/Sleeve/Sleeve.ts index 050ba2ef0..5a8f543bf 100644 --- a/src/PersonObjects/Sleeve/Sleeve.ts +++ b/src/PersonObjects/Sleeve/Sleeve.ts @@ -38,6 +38,7 @@ import { SleeveBladeburnerWork } from "./Work/SleeveBladeburnerWork"; import { SleeveCrimeWork } from "./Work/SleeveCrimeWork"; import * as sleeveMethods from "./SleeveMethods"; import { SleevePerson } from "@nsdefs"; +import { calculateIntelligenceBonus } from "../formulas/intelligence"; export class Sleeve extends Person implements SleevePerson { currentWork: Work | null = null; @@ -171,7 +172,10 @@ export class Sleeve extends Person implements SleevePerson { this.storedCycles += numCycles; if (this.storedCycles < CyclesPerSecond || !this.currentWork) return; const cyclesUsed = Math.min(this.storedCycles, 15); - this.shock = Math.max(0, this.shock - 0.0001 * cyclesUsed); + this.shock = Math.max( + 0, + this.shock - 0.0001 * calculateIntelligenceBonus(this.skills.intelligence, 0.75) * cyclesUsed, + ); this.currentWork.process(this, cyclesUsed); this.storedCycles -= cyclesUsed; } diff --git a/src/PersonObjects/Sleeve/Work/SleeveRecoveryWork.ts b/src/PersonObjects/Sleeve/Work/SleeveRecoveryWork.ts index ed0ef09a9..a27ca27b6 100644 --- a/src/PersonObjects/Sleeve/Work/SleeveRecoveryWork.ts +++ b/src/PersonObjects/Sleeve/Work/SleeveRecoveryWork.ts @@ -1,6 +1,7 @@ import { Generic_fromJSON, Generic_toJSON, IReviverValue, Reviver } from "../../../utils/JSONReviver"; import { Sleeve } from "../Sleeve"; import { Work, WorkType } from "./Work"; +import { calculateIntelligenceBonus } from "../../formulas/intelligence"; export const isSleeveRecoveryWork = (w: Work | null): w is SleeveRecoveryWork => w !== null && w.type === WorkType.RECOVERY; @@ -11,7 +12,10 @@ export class SleeveRecoveryWork extends Work { } process(sleeve: Sleeve, cycles: number) { - sleeve.shock = Math.max(0, sleeve.shock - 0.0002 * cycles); + sleeve.shock = Math.max( + 0, + sleeve.shock - 0.0002 * calculateIntelligenceBonus(sleeve.skills.intelligence, 0.75) * cycles, + ); if (sleeve.shock <= 0) sleeve.stopWork(); }