From 69724201e44a4749153ffb0708d83a82d29569c5 Mon Sep 17 00:00:00 2001 From: Natalie Rose Date: Thu, 20 Aug 2026 11:03:00 +1000 Subject: [PATCH] Remove redundant auto captured data --- src/auto-captured-data.ts | 14254 ------------------------------------ 1 file changed, 14254 deletions(-) delete mode 100644 src/auto-captured-data.ts diff --git a/src/auto-captured-data.ts b/src/auto-captured-data.ts deleted file mode 100644 index 6a549ec..0000000 --- a/src/auto-captured-data.ts +++ /dev/null @@ -1,14254 +0,0 @@ -// -// This data was captured using OpenAPI Dev Tools - https://github.com/AndrewWalsh/openapi-devtools -// Over time, stuff that's in here will be used to build the proper endpoint definitions. -// - -export const paths = { - '/body': { - post: { - summary: '/body', - description: '**Host**: http://lacuna.ocean74.net', - responses: { - '200': { - content: { - 'application/json-rpc': { - schema: { - type: 'object', - properties: { - jsonrpc: { type: 'string' }, - id: { type: 'integer' }, - result: { - type: 'object', - properties: { - status: { - type: 'object', - properties: { - body: { - type: 'object', - properties: { - zone: { type: 'string' }, - num_incoming_ally: { type: 'integer' }, - food_hour: { type: 'integer' }, - food_capacity: { type: 'integer' }, - ore_hour: { type: 'integer' }, - star_name: { type: 'string' }, - ore_stored: { type: 'integer' }, - energy_hour: { type: 'integer' }, - plots_available: { type: 'integer' }, - energy_stored: { type: 'integer' }, - ore: { - type: 'object', - properties: { - goethite: { type: 'integer' }, - gold: { type: 'integer' }, - anthracite: { type: 'integer' }, - chalcopyrite: { type: 'integer' }, - bauxite: { type: 'integer' }, - fluorite: { type: 'integer' }, - methane: { type: 'integer' }, - beryl: { type: 'integer' }, - rutile: { type: 'integer' }, - magnetite: { type: 'integer' }, - gypsum: { type: 'integer' }, - sulfur: { type: 'integer' }, - galena: { type: 'integer' }, - monazite: { type: 'integer' }, - trona: { type: 'integer' }, - halite: { type: 'integer' }, - uraninite: { type: 'integer' }, - zircon: { type: 'integer' }, - chromite: { type: 'integer' }, - kerogen: { type: 'integer' }, - }, - required: [ - 'goethite', - 'gold', - 'anthracite', - 'chalcopyrite', - 'bauxite', - 'fluorite', - 'methane', - 'beryl', - 'rutile', - 'magnetite', - 'gypsum', - 'sulfur', - 'galena', - 'monazite', - 'trona', - 'halite', - 'uraninite', - 'zircon', - 'chromite', - 'kerogen', - ], - }, - x: { type: 'integer' }, - water_hour: { type: 'integer' }, - build_queue_size: { type: 'integer' }, - size: { type: 'integer' }, - waste_capacity: { type: 'integer' }, - building_count: { type: 'integer' }, - orbit: { type: 'integer' }, - empire: { - type: 'object', - properties: { - name: { type: 'string' }, - is_isolationist: { type: 'integer' }, - id: { type: 'integer' }, - alignment: { type: 'string' }, - }, - required: ['name', 'is_isolationist', 'id', 'alignment'], - }, - ore_capacity: { type: 'integer' }, - num_incoming_enemy: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - propaganda_boost: { type: 'integer' }, - build_queue_len: { type: 'integer' }, - water_stored: { type: 'integer' }, - water: { type: 'integer' }, - notes: { type: 'string' }, - happiness: { type: 'integer' }, - waste_stored: { type: 'integer' }, - energy_capacity: { type: 'integer' }, - type: { type: 'string' }, - waste_hour: { type: 'integer' }, - food_stored: { type: 'integer' }, - id: { type: 'integer' }, - population: { type: 'integer' }, - surface_version: { type: 'integer' }, - num_incoming_own: { type: 'integer' }, - happiness_hour: { type: 'integer' }, - needs_surface_refresh: { type: 'integer' }, - star_id: { type: 'integer' }, - water_capacity: { type: 'integer' }, - name: { type: 'string' }, - neutral_entry: { type: 'string' }, - }, - required: [ - 'zone', - 'num_incoming_ally', - 'food_hour', - 'food_capacity', - 'ore_hour', - 'star_name', - 'ore_stored', - 'energy_hour', - 'plots_available', - 'energy_stored', - 'ore', - 'x', - 'water_hour', - 'build_queue_size', - 'size', - 'waste_capacity', - 'building_count', - 'orbit', - 'empire', - 'ore_capacity', - 'num_incoming_enemy', - 'y', - 'image', - 'propaganda_boost', - 'build_queue_len', - 'water_stored', - 'water', - 'notes', - 'happiness', - 'waste_stored', - 'energy_capacity', - 'type', - 'waste_hour', - 'food_stored', - 'id', - 'population', - 'surface_version', - 'num_incoming_own', - 'happiness_hour', - 'needs_surface_refresh', - 'star_id', - 'water_capacity', - 'name', - 'neutral_entry', - ], - }, - server: { - type: 'object', - properties: { - version: { type: 'number' }, - time: { type: 'string' }, - rpc_limit: { type: 'integer' }, - star_map_size: { - type: 'object', - properties: { - y: { type: 'array', items: { type: 'integer' } }, - x: { type: 'array', items: { type: 'integer' } }, - }, - required: ['y', 'x'], - }, - }, - required: ['version', 'time', 'rpc_limit', 'star_map_size'], - }, - empire: { - type: 'object', - properties: { - self_destruct_date: { type: 'string' }, - stations: { type: 'object' }, - next_colony_cost: { type: 'integer' }, - latest_message_id: { type: 'integer' }, - bodies: { - type: 'object', - properties: { - colonies: { - type: 'array', - items: { - type: 'object', - properties: { - empire_id: { type: 'integer' }, - star_id: { type: 'integer' }, - name: { type: 'string' }, - x: { type: 'integer' }, - empire_name: { type: 'string' }, - orbit: { type: 'integer' }, - zone: { type: 'string' }, - id: { type: 'integer' }, - y: { type: 'integer' }, - star_name: { type: 'string' }, - }, - required: [ - 'empire_id', - 'star_id', - 'name', - 'x', - 'empire_name', - 'orbit', - 'zone', - 'id', - 'y', - 'star_name', - ], - }, - }, - }, - required: ['colonies'], - }, - tech_level: { type: 'integer' }, - next_station_cost: { type: 'integer' }, - rpc_count: { type: 'integer' }, - colonies: { - type: 'object', - properties: { '467647': { type: 'string' } }, - required: ['467647'], - }, - essentia: { type: 'integer' }, - is_isolationist: { type: 'integer' }, - planets: { - type: 'object', - properties: { '467647': { type: 'string' } }, - required: ['467647'], - }, - id: { type: 'integer' }, - name: { type: 'string' }, - has_new_messages: { type: 'integer' }, - insurrect_value: { type: 'integer' }, - home_planet_id: { type: 'integer' }, - status_message: { type: 'string' }, - next_colony_srcs: { type: 'integer' }, - self_destruct_active: { type: 'integer' }, - }, - required: [ - 'self_destruct_date', - 'stations', - 'next_colony_cost', - 'latest_message_id', - 'bodies', - 'tech_level', - 'next_station_cost', - 'rpc_count', - 'colonies', - 'essentia', - 'is_isolationist', - 'planets', - 'id', - 'name', - 'has_new_messages', - 'insurrect_value', - 'home_planet_id', - 'status_message', - 'next_colony_srcs', - 'self_destruct_active', - ], - }, - }, - required: ['body', 'server', 'empire'], - }, - buildings: { - type: 'object', - properties: { - '521680': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'url', 'level', 'name'], - }, - '521681': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521685': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'name', 'level', 'url'], - }, - '521686': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521687': { - type: 'object', - properties: { - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['url', 'level', 'name', 'image', 'efficiency', 'x', 'y'], - }, - '521688': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'name', 'level', 'url', 'image'], - }, - '521689': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'level', 'name', 'url', 'x', 'efficiency', 'y'], - }, - '521690': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'level', 'name', 'url', 'image'], - }, - '521693': { - type: 'object', - properties: { - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'name', 'level', 'url', 'x', 'efficiency', 'y'], - }, - '521696': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'name', 'url'], - }, - '521697': { - type: 'object', - properties: { - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['level', 'url', 'name', 'image', 'efficiency', 'x', 'y'], - }, - '521698': { - type: 'object', - properties: { - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'url', 'level', 'name', 'x', 'efficiency', 'y'], - }, - '521699': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'name', 'level', 'url', 'image'], - }, - '521700': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'url', 'level', 'name'], - }, - '521701': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'url', 'level', 'name', 'image'], - }, - '521702': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521703': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'level', 'url', 'name', 'image'], - }, - '521704': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'name', 'url'], - }, - '521705': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'name', 'level', 'url'], - }, - '521706': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'level', 'name', 'url'], - }, - '521707': { - type: 'object', - properties: { - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['url', 'level', 'name', 'image', 'efficiency', 'x', 'y'], - }, - '521708': { - type: 'object', - properties: { - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'url', 'name', 'image', 'y', 'efficiency', 'x'], - }, - '521711': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'name', 'level', 'url'], - }, - '521712': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'level', 'url', 'name', 'image'], - }, - '521713': { - type: 'object', - properties: { - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['level', 'url', 'name', 'image', 'efficiency', 'x', 'y'], - }, - '521714': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'level', 'name', 'url', 'x', 'efficiency', 'y'], - }, - '521715': { - type: 'object', - properties: { - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'name', 'level', 'url', 'y', 'x', 'efficiency'], - }, - '521716': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521717': { - type: 'object', - properties: { - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['name', 'level', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521718': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'level', 'name', 'url', 'x', 'efficiency', 'y'], - }, - '521938': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'name', 'level', 'url'], - }, - '521939': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'level', 'url', 'name', 'image'], - }, - '521940': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'name', 'url'], - }, - '521941': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521942': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'level', 'name', 'url', 'image'], - }, - '521943': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521944': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'name', 'level', 'url'], - }, - '521945': { - type: 'object', - properties: { - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['name', 'level', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521946': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'name', 'level', 'url'], - }, - '521947': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'url', 'name'], - }, - '521948': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'level', 'url', 'name', 'image'], - }, - '521949': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'level', 'name', 'url', 'image'], - }, - '521950': { - type: 'object', - properties: { - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'name', 'level', 'url', 'x', 'efficiency', 'y'], - }, - }, - required: [ - '521680', - '521681', - '521685', - '521686', - '521687', - '521688', - '521689', - '521690', - '521693', - '521696', - '521697', - '521698', - '521699', - '521700', - '521701', - '521702', - '521703', - '521704', - '521705', - '521706', - '521707', - '521708', - '521711', - '521712', - '521713', - '521714', - '521715', - '521716', - '521717', - '521718', - '521938', - '521939', - '521940', - '521941', - '521942', - '521943', - '521944', - '521945', - '521946', - '521947', - '521948', - '521949', - '521950', - ], - }, - body: { - type: 'object', - properties: { surface_image: { type: 'string' } }, - required: ['surface_image'], - }, - }, - required: ['status', 'buildings', 'body'], - }, - }, - required: ['jsonrpc', 'id', 'result'], - }, - }, - }, - description: '', - headers: { 'X-Served-By': { required: false, schema: { type: 'string' } } }, - }, - }, - security: [], - requestBody: { - content: { - 'application/json': { - schema: { - type: 'object', - properties: { - id: { type: 'integer' }, - method: { type: 'string' }, - jsonrpc: { type: 'string' }, - params: { type: 'array', items: { type: ['integer', 'string'] } }, - }, - required: ['id', 'method', 'jsonrpc', 'params'], - }, - }, - }, - }, - }, - }, - '/map': { - post: { - summary: '/map', - description: '**Host**: http://lacuna.ocean74.net', - responses: { - '200': { - content: { - 'application/json-rpc': { - schema: { - type: 'object', - properties: { - jsonrpc: { type: 'string' }, - id: { type: 'integer' }, - result: { - type: 'object', - properties: { - stars: { - type: 'array', - items: { - type: 'object', - properties: { - name: { type: 'string' }, - color: { type: 'string' }, - y: { type: 'integer' }, - id: { type: 'integer' }, - zone: { type: 'string' }, - influence: { type: 'null' }, - x: { type: 'integer' }, - bodies: { - type: 'array', - items: { - type: 'object', - properties: { - body_has_fissure: { type: 'integer' }, - x: { type: 'integer' }, - size: { type: 'integer' }, - name: { type: 'string' }, - orbit: { type: 'integer' }, - type: { type: 'string' }, - id: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - empire: { - type: 'object', - properties: { - name: { type: 'string' }, - is_isolationist: { type: 'integer' }, - alignment: { type: 'string' }, - id: { type: 'integer' }, - }, - required: ['name', 'is_isolationist', 'alignment', 'id'], - }, - }, - required: [ - 'body_has_fissure', - 'x', - 'size', - 'name', - 'orbit', - 'type', - 'id', - 'y', - 'image', - ], - }, - }, - }, - required: ['name', 'color', 'y', 'id', 'zone', 'influence', 'x'], - }, - }, - status: { - type: 'object', - properties: { - server: { - type: 'object', - properties: { - star_map_size: { - type: 'object', - properties: { - y: { type: 'array', items: { type: 'integer' } }, - x: { type: 'array', items: { type: 'integer' } }, - }, - required: ['y', 'x'], - }, - rpc_limit: { type: 'integer' }, - time: { type: 'string' }, - version: { type: 'number' }, - }, - required: ['star_map_size', 'rpc_limit', 'time', 'version'], - }, - empire: { - type: 'object', - properties: { - self_destruct_active: { type: 'integer' }, - next_colony_srcs: { type: 'integer' }, - status_message: { type: 'string' }, - home_planet_id: { type: 'integer' }, - insurrect_value: { type: 'integer' }, - name: { type: 'string' }, - has_new_messages: { type: 'integer' }, - id: { type: 'integer' }, - planets: { - type: 'object', - properties: { '467647': { type: 'string' } }, - required: ['467647'], - }, - is_isolationist: { type: 'integer' }, - essentia: { type: 'integer' }, - colonies: { - type: 'object', - properties: { '467647': { type: 'string' } }, - required: ['467647'], - }, - rpc_count: { type: 'integer' }, - next_station_cost: { type: 'integer' }, - tech_level: { type: 'integer' }, - bodies: { - type: 'object', - properties: { - colonies: { - type: 'array', - items: { - type: 'object', - properties: { - empire_id: { type: 'integer' }, - star_id: { type: 'integer' }, - name: { type: 'string' }, - x: { type: 'integer' }, - empire_name: { type: 'string' }, - orbit: { type: 'integer' }, - zone: { type: 'string' }, - id: { type: 'integer' }, - y: { type: 'integer' }, - star_name: { type: 'string' }, - }, - required: [ - 'empire_id', - 'star_id', - 'name', - 'x', - 'empire_name', - 'orbit', - 'zone', - 'id', - 'y', - 'star_name', - ], - }, - }, - }, - required: ['colonies'], - }, - latest_message_id: { type: 'integer' }, - next_colony_cost: { type: 'integer' }, - self_destruct_date: { type: 'string' }, - stations: { type: 'object' }, - }, - required: [ - 'self_destruct_active', - 'next_colony_srcs', - 'status_message', - 'home_planet_id', - 'insurrect_value', - 'name', - 'has_new_messages', - 'id', - 'planets', - 'is_isolationist', - 'essentia', - 'colonies', - 'rpc_count', - 'next_station_cost', - 'tech_level', - 'bodies', - 'latest_message_id', - 'next_colony_cost', - 'self_destruct_date', - 'stations', - ], - }, - }, - required: ['server', 'empire'], - }, - }, - required: ['stars', 'status'], - }, - }, - required: ['jsonrpc', 'id', 'result'], - }, - }, - }, - description: '', - headers: { 'X-Served-By': { required: false, schema: { type: 'string' } } }, - }, - }, - security: [], - requestBody: { - content: { - 'application/json': { - schema: { - type: 'object', - properties: { - id: { type: 'integer' }, - method: { type: 'string' }, - jsonrpc: { type: 'string' }, - params: { - type: 'array', - items: { - type: 'object', - properties: { - session_id: { type: 'string' }, - left: { type: 'integer' }, - right: { type: 'integer' }, - top: { type: 'integer' }, - bottom: { type: 'integer' }, - }, - required: ['session_id', 'left', 'right', 'top', 'bottom'], - }, - }, - }, - required: ['id', 'method', 'jsonrpc', 'params'], - }, - }, - }, - }, - }, - }, - '/planetarycommand': { - post: { - summary: '/planetarycommand', - description: '**Host**: http://lacuna.ocean74.net', - responses: { - '200': { - content: { - 'application/json-rpc': { - schema: { - type: 'object', - properties: { - result: { - type: 'object', - properties: { - next_colony_cost: { type: 'string' }, - pod_delay: { type: 'integer' }, - ore: { - type: 'object', - properties: { - zircon_stored: { type: 'integer' }, - bauxite_stored: { type: 'integer' }, - rutile_hour: { type: 'integer' }, - halite_stored: { type: 'integer' }, - monazite_hour: { type: 'integer' }, - kerogen_hour: { type: 'integer' }, - magnetite_stored: { type: 'integer' }, - beryl_stored: { type: 'integer' }, - fluorite_stored: { type: 'integer' }, - gold_stored: { type: 'integer' }, - galena_stored: { type: 'integer' }, - chromite_hour: { type: 'integer' }, - halite_hour: { type: 'integer' }, - gold_hour: { type: 'integer' }, - chromite_stored: { type: 'integer' }, - anthracite_hour: { type: 'integer' }, - methane_stored: { type: 'integer' }, - magnetite_hour: { type: 'integer' }, - beryl_hour: { type: 'integer' }, - gypsum_hour: { type: 'integer' }, - bauxite_hour: { type: 'integer' }, - chalcopyrite_hour: { type: 'integer' }, - trona_stored: { type: 'integer' }, - kerogen_stored: { type: 'integer' }, - monazite_stored: { type: 'integer' }, - uraninite_stored: { type: 'integer' }, - goethite_hour: { type: 'integer' }, - trona_hour: { type: 'integer' }, - uraninite_hour: { type: 'integer' }, - sulfur_stored: { type: 'integer' }, - methane_hour: { type: 'integer' }, - fluorite_hour: { type: 'integer' }, - gypsum_stored: { type: 'integer' }, - chalcopyrite_stored: { type: 'integer' }, - goethite_stored: { type: 'integer' }, - sulfur_hour: { type: 'integer' }, - anthracite_stored: { type: 'integer' }, - galena_hour: { type: 'integer' }, - rutile_stored: { type: 'integer' }, - zircon_hour: { type: 'integer' }, - }, - required: [ - 'zircon_stored', - 'bauxite_stored', - 'rutile_hour', - 'halite_stored', - 'monazite_hour', - 'kerogen_hour', - 'magnetite_stored', - 'beryl_stored', - 'fluorite_stored', - 'gold_stored', - 'galena_stored', - 'chromite_hour', - 'halite_hour', - 'gold_hour', - 'chromite_stored', - 'anthracite_hour', - 'methane_stored', - 'magnetite_hour', - 'beryl_hour', - 'gypsum_hour', - 'bauxite_hour', - 'chalcopyrite_hour', - 'trona_stored', - 'kerogen_stored', - 'monazite_stored', - 'uraninite_stored', - 'goethite_hour', - 'trona_hour', - 'uraninite_hour', - 'sulfur_stored', - 'methane_hour', - 'fluorite_hour', - 'gypsum_stored', - 'chalcopyrite_stored', - 'goethite_stored', - 'sulfur_hour', - 'anthracite_stored', - 'galena_hour', - 'rutile_stored', - 'zircon_hour', - ], - }, - food: { - type: 'object', - properties: { - algae_stored: { type: 'integer' }, - cheese_hour: { type: 'integer' }, - beetle_hour: { type: 'integer' }, - burger_hour: { type: 'integer' }, - corn_hour: { type: 'integer' }, - algae_hour: { type: 'integer' }, - bread_hour: { type: 'integer' }, - cider_hour: { type: 'integer' }, - potato_stored: { type: 'integer' }, - fungus_hour: { type: 'integer' }, - meal_hour: { type: 'integer' }, - bean_stored: { type: 'integer' }, - wheat_hour: { type: 'integer' }, - potato_hour: { type: 'integer' }, - chip_hour: { type: 'integer' }, - shake_stored: { type: 'integer' }, - pancake_stored: { type: 'integer' }, - beetle_stored: { type: 'integer' }, - lapis_stored: { type: 'integer' }, - cheese_stored: { type: 'integer' }, - bean_hour: { type: 'integer' }, - meal_stored: { type: 'integer' }, - syrup_stored: { type: 'integer' }, - pancake_hour: { type: 'integer' }, - milk_hour: { type: 'integer' }, - soup_hour: { type: 'integer' }, - root_stored: { type: 'integer' }, - cider_stored: { type: 'integer' }, - lapis_hour: { type: 'integer' }, - bread_stored: { type: 'integer' }, - milk_stored: { type: 'integer' }, - apple_hour: { type: 'integer' }, - corn_stored: { type: 'integer' }, - apple_stored: { type: 'integer' }, - pie_stored: { type: 'integer' }, - wheat_stored: { type: 'integer' }, - fungus_stored: { type: 'integer' }, - shake_hour: { type: 'integer' }, - root_hour: { type: 'integer' }, - syrup_hour: { type: 'integer' }, - pie_hour: { type: 'integer' }, - burger_stored: { type: 'integer' }, - chip_stored: { type: 'integer' }, - soup_stored: { type: 'integer' }, - }, - required: [ - 'algae_stored', - 'cheese_hour', - 'beetle_hour', - 'burger_hour', - 'corn_hour', - 'algae_hour', - 'bread_hour', - 'cider_hour', - 'potato_stored', - 'fungus_hour', - 'meal_hour', - 'bean_stored', - 'wheat_hour', - 'potato_hour', - 'chip_hour', - 'shake_stored', - 'pancake_stored', - 'beetle_stored', - 'lapis_stored', - 'cheese_stored', - 'bean_hour', - 'meal_stored', - 'syrup_stored', - 'pancake_hour', - 'milk_hour', - 'soup_hour', - 'root_stored', - 'cider_stored', - 'lapis_hour', - 'bread_stored', - 'milk_stored', - 'apple_hour', - 'corn_stored', - 'apple_stored', - 'pie_stored', - 'wheat_stored', - 'fungus_stored', - 'shake_hour', - 'root_hour', - 'syrup_hour', - 'pie_hour', - 'burger_stored', - 'chip_stored', - 'soup_stored', - ], - }, - buildings: { - type: 'object', - properties: { - '521680': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'name', 'url'], - }, - '521681': { - type: 'object', - properties: { - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'name', 'level', 'url', 'x', 'efficiency', 'y'], - }, - '521685': { - type: 'object', - properties: { - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['url', 'level', 'name', 'image', 'efficiency', 'x', 'y'], - }, - '521686': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'name', 'level', 'url'], - }, - '521687': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'level', 'url', 'name', 'image'], - }, - '521688': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521689': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521690': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'level', 'url', 'name', 'y', 'x', 'efficiency'], - }, - '521693': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'url', 'level', 'name'], - }, - '521696': { - type: 'object', - properties: { - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'url', 'level', 'name', 'y', 'x', 'efficiency'], - }, - '521697': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'url', 'level', 'name', 'image'], - }, - '521698': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'level', 'url', 'name', 'y', 'x', 'efficiency'], - }, - '521699': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521700': { - type: 'object', - properties: { - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'name', 'level', 'url', 'y', 'x', 'efficiency'], - }, - '521701': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'level', 'name', 'url', 'y', 'x', 'efficiency'], - }, - '521702': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'name', 'level', 'url', 'image'], - }, - '521703': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'name', 'level', 'url'], - }, - '521704': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'name', 'level', 'url'], - }, - '521705': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'level', 'name', 'url'], - }, - '521706': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'level', 'name', 'url', 'image'], - }, - '521707': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'name', 'level', 'url', 'image'], - }, - '521708': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'name', 'level', 'url'], - }, - '521711': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521712': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521713': { - type: 'object', - properties: { - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['name', 'level', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521714': { - type: 'object', - properties: { - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'url', 'level', 'name', 'y', 'x', 'efficiency'], - }, - '521715': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'url', 'level', 'name'], - }, - '521716': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'name', 'level', 'url'], - }, - '521717': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'level', 'url', 'name'], - }, - '521718': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'url', 'name'], - }, - '521938': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'name', 'level', 'url', 'image'], - }, - '521939': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'level', 'name', 'url', 'x', 'efficiency', 'y'], - }, - '521940': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'name', 'level', 'url'], - }, - '521941': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521942': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'level', 'url', 'name', 'y', 'x', 'efficiency'], - }, - '521943': { - type: 'object', - properties: { - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'url', 'name', 'image', 'y', 'efficiency', 'x'], - }, - '521944': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'level', 'url', 'name'], - }, - '521945': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'url', 'level', 'name', 'image'], - }, - '521946': { - type: 'object', - properties: { - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'name', 'level', 'url', 'x', 'efficiency', 'y'], - }, - '521947': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'url', 'level', 'name'], - }, - '521948': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'level', 'url', 'name', 'image'], - }, - '521949': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'url', 'level', 'name', 'image'], - }, - '521950': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - pending_build: { - type: 'object', - properties: { - end: { type: 'string' }, - start: { type: 'string' }, - seconds_remaining: { type: 'integer' }, - }, - required: ['end', 'start', 'seconds_remaining'], - }, - }, - required: ['efficiency', 'x', 'y', 'name', 'level', 'url', 'image'], - }, - }, - required: [ - '521680', - '521681', - '521685', - '521686', - '521687', - '521688', - '521689', - '521690', - '521693', - '521696', - '521697', - '521698', - '521699', - '521700', - '521701', - '521702', - '521703', - '521704', - '521705', - '521706', - '521707', - '521708', - '521711', - '521712', - '521713', - '521714', - '521715', - '521716', - '521717', - '521718', - '521938', - '521939', - '521940', - '521941', - '521942', - '521943', - '521944', - '521945', - '521946', - '521947', - '521948', - '521949', - '521950', - ], - }, - status: { - type: 'object', - properties: { - body: { - type: 'object', - properties: { - ore_capacity: { type: 'integer' }, - y: { type: 'integer' }, - num_incoming_enemy: { type: 'integer' }, - waste_capacity: { type: 'integer' }, - building_count: { type: 'integer' }, - orbit: { type: 'integer' }, - empire: { - type: 'object', - properties: { - alignment: { type: 'string' }, - id: { type: 'integer' }, - is_isolationist: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['alignment', 'id', 'is_isolationist', 'name'], - }, - water_stored: { type: 'integer' }, - water: { type: 'integer' }, - notes: { type: 'string' }, - propaganda_boost: { type: 'integer' }, - image: { type: 'string' }, - build_queue_len: { type: 'integer' }, - happiness: { type: 'integer' }, - waste_stored: { type: 'integer' }, - energy_capacity: { type: 'integer' }, - id: { type: 'integer' }, - type: { type: 'string' }, - waste_hour: { type: 'integer' }, - food_stored: { type: 'integer' }, - surface_version: { type: 'integer' }, - population: { type: 'integer' }, - num_incoming_own: { type: 'integer' }, - happiness_hour: { type: 'integer' }, - neutral_entry: { type: 'string' }, - needs_surface_refresh: { type: 'integer' }, - star_id: { type: 'integer' }, - water_capacity: { type: 'integer' }, - name: { type: 'string' }, - num_incoming_ally: { type: 'integer' }, - zone: { type: 'string' }, - food_hour: { type: 'integer' }, - food_capacity: { type: 'integer' }, - star_name: { type: 'string' }, - ore_stored: { type: 'integer' }, - ore_hour: { type: 'integer' }, - energy_stored: { type: 'integer' }, - ore: { - type: 'object', - properties: { - bauxite: { type: 'integer' }, - goethite: { type: 'integer' }, - gold: { type: 'integer' }, - chalcopyrite: { type: 'integer' }, - anthracite: { type: 'integer' }, - beryl: { type: 'integer' }, - fluorite: { type: 'integer' }, - methane: { type: 'integer' }, - sulfur: { type: 'integer' }, - gypsum: { type: 'integer' }, - rutile: { type: 'integer' }, - magnetite: { type: 'integer' }, - uraninite: { type: 'integer' }, - zircon: { type: 'integer' }, - kerogen: { type: 'integer' }, - chromite: { type: 'integer' }, - galena: { type: 'integer' }, - trona: { type: 'integer' }, - monazite: { type: 'integer' }, - halite: { type: 'integer' }, - }, - required: [ - 'bauxite', - 'goethite', - 'gold', - 'chalcopyrite', - 'anthracite', - 'beryl', - 'fluorite', - 'methane', - 'sulfur', - 'gypsum', - 'rutile', - 'magnetite', - 'uraninite', - 'zircon', - 'kerogen', - 'chromite', - 'galena', - 'trona', - 'monazite', - 'halite', - ], - }, - energy_hour: { type: 'integer' }, - plots_available: { type: 'integer' }, - size: { type: 'integer' }, - x: { type: 'integer' }, - water_hour: { type: 'integer' }, - build_queue_size: { type: 'integer' }, - }, - required: [ - 'ore_capacity', - 'y', - 'num_incoming_enemy', - 'waste_capacity', - 'building_count', - 'orbit', - 'empire', - 'water_stored', - 'water', - 'notes', - 'propaganda_boost', - 'image', - 'build_queue_len', - 'happiness', - 'waste_stored', - 'energy_capacity', - 'id', - 'type', - 'waste_hour', - 'food_stored', - 'surface_version', - 'population', - 'num_incoming_own', - 'happiness_hour', - 'neutral_entry', - 'needs_surface_refresh', - 'star_id', - 'water_capacity', - 'name', - 'num_incoming_ally', - 'zone', - 'food_hour', - 'food_capacity', - 'star_name', - 'ore_stored', - 'ore_hour', - 'energy_stored', - 'ore', - 'energy_hour', - 'plots_available', - 'size', - 'x', - 'water_hour', - 'build_queue_size', - ], - }, - server: { - type: 'object', - properties: { - star_map_size: { - type: 'object', - properties: { - y: { type: 'array', items: { type: 'integer' } }, - x: { type: 'array', items: { type: 'integer' } }, - }, - required: ['y', 'x'], - }, - rpc_limit: { type: 'integer' }, - version: { type: 'number' }, - time: { type: 'string' }, - }, - required: ['star_map_size', 'rpc_limit', 'version', 'time'], - }, - empire: { - type: 'object', - properties: { - bodies: { - type: 'object', - properties: { - colonies: { - type: 'array', - items: { - type: 'object', - properties: { - zone: { type: 'string' }, - orbit: { type: 'integer' }, - y: { type: 'integer' }, - id: { type: 'integer' }, - star_name: { type: 'string' }, - star_id: { type: 'integer' }, - empire_id: { type: 'integer' }, - name: { type: 'string' }, - x: { type: 'integer' }, - empire_name: { type: 'string' }, - }, - required: [ - 'zone', - 'orbit', - 'y', - 'id', - 'star_name', - 'star_id', - 'empire_id', - 'name', - 'x', - 'empire_name', - ], - }, - }, - }, - required: ['colonies'], - }, - tech_level: { type: 'integer' }, - next_station_cost: { type: 'integer' }, - self_destruct_date: { type: 'string' }, - stations: { type: 'object' }, - latest_message_id: { type: 'integer' }, - next_colony_cost: { type: 'integer' }, - name: { type: 'string' }, - has_new_messages: { type: 'integer' }, - insurrect_value: { type: 'integer' }, - home_planet_id: { type: 'integer' }, - status_message: { type: 'string' }, - next_colony_srcs: { type: 'integer' }, - self_destruct_active: { type: 'integer' }, - rpc_count: { type: 'integer' }, - colonies: { - type: 'object', - properties: { '467647': { type: 'string' } }, - required: ['467647'], - }, - essentia: { type: 'integer' }, - is_isolationist: { type: 'integer' }, - planets: { - type: 'object', - properties: { '467647': { type: 'string' } }, - required: ['467647'], - }, - id: { type: 'integer' }, - }, - required: [ - 'bodies', - 'tech_level', - 'next_station_cost', - 'self_destruct_date', - 'stations', - 'latest_message_id', - 'next_colony_cost', - 'name', - 'has_new_messages', - 'insurrect_value', - 'home_planet_id', - 'status_message', - 'next_colony_srcs', - 'self_destruct_active', - 'rpc_count', - 'colonies', - 'essentia', - 'is_isolationist', - 'planets', - 'id', - ], - }, - }, - required: ['body', 'server', 'empire'], - }, - next_colony_srcs: { type: 'string' }, - next_station_cost: { type: 'integer' }, - building: { - type: 'object', - properties: { - energy_hour: { type: 'integer' }, - url: { type: 'string' }, - downgrade: { - type: 'object', - properties: { - can: { type: 'integer' }, - reason: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['can', 'reason', 'image'], - }, - id: { type: 'integer' }, - ore_hour: { type: 'integer' }, - waste_hour: { type: 'integer' }, - name: { type: 'string' }, - water_capacity: { type: 'integer' }, - level: { type: 'integer' }, - upgrade: { - type: 'object', - properties: { - production: { - type: 'object', - properties: { - ore_capacity: { type: 'string' }, - waste_capacity: { type: 'integer' }, - waste_hour: { type: 'string' }, - ore_hour: { type: 'string' }, - energy_hour: { type: 'string' }, - food_hour: { type: 'string' }, - water_hour: { type: 'string' }, - happiness_hour: { type: 'string' }, - energy_capacity: { type: 'string' }, - food_capacity: { type: 'string' }, - water_capacity: { type: 'string' }, - }, - required: [ - 'ore_capacity', - 'waste_capacity', - 'waste_hour', - 'ore_hour', - 'energy_hour', - 'food_hour', - 'water_hour', - 'happiness_hour', - 'energy_capacity', - 'food_capacity', - 'water_capacity', - ], - }, - image: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - energy: { type: 'integer' }, - time: { type: 'integer' }, - food: { type: 'integer' }, - ore: { type: 'integer' }, - water: { type: 'integer' }, - waste: { type: 'integer' }, - }, - required: ['energy', 'time', 'food', 'ore', 'water', 'waste'], - }, - }, - required: ['production', 'image', 'reason', 'can', 'cost'], - }, - water_hour: { type: 'integer' }, - x: { type: 'integer' }, - happiness_hour: { type: 'integer' }, - efficiency: { type: 'integer' }, - pending_build: { type: 'null' }, - image: { type: 'string' }, - ore_capacity: { type: 'integer' }, - repair_costs: { - type: 'object', - properties: { - energy: { type: 'string' }, - ore: { type: 'string' }, - water: { type: 'string' }, - food: { type: 'string' }, - }, - required: ['energy', 'ore', 'water', 'food'], - }, - y: { type: 'integer' }, - waste_capacity: { type: 'integer' }, - food_capacity: { type: 'integer' }, - energy_capacity: { type: 'integer' }, - food_hour: { type: 'integer' }, - }, - required: [ - 'energy_hour', - 'url', - 'downgrade', - 'id', - 'ore_hour', - 'waste_hour', - 'name', - 'water_capacity', - 'level', - 'upgrade', - 'water_hour', - 'x', - 'happiness_hour', - 'efficiency', - 'pending_build', - 'image', - 'ore_capacity', - 'repair_costs', - 'y', - 'waste_capacity', - 'food_capacity', - 'energy_capacity', - 'food_hour', - ], - }, - planet: { - type: 'object', - properties: { - num_incoming_ally: { type: 'integer' }, - zone: { type: 'string' }, - food_capacity: { type: 'integer' }, - food_hour: { type: 'integer' }, - energy_stored: { type: 'integer' }, - ore: { - type: 'object', - properties: { - gypsum: { type: 'integer' }, - sulfur: { type: 'integer' }, - magnetite: { type: 'integer' }, - rutile: { type: 'integer' }, - chromite: { type: 'integer' }, - kerogen: { type: 'integer' }, - zircon: { type: 'integer' }, - uraninite: { type: 'integer' }, - monazite: { type: 'integer' }, - halite: { type: 'integer' }, - trona: { type: 'integer' }, - galena: { type: 'integer' }, - bauxite: { type: 'integer' }, - chalcopyrite: { type: 'integer' }, - anthracite: { type: 'integer' }, - gold: { type: 'integer' }, - goethite: { type: 'integer' }, - beryl: { type: 'integer' }, - fluorite: { type: 'integer' }, - methane: { type: 'integer' }, - }, - required: [ - 'gypsum', - 'sulfur', - 'magnetite', - 'rutile', - 'chromite', - 'kerogen', - 'zircon', - 'uraninite', - 'monazite', - 'halite', - 'trona', - 'galena', - 'bauxite', - 'chalcopyrite', - 'anthracite', - 'gold', - 'goethite', - 'beryl', - 'fluorite', - 'methane', - ], - }, - energy_hour: { type: 'integer' }, - plots_available: { type: 'integer' }, - star_name: { type: 'string' }, - ore_stored: { type: 'integer' }, - ore_hour: { type: 'integer' }, - size: { type: 'integer' }, - x: { type: 'integer' }, - water_hour: { type: 'integer' }, - build_queue_size: { type: 'integer' }, - water: { type: 'integer' }, - water_stored: { type: 'integer' }, - notes: { type: 'string' }, - propaganda_boost: { type: 'integer' }, - build_queue_len: { type: 'integer' }, - image: { type: 'string' }, - ore_capacity: { type: 'integer' }, - y: { type: 'integer' }, - num_incoming_enemy: { type: 'integer' }, - waste_capacity: { type: 'integer' }, - building_count: { type: 'integer' }, - orbit: { type: 'integer' }, - empire: { - type: 'object', - properties: { - name: { type: 'string' }, - is_isolationist: { type: 'integer' }, - id: { type: 'integer' }, - alignment: { type: 'string' }, - }, - required: ['name', 'is_isolationist', 'id', 'alignment'], - }, - energy_capacity: { type: 'integer' }, - waste_stored: { type: 'integer' }, - happiness: { type: 'integer' }, - surface_version: { type: 'integer' }, - population: { type: 'integer' }, - id: { type: 'integer' }, - waste_hour: { type: 'integer' }, - type: { type: 'string' }, - food_stored: { type: 'integer' }, - neutral_entry: { type: 'string' }, - needs_surface_refresh: { type: 'integer' }, - water_capacity: { type: 'integer' }, - star_id: { type: 'integer' }, - name: { type: 'string' }, - num_incoming_own: { type: 'integer' }, - happiness_hour: { type: 'integer' }, - }, - required: [ - 'num_incoming_ally', - 'zone', - 'food_capacity', - 'food_hour', - 'energy_stored', - 'ore', - 'energy_hour', - 'plots_available', - 'star_name', - 'ore_stored', - 'ore_hour', - 'size', - 'x', - 'water_hour', - 'build_queue_size', - 'water', - 'water_stored', - 'notes', - 'propaganda_boost', - 'build_queue_len', - 'image', - 'ore_capacity', - 'y', - 'num_incoming_enemy', - 'waste_capacity', - 'building_count', - 'orbit', - 'empire', - 'energy_capacity', - 'waste_stored', - 'happiness', - 'surface_version', - 'population', - 'id', - 'waste_hour', - 'type', - 'food_stored', - 'neutral_entry', - 'needs_surface_refresh', - 'water_capacity', - 'star_id', - 'name', - 'num_incoming_own', - 'happiness_hour', - ], - }, - insurrect_value: { type: 'string' }, - }, - required: [ - 'next_colony_cost', - 'pod_delay', - 'ore', - 'food', - 'buildings', - 'status', - 'next_colony_srcs', - 'next_station_cost', - 'building', - 'planet', - 'insurrect_value', - ], - }, - jsonrpc: { type: 'string' }, - id: { type: 'integer' }, - }, - required: ['result', 'jsonrpc', 'id'], - }, - }, - }, - description: '', - headers: { 'X-Served-By': { required: false, schema: { type: 'string' } } }, - }, - }, - security: [], - requestBody: { - content: { - 'application/json': { - schema: { - type: 'object', - properties: { - id: { type: 'integer' }, - method: { type: 'string' }, - jsonrpc: { type: 'string' }, - params: { type: 'array', items: { type: ['integer', 'string'] } }, - }, - required: ['id', 'method', 'jsonrpc', 'params'], - }, - }, - }, - }, - }, - }, - '/fission': { - post: { - summary: '/fission', - description: '**Host**: http://lacuna.ocean74.net', - responses: { - '200': { - content: { - 'application/json-rpc': { - schema: { - type: 'object', - properties: { - id: { type: 'integer' }, - jsonrpc: { type: 'string' }, - result: { - type: 'object', - properties: { - buildings: { - type: 'object', - properties: { - '521680': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'level', 'name', 'url'], - }, - '521681': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521685': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521686': { - type: 'object', - properties: { - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'url', 'level', 'name', 'x', 'efficiency', 'y'], - }, - '521687': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'url', 'level', 'name', 'image'], - }, - '521688': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'url', 'level', 'name'], - }, - '521689': { - type: 'object', - properties: { - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['name', 'level', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521690': { - type: 'object', - properties: { - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['level', 'url', 'name', 'image', 'efficiency', 'x', 'y'], - }, - '521693': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'level', 'url', 'name', 'image'], - }, - '521696': { - type: 'object', - properties: { - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['name', 'level', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521697': { - type: 'object', - properties: { - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['level', 'url', 'name', 'image', 'efficiency', 'x', 'y'], - }, - '521698': { - type: 'object', - properties: { - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'url', 'level', 'name', 'x', 'efficiency', 'y'], - }, - '521699': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'url', 'level', 'name'], - }, - '521700': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'level', 'name', 'url', 'y', 'x', 'efficiency'], - }, - '521701': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'name', 'level', 'url'], - }, - '521702': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'url', 'level', 'name', 'image'], - }, - '521703': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'name', 'level', 'url', 'image'], - }, - '521704': { - type: 'object', - properties: { - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['url', 'level', 'name', 'image', 'efficiency', 'x', 'y'], - }, - '521705': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'name', 'level', 'url'], - }, - '521706': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'url', 'name'], - }, - '521707': { - type: 'object', - properties: { - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'name', 'level', 'url', 'y', 'x', 'efficiency'], - }, - '521708': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'name', 'level', 'url', 'image'], - }, - '521711': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'url', 'level', 'name'], - }, - '521712': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'level', 'url', 'name'], - }, - '521713': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'level', 'name', 'url', 'image'], - }, - '521714': { - type: 'object', - properties: { - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'name', 'level', 'url', 'x', 'efficiency', 'y'], - }, - '521715': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'url', 'level', 'name'], - }, - '521716': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'url', 'level', 'name', 'image'], - }, - '521717': { - type: 'object', - properties: { - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'url', 'name', 'image', 'y', 'efficiency', 'x'], - }, - '521718': { - type: 'object', - properties: { - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'url', 'name', 'image', 'y', 'efficiency', 'x'], - }, - '521938': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'name', 'level', 'url', 'image'], - }, - '521939': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'url', 'level', 'name'], - }, - '521940': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'name', 'level', 'url', 'image'], - }, - '521941': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'url', 'level', 'name'], - }, - '521942': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'level', 'url', 'name', 'image'], - }, - '521943': { - type: 'object', - properties: { - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['name', 'level', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521944': { - type: 'object', - properties: { - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'url', 'name', 'image', 'y', 'efficiency', 'x'], - }, - '521945': { - type: 'object', - properties: { - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['level', 'url', 'name', 'image', 'efficiency', 'x', 'y'], - }, - '521946': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'name', 'level', 'url'], - }, - '521947': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'name', 'level', 'url'], - }, - '521948': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'name', 'level', 'url', 'image'], - }, - '521949': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'level', 'url', 'name', 'y', 'x', 'efficiency'], - }, - '521950': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - pending_build: { - type: 'object', - properties: { - seconds_remaining: { type: 'integer' }, - end: { type: 'string' }, - start: { type: 'string' }, - }, - required: ['seconds_remaining', 'end', 'start'], - }, - }, - required: ['image', 'level', 'url', 'name', 'y', 'x', 'efficiency'], - }, - }, - required: [ - '521680', - '521681', - '521685', - '521686', - '521687', - '521688', - '521689', - '521690', - '521693', - '521696', - '521697', - '521698', - '521699', - '521700', - '521701', - '521702', - '521703', - '521704', - '521705', - '521706', - '521707', - '521708', - '521711', - '521712', - '521713', - '521714', - '521715', - '521716', - '521717', - '521718', - '521938', - '521939', - '521940', - '521941', - '521942', - '521943', - '521944', - '521945', - '521946', - '521947', - '521948', - '521949', - '521950', - ], - }, - status: { - type: 'object', - properties: { - empire: { - type: 'object', - properties: { - insurrect_value: { type: 'integer' }, - home_planet_id: { type: 'integer' }, - has_new_messages: { type: 'integer' }, - name: { type: 'string' }, - next_colony_srcs: { type: 'integer' }, - self_destruct_active: { type: 'integer' }, - status_message: { type: 'string' }, - is_isolationist: { type: 'integer' }, - rpc_count: { type: 'integer' }, - essentia: { type: 'integer' }, - colonies: { - type: 'object', - properties: { '467647': { type: 'string' } }, - required: ['467647'], - }, - planets: { - type: 'object', - properties: { '467647': { type: 'string' } }, - required: ['467647'], - }, - id: { type: 'integer' }, - bodies: { - type: 'object', - properties: { - colonies: { - type: 'array', - items: { - type: 'object', - properties: { - zone: { type: 'string' }, - orbit: { type: 'integer' }, - star_name: { type: 'string' }, - id: { type: 'integer' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - empire_name: { type: 'string' }, - name: { type: 'string' }, - empire_id: { type: 'integer' }, - star_id: { type: 'integer' }, - }, - required: [ - 'zone', - 'orbit', - 'star_name', - 'id', - 'y', - 'x', - 'empire_name', - 'name', - 'empire_id', - 'star_id', - ], - }, - }, - }, - required: ['colonies'], - }, - tech_level: { type: 'integer' }, - next_station_cost: { type: 'integer' }, - self_destruct_date: { type: 'string' }, - stations: { type: 'object' }, - latest_message_id: { type: 'integer' }, - next_colony_cost: { type: 'integer' }, - }, - required: [ - 'insurrect_value', - 'home_planet_id', - 'has_new_messages', - 'name', - 'next_colony_srcs', - 'self_destruct_active', - 'status_message', - 'is_isolationist', - 'rpc_count', - 'essentia', - 'colonies', - 'planets', - 'id', - 'bodies', - 'tech_level', - 'next_station_cost', - 'self_destruct_date', - 'stations', - 'latest_message_id', - 'next_colony_cost', - ], - }, - server: { - type: 'object', - properties: { - time: { type: 'string' }, - version: { type: 'number' }, - star_map_size: { - type: 'object', - properties: { - y: { type: 'array', items: { type: 'integer' } }, - x: { type: 'array', items: { type: 'integer' } }, - }, - required: ['y', 'x'], - }, - rpc_limit: { type: 'integer' }, - }, - required: ['time', 'version', 'star_map_size', 'rpc_limit'], - }, - body: { - type: 'object', - properties: { - star_name: { type: 'string' }, - ore_stored: { type: 'integer' }, - ore_hour: { type: 'integer' }, - energy_stored: { type: 'integer' }, - ore: { - type: 'object', - properties: { - goethite: { type: 'integer' }, - gold: { type: 'integer' }, - anthracite: { type: 'integer' }, - chalcopyrite: { type: 'integer' }, - bauxite: { type: 'integer' }, - fluorite: { type: 'integer' }, - methane: { type: 'integer' }, - beryl: { type: 'integer' }, - rutile: { type: 'integer' }, - magnetite: { type: 'integer' }, - gypsum: { type: 'integer' }, - sulfur: { type: 'integer' }, - galena: { type: 'integer' }, - monazite: { type: 'integer' }, - trona: { type: 'integer' }, - halite: { type: 'integer' }, - uraninite: { type: 'integer' }, - zircon: { type: 'integer' }, - kerogen: { type: 'integer' }, - chromite: { type: 'integer' }, - }, - required: [ - 'goethite', - 'gold', - 'anthracite', - 'chalcopyrite', - 'bauxite', - 'fluorite', - 'methane', - 'beryl', - 'rutile', - 'magnetite', - 'gypsum', - 'sulfur', - 'galena', - 'monazite', - 'trona', - 'halite', - 'uraninite', - 'zircon', - 'kerogen', - 'chromite', - ], - }, - energy_hour: { type: 'integer' }, - plots_available: { type: 'integer' }, - size: { type: 'integer' }, - x: { type: 'integer' }, - water_hour: { type: 'integer' }, - build_queue_size: { type: 'integer' }, - num_incoming_ally: { type: 'integer' }, - zone: { type: 'string' }, - food_hour: { type: 'integer' }, - food_capacity: { type: 'integer' }, - id: { type: 'integer' }, - type: { type: 'string' }, - waste_hour: { type: 'integer' }, - food_stored: { type: 'integer' }, - surface_version: { type: 'integer' }, - population: { type: 'integer' }, - num_incoming_own: { type: 'integer' }, - happiness_hour: { type: 'integer' }, - neutral_entry: { type: 'string' }, - needs_surface_refresh: { type: 'integer' }, - star_id: { type: 'integer' }, - water_capacity: { type: 'integer' }, - name: { type: 'string' }, - ore_capacity: { type: 'integer' }, - num_incoming_enemy: { type: 'integer' }, - y: { type: 'integer' }, - orbit: { type: 'integer' }, - waste_capacity: { type: 'integer' }, - building_count: { type: 'integer' }, - empire: { - type: 'object', - properties: { - alignment: { type: 'string' }, - id: { type: 'integer' }, - is_isolationist: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['alignment', 'id', 'is_isolationist', 'name'], - }, - water_stored: { type: 'integer' }, - water: { type: 'integer' }, - notes: { type: 'string' }, - build_queue_len: { type: 'integer' }, - propaganda_boost: { type: 'integer' }, - image: { type: 'string' }, - happiness: { type: 'integer' }, - energy_capacity: { type: 'integer' }, - waste_stored: { type: 'integer' }, - }, - required: [ - 'star_name', - 'ore_stored', - 'ore_hour', - 'energy_stored', - 'ore', - 'energy_hour', - 'plots_available', - 'size', - 'x', - 'water_hour', - 'build_queue_size', - 'num_incoming_ally', - 'zone', - 'food_hour', - 'food_capacity', - 'id', - 'type', - 'waste_hour', - 'food_stored', - 'surface_version', - 'population', - 'num_incoming_own', - 'happiness_hour', - 'neutral_entry', - 'needs_surface_refresh', - 'star_id', - 'water_capacity', - 'name', - 'ore_capacity', - 'num_incoming_enemy', - 'y', - 'orbit', - 'waste_capacity', - 'building_count', - 'empire', - 'water_stored', - 'water', - 'notes', - 'build_queue_len', - 'propaganda_boost', - 'image', - 'happiness', - 'energy_capacity', - 'waste_stored', - ], - }, - }, - required: ['empire', 'server', 'body'], - }, - building: { - type: 'object', - properties: { - food_hour: { type: 'integer' }, - energy_capacity: { type: 'integer' }, - food_capacity: { type: 'integer' }, - ore_capacity: { type: 'integer' }, - repair_costs: { - type: 'object', - properties: { - energy: { type: 'string' }, - food: { type: 'string' }, - water: { type: 'string' }, - ore: { type: 'string' }, - }, - required: ['energy', 'food', 'water', 'ore'], - }, - y: { type: 'integer' }, - waste_capacity: { type: 'integer' }, - pending_build: { - anyOf: [ - { type: 'null' }, - { - type: 'object', - properties: { - seconds_remaining: { type: 'integer' }, - start: { type: 'string' }, - end: { type: 'string' }, - }, - required: ['seconds_remaining', 'start', 'end'], - }, - ], - }, - image: { type: 'string' }, - upgrade: { - type: 'object', - properties: { - cost: { - type: 'object', - properties: { - waste: { type: 'integer' }, - water: { type: 'integer' }, - ore: { type: 'integer' }, - food: { type: 'integer' }, - time: { type: 'integer' }, - energy: { type: 'integer' }, - }, - required: ['waste', 'water', 'ore', 'food', 'time', 'energy'], - }, - can: { type: 'integer' }, - production: { - type: 'object', - properties: { - energy_hour: { type: 'string' }, - ore_capacity: { type: 'integer' }, - waste_hour: { type: 'string' }, - waste_capacity: { type: 'integer' }, - ore_hour: { type: 'string' }, - energy_capacity: { type: 'integer' }, - food_capacity: { type: 'integer' }, - water_capacity: { type: 'integer' }, - food_hour: { type: 'string' }, - happiness_hour: { type: 'string' }, - water_hour: { type: 'string' }, - }, - required: [ - 'energy_hour', - 'ore_capacity', - 'waste_hour', - 'waste_capacity', - 'ore_hour', - 'energy_capacity', - 'food_capacity', - 'water_capacity', - 'food_hour', - 'happiness_hour', - 'water_hour', - ], - }, - image: { type: 'string' }, - reason: { type: 'string' }, - }, - required: ['cost', 'can', 'production', 'image', 'reason'], - }, - water_hour: { type: 'integer' }, - x: { type: 'integer' }, - happiness_hour: { type: 'integer' }, - efficiency: { type: 'integer' }, - water_capacity: { type: 'integer' }, - level: { type: 'integer' }, - name: { type: 'string' }, - downgrade: { - type: 'object', - properties: { - can: { type: 'integer' }, - image: { type: 'string' }, - reason: { type: 'string' }, - }, - required: ['can', 'image', 'reason'], - }, - id: { type: 'integer' }, - waste_hour: { type: 'integer' }, - ore_hour: { type: 'integer' }, - energy_hour: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['pending_build', 'level', 'id'], - }, - }, - required: ['buildings', 'status', 'building'], - }, - }, - required: ['id', 'jsonrpc', 'result'], - }, - }, - }, - description: '', - headers: { 'X-Served-By': { required: false, schema: { type: 'string' } } }, - }, - }, - security: [], - requestBody: { - content: { - 'application/json': { - schema: { - type: 'object', - properties: { - jsonrpc: { type: 'string' }, - id: { type: 'integer' }, - method: { type: 'string' }, - params: { type: 'array', items: { type: ['integer', 'string'] } }, - }, - required: ['jsonrpc', 'id', 'method', 'params'], - }, - }, - }, - }, - }, - }, - '/spaceport': { - post: { - summary: '/spaceport', - description: '**Host**: http://lacuna.ocean74.net', - responses: { - '200': { - content: { - 'application/json-rpc': { - schema: { - type: 'object', - properties: { - result: { - type: 'object', - properties: { - buildings: { - type: 'object', - properties: { - '521680': { - type: 'object', - properties: { - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['url', 'level', 'name', 'image', 'efficiency', 'x', 'y'], - }, - '521681': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'level', 'url', 'name', 'image'], - }, - '521685': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'level', 'name', 'url', 'x', 'efficiency', 'y'], - }, - '521686': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'url', 'name'], - }, - '521687': { - type: 'object', - properties: { - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['name', 'level', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521688': { - type: 'object', - properties: { - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'name', 'level', 'url', 'y', 'x', 'efficiency'], - }, - '521689': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'level', 'name', 'url', 'image'], - }, - '521690': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'level', 'name', 'url'], - }, - '521693': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'level', 'url', 'name', 'x', 'efficiency', 'y'], - }, - '521696': { - type: 'object', - properties: { - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'url', 'level', 'name', 'x', 'efficiency', 'y'], - }, - '521697': { - type: 'object', - properties: { - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'name', 'level', 'url', 'x', 'efficiency', 'y'], - }, - '521698': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'url', 'level', 'name', 'image'], - }, - '521699': { - type: 'object', - properties: { - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'url', 'name', 'image', 'y', 'efficiency', 'x'], - }, - '521700': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521701': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'level', 'name', 'url', 'image'], - }, - '521702': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'name', 'url'], - }, - '521703': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'level', 'url', 'name', 'x', 'efficiency', 'y'], - }, - '521704': { - type: 'object', - properties: { - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'url', 'level', 'name', 'y', 'x', 'efficiency'], - }, - '521705': { - type: 'object', - properties: { - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'name', 'level', 'url', 'y', 'x', 'efficiency'], - }, - '521706': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'level', 'name', 'url', 'y', 'x', 'efficiency'], - }, - '521707': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'name', 'url'], - }, - '521708': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'url', 'name'], - }, - '521711': { - type: 'object', - properties: { - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'name', 'level', 'url', 'x', 'efficiency', 'y'], - }, - '521712': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'name', 'level', 'url', 'image'], - }, - '521713': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'name', 'level', 'url'], - }, - '521714': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'level', 'name', 'url'], - }, - '521715': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'url', 'level', 'name'], - }, - '521716': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'level', 'url', 'name', 'image'], - }, - '521717': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'level', 'name', 'url'], - }, - '521718': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'level', 'name', 'url', 'image'], - }, - '521938': { - type: 'object', - properties: { - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['url', 'level', 'name', 'image', 'efficiency', 'x', 'y'], - }, - '521939': { - type: 'object', - properties: { - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['name', 'level', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521940': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'level', 'name', 'url', 'y', 'x', 'efficiency'], - }, - '521941': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'level', 'url', 'name', 'image'], - }, - '521942': { - type: 'object', - properties: { - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'name', 'level', 'url', 'y', 'x', 'efficiency'], - }, - '521943': { - type: 'object', - properties: { - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['level', 'url', 'name', 'image', 'efficiency', 'x', 'y'], - }, - '521944': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'level', 'url', 'name', 'image'], - }, - '521945': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'level', 'name', 'url', 'y', 'x', 'efficiency'], - }, - '521946': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'level', 'name', 'url', 'y', 'x', 'efficiency'], - }, - '521947': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'level', 'name', 'url', 'image'], - }, - '521948': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'name', 'level', 'url', 'image'], - }, - '521949': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'name', 'level', 'url'], - }, - '521950': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - level: { type: 'integer' }, - name: { type: 'string' }, - y: { type: 'integer' }, - pending_build: { - type: 'object', - properties: { - seconds_remaining: { type: 'integer' }, - end: { type: 'string' }, - start: { type: 'string' }, - }, - required: ['seconds_remaining', 'end', 'start'], - }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: [ - 'efficiency', - 'x', - 'level', - 'name', - 'y', - 'pending_build', - 'url', - 'image', - ], - }, - }, - required: [ - '521680', - '521681', - '521685', - '521686', - '521687', - '521688', - '521689', - '521690', - '521693', - '521696', - '521697', - '521698', - '521699', - '521700', - '521701', - '521702', - '521703', - '521704', - '521705', - '521706', - '521707', - '521708', - '521711', - '521712', - '521713', - '521714', - '521715', - '521716', - '521717', - '521718', - '521938', - '521939', - '521940', - '521941', - '521942', - '521943', - '521944', - '521945', - '521946', - '521947', - '521948', - '521949', - '521950', - ], - }, - status: { - type: 'object', - properties: { - body: { - type: 'object', - properties: { - happiness: { type: 'integer' }, - waste_stored: { type: 'integer' }, - energy_capacity: { type: 'integer' }, - y: { type: 'integer' }, - num_incoming_enemy: { type: 'integer' }, - ore_capacity: { type: 'integer' }, - empire: { - type: 'object', - properties: { - is_isolationist: { type: 'integer' }, - name: { type: 'string' }, - id: { type: 'integer' }, - alignment: { type: 'string' }, - }, - required: ['is_isolationist', 'name', 'id', 'alignment'], - }, - waste_capacity: { type: 'integer' }, - building_count: { type: 'integer' }, - orbit: { type: 'integer' }, - notes: { type: 'string' }, - water: { type: 'integer' }, - water_stored: { type: 'integer' }, - build_queue_len: { type: 'integer' }, - propaganda_boost: { type: 'integer' }, - image: { type: 'string' }, - happiness_hour: { type: 'integer' }, - num_incoming_own: { type: 'integer' }, - neutral_entry: { type: 'string' }, - water_capacity: { type: 'integer' }, - star_id: { type: 'integer' }, - name: { type: 'string' }, - needs_surface_refresh: { type: 'integer' }, - id: { type: 'integer' }, - food_stored: { type: 'integer' }, - waste_hour: { type: 'integer' }, - type: { type: 'string' }, - surface_version: { type: 'integer' }, - population: { type: 'integer' }, - food_hour: { type: 'integer' }, - food_capacity: { type: 'integer' }, - num_incoming_ally: { type: 'integer' }, - zone: { type: 'string' }, - size: { type: 'integer' }, - build_queue_size: { type: 'integer' }, - water_hour: { type: 'integer' }, - x: { type: 'integer' }, - ore_stored: { type: 'integer' }, - star_name: { type: 'string' }, - ore_hour: { type: 'integer' }, - ore: { - type: 'object', - properties: { - uraninite: { type: 'integer' }, - kerogen: { type: 'integer' }, - chromite: { type: 'integer' }, - zircon: { type: 'integer' }, - trona: { type: 'integer' }, - monazite: { type: 'integer' }, - halite: { type: 'integer' }, - galena: { type: 'integer' }, - sulfur: { type: 'integer' }, - gypsum: { type: 'integer' }, - rutile: { type: 'integer' }, - magnetite: { type: 'integer' }, - beryl: { type: 'integer' }, - methane: { type: 'integer' }, - fluorite: { type: 'integer' }, - bauxite: { type: 'integer' }, - gold: { type: 'integer' }, - goethite: { type: 'integer' }, - chalcopyrite: { type: 'integer' }, - anthracite: { type: 'integer' }, - }, - required: [ - 'uraninite', - 'kerogen', - 'chromite', - 'zircon', - 'trona', - 'monazite', - 'halite', - 'galena', - 'sulfur', - 'gypsum', - 'rutile', - 'magnetite', - 'beryl', - 'methane', - 'fluorite', - 'bauxite', - 'gold', - 'goethite', - 'chalcopyrite', - 'anthracite', - ], - }, - energy_stored: { type: 'integer' }, - plots_available: { type: 'integer' }, - energy_hour: { type: 'integer' }, - }, - required: [ - 'happiness', - 'waste_stored', - 'energy_capacity', - 'y', - 'num_incoming_enemy', - 'ore_capacity', - 'empire', - 'waste_capacity', - 'building_count', - 'orbit', - 'notes', - 'water', - 'water_stored', - 'build_queue_len', - 'propaganda_boost', - 'image', - 'happiness_hour', - 'num_incoming_own', - 'neutral_entry', - 'water_capacity', - 'star_id', - 'name', - 'needs_surface_refresh', - 'id', - 'food_stored', - 'waste_hour', - 'type', - 'surface_version', - 'population', - 'food_hour', - 'food_capacity', - 'num_incoming_ally', - 'zone', - 'size', - 'build_queue_size', - 'water_hour', - 'x', - 'ore_stored', - 'star_name', - 'ore_hour', - 'ore', - 'energy_stored', - 'plots_available', - 'energy_hour', - ], - }, - server: { - type: 'object', - properties: { - version: { type: 'number' }, - time: { type: 'string' }, - star_map_size: { - type: 'object', - properties: { - y: { type: 'array', items: { type: 'integer' } }, - x: { type: 'array', items: { type: 'integer' } }, - }, - required: ['y', 'x'], - }, - rpc_limit: { type: 'integer' }, - }, - required: ['version', 'time', 'star_map_size', 'rpc_limit'], - }, - empire: { - type: 'object', - properties: { - rpc_count: { type: 'integer' }, - essentia: { type: 'integer' }, - colonies: { - type: 'object', - properties: { '467647': { type: 'string' } }, - required: ['467647'], - }, - is_isolationist: { type: 'integer' }, - planets: { - type: 'object', - properties: { '467647': { type: 'string' } }, - required: ['467647'], - }, - id: { type: 'integer' }, - name: { type: 'string' }, - has_new_messages: { type: 'integer' }, - insurrect_value: { type: 'integer' }, - home_planet_id: { type: 'integer' }, - status_message: { type: 'string' }, - next_colony_srcs: { type: 'integer' }, - self_destruct_active: { type: 'integer' }, - stations: { type: 'object' }, - self_destruct_date: { type: 'string' }, - next_colony_cost: { type: 'integer' }, - latest_message_id: { type: 'integer' }, - bodies: { - type: 'object', - properties: { - colonies: { - type: 'array', - items: { - type: 'object', - properties: { - id: { type: 'integer' }, - y: { type: 'integer' }, - star_name: { type: 'string' }, - orbit: { type: 'integer' }, - zone: { type: 'string' }, - star_id: { type: 'integer' }, - empire_id: { type: 'integer' }, - name: { type: 'string' }, - empire_name: { type: 'string' }, - x: { type: 'integer' }, - }, - required: [ - 'id', - 'y', - 'star_name', - 'orbit', - 'zone', - 'star_id', - 'empire_id', - 'name', - 'empire_name', - 'x', - ], - }, - }, - }, - required: ['colonies'], - }, - tech_level: { type: 'integer' }, - next_station_cost: { type: 'integer' }, - }, - required: [ - 'rpc_count', - 'essentia', - 'colonies', - 'is_isolationist', - 'planets', - 'id', - 'name', - 'has_new_messages', - 'insurrect_value', - 'home_planet_id', - 'status_message', - 'next_colony_srcs', - 'self_destruct_active', - 'stations', - 'self_destruct_date', - 'next_colony_cost', - 'latest_message_id', - 'bodies', - 'tech_level', - 'next_station_cost', - ], - }, - }, - required: ['body', 'server', 'empire'], - }, - docks_available: { type: 'integer' }, - max_ships: { type: 'integer' }, - building: { - type: 'object', - properties: { - food_hour: { type: 'integer' }, - food_capacity: { type: 'integer' }, - energy_capacity: { type: 'integer' }, - y: { type: 'integer' }, - ore_capacity: { type: 'integer' }, - repair_costs: { - type: 'object', - properties: { - food: { type: 'string' }, - ore: { type: 'string' }, - water: { type: 'string' }, - energy: { type: 'string' }, - }, - required: ['food', 'ore', 'water', 'energy'], - }, - waste_capacity: { type: 'integer' }, - pending_build: { type: 'null' }, - image: { type: 'string' }, - upgrade: { - type: 'object', - properties: { - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - time: { type: 'integer' }, - energy: { type: 'integer' }, - water: { type: 'integer' }, - waste: { type: 'integer' }, - ore: { type: 'integer' }, - food: { type: 'integer' }, - }, - required: ['time', 'energy', 'water', 'waste', 'ore', 'food'], - }, - production: { - type: 'object', - properties: { - waste_capacity: { type: 'integer' }, - waste_hour: { type: 'string' }, - ore_hour: { type: 'string' }, - ore_capacity: { type: 'integer' }, - energy_hour: { type: 'string' }, - happiness_hour: { type: 'string' }, - water_hour: { type: 'string' }, - food_hour: { type: 'string' }, - water_capacity: { type: 'integer' }, - food_capacity: { type: 'integer' }, - energy_capacity: { type: 'integer' }, - }, - required: [ - 'waste_capacity', - 'waste_hour', - 'ore_hour', - 'ore_capacity', - 'energy_hour', - 'happiness_hour', - 'water_hour', - 'food_hour', - 'water_capacity', - 'food_capacity', - 'energy_capacity', - ], - }, - image: { type: 'string' }, - reason: { type: 'string' }, - }, - required: ['can', 'cost', 'production', 'image', 'reason'], - }, - happiness_hour: { type: 'integer' }, - efficiency: { type: 'integer' }, - water_hour: { type: 'integer' }, - x: { type: 'integer' }, - water_capacity: { type: 'integer' }, - name: { type: 'string' }, - level: { type: 'integer' }, - downgrade: { - type: 'object', - properties: { - image: { type: 'string' }, - reason: { type: 'string' }, - can: { type: 'integer' }, - }, - required: ['image', 'reason', 'can'], - }, - id: { type: 'integer' }, - waste_hour: { type: 'integer' }, - ore_hour: { type: 'integer' }, - url: { type: 'string' }, - energy_hour: { type: 'integer' }, - }, - required: [ - 'food_hour', - 'food_capacity', - 'energy_capacity', - 'y', - 'ore_capacity', - 'repair_costs', - 'waste_capacity', - 'pending_build', - 'image', - 'upgrade', - 'happiness_hour', - 'efficiency', - 'water_hour', - 'x', - 'water_capacity', - 'name', - 'level', - 'downgrade', - 'id', - 'waste_hour', - 'ore_hour', - 'url', - 'energy_hour', - ], - }, - docked_ships: { - type: 'object', - properties: { - probe: { type: 'integer' }, - short_range_colony_ship: { type: 'integer' }, - }, - required: ['probe', 'short_range_colony_ship'], - }, - number_of_ships: { type: 'integer' }, - ships: { - type: 'array', - items: { - type: 'object', - properties: { - speed: { type: 'integer' }, - name: { type: 'string' }, - fleet_speed: { type: 'integer' }, - type: { type: 'string' }, - id: { type: 'integer' }, - hold_size: { type: 'integer' }, - stealth: { type: 'integer' }, - max_occupants: { type: 'integer' }, - payload: { type: 'array' }, - date_available: { type: 'string' }, - can_scuttle: { type: 'integer' }, - berth_level: { type: 'integer' }, - task: { type: 'string' }, - combat: { type: 'integer' }, - number_of_docks: { type: 'null' }, - type_human: { type: 'string' }, - can_recall: { type: 'integer' }, - image: { type: 'string' }, - date_started: { type: 'string' }, - }, - required: [ - 'speed', - 'name', - 'fleet_speed', - 'type', - 'id', - 'hold_size', - 'stealth', - 'max_occupants', - 'payload', - 'date_available', - 'can_scuttle', - 'berth_level', - 'task', - 'combat', - 'number_of_docks', - 'type_human', - 'can_recall', - 'image', - 'date_started', - ], - }, - }, - number_of_ships_travelling: { type: 'integer' }, - ships_travelling: { type: 'array' }, - number_of_logs: { type: 'integer' }, - battle_log: { type: 'array' }, - }, - required: ['status'], - }, - id: { type: 'integer' }, - jsonrpc: { type: 'string' }, - }, - required: ['result', 'id', 'jsonrpc'], - }, - }, - }, - description: '', - headers: { 'X-Served-By': { required: false, schema: { type: 'string' } } }, - }, - }, - security: [], - requestBody: { - content: { - 'application/json': { - schema: { - type: 'object', - properties: { - id: { type: 'integer' }, - method: { type: 'string' }, - jsonrpc: { type: 'string' }, - params: { type: 'array', items: { type: ['integer', 'string'] } }, - }, - required: ['id', 'method', 'jsonrpc', 'params'], - }, - }, - }, - }, - }, - }, - '/shipyard': { - post: { - summary: '/shipyard', - description: '**Host**: http://lacuna.ocean74.net', - responses: { - '200': { - content: { - 'application/json-rpc': { - schema: { - type: 'object', - properties: { - result: { - type: 'object', - properties: { - status: { - type: 'object', - properties: { - empire: { - type: 'object', - properties: { - bodies: { - type: 'object', - properties: { - colonies: { - type: 'array', - items: { - type: 'object', - properties: { - zone: { type: 'string' }, - orbit: { type: 'integer' }, - id: { type: 'integer' }, - y: { type: 'integer' }, - star_name: { type: 'string' }, - x: { type: 'integer' }, - empire_name: { type: 'string' }, - star_id: { type: 'integer' }, - empire_id: { type: 'integer' }, - name: { type: 'string' }, - }, - required: [ - 'zone', - 'orbit', - 'id', - 'y', - 'star_name', - 'x', - 'empire_name', - 'star_id', - 'empire_id', - 'name', - ], - }, - }, - }, - required: ['colonies'], - }, - next_station_cost: { type: 'integer' }, - tech_level: { type: 'integer' }, - stations: { type: 'object' }, - self_destruct_date: { type: 'string' }, - next_colony_cost: { type: 'integer' }, - latest_message_id: { type: 'integer' }, - name: { type: 'string' }, - has_new_messages: { type: 'integer' }, - home_planet_id: { type: 'integer' }, - insurrect_value: { type: 'integer' }, - status_message: { type: 'string' }, - self_destruct_active: { type: 'integer' }, - next_colony_srcs: { type: 'integer' }, - colonies: { - type: 'object', - properties: { '467647': { type: 'string' } }, - required: ['467647'], - }, - essentia: { type: 'integer' }, - rpc_count: { type: 'integer' }, - is_isolationist: { type: 'integer' }, - id: { type: 'integer' }, - planets: { - type: 'object', - properties: { '467647': { type: 'string' } }, - required: ['467647'], - }, - }, - required: [ - 'bodies', - 'next_station_cost', - 'tech_level', - 'stations', - 'self_destruct_date', - 'next_colony_cost', - 'latest_message_id', - 'name', - 'has_new_messages', - 'home_planet_id', - 'insurrect_value', - 'status_message', - 'self_destruct_active', - 'next_colony_srcs', - 'colonies', - 'essentia', - 'rpc_count', - 'is_isolationist', - 'id', - 'planets', - ], - }, - body: { - type: 'object', - properties: { - build_queue_size: { type: 'integer' }, - x: { type: 'integer' }, - water_hour: { type: 'integer' }, - size: { type: 'integer' }, - plots_available: { type: 'integer' }, - energy_hour: { type: 'integer' }, - ore: { - type: 'object', - properties: { - zircon: { type: 'integer' }, - chromite: { type: 'integer' }, - kerogen: { type: 'integer' }, - uraninite: { type: 'integer' }, - galena: { type: 'integer' }, - trona: { type: 'integer' }, - monazite: { type: 'integer' }, - halite: { type: 'integer' }, - gypsum: { type: 'integer' }, - sulfur: { type: 'integer' }, - magnetite: { type: 'integer' }, - rutile: { type: 'integer' }, - beryl: { type: 'integer' }, - fluorite: { type: 'integer' }, - methane: { type: 'integer' }, - bauxite: { type: 'integer' }, - chalcopyrite: { type: 'integer' }, - anthracite: { type: 'integer' }, - goethite: { type: 'integer' }, - gold: { type: 'integer' }, - }, - required: [ - 'zircon', - 'chromite', - 'kerogen', - 'uraninite', - 'galena', - 'trona', - 'monazite', - 'halite', - 'gypsum', - 'sulfur', - 'magnetite', - 'rutile', - 'beryl', - 'fluorite', - 'methane', - 'bauxite', - 'chalcopyrite', - 'anthracite', - 'goethite', - 'gold', - ], - }, - energy_stored: { type: 'integer' }, - ore_hour: { type: 'integer' }, - ore_stored: { type: 'integer' }, - star_name: { type: 'string' }, - food_capacity: { type: 'integer' }, - food_hour: { type: 'integer' }, - zone: { type: 'string' }, - num_incoming_ally: { type: 'integer' }, - star_id: { type: 'integer' }, - water_capacity: { type: 'integer' }, - name: { type: 'string' }, - needs_surface_refresh: { type: 'integer' }, - neutral_entry: { type: 'string' }, - happiness_hour: { type: 'integer' }, - num_incoming_own: { type: 'integer' }, - population: { type: 'integer' }, - surface_version: { type: 'integer' }, - food_stored: { type: 'integer' }, - type: { type: 'string' }, - waste_hour: { type: 'integer' }, - id: { type: 'integer' }, - waste_stored: { type: 'integer' }, - energy_capacity: { type: 'integer' }, - happiness: { type: 'integer' }, - image: { type: 'string' }, - propaganda_boost: { type: 'integer' }, - build_queue_len: { type: 'integer' }, - notes: { type: 'string' }, - water_stored: { type: 'integer' }, - water: { type: 'integer' }, - empire: { - type: 'object', - properties: { - alignment: { type: 'string' }, - id: { type: 'integer' }, - name: { type: 'string' }, - is_isolationist: { type: 'integer' }, - }, - required: ['alignment', 'id', 'name', 'is_isolationist'], - }, - orbit: { type: 'integer' }, - waste_capacity: { type: 'integer' }, - building_count: { type: 'integer' }, - y: { type: 'integer' }, - num_incoming_enemy: { type: 'integer' }, - ore_capacity: { type: 'integer' }, - }, - required: [ - 'build_queue_size', - 'x', - 'water_hour', - 'size', - 'plots_available', - 'energy_hour', - 'ore', - 'energy_stored', - 'ore_hour', - 'ore_stored', - 'star_name', - 'food_capacity', - 'food_hour', - 'zone', - 'num_incoming_ally', - 'star_id', - 'water_capacity', - 'name', - 'needs_surface_refresh', - 'neutral_entry', - 'happiness_hour', - 'num_incoming_own', - 'population', - 'surface_version', - 'food_stored', - 'type', - 'waste_hour', - 'id', - 'waste_stored', - 'energy_capacity', - 'happiness', - 'image', - 'propaganda_boost', - 'build_queue_len', - 'notes', - 'water_stored', - 'water', - 'empire', - 'orbit', - 'waste_capacity', - 'building_count', - 'y', - 'num_incoming_enemy', - 'ore_capacity', - ], - }, - server: { - type: 'object', - properties: { - star_map_size: { - type: 'object', - properties: { - y: { type: 'array', items: { type: 'integer' } }, - x: { type: 'array', items: { type: 'integer' } }, - }, - required: ['y', 'x'], - }, - rpc_limit: { type: 'integer' }, - version: { type: 'number' }, - time: { type: 'string' }, - }, - required: ['star_map_size', 'rpc_limit', 'version', 'time'], - }, - }, - required: ['empire', 'body', 'server'], - }, - buildings: { - type: 'object', - properties: { - '521680': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'level', 'name', 'url', 'image'], - }, - '521681': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'name', 'level', 'url'], - }, - '521685': { - type: 'object', - properties: { - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['name', 'level', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521686': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'url', 'level', 'name', 'image'], - }, - '521687': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'url', 'name'], - }, - '521688': { - type: 'object', - properties: { - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['name', 'level', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521689': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'level', 'url', 'name', 'x', 'efficiency', 'y'], - }, - '521690': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'level', 'url', 'name', 'x', 'efficiency', 'y'], - }, - '521693': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'level', 'name', 'url', 'x', 'efficiency', 'y'], - }, - '521696': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'url', 'name'], - }, - '521697': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'level', 'name', 'url', 'y', 'x', 'efficiency'], - }, - '521698': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'url', 'level', 'name'], - }, - '521699': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'name', 'level', 'url', 'image'], - }, - '521700': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'url', 'level', 'name', 'image'], - }, - '521701': { - type: 'object', - properties: { - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'url', 'level', 'name', 'y', 'x', 'efficiency'], - }, - '521702': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'name', 'level', 'url'], - }, - '521703': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'name', 'level', 'url'], - }, - '521704': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'level', 'name', 'url', 'x', 'efficiency', 'y'], - }, - '521705': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'name', 'level', 'url'], - }, - '521706': { - type: 'object', - properties: { - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['url', 'level', 'name', 'image', 'efficiency', 'x', 'y'], - }, - '521707': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'url', 'level', 'name'], - }, - '521708': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'name', 'level', 'url'], - }, - '521711': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'level', 'url', 'name'], - }, - '521712': { - type: 'object', - properties: { - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['name', 'level', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521713': { - type: 'object', - properties: { - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'name', 'level', 'url', 'x', 'efficiency', 'y'], - }, - '521714': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'url', 'level', 'name'], - }, - '521715': { - type: 'object', - properties: { - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'url', 'level', 'name', 'y', 'x', 'efficiency'], - }, - '521716': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'url', 'level', 'name', 'image'], - }, - '521717': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521718': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'level', 'name', 'url', 'image'], - }, - '521938': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'level', 'name', 'url'], - }, - '521939': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'name', 'url'], - }, - '521940': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'level', 'url', 'name'], - }, - '521941': { - type: 'object', - properties: { - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'url', 'level', 'name', 'x', 'efficiency', 'y'], - }, - '521942': { - type: 'object', - properties: { - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['name', 'level', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521943': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'level', 'url', 'name', 'image'], - }, - '521944': { - type: 'object', - properties: { - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['name', 'level', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521945': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'name', 'url'], - }, - '521946': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'level', 'url', 'name', 'image'], - }, - '521947': { - type: 'object', - properties: { - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'url', 'level', 'name', 'y', 'x', 'efficiency'], - }, - '521948': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'url', 'level', 'name'], - }, - '521949': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'level', 'name', 'url', 'image'], - }, - '521950': { - type: 'object', - properties: { - y: { type: 'integer' }, - pending_build: { - type: 'object', - properties: { - start: { type: 'string' }, - end: { type: 'string' }, - seconds_remaining: { type: 'integer' }, - }, - required: ['start', 'end', 'seconds_remaining'], - }, - image: { type: 'string' }, - url: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - name: { type: 'string' }, - level: { type: 'integer' }, - }, - required: [ - 'y', - 'pending_build', - 'image', - 'url', - 'x', - 'efficiency', - 'name', - 'level', - ], - }, - }, - required: [ - '521680', - '521681', - '521685', - '521686', - '521687', - '521688', - '521689', - '521690', - '521693', - '521696', - '521697', - '521698', - '521699', - '521700', - '521701', - '521702', - '521703', - '521704', - '521705', - '521706', - '521707', - '521708', - '521711', - '521712', - '521713', - '521714', - '521715', - '521716', - '521717', - '521718', - '521938', - '521939', - '521940', - '521941', - '521942', - '521943', - '521944', - '521945', - '521946', - '521947', - '521948', - '521949', - '521950', - ], - }, - building: { - type: 'object', - properties: { - image: { type: 'string' }, - pending_build: { type: 'null' }, - waste_capacity: { type: 'integer' }, - y: { type: 'integer' }, - ore_capacity: { type: 'integer' }, - repair_costs: { - type: 'object', - properties: { - energy: { type: 'string' }, - food: { type: 'string' }, - ore: { type: 'string' }, - water: { type: 'string' }, - }, - required: ['energy', 'food', 'ore', 'water'], - }, - food_capacity: { type: 'integer' }, - energy_capacity: { type: 'integer' }, - food_hour: { type: 'integer' }, - url: { type: 'string' }, - energy_hour: { type: 'integer' }, - ore_hour: { type: 'integer' }, - waste_hour: { type: 'integer' }, - id: { type: 'integer' }, - downgrade: { - type: 'object', - properties: { - can: { type: 'integer' }, - reason: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['can', 'reason', 'image'], - }, - water_capacity: { type: 'integer' }, - name: { type: 'string' }, - level: { type: 'integer' }, - happiness_hour: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - water_hour: { type: 'integer' }, - upgrade: { - type: 'object', - properties: { - cost: { - type: 'object', - properties: { - waste: { type: 'integer' }, - water: { type: 'integer' }, - ore: { type: 'integer' }, - food: { type: 'integer' }, - time: { type: 'integer' }, - energy: { type: 'integer' }, - }, - required: ['waste', 'water', 'ore', 'food', 'time', 'energy'], - }, - can: { type: 'integer' }, - production: { - type: 'object', - properties: { - ore_capacity: { type: 'integer' }, - waste_capacity: { type: 'integer' }, - waste_hour: { type: 'string' }, - ore_hour: { type: 'string' }, - energy_hour: { type: 'string' }, - food_hour: { type: 'string' }, - water_hour: { type: 'string' }, - happiness_hour: { type: 'string' }, - energy_capacity: { type: 'integer' }, - food_capacity: { type: 'integer' }, - water_capacity: { type: 'integer' }, - }, - required: [ - 'ore_capacity', - 'waste_capacity', - 'waste_hour', - 'ore_hour', - 'energy_hour', - 'food_hour', - 'water_hour', - 'happiness_hour', - 'energy_capacity', - 'food_capacity', - 'water_capacity', - ], - }, - image: { type: 'string' }, - reason: { type: 'string' }, - }, - required: ['cost', 'can', 'production', 'image', 'reason'], - }, - }, - required: [ - 'image', - 'pending_build', - 'waste_capacity', - 'y', - 'ore_capacity', - 'repair_costs', - 'food_capacity', - 'energy_capacity', - 'food_hour', - 'url', - 'energy_hour', - 'ore_hour', - 'waste_hour', - 'id', - 'downgrade', - 'water_capacity', - 'name', - 'level', - 'happiness_hour', - 'efficiency', - 'x', - 'water_hour', - 'upgrade', - ], - }, - build_queue_max: { type: 'integer' }, - buildable: { - type: 'object', - properties: { - placebo5: { - type: 'object', - properties: { - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - ore: { type: 'string' }, - seconds: { type: 'integer' }, - waste: { type: 'string' }, - water: { type: 'string' }, - food: { type: 'string' }, - energy: { type: 'string' }, - }, - required: ['ore', 'seconds', 'waste', 'water', 'food', 'energy'], - }, - tags: { type: 'array', items: { type: 'string' } }, - image: { type: 'string' }, - type_human: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - attributes: { - type: 'object', - properties: { - hold_size: { type: 'string' }, - berth_level: { type: 'integer' }, - max_occupants: { type: 'integer' }, - combat: { type: 'string' }, - speed: { type: 'string' }, - stealth: { type: 'string' }, - }, - required: [ - 'hold_size', - 'berth_level', - 'max_occupants', - 'combat', - 'speed', - 'stealth', - ], - }, - }, - required: [ - 'can', - 'cost', - 'tags', - 'image', - 'type_human', - 'reason', - 'attributes', - ], - }, - fissure_sealer: { - type: 'object', - properties: { - attributes: { - type: 'object', - properties: { - combat: { type: 'string' }, - max_occupants: { type: 'integer' }, - speed: { type: 'string' }, - stealth: { type: 'string' }, - berth_level: { type: 'integer' }, - hold_size: { type: 'string' }, - }, - required: [ - 'combat', - 'max_occupants', - 'speed', - 'stealth', - 'berth_level', - 'hold_size', - ], - }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - image: { type: 'string' }, - type_human: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - cost: { - type: 'object', - properties: { - food: { type: 'string' }, - waste: { type: 'string' }, - seconds: { type: 'integer' }, - water: { type: 'string' }, - ore: { type: 'string' }, - energy: { type: 'string' }, - }, - required: ['food', 'waste', 'seconds', 'water', 'ore', 'energy'], - }, - can: { type: 'integer' }, - }, - required: [ - 'attributes', - 'reason', - 'image', - 'type_human', - 'tags', - 'cost', - 'can', - ], - }, - detonator: { - type: 'object', - properties: { - type_human: { type: 'string' }, - image: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - tags: { type: 'array', items: { type: 'string' } }, - attributes: { - type: 'object', - properties: { - berth_level: { type: 'integer' }, - hold_size: { type: 'string' }, - max_occupants: { type: 'integer' }, - combat: { type: 'string' }, - stealth: { type: 'string' }, - speed: { type: 'string' }, - }, - required: [ - 'berth_level', - 'hold_size', - 'max_occupants', - 'combat', - 'stealth', - 'speed', - ], - }, - cost: { - type: 'object', - properties: { - waste: { type: 'string' }, - water: { type: 'string' }, - seconds: { type: 'integer' }, - ore: { type: 'string' }, - food: { type: 'string' }, - energy: { type: 'string' }, - }, - required: ['waste', 'water', 'seconds', 'ore', 'food', 'energy'], - }, - can: { type: 'integer' }, - }, - required: [ - 'type_human', - 'image', - 'reason', - 'tags', - 'attributes', - 'cost', - 'can', - ], - }, - hulk_fast: { - type: 'object', - properties: { - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - food: { type: 'string' }, - seconds: { type: 'integer' }, - waste: { type: 'string' }, - water: { type: 'string' }, - ore: { type: 'string' }, - energy: { type: 'string' }, - }, - required: ['food', 'seconds', 'waste', 'water', 'ore', 'energy'], - }, - image: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - type_human: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - attributes: { - type: 'object', - properties: { - max_occupants: { type: 'integer' }, - combat: { type: 'string' }, - speed: { type: 'string' }, - stealth: { type: 'string' }, - berth_level: { type: 'integer' }, - hold_size: { type: 'string' }, - }, - required: [ - 'max_occupants', - 'combat', - 'speed', - 'stealth', - 'berth_level', - 'hold_size', - ], - }, - }, - required: [ - 'can', - 'cost', - 'image', - 'tags', - 'type_human', - 'reason', - 'attributes', - ], - }, - hulk_huge: { - type: 'object', - properties: { - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - food: { type: 'string' }, - waste: { type: 'string' }, - seconds: { type: 'integer' }, - water: { type: 'string' }, - ore: { type: 'string' }, - energy: { type: 'string' }, - }, - required: ['food', 'waste', 'seconds', 'water', 'ore', 'energy'], - }, - attributes: { - type: 'object', - properties: { - max_occupants: { type: 'integer' }, - stealth: { type: 'string' }, - combat: { type: 'string' }, - speed: { type: 'string' }, - berth_level: { type: 'integer' }, - hold_size: { type: 'string' }, - }, - required: [ - 'max_occupants', - 'stealth', - 'combat', - 'speed', - 'berth_level', - 'hold_size', - ], - }, - image: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - type_human: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - }, - required: [ - 'can', - 'cost', - 'attributes', - 'image', - 'reason', - 'type_human', - 'tags', - ], - }, - thud: { - type: 'object', - properties: { - cost: { - type: 'object', - properties: { - ore: { type: 'string' }, - waste: { type: 'string' }, - water: { type: 'string' }, - seconds: { type: 'integer' }, - food: { type: 'string' }, - energy: { type: 'string' }, - }, - required: ['ore', 'waste', 'water', 'seconds', 'food', 'energy'], - }, - can: { type: 'integer' }, - attributes: { - type: 'object', - properties: { - max_occupants: { type: 'integer' }, - speed: { type: 'string' }, - combat: { type: 'string' }, - stealth: { type: 'string' }, - berth_level: { type: 'integer' }, - hold_size: { type: 'string' }, - }, - required: [ - 'max_occupants', - 'speed', - 'combat', - 'stealth', - 'berth_level', - 'hold_size', - ], - }, - type_human: { type: 'string' }, - image: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - }, - required: [ - 'cost', - 'can', - 'attributes', - 'type_human', - 'image', - 'tags', - 'reason', - ], - }, - barge: { - type: 'object', - properties: { - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - food: { type: 'string' }, - seconds: { type: 'integer' }, - waste: { type: 'string' }, - water: { type: 'string' }, - ore: { type: 'string' }, - }, - required: ['energy', 'food', 'seconds', 'waste', 'water', 'ore'], - }, - can: { type: 'integer' }, - type_human: { type: 'string' }, - image: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - tags: { type: 'array', items: { type: 'string' } }, - attributes: { - type: 'object', - properties: { - hold_size: { type: 'string' }, - berth_level: { type: 'integer' }, - stealth: { type: 'string' }, - max_occupants: { type: 'integer' }, - combat: { type: 'string' }, - speed: { type: 'string' }, - }, - required: [ - 'hold_size', - 'berth_level', - 'stealth', - 'max_occupants', - 'combat', - 'speed', - ], - }, - }, - required: [ - 'cost', - 'can', - 'type_human', - 'image', - 'reason', - 'tags', - 'attributes', - ], - }, - supply_pod3: { - type: 'object', - properties: { - image: { type: 'string' }, - type_human: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - tags: { type: 'array', items: { type: 'string' } }, - attributes: { - type: 'object', - properties: { - max_occupants: { type: 'integer' }, - combat: { type: 'string' }, - stealth: { type: 'string' }, - speed: { type: 'string' }, - berth_level: { type: 'integer' }, - hold_size: { type: 'string' }, - }, - required: [ - 'max_occupants', - 'combat', - 'stealth', - 'speed', - 'berth_level', - 'hold_size', - ], - }, - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - food: { type: 'string' }, - ore: { type: 'string' }, - water: { type: 'string' }, - waste: { type: 'string' }, - seconds: { type: 'integer' }, - }, - required: ['energy', 'food', 'ore', 'water', 'waste', 'seconds'], - }, - can: { type: 'integer' }, - }, - required: [ - 'image', - 'type_human', - 'reason', - 'tags', - 'attributes', - 'cost', - 'can', - ], - }, - gas_giant_settlement_ship: { - type: 'object', - properties: { - attributes: { - type: 'object', - properties: { - hold_size: { type: 'string' }, - berth_level: { type: 'integer' }, - stealth: { type: 'string' }, - max_occupants: { type: 'integer' }, - combat: { type: 'string' }, - speed: { type: 'string' }, - }, - required: [ - 'hold_size', - 'berth_level', - 'stealth', - 'max_occupants', - 'combat', - 'speed', - ], - }, - image: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - type_human: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - food: { type: 'string' }, - ore: { type: 'string' }, - water: { type: 'string' }, - waste: { type: 'string' }, - seconds: { type: 'integer' }, - }, - required: ['energy', 'food', 'ore', 'water', 'waste', 'seconds'], - }, - can: { type: 'integer' }, - }, - required: [ - 'attributes', - 'image', - 'tags', - 'type_human', - 'reason', - 'cost', - 'can', - ], - }, - placebo3: { - type: 'object', - properties: { - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - seconds: { type: 'integer' }, - waste: { type: 'string' }, - water: { type: 'string' }, - ore: { type: 'string' }, - food: { type: 'string' }, - }, - required: ['energy', 'seconds', 'waste', 'water', 'ore', 'food'], - }, - attributes: { - type: 'object', - properties: { - max_occupants: { type: 'integer' }, - stealth: { type: 'string' }, - combat: { type: 'string' }, - speed: { type: 'string' }, - berth_level: { type: 'integer' }, - hold_size: { type: 'string' }, - }, - required: [ - 'max_occupants', - 'stealth', - 'combat', - 'speed', - 'berth_level', - 'hold_size', - ], - }, - image: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - type_human: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - }, - required: [ - 'can', - 'cost', - 'attributes', - 'image', - 'tags', - 'type_human', - 'reason', - ], - }, - snark2: { - type: 'object', - properties: { - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - food: { type: 'string' }, - waste: { type: 'string' }, - seconds: { type: 'integer' }, - water: { type: 'string' }, - ore: { type: 'string' }, - energy: { type: 'string' }, - }, - required: ['food', 'waste', 'seconds', 'water', 'ore', 'energy'], - }, - attributes: { - type: 'object', - properties: { - hold_size: { type: 'string' }, - berth_level: { type: 'integer' }, - max_occupants: { type: 'integer' }, - combat: { type: 'string' }, - stealth: { type: 'string' }, - speed: { type: 'string' }, - }, - required: [ - 'hold_size', - 'berth_level', - 'max_occupants', - 'combat', - 'stealth', - 'speed', - ], - }, - tags: { type: 'array', items: { type: 'string' } }, - image: { type: 'string' }, - type_human: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - }, - required: [ - 'can', - 'cost', - 'attributes', - 'tags', - 'image', - 'type_human', - 'reason', - ], - }, - fighter: { - type: 'object', - properties: { - attributes: { - type: 'object', - properties: { - berth_level: { type: 'integer' }, - hold_size: { type: 'string' }, - speed: { type: 'string' }, - max_occupants: { type: 'integer' }, - combat: { type: 'string' }, - stealth: { type: 'string' }, - }, - required: [ - 'berth_level', - 'hold_size', - 'speed', - 'max_occupants', - 'combat', - 'stealth', - ], - }, - image: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - type_human: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - waste: { type: 'string' }, - seconds: { type: 'integer' }, - water: { type: 'string' }, - ore: { type: 'string' }, - food: { type: 'string' }, - }, - required: ['energy', 'waste', 'seconds', 'water', 'ore', 'food'], - }, - }, - required: [ - 'attributes', - 'image', - 'reason', - 'type_human', - 'tags', - 'can', - 'cost', - ], - }, - placebo6: { - type: 'object', - properties: { - type_human: { type: 'string' }, - image: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - tags: { type: 'array', items: { type: 'string' } }, - attributes: { - type: 'object', - properties: { - max_occupants: { type: 'integer' }, - combat: { type: 'string' }, - speed: { type: 'string' }, - stealth: { type: 'string' }, - hold_size: { type: 'string' }, - berth_level: { type: 'integer' }, - }, - required: [ - 'max_occupants', - 'combat', - 'speed', - 'stealth', - 'hold_size', - 'berth_level', - ], - }, - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - seconds: { type: 'integer' }, - waste: { type: 'string' }, - water: { type: 'string' }, - ore: { type: 'string' }, - food: { type: 'string' }, - energy: { type: 'string' }, - }, - required: ['seconds', 'waste', 'water', 'ore', 'food', 'energy'], - }, - }, - required: [ - 'type_human', - 'image', - 'reason', - 'tags', - 'attributes', - 'can', - 'cost', - ], - }, - spy_shuttle: { - type: 'object', - properties: { - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - ore: { type: 'string' }, - waste: { type: 'string' }, - water: { type: 'string' }, - seconds: { type: 'integer' }, - food: { type: 'string' }, - }, - required: ['energy', 'ore', 'waste', 'water', 'seconds', 'food'], - }, - image: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - type_human: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - attributes: { - type: 'object', - properties: { - speed: { type: 'string' }, - max_occupants: { type: 'integer' }, - combat: { type: 'string' }, - stealth: { type: 'string' }, - hold_size: { type: 'string' }, - berth_level: { type: 'integer' }, - }, - required: [ - 'speed', - 'max_occupants', - 'combat', - 'stealth', - 'hold_size', - 'berth_level', - ], - }, - }, - required: [ - 'can', - 'cost', - 'image', - 'reason', - 'type_human', - 'tags', - 'attributes', - ], - }, - excavator: { - type: 'object', - properties: { - cost: { - type: 'object', - properties: { - food: { type: 'string' }, - ore: { type: 'string' }, - waste: { type: 'string' }, - water: { type: 'string' }, - seconds: { type: 'integer' }, - energy: { type: 'string' }, - }, - required: ['food', 'ore', 'waste', 'water', 'seconds', 'energy'], - }, - can: { type: 'integer' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - image: { type: 'string' }, - type_human: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - attributes: { - type: 'object', - properties: { - max_occupants: { type: 'integer' }, - stealth: { type: 'string' }, - combat: { type: 'string' }, - speed: { type: 'string' }, - hold_size: { type: 'string' }, - berth_level: { type: 'integer' }, - }, - required: [ - 'max_occupants', - 'stealth', - 'combat', - 'speed', - 'hold_size', - 'berth_level', - ], - }, - }, - required: [ - 'cost', - 'can', - 'reason', - 'image', - 'type_human', - 'tags', - 'attributes', - ], - }, - placebo: { - type: 'object', - properties: { - attributes: { - type: 'object', - properties: { - max_occupants: { type: 'integer' }, - speed: { type: 'string' }, - combat: { type: 'string' }, - stealth: { type: 'string' }, - hold_size: { type: 'string' }, - berth_level: { type: 'integer' }, - }, - required: [ - 'max_occupants', - 'speed', - 'combat', - 'stealth', - 'hold_size', - 'berth_level', - ], - }, - image: { type: 'string' }, - type_human: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - tags: { type: 'array', items: { type: 'string' } }, - cost: { - type: 'object', - properties: { - water: { type: 'string' }, - waste: { type: 'string' }, - seconds: { type: 'integer' }, - ore: { type: 'string' }, - food: { type: 'string' }, - energy: { type: 'string' }, - }, - required: ['water', 'waste', 'seconds', 'ore', 'food', 'energy'], - }, - can: { type: 'integer' }, - }, - required: [ - 'attributes', - 'image', - 'type_human', - 'reason', - 'tags', - 'cost', - 'can', - ], - }, - scow_fast: { - type: 'object', - properties: { - attributes: { - type: 'object', - properties: { - combat: { type: 'string' }, - max_occupants: { type: 'integer' }, - stealth: { type: 'string' }, - speed: { type: 'string' }, - hold_size: { type: 'string' }, - berth_level: { type: 'integer' }, - }, - required: [ - 'combat', - 'max_occupants', - 'stealth', - 'speed', - 'hold_size', - 'berth_level', - ], - }, - type_human: { type: 'string' }, - image: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - food: { type: 'string' }, - seconds: { type: 'integer' }, - waste: { type: 'string' }, - water: { type: 'string' }, - ore: { type: 'string' }, - }, - required: ['energy', 'food', 'seconds', 'waste', 'water', 'ore'], - }, - }, - required: [ - 'attributes', - 'type_human', - 'image', - 'tags', - 'reason', - 'can', - 'cost', - ], - }, - placebo2: { - type: 'object', - properties: { - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - food: { type: 'string' }, - ore: { type: 'string' }, - waste: { type: 'string' }, - seconds: { type: 'integer' }, - water: { type: 'string' }, - energy: { type: 'string' }, - }, - required: ['food', 'ore', 'waste', 'seconds', 'water', 'energy'], - }, - image: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - type_human: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - attributes: { - type: 'object', - properties: { - max_occupants: { type: 'integer' }, - combat: { type: 'string' }, - stealth: { type: 'string' }, - speed: { type: 'string' }, - hold_size: { type: 'string' }, - berth_level: { type: 'integer' }, - }, - required: [ - 'max_occupants', - 'combat', - 'stealth', - 'speed', - 'hold_size', - 'berth_level', - ], - }, - }, - required: [ - 'can', - 'cost', - 'image', - 'reason', - 'type_human', - 'tags', - 'attributes', - ], - }, - surveyor: { - type: 'object', - properties: { - image: { type: 'string' }, - type_human: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - tags: { type: 'array', items: { type: 'string' } }, - attributes: { - type: 'object', - properties: { - hold_size: { type: 'string' }, - berth_level: { type: 'integer' }, - combat: { type: 'string' }, - max_occupants: { type: 'integer' }, - stealth: { type: 'string' }, - speed: { type: 'string' }, - }, - required: [ - 'hold_size', - 'berth_level', - 'combat', - 'max_occupants', - 'stealth', - 'speed', - ], - }, - cost: { - type: 'object', - properties: { - food: { type: 'string' }, - ore: { type: 'string' }, - waste: { type: 'string' }, - water: { type: 'string' }, - seconds: { type: 'integer' }, - energy: { type: 'string' }, - }, - required: ['food', 'ore', 'waste', 'water', 'seconds', 'energy'], - }, - can: { type: 'integer' }, - }, - required: [ - 'image', - 'type_human', - 'reason', - 'tags', - 'attributes', - 'cost', - 'can', - ], - }, - sweeper: { - type: 'object', - properties: { - attributes: { - type: 'object', - properties: { - hold_size: { type: 'string' }, - berth_level: { type: 'integer' }, - max_occupants: { type: 'integer' }, - stealth: { type: 'string' }, - combat: { type: 'string' }, - speed: { type: 'string' }, - }, - required: [ - 'hold_size', - 'berth_level', - 'max_occupants', - 'stealth', - 'combat', - 'speed', - ], - }, - tags: { type: 'array', items: { type: 'string' } }, - image: { type: 'string' }, - type_human: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - food: { type: 'string' }, - ore: { type: 'string' }, - seconds: { type: 'integer' }, - waste: { type: 'string' }, - water: { type: 'string' }, - }, - required: ['energy', 'food', 'ore', 'seconds', 'waste', 'water'], - }, - }, - required: [ - 'attributes', - 'tags', - 'image', - 'type_human', - 'reason', - 'can', - 'cost', - ], - }, - scow_large: { - type: 'object', - properties: { - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - food: { type: 'string' }, - waste: { type: 'string' }, - water: { type: 'string' }, - seconds: { type: 'integer' }, - ore: { type: 'string' }, - }, - required: ['energy', 'food', 'waste', 'water', 'seconds', 'ore'], - }, - can: { type: 'integer' }, - type_human: { type: 'string' }, - image: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - tags: { type: 'array', items: { type: 'string' } }, - attributes: { - type: 'object', - properties: { - hold_size: { type: 'string' }, - berth_level: { type: 'integer' }, - stealth: { type: 'string' }, - max_occupants: { type: 'integer' }, - combat: { type: 'string' }, - speed: { type: 'string' }, - }, - required: [ - 'hold_size', - 'berth_level', - 'stealth', - 'max_occupants', - 'combat', - 'speed', - ], - }, - }, - required: [ - 'cost', - 'can', - 'type_human', - 'image', - 'reason', - 'tags', - 'attributes', - ], - }, - hulk: { - type: 'object', - properties: { - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - food: { type: 'string' }, - waste: { type: 'string' }, - water: { type: 'string' }, - seconds: { type: 'integer' }, - ore: { type: 'string' }, - }, - required: ['energy', 'food', 'waste', 'water', 'seconds', 'ore'], - }, - can: { type: 'integer' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - image: { type: 'string' }, - type_human: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - attributes: { - type: 'object', - properties: { - berth_level: { type: 'integer' }, - hold_size: { type: 'string' }, - max_occupants: { type: 'integer' }, - combat: { type: 'string' }, - stealth: { type: 'string' }, - speed: { type: 'string' }, - }, - required: [ - 'berth_level', - 'hold_size', - 'max_occupants', - 'combat', - 'stealth', - 'speed', - ], - }, - }, - required: [ - 'cost', - 'can', - 'reason', - 'image', - 'type_human', - 'tags', - 'attributes', - ], - }, - dory: { - type: 'object', - properties: { - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - food: { type: 'string' }, - seconds: { type: 'integer' }, - waste: { type: 'string' }, - water: { type: 'string' }, - ore: { type: 'string' }, - }, - required: ['energy', 'food', 'seconds', 'waste', 'water', 'ore'], - }, - image: { type: 'string' }, - reason: { type: 'string' }, - type_human: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - attributes: { - type: 'object', - properties: { - hold_size: { type: 'string' }, - berth_level: { type: 'integer' }, - max_occupants: { type: 'integer' }, - combat: { type: 'string' }, - speed: { type: 'string' }, - stealth: { type: 'string' }, - }, - required: [ - 'hold_size', - 'berth_level', - 'max_occupants', - 'combat', - 'speed', - 'stealth', - ], - }, - }, - required: [ - 'can', - 'cost', - 'image', - 'reason', - 'type_human', - 'tags', - 'attributes', - ], - }, - galleon: { - type: 'object', - properties: { - attributes: { - type: 'object', - properties: { - berth_level: { type: 'integer' }, - hold_size: { type: 'string' }, - combat: { type: 'string' }, - max_occupants: { type: 'integer' }, - stealth: { type: 'string' }, - speed: { type: 'string' }, - }, - required: [ - 'berth_level', - 'hold_size', - 'combat', - 'max_occupants', - 'stealth', - 'speed', - ], - }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - image: { type: 'string' }, - type_human: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - food: { type: 'string' }, - waste: { type: 'string' }, - water: { type: 'string' }, - seconds: { type: 'integer' }, - ore: { type: 'string' }, - }, - required: ['energy', 'food', 'waste', 'water', 'seconds', 'ore'], - }, - can: { type: 'integer' }, - }, - required: [ - 'attributes', - 'reason', - 'image', - 'type_human', - 'tags', - 'cost', - 'can', - ], - }, - stake: { - type: 'object', - properties: { - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - food: { type: 'string' }, - ore: { type: 'string' }, - seconds: { type: 'integer' }, - waste: { type: 'string' }, - water: { type: 'string' }, - }, - required: ['energy', 'food', 'ore', 'seconds', 'waste', 'water'], - }, - image: { type: 'string' }, - type_human: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - attributes: { - type: 'object', - properties: { - berth_level: { type: 'integer' }, - hold_size: { type: 'string' }, - max_occupants: { type: 'integer' }, - combat: { type: 'string' }, - speed: { type: 'string' }, - stealth: { type: 'string' }, - }, - required: [ - 'berth_level', - 'hold_size', - 'max_occupants', - 'combat', - 'speed', - 'stealth', - ], - }, - }, - required: [ - 'can', - 'cost', - 'image', - 'type_human', - 'tags', - 'reason', - 'attributes', - ], - }, - space_station: { - type: 'object', - properties: { - image: { type: 'string' }, - type_human: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - attributes: { - type: 'object', - properties: { - max_occupants: { type: 'integer' }, - speed: { type: 'string' }, - combat: { type: 'string' }, - stealth: { type: 'string' }, - hold_size: { type: 'string' }, - berth_level: { type: 'integer' }, - }, - required: [ - 'max_occupants', - 'speed', - 'combat', - 'stealth', - 'hold_size', - 'berth_level', - ], - }, - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - ore: { type: 'string' }, - waste: { type: 'string' }, - seconds: { type: 'integer' }, - water: { type: 'string' }, - food: { type: 'string' }, - }, - required: ['energy', 'ore', 'waste', 'seconds', 'water', 'food'], - }, - }, - required: [ - 'image', - 'type_human', - 'tags', - 'reason', - 'attributes', - 'can', - 'cost', - ], - }, - mining_platform_ship: { - type: 'object', - properties: { - cost: { - type: 'object', - properties: { - ore: { type: 'string' }, - water: { type: 'string' }, - waste: { type: 'string' }, - seconds: { type: 'integer' }, - food: { type: 'string' }, - energy: { type: 'string' }, - }, - required: ['ore', 'water', 'waste', 'seconds', 'food', 'energy'], - }, - can: { type: 'integer' }, - type_human: { type: 'string' }, - image: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - tags: { type: 'array', items: { type: 'string' } }, - attributes: { - type: 'object', - properties: { - berth_level: { type: 'integer' }, - hold_size: { type: 'string' }, - max_occupants: { type: 'integer' }, - speed: { type: 'string' }, - combat: { type: 'string' }, - stealth: { type: 'string' }, - }, - required: [ - 'berth_level', - 'hold_size', - 'max_occupants', - 'speed', - 'combat', - 'stealth', - ], - }, - }, - required: [ - 'cost', - 'can', - 'type_human', - 'image', - 'reason', - 'tags', - 'attributes', - ], - }, - scow: { - type: 'object', - properties: { - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - water: { type: 'string' }, - waste: { type: 'string' }, - seconds: { type: 'integer' }, - ore: { type: 'string' }, - food: { type: 'string' }, - }, - required: ['energy', 'water', 'waste', 'seconds', 'ore', 'food'], - }, - tags: { type: 'array', items: { type: 'string' } }, - image: { type: 'string' }, - type_human: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - attributes: { - type: 'object', - properties: { - max_occupants: { type: 'integer' }, - stealth: { type: 'string' }, - combat: { type: 'string' }, - speed: { type: 'string' }, - hold_size: { type: 'string' }, - berth_level: { type: 'integer' }, - }, - required: [ - 'max_occupants', - 'stealth', - 'combat', - 'speed', - 'hold_size', - 'berth_level', - ], - }, - }, - required: [ - 'can', - 'cost', - 'tags', - 'image', - 'type_human', - 'reason', - 'attributes', - ], - }, - probe: { - type: 'object', - properties: { - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - food: { type: 'string' }, - ore: { type: 'string' }, - water: { type: 'string' }, - waste: { type: 'string' }, - seconds: { type: 'integer' }, - }, - required: ['energy', 'food', 'ore', 'water', 'waste', 'seconds'], - }, - attributes: { - type: 'object', - properties: { - speed: { type: 'string' }, - max_occupants: { type: 'integer' }, - combat: { type: 'string' }, - stealth: { type: 'string' }, - berth_level: { type: 'integer' }, - hold_size: { type: 'string' }, - }, - required: [ - 'speed', - 'max_occupants', - 'combat', - 'stealth', - 'berth_level', - 'hold_size', - ], - }, - image: { type: 'string' }, - type_human: { type: 'string' }, - reason: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - }, - required: [ - 'can', - 'cost', - 'attributes', - 'image', - 'type_human', - 'reason', - 'tags', - ], - }, - spaceport_seeker: { - type: 'object', - properties: { - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - water: { type: 'string' }, - waste: { type: 'string' }, - seconds: { type: 'integer' }, - ore: { type: 'string' }, - food: { type: 'string' }, - }, - required: ['energy', 'water', 'waste', 'seconds', 'ore', 'food'], - }, - tags: { type: 'array', items: { type: 'string' } }, - image: { type: 'string' }, - type_human: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - attributes: { - type: 'object', - properties: { - combat: { type: 'string' }, - max_occupants: { type: 'integer' }, - stealth: { type: 'string' }, - speed: { type: 'string' }, - berth_level: { type: 'integer' }, - hold_size: { type: 'string' }, - }, - required: [ - 'combat', - 'max_occupants', - 'stealth', - 'speed', - 'berth_level', - 'hold_size', - ], - }, - }, - required: [ - 'can', - 'cost', - 'tags', - 'image', - 'type_human', - 'reason', - 'attributes', - ], - }, - scow_mega: { - type: 'object', - properties: { - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - food: { type: 'string' }, - ore: { type: 'string' }, - waste: { type: 'string' }, - seconds: { type: 'integer' }, - water: { type: 'string' }, - }, - required: ['energy', 'food', 'ore', 'waste', 'seconds', 'water'], - }, - can: { type: 'integer' }, - type_human: { type: 'string' }, - image: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - attributes: { - type: 'object', - properties: { - combat: { type: 'string' }, - max_occupants: { type: 'integer' }, - stealth: { type: 'string' }, - speed: { type: 'string' }, - hold_size: { type: 'string' }, - berth_level: { type: 'integer' }, - }, - required: [ - 'combat', - 'max_occupants', - 'stealth', - 'speed', - 'hold_size', - 'berth_level', - ], - }, - }, - required: [ - 'cost', - 'can', - 'type_human', - 'image', - 'tags', - 'reason', - 'attributes', - ], - }, - colony_ship: { - type: 'object', - properties: { - image: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - type_human: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - attributes: { - type: 'object', - properties: { - berth_level: { type: 'integer' }, - hold_size: { type: 'string' }, - max_occupants: { type: 'integer' }, - combat: { type: 'string' }, - speed: { type: 'string' }, - stealth: { type: 'string' }, - }, - required: [ - 'berth_level', - 'hold_size', - 'max_occupants', - 'combat', - 'speed', - 'stealth', - ], - }, - cost: { - type: 'object', - properties: { - food: { type: 'string' }, - water: { type: 'string' }, - waste: { type: 'string' }, - seconds: { type: 'integer' }, - ore: { type: 'string' }, - energy: { type: 'string' }, - }, - required: ['food', 'water', 'waste', 'seconds', 'ore', 'energy'], - }, - can: { type: 'integer' }, - }, - required: [ - 'image', - 'reason', - 'type_human', - 'tags', - 'attributes', - 'cost', - 'can', - ], - }, - supply_pod4: { - type: 'object', - properties: { - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - food: { type: 'string' }, - waste: { type: 'string' }, - seconds: { type: 'integer' }, - water: { type: 'string' }, - ore: { type: 'string' }, - }, - required: ['energy', 'food', 'waste', 'seconds', 'water', 'ore'], - }, - image: { type: 'string' }, - type_human: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - attributes: { - type: 'object', - properties: { - hold_size: { type: 'string' }, - berth_level: { type: 'integer' }, - stealth: { type: 'string' }, - max_occupants: { type: 'integer' }, - combat: { type: 'string' }, - speed: { type: 'string' }, - }, - required: [ - 'hold_size', - 'berth_level', - 'stealth', - 'max_occupants', - 'combat', - 'speed', - ], - }, - }, - required: [ - 'can', - 'cost', - 'image', - 'type_human', - 'tags', - 'reason', - 'attributes', - ], - }, - short_range_colony_ship: { - type: 'object', - properties: { - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - food: { type: 'string' }, - seconds: { type: 'integer' }, - waste: { type: 'string' }, - water: { type: 'string' }, - ore: { type: 'string' }, - }, - required: ['energy', 'food', 'seconds', 'waste', 'water', 'ore'], - }, - type_human: { type: 'string' }, - image: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - tags: { type: 'array', items: { type: 'string' } }, - attributes: { - type: 'object', - properties: { - hold_size: { type: 'string' }, - berth_level: { type: 'integer' }, - combat: { type: 'string' }, - max_occupants: { type: 'integer' }, - speed: { type: 'string' }, - stealth: { type: 'string' }, - }, - required: [ - 'hold_size', - 'berth_level', - 'combat', - 'max_occupants', - 'speed', - 'stealth', - ], - }, - }, - required: [ - 'can', - 'cost', - 'type_human', - 'image', - 'reason', - 'tags', - 'attributes', - ], - }, - scanner: { - type: 'object', - properties: { - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - food: { type: 'string' }, - seconds: { type: 'integer' }, - waste: { type: 'string' }, - water: { type: 'string' }, - ore: { type: 'string' }, - }, - required: ['energy', 'food', 'seconds', 'waste', 'water', 'ore'], - }, - image: { type: 'string' }, - type_human: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - attributes: { - type: 'object', - properties: { - stealth: { type: 'string' }, - max_occupants: { type: 'integer' }, - combat: { type: 'string' }, - speed: { type: 'string' }, - hold_size: { type: 'string' }, - berth_level: { type: 'integer' }, - }, - required: [ - 'stealth', - 'max_occupants', - 'combat', - 'speed', - 'hold_size', - 'berth_level', - ], - }, - }, - required: [ - 'can', - 'cost', - 'image', - 'type_human', - 'tags', - 'reason', - 'attributes', - ], - }, - cargo_ship: { - type: 'object', - properties: { - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - food: { type: 'string' }, - ore: { type: 'string' }, - seconds: { type: 'integer' }, - waste: { type: 'string' }, - water: { type: 'string' }, - }, - required: ['energy', 'food', 'ore', 'seconds', 'waste', 'water'], - }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - image: { type: 'string' }, - type_human: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - attributes: { - type: 'object', - properties: { - berth_level: { type: 'integer' }, - hold_size: { type: 'string' }, - combat: { type: 'string' }, - max_occupants: { type: 'integer' }, - speed: { type: 'string' }, - stealth: { type: 'string' }, - }, - required: [ - 'berth_level', - 'hold_size', - 'combat', - 'max_occupants', - 'speed', - 'stealth', - ], - }, - }, - required: [ - 'can', - 'cost', - 'reason', - 'image', - 'type_human', - 'tags', - 'attributes', - ], - }, - drone: { - type: 'object', - properties: { - attributes: { - type: 'object', - properties: { - hold_size: { type: 'string' }, - berth_level: { type: 'integer' }, - combat: { type: 'string' }, - max_occupants: { type: 'integer' }, - speed: { type: 'string' }, - stealth: { type: 'string' }, - }, - required: [ - 'hold_size', - 'berth_level', - 'combat', - 'max_occupants', - 'speed', - 'stealth', - ], - }, - image: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - type_human: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - seconds: { type: 'integer' }, - waste: { type: 'string' }, - water: { type: 'string' }, - ore: { type: 'string' }, - food: { type: 'string' }, - }, - required: ['energy', 'seconds', 'waste', 'water', 'ore', 'food'], - }, - }, - required: [ - 'attributes', - 'image', - 'tags', - 'type_human', - 'reason', - 'can', - 'cost', - ], - }, - bleeder: { - type: 'object', - properties: { - cost: { - type: 'object', - properties: { - water: { type: 'string' }, - waste: { type: 'string' }, - seconds: { type: 'integer' }, - ore: { type: 'string' }, - food: { type: 'string' }, - energy: { type: 'string' }, - }, - required: ['water', 'waste', 'seconds', 'ore', 'food', 'energy'], - }, - can: { type: 'integer' }, - tags: { type: 'array', items: { type: 'string' } }, - image: { type: 'string' }, - type_human: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - attributes: { - type: 'object', - properties: { - berth_level: { type: 'integer' }, - hold_size: { type: 'string' }, - max_occupants: { type: 'integer' }, - combat: { type: 'string' }, - stealth: { type: 'string' }, - speed: { type: 'string' }, - }, - required: [ - 'berth_level', - 'hold_size', - 'max_occupants', - 'combat', - 'stealth', - 'speed', - ], - }, - }, - required: [ - 'cost', - 'can', - 'tags', - 'image', - 'type_human', - 'reason', - 'attributes', - ], - }, - supply_pod5: { - type: 'object', - properties: { - tags: { type: 'array', items: { type: 'string' } }, - image: { type: 'string' }, - type_human: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - attributes: { - type: 'object', - properties: { - combat: { type: 'string' }, - max_occupants: { type: 'integer' }, - speed: { type: 'string' }, - stealth: { type: 'string' }, - berth_level: { type: 'integer' }, - hold_size: { type: 'string' }, - }, - required: [ - 'combat', - 'max_occupants', - 'speed', - 'stealth', - 'berth_level', - 'hold_size', - ], - }, - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - waste: { type: 'string' }, - water: { type: 'string' }, - seconds: { type: 'integer' }, - ore: { type: 'string' }, - food: { type: 'string' }, - }, - required: ['energy', 'waste', 'water', 'seconds', 'ore', 'food'], - }, - }, - required: [ - 'tags', - 'image', - 'type_human', - 'reason', - 'attributes', - 'can', - 'cost', - ], - }, - snark: { - type: 'object', - properties: { - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - water: { type: 'string' }, - waste: { type: 'string' }, - seconds: { type: 'integer' }, - ore: { type: 'string' }, - food: { type: 'string' }, - }, - required: ['energy', 'water', 'waste', 'seconds', 'ore', 'food'], - }, - can: { type: 'integer' }, - type_human: { type: 'string' }, - image: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - attributes: { - type: 'object', - properties: { - berth_level: { type: 'integer' }, - hold_size: { type: 'string' }, - stealth: { type: 'string' }, - max_occupants: { type: 'integer' }, - combat: { type: 'string' }, - speed: { type: 'string' }, - }, - required: [ - 'berth_level', - 'hold_size', - 'stealth', - 'max_occupants', - 'combat', - 'speed', - ], - }, - }, - required: [ - 'cost', - 'can', - 'type_human', - 'image', - 'tags', - 'reason', - 'attributes', - ], - }, - supply_pod: { - type: 'object', - properties: { - attributes: { - type: 'object', - properties: { - berth_level: { type: 'integer' }, - hold_size: { type: 'string' }, - stealth: { type: 'string' }, - max_occupants: { type: 'integer' }, - combat: { type: 'string' }, - speed: { type: 'string' }, - }, - required: [ - 'berth_level', - 'hold_size', - 'stealth', - 'max_occupants', - 'combat', - 'speed', - ], - }, - image: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - type_human: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - ore: { type: 'string' }, - waste: { type: 'string' }, - seconds: { type: 'integer' }, - water: { type: 'string' }, - food: { type: 'string' }, - }, - required: ['energy', 'ore', 'waste', 'seconds', 'water', 'food'], - }, - can: { type: 'integer' }, - }, - required: [ - 'attributes', - 'image', - 'tags', - 'type_human', - 'reason', - 'cost', - 'can', - ], - }, - placebo4: { - type: 'object', - properties: { - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - image: { type: 'string' }, - type_human: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - attributes: { - type: 'object', - properties: { - stealth: { type: 'string' }, - max_occupants: { type: 'integer' }, - combat: { type: 'string' }, - speed: { type: 'string' }, - hold_size: { type: 'string' }, - berth_level: { type: 'integer' }, - }, - required: [ - 'stealth', - 'max_occupants', - 'combat', - 'speed', - 'hold_size', - 'berth_level', - ], - }, - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - water: { type: 'string' }, - waste: { type: 'string' }, - seconds: { type: 'integer' }, - ore: { type: 'string' }, - food: { type: 'string' }, - }, - required: ['energy', 'water', 'waste', 'seconds', 'ore', 'food'], - }, - }, - required: [ - 'reason', - 'image', - 'type_human', - 'tags', - 'attributes', - 'can', - 'cost', - ], - }, - supply_pod2: { - type: 'object', - properties: { - cost: { - type: 'object', - properties: { - food: { type: 'string' }, - waste: { type: 'string' }, - seconds: { type: 'integer' }, - water: { type: 'string' }, - ore: { type: 'string' }, - energy: { type: 'string' }, - }, - required: ['food', 'waste', 'seconds', 'water', 'ore', 'energy'], - }, - can: { type: 'integer' }, - tags: { type: 'array', items: { type: 'string' } }, - image: { type: 'string' }, - type_human: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - attributes: { - type: 'object', - properties: { - hold_size: { type: 'string' }, - berth_level: { type: 'integer' }, - max_occupants: { type: 'integer' }, - speed: { type: 'string' }, - combat: { type: 'string' }, - stealth: { type: 'string' }, - }, - required: [ - 'hold_size', - 'berth_level', - 'max_occupants', - 'speed', - 'combat', - 'stealth', - ], - }, - }, - required: [ - 'cost', - 'can', - 'tags', - 'image', - 'type_human', - 'reason', - 'attributes', - ], - }, - snark3: { - type: 'object', - properties: { - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - food: { type: 'string' }, - water: { type: 'string' }, - waste: { type: 'string' }, - seconds: { type: 'integer' }, - ore: { type: 'string' }, - }, - required: ['energy', 'food', 'water', 'waste', 'seconds', 'ore'], - }, - attributes: { - type: 'object', - properties: { - max_occupants: { type: 'integer' }, - speed: { type: 'string' }, - combat: { type: 'string' }, - stealth: { type: 'string' }, - berth_level: { type: 'integer' }, - hold_size: { type: 'string' }, - }, - required: [ - 'max_occupants', - 'speed', - 'combat', - 'stealth', - 'berth_level', - 'hold_size', - ], - }, - image: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - type_human: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - }, - required: [ - 'can', - 'cost', - 'attributes', - 'image', - 'reason', - 'type_human', - 'tags', - ], - }, - spy_pod: { - type: 'object', - properties: { - attributes: { - type: 'object', - properties: { - berth_level: { type: 'integer' }, - hold_size: { type: 'string' }, - stealth: { type: 'string' }, - max_occupants: { type: 'integer' }, - combat: { type: 'string' }, - speed: { type: 'string' }, - }, - required: [ - 'berth_level', - 'hold_size', - 'stealth', - 'max_occupants', - 'combat', - 'speed', - ], - }, - tags: { type: 'array', items: { type: 'string' } }, - image: { type: 'string' }, - type_human: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - cost: { - type: 'object', - properties: { - food: { type: 'string' }, - ore: { type: 'string' }, - waste: { type: 'string' }, - seconds: { type: 'integer' }, - water: { type: 'string' }, - energy: { type: 'string' }, - }, - required: ['food', 'ore', 'waste', 'seconds', 'water', 'energy'], - }, - can: { type: 'integer' }, - }, - required: [ - 'attributes', - 'tags', - 'image', - 'type_human', - 'reason', - 'cost', - 'can', - ], - }, - security_ministry_seeker: { - type: 'object', - properties: { - image: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - type_human: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - attributes: { - type: 'object', - properties: { - max_occupants: { type: 'integer' }, - combat: { type: 'string' }, - stealth: { type: 'string' }, - speed: { type: 'string' }, - hold_size: { type: 'string' }, - berth_level: { type: 'integer' }, - }, - required: [ - 'max_occupants', - 'combat', - 'stealth', - 'speed', - 'hold_size', - 'berth_level', - ], - }, - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - food: { type: 'string' }, - waste: { type: 'string' }, - seconds: { type: 'integer' }, - water: { type: 'string' }, - ore: { type: 'string' }, - }, - required: ['energy', 'food', 'waste', 'seconds', 'water', 'ore'], - }, - can: { type: 'integer' }, - }, - required: [ - 'image', - 'reason', - 'type_human', - 'tags', - 'attributes', - 'cost', - 'can', - ], - }, - terraforming_platform_ship: { - type: 'object', - properties: { - attributes: { - type: 'object', - properties: { - berth_level: { type: 'integer' }, - hold_size: { type: 'string' }, - combat: { type: 'string' }, - max_occupants: { type: 'integer' }, - stealth: { type: 'string' }, - speed: { type: 'string' }, - }, - required: [ - 'berth_level', - 'hold_size', - 'combat', - 'max_occupants', - 'stealth', - 'speed', - ], - }, - image: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - type_human: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - food: { type: 'string' }, - ore: { type: 'string' }, - water: { type: 'string' }, - waste: { type: 'string' }, - seconds: { type: 'integer' }, - }, - required: ['energy', 'food', 'ore', 'water', 'waste', 'seconds'], - }, - can: { type: 'integer' }, - }, - required: [ - 'attributes', - 'image', - 'reason', - 'type_human', - 'tags', - 'cost', - 'can', - ], - }, - observatory_seeker: { - type: 'object', - properties: { - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - food: { type: 'string' }, - ore: { type: 'string' }, - water: { type: 'string' }, - waste: { type: 'string' }, - seconds: { type: 'integer' }, - }, - required: ['energy', 'food', 'ore', 'water', 'waste', 'seconds'], - }, - type_human: { type: 'string' }, - image: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - tags: { type: 'array', items: { type: 'string' } }, - attributes: { - type: 'object', - properties: { - hold_size: { type: 'string' }, - berth_level: { type: 'integer' }, - max_occupants: { type: 'integer' }, - speed: { type: 'string' }, - combat: { type: 'string' }, - stealth: { type: 'string' }, - }, - required: [ - 'hold_size', - 'berth_level', - 'max_occupants', - 'speed', - 'combat', - 'stealth', - ], - }, - }, - required: [ - 'can', - 'cost', - 'type_human', - 'image', - 'reason', - 'tags', - 'attributes', - ], - }, - freighter: { - type: 'object', - properties: { - cost: { - type: 'object', - properties: { - energy: { type: 'string' }, - food: { type: 'string' }, - ore: { type: 'string' }, - waste: { type: 'string' }, - water: { type: 'string' }, - seconds: { type: 'integer' }, - }, - required: ['energy', 'food', 'ore', 'waste', 'water', 'seconds'], - }, - can: { type: 'integer' }, - attributes: { - type: 'object', - properties: { - berth_level: { type: 'integer' }, - hold_size: { type: 'string' }, - stealth: { type: 'string' }, - max_occupants: { type: 'integer' }, - combat: { type: 'string' }, - speed: { type: 'string' }, - }, - required: [ - 'berth_level', - 'hold_size', - 'stealth', - 'max_occupants', - 'combat', - 'speed', - ], - }, - type_human: { type: 'string' }, - image: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - tags: { type: 'array', items: { type: 'string' } }, - }, - required: [ - 'cost', - 'can', - 'attributes', - 'type_human', - 'image', - 'reason', - 'tags', - ], - }, - smuggler_ship: { - type: 'object', - properties: { - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - ore: { type: 'string' }, - waste: { type: 'string' }, - water: { type: 'string' }, - seconds: { type: 'integer' }, - food: { type: 'string' }, - energy: { type: 'string' }, - }, - required: ['ore', 'waste', 'water', 'seconds', 'food', 'energy'], - }, - image: { type: 'string' }, - type_human: { type: 'string' }, - tags: { type: 'array', items: { type: 'string' } }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - attributes: { - type: 'object', - properties: { - speed: { type: 'string' }, - max_occupants: { type: 'integer' }, - combat: { type: 'string' }, - stealth: { type: 'string' }, - berth_level: { type: 'integer' }, - hold_size: { type: 'string' }, - }, - required: [ - 'speed', - 'max_occupants', - 'combat', - 'stealth', - 'berth_level', - 'hold_size', - ], - }, - }, - required: [ - 'can', - 'cost', - 'image', - 'type_human', - 'tags', - 'reason', - 'attributes', - ], - }, - }, - required: [ - 'placebo5', - 'fissure_sealer', - 'detonator', - 'hulk_fast', - 'hulk_huge', - 'thud', - 'barge', - 'supply_pod3', - 'gas_giant_settlement_ship', - 'placebo3', - 'snark2', - 'fighter', - 'placebo6', - 'spy_shuttle', - 'excavator', - 'placebo', - 'scow_fast', - 'placebo2', - 'surveyor', - 'sweeper', - 'scow_large', - 'hulk', - 'dory', - 'galleon', - 'stake', - 'space_station', - 'mining_platform_ship', - 'scow', - 'probe', - 'spaceport_seeker', - 'scow_mega', - 'colony_ship', - 'supply_pod4', - 'short_range_colony_ship', - 'scanner', - 'cargo_ship', - 'drone', - 'bleeder', - 'supply_pod5', - 'snark', - 'supply_pod', - 'placebo4', - 'supply_pod2', - 'snark3', - 'spy_pod', - 'security_ministry_seeker', - 'terraforming_platform_ship', - 'observatory_seeker', - 'freighter', - 'smuggler_ship', - ], - }, - docks_available: { type: 'integer' }, - build_queue_used: { type: 'integer' }, - }, - required: ['status'], - }, - jsonrpc: { type: 'string' }, - id: { type: 'integer' }, - }, - required: ['result', 'jsonrpc', 'id'], - }, - }, - }, - description: '', - headers: { 'X-Served-By': { required: false, schema: { type: 'string' } } }, - }, - }, - security: [], - requestBody: { - content: { - 'application/json': { - schema: { - type: 'object', - properties: { - id: { type: 'integer' }, - method: { type: 'string' }, - jsonrpc: { type: 'string' }, - params: { type: 'array', items: { type: ['integer', 'string'] } }, - }, - required: ['id', 'method', 'jsonrpc', 'params'], - }, - }, - }, - }, - }, - }, - '/observatory': { - post: { - summary: '/observatory', - description: '**Host**: http://lacuna.ocean74.net', - responses: { - '200': { - content: { - 'application/json-rpc': { - schema: { - type: 'object', - properties: { - result: { - type: 'object', - properties: { - buildings: { - type: 'object', - properties: { - '521680': { - type: 'object', - properties: { - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['url', 'level', 'name', 'image', 'y', 'efficiency', 'x'], - }, - '521681': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'level', 'name', 'url', 'y', 'x', 'efficiency'], - }, - '521685': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'url', 'level', 'name', 'image'], - }, - '521686': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'level', 'url', 'name', 'y', 'x', 'efficiency'], - }, - '521687': { - type: 'object', - properties: { - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['name', 'level', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521688': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'level', 'name', 'url', 'image'], - }, - '521689': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'name', 'url'], - }, - '521690': { - type: 'object', - properties: { - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['url', 'level', 'name', 'image', 'efficiency', 'x', 'y'], - }, - '521693': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'name', 'level', 'url'], - }, - '521696': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'name', 'level', 'url', 'image'], - }, - '521697': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521698': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521699': { - type: 'object', - properties: { - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'name', 'level', 'url', 'y', 'x', 'efficiency'], - }, - '521700': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'level', 'name', 'url', 'y', 'x', 'efficiency'], - }, - '521701': { - type: 'object', - properties: { - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'url', 'level', 'name', 'x', 'efficiency', 'y'], - }, - '521702': { - type: 'object', - properties: { - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'name', 'level', 'url', 'y', 'x', 'efficiency'], - }, - '521703': { - type: 'object', - properties: { - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'name', 'level', 'url', 'y', 'x', 'efficiency'], - }, - '521704': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'level', 'name', 'url', 'image'], - }, - '521705': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'url', 'level', 'name'], - }, - '521706': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'level', 'url', 'name', 'image'], - }, - '521707': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'level', 'url', 'name', 'image'], - }, - '521708': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'level', 'url', 'name'], - }, - '521711': { - type: 'object', - properties: { - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'url', 'level', 'name', 'x', 'efficiency', 'y'], - }, - '521712': { - type: 'object', - properties: { - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['url', 'level', 'name', 'image', 'y', 'efficiency', 'x'], - }, - '521713': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'name', 'level', 'url'], - }, - '521714': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'level', 'url', 'name', 'image'], - }, - '521715': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'url', 'level', 'name', 'image'], - }, - '521716': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'url', 'name'], - }, - '521717': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521718': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'level', 'name', 'url', 'y', 'x', 'efficiency'], - }, - '521938': { - type: 'object', - properties: { - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'url', 'level', 'name', 'y', 'x', 'efficiency'], - }, - '521939': { - type: 'object', - properties: { - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'name', 'level', 'url', 'x', 'efficiency', 'y'], - }, - '521940': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'level', 'name', 'url', 'y', 'x', 'efficiency'], - }, - '521941': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521942': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'url', 'level', 'name', 'image'], - }, - '521943': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'name', 'url'], - }, - '521944': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'level', 'name', 'url', 'image'], - }, - '521945': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'name', 'url'], - }, - '521946': { - type: 'object', - properties: { - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'url', 'name', 'image', 'y', 'efficiency', 'x'], - }, - '521947': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'level', 'url', 'name', 'x', 'efficiency', 'y'], - }, - '521948': { - type: 'object', - properties: { - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'url', 'name', 'image', 'y', 'efficiency', 'x'], - }, - '521949': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'level', 'url', 'name', 'x', 'efficiency', 'y'], - }, - '521950': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - pending_build: { - type: 'object', - properties: { - start: { type: 'string' }, - end: { type: 'string' }, - seconds_remaining: { type: 'integer' }, - }, - required: ['start', 'end', 'seconds_remaining'], - }, - y: { type: 'integer' }, - }, - required: [ - 'level', - 'name', - 'efficiency', - 'x', - 'url', - 'image', - 'pending_build', - 'y', - ], - }, - }, - required: [ - '521680', - '521681', - '521685', - '521686', - '521687', - '521688', - '521689', - '521690', - '521693', - '521696', - '521697', - '521698', - '521699', - '521700', - '521701', - '521702', - '521703', - '521704', - '521705', - '521706', - '521707', - '521708', - '521711', - '521712', - '521713', - '521714', - '521715', - '521716', - '521717', - '521718', - '521938', - '521939', - '521940', - '521941', - '521942', - '521943', - '521944', - '521945', - '521946', - '521947', - '521948', - '521949', - '521950', - ], - }, - status: { - type: 'object', - properties: { - empire: { - type: 'object', - properties: { - tech_level: { type: 'integer' }, - next_station_cost: { type: 'integer' }, - bodies: { - type: 'object', - properties: { - colonies: { - type: 'array', - items: { - type: 'object', - properties: { - empire_name: { type: 'string' }, - x: { type: 'integer' }, - star_id: { type: 'integer' }, - empire_id: { type: 'integer' }, - name: { type: 'string' }, - y: { type: 'integer' }, - id: { type: 'integer' }, - star_name: { type: 'string' }, - orbit: { type: 'integer' }, - zone: { type: 'string' }, - }, - required: [ - 'empire_name', - 'x', - 'star_id', - 'empire_id', - 'name', - 'y', - 'id', - 'star_name', - 'orbit', - 'zone', - ], - }, - }, - }, - required: ['colonies'], - }, - latest_message_id: { type: 'integer' }, - next_colony_cost: { type: 'integer' }, - self_destruct_date: { type: 'string' }, - stations: { type: 'object' }, - status_message: { type: 'string' }, - next_colony_srcs: { type: 'integer' }, - self_destruct_active: { type: 'integer' }, - name: { type: 'string' }, - has_new_messages: { type: 'integer' }, - insurrect_value: { type: 'integer' }, - home_planet_id: { type: 'integer' }, - planets: { - type: 'object', - properties: { '467647': { type: 'string' } }, - required: ['467647'], - }, - id: { type: 'integer' }, - rpc_count: { type: 'integer' }, - essentia: { type: 'integer' }, - colonies: { - type: 'object', - properties: { '467647': { type: 'string' } }, - required: ['467647'], - }, - is_isolationist: { type: 'integer' }, - }, - required: [ - 'tech_level', - 'next_station_cost', - 'bodies', - 'latest_message_id', - 'next_colony_cost', - 'self_destruct_date', - 'stations', - 'status_message', - 'next_colony_srcs', - 'self_destruct_active', - 'name', - 'has_new_messages', - 'insurrect_value', - 'home_planet_id', - 'planets', - 'id', - 'rpc_count', - 'essentia', - 'colonies', - 'is_isolationist', - ], - }, - body: { - type: 'object', - properties: { - food_capacity: { type: 'integer' }, - food_hour: { type: 'integer' }, - num_incoming_ally: { type: 'integer' }, - zone: { type: 'string' }, - size: { type: 'integer' }, - build_queue_size: { type: 'integer' }, - x: { type: 'integer' }, - water_hour: { type: 'integer' }, - ore: { - type: 'object', - properties: { - bauxite: { type: 'integer' }, - anthracite: { type: 'integer' }, - chalcopyrite: { type: 'integer' }, - gold: { type: 'integer' }, - goethite: { type: 'integer' }, - beryl: { type: 'integer' }, - methane: { type: 'integer' }, - fluorite: { type: 'integer' }, - sulfur: { type: 'integer' }, - gypsum: { type: 'integer' }, - magnetite: { type: 'integer' }, - rutile: { type: 'integer' }, - kerogen: { type: 'integer' }, - chromite: { type: 'integer' }, - zircon: { type: 'integer' }, - uraninite: { type: 'integer' }, - monazite: { type: 'integer' }, - halite: { type: 'integer' }, - trona: { type: 'integer' }, - galena: { type: 'integer' }, - }, - required: [ - 'bauxite', - 'anthracite', - 'chalcopyrite', - 'gold', - 'goethite', - 'beryl', - 'methane', - 'fluorite', - 'sulfur', - 'gypsum', - 'magnetite', - 'rutile', - 'kerogen', - 'chromite', - 'zircon', - 'uraninite', - 'monazite', - 'halite', - 'trona', - 'galena', - ], - }, - energy_stored: { type: 'integer' }, - plots_available: { type: 'integer' }, - energy_hour: { type: 'integer' }, - ore_stored: { type: 'integer' }, - star_name: { type: 'string' }, - ore_hour: { type: 'integer' }, - waste_stored: { type: 'integer' }, - energy_capacity: { type: 'integer' }, - happiness: { type: 'integer' }, - notes: { type: 'string' }, - water: { type: 'integer' }, - water_stored: { type: 'integer' }, - image: { type: 'string' }, - propaganda_boost: { type: 'integer' }, - build_queue_len: { type: 'integer' }, - num_incoming_enemy: { type: 'integer' }, - y: { type: 'integer' }, - ore_capacity: { type: 'integer' }, - empire: { - type: 'object', - properties: { - name: { type: 'string' }, - is_isolationist: { type: 'integer' }, - alignment: { type: 'string' }, - id: { type: 'integer' }, - }, - required: ['name', 'is_isolationist', 'alignment', 'id'], - }, - waste_capacity: { type: 'integer' }, - building_count: { type: 'integer' }, - orbit: { type: 'integer' }, - neutral_entry: { type: 'string' }, - star_id: { type: 'integer' }, - water_capacity: { type: 'integer' }, - name: { type: 'string' }, - needs_surface_refresh: { type: 'integer' }, - happiness_hour: { type: 'integer' }, - num_incoming_own: { type: 'integer' }, - surface_version: { type: 'integer' }, - population: { type: 'integer' }, - id: { type: 'integer' }, - food_stored: { type: 'integer' }, - type: { type: 'string' }, - waste_hour: { type: 'integer' }, - }, - required: [ - 'food_capacity', - 'food_hour', - 'num_incoming_ally', - 'zone', - 'size', - 'build_queue_size', - 'x', - 'water_hour', - 'ore', - 'energy_stored', - 'plots_available', - 'energy_hour', - 'ore_stored', - 'star_name', - 'ore_hour', - 'waste_stored', - 'energy_capacity', - 'happiness', - 'notes', - 'water', - 'water_stored', - 'image', - 'propaganda_boost', - 'build_queue_len', - 'num_incoming_enemy', - 'y', - 'ore_capacity', - 'empire', - 'waste_capacity', - 'building_count', - 'orbit', - 'neutral_entry', - 'star_id', - 'water_capacity', - 'name', - 'needs_surface_refresh', - 'happiness_hour', - 'num_incoming_own', - 'surface_version', - 'population', - 'id', - 'food_stored', - 'type', - 'waste_hour', - ], - }, - server: { - type: 'object', - properties: { - version: { type: 'number' }, - time: { type: 'string' }, - star_map_size: { - type: 'object', - properties: { - y: { type: 'array', items: { type: 'integer' } }, - x: { type: 'array', items: { type: 'integer' } }, - }, - required: ['y', 'x'], - }, - rpc_limit: { type: 'integer' }, - }, - required: ['version', 'time', 'star_map_size', 'rpc_limit'], - }, - }, - required: ['empire', 'body', 'server'], - }, - building: { - type: 'object', - properties: { - water_capacity: { type: 'integer' }, - name: { type: 'string' }, - level: { type: 'integer' }, - efficiency: { type: 'integer' }, - happiness_hour: { type: 'integer' }, - x: { type: 'integer' }, - water_hour: { type: 'integer' }, - upgrade: { - type: 'object', - properties: { - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - food: { type: 'integer' }, - ore: { type: 'integer' }, - waste: { type: 'integer' }, - water: { type: 'integer' }, - energy: { type: 'integer' }, - time: { type: 'integer' }, - }, - required: ['food', 'ore', 'waste', 'water', 'energy', 'time'], - }, - image: { type: 'string' }, - production: { - type: 'object', - properties: { - water_capacity: { type: 'integer' }, - energy_capacity: { type: 'integer' }, - food_capacity: { type: 'integer' }, - water_hour: { type: 'string' }, - happiness_hour: { type: 'string' }, - food_hour: { type: 'string' }, - energy_hour: { type: 'string' }, - waste_capacity: { type: 'integer' }, - waste_hour: { type: 'string' }, - ore_hour: { type: 'string' }, - ore_capacity: { type: 'integer' }, - }, - required: [ - 'water_capacity', - 'energy_capacity', - 'food_capacity', - 'water_hour', - 'happiness_hour', - 'food_hour', - 'energy_hour', - 'waste_capacity', - 'waste_hour', - 'ore_hour', - 'ore_capacity', - ], - }, - reason: { type: 'string' }, - }, - required: ['can', 'cost', 'image', 'production', 'reason'], - }, - url: { type: 'string' }, - energy_hour: { type: 'integer' }, - ore_hour: { type: 'integer' }, - waste_hour: { type: 'integer' }, - downgrade: { - type: 'object', - properties: { - image: { type: 'string' }, - reason: { type: 'string' }, - can: { type: 'integer' }, - }, - required: ['image', 'reason', 'can'], - }, - id: { type: 'integer' }, - energy_capacity: { type: 'integer' }, - food_capacity: { type: 'integer' }, - food_hour: { type: 'integer' }, - image: { type: 'string' }, - pending_build: { type: 'null' }, - waste_capacity: { type: 'integer' }, - y: { type: 'integer' }, - repair_costs: { - type: 'object', - properties: { - energy: { type: 'string' }, - food: { type: 'string' }, - water: { type: 'string' }, - ore: { type: 'string' }, - }, - required: ['energy', 'food', 'water', 'ore'], - }, - ore_capacity: { type: 'integer' }, - }, - required: [ - 'water_capacity', - 'name', - 'level', - 'efficiency', - 'happiness_hour', - 'x', - 'water_hour', - 'upgrade', - 'url', - 'energy_hour', - 'ore_hour', - 'waste_hour', - 'downgrade', - 'id', - 'energy_capacity', - 'food_capacity', - 'food_hour', - 'image', - 'pending_build', - 'waste_capacity', - 'y', - 'repair_costs', - 'ore_capacity', - ], - }, - travelling: { type: 'integer' }, - star_count: { type: 'integer' }, - max_probes: { type: 'integer' }, - stars: { - type: 'array', - items: { - type: 'object', - properties: { - color: { type: 'string' }, - x: { type: 'integer' }, - bodies: { - type: 'array', - items: { - type: 'object', - properties: { - star_id: { type: 'integer' }, - name: { type: 'string' }, - size: { type: 'integer' }, - x: { type: 'integer' }, - water: { type: 'integer' }, - notes: { type: ['null', 'string'] }, - ore: { - type: 'object', - properties: { - zircon: { type: 'integer' }, - chromite: { type: 'integer' }, - kerogen: { type: 'integer' }, - uraninite: { type: 'integer' }, - galena: { type: 'integer' }, - halite: { type: 'integer' }, - monazite: { type: 'integer' }, - trona: { type: 'integer' }, - sulfur: { type: 'integer' }, - gypsum: { type: 'integer' }, - magnetite: { type: 'integer' }, - rutile: { type: 'integer' }, - beryl: { type: 'integer' }, - fluorite: { type: 'integer' }, - methane: { type: 'integer' }, - bauxite: { type: 'integer' }, - chalcopyrite: { type: 'integer' }, - anthracite: { type: 'integer' }, - goethite: { type: 'integer' }, - gold: { type: 'integer' }, - }, - required: [ - 'zircon', - 'chromite', - 'kerogen', - 'uraninite', - 'galena', - 'halite', - 'monazite', - 'trona', - 'sulfur', - 'gypsum', - 'magnetite', - 'rutile', - 'beryl', - 'fluorite', - 'methane', - 'bauxite', - 'chalcopyrite', - 'anthracite', - 'goethite', - 'gold', - ], - }, - image: { type: 'string' }, - star_name: { type: 'string' }, - y: { type: 'integer' }, - id: { type: 'integer' }, - zone: { type: 'string' }, - orbit: { type: 'integer' }, - type: { type: 'string' }, - num_incoming_ally: { type: 'integer' }, - food_capacity: { type: 'integer' }, - food_hour: { type: 'integer' }, - energy_stored: { type: 'integer' }, - energy_hour: { type: 'integer' }, - plots_available: { type: 'integer' }, - ore_stored: { type: 'integer' }, - ore_hour: { type: 'integer' }, - water_hour: { type: 'integer' }, - build_queue_size: { type: 'integer' }, - water_stored: { type: 'integer' }, - propaganda_boost: { type: 'integer' }, - build_queue_len: { type: 'integer' }, - ore_capacity: { type: 'integer' }, - num_incoming_enemy: { type: 'integer' }, - building_count: { type: 'integer' }, - waste_capacity: { type: 'integer' }, - empire: { - type: 'object', - properties: { - id: { type: 'integer' }, - alignment: { type: 'string' }, - name: { type: 'string' }, - is_isolationist: { type: 'integer' }, - }, - required: ['id', 'alignment', 'name', 'is_isolationist'], - }, - waste_stored: { type: 'integer' }, - energy_capacity: { type: 'integer' }, - happiness: { type: 'integer' }, - surface_version: { type: 'integer' }, - population: { type: 'integer' }, - waste_hour: { type: 'integer' }, - food_stored: { type: 'integer' }, - neutral_entry: { type: 'string' }, - needs_surface_refresh: { type: 'integer' }, - water_capacity: { type: 'integer' }, - num_incoming_own: { type: 'integer' }, - happiness_hour: { type: 'integer' }, - }, - required: [ - 'star_id', - 'name', - 'size', - 'x', - 'notes', - 'ore', - 'image', - 'star_name', - 'y', - 'id', - 'zone', - 'orbit', - 'type', - ], - }, - }, - name: { type: 'string' }, - id: { type: 'integer' }, - y: { type: 'integer' }, - influence: { type: 'null' }, - zone: { type: 'string' }, - }, - required: [ - 'color', - 'x', - 'bodies', - 'name', - 'id', - 'y', - 'influence', - 'zone', - ], - }, - }, - }, - required: ['status'], - }, - id: { type: 'integer' }, - jsonrpc: { type: 'string' }, - }, - required: ['result', 'id', 'jsonrpc'], - }, - }, - }, - description: '', - headers: { 'X-Served-By': { required: false, schema: { type: 'string' } } }, - }, - }, - security: [], - requestBody: { - content: { - 'application/json': { - schema: { - type: 'object', - properties: { - id: { type: 'integer' }, - method: { type: 'string' }, - jsonrpc: { type: 'string' }, - params: { type: 'array', items: { type: ['integer', 'string'] } }, - }, - required: ['id', 'method', 'jsonrpc', 'params'], - }, - }, - }, - }, - }, - }, - '/orestorage': { - post: { - summary: '/orestorage', - description: '**Host**: http://lacuna.ocean74.net', - responses: { - '200': { - content: { - 'application/json-rpc': { - schema: { - type: 'object', - properties: { - result: { - type: 'object', - properties: { - ore_stored: { - type: 'object', - properties: { - bauxite: { type: 'integer' }, - anthracite: { type: 'integer' }, - chalcopyrite: { type: 'integer' }, - goethite: { type: 'integer' }, - gold: { type: 'integer' }, - beryl: { type: 'integer' }, - fluorite: { type: 'integer' }, - methane: { type: 'integer' }, - sulfur: { type: 'integer' }, - gypsum: { type: 'integer' }, - magnetite: { type: 'integer' }, - rutile: { type: 'integer' }, - zircon: { type: 'integer' }, - kerogen: { type: 'integer' }, - chromite: { type: 'integer' }, - uraninite: { type: 'integer' }, - galena: { type: 'integer' }, - trona: { type: 'integer' }, - monazite: { type: 'integer' }, - halite: { type: 'integer' }, - }, - required: [ - 'bauxite', - 'anthracite', - 'chalcopyrite', - 'goethite', - 'gold', - 'beryl', - 'fluorite', - 'methane', - 'sulfur', - 'gypsum', - 'magnetite', - 'rutile', - 'zircon', - 'kerogen', - 'chromite', - 'uraninite', - 'galena', - 'trona', - 'monazite', - 'halite', - ], - }, - building: { - type: 'object', - properties: { - food_hour: { type: 'integer' }, - food_capacity: { type: 'integer' }, - energy_capacity: { type: 'integer' }, - waste_capacity: { type: 'integer' }, - y: { type: 'integer' }, - ore_capacity: { type: 'integer' }, - repair_costs: { - type: 'object', - properties: { - energy: { type: 'string' }, - water: { type: 'string' }, - ore: { type: 'string' }, - food: { type: 'string' }, - }, - required: ['energy', 'water', 'ore', 'food'], - }, - image: { type: 'string' }, - pending_build: { type: 'null' }, - efficiency: { type: 'integer' }, - happiness_hour: { type: 'integer' }, - water_hour: { type: 'integer' }, - x: { type: 'integer' }, - upgrade: { - type: 'object', - properties: { - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - time: { type: 'integer' }, - energy: { type: 'integer' }, - ore: { type: 'integer' }, - water: { type: 'integer' }, - waste: { type: 'integer' }, - food: { type: 'integer' }, - }, - required: ['time', 'energy', 'ore', 'water', 'waste', 'food'], - }, - image: { type: 'string' }, - reason: { type: 'string' }, - production: { - type: 'object', - properties: { - energy_capacity: { type: 'integer' }, - food_capacity: { type: 'integer' }, - water_capacity: { type: 'integer' }, - food_hour: { type: 'string' }, - water_hour: { type: 'string' }, - happiness_hour: { type: 'string' }, - energy_hour: { type: 'string' }, - ore_capacity: { type: 'string' }, - waste_capacity: { type: 'integer' }, - waste_hour: { type: 'string' }, - ore_hour: { type: 'string' }, - }, - required: [ - 'energy_capacity', - 'food_capacity', - 'water_capacity', - 'food_hour', - 'water_hour', - 'happiness_hour', - 'energy_hour', - 'ore_capacity', - 'waste_capacity', - 'waste_hour', - 'ore_hour', - ], - }, - }, - required: ['can', 'cost', 'image', 'reason', 'production'], - }, - water_capacity: { type: 'integer' }, - name: { type: 'string' }, - level: { type: 'integer' }, - waste_hour: { type: 'integer' }, - ore_hour: { type: 'integer' }, - id: { type: 'integer' }, - downgrade: { - type: 'object', - properties: { - reason: { type: 'string' }, - image: { type: 'string' }, - can: { type: 'integer' }, - }, - required: ['reason', 'image', 'can'], - }, - url: { type: 'string' }, - energy_hour: { type: 'integer' }, - }, - required: [ - 'food_hour', - 'food_capacity', - 'energy_capacity', - 'waste_capacity', - 'y', - 'ore_capacity', - 'repair_costs', - 'image', - 'pending_build', - 'efficiency', - 'happiness_hour', - 'water_hour', - 'x', - 'upgrade', - 'water_capacity', - 'name', - 'level', - 'waste_hour', - 'ore_hour', - 'id', - 'downgrade', - 'url', - 'energy_hour', - ], - }, - buildings: { - type: 'object', - properties: { - '521680': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'name', 'url'], - }, - '521681': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521685': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'name', 'level', 'url', 'image'], - }, - '521686': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'url', 'level', 'name', 'image'], - }, - '521687': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521688': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'url', 'level', 'name', 'image'], - }, - '521689': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'level', 'url', 'name', 'y', 'x', 'efficiency'], - }, - '521690': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'level', 'url', 'name'], - }, - '521693': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'name', 'url'], - }, - '521696': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'url', 'name'], - }, - '521697': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'level', 'url', 'name', 'image'], - }, - '521698': { - type: 'object', - properties: { - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'name', 'level', 'url', 'x', 'efficiency', 'y'], - }, - '521699': { - type: 'object', - properties: { - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['name', 'level', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521700': { - type: 'object', - properties: { - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'url', 'level', 'name', 'x', 'efficiency', 'y'], - }, - '521701': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'level', 'name', 'url', 'y', 'x', 'efficiency'], - }, - '521702': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'url', 'level', 'name', 'image'], - }, - '521703': { - type: 'object', - properties: { - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['name', 'level', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521704': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'level', 'url', 'name', 'y', 'x', 'efficiency'], - }, - '521705': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'url', 'level', 'name', 'image'], - }, - '521706': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'name', 'level', 'url'], - }, - '521707': { - type: 'object', - properties: { - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['name', 'level', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521708': { - type: 'object', - properties: { - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'url', 'level', 'name', 'y', 'x', 'efficiency'], - }, - '521711': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'name', 'level', 'url'], - }, - '521712': { - type: 'object', - properties: { - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'url', 'name', 'image', 'y', 'efficiency', 'x'], - }, - '521713': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'name', 'level', 'url'], - }, - '521714': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'level', 'name', 'url', 'y', 'x', 'efficiency'], - }, - '521715': { - type: 'object', - properties: { - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['name', 'level', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521716': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521717': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'url', 'level', 'name', 'image'], - }, - '521718': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'name', 'level', 'url'], - }, - '521938': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'name', 'level', 'url', 'image'], - }, - '521939': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'url', 'level', 'name', 'image'], - }, - '521940': { - type: 'object', - properties: { - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'url', 'level', 'name', 'y', 'x', 'efficiency'], - }, - '521941': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'level', 'url', 'name', 'image'], - }, - '521942': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'level', 'name', 'url', 'image'], - }, - '521943': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'url', 'name'], - }, - '521944': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'url', 'name'], - }, - '521945': { - type: 'object', - properties: { - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'url', 'name', 'image', 'y', 'efficiency', 'x'], - }, - '521946': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'url', 'level', 'name'], - }, - '521947': { - type: 'object', - properties: { - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'name', 'level', 'url', 'y', 'x', 'efficiency'], - }, - '521948': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'level', 'url', 'name'], - }, - '521949': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'level', 'url', 'name', 'y', 'x', 'efficiency'], - }, - '521950': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - level: { type: 'integer' }, - name: { type: 'string' }, - y: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - pending_build: { - type: 'object', - properties: { - seconds_remaining: { type: 'integer' }, - start: { type: 'string' }, - end: { type: 'string' }, - }, - required: ['seconds_remaining', 'start', 'end'], - }, - }, - required: [ - 'efficiency', - 'x', - 'level', - 'name', - 'y', - 'url', - 'image', - 'pending_build', - ], - }, - }, - required: [ - '521680', - '521681', - '521685', - '521686', - '521687', - '521688', - '521689', - '521690', - '521693', - '521696', - '521697', - '521698', - '521699', - '521700', - '521701', - '521702', - '521703', - '521704', - '521705', - '521706', - '521707', - '521708', - '521711', - '521712', - '521713', - '521714', - '521715', - '521716', - '521717', - '521718', - '521938', - '521939', - '521940', - '521941', - '521942', - '521943', - '521944', - '521945', - '521946', - '521947', - '521948', - '521949', - '521950', - ], - }, - status: { - type: 'object', - properties: { - empire: { - type: 'object', - properties: { - next_colony_srcs: { type: 'integer' }, - self_destruct_active: { type: 'integer' }, - status_message: { type: 'string' }, - insurrect_value: { type: 'integer' }, - home_planet_id: { type: 'integer' }, - has_new_messages: { type: 'integer' }, - name: { type: 'string' }, - planets: { - type: 'object', - properties: { '467647': { type: 'string' } }, - required: ['467647'], - }, - id: { type: 'integer' }, - is_isolationist: { type: 'integer' }, - rpc_count: { type: 'integer' }, - essentia: { type: 'integer' }, - colonies: { - type: 'object', - properties: { '467647': { type: 'string' } }, - required: ['467647'], - }, - tech_level: { type: 'integer' }, - next_station_cost: { type: 'integer' }, - bodies: { - type: 'object', - properties: { - colonies: { - type: 'array', - items: { - type: 'object', - properties: { - star_name: { type: 'string' }, - id: { type: 'integer' }, - y: { type: 'integer' }, - zone: { type: 'string' }, - orbit: { type: 'integer' }, - star_id: { type: 'integer' }, - empire_id: { type: 'integer' }, - name: { type: 'string' }, - empire_name: { type: 'string' }, - x: { type: 'integer' }, - }, - required: [ - 'star_name', - 'id', - 'y', - 'zone', - 'orbit', - 'star_id', - 'empire_id', - 'name', - 'empire_name', - 'x', - ], - }, - }, - }, - required: ['colonies'], - }, - next_colony_cost: { type: 'integer' }, - latest_message_id: { type: 'integer' }, - self_destruct_date: { type: 'string' }, - stations: { type: 'object' }, - }, - required: [ - 'next_colony_srcs', - 'self_destruct_active', - 'status_message', - 'insurrect_value', - 'home_planet_id', - 'has_new_messages', - 'name', - 'planets', - 'id', - 'is_isolationist', - 'rpc_count', - 'essentia', - 'colonies', - 'tech_level', - 'next_station_cost', - 'bodies', - 'next_colony_cost', - 'latest_message_id', - 'self_destruct_date', - 'stations', - ], - }, - body: { - type: 'object', - properties: { - ore_hour: { type: 'integer' }, - star_name: { type: 'string' }, - ore_stored: { type: 'integer' }, - energy_hour: { type: 'integer' }, - plots_available: { type: 'integer' }, - energy_stored: { type: 'integer' }, - ore: { - type: 'object', - properties: { - bauxite: { type: 'integer' }, - chalcopyrite: { type: 'integer' }, - anthracite: { type: 'integer' }, - goethite: { type: 'integer' }, - gold: { type: 'integer' }, - beryl: { type: 'integer' }, - methane: { type: 'integer' }, - fluorite: { type: 'integer' }, - sulfur: { type: 'integer' }, - gypsum: { type: 'integer' }, - magnetite: { type: 'integer' }, - rutile: { type: 'integer' }, - zircon: { type: 'integer' }, - kerogen: { type: 'integer' }, - chromite: { type: 'integer' }, - uraninite: { type: 'integer' }, - galena: { type: 'integer' }, - trona: { type: 'integer' }, - monazite: { type: 'integer' }, - halite: { type: 'integer' }, - }, - required: [ - 'bauxite', - 'chalcopyrite', - 'anthracite', - 'goethite', - 'gold', - 'beryl', - 'methane', - 'fluorite', - 'sulfur', - 'gypsum', - 'magnetite', - 'rutile', - 'zircon', - 'kerogen', - 'chromite', - 'uraninite', - 'galena', - 'trona', - 'monazite', - 'halite', - ], - }, - water_hour: { type: 'integer' }, - x: { type: 'integer' }, - build_queue_size: { type: 'integer' }, - size: { type: 'integer' }, - zone: { type: 'string' }, - num_incoming_ally: { type: 'integer' }, - food_hour: { type: 'integer' }, - food_capacity: { type: 'integer' }, - type: { type: 'string' }, - waste_hour: { type: 'integer' }, - food_stored: { type: 'integer' }, - id: { type: 'integer' }, - population: { type: 'integer' }, - surface_version: { type: 'integer' }, - num_incoming_own: { type: 'integer' }, - happiness_hour: { type: 'integer' }, - needs_surface_refresh: { type: 'integer' }, - water_capacity: { type: 'integer' }, - name: { type: 'string' }, - star_id: { type: 'integer' }, - neutral_entry: { type: 'string' }, - building_count: { type: 'integer' }, - waste_capacity: { type: 'integer' }, - orbit: { type: 'integer' }, - empire: { - type: 'object', - properties: { - name: { type: 'string' }, - is_isolationist: { type: 'integer' }, - id: { type: 'integer' }, - alignment: { type: 'string' }, - }, - required: ['name', 'is_isolationist', 'id', 'alignment'], - }, - ore_capacity: { type: 'integer' }, - num_incoming_enemy: { type: 'integer' }, - y: { type: 'integer' }, - build_queue_len: { type: 'integer' }, - propaganda_boost: { type: 'integer' }, - image: { type: 'string' }, - water_stored: { type: 'integer' }, - water: { type: 'integer' }, - notes: { type: 'string' }, - happiness: { type: 'integer' }, - energy_capacity: { type: 'integer' }, - waste_stored: { type: 'integer' }, - }, - required: [ - 'ore_hour', - 'star_name', - 'ore_stored', - 'energy_hour', - 'plots_available', - 'energy_stored', - 'ore', - 'water_hour', - 'x', - 'build_queue_size', - 'size', - 'zone', - 'num_incoming_ally', - 'food_hour', - 'food_capacity', - 'type', - 'waste_hour', - 'food_stored', - 'id', - 'population', - 'surface_version', - 'num_incoming_own', - 'happiness_hour', - 'needs_surface_refresh', - 'water_capacity', - 'name', - 'star_id', - 'neutral_entry', - 'building_count', - 'waste_capacity', - 'orbit', - 'empire', - 'ore_capacity', - 'num_incoming_enemy', - 'y', - 'build_queue_len', - 'propaganda_boost', - 'image', - 'water_stored', - 'water', - 'notes', - 'happiness', - 'energy_capacity', - 'waste_stored', - ], - }, - server: { - type: 'object', - properties: { - time: { type: 'string' }, - version: { type: 'number' }, - rpc_limit: { type: 'integer' }, - star_map_size: { - type: 'object', - properties: { - y: { type: 'array', items: { type: 'integer' } }, - x: { type: 'array', items: { type: 'integer' } }, - }, - required: ['y', 'x'], - }, - }, - required: ['time', 'version', 'rpc_limit', 'star_map_size'], - }, - }, - required: ['empire', 'body', 'server'], - }, - }, - required: ['ore_stored', 'building', 'buildings', 'status'], - }, - jsonrpc: { type: 'string' }, - id: { type: 'integer' }, - }, - required: ['result', 'jsonrpc', 'id'], - }, - }, - }, - description: '', - headers: { 'X-Served-By': { required: false, schema: { type: 'string' } } }, - }, - }, - security: [], - requestBody: { - content: { - 'application/json': { - schema: { - type: 'object', - properties: { - id: { type: 'integer' }, - method: { type: 'string' }, - jsonrpc: { type: 'string' }, - params: { type: 'array', items: { type: 'string' } }, - }, - required: ['id', 'method', 'jsonrpc', 'params'], - }, - }, - }, - }, - }, - }, - '/waterstorage': { - post: { - summary: '/waterstorage', - description: '**Host**: http://lacuna.ocean74.net', - responses: { - '200': { - content: { - 'application/json-rpc': { - schema: { - type: 'object', - properties: { - result: { - type: 'object', - properties: { - status: { - type: 'object', - properties: { - empire: { - type: 'object', - properties: { - next_colony_cost: { type: 'integer' }, - latest_message_id: { type: 'integer' }, - stations: { type: 'object' }, - self_destruct_date: { type: 'string' }, - next_station_cost: { type: 'integer' }, - tech_level: { type: 'integer' }, - bodies: { - type: 'object', - properties: { - colonies: { - type: 'array', - items: { - type: 'object', - properties: { - star_name: { type: 'string' }, - id: { type: 'integer' }, - y: { type: 'integer' }, - orbit: { type: 'integer' }, - zone: { type: 'string' }, - empire_name: { type: 'string' }, - x: { type: 'integer' }, - name: { type: 'string' }, - empire_id: { type: 'integer' }, - star_id: { type: 'integer' }, - }, - required: [ - 'star_name', - 'id', - 'y', - 'orbit', - 'zone', - 'empire_name', - 'x', - 'name', - 'empire_id', - 'star_id', - ], - }, - }, - }, - required: ['colonies'], - }, - id: { type: 'integer' }, - planets: { - type: 'object', - properties: { '467647': { type: 'string' } }, - required: ['467647'], - }, - essentia: { type: 'integer' }, - colonies: { - type: 'object', - properties: { '467647': { type: 'string' } }, - required: ['467647'], - }, - rpc_count: { type: 'integer' }, - is_isolationist: { type: 'integer' }, - status_message: { type: 'string' }, - self_destruct_active: { type: 'integer' }, - next_colony_srcs: { type: 'integer' }, - name: { type: 'string' }, - has_new_messages: { type: 'integer' }, - home_planet_id: { type: 'integer' }, - insurrect_value: { type: 'integer' }, - }, - required: [ - 'next_colony_cost', - 'latest_message_id', - 'stations', - 'self_destruct_date', - 'next_station_cost', - 'tech_level', - 'bodies', - 'id', - 'planets', - 'essentia', - 'colonies', - 'rpc_count', - 'is_isolationist', - 'status_message', - 'self_destruct_active', - 'next_colony_srcs', - 'name', - 'has_new_messages', - 'home_planet_id', - 'insurrect_value', - ], - }, - server: { - type: 'object', - properties: { - version: { type: 'number' }, - time: { type: 'string' }, - rpc_limit: { type: 'integer' }, - star_map_size: { - type: 'object', - properties: { - y: { type: 'array', items: { type: 'integer' } }, - x: { type: 'array', items: { type: 'integer' } }, - }, - required: ['y', 'x'], - }, - }, - required: ['version', 'time', 'rpc_limit', 'star_map_size'], - }, - body: { - type: 'object', - properties: { - water_stored: { type: 'integer' }, - water: { type: 'integer' }, - notes: { type: 'string' }, - propaganda_boost: { type: 'integer' }, - build_queue_len: { type: 'integer' }, - image: { type: 'string' }, - ore_capacity: { type: 'integer' }, - y: { type: 'integer' }, - num_incoming_enemy: { type: 'integer' }, - building_count: { type: 'integer' }, - waste_capacity: { type: 'integer' }, - orbit: { type: 'integer' }, - empire: { - type: 'object', - properties: { - id: { type: 'integer' }, - alignment: { type: 'string' }, - is_isolationist: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['id', 'alignment', 'is_isolationist', 'name'], - }, - energy_capacity: { type: 'integer' }, - waste_stored: { type: 'integer' }, - happiness: { type: 'integer' }, - surface_version: { type: 'integer' }, - population: { type: 'integer' }, - id: { type: 'integer' }, - type: { type: 'string' }, - waste_hour: { type: 'integer' }, - food_stored: { type: 'integer' }, - neutral_entry: { type: 'string' }, - needs_surface_refresh: { type: 'integer' }, - water_capacity: { type: 'integer' }, - star_id: { type: 'integer' }, - name: { type: 'string' }, - num_incoming_own: { type: 'integer' }, - happiness_hour: { type: 'integer' }, - num_incoming_ally: { type: 'integer' }, - zone: { type: 'string' }, - food_capacity: { type: 'integer' }, - food_hour: { type: 'integer' }, - energy_stored: { type: 'integer' }, - ore: { - type: 'object', - properties: { - uraninite: { type: 'integer' }, - zircon: { type: 'integer' }, - kerogen: { type: 'integer' }, - chromite: { type: 'integer' }, - galena: { type: 'integer' }, - monazite: { type: 'integer' }, - trona: { type: 'integer' }, - halite: { type: 'integer' }, - sulfur: { type: 'integer' }, - gypsum: { type: 'integer' }, - rutile: { type: 'integer' }, - magnetite: { type: 'integer' }, - beryl: { type: 'integer' }, - methane: { type: 'integer' }, - fluorite: { type: 'integer' }, - bauxite: { type: 'integer' }, - goethite: { type: 'integer' }, - gold: { type: 'integer' }, - anthracite: { type: 'integer' }, - chalcopyrite: { type: 'integer' }, - }, - required: [ - 'uraninite', - 'zircon', - 'kerogen', - 'chromite', - 'galena', - 'monazite', - 'trona', - 'halite', - 'sulfur', - 'gypsum', - 'rutile', - 'magnetite', - 'beryl', - 'methane', - 'fluorite', - 'bauxite', - 'goethite', - 'gold', - 'anthracite', - 'chalcopyrite', - ], - }, - energy_hour: { type: 'integer' }, - plots_available: { type: 'integer' }, - star_name: { type: 'string' }, - ore_stored: { type: 'integer' }, - ore_hour: { type: 'integer' }, - size: { type: 'integer' }, - x: { type: 'integer' }, - water_hour: { type: 'integer' }, - build_queue_size: { type: 'integer' }, - }, - required: [ - 'water_stored', - 'water', - 'notes', - 'propaganda_boost', - 'build_queue_len', - 'image', - 'ore_capacity', - 'y', - 'num_incoming_enemy', - 'building_count', - 'waste_capacity', - 'orbit', - 'empire', - 'energy_capacity', - 'waste_stored', - 'happiness', - 'surface_version', - 'population', - 'id', - 'type', - 'waste_hour', - 'food_stored', - 'neutral_entry', - 'needs_surface_refresh', - 'water_capacity', - 'star_id', - 'name', - 'num_incoming_own', - 'happiness_hour', - 'num_incoming_ally', - 'zone', - 'food_capacity', - 'food_hour', - 'energy_stored', - 'ore', - 'energy_hour', - 'plots_available', - 'star_name', - 'ore_stored', - 'ore_hour', - 'size', - 'x', - 'water_hour', - 'build_queue_size', - ], - }, - }, - required: ['empire', 'server', 'body'], - }, - buildings: { - type: 'object', - properties: { - '521680': { - type: 'object', - properties: { - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'url', 'level', 'name', 'x', 'efficiency', 'y'], - }, - '521681': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'name', 'level', 'url'], - }, - '521685': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521686': { - type: 'object', - properties: { - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'url', 'level', 'name', 'y', 'x', 'efficiency'], - }, - '521687': { - type: 'object', - properties: { - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'name', 'level', 'url', 'x', 'efficiency', 'y'], - }, - '521688': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'level', 'url', 'name', 'image'], - }, - '521689': { - type: 'object', - properties: { - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'name', 'level', 'url', 'x', 'efficiency', 'y'], - }, - '521690': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'url', 'level', 'name', 'image'], - }, - '521693': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521696': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521697': { - type: 'object', - properties: { - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['name', 'level', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521698': { - type: 'object', - properties: { - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['url', 'level', 'name', 'image', 'efficiency', 'x', 'y'], - }, - '521699': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'url', 'level', 'name'], - }, - '521700': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'level', 'url', 'name', 'x', 'efficiency', 'y'], - }, - '521701': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'level', 'url', 'name', 'y', 'x', 'efficiency'], - }, - '521702': { - type: 'object', - properties: { - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'name', 'level', 'url', 'x', 'efficiency', 'y'], - }, - '521703': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'name', 'url'], - }, - '521704': { - type: 'object', - properties: { - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'url', 'level', 'name', 'y', 'x', 'efficiency'], - }, - '521705': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'url', 'level', 'name'], - }, - '521706': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'url', 'level', 'name', 'image'], - }, - '521707': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'level', 'name', 'url', 'image'], - }, - '521708': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'level', 'name', 'url', 'x', 'efficiency', 'y'], - }, - '521711': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'url', 'name'], - }, - '521712': { - type: 'object', - properties: { - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'url', 'name', 'image', 'y', 'efficiency', 'x'], - }, - '521713': { - type: 'object', - properties: { - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['url', 'level', 'name', 'image', 'y', 'efficiency', 'x'], - }, - '521714': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'level', 'name', 'url', 'image'], - }, - '521715': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521716': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521717': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521718': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'level', 'name', 'url', 'image'], - }, - '521938': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'name', 'level', 'url', 'image'], - }, - '521939': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'name', 'url'], - }, - '521940': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'level', 'name', 'url', 'y', 'x', 'efficiency'], - }, - '521941': { - type: 'object', - properties: { - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'url', 'name', 'image', 'y', 'efficiency', 'x'], - }, - '521942': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'level', 'url', 'name', 'image'], - }, - '521943': { - type: 'object', - properties: { - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'name', 'level', 'url', 'x', 'efficiency', 'y'], - }, - '521944': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'url', 'level', 'name'], - }, - '521945': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'level', 'name', 'url'], - }, - '521946': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'level', 'name', 'url', 'y', 'x', 'efficiency'], - }, - '521947': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'level', 'name', 'url'], - }, - '521948': { - type: 'object', - properties: { - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'name', 'level', 'url', 'x', 'efficiency', 'y'], - }, - '521949': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'name', 'url'], - }, - '521950': { - type: 'object', - properties: { - y: { type: 'integer' }, - image: { type: 'string' }, - url: { type: 'string' }, - pending_build: { - type: 'object', - properties: { - seconds_remaining: { type: 'integer' }, - start: { type: 'string' }, - end: { type: 'string' }, - }, - required: ['seconds_remaining', 'start', 'end'], - }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - name: { type: 'string' }, - level: { type: 'integer' }, - }, - required: [ - 'y', - 'image', - 'url', - 'pending_build', - 'x', - 'efficiency', - 'name', - 'level', - ], - }, - }, - required: [ - '521680', - '521681', - '521685', - '521686', - '521687', - '521688', - '521689', - '521690', - '521693', - '521696', - '521697', - '521698', - '521699', - '521700', - '521701', - '521702', - '521703', - '521704', - '521705', - '521706', - '521707', - '521708', - '521711', - '521712', - '521713', - '521714', - '521715', - '521716', - '521717', - '521718', - '521938', - '521939', - '521940', - '521941', - '521942', - '521943', - '521944', - '521945', - '521946', - '521947', - '521948', - '521949', - '521950', - ], - }, - building: { - type: 'object', - properties: { - id: { type: 'integer' }, - downgrade: { - type: 'object', - properties: { - image: { type: 'string' }, - reason: { type: 'string' }, - can: { type: 'integer' }, - }, - required: ['image', 'reason', 'can'], - }, - waste_hour: { type: 'integer' }, - ore_hour: { type: 'integer' }, - url: { type: 'string' }, - energy_hour: { type: 'integer' }, - upgrade: { - type: 'object', - properties: { - production: { - type: 'object', - properties: { - waste_hour: { type: 'string' }, - waste_capacity: { type: 'integer' }, - ore_hour: { type: 'string' }, - ore_capacity: { type: 'integer' }, - energy_hour: { type: 'string' }, - happiness_hour: { type: 'string' }, - water_hour: { type: 'string' }, - food_hour: { type: 'string' }, - water_capacity: { type: 'string' }, - energy_capacity: { type: 'integer' }, - food_capacity: { type: 'integer' }, - }, - required: [ - 'waste_hour', - 'waste_capacity', - 'ore_hour', - 'ore_capacity', - 'energy_hour', - 'happiness_hour', - 'water_hour', - 'food_hour', - 'water_capacity', - 'energy_capacity', - 'food_capacity', - ], - }, - image: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - cost: { - type: 'object', - properties: { - time: { type: 'integer' }, - energy: { type: 'integer' }, - waste: { type: 'integer' }, - water: { type: 'integer' }, - ore: { type: 'integer' }, - food: { type: 'integer' }, - }, - required: ['time', 'energy', 'waste', 'water', 'ore', 'food'], - }, - can: { type: 'integer' }, - }, - required: ['production', 'image', 'reason', 'cost', 'can'], - }, - efficiency: { type: 'integer' }, - happiness_hour: { type: 'integer' }, - x: { type: 'integer' }, - water_hour: { type: 'integer' }, - water_capacity: { type: 'integer' }, - name: { type: 'string' }, - level: { type: 'integer' }, - y: { type: 'integer' }, - ore_capacity: { type: 'integer' }, - repair_costs: { - type: 'object', - properties: { - food: { type: 'string' }, - water: { type: 'string' }, - ore: { type: 'string' }, - energy: { type: 'string' }, - }, - required: ['food', 'water', 'ore', 'energy'], - }, - waste_capacity: { type: 'integer' }, - pending_build: { type: 'null' }, - image: { type: 'string' }, - food_hour: { type: 'integer' }, - food_capacity: { type: 'integer' }, - energy_capacity: { type: 'integer' }, - }, - required: [ - 'id', - 'downgrade', - 'waste_hour', - 'ore_hour', - 'url', - 'energy_hour', - 'upgrade', - 'efficiency', - 'happiness_hour', - 'x', - 'water_hour', - 'water_capacity', - 'name', - 'level', - 'y', - 'ore_capacity', - 'repair_costs', - 'waste_capacity', - 'pending_build', - 'image', - 'food_hour', - 'food_capacity', - 'energy_capacity', - ], - }, - }, - required: ['status', 'buildings', 'building'], - }, - id: { type: 'integer' }, - jsonrpc: { type: 'string' }, - }, - required: ['result', 'id', 'jsonrpc'], - }, - }, - }, - description: '', - headers: { 'X-Served-By': { required: false, schema: { type: 'string' } } }, - }, - }, - security: [], - requestBody: { - content: { - 'application/json': { - schema: { - type: 'object', - properties: { - id: { type: 'integer' }, - method: { type: 'string' }, - jsonrpc: { type: 'string' }, - params: { type: 'array', items: { type: 'string' } }, - }, - required: ['id', 'method', 'jsonrpc', 'params'], - }, - }, - }, - }, - }, - }, - '/energyreserve': { - post: { - summary: '/energyreserve', - description: '**Host**: http://lacuna.ocean74.net', - responses: { - '200': { - content: { - 'application/json-rpc': { - schema: { - type: 'object', - properties: { - result: { - type: 'object', - properties: { - building: { - type: 'object', - properties: { - name: { type: 'string' }, - water_capacity: { type: 'integer' }, - level: { type: 'integer' }, - x: { type: 'integer' }, - water_hour: { type: 'integer' }, - happiness_hour: { type: 'integer' }, - efficiency: { type: 'integer' }, - upgrade: { - type: 'object', - properties: { - cost: { - type: 'object', - properties: { - food: { type: 'integer' }, - waste: { type: 'integer' }, - water: { type: 'integer' }, - ore: { type: 'integer' }, - energy: { type: 'integer' }, - time: { type: 'integer' }, - }, - required: ['food', 'waste', 'water', 'ore', 'energy', 'time'], - }, - can: { type: 'integer' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - image: { type: 'string' }, - production: { - type: 'object', - properties: { - food_hour: { type: 'string' }, - happiness_hour: { type: 'string' }, - water_hour: { type: 'string' }, - energy_capacity: { type: 'string' }, - food_capacity: { type: 'integer' }, - water_capacity: { type: 'integer' }, - ore_capacity: { type: 'integer' }, - waste_hour: { type: 'string' }, - waste_capacity: { type: 'integer' }, - ore_hour: { type: 'string' }, - energy_hour: { type: 'string' }, - }, - required: [ - 'food_hour', - 'happiness_hour', - 'water_hour', - 'energy_capacity', - 'food_capacity', - 'water_capacity', - 'ore_capacity', - 'waste_hour', - 'waste_capacity', - 'ore_hour', - 'energy_hour', - ], - }, - }, - required: ['cost', 'can', 'reason', 'image', 'production'], - }, - energy_hour: { type: 'integer' }, - url: { type: 'string' }, - ore_hour: { type: 'integer' }, - waste_hour: { type: 'integer' }, - downgrade: { - type: 'object', - properties: { - can: { type: 'integer' }, - image: { type: 'string' }, - reason: { type: 'string' }, - }, - required: ['can', 'image', 'reason'], - }, - id: { type: 'integer' }, - energy_capacity: { type: 'integer' }, - food_capacity: { type: 'integer' }, - food_hour: { type: 'integer' }, - image: { type: 'string' }, - pending_build: { type: 'null' }, - waste_capacity: { type: 'integer' }, - ore_capacity: { type: 'integer' }, - repair_costs: { - type: 'object', - properties: { - energy: { type: 'string' }, - ore: { type: 'string' }, - water: { type: 'string' }, - food: { type: 'string' }, - }, - required: ['energy', 'ore', 'water', 'food'], - }, - y: { type: 'integer' }, - }, - required: [ - 'name', - 'water_capacity', - 'level', - 'x', - 'water_hour', - 'happiness_hour', - 'efficiency', - 'upgrade', - 'energy_hour', - 'url', - 'ore_hour', - 'waste_hour', - 'downgrade', - 'id', - 'energy_capacity', - 'food_capacity', - 'food_hour', - 'image', - 'pending_build', - 'waste_capacity', - 'ore_capacity', - 'repair_costs', - 'y', - ], - }, - status: { - type: 'object', - properties: { - empire: { - type: 'object', - properties: { - next_colony_cost: { type: 'integer' }, - latest_message_id: { type: 'integer' }, - self_destruct_date: { type: 'string' }, - stations: { type: 'object' }, - next_station_cost: { type: 'integer' }, - tech_level: { type: 'integer' }, - bodies: { - type: 'object', - properties: { - colonies: { - type: 'array', - items: { - type: 'object', - properties: { - empire_id: { type: 'integer' }, - name: { type: 'string' }, - star_id: { type: 'integer' }, - x: { type: 'integer' }, - empire_name: { type: 'string' }, - zone: { type: 'string' }, - orbit: { type: 'integer' }, - id: { type: 'integer' }, - y: { type: 'integer' }, - star_name: { type: 'string' }, - }, - required: [ - 'empire_id', - 'name', - 'star_id', - 'x', - 'empire_name', - 'zone', - 'orbit', - 'id', - 'y', - 'star_name', - ], - }, - }, - }, - required: ['colonies'], - }, - id: { type: 'integer' }, - planets: { - type: 'object', - properties: { '467647': { type: 'string' } }, - required: ['467647'], - }, - colonies: { - type: 'object', - properties: { '467647': { type: 'string' } }, - required: ['467647'], - }, - essentia: { type: 'integer' }, - rpc_count: { type: 'integer' }, - is_isolationist: { type: 'integer' }, - status_message: { type: 'string' }, - self_destruct_active: { type: 'integer' }, - next_colony_srcs: { type: 'integer' }, - name: { type: 'string' }, - has_new_messages: { type: 'integer' }, - home_planet_id: { type: 'integer' }, - insurrect_value: { type: 'integer' }, - }, - required: [ - 'next_colony_cost', - 'latest_message_id', - 'self_destruct_date', - 'stations', - 'next_station_cost', - 'tech_level', - 'bodies', - 'id', - 'planets', - 'colonies', - 'essentia', - 'rpc_count', - 'is_isolationist', - 'status_message', - 'self_destruct_active', - 'next_colony_srcs', - 'name', - 'has_new_messages', - 'home_planet_id', - 'insurrect_value', - ], - }, - body: { - type: 'object', - properties: { - num_incoming_ally: { type: 'integer' }, - zone: { type: 'string' }, - food_hour: { type: 'integer' }, - food_capacity: { type: 'integer' }, - ore_stored: { type: 'integer' }, - star_name: { type: 'string' }, - ore_hour: { type: 'integer' }, - ore: { - type: 'object', - properties: { - beryl: { type: 'integer' }, - methane: { type: 'integer' }, - fluorite: { type: 'integer' }, - bauxite: { type: 'integer' }, - goethite: { type: 'integer' }, - gold: { type: 'integer' }, - chalcopyrite: { type: 'integer' }, - anthracite: { type: 'integer' }, - uraninite: { type: 'integer' }, - zircon: { type: 'integer' }, - kerogen: { type: 'integer' }, - chromite: { type: 'integer' }, - galena: { type: 'integer' }, - halite: { type: 'integer' }, - monazite: { type: 'integer' }, - trona: { type: 'integer' }, - gypsum: { type: 'integer' }, - sulfur: { type: 'integer' }, - rutile: { type: 'integer' }, - magnetite: { type: 'integer' }, - }, - required: [ - 'beryl', - 'methane', - 'fluorite', - 'bauxite', - 'goethite', - 'gold', - 'chalcopyrite', - 'anthracite', - 'uraninite', - 'zircon', - 'kerogen', - 'chromite', - 'galena', - 'halite', - 'monazite', - 'trona', - 'gypsum', - 'sulfur', - 'rutile', - 'magnetite', - ], - }, - energy_stored: { type: 'integer' }, - plots_available: { type: 'integer' }, - energy_hour: { type: 'integer' }, - size: { type: 'integer' }, - build_queue_size: { type: 'integer' }, - water_hour: { type: 'integer' }, - x: { type: 'integer' }, - num_incoming_enemy: { type: 'integer' }, - y: { type: 'integer' }, - ore_capacity: { type: 'integer' }, - empire: { - type: 'object', - properties: { - name: { type: 'string' }, - is_isolationist: { type: 'integer' }, - alignment: { type: 'string' }, - id: { type: 'integer' }, - }, - required: ['name', 'is_isolationist', 'alignment', 'id'], - }, - waste_capacity: { type: 'integer' }, - building_count: { type: 'integer' }, - orbit: { type: 'integer' }, - notes: { type: 'string' }, - water: { type: 'integer' }, - water_stored: { type: 'integer' }, - propaganda_boost: { type: 'integer' }, - build_queue_len: { type: 'integer' }, - image: { type: 'string' }, - happiness: { type: 'integer' }, - waste_stored: { type: 'integer' }, - energy_capacity: { type: 'integer' }, - id: { type: 'integer' }, - food_stored: { type: 'integer' }, - waste_hour: { type: 'integer' }, - type: { type: 'string' }, - surface_version: { type: 'integer' }, - population: { type: 'integer' }, - happiness_hour: { type: 'integer' }, - num_incoming_own: { type: 'integer' }, - neutral_entry: { type: 'string' }, - name: { type: 'string' }, - water_capacity: { type: 'integer' }, - star_id: { type: 'integer' }, - needs_surface_refresh: { type: 'integer' }, - }, - required: [ - 'num_incoming_ally', - 'zone', - 'food_hour', - 'food_capacity', - 'ore_stored', - 'star_name', - 'ore_hour', - 'ore', - 'energy_stored', - 'plots_available', - 'energy_hour', - 'size', - 'build_queue_size', - 'water_hour', - 'x', - 'num_incoming_enemy', - 'y', - 'ore_capacity', - 'empire', - 'waste_capacity', - 'building_count', - 'orbit', - 'notes', - 'water', - 'water_stored', - 'propaganda_boost', - 'build_queue_len', - 'image', - 'happiness', - 'waste_stored', - 'energy_capacity', - 'id', - 'food_stored', - 'waste_hour', - 'type', - 'surface_version', - 'population', - 'happiness_hour', - 'num_incoming_own', - 'neutral_entry', - 'name', - 'water_capacity', - 'star_id', - 'needs_surface_refresh', - ], - }, - server: { - type: 'object', - properties: { - time: { type: 'string' }, - version: { type: 'number' }, - rpc_limit: { type: 'integer' }, - star_map_size: { - type: 'object', - properties: { - y: { type: 'array', items: { type: 'integer' } }, - x: { type: 'array', items: { type: 'integer' } }, - }, - required: ['y', 'x'], - }, - }, - required: ['time', 'version', 'rpc_limit', 'star_map_size'], - }, - }, - required: ['empire', 'body', 'server'], - }, - buildings: { - type: 'object', - properties: { - '521680': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'name', 'url'], - }, - '521681': { - type: 'object', - properties: { - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['url', 'level', 'name', 'image', 'efficiency', 'x', 'y'], - }, - '521685': { - type: 'object', - properties: { - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['name', 'level', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521686': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'url', 'level', 'name'], - }, - '521687': { - type: 'object', - properties: { - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'name', 'level', 'url', 'y', 'x', 'efficiency'], - }, - '521688': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'name', 'level', 'url'], - }, - '521689': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'level', 'url', 'name', 'y', 'x', 'efficiency'], - }, - '521690': { - type: 'object', - properties: { - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'url', 'level', 'name', 'x', 'efficiency', 'y'], - }, - '521693': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'url', 'level', 'name'], - }, - '521696': { - type: 'object', - properties: { - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['level', 'url', 'name', 'image', 'efficiency', 'x', 'y'], - }, - '521697': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'name', 'url'], - }, - '521698': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'name', 'level', 'url'], - }, - '521699': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521700': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'level', 'name', 'url', 'y', 'x', 'efficiency'], - }, - '521701': { - type: 'object', - properties: { - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'url', 'level', 'name', 'x', 'efficiency', 'y'], - }, - '521702': { - type: 'object', - properties: { - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['level', 'url', 'name', 'image', 'efficiency', 'x', 'y'], - }, - '521703': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521704': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'level', 'url', 'name', 'x', 'efficiency', 'y'], - }, - '521705': { - type: 'object', - properties: { - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['name', 'level', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521706': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'url', 'level', 'name', 'image'], - }, - '521707': { - type: 'object', - properties: { - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['name', 'level', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521708': { - type: 'object', - properties: { - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['name', 'level', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521711': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'level', 'url', 'name', 'image'], - }, - '521712': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'level', 'name', 'url', 'x', 'efficiency', 'y'], - }, - '521713': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'url', 'level', 'name', 'image'], - }, - '521714': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'url', 'level', 'name'], - }, - '521715': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'level', 'url', 'name', 'image'], - }, - '521716': { - type: 'object', - properties: { - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'url', 'level', 'name', 'x', 'efficiency', 'y'], - }, - '521717': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'name', 'url'], - }, - '521718': { - type: 'object', - properties: { - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'url', 'level', 'name', 'y', 'x', 'efficiency'], - }, - '521938': { - type: 'object', - properties: { - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['level', 'url', 'name', 'image', 'efficiency', 'x', 'y'], - }, - '521939': { - type: 'object', - properties: { - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['url', 'level', 'name', 'image', 'y', 'efficiency', 'x'], - }, - '521940': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'level', 'name', 'url'], - }, - '521941': { - type: 'object', - properties: { - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'url', 'name', 'image', 'y', 'efficiency', 'x'], - }, - '521942': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'level', 'url', 'name', 'y', 'x', 'efficiency'], - }, - '521943': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521944': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'url', 'level', 'name'], - }, - '521945': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'level', 'url', 'name', 'x', 'efficiency', 'y'], - }, - '521946': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'url', 'level', 'name'], - }, - '521947': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'name', 'level', 'url'], - }, - '521948': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'level', 'name', 'url', 'x', 'efficiency', 'y'], - }, - '521949': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'level', 'url', 'name'], - }, - '521950': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - pending_build: { - type: 'object', - properties: { - start: { type: 'string' }, - end: { type: 'string' }, - seconds_remaining: { type: 'integer' }, - }, - required: ['start', 'end', 'seconds_remaining'], - }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - }, - required: [ - 'level', - 'name', - 'efficiency', - 'x', - 'pending_build', - 'url', - 'image', - 'y', - ], - }, - }, - required: [ - '521680', - '521681', - '521685', - '521686', - '521687', - '521688', - '521689', - '521690', - '521693', - '521696', - '521697', - '521698', - '521699', - '521700', - '521701', - '521702', - '521703', - '521704', - '521705', - '521706', - '521707', - '521708', - '521711', - '521712', - '521713', - '521714', - '521715', - '521716', - '521717', - '521718', - '521938', - '521939', - '521940', - '521941', - '521942', - '521943', - '521944', - '521945', - '521946', - '521947', - '521948', - '521949', - '521950', - ], - }, - }, - required: ['building', 'status', 'buildings'], - }, - jsonrpc: { type: 'string' }, - id: { type: 'integer' }, - }, - required: ['result', 'jsonrpc', 'id'], - }, - }, - }, - description: '', - headers: { 'X-Served-By': { required: false, schema: { type: 'string' } } }, - }, - }, - security: [], - requestBody: { - content: { - 'application/json': { - schema: { - type: 'object', - properties: { - id: { type: 'integer' }, - method: { type: 'string' }, - jsonrpc: { type: 'string' }, - params: { type: 'array', items: { type: 'string' } }, - }, - required: ['id', 'method', 'jsonrpc', 'params'], - }, - }, - }, - }, - }, - }, - '/foodreserve': { - post: { - summary: '/foodreserve', - description: '**Host**: http://lacuna.ocean74.net', - responses: { - '200': { - content: { - 'application/json-rpc': { - schema: { - type: 'object', - properties: { - jsonrpc: { type: 'string' }, - id: { type: 'integer' }, - result: { - type: 'object', - properties: { - status: { - type: 'object', - properties: { - empire: { - type: 'object', - properties: { - is_isolationist: { type: 'integer' }, - rpc_count: { type: 'integer' }, - essentia: { type: 'integer' }, - colonies: { - type: 'object', - properties: { '467647': { type: 'string' } }, - required: ['467647'], - }, - planets: { - type: 'object', - properties: { '467647': { type: 'string' } }, - required: ['467647'], - }, - id: { type: 'integer' }, - insurrect_value: { type: 'integer' }, - home_planet_id: { type: 'integer' }, - has_new_messages: { type: 'integer' }, - name: { type: 'string' }, - next_colony_srcs: { type: 'integer' }, - self_destruct_active: { type: 'integer' }, - status_message: { type: 'string' }, - stations: { type: 'object' }, - self_destruct_date: { type: 'string' }, - next_colony_cost: { type: 'integer' }, - latest_message_id: { type: 'integer' }, - bodies: { - type: 'object', - properties: { - colonies: { - type: 'array', - items: { - type: 'object', - properties: { - zone: { type: 'string' }, - orbit: { type: 'integer' }, - star_name: { type: 'string' }, - y: { type: 'integer' }, - id: { type: 'integer' }, - x: { type: 'integer' }, - empire_name: { type: 'string' }, - empire_id: { type: 'integer' }, - name: { type: 'string' }, - star_id: { type: 'integer' }, - }, - required: [ - 'zone', - 'orbit', - 'star_name', - 'y', - 'id', - 'x', - 'empire_name', - 'empire_id', - 'name', - 'star_id', - ], - }, - }, - }, - required: ['colonies'], - }, - tech_level: { type: 'integer' }, - next_station_cost: { type: 'integer' }, - }, - required: [ - 'is_isolationist', - 'rpc_count', - 'essentia', - 'colonies', - 'planets', - 'id', - 'insurrect_value', - 'home_planet_id', - 'has_new_messages', - 'name', - 'next_colony_srcs', - 'self_destruct_active', - 'status_message', - 'stations', - 'self_destruct_date', - 'next_colony_cost', - 'latest_message_id', - 'bodies', - 'tech_level', - 'next_station_cost', - ], - }, - body: { - type: 'object', - properties: { - energy_capacity: { type: 'integer' }, - waste_stored: { type: 'integer' }, - happiness: { type: 'integer' }, - water_stored: { type: 'integer' }, - water: { type: 'integer' }, - notes: { type: 'string' }, - image: { type: 'string' }, - propaganda_boost: { type: 'integer' }, - build_queue_len: { type: 'integer' }, - ore_capacity: { type: 'integer' }, - num_incoming_enemy: { type: 'integer' }, - y: { type: 'integer' }, - waste_capacity: { type: 'integer' }, - building_count: { type: 'integer' }, - orbit: { type: 'integer' }, - empire: { - type: 'object', - properties: { - alignment: { type: 'string' }, - id: { type: 'integer' }, - is_isolationist: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['alignment', 'id', 'is_isolationist', 'name'], - }, - neutral_entry: { type: 'string' }, - needs_surface_refresh: { type: 'integer' }, - water_capacity: { type: 'integer' }, - star_id: { type: 'integer' }, - name: { type: 'string' }, - num_incoming_own: { type: 'integer' }, - happiness_hour: { type: 'integer' }, - surface_version: { type: 'integer' }, - population: { type: 'integer' }, - id: { type: 'integer' }, - waste_hour: { type: 'integer' }, - type: { type: 'string' }, - food_stored: { type: 'integer' }, - food_capacity: { type: 'integer' }, - food_hour: { type: 'integer' }, - num_incoming_ally: { type: 'integer' }, - zone: { type: 'string' }, - size: { type: 'integer' }, - x: { type: 'integer' }, - water_hour: { type: 'integer' }, - build_queue_size: { type: 'integer' }, - energy_stored: { type: 'integer' }, - ore: { - type: 'object', - properties: { - bauxite: { type: 'integer' }, - goethite: { type: 'integer' }, - gold: { type: 'integer' }, - chalcopyrite: { type: 'integer' }, - anthracite: { type: 'integer' }, - beryl: { type: 'integer' }, - fluorite: { type: 'integer' }, - methane: { type: 'integer' }, - sulfur: { type: 'integer' }, - gypsum: { type: 'integer' }, - rutile: { type: 'integer' }, - magnetite: { type: 'integer' }, - uraninite: { type: 'integer' }, - zircon: { type: 'integer' }, - chromite: { type: 'integer' }, - kerogen: { type: 'integer' }, - galena: { type: 'integer' }, - monazite: { type: 'integer' }, - trona: { type: 'integer' }, - halite: { type: 'integer' }, - }, - required: [ - 'bauxite', - 'goethite', - 'gold', - 'chalcopyrite', - 'anthracite', - 'beryl', - 'fluorite', - 'methane', - 'sulfur', - 'gypsum', - 'rutile', - 'magnetite', - 'uraninite', - 'zircon', - 'chromite', - 'kerogen', - 'galena', - 'monazite', - 'trona', - 'halite', - ], - }, - energy_hour: { type: 'integer' }, - plots_available: { type: 'integer' }, - star_name: { type: 'string' }, - ore_stored: { type: 'integer' }, - ore_hour: { type: 'integer' }, - }, - required: [ - 'energy_capacity', - 'waste_stored', - 'happiness', - 'water_stored', - 'water', - 'notes', - 'image', - 'propaganda_boost', - 'build_queue_len', - 'ore_capacity', - 'num_incoming_enemy', - 'y', - 'waste_capacity', - 'building_count', - 'orbit', - 'empire', - 'neutral_entry', - 'needs_surface_refresh', - 'water_capacity', - 'star_id', - 'name', - 'num_incoming_own', - 'happiness_hour', - 'surface_version', - 'population', - 'id', - 'waste_hour', - 'type', - 'food_stored', - 'food_capacity', - 'food_hour', - 'num_incoming_ally', - 'zone', - 'size', - 'x', - 'water_hour', - 'build_queue_size', - 'energy_stored', - 'ore', - 'energy_hour', - 'plots_available', - 'star_name', - 'ore_stored', - 'ore_hour', - ], - }, - server: { - type: 'object', - properties: { - rpc_limit: { type: 'integer' }, - star_map_size: { - type: 'object', - properties: { - y: { type: 'array', items: { type: 'integer' } }, - x: { type: 'array', items: { type: 'integer' } }, - }, - required: ['y', 'x'], - }, - time: { type: 'string' }, - version: { type: 'number' }, - }, - required: ['rpc_limit', 'star_map_size', 'time', 'version'], - }, - }, - required: ['empire', 'body', 'server'], - }, - buildings: { - type: 'object', - properties: { - '521680': { - type: 'object', - properties: { - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['url', 'level', 'name', 'image', 'y', 'efficiency', 'x'], - }, - '521681': { - type: 'object', - properties: { - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'url', 'name', 'image', 'y', 'efficiency', 'x'], - }, - '521685': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521686': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'level', 'name', 'url', 'x', 'efficiency', 'y'], - }, - '521687': { - type: 'object', - properties: { - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'name', 'level', 'url', 'x', 'efficiency', 'y'], - }, - '521688': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'url', 'level', 'name'], - }, - '521689': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'name', 'level', 'url', 'image'], - }, - '521690': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'name', 'level', 'url', 'image'], - }, - '521693': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521696': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'level', 'url', 'name', 'image'], - }, - '521697': { - type: 'object', - properties: { - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['name', 'level', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521698': { - type: 'object', - properties: { - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'url', 'name', 'image', 'y', 'efficiency', 'x'], - }, - '521699': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'level', 'url', 'name', 'x', 'efficiency', 'y'], - }, - '521700': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521701': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'url', 'level', 'name', 'image'], - }, - '521702': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'level', 'url', 'name', 'image'], - }, - '521703': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'level', 'name', 'url', 'image'], - }, - '521704': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'url', 'level', 'name'], - }, - '521705': { - type: 'object', - properties: { - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'url', 'level', 'name', 'y', 'x', 'efficiency'], - }, - '521706': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'level', 'url', 'name', 'y', 'x', 'efficiency'], - }, - '521707': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'name', 'level', 'url'], - }, - '521708': { - type: 'object', - properties: { - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['name', 'level', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521711': { - type: 'object', - properties: { - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['level', 'url', 'name', 'image', 'efficiency', 'x', 'y'], - }, - '521712': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'name', 'level', 'url'], - }, - '521713': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'level', 'url', 'name', 'image'], - }, - '521714': { - type: 'object', - properties: { - image: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - }, - required: ['image', 'level', 'url', 'name', 'y', 'x', 'efficiency'], - }, - '521715': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'url', 'level', 'name', 'image'], - }, - '521716': { - type: 'object', - properties: { - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'url', 'name', 'image', 'y', 'efficiency', 'x'], - }, - '521717': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'level', 'url', 'name', 'image'], - }, - '521718': { - type: 'object', - properties: { - level: { type: 'integer' }, - name: { type: 'string' }, - url: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['level', 'name', 'url', 'image', 'y', 'efficiency', 'x'], - }, - '521938': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'name', 'level', 'url'], - }, - '521939': { - type: 'object', - properties: { - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - }, - required: ['url', 'level', 'name', 'image', 'y', 'efficiency', 'x'], - }, - '521940': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'name', 'level', 'url'], - }, - '521941': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'url', 'level', 'name', 'image'], - }, - '521942': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'name', 'level', 'url'], - }, - '521943': { - type: 'object', - properties: { - y: { type: 'integer' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['y', 'efficiency', 'x', 'url', 'level', 'name', 'image'], - }, - '521944': { - type: 'object', - properties: { - y: { type: 'integer' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['y', 'x', 'efficiency', 'image', 'name', 'level', 'url'], - }, - '521945': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - level: { type: 'integer' }, - url: { type: 'string' }, - name: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['efficiency', 'x', 'y', 'level', 'url', 'name', 'image'], - }, - '521946': { - type: 'object', - properties: { - image: { type: 'string' }, - url: { type: 'string' }, - level: { type: 'integer' }, - name: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'url', 'level', 'name', 'x', 'efficiency', 'y'], - }, - '521947': { - type: 'object', - properties: { - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['image', 'name', 'level', 'url', 'x', 'efficiency', 'y'], - }, - '521948': { - type: 'object', - properties: { - x: { type: 'integer' }, - efficiency: { type: 'integer' }, - y: { type: 'integer' }, - image: { type: 'string' }, - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - }, - required: ['x', 'efficiency', 'y', 'image', 'name', 'level', 'url'], - }, - '521949': { - type: 'object', - properties: { - name: { type: 'string' }, - level: { type: 'integer' }, - url: { type: 'string' }, - image: { type: 'string' }, - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - y: { type: 'integer' }, - }, - required: ['name', 'level', 'url', 'image', 'efficiency', 'x', 'y'], - }, - '521950': { - type: 'object', - properties: { - efficiency: { type: 'integer' }, - x: { type: 'integer' }, - name: { type: 'string' }, - level: { type: 'integer' }, - y: { type: 'integer' }, - pending_build: { - type: 'object', - properties: { - start: { type: 'string' }, - end: { type: 'string' }, - seconds_remaining: { type: 'integer' }, - }, - required: ['start', 'end', 'seconds_remaining'], - }, - url: { type: 'string' }, - image: { type: 'string' }, - }, - required: [ - 'efficiency', - 'x', - 'name', - 'level', - 'y', - 'pending_build', - 'url', - 'image', - ], - }, - }, - required: [ - '521680', - '521681', - '521685', - '521686', - '521687', - '521688', - '521689', - '521690', - '521693', - '521696', - '521697', - '521698', - '521699', - '521700', - '521701', - '521702', - '521703', - '521704', - '521705', - '521706', - '521707', - '521708', - '521711', - '521712', - '521713', - '521714', - '521715', - '521716', - '521717', - '521718', - '521938', - '521939', - '521940', - '521941', - '521942', - '521943', - '521944', - '521945', - '521946', - '521947', - '521948', - '521949', - '521950', - ], - }, - building: { - type: 'object', - properties: { - waste_capacity: { type: 'integer' }, - y: { type: 'integer' }, - repair_costs: { - type: 'object', - properties: { - water: { type: 'string' }, - ore: { type: 'string' }, - food: { type: 'string' }, - energy: { type: 'string' }, - }, - required: ['water', 'ore', 'food', 'energy'], - }, - ore_capacity: { type: 'integer' }, - image: { type: 'string' }, - pending_build: { type: 'null' }, - food_hour: { type: 'integer' }, - energy_capacity: { type: 'integer' }, - food_capacity: { type: 'integer' }, - ore_hour: { type: 'integer' }, - waste_hour: { type: 'integer' }, - id: { type: 'integer' }, - downgrade: { - type: 'object', - properties: { - can: { type: 'integer' }, - reason: { type: 'string' }, - image: { type: 'string' }, - }, - required: ['can', 'reason', 'image'], - }, - url: { type: 'string' }, - energy_hour: { type: 'integer' }, - efficiency: { type: 'integer' }, - happiness_hour: { type: 'integer' }, - water_hour: { type: 'integer' }, - x: { type: 'integer' }, - upgrade: { - type: 'object', - properties: { - image: { type: 'string' }, - reason: { type: 'array', items: { type: ['integer', 'string'] } }, - production: { - type: 'object', - properties: { - happiness_hour: { type: 'string' }, - water_hour: { type: 'string' }, - food_hour: { type: 'string' }, - water_capacity: { type: 'integer' }, - energy_capacity: { type: 'integer' }, - food_capacity: { type: 'string' }, - waste_hour: { type: 'string' }, - waste_capacity: { type: 'integer' }, - ore_hour: { type: 'string' }, - ore_capacity: { type: 'integer' }, - energy_hour: { type: 'string' }, - }, - required: [ - 'happiness_hour', - 'water_hour', - 'food_hour', - 'water_capacity', - 'energy_capacity', - 'food_capacity', - 'waste_hour', - 'waste_capacity', - 'ore_hour', - 'ore_capacity', - 'energy_hour', - ], - }, - can: { type: 'integer' }, - cost: { - type: 'object', - properties: { - energy: { type: 'integer' }, - time: { type: 'integer' }, - food: { type: 'integer' }, - ore: { type: 'integer' }, - waste: { type: 'integer' }, - water: { type: 'integer' }, - }, - required: ['energy', 'time', 'food', 'ore', 'waste', 'water'], - }, - }, - required: ['image', 'reason', 'production', 'can', 'cost'], - }, - water_capacity: { type: 'integer' }, - level: { type: 'integer' }, - name: { type: 'string' }, - }, - required: [ - 'waste_capacity', - 'y', - 'repair_costs', - 'ore_capacity', - 'image', - 'pending_build', - 'food_hour', - 'energy_capacity', - 'food_capacity', - 'ore_hour', - 'waste_hour', - 'id', - 'downgrade', - 'url', - 'energy_hour', - 'efficiency', - 'happiness_hour', - 'water_hour', - 'x', - 'upgrade', - 'water_capacity', - 'level', - 'name', - ], - }, - food_stored: { - type: 'object', - properties: { - pie: { type: 'integer' }, - cheese: { type: 'integer' }, - bean: { type: 'integer' }, - potato: { type: 'integer' }, - chip: { type: 'integer' }, - apple: { type: 'integer' }, - soup: { type: 'integer' }, - meal: { type: 'integer' }, - shake: { type: 'integer' }, - cider: { type: 'integer' }, - lapis: { type: 'integer' }, - beetle: { type: 'integer' }, - algae: { type: 'integer' }, - bread: { type: 'integer' }, - root: { type: 'integer' }, - wheat: { type: 'integer' }, - syrup: { type: 'integer' }, - pancake: { type: 'integer' }, - milk: { type: 'integer' }, - fungus: { type: 'integer' }, - corn: { type: 'integer' }, - burger: { type: 'integer' }, - }, - required: [ - 'pie', - 'cheese', - 'bean', - 'potato', - 'chip', - 'apple', - 'soup', - 'meal', - 'shake', - 'cider', - 'lapis', - 'beetle', - 'algae', - 'bread', - 'root', - 'wheat', - 'syrup', - 'pancake', - 'milk', - 'fungus', - 'corn', - 'burger', - ], - }, - }, - required: ['status', 'buildings', 'building', 'food_stored'], - }, - }, - required: ['jsonrpc', 'id', 'result'], - }, - }, - }, - description: '', - headers: { 'X-Served-By': { required: false, schema: { type: 'string' } } }, - }, - }, - security: [], - requestBody: { - content: { - 'application/json': { - schema: { - type: 'object', - properties: { - id: { type: 'integer' }, - method: { type: 'string' }, - jsonrpc: { type: 'string' }, - params: { type: 'array', items: { type: 'string' } }, - }, - required: ['id', 'method', 'jsonrpc', 'params'], - }, - }, - }, - }, - }, - }, - '/inbox': { - post: { - summary: '/inbox', - description: '**Host**: http://lacuna.ocean74.net', - responses: { - '200': { - content: { - 'application/json-rpc': { - schema: { - type: 'object', - properties: { - result: { - type: 'object', - properties: { - messages: { - type: 'array', - items: { - type: 'object', - properties: { - subject: { type: 'string' }, - has_replied: { type: 'integer' }, - body_preview: { type: 'string' }, - id: { type: 'string' }, - from: { type: 'string' }, - from_id: { type: 'integer' }, - tags: { type: 'array', items: { type: 'string' } }, - to: { type: 'string' }, - to_id: { type: 'integer' }, - date: { type: 'string' }, - has_read: { type: 'integer' }, - }, - required: [ - 'subject', - 'has_replied', - 'body_preview', - 'id', - 'from', - 'from_id', - 'tags', - 'to', - 'to_id', - 'date', - 'has_read', - ], - }, - }, - message_count: { type: 'integer' }, - status: { - type: 'object', - properties: { - server: { - type: 'object', - properties: { - time: { type: 'string' }, - version: { type: 'number' }, - rpc_limit: { type: 'integer' }, - star_map_size: { - type: 'object', - properties: { - y: { type: 'array', items: { type: 'integer' } }, - x: { type: 'array', items: { type: 'integer' } }, - }, - required: ['y', 'x'], - }, - }, - required: ['time', 'version', 'rpc_limit', 'star_map_size'], - }, - empire: { - type: 'object', - properties: { - colonies: { - type: 'object', - properties: { '467647': { type: 'string' } }, - required: ['467647'], - }, - essentia: { type: 'integer' }, - rpc_count: { type: 'integer' }, - is_isolationist: { type: 'integer' }, - id: { type: 'integer' }, - planets: { - type: 'object', - properties: { '467647': { type: 'string' } }, - required: ['467647'], - }, - name: { type: 'string' }, - has_new_messages: { type: 'integer' }, - home_planet_id: { type: 'integer' }, - insurrect_value: { type: 'integer' }, - status_message: { type: 'string' }, - self_destruct_active: { type: 'integer' }, - next_colony_srcs: { type: 'integer' }, - self_destruct_date: { type: 'string' }, - stations: { type: 'object' }, - next_colony_cost: { type: 'integer' }, - latest_message_id: { type: 'integer' }, - bodies: { - type: 'object', - properties: { - colonies: { - type: 'array', - items: { - type: 'object', - properties: { - star_name: { type: 'string' }, - y: { type: 'integer' }, - id: { type: 'integer' }, - orbit: { type: 'integer' }, - zone: { type: 'string' }, - name: { type: 'string' }, - empire_id: { type: 'integer' }, - star_id: { type: 'integer' }, - empire_name: { type: 'string' }, - x: { type: 'integer' }, - }, - required: [ - 'star_name', - 'y', - 'id', - 'orbit', - 'zone', - 'name', - 'empire_id', - 'star_id', - 'empire_name', - 'x', - ], - }, - }, - }, - required: ['colonies'], - }, - next_station_cost: { type: 'integer' }, - tech_level: { type: 'integer' }, - }, - required: [ - 'colonies', - 'essentia', - 'rpc_count', - 'is_isolationist', - 'id', - 'planets', - 'name', - 'has_new_messages', - 'home_planet_id', - 'insurrect_value', - 'status_message', - 'self_destruct_active', - 'next_colony_srcs', - 'self_destruct_date', - 'stations', - 'next_colony_cost', - 'latest_message_id', - 'bodies', - 'next_station_cost', - 'tech_level', - ], - }, - }, - required: ['server', 'empire'], - }, - }, - required: ['messages', 'message_count', 'status'], - }, - jsonrpc: { type: 'string' }, - id: { type: 'integer' }, - }, - required: ['result', 'jsonrpc', 'id'], - }, - }, - }, - description: '', - headers: { 'X-Served-By': { required: false, schema: { type: 'string' } } }, - }, - }, - security: [], - requestBody: { - content: { - 'application/json': { - schema: { - type: 'object', - properties: { - id: { type: 'integer' }, - method: { type: 'string' }, - jsonrpc: { type: 'string' }, - params: { - type: 'array', - items: { - anyOf: [ - { type: 'string' }, - { - type: 'object', - properties: { page_number: { type: 'integer' } }, - required: ['page_number'], - }, - ], - }, - }, - }, - required: ['id', 'method', 'jsonrpc', 'params'], - }, - }, - }, - }, - }, - }, - '/stats': { - post: { - summary: '/stats', - description: '**Host**: http://lacuna.ocean74.net', - responses: { - '200': { - content: { - 'application/json-rpc': { - schema: { - type: 'object', - properties: { - result: { - type: 'object', - properties: { - page_number: { type: 'integer' }, - status: { - type: 'object', - properties: { - empire: { - type: 'object', - properties: { - planets: { - type: 'object', - properties: { '467647': { type: 'string' } }, - required: ['467647'], - }, - id: { type: 'integer' }, - rpc_count: { type: 'integer' }, - colonies: { - type: 'object', - properties: { '467647': { type: 'string' } }, - required: ['467647'], - }, - essentia: { type: 'integer' }, - is_isolationist: { type: 'integer' }, - status_message: { type: 'string' }, - next_colony_srcs: { type: 'integer' }, - self_destruct_active: { type: 'integer' }, - has_new_messages: { type: 'integer' }, - name: { type: 'string' }, - insurrect_value: { type: 'integer' }, - home_planet_id: { type: 'integer' }, - next_colony_cost: { type: 'integer' }, - latest_message_id: { type: 'integer' }, - stations: { type: 'object' }, - self_destruct_date: { type: 'string' }, - tech_level: { type: 'integer' }, - next_station_cost: { type: 'integer' }, - bodies: { - type: 'object', - properties: { - colonies: { - type: 'array', - items: { - type: 'object', - properties: { - y: { type: 'integer' }, - id: { type: 'integer' }, - star_name: { type: 'string' }, - zone: { type: 'string' }, - orbit: { type: 'integer' }, - empire_name: { type: 'string' }, - x: { type: 'integer' }, - name: { type: 'string' }, - empire_id: { type: 'integer' }, - star_id: { type: 'integer' }, - }, - required: [ - 'y', - 'id', - 'star_name', - 'zone', - 'orbit', - 'empire_name', - 'x', - 'name', - 'empire_id', - 'star_id', - ], - }, - }, - }, - required: ['colonies'], - }, - }, - required: [ - 'planets', - 'id', - 'rpc_count', - 'colonies', - 'essentia', - 'is_isolationist', - 'status_message', - 'next_colony_srcs', - 'self_destruct_active', - 'has_new_messages', - 'name', - 'insurrect_value', - 'home_planet_id', - 'next_colony_cost', - 'latest_message_id', - 'stations', - 'self_destruct_date', - 'tech_level', - 'next_station_cost', - 'bodies', - ], - }, - server: { - type: 'object', - properties: { - rpc_limit: { type: 'integer' }, - star_map_size: { - type: 'object', - properties: { - y: { type: 'array', items: { type: 'integer' } }, - x: { type: 'array', items: { type: 'integer' } }, - }, - required: ['y', 'x'], - }, - time: { type: 'string' }, - version: { type: 'number' }, - }, - required: ['rpc_limit', 'star_map_size', 'time', 'version'], - }, - }, - required: ['empire', 'server'], - }, - empires: { - type: 'array', - items: { - type: 'object', - properties: { - dirtiest: { type: 'integer' }, - offense_success_rate: { type: 'integer' }, - empire_name: { type: 'string' }, - empire_size: { type: 'integer' }, - colony_count: { type: 'integer' }, - defense_success_rate: { type: 'integer' }, - empire_id: { type: 'integer' }, - building_count: { type: 'integer' }, - average_building_level: { type: 'number' }, - population: { type: 'integer' }, - alliance_name: { type: 'null' }, - alliance_id: { type: 'null' }, - }, - required: [ - 'dirtiest', - 'offense_success_rate', - 'empire_name', - 'empire_size', - 'colony_count', - 'defense_success_rate', - 'empire_id', - 'building_count', - 'average_building_level', - 'population', - 'alliance_name', - 'alliance_id', - ], - }, - }, - total_empires: { type: 'integer' }, - }, - required: ['page_number', 'status', 'empires', 'total_empires'], - }, - jsonrpc: { type: 'string' }, - id: { type: 'integer' }, - }, - required: ['result', 'jsonrpc', 'id'], - }, - }, - }, - description: '', - headers: { 'X-Served-By': { required: false, schema: { type: 'string' } } }, - }, - }, - security: [], - requestBody: { - content: { - 'application/json': { - schema: { - type: 'object', - properties: { - id: { type: 'integer' }, - method: { type: 'string' }, - jsonrpc: { type: 'string' }, - params: { type: 'array', items: { type: 'string' } }, - }, - required: ['id', 'method', 'jsonrpc', 'params'], - }, - }, - }, - }, - }, - }, -}; -- 2.51.2