|
|
@@ -7,7 +7,7 @@
|
|
|
"name": {"type": "string"},
|
|
|
"count": {"type": "integer", "minimum": 1},
|
|
|
"countEquipped": {"type": "integer", "minimum": 0},
|
|
|
- "value": {"$ref": "#/definitions/money"},
|
|
|
+ "value": {"$ref": "file:common.json#/definitions/money"},
|
|
|
"page": {"type": "string"},
|
|
|
"slot": {
|
|
|
"allOf":[
|
|
|
@@ -20,14 +20,14 @@
|
|
|
"oneOf": [
|
|
|
{
|
|
|
"properties": {
|
|
|
- "weapon": {"$ref": "#/definitions/weapon"},
|
|
|
+ "weapon": {"$ref": "file:weapon.json#"},
|
|
|
"armor": false
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
"properties": {
|
|
|
"weapon": false,
|
|
|
- "armor": {"$ref": "#/definitions/armor"}
|
|
|
+ "armor": {"$ref": "file:armor.json#"}
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
@@ -50,7 +50,7 @@
|
|
|
"$ref": "#/definitions/loadout"
|
|
|
}
|
|
|
},
|
|
|
- "wealth": {"$ref": "#/definitions/money"}
|
|
|
+ "wealth": {"$ref": "file:common.json#/definitions/money"}
|
|
|
},
|
|
|
"definitions": {
|
|
|
"loadout": {
|
|
|
@@ -84,117 +84,6 @@
|
|
|
"ONE_HAND",
|
|
|
"TWO_HANDS"
|
|
|
]
|
|
|
- },
|
|
|
- "enchantable": {
|
|
|
- "bonus": {
|
|
|
- "type": "string",
|
|
|
- "enum": [
|
|
|
- "+1", "+2", "+3", "+4", "+5"
|
|
|
- ]
|
|
|
- },
|
|
|
- "properties": {
|
|
|
- "masterwork": {"type": "boolean"},
|
|
|
- "bonus": {"$ref": "#/definitions/enchantable/bonus"},
|
|
|
- "enchantments": {
|
|
|
- "items": {
|
|
|
- "oneOf": [
|
|
|
- {
|
|
|
- "properties": {
|
|
|
- "name": {"type": "string"},
|
|
|
- "effectiveBonus": {"$ref": "#/definitions/enchantable/bonus"}
|
|
|
- },
|
|
|
- "required": ["name", "effectiveBonus"],
|
|
|
- "type": "object"
|
|
|
- },
|
|
|
- {
|
|
|
- "properties": {
|
|
|
- "name": {"type": "string"},
|
|
|
- "adHocValue": {"$ref": "#/definitions/money"}
|
|
|
- },
|
|
|
- "required": ["name", "adHocValue"],
|
|
|
- "type": "object"
|
|
|
- }
|
|
|
- ]
|
|
|
- },
|
|
|
- "type": "array"
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "weapon": {
|
|
|
- "allOf": [
|
|
|
- {"$ref": "#/definitions/enchantable"},
|
|
|
- {
|
|
|
- "dependencies":{
|
|
|
- "secondaryCriticalDamage": ["secondaryDamage"]
|
|
|
- },
|
|
|
- "properties": {
|
|
|
- "damage": {"type": "string"},
|
|
|
- "secondaryDamage": {"type": "string"},
|
|
|
- "criticalThreat": {"type": "integer", "maximum": 20},
|
|
|
- "criticalDamage": {"type": "integer", "minimum": 2},
|
|
|
- "secondaryCriticalDamage": {"type": "integer", "minimum": 2},
|
|
|
- "range": {
|
|
|
- "oneOf": [
|
|
|
- {"type": "string", "const":"Melee"},
|
|
|
- {"$ref": "file:common.json#/definitions/distance"}
|
|
|
- ]
|
|
|
- },
|
|
|
- "type": {
|
|
|
- "type": "string",
|
|
|
- "enum": [
|
|
|
- "Slashing",
|
|
|
- "Piercing",
|
|
|
- "Bludgeoning"
|
|
|
- ]
|
|
|
- }
|
|
|
- },
|
|
|
- "required": [
|
|
|
- "damage",
|
|
|
- "type",
|
|
|
- "range",
|
|
|
- "criticalThreat",
|
|
|
- "criticalDamage"
|
|
|
- ],
|
|
|
- "type": "object"
|
|
|
- }
|
|
|
- ]
|
|
|
- },
|
|
|
- "armor": {
|
|
|
- "allOf": [
|
|
|
- {"$ref": "#/definitions/enchantable"},
|
|
|
- {
|
|
|
- "dependencies": {
|
|
|
- "speed": {"properties": {"type": {"not": {"const": "Shield"}}}}
|
|
|
- },
|
|
|
- "properties": {
|
|
|
- "acBonus": {"type": "integer", "minimum": 0},
|
|
|
- "type": {
|
|
|
- "type": "string",
|
|
|
- "enum": ["Light", "Medium", "Heavy", "Shield"]
|
|
|
- },
|
|
|
- "maxDex": {"type": "integer", "minimum": 0},
|
|
|
- "checkPenalty": {"type": "integer", "maximum": 0},
|
|
|
- "spellFailure": {"type": "integer", "minimum": 0, "maximum": 100},
|
|
|
- "speed": {"type": "integer"}
|
|
|
- },
|
|
|
- "required": [
|
|
|
- "bonus",
|
|
|
- "type",
|
|
|
- "checkPenalty",
|
|
|
- "spellFailure"
|
|
|
- ],
|
|
|
- "type": "object"
|
|
|
- }
|
|
|
- ]
|
|
|
- },
|
|
|
- "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",
|