bitburner-src/src/Corporation/IIndustry.ts

78 lines
2.5 KiB
TypeScript
Raw Normal View History

2021-08-31 19:04:33 +02:00
import { Material } from "./Material";
import { Warehouse } from "./Warehouse";
import { ICorporation } from "./ICorporation";
import { OfficeSpace } from "./OfficeSpace";
import { Product } from "./Product";
import { IndustryUpgrade } from "./IndustryUpgrades";
export interface IIndustry {
2021-09-05 01:09:30 +02:00
name: string;
type: string;
sciResearch: Material;
researched: { [key: string]: boolean | undefined };
reqMats: { [key: string]: number | undefined };
2021-08-31 19:04:33 +02:00
2021-09-05 01:09:30 +02:00
prodMats: string[];
2021-08-31 19:04:33 +02:00
2021-09-05 01:09:30 +02:00
products: { [key: string]: Product | undefined };
makesProducts: boolean;
2021-08-31 19:04:33 +02:00
2021-09-05 01:09:30 +02:00
awareness: number;
popularity: number;
startingCost: number;
2021-08-31 19:04:33 +02:00
2021-09-05 01:09:30 +02:00
reFac: number;
sciFac: number;
hwFac: number;
robFac: number;
aiFac: number;
advFac: number;
2021-08-31 19:04:33 +02:00
2021-09-05 01:09:30 +02:00
prodMult: number;
2021-08-31 19:04:33 +02:00
2021-09-05 01:09:30 +02:00
// Decimal
2021-11-12 03:35:26 +01:00
lastCycleRevenue: number;
lastCycleExpenses: number;
thisCycleRevenue: number;
thisCycleExpenses: number;
2021-08-31 19:04:33 +02:00
2021-09-05 01:09:30 +02:00
upgrades: number[];
2021-08-31 19:04:33 +02:00
2021-09-05 01:09:30 +02:00
state: string;
newInd: boolean;
warehouses: { [key: string]: Warehouse | 0 };
offices: { [key: string]: OfficeSpace | 0 };
2021-08-31 19:04:33 +02:00
2021-09-05 01:09:30 +02:00
init(): void;
getProductDescriptionText(): string;
getMaximumNumberProducts(): number;
hasMaximumNumberProducts(): boolean;
calculateProductionFactors(): void;
updateWarehouseSizeUsed(warehouse: Warehouse): void;
process(marketCycles: number, state: string, corporation: ICorporation): void;
processMaterialMarket(): void;
processProductMarket(marketCycles: number): void;
2021-09-09 05:47:34 +02:00
processMaterials(marketCycles: number, corporation: ICorporation): [number, number];
processProducts(marketCycles: number, corporation: ICorporation): [number, number];
processProduct(marketCycles: number, product: Product, corporation: ICorporation): number;
2021-09-05 01:09:30 +02:00
discontinueProduct(product: Product): void;
2021-09-09 05:47:34 +02:00
upgrade(upgrade: IndustryUpgrade, refs: { corporation: ICorporation; office: OfficeSpace }): void;
getOfficeProductivity(office: OfficeSpace, params?: { forProduct?: boolean }): number;
2021-09-05 01:09:30 +02:00
getBusinessFactor(office: OfficeSpace): number;
getAdvertisingFactors(): [number, number, number, number];
getMarketFactor(mat: { dmd: number; cmp: number }): number;
hasResearch(name: string): boolean;
updateResearchTree(): void;
getAdvertisingMultiplier(): number;
getEmployeeChaMultiplier(): number;
getEmployeeCreMultiplier(): number;
getEmployeeEffMultiplier(): number;
getEmployeeIntMultiplier(): number;
getProductionMultiplier(): number;
getProductProductionMultiplier(): number;
getSalesMultiplier(): number;
getScientificResearchMultiplier(): number;
getStorageMultiplier(): number;
toJSON(): any;
}