Created
November 4, 2020 19:33
-
-
Save h3ku/c0ee11bf9b5fd53916041da881215211 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "schemes": [], | |
| "swagger": "2.0", | |
| "info": { | |
| "description": "This is the sconwar API documentation.", | |
| "title": "Sconwar API", | |
| "contact": {}, | |
| "license": {"name":"Apache 2.0", | |
| "url":"http://www.apache.org/licenses/LICENSE-2.0.html"}, | |
| "version": "1.0" | |
| }, | |
| "host": "api.sconwar.com", | |
| "basePath": "/api", | |
| "paths": { | |
| "/action/attack": { | |
| "post": { | |
| "description": "Attack's an entity at x, y, assuming it's in range", | |
| "consumes": [ | |
| "application/json" | |
| ], | |
| "produces": [ | |
| "application/json" | |
| ], | |
| "tags": [ | |
| "Action" | |
| ], | |
| "summary": "Attack an entity", | |
| "parameters": [ | |
| { | |
| "description": "ActionAttackRequest Request", | |
| "name": "data", | |
| "in": "body", | |
| "required": true, | |
| "schema": { | |
| "$ref": "#/definitions/api.ActionAttackRequest" | |
| } | |
| } | |
| ], | |
| "responses": { | |
| "200": { | |
| "description": "OK", | |
| "schema": { | |
| "$ref": "#/definitions/api.StatusResponse" | |
| } | |
| }, | |
| "400": { | |
| "description": "Bad Request", | |
| "schema": { | |
| "$ref": "#/definitions/api.ErrorResponse" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/action/move": { | |
| "post": { | |
| "description": "Move's a player in a game to a new co-ordinate", | |
| "consumes": [ | |
| "application/json" | |
| ], | |
| "produces": [ | |
| "application/json" | |
| ], | |
| "tags": [ | |
| "Action" | |
| ], | |
| "summary": "Move a player in a game", | |
| "parameters": [ | |
| { | |
| "description": "ActionMoveRequest Request", | |
| "name": "data", | |
| "in": "body", | |
| "required": true, | |
| "schema": { | |
| "$ref": "#/definitions/api.ActionMoveRequest" | |
| } | |
| } | |
| ], | |
| "responses": { | |
| "201": { | |
| "description": "Created", | |
| "schema": { | |
| "$ref": "#/definitions/api.StatusResponse" | |
| } | |
| }, | |
| "400": { | |
| "description": "Bad Request", | |
| "schema": { | |
| "$ref": "#/definitions/api.ErrorResponse" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/action/pickup": { | |
| "post": { | |
| "description": "Pick's an item up and places it in the players inventory", | |
| "consumes": [ | |
| "application/json" | |
| ], | |
| "produces": [ | |
| "application/json" | |
| ], | |
| "tags": [ | |
| "Action" | |
| ], | |
| "summary": "Pick up an item", | |
| "parameters": [ | |
| { | |
| "description": "ActionPickupRequest Request", | |
| "name": "data", | |
| "in": "body", | |
| "required": true, | |
| "schema": { | |
| "$ref": "#/definitions/api.ActionPickupRequest" | |
| } | |
| } | |
| ], | |
| "responses": { | |
| "200": { | |
| "description": "OK", | |
| "schema": { | |
| "$ref": "#/definitions/api.StatusResponse" | |
| } | |
| }, | |
| "400": { | |
| "description": "Bad Request", | |
| "schema": { | |
| "$ref": "#/definitions/api.ErrorResponse" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/action/use": { | |
| "post": { | |
| "description": "Uses's a powerup and activates it buff", | |
| "consumes": [ | |
| "application/json" | |
| ], | |
| "produces": [ | |
| "application/json" | |
| ], | |
| "tags": [ | |
| "Action" | |
| ], | |
| "summary": "Use a powerup", | |
| "parameters": [ | |
| { | |
| "description": "ActionUseRequest Request", | |
| "name": "data", | |
| "in": "body", | |
| "required": true, | |
| "schema": { | |
| "$ref": "#/definitions/api.ActionUseRequest" | |
| } | |
| } | |
| ], | |
| "responses": { | |
| "200": { | |
| "description": "OK", | |
| "schema": { | |
| "$ref": "#/definitions/api.StatusResponse" | |
| } | |
| }, | |
| "400": { | |
| "description": "Bad Request", | |
| "schema": { | |
| "$ref": "#/definitions/api.ErrorResponse" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/game/": { | |
| "get": { | |
| "description": "Get's a list of all of the games that are running", | |
| "consumes": [ | |
| "application/json" | |
| ], | |
| "produces": [ | |
| "application/json" | |
| ], | |
| "tags": [ | |
| "Game" | |
| ], | |
| "summary": "List all games", | |
| "responses": { | |
| "200": { | |
| "description": "OK", | |
| "schema": { | |
| "$ref": "#/definitions/api.AllGamesResponse" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/game/detail/{game_id}": { | |
| "get": { | |
| "security": [ | |
| { | |
| "ApiKeyAuth": [] | |
| } | |
| ], | |
| "description": "Get's the details for a game defined by UUID", | |
| "consumes": [ | |
| "application/json" | |
| ], | |
| "produces": [ | |
| "application/json" | |
| ], | |
| "tags": [ | |
| "Game" | |
| ], | |
| "summary": "Get game details", | |
| "parameters": [ | |
| { | |
| "type": "string", | |
| "description": "game uuid", | |
| "name": "game_id", | |
| "in": "path", | |
| "required": true | |
| } | |
| ], | |
| "responses": { | |
| "200": { | |
| "description": "OK", | |
| "schema": { | |
| "$ref": "#/definitions/api.GameDetailResponse" | |
| } | |
| }, | |
| "400": { | |
| "description": "Bad Request", | |
| "schema": { | |
| "$ref": "#/definitions/api.ErrorResponse" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/game/events/{game_id}": { | |
| "get": { | |
| "description": "Get's the events for a game defined by UUID", | |
| "consumes": [ | |
| "application/json" | |
| ], | |
| "produces": [ | |
| "application/json" | |
| ], | |
| "tags": [ | |
| "Game" | |
| ], | |
| "summary": "Get game events", | |
| "parameters": [ | |
| { | |
| "type": "string", | |
| "description": "game uuid", | |
| "name": "game_id", | |
| "in": "path", | |
| "required": true | |
| } | |
| ], | |
| "responses": { | |
| "200": { | |
| "description": "OK", | |
| "schema": { | |
| "$ref": "#/definitions/api.GameEventsResponse" | |
| } | |
| }, | |
| "400": { | |
| "description": "Bad Request", | |
| "schema": { | |
| "$ref": "#/definitions/api.ErrorResponse" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/game/info/{game_id}": { | |
| "get": { | |
| "description": "Get's the information for a game defined by UUID", | |
| "consumes": [ | |
| "application/json" | |
| ], | |
| "produces": [ | |
| "application/json" | |
| ], | |
| "tags": [ | |
| "Game" | |
| ], | |
| "summary": "Get game information", | |
| "parameters": [ | |
| { | |
| "type": "string", | |
| "description": "game uuid", | |
| "name": "game_id", | |
| "in": "path", | |
| "required": true | |
| } | |
| ], | |
| "responses": { | |
| "200": { | |
| "description": "OK", | |
| "schema": { | |
| "$ref": "#/definitions/api.GameInfoResponse" | |
| } | |
| }, | |
| "400": { | |
| "description": "Bad Request", | |
| "schema": { | |
| "$ref": "#/definitions/api.ErrorResponse" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/game/join": { | |
| "post": { | |
| "description": "Joins a player to an existing game", | |
| "consumes": [ | |
| "application/json" | |
| ], | |
| "produces": [ | |
| "application/json" | |
| ], | |
| "tags": [ | |
| "Game" | |
| ], | |
| "summary": "Join a player to a game", | |
| "parameters": [ | |
| { | |
| "description": "Join Request", | |
| "name": "data", | |
| "in": "body", | |
| "required": true, | |
| "schema": { | |
| "$ref": "#/definitions/api.JoinPlayerRequest" | |
| } | |
| } | |
| ], | |
| "responses": { | |
| "200": { | |
| "description": "OK", | |
| "schema": { | |
| "$ref": "#/definitions/api.StatusResponse" | |
| } | |
| }, | |
| "400": { | |
| "description": "Bad Request", | |
| "schema": { | |
| "$ref": "#/definitions/api.ErrorResponse" | |
| } | |
| }, | |
| "403": { | |
| "description": "Forbidden", | |
| "schema": { | |
| "$ref": "#/definitions/api.ErrorResponse" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/game/new": { | |
| "post": { | |
| "description": "Registers the start of a new game, returning the game id", | |
| "consumes": [ | |
| "application/json" | |
| ], | |
| "produces": [ | |
| "application/json" | |
| ], | |
| "tags": [ | |
| "Game" | |
| ], | |
| "summary": "Register a new game", | |
| "parameters": [ | |
| { | |
| "description": "NewGameRequest", | |
| "name": "data", | |
| "in": "body", | |
| "required": true, | |
| "schema": { | |
| "$ref": "#/definitions/api.NewGameRequest" | |
| } | |
| } | |
| ], | |
| "responses": { | |
| "201": { | |
| "description": "Created", | |
| "schema": { | |
| "$ref": "#/definitions/api.NewGameResponse" | |
| } | |
| }, | |
| "400": { | |
| "description": "Bad Request", | |
| "schema": { | |
| "$ref": "#/definitions/api.ErrorResponse" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/game/scores/{game_id}": { | |
| "get": { | |
| "description": "Get's the scores for a game defined by UUID", | |
| "consumes": [ | |
| "application/json" | |
| ], | |
| "produces": [ | |
| "application/json" | |
| ], | |
| "tags": [ | |
| "Game" | |
| ], | |
| "summary": "Get game scores", | |
| "parameters": [ | |
| { | |
| "type": "string", | |
| "description": "game uuid", | |
| "name": "game_id", | |
| "in": "path", | |
| "required": true | |
| } | |
| ], | |
| "responses": { | |
| "200": { | |
| "description": "OK", | |
| "schema": { | |
| "$ref": "#/definitions/api.GameScoresResponse" | |
| } | |
| }, | |
| "400": { | |
| "description": "Bad Request", | |
| "schema": { | |
| "$ref": "#/definitions/api.ErrorResponse" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/game/start/{game_id}": { | |
| "put": { | |
| "description": "Starts a game", | |
| "consumes": [ | |
| "application/json" | |
| ], | |
| "produces": [ | |
| "application/json" | |
| ], | |
| "tags": [ | |
| "Game" | |
| ], | |
| "summary": "Start a game", | |
| "parameters": [ | |
| { | |
| "type": "string", | |
| "description": "game uuid", | |
| "name": "game_id", | |
| "in": "path", | |
| "required": true | |
| } | |
| ], | |
| "responses": { | |
| "200": { | |
| "description": "OK", | |
| "schema": { | |
| "$ref": "#/definitions/api.StatusResponse" | |
| } | |
| }, | |
| "400": { | |
| "description": "Bad Request", | |
| "schema": { | |
| "$ref": "#/definitions/api.ErrorResponse" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/game/stop/{game_id}": { | |
| "put": { | |
| "security": [ | |
| { | |
| "ApiKeyAuth": [] | |
| } | |
| ], | |
| "description": "Stop a game", | |
| "consumes": [ | |
| "application/json" | |
| ], | |
| "produces": [ | |
| "application/json" | |
| ], | |
| "tags": [ | |
| "Game" | |
| ], | |
| "summary": "Stop a game", | |
| "parameters": [ | |
| { | |
| "type": "string", | |
| "description": "game uuid", | |
| "name": "game_id", | |
| "in": "path", | |
| "required": true | |
| } | |
| ], | |
| "responses": { | |
| "200": { | |
| "description": "OK", | |
| "schema": { | |
| "$ref": "#/definitions/api.StatusResponse" | |
| } | |
| }, | |
| "400": { | |
| "description": "Bad Request", | |
| "schema": { | |
| "$ref": "#/definitions/api.ErrorResponse" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/meta/leaderboard/": { | |
| "get": { | |
| "description": "Get's the leader board for this game server", | |
| "consumes": [ | |
| "application/json" | |
| ], | |
| "produces": [ | |
| "application/json" | |
| ], | |
| "tags": [ | |
| "Meta" | |
| ], | |
| "summary": "Get the leader board", | |
| "responses": { | |
| "200": { | |
| "description": "OK", | |
| "schema": { | |
| "$ref": "#/definitions/api.PlayerLeaderBoardResponse" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/meta/scores/": { | |
| "get": { | |
| "description": "Get's total scores for everyone for every game that has been played", | |
| "consumes": [ | |
| "application/json" | |
| ], | |
| "produces": [ | |
| "application/json" | |
| ], | |
| "tags": [ | |
| "Meta" | |
| ], | |
| "summary": "Get the total scores for everyone", | |
| "responses": { | |
| "200": { | |
| "description": "OK", | |
| "schema": { | |
| "$ref": "#/definitions/api.MetaTotalScoresResponse" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/meta/types/": { | |
| "get": { | |
| "description": "Get's information about types \u0026 enumerations in the game", | |
| "consumes": [ | |
| "application/json" | |
| ], | |
| "produces": [ | |
| "application/json" | |
| ], | |
| "tags": [ | |
| "Meta" | |
| ], | |
| "summary": "Get game type information", | |
| "responses": { | |
| "200": { | |
| "description": "OK", | |
| "schema": { | |
| "$ref": "#/definitions/api.MetaTypesResponse" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/player/": { | |
| "post": { | |
| "description": "Get's information about a player by UUID", | |
| "consumes": [ | |
| "application/json" | |
| ], | |
| "produces": [ | |
| "application/json" | |
| ], | |
| "tags": [ | |
| "Player" | |
| ], | |
| "summary": "Get player information", | |
| "parameters": [ | |
| { | |
| "description": "PlayerRequest Request", | |
| "name": "data", | |
| "in": "body", | |
| "required": true, | |
| "schema": { | |
| "$ref": "#/definitions/api.PlayerRequest" | |
| } | |
| } | |
| ], | |
| "responses": { | |
| "200": { | |
| "description": "OK", | |
| "schema": { | |
| "$ref": "#/definitions/storage.Player" | |
| } | |
| }, | |
| "400": { | |
| "description": "Bad Request", | |
| "schema": { | |
| "$ref": "#/definitions/api.ErrorResponse" | |
| } | |
| }, | |
| "403": { | |
| "description": "Forbidden", | |
| "schema": { | |
| "$ref": "#/definitions/api.ErrorResponse" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/player/register": { | |
| "post": { | |
| "security": [ | |
| { | |
| "ApiKeyAuth": [] | |
| } | |
| ], | |
| "description": "Registers a new player that can join games. The returned UUID is the secret too!", | |
| "consumes": [ | |
| "application/json" | |
| ], | |
| "produces": [ | |
| "application/json" | |
| ], | |
| "tags": [ | |
| "Player" | |
| ], | |
| "summary": "Register a new player", | |
| "parameters": [ | |
| { | |
| "description": "RegisterPlayerRequest Request", | |
| "name": "data", | |
| "in": "body", | |
| "required": true, | |
| "schema": { | |
| "$ref": "#/definitions/api.RegisterPlayerRequest" | |
| } | |
| } | |
| ], | |
| "responses": { | |
| "201": { | |
| "description": "Created", | |
| "schema": { | |
| "$ref": "#/definitions/api.NewPlayerResponse" | |
| } | |
| }, | |
| "400": { | |
| "description": "Bad Request", | |
| "schema": { | |
| "$ref": "#/definitions/api.ErrorResponse" | |
| } | |
| }, | |
| "403": { | |
| "description": "Forbidden", | |
| "schema": { | |
| "$ref": "#/definitions/api.ErrorResponse" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/player/status": { | |
| "post": { | |
| "description": "Get's the player status in a game", | |
| "consumes": [ | |
| "application/json" | |
| ], | |
| "produces": [ | |
| "application/json" | |
| ], | |
| "tags": [ | |
| "Player" | |
| ], | |
| "summary": "Get Player status in a game", | |
| "parameters": [ | |
| { | |
| "description": "PlayerGameRequest Request", | |
| "name": "data", | |
| "in": "body", | |
| "required": true, | |
| "schema": { | |
| "$ref": "#/definitions/api.PlayerGameRequest" | |
| } | |
| } | |
| ], | |
| "responses": { | |
| "200": { | |
| "description": "OK", | |
| "schema": { | |
| "$ref": "#/definitions/api.PlayerStatusResponse" | |
| } | |
| }, | |
| "400": { | |
| "description": "Bad Request", | |
| "schema": { | |
| "$ref": "#/definitions/api.ErrorResponse" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/player/surroundings": { | |
| "post": { | |
| "description": "Get's the surroundings of a player in a game, outside of fog of war", | |
| "consumes": [ | |
| "application/json" | |
| ], | |
| "produces": [ | |
| "application/json" | |
| ], | |
| "tags": [ | |
| "Player" | |
| ], | |
| "summary": "Get a player's surroundings", | |
| "parameters": [ | |
| { | |
| "description": "PlayerGameRequest Request", | |
| "name": "data", | |
| "in": "body", | |
| "required": true, | |
| "schema": { | |
| "$ref": "#/definitions/api.PlayerGameRequest" | |
| } | |
| } | |
| ], | |
| "responses": { | |
| "200": { | |
| "description": "OK", | |
| "schema": { | |
| "$ref": "#/definitions/api.PlayerSurroundingResponse" | |
| } | |
| }, | |
| "400": { | |
| "description": "Bad Request", | |
| "schema": { | |
| "$ref": "#/definitions/api.ErrorResponse" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "definitions": { | |
| "api.ActionAttackRequest": { | |
| "type": "object", | |
| "required": [ | |
| "game_player_id", | |
| "x", | |
| "y" | |
| ], | |
| "properties": { | |
| "game_player_id": { | |
| "type": "object", | |
| "$ref": "#/definitions/api.ActionGamePlayerRequest" | |
| }, | |
| "x": { | |
| "type": "integer", | |
| "example": 10 | |
| }, | |
| "y": { | |
| "type": "integer", | |
| "example": 9 | |
| } | |
| } | |
| }, | |
| "api.ActionGamePlayerRequest": { | |
| "type": "object", | |
| "required": [ | |
| "game_id", | |
| "player_id" | |
| ], | |
| "properties": { | |
| "game_id": { | |
| "type": "string", | |
| "example": "1df69d53-3468-43df-a43b-a9c674240cab" | |
| }, | |
| "player_id": { | |
| "type": "string", | |
| "example": "6d950e36-b82b-4253-93d7-faa63d3a0e63" | |
| } | |
| } | |
| }, | |
| "api.ActionMoveRequest": { | |
| "type": "object", | |
| "required": [ | |
| "game_player_id", | |
| "x", | |
| "y" | |
| ], | |
| "properties": { | |
| "game_player_id": { | |
| "type": "object", | |
| "$ref": "#/definitions/api.ActionGamePlayerRequest" | |
| }, | |
| "x": { | |
| "type": "integer", | |
| "example": 10 | |
| }, | |
| "y": { | |
| "type": "integer", | |
| "example": 9 | |
| } | |
| } | |
| }, | |
| "api.ActionPickupRequest": { | |
| "type": "object", | |
| "required": [ | |
| "game_player_id", | |
| "x", | |
| "y" | |
| ], | |
| "properties": { | |
| "game_player_id": { | |
| "type": "object", | |
| "$ref": "#/definitions/api.ActionGamePlayerRequest" | |
| }, | |
| "x": { | |
| "type": "integer", | |
| "example": 10 | |
| }, | |
| "y": { | |
| "type": "integer", | |
| "example": 9 | |
| } | |
| } | |
| }, | |
| "api.ActionUseRequest": { | |
| "type": "object", | |
| "required": [ | |
| "game_player_id", | |
| "powerup_id" | |
| ], | |
| "properties": { | |
| "game_player_id": { | |
| "type": "object", | |
| "$ref": "#/definitions/api.ActionGamePlayerRequest" | |
| }, | |
| "powerup_id": { | |
| "type": "string", | |
| "example": "6d950e36-b82b-4253-93d7-faa63d3a0e63" | |
| } | |
| } | |
| }, | |
| "api.AllGamesGame": { | |
| "type": "object", | |
| "properties": { | |
| "id": { | |
| "type": "string" | |
| }, | |
| "name": { | |
| "type": "string" | |
| }, | |
| "status": { | |
| "type": "integer" | |
| } | |
| } | |
| }, | |
| "api.AllGamesResponse": { | |
| "type": "object", | |
| "properties": { | |
| "games": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/definitions/api.AllGamesGame" | |
| } | |
| } | |
| } | |
| }, | |
| "api.BoardStatuses": { | |
| "type": "object", | |
| "properties": { | |
| "finished": { | |
| "type": "integer" | |
| }, | |
| "new": { | |
| "type": "integer" | |
| }, | |
| "running": { | |
| "type": "integer" | |
| } | |
| } | |
| }, | |
| "api.ErrorResponse": { | |
| "type": "object", | |
| "properties": { | |
| "error_detail": { | |
| "type": "string" | |
| }, | |
| "message": { | |
| "type": "string" | |
| } | |
| } | |
| }, | |
| "api.GameDetailResponse": { | |
| "type": "object", | |
| "properties": { | |
| "game": { | |
| "type": "object", | |
| "$ref": "#/definitions/game.Board" | |
| } | |
| } | |
| }, | |
| "api.GameEntities": { | |
| "type": "object", | |
| "properties": { | |
| "creep": { | |
| "type": "integer" | |
| }, | |
| "player": { | |
| "type": "integer" | |
| }, | |
| "powerup": { | |
| "type": "integer" | |
| } | |
| } | |
| }, | |
| "api.GameEntitiesResponse": { | |
| "type": "object", | |
| "properties": { | |
| "alive_creep": { | |
| "type": "integer" | |
| }, | |
| "alive_players": { | |
| "type": "integer" | |
| }, | |
| "powerups": { | |
| "type": "integer" | |
| } | |
| } | |
| }, | |
| "api.GameEventsResponse": { | |
| "type": "object", | |
| "properties": { | |
| "events": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/definitions/storage.Event" | |
| } | |
| } | |
| } | |
| }, | |
| "api.GameInfoResponse": { | |
| "type": "object", | |
| "properties": { | |
| "created": { | |
| "type": "string" | |
| }, | |
| "current_player": { | |
| "type": "string" | |
| }, | |
| "fow": { | |
| "type": "number" | |
| }, | |
| "game_entities": { | |
| "type": "object", | |
| "$ref": "#/definitions/api.GameEntitiesResponse" | |
| }, | |
| "game_options": { | |
| "type": "object", | |
| "$ref": "#/definitions/api.GameOptionsResponse" | |
| }, | |
| "name": { | |
| "type": "string" | |
| }, | |
| "size_x": { | |
| "type": "integer" | |
| }, | |
| "size_y": { | |
| "type": "integer" | |
| }, | |
| "started": { | |
| "type": "string" | |
| }, | |
| "status": { | |
| "type": "integer" | |
| } | |
| } | |
| }, | |
| "api.GameOptionsResponse": { | |
| "type": "object", | |
| "properties": { | |
| "fow_percent": { | |
| "type": "integer" | |
| }, | |
| "player_attack_range": { | |
| "type": "integer" | |
| }, | |
| "player_max_move_range": { | |
| "type": "integer" | |
| }, | |
| "player_round_moves": { | |
| "type": "integer" | |
| }, | |
| "player_round_seconds": { | |
| "type": "integer" | |
| }, | |
| "powerup_max": { | |
| "type": "integer" | |
| } | |
| } | |
| }, | |
| "api.GameScoresResponse": { | |
| "type": "object", | |
| "properties": { | |
| "scores": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/definitions/api.PlayerScore" | |
| } | |
| } | |
| } | |
| }, | |
| "api.JoinPlayerRequest": { | |
| "type": "object", | |
| "required": [ | |
| "game_id", | |
| "player_id" | |
| ], | |
| "properties": { | |
| "game_id": { | |
| "type": "string", | |
| "example": "1df69d53-3468-43df-a43b-a9c674240cab" | |
| }, | |
| "player_id": { | |
| "type": "string", | |
| "example": "6d950e36-b82b-4253-93d7-faa63d3a0e63" | |
| } | |
| } | |
| }, | |
| "api.MetaTotalScoresResponse": { | |
| "type": "object", | |
| "properties": { | |
| "players": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/definitions/api.PlayerTotalScore" | |
| } | |
| } | |
| } | |
| }, | |
| "api.MetaTypesResponse": { | |
| "type": "object", | |
| "properties": { | |
| "board_statuses": { | |
| "type": "object", | |
| "$ref": "#/definitions/api.BoardStatuses" | |
| }, | |
| "game_entities": { | |
| "type": "object", | |
| "$ref": "#/definitions/api.GameEntities" | |
| }, | |
| "player_actions": { | |
| "type": "object", | |
| "$ref": "#/definitions/api.PlayerActions" | |
| }, | |
| "powerup_types": { | |
| "type": "object", | |
| "$ref": "#/definitions/api.PowerupTypes" | |
| } | |
| } | |
| }, | |
| "api.NewGameRequest": { | |
| "type": "object", | |
| "required": [ | |
| "name" | |
| ], | |
| "properties": { | |
| "name": { | |
| "type": "string", | |
| "example": "pew pew" | |
| } | |
| } | |
| }, | |
| "api.NewGameResponse": { | |
| "type": "object", | |
| "properties": { | |
| "created": { | |
| "type": "boolean" | |
| }, | |
| "uuid": { | |
| "type": "string" | |
| } | |
| } | |
| }, | |
| "api.NewPlayerResponse": { | |
| "type": "object", | |
| "properties": { | |
| "created": { | |
| "type": "boolean" | |
| }, | |
| "uuid": { | |
| "type": "string" | |
| } | |
| } | |
| }, | |
| "api.PlayerActions": { | |
| "type": "object", | |
| "properties": { | |
| "attack": { | |
| "type": "integer" | |
| }, | |
| "move": { | |
| "type": "integer" | |
| }, | |
| "nothing": { | |
| "type": "integer" | |
| }, | |
| "pickup": { | |
| "type": "integer" | |
| } | |
| } | |
| }, | |
| "api.PlayerGameRequest": { | |
| "type": "object", | |
| "required": [ | |
| "game_id", | |
| "player_id" | |
| ], | |
| "properties": { | |
| "game_id": { | |
| "type": "string", | |
| "example": "1df69d53-3468-43df-a43b-a9c674240cab" | |
| }, | |
| "player_id": { | |
| "type": "string", | |
| "example": "6d950e36-b82b-4253-93d7-faa63d3a0e63" | |
| } | |
| } | |
| }, | |
| "api.PlayerLeaderBoardResponse": { | |
| "type": "object", | |
| "properties": { | |
| "scores": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/definitions/api.PlayerLeaderboardScore" | |
| } | |
| } | |
| } | |
| }, | |
| "api.PlayerLeaderboardScore": { | |
| "type": "object", | |
| "properties": { | |
| "creep_kills": { | |
| "type": "integer" | |
| }, | |
| "damage_dealt": { | |
| "type": "integer" | |
| }, | |
| "damage_taken": { | |
| "type": "integer" | |
| }, | |
| "game_id": { | |
| "type": "string" | |
| }, | |
| "game_name": { | |
| "type": "string" | |
| }, | |
| "name": { | |
| "type": "string" | |
| }, | |
| "player_kills": { | |
| "type": "integer" | |
| }, | |
| "position": { | |
| "type": "integer" | |
| }, | |
| "score": { | |
| "type": "integer" | |
| } | |
| } | |
| }, | |
| "api.PlayerRequest": { | |
| "type": "object", | |
| "required": [ | |
| "player_id" | |
| ], | |
| "properties": { | |
| "player_id": { | |
| "type": "string", | |
| "example": "6d950e36-b82b-4253-93d7-faa63d3a0e63" | |
| } | |
| } | |
| }, | |
| "api.PlayerScore": { | |
| "type": "object", | |
| "properties": { | |
| "damage_dealt": { | |
| "type": "integer" | |
| }, | |
| "damage_taken": { | |
| "type": "integer" | |
| }, | |
| "killed_creep": { | |
| "type": "integer" | |
| }, | |
| "killed_players": { | |
| "type": "integer" | |
| }, | |
| "name": { | |
| "type": "string" | |
| }, | |
| "score": { | |
| "type": "integer" | |
| } | |
| } | |
| }, | |
| "api.PlayerStatusResponse": { | |
| "type": "object", | |
| "properties": { | |
| "player": { | |
| "type": "object", | |
| "$ref": "#/definitions/game.Player" | |
| } | |
| } | |
| }, | |
| "api.PlayerSurroundingResponse": { | |
| "type": "object", | |
| "properties": { | |
| "creep": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/definitions/game.Creep" | |
| } | |
| }, | |
| "fow_enabled": { | |
| "type": "boolean" | |
| }, | |
| "players": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/definitions/game.Player" | |
| } | |
| }, | |
| "powerups": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/definitions/game.PowerUp" | |
| } | |
| } | |
| } | |
| }, | |
| "api.PlayerTotalScore": { | |
| "type": "object", | |
| "properties": { | |
| "average_position": { | |
| "type": "integer" | |
| }, | |
| "name": { | |
| "type": "string" | |
| }, | |
| "total_creep_kills": { | |
| "type": "integer" | |
| }, | |
| "total_damage_dealt": { | |
| "type": "integer" | |
| }, | |
| "total_damage_taken": { | |
| "type": "integer" | |
| }, | |
| "total_player_kills": { | |
| "type": "integer" | |
| }, | |
| "total_score": { | |
| "type": "integer" | |
| } | |
| } | |
| }, | |
| "api.PowerupTypes": { | |
| "type": "object", | |
| "properties": { | |
| "double_damage": { | |
| "type": "integer" | |
| }, | |
| "health": { | |
| "type": "integer" | |
| }, | |
| "teleport": { | |
| "type": "integer" | |
| } | |
| } | |
| }, | |
| "api.RegisterPlayerRequest": { | |
| "type": "object", | |
| "required": [ | |
| "name" | |
| ], | |
| "properties": { | |
| "name": { | |
| "type": "string", | |
| "example": "my name" | |
| } | |
| } | |
| }, | |
| "api.StatusResponse": { | |
| "type": "object", | |
| "properties": { | |
| "success": { | |
| "type": "boolean" | |
| } | |
| } | |
| }, | |
| "game.Board": { | |
| "type": "object", | |
| "properties": { | |
| "created": { | |
| "type": "string" | |
| }, | |
| "creeps": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/definitions/game.Creep" | |
| } | |
| }, | |
| "current_player": { | |
| "type": "string" | |
| }, | |
| "events": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/definitions/storage.Event" | |
| } | |
| }, | |
| "fow_distance": { | |
| "type": "number" | |
| }, | |
| "id": { | |
| "type": "string" | |
| }, | |
| "name": { | |
| "type": "string" | |
| }, | |
| "players": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/definitions/game.Player" | |
| } | |
| }, | |
| "powerups": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/definitions/game.PowerUp" | |
| } | |
| }, | |
| "size_x": { | |
| "type": "integer" | |
| }, | |
| "size_y": { | |
| "type": "integer" | |
| }, | |
| "started": { | |
| "type": "string" | |
| }, | |
| "status": { | |
| "type": "integer" | |
| } | |
| } | |
| }, | |
| "game.Creep": { | |
| "type": "object", | |
| "properties": { | |
| "health": { | |
| "type": "integer" | |
| }, | |
| "id": { | |
| "type": "string" | |
| }, | |
| "name": { | |
| "type": "string" | |
| }, | |
| "position": { | |
| "type": "object", | |
| "$ref": "#/definitions/game.Position" | |
| } | |
| } | |
| }, | |
| "game.Player": { | |
| "type": "object", | |
| "properties": { | |
| "action_count": { | |
| "type": "integer" | |
| }, | |
| "buffs": { | |
| "type": "array", | |
| "items": { | |
| "type": "integer" | |
| } | |
| }, | |
| "damage_dealt": { | |
| "type": "integer" | |
| }, | |
| "damage_taken": { | |
| "type": "integer" | |
| }, | |
| "health": { | |
| "type": "integer" | |
| }, | |
| "killed_creep": { | |
| "type": "integer" | |
| }, | |
| "killed_players": { | |
| "type": "integer" | |
| }, | |
| "name": { | |
| "type": "string" | |
| }, | |
| "position": { | |
| "type": "object", | |
| "$ref": "#/definitions/game.Position" | |
| }, | |
| "powerups": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/definitions/game.PowerUp" | |
| } | |
| }, | |
| "score": { | |
| "type": "integer" | |
| } | |
| } | |
| }, | |
| "game.Position": { | |
| "type": "object", | |
| "properties": { | |
| "x": { | |
| "type": "integer" | |
| }, | |
| "y": { | |
| "type": "integer" | |
| } | |
| } | |
| }, | |
| "game.PowerUp": { | |
| "type": "object", | |
| "properties": { | |
| "id": { | |
| "type": "string" | |
| }, | |
| "position": { | |
| "type": "object", | |
| "$ref": "#/definitions/game.Position" | |
| }, | |
| "type": { | |
| "type": "integer" | |
| } | |
| } | |
| }, | |
| "storage.Board": { | |
| "type": "object", | |
| "properties": { | |
| "created": { | |
| "type": "string" | |
| }, | |
| "ended": { | |
| "type": "string" | |
| }, | |
| "events": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/definitions/storage.Event" | |
| } | |
| }, | |
| "name": { | |
| "type": "string" | |
| }, | |
| "started": { | |
| "type": "string" | |
| }, | |
| "status": { | |
| "type": "integer" | |
| }, | |
| "uuid": { | |
| "type": "string" | |
| } | |
| } | |
| }, | |
| "storage.Event": { | |
| "type": "object", | |
| "properties": { | |
| "action": { | |
| "type": "integer" | |
| }, | |
| "board_id": { | |
| "type": "integer" | |
| }, | |
| "date_created": { | |
| "type": "string" | |
| }, | |
| "dst_entity": { | |
| "type": "integer" | |
| }, | |
| "dst_pos": { | |
| "type": "integer" | |
| }, | |
| "msg": { | |
| "type": "string" | |
| }, | |
| "src_entity": { | |
| "type": "integer" | |
| }, | |
| "src_pos": { | |
| "type": "integer" | |
| } | |
| } | |
| }, | |
| "storage.Player": { | |
| "type": "object", | |
| "properties": { | |
| "name": { | |
| "type": "string" | |
| }, | |
| "scores": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/definitions/storage.PlayerGameScore" | |
| } | |
| }, | |
| "uuid": { | |
| "type": "string" | |
| } | |
| } | |
| }, | |
| "storage.PlayerGameScore": { | |
| "type": "object", | |
| "properties": { | |
| "board_id": { | |
| "type": "string" | |
| }, | |
| "damage_dealt": { | |
| "type": "integer" | |
| }, | |
| "damage_taken": { | |
| "type": "integer" | |
| }, | |
| "killed_creep": { | |
| "type": "integer" | |
| }, | |
| "killed_players": { | |
| "type": "integer" | |
| }, | |
| "position": { | |
| "type": "integer" | |
| }, | |
| "score": { | |
| "type": "integer" | |
| } | |
| } | |
| } | |
| }, | |
| "securityDefinitions": { | |
| "ApiKeyAuth": { | |
| "type": "apiKey", | |
| "name": "token", | |
| "in": "header" | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment