Merge pull request #375 from Tyasuh/Int-Shock-Recovery-Buff

MISC: Sleeve Int applies to active/passive shock recovery
This commit is contained in:
Mughur 2023-02-22 14:40:51 +02:00 committed by GitHub
commit 3c7b0622a5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 2 deletions

@ -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;
}

@ -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();
}