mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-12-20 05:05:47 +01:00
58 lines
1.6 KiB
TypeScript
58 lines
1.6 KiB
TypeScript
import { CorpResearchName } from "@nsdefs";
|
|
|
|
export interface ResearchParams {
|
|
name: CorpResearchName;
|
|
cost: number;
|
|
desc: string;
|
|
advertisingMult?: number;
|
|
employeeChaMult?: number;
|
|
employeeCreMult?: number;
|
|
employeeEffMult?: number;
|
|
employeeIntMult?: number;
|
|
productionMult?: number;
|
|
productProductionMult?: number;
|
|
salesMult?: number;
|
|
sciResearchMult?: number;
|
|
storageMult?: number;
|
|
}
|
|
|
|
export class Research {
|
|
// Name of research. This will be used to identify researches in the Research Tree
|
|
name: CorpResearchName = "AutoBrew";
|
|
|
|
// How much scientific research it costs to unlock this
|
|
cost = 0;
|
|
|
|
// Description of what the Research does
|
|
description = "";
|
|
|
|
// All possible generic upgrades for the company, in the form of multipliers
|
|
advertisingMult = 1;
|
|
employeeChaMult = 1;
|
|
employeeCreMult = 1;
|
|
employeeEffMult = 1;
|
|
employeeIntMult = 1;
|
|
productionMult = 1;
|
|
productProductionMult = 1;
|
|
salesMult = 1;
|
|
sciResearchMult = 1;
|
|
storageMult = 1;
|
|
|
|
constructor(p: ResearchParams | null = null) {
|
|
if (!p) return;
|
|
this.name = p.name;
|
|
this.cost = p.cost;
|
|
this.description = p.desc;
|
|
this.advertisingMult = p.advertisingMult ?? 1;
|
|
this.employeeChaMult = p.employeeChaMult ?? 1;
|
|
this.employeeCreMult = p.employeeCreMult ?? 1;
|
|
this.employeeEffMult = p.employeeEffMult ?? 1;
|
|
this.employeeIntMult = p.employeeIntMult ?? 1;
|
|
this.productionMult = p.productionMult ?? 1;
|
|
this.productProductionMult = p.productProductionMult ?? 1;
|
|
this.salesMult = p.salesMult ?? 1;
|
|
this.sciResearchMult = p.sciResearchMult ?? 1;
|
|
this.storageMult = p.storageMult ?? 1;
|
|
}
|
|
}
|