| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219 |
- {
- "$schema": "http://json-schema.org/draft-06/schema#",
- "properties": {
- "name": {"type": "string"},
- "player": {"type": "string"},
- "classes": {
- "items": {
- "properties": {
- "level": {"type": "integer", "minimum": 1},
- "name": {"type": "string"},
- "spellBook": {"$ref": "file:spellbook.json#"}
- },
- "type": "object"
- },
- "type": "array"
- },
- "race": {"type": "string"},
- "alignment": {
- "type": "string",
- "enum": [
- "LG", "NG", "CG", "LN", "TN", "CN", "LE", "NE", "CE"
- ]
- },
- "deity": {"type": "string"},
- "size": {
- "type": "string",
- "enum": [
- "F", "D", "T", "S", "M", "L", "H", "G", "C"
- ]
- },
- "age": {"type": "string"},
- "gender": {"type": "string", "enum": ["M", "F", "N"]},
- "height": {"type": "string"},
- "weight": {"type": "number"},
- "eyes": {"type": "string"},
- "hair": {"type": "string"},
- "skin": {"type": "string"},
- "experience": {"type": "integer"},
- "health": {
- "properties": {
- "total": {"type": "integer", "minimum": 1},
- "rolled": {"type": "integer", "minimum": 1},
- "current": {"type": "integer", "minimum": -10},
- "temp": {"type": "integer", "minimum": 0},
- "nonlethal": {"type": "integer", "minimum": 0}
- },
- "type":"object"
- },
- "abilities": {
- },
- "skills": {
- "items": {
- "properties": {
- "name": {"type": "string"},
- "ranks": {"type": "integer"},
- "pointsSpent": {"type": "integer"}
- },
- "type": "object"
- },
- "type": "array"
- },
- "inventory": {
- "properties": {
- "items": {
- "items": {
- "properties": {
- "name": {"type": "string"},
- "count": {"type": "integer", "minimum": 1},
- "countEquipped": {"type": "integer", "minimum": 0},
- "value": {"$ref": "#/definitions/money"},
- "page": {"type": "string"},
- "slot": {
- "type": "string",
- "enum": [
- "HEAD",
- "FACE",
- "NECK",
- "TORSO",
- "BODY",
- "WAIST",
- "SHOULDER",
- "ARM",
- "HAND",
- "RING",
- "FEET",
- "MAIN_HAND",
- "OFF_HAND",
- "ONE_HAND",
- "TWO_HANDS"
- ]
- },
- "weight": {"type": "number"},
- "weapon": {
- "dependencies":{
-
- },
- "properties": {
- "attackBonus": {"type": "integer"},
- "damageBonus": {"type": "integer"},
- "damage": {"type": "string"},
- "secondaryDamage": {"type": "string"},
- "criticalThreat": {"type": "integer", "maximum": 20},
- "criticalDamage": {"type": "integer", "minimum": 2},
- "secondaryCriticalDamage": {"type": "integer", "minimum": 2},
- "range": {
- "type": "string"
- },
- "type": {
- "type": "string",
- "enum": [
- "Slashing",
- "Piercing",
- "Bludgeoning"
- ]
- }
- },
- "required": [
- "damage",
- "type",
- "range",
- "criticalThreat",
- "criticalDamage"
- ],
- "type": "object"
- },
- "armor": {
- "properties": {
- "bonus": {"type": "integer", "minimum": 0},
- "type": {
- "type": "string",
- "enum": ["Light", "Medium", "Heavy"]
- },
- "maxDex": {"type": "integer", "minimum": 0},
- "checkPenalty": {"type": "integer", "maximum": 0},
- "spellFailure": {"type": "integer", "minimum": 0, "maximum": 100},
- "speed": {"type": "integer"}
- },
- "type": "object"
- }
- },
- "oneOf": [
- {
- "properties": {
- "slot": {"enum": ["BODY", "OFF_HAND"]}
- },
- "required": [
- "armor"
- ]
- },
- {
- "properties": {
- "slot": {
- "enum": [
- "MAIN_HAND",
- "OFF_HAND",
- "ONE_HAND",
- "TWO_HANDS"
- ]
- }
- },
- "required": [
- "weapon"
- ]
- },
- {
- "not": {
- "properties": {
- "weapon": {},
- "armor": {}
- }
- }
- }
- ],
- "required": [
- "name",
- "count",
- "value",
- "weight"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "equipment": {
- "properties": {
- "HEAD": {"type": "string"},
- "FACE": {"type": "string"},
- "NECK": {"type": "string"},
- "TORSO": {"type": "string"},
- "BODY": {"type": "string"},
- "WAIST": {"type": "string"},
- "SHOULDER": {"type": "string"},
- "ARM": {"type": "string"},
- "HAND": {"type": "string"},
- "RING1": {"type": "string"},
- "RING2": {"type": "string"},
- "FEET": {"type": "string"},
- "MAIN_HAND": {"type": "string"},
- "OFF_HAND": {"type": "string"}
- },
- "type": "object"
- }
- },
- "type": "object"
- }
- },
- "definitions": {
- "money": {
- "properties": {
- "pp": {"type": "integer", "minimum": 0},
- "gp": {"type": "integer", "minimum": 0},
- "sp": {"type": "integer", "minimum": 0},
- "cp": {"type": "integer", "minimum": 0}
- },
- "type": "object"
- }
- },
- "type": "object"
- }
|