{ "$schema": "http://json-schema.org/draft-06/schema#", "properties": { "items": { "items": { "properties": { "name": {"type": "string"}, "count": {"type": "integer", "minimum": 1}, "countEquipped": {"type": "integer", "minimum": 0}, "value": {"$ref": "file:common.json#/definitions/money"}, "page": {"type": "string"}, "slot": { "allOf":[ {"$ref": "#/definitions/slot"}, {"not": {"enum": ["RING1", "RING2"]}} ] }, "weight": {"type": "number"} }, "oneOf": [ { "properties": { "weapon": {"$ref": "file:weapon.json#"}, "armor": false } }, { "properties": { "weapon": false, "armor": {"$ref": "file:armor.json#"} } }, { "properties": {"weapon": false, "armor": false} } ], "required": [ "name", "count", "value", "weight" ], "type": "object" }, "type": "array" }, "equipment": {"$ref": "#/definitions/loadout"}, "favorites": { "additionalProperties": { "$ref": "#/definitions/loadout" } }, "wealth": {"$ref": "file:common.json#/definitions/money"} }, "definitions": { "loadout": { "propertyNames": {"$ref": "#/definitions/slot"}, "properties": { "RING": false, "ONE_HAND": false, "TWO_HANDS": false }, "additionalProperties": {"type": "string"}, "type": "object" }, "slot": { "type": "string", "enum": [ "HEAD", "FACE", "NECK", "TORSO", "BODY", "WAIST", "SHOULDER", "ARM", "HAND", "RING", "RING1", "RING2", "FEET", "MAIN_HAND", "OFF_HAND", "ONE_HAND", "TWO_HANDS" ] } }, "type": "object", "additionalProperties": false }