update waypoint models

This commit is contained in:
Space Admiral 2022-10-05 16:42:15 -07:00 committed by space-admiral
parent 439d2eca04
commit bcc4412f8f
24 changed files with 1193 additions and 1648 deletions

63
models/Faction.json Normal file
View File

@ -0,0 +1,63 @@
{
"description": "",
"type": "object",
"x-examples": {
"example-1": {
"symbol": "COMMERCE_REPUBLIC",
"name": "Commerce Repubic",
"description": "",
"headquarters": "X1-OE-PM",
"traits": [
"BUREAUCRATIC",
"CAPITALISTIC",
"GUILD",
"ESTABLISHED"
]
}
},
"examples": [
{
"symbol": "COMMERCE_REPUBLIC",
"name": "Commerce Repubic",
"description": "The Commerce Republic takes capital from top tier worlds and invests it into new systems with high potential for growth.",
"headquarters": "X1-OE-PM",
"traits": [
"BUREAUCRATIC",
"CAPITALISTIC",
"GUILD",
"ESTABLISHED"
]
}
],
"properties": {
"symbol": {
"type": "string",
"minLength": 1
},
"name": {
"type": "string",
"minLength": 1
},
"description": {
"type": "string",
"minLength": 1
},
"headquarters": {
"type": "string",
"minLength": 1
},
"traits": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"symbol",
"name",
"description",
"headquarters",
"traits"
]
}

View File

@ -1,46 +0,0 @@
description: ''
type: object
x-examples:
example-1:
symbol: COMMERCE_REPUBLIC
name: Commerce Repubic
description: The Commerce Republic takes capital from top tier worlds and invests it into new systems with high potential for growth.
headquarters: X1-OE-PM
traits:
- BUREAUCRATIC
- CAPITALISTIC
- GUILD
- ESTABLISHED
examples:
- symbol: COMMERCE_REPUBLIC
name: Commerce Repubic
description: The Commerce Republic takes capital from top tier worlds and invests it into new systems with high potential for growth.
headquarters: X1-OE-PM
traits:
- BUREAUCRATIC
- CAPITALISTIC
- GUILD
- ESTABLISHED
properties:
symbol:
type: string
minLength: 1
name:
type: string
minLength: 1
description:
type: string
minLength: 1
headquarters:
type: string
minLength: 1
traits:
type: array
items:
type: string
required:
- symbol
- name
- description
- headquarters
- traits

30
models/Jump.json Normal file
View File

@ -0,0 +1,30 @@
{
"description": "",
"type": "object",
"properties": {
"shipSymbol": {
"type": "string",
"minLength": 1
},
"destination": {
"type": "string",
"minLength": 1
}
},
"required": [
"shipSymbol",
"destination"
],
"x-examples": {
"example-1": {
"shipSymbol": "1D7FDA-1",
"destination": "00E0B1"
}
},
"examples": [
{
"shipSymbol": "1D7FDA-1",
"destination": "00E0B1"
}
]
}

View File

@ -1,19 +0,0 @@
description: ''
type: object
properties:
shipSymbol:
type: string
minLength: 1
destination:
type: string
minLength: 1
required:
- shipSymbol
- destination
x-examples:
example-1:
shipSymbol: 1D7FDA-1
destination: 00E0B1
examples:
- shipSymbol: 1D7FDA-1
destination: 00E0B1

38
models/Market.json Normal file
View File

@ -0,0 +1,38 @@
{
"description": "",
"type": "object",
"properties": {
"symbol": {
"type": "string",
"description": "The symbol of the market. The symbol is the same as the waypoint where the market is located."
},
"exports": {
"type": "array",
"description": "The list of goods that are exported from this market.",
"items": {
"type": "string"
}
},
"imports": {
"type": "array",
"description": "The list of goods that are sought as imports in this market.",
"items": {
"type": "string"
}
},
"transactions": {
"type": "array",
"description": "The list of recent transactions at this market.",
"items": {
"$ref": "./MarketTransaction.json"
}
},
"tradeGoods": {
"type": "array",
"description": "The list of goods that are traded at this market.",
"items": {
"$ref": "./MarketTradeGood.json"
}
}
}
}

View File

@ -1,18 +0,0 @@
description: ""
type: object
properties:
waypointSymbol:
type: string
minLength: 1
tradeSymbol:
type: string
minLength: 1
price:
type: integer
tariff:
type: integer
required:
- waypointSymbol
- tradeSymbol
- price
- tariff

View File

@ -0,0 +1,33 @@
{
"type": "object",
"properties": {
"symbol": {
"type": "string",
"description": "The symbol of the trade good."
},
"tradeVolume": {
"type": "integer",
"description": "The average volume flowing through the market for this type of good.",
"minimum": 1
},
"supply": {
"type": "string",
"description": "A rough estimate of the total supply of this good in this marketplace.",
"enum": [
"HIGH",
"AVERAGE",
"LOW"
]
},
"purchasePrice": {
"type": "integer",
"description": "The price at which this good is sold.",
"minimum": 0
},
"sellPrice": {
"type": "integer",
"description": "The price at which this good is bought.",
"minimum": 0
}
}
}

View File

@ -0,0 +1,36 @@
{
"type": "object",
"properties": {
"symbol": {
"type": "string",
"description": "The symbol of the trade good."
},
"type": {
"type": "string",
"description": "The type of transaction.",
"enum": [
"PURCHASE",
"SELL"
]
},
"units": {
"type": "integer",
"description": "The number of units of the transaction.",
"minimum": 1
},
"pricePerUnit": {
"type": "integer",
"description": "The price per unit of the transaction.",
"minimum": 1
},
"shipSymbol": {
"type": "string",
"description": "The symbol of the ship that made the transaction."
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "The timestamp of the transaction."
}
}
}

View File

@ -26,8 +26,8 @@
"reactor": { "reactor": {
"$ref": "./ShipReactor.json" "$ref": "./ShipReactor.json"
}, },
"thrusters": { "engine": {
"$ref": "./ShipThrusters.json" "$ref": "./ShipEngine.json"
}, },
"modules": { "modules": {
"type": "array", "type": "array",

View File

@ -3,42 +3,17 @@
"properties": { "properties": {
"capacity": { "capacity": {
"type": "integer", "type": "integer",
"description": "The max number of items that can be stored in the cargo hold.",
"minimum": 0 "minimum": 0
}, },
"inventory": { "inventory": {
"type": "array", "type": "array",
"description": "The items currently in the cargo hold.",
"items": { "items": {
"type": "object", "$ref": "./ShipCargoItem.json"
"properties": {
"symbol": {
"type": "string",
"examples": [
"ORE_COPPER",
"MICROPROCESSORS",
"FOOD"
]
},
"name": {
"type": "string",
"examples": [
"Copper Ore",
"Microprocessors",
"Food"
]
},
"units": {
"type": "integer",
"minimum": 1
}
}, },
"required": [ "required": [
"symbol", "capacity",
"name",
"units"
]
},
"required": [
"size",
"inventory" "inventory"
] ]
} }

31
models/ShipCargoItem.json Normal file
View File

@ -0,0 +1,31 @@
{
"type": "object",
"description": "The type of cargo item and the number of units.",
"properties": {
"symbol": {
"type": "string",
"examples": [
"ORE_COPPER",
"MICROPROCESSORS",
"FOOD"
]
},
"name": {
"type": "string",
"examples": [
"Copper Ore",
"Microprocessors",
"Food"
]
},
"units": {
"type": "integer",
"minimum": 1
}
},
"required": [
"symbol",
"name",
"units"
]
}

View File

@ -1,6 +1,6 @@
{ {
"type": "object", "type": "object",
"description": "The thrusters determine how quickly a ship travels between waypoints.", "description": "The engine determines how quickly a ship travels between waypoints.",
"properties": { "properties": {
"symbol": { "symbol": {
"type": "string", "type": "string",

18
models/Shipyard.json Normal file
View File

@ -0,0 +1,18 @@
{
"description": "",
"type": "object",
"properties": {
"symbol": {
"type": "string",
"description": "The symbol of the shipyard. The symbol is the same as the waypoint where the shipyard is located.",
"minLength": 1
},
"ships": {
"type": "array",
"description": "The ships that are currently available for purchase at the shipyard.",
"items": {
"$ref": "./ShipyardShip.json"
}
}
}
}

View File

@ -1,19 +0,0 @@
description: ''
type: object
properties:
symbol:
type: string
minLength: 1
faction:
type: string
minLength: 1
required:
- symbol
- faction
x-examples:
example-1:
symbol: X1-OE-PM
faction: COMMERCE_REPUBLIC
examples:
- symbol: X1-OE-PM
faction: COMMERCE_REPUBLIC

View File

@ -1,66 +0,0 @@
description: ""
type: object
x-examples:
example-1:
id: cl0nahta90000aq0jonm1nprl
waypoint: X1-OE-PM
price: 58191
role: EXCAVATOR
frame: FRAME_DRONE
reactor: REACTOR_SOLAR_I
engine: ENGINE_SOLAR_PROPULSION
modules:
- MODULE_CARGO_HOLD
mounts:
- MOUNT_MINING_LASER_I
examples:
- id: cl0nahta90000aq0jonm1nprl
waypoint: X1-OE-PM
price: 58191
role: EXCAVATOR
frame: FRAME_DRONE
reactor: REACTOR_SOLAR_I
engine: ENGINE_SOLAR_PROPULSION
modules:
- MODULE_CARGO_HOLD
mounts:
- MOUNT_MINING_LASER_I
properties:
id:
type: string
minLength: 1
waypoint:
type: string
minLength: 1
price:
type: integer
role:
type: string
minLength: 1
frame:
type: string
minLength: 1
reactor:
type: string
minLength: 1
engine:
type: string
minLength: 1
modules:
type: array
items:
type: string
mounts:
type: array
items:
type: string
required:
- id
- waypoint
- price
- role
- frame
- reactor
- engine
- modules
- mounts

34
models/ShipyardShip.json Normal file
View File

@ -0,0 +1,34 @@
{
"description": "",
"type": "object",
"properties": {
"symbol": {
"type": "string",
"minLength": 1
},
"price": {
"type": "integer"
},
"frame": {
"$ref": "./ShipFrame.json"
},
"reactor": {
"$ref": "./ShipReactor.json"
},
"engine": {
"$ref": "./ShipEngine.json"
},
"modules": {
"type": "array",
"items": {
"$ref": "./ShipModule.json"
}
},
"mounts": {
"type": "array",
"items": {
"$ref": "./ShipMount.json"
}
}
}
}

56
models/Waypoint.json Normal file
View File

@ -0,0 +1,56 @@
{
"description": "A waypoint is a location that ships can travel to such as a Planet, Moon or Space Station.",
"type": "object",
"properties": {
"symbol": {
"type": "string",
"minLength": 1
},
"type": {
"$ref": "./WaypointType.json"
},
"systemSymbol": {
"type": "string",
"minLength": 1
},
"x": {
"type": "integer"
},
"y": {
"type": "integer"
},
"orbitals": {
"type": "array",
"items": {
"$ref": "./WaypointOrbital.json"
}
},
"factions": {
"type": "array",
"description": "The factions that are active on the waypoint.",
"items": {
"$ref": "./WaypointFaction.json"
}
},
"traits": {
"type": "array",
"description": "The traits of the waypoint.",
"items": {
"$ref": "./WaypointTrait.json"
}
},
"chart": {
"$ref": "./WaypointChart.json"
}
},
"required": [
"symbol",
"type",
"systemSymbol",
"x",
"y",
"orbitals",
"factions",
"traits"
]
}

View File

@ -1,89 +0,0 @@
description: ""
type: object
x-examples:
example-1:
system: X1-OE
symbol: X1-OE-PM
type: PLANET
x: 10
"y": 5
orbitals:
- X1-OE-PM01
faction: COMMERCE_REPUBLIC
features:
- MARKETPLACE
- SHIPYARD
traits:
- OVERCROWDED
- HIGH_TECH
- BUREAUCRATIC
- TRADING_HUB
- TEMPERATE
charted: true
chartedBy: null
examples:
- system: X1-OE
symbol: X1-OE-PM
type: PLANET
x: 10
"y": 5
orbitals:
- X1-OE-PM01
faction: COMMERCE_REPUBLIC
features:
- MARKETPLACE
- SHIPYARD
traits:
- OVERCROWDED
- HIGH_TECH
- BUREAUCRATIC
- TRADING_HUB
- TEMPERATE
charted: true
chartedBy: null
properties:
system:
type: string
minLength: 1
symbol:
type: string
minLength: 1
type:
type: string
minLength: 1
x:
type: integer
"y":
type: integer
orbitals:
type: array
items:
type: string
faction:
type: string
minLength: 1
features:
type: array
items:
type: string
traits:
type: array
items:
type: string
charted:
type: boolean
chartedBy:
type:
- string
- "null"
required:
- system
- symbol
- type
- x
- "y"
- orbitals
- faction
- features
- traits
- charted

13
models/WaypointChart.json Normal file
View File

@ -0,0 +1,13 @@
{
"type": "object",
"description": "The chart of the waypoint, which makes the waypoint visible to other agents.",
"properties": {
"submittedBy": {
"type": "string"
},
"submittedOn": {
"type": "string",
"format": "date-time"
}
}
}

View File

@ -0,0 +1,9 @@
{
"type": "object",
"properties": {
"symbol": {
"type": "string",
"minLength": 1
}
}
}

View File

@ -0,0 +1,10 @@
{
"type": "object",
"description": "An orbital is another waypoint that orbits a parent waypoint.",
"properties": {
"symbol": {
"type": "string",
"minLength": 1
}
}
}

72
models/WaypointTrait.json Normal file
View File

@ -0,0 +1,72 @@
{
"type": "object",
"properties": {
"symbol": {
"type": "string",
"description": "The unique identifier of the trait.",
"enum": [
"UNCHARTED",
"OUTPOST",
"SCATTERED_SETTLEMENTS",
"SPRAWLING_CITIES",
"MEGA_STRUCTURES",
"OVERCROWDED",
"HIGH_TECH",
"CORRUPT",
"BUREAUCRATIC",
"TRADING_HUB",
"INDUSTRIAL",
"BLACK_MARKET",
"RESEARCH_FACILITY",
"MILITARY_BASE",
"SURVEILLANCE_OUTPOST",
"EXPLORATION_OUTPOST",
"MINERAL_DEPOSITS",
"COMMON_METAL_DEPOSITS",
"PRECIOUS_METAL_DEPOSITS",
"RARE_METAL_DEPOSITS",
"METHANE_POOLS",
"ICE_CRYSTALS",
"EXPLOSIVE_GASES",
"VIBRANT_AURORAS",
"SALT_FLATS",
"CANYONS",
"PERPETUAL_DAYLIGHT",
"PERPETUAL_OVERCAST",
"DRY_SEABEDS",
"MAGMA_SEAS",
"SUPERVOLCANOES",
"ASH_CLOUDS",
"VAST_RUINS",
"MUTATED_FLORA",
"DIVERSE_LIFE",
"SCARCE_LIFE",
"FOSSILS",
"WEAK_GRAVITY",
"STRONG_GRAVITY",
"CRUSHING_GRAVITY",
"TOXIC_ATMOSPHERE",
"CORROSIVE_ATMOSPHERE",
"BREATHABLE_ATMOSPHERE",
"COMM_RELAY_I",
"JOVIAN",
"ROCKY",
"VOLCANIC",
"FROZEN",
"SWAMP",
"BARREN",
"TEMPERATE",
"JUNGLE",
"OCEAN"
]
},
"name": {
"type": "string",
"description": "The name of the trait."
},
"description": {
"type": "string",
"description": "A description of the trait."
}
}
}

14
models/WaypointType.json Normal file
View File

@ -0,0 +1,14 @@
{
"type": "string",
"description": "The type of waypoint.",
"enum": [
"PLANET",
"GAS_GIANT",
"MOON",
"ORBITAL_STATION",
"JUMP_GATE",
"ASTEROID_FIELD",
"DEBRIS_FIELD",
"GRAVITY_WELL"
]
}

File diff suppressed because it is too large Load Diff