You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
100 lines
2.9 KiB
JSON
100 lines
2.9 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema",
|
|
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/map_node"
|
|
},
|
|
"propertyNames": {
|
|
"$ref": "#/definitions/node_name_regex"
|
|
},
|
|
|
|
"definitions": {
|
|
"node_name_regex": {
|
|
"type": "string",
|
|
"pattern": "[\\w]+"
|
|
},
|
|
"map_node": {
|
|
"properties": {
|
|
"x": {
|
|
"description": "The x coordinate.",
|
|
"type": "integer"
|
|
},
|
|
"y": {
|
|
"description": "The y coordinate.",
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"description": "Human-readable name.",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"description": "Description of node, if needed.",
|
|
"type": "string"
|
|
},
|
|
"qt_connections": {
|
|
"description": "List of connected nodes",
|
|
"additionalProperties": { "$ref": "#/definitions/qt_connection" },
|
|
"propertyNames": {
|
|
"$ref": "#/definitions/node_name_regex"
|
|
}
|
|
},
|
|
"walk_connections": {
|
|
"description": "List of connected nodes",
|
|
"additionalProperties": { "$ref": "#/definitions/walk_connection" },
|
|
"propertyNames": {
|
|
"$ref": "#/definitions/node_name_regex"
|
|
}
|
|
}
|
|
},
|
|
"required": ["x", "y", "name", "walk_connections"],
|
|
"additionalItems": false
|
|
},
|
|
"qt_connection": {
|
|
"$comment": "A quick-travel conenction between nodes that should be evaluated first.",
|
|
"properties": {
|
|
"mode": {
|
|
"description": "The mode of the fast travel method.",
|
|
"enum": ["mageisland", "seaskipper", "tunnels", "skyship", "elevator"]
|
|
},
|
|
"cost": {
|
|
"description": "The cost in emeralds of this route",
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"unlock_lvl": {
|
|
"description": "The level this fast travel is unlocked at",
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 110
|
|
}
|
|
},
|
|
"required": ["mode", "cost", "unlock_lvl"],
|
|
"additionalItems": false
|
|
},
|
|
"walk_connection": {
|
|
"$comment": "A walking connection between two nodes",
|
|
"properties": {
|
|
"distance": {
|
|
"description": "The better disnance between two nodes, not necisarily as the crow flies. Should be used in the a* calc for distance back.",
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"weight": {
|
|
"description": "Weight value used to modulate the distance based on passability",
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"default": 1
|
|
},
|
|
"terrain_level": {
|
|
"description": "The highest level of the terain this connection passes through",
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 110
|
|
}
|
|
},
|
|
"required": ["distance", "weight", "terrain_level"],
|
|
"additionalItems": false
|
|
}
|
|
}
|
|
}
|