Files
RustRaptor/schemas/weapon-projectile-v1.json
T

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"
]
}
]
}
}
}