165 lines
3.0 KiB
JSON
165 lines
3.0 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "WeaponDef",
|
|
"type": "object",
|
|
"required": [
|
|
"behavior",
|
|
"cooldown",
|
|
"damage",
|
|
"id",
|
|
"name",
|
|
"speed",
|
|
"target"
|
|
],
|
|
"properties": {
|
|
"art": {
|
|
"default": null,
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/definitions/Art"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"behavior": {
|
|
"$ref": "#/definitions/WeaponBehavior"
|
|
},
|
|
"cooldown": {
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
"damage": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"legacy": {
|
|
"default": null,
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"offsets": {
|
|
"default": [],
|
|
"type": "array",
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"maxItems": 2,
|
|
"minItems": 2
|
|
}
|
|
},
|
|
"script": {
|
|
"default": null,
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"speed": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"target": {
|
|
"$ref": "#/definitions/Target"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"definitions": {
|
|
"Art": {
|
|
"type": "object",
|
|
"required": [
|
|
"logical_height",
|
|
"logical_width"
|
|
],
|
|
"properties": {
|
|
"asset": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
"frames": {
|
|
"default": 1,
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
"hd_png": {
|
|
"default": null,
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"logical_height": {
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
"logical_width": {
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
"nearest": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"png": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"Target": {
|
|
"type": "string",
|
|
"enum": [
|
|
"air",
|
|
"ground",
|
|
"all"
|
|
]
|
|
},
|
|
"WeaponBehavior": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"straight",
|
|
"homing",
|
|
"beam",
|
|
"spread",
|
|
"bomb",
|
|
"energy_grab"
|
|
]
|
|
},
|
|
{
|
|
"description": "Fire through on_fire only, without an automatic engine projectile.",
|
|
"type": "string",
|
|
"enum": [
|
|
"scripted"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
} |