bitburner-src/src/Corporation/IIndustry.ts

77 lines
2.6 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 {
name: string;
type: string;
sciResearch: Material;
2021-08-31 20:47:07 +02:00
researched: {[key: string]: boolean | undefined};
reqMats: {[key: string]: number | undefined};
2021-08-31 19:04:33 +02:00
prodMats: string[];
2021-08-31 20:47:07 +02:00
products: {[key: string]: Product | undefined};
2021-08-31 19:04:33 +02:00
makesProducts: boolean;
awareness: number;
popularity: number;
startingCost: number;
reFac: number;
sciFac: number;
hwFac: number;
robFac: number;
aiFac: number;
advFac: number;
prodMult: number;
// Decimal
lastCycleRevenue: any;
lastCycleExpenses: any;
thisCycleRevenue: any;
thisCycleExpenses: any;
upgrades: number[];
state: string;
newInd: boolean;
2021-08-31 20:47:07 +02:00
warehouses: {[key: string]: Warehouse | 0};
offices: {[key: string]: OfficeSpace | 0};
2021-08-31 19:04:33 +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;
processMaterials(marketCycles: number, corporation: ICorporation): [number, number];
processProducts(marketCycles: number, corporation: ICorporation): [number, number];
processProduct(marketCycles: number, product: Product, corporation: ICorporation): number;
discontinueProduct(product: Product): void;
2021-08-31 20:47:07 +02:00
upgrade(upgrade: IndustryUpgrade, refs: {corporation: ICorporation; office: OfficeSpace}): void;
2021-08-31 21:51:27 +02:00
getOfficeProductivity(office: OfficeSpace, params?: {forProduct?: boolean}): number;
2021-08-31 19:04:33 +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;
}