mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2026-05-08 16:47:49 +02:00
aa80cf6451
Reverted ToastVariant back to an enum internally. Still exposed to player as just possible strings. Changed all 1-line documentation comments to actually be 1-line. Moved some because they were not providing documentation for the thing they were trying to.
37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
import { Generic_fromJSON, Generic_toJSON, IReviverValue, Reviver } from "../../../utils/JSONReviver";
|
|
import { Sleeve } from "../Sleeve";
|
|
import { Work, WorkType } from "./Work";
|
|
|
|
export const isSleeveRecoveryWork = (w: Work | null): w is SleeveRecoveryWork =>
|
|
w !== null && w.type === WorkType.RECOVERY;
|
|
|
|
export class SleeveRecoveryWork extends Work {
|
|
constructor() {
|
|
super(WorkType.RECOVERY);
|
|
}
|
|
|
|
process(sleeve: Sleeve, cycles: number): number {
|
|
sleeve.shock = Math.min(100, sleeve.shock + 0.0002 * cycles);
|
|
if (sleeve.shock >= 100) sleeve.stopWork();
|
|
return 0;
|
|
}
|
|
|
|
APICopy(): Record<string, unknown> {
|
|
return {
|
|
type: this.type,
|
|
};
|
|
}
|
|
|
|
/** Serialize the current object to a JSON save state. */
|
|
toJSON(): IReviverValue {
|
|
return Generic_toJSON("SleeveRecoveryWork", this);
|
|
}
|
|
|
|
/** Initiatizes a RecoveryWork object from a JSON save state. */
|
|
static fromJSON(value: IReviverValue): SleeveRecoveryWork {
|
|
return Generic_fromJSON(SleeveRecoveryWork, value.data);
|
|
}
|
|
}
|
|
|
|
Reviver.constructors.SleeveRecoveryWork = SleeveRecoveryWork;
|