2021-03-13 21:10:55 +01:00
|
|
|
import { Operation, IOperationParams } from "./Operation";
|
2022-07-15 01:00:10 +02:00
|
|
|
import { Generic_fromJSON, Generic_toJSON, IReviverValue, Reviver } from "../utils/JSONReviver";
|
2021-03-13 21:10:55 +01:00
|
|
|
|
|
|
|
export class BlackOperation extends Operation {
|
2021-09-05 01:09:30 +02:00
|
|
|
constructor(params: IOperationParams | null = null) {
|
|
|
|
super(params);
|
|
|
|
this.count = 1;
|
|
|
|
}
|
2021-03-13 21:10:55 +01:00
|
|
|
|
2021-09-05 01:09:30 +02:00
|
|
|
// To be implemented by subtypes
|
|
|
|
getActionTimePenalty(): number {
|
|
|
|
return 1.5;
|
|
|
|
}
|
2021-03-13 21:10:55 +01:00
|
|
|
|
2021-09-05 01:09:30 +02:00
|
|
|
getChaosCompetencePenalty(/*inst: IBladeburner, params: ISuccessChanceParams*/): number {
|
|
|
|
return 1;
|
|
|
|
}
|
2021-03-13 21:10:55 +01:00
|
|
|
|
2021-09-05 01:09:30 +02:00
|
|
|
getChaosDifficultyBonus(/*inst: IBladeburner, params: ISuccessChanceParams*/): number {
|
|
|
|
return 1;
|
|
|
|
}
|
2021-03-13 21:10:55 +01:00
|
|
|
|
2022-07-15 01:00:10 +02:00
|
|
|
toJSON(): IReviverValue {
|
2021-09-05 01:09:30 +02:00
|
|
|
return Generic_toJSON("BlackOperation", this);
|
|
|
|
}
|
2021-05-01 09:17:31 +02:00
|
|
|
|
2022-07-15 01:00:10 +02:00
|
|
|
static fromJSON(value: IReviverValue): Operation {
|
2021-09-05 01:09:30 +02:00
|
|
|
return Generic_fromJSON(BlackOperation, value.data);
|
|
|
|
}
|
2021-03-13 21:10:55 +01:00
|
|
|
}
|
|
|
|
|
2021-09-05 01:09:30 +02:00
|
|
|
Reviver.constructors.BlackOperation = BlackOperation;
|