168 lines
4.6 KiB
TypeScript
168 lines
4.6 KiB
TypeScript
export interface FactionPlanningStateSnapshot {
|
|
militaryShipCount: number;
|
|
minerShipCount: number;
|
|
transportShipCount: number;
|
|
constructorShipCount: number;
|
|
controlledSystemCount: number;
|
|
targetSystemCount: number;
|
|
hasShipFactory: boolean;
|
|
oreStockpile: number;
|
|
refinedMetalsAvailableStock: number;
|
|
refinedMetalsUsageRate: number;
|
|
refinedMetalsProjectedProductionRate: number;
|
|
refinedMetalsProjectedNetRate: number;
|
|
refinedMetalsLevelSeconds: number;
|
|
refinedMetalsLevel: string;
|
|
hullpartsAvailableStock: number;
|
|
hullpartsUsageRate: number;
|
|
hullpartsProjectedProductionRate: number;
|
|
hullpartsProjectedNetRate: number;
|
|
hullpartsLevelSeconds: number;
|
|
hullpartsLevel: string;
|
|
claytronicsAvailableStock: number;
|
|
claytronicsUsageRate: number;
|
|
claytronicsProjectedProductionRate: number;
|
|
claytronicsProjectedNetRate: number;
|
|
claytronicsLevelSeconds: number;
|
|
claytronicsLevel: string;
|
|
waterAvailableStock: number;
|
|
waterUsageRate: number;
|
|
waterProjectedProductionRate: number;
|
|
waterProjectedNetRate: number;
|
|
waterLevelSeconds: number;
|
|
waterLevel: string;
|
|
}
|
|
|
|
export interface FactionStrategicPrioritySnapshot {
|
|
goalName: string;
|
|
priority: number;
|
|
}
|
|
|
|
export interface FactionCommoditySignalSnapshot {
|
|
itemId: string;
|
|
availableStock: number;
|
|
onHand: number;
|
|
productionRatePerSecond: number;
|
|
committedProductionRatePerSecond: number;
|
|
usageRatePerSecond: number;
|
|
netRatePerSecond: number;
|
|
projectedNetRatePerSecond: number;
|
|
levelSeconds: number;
|
|
level: string;
|
|
projectedProductionRatePerSecond: number;
|
|
buyBacklog: number;
|
|
reservedForConstruction: number;
|
|
}
|
|
|
|
export interface FactionThreatSignalSnapshot {
|
|
scopeId: string;
|
|
scopeKind: string;
|
|
enemyShipCount: number;
|
|
enemyStationCount: number;
|
|
}
|
|
|
|
export interface FactionBlackboardSnapshot {
|
|
planCycle: number;
|
|
updatedAtUtc: string;
|
|
targetWarshipCount: number;
|
|
hasWarIndustrySupplyChain: boolean;
|
|
hasShipyard: boolean;
|
|
hasActiveExpansionProject: boolean;
|
|
activeExpansionCommodityId?: string | null;
|
|
activeExpansionModuleId?: string | null;
|
|
activeExpansionSiteId?: string | null;
|
|
activeExpansionSystemId?: string | null;
|
|
enemyFactionCount: number;
|
|
enemyShipCount: number;
|
|
enemyStationCount: number;
|
|
militaryShipCount: number;
|
|
minerShipCount: number;
|
|
transportShipCount: number;
|
|
constructorShipCount: number;
|
|
controlledSystemCount: number;
|
|
commoditySignals: FactionCommoditySignalSnapshot[];
|
|
threatSignals: FactionThreatSignalSnapshot[];
|
|
}
|
|
|
|
export interface FactionPlanStepSnapshot {
|
|
id: string;
|
|
kind: string;
|
|
status: string;
|
|
priority: number;
|
|
commodityId?: string | null;
|
|
moduleId?: string | null;
|
|
targetFactionId?: string | null;
|
|
targetSiteId?: string | null;
|
|
blockingReason?: string | null;
|
|
notes?: string | null;
|
|
lastEvaluatedCycle: number;
|
|
dependencyStepIds: string[];
|
|
requiredFacts: string[];
|
|
producedFacts: string[];
|
|
assignedAssets: string[];
|
|
issuedTaskIds: string[];
|
|
}
|
|
|
|
export interface FactionIssuedTaskSnapshot {
|
|
id: string;
|
|
kind: string;
|
|
state: string;
|
|
objectiveId: string;
|
|
stepId: string;
|
|
priority: number;
|
|
shipRole?: string | null;
|
|
commodityId?: string | null;
|
|
moduleId?: string | null;
|
|
targetFactionId?: string | null;
|
|
targetSystemId?: string | null;
|
|
targetSiteId?: string | null;
|
|
createdAtCycle: number;
|
|
updatedAtCycle: number;
|
|
blockingReason?: string | null;
|
|
notes?: string | null;
|
|
assignedAssets: string[];
|
|
}
|
|
|
|
export interface FactionObjectiveSnapshot {
|
|
id: string;
|
|
kind: string;
|
|
state: string;
|
|
priority: number;
|
|
parentObjectiveId?: string | null;
|
|
targetFactionId?: string | null;
|
|
targetSystemId?: string | null;
|
|
targetSiteId?: string | null;
|
|
targetRegionId?: string | null;
|
|
commodityId?: string | null;
|
|
moduleId?: string | null;
|
|
budgetWeight: number;
|
|
slotCost: number;
|
|
createdAtCycle: number;
|
|
updatedAtCycle: number;
|
|
invalidationReason?: string | null;
|
|
blockingReason?: string | null;
|
|
prerequisiteObjectiveIds: string[];
|
|
assignedAssets: string[];
|
|
steps: FactionPlanStepSnapshot[];
|
|
}
|
|
|
|
export interface FactionSnapshot {
|
|
id: string;
|
|
label: string;
|
|
color: string;
|
|
credits: number;
|
|
populationTotal: number;
|
|
oreMined: number;
|
|
goodsProduced: number;
|
|
shipsBuilt: number;
|
|
shipsLost: number;
|
|
defaultPolicySetId?: string | null;
|
|
strategicAssessment?: FactionPlanningStateSnapshot | null;
|
|
strategicPriorities?: FactionStrategicPrioritySnapshot[] | null;
|
|
blackboard?: FactionBlackboardSnapshot | null;
|
|
objectives?: FactionObjectiveSnapshot[] | null;
|
|
issuedTasks?: FactionIssuedTaskSnapshot[] | null;
|
|
}
|
|
|
|
export interface FactionDelta extends FactionSnapshot {}
|