export interface Achievement { name: string; description: string; unlocked: boolean; } export interface Advancement { const: number; era?: Era; name: string; } export interface Anger { fromPopulation: number; fromWar: number; fromEvents: number; fromSlavery: number; multiplier: number; } export declare type BiomeType = 'Desert' | 'Tundra' | 'Island' | 'Coast' | 'Plains' | 'Temperate Forest' | 'Rainforest' | 'Plains' | 'Hills' | 'Lake' | 'Iceberg' | 'Permafrost Tundra' | 'Oasis' | 'Mountains'; export interface Biome { name: BiomeType; description: string; } export interface Building { name: string; amount: number; productionCost: number; cashCost: number; description: string; effect: string; visible: boolean; enabled: boolean; } export interface Cash { total: number; perMinute: number; perMinuteCitizens: number; perMinuteBuildings: number; perMinuteBuildingMaintenance: number; perMinuteMilitary: number; perMinuteTradeRoutes: number; perMinuteTradeDeals: number; perMinuteSocialPolicies: number; perMinuteFaith: number; perMinuteLegacy: number; perMinuteWonders: number; } /** * Citizens are the backbone of one's quest for resources. */ export interface Citizen { name: CitizenType; contribution?: Contribution[]; amount?: number; description?: string; } export declare type CitizenType = 'farmer' | 'miner' | 'merchant' | 'cleric' | 'artist' | 'ruler' | 'doctor' | 'musician' | 'writer' | 'astronaut' | 'scientist' | 'woodcutter' | 'spy' | 'general' | 'soldier'; export interface Civilization { civName: string; leader: Leader; color: string; biomes: Biome[]; foodNeededForGrowth: number; happiness: Happiness; anger: Anger; health: Health; pollution: Pollution; population: number; populationGrowthCost: number; populationReal: number; populationEmployed: number; influence: Influence; cash: Cash; goldenAge: GoldenAge; faith: CivFaith; research: Research; culture: Culture; } export interface Contribution { type: 'PS' | 'PC' | 'PM' | 'PH' | 'constant'; interval: number; amount: number; resource: ResourceName; } export interface CivFaith { total: number; gameTotal: number; perMinuteFromBuildings: number; perMinuteFromSocialPolicies: number; perMinuteFromResources: number; perMinuteFromLegacy: number; perMinuteFromWonders: number; perMinute: number; multiplier: number; } export interface Culture { total: number; perMinuteFromCitizens: number; perMinuteFromSocialPolicies: number; perMinuteFromResources: number; perMinuteFromLegacy: number; perMinuteFromWonders: number; perMinuteFromAdvancements: number; multiplier: number; } export declare enum Era { Ancient = 0, Classical = 1, Medieval = 2, Renaissance = 3, Industrial = 4, Modern = 5, Atomic = 6, Information = 7, Future = 8 } export interface Influence { domesticPerMinute: { domesticPerMinuteFromBuildings: number; domesticPerMinuteFromPolicies: number; domesticPerMinuteFromAdvancements: number; domesticPerMinuteFromWonders: number; }; internationalPerMinute: { internationalPerMinuteFromBuildings: number; internationalPerMinuteFromPolicies: number; internationalMinuteFromAdvancements: number; internationalPerMinuteFromWonders: number; }; domestic: number; international: number; } export declare type flag = { [flag: string]: boolean; }; export interface Flags { [flag: string]: boolean | flag; } export interface GoldenAge { total: number; progress: number; goal: number; multiplier: number; } export interface Happiness { base: number; fromBuildings: number; fromWonders: number; fromCitizens: number; fromResources: number; fromCultureBonuses: number; fromFaithBonuses: number; fromEvents: number; multiplier: number; } export interface Health { base: number; fromResources: number; fromBuildings: number; multiplier: number; } export interface Leader { name: string; defaultName: string; defaultCivName: string; traits: Trait[]; } export interface Player { type: 'Human' | 'AI'; name: string; id: string; timesLegacied: number; legacyPoints: number; } export interface Pollution { fromPopulation: number; fromResources: number; fromBuildings: number; fromWonders: number; fromCorporations: number; fromEvents: number; mulitiplier: number; } export interface Research { total: number; perMinuteFromCitizens: number; perMinuteFromCultureBonuses: number; perMinuteFromFaithBonuses: number; perMinuteFromAdvancements: number; perMinuteFromTrade: number; perMinuteFromBuildings: number; perMinuteFromCorporations: number; } /** * Resources are the common currency of the game. * Food, Production, Gold, Faith, etc -- all are considered "Resources" */ export interface Resource { name: ResourceName; total: number; max: number; perSecond: number; perClick: number; description: string; category?: ResourceCategory; happinessBonus?: number; healthBonus?: number; pollutionBonus?: number; influenceBonus?: number; faithBonus?: number; cultureBonus?: number; foodBonus?: number; produnctionBonus?: number; exchangeRate?: number; visible?: boolean; unlocked?: boolean; } export declare enum ResourceCategory { health = "health", building = "building", strategic = "strategic", luxury = "luxury", power = "power" } /** A valid resource name */ export declare type ResourceName = string; export interface Trait { name: string; description: string; unlocked: boolean; } export interface Wonder { name: string; buildTime: number; remainingTime: number; visible: boolean; enabled: boolean; description: string; effect: string; } export declare function noop(): {};