{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "races.json", "version": "1.6.0", "type": "object", "definitions": { "resist": { "type": "array", "items": { "oneOf": [ { "$ref": "util.json#/definitions/dataDamageType" }, { "type": "object", "properties": { "choose": { "type": "object", "properties": { "from": { "$ref": "#/definitions/resist" } }, "additionalProperties": false, "required": ["from"] } } } ] } }, "immune": { "type": "array", "items": { "oneOf": [ { "$ref": "util.json#/definitions/dataDamageType" }, { "type": "object", "properties": { "choose": { "type": "object", "properties": { "from": { "$ref": "#/definitions/immune" } }, "additionalProperties": false, "required": ["from"] } } } ] } }, "conditionImmune": { "type": "array", "items": { "oneOf": [ { "$ref": "util.json#/definitions/dataCondition" }, { "type": "object", "properties": { "choose": { "type": "object", "properties": { "from": { "$ref": "#/definitions/conditionImmune" } }, "additionalProperties": false, "required": ["from"] } } } ] } }, "subraceData": { "type": "object", "properties": { "name": { "type": "string" }, "alias": { "type": "array", "items": { "type": "string" } }, "source": { "type": "string" }, "page": { "type": "integer" }, "otherSources": { "$ref": "util.json#/definitions/otherSources" }, "ability": { "$ref": "#/definitions/abilityScores" }, "speed": { "$ref": "util.json#/definitions/speed" }, "entries": { "type": "array", "items": { "$ref": "entry.json" } }, "darkvision": { "type": "integer" }, "feats": { "type": "integer" }, "traitTags": { "oneOf": [ { "type": "array", "items": { "$ref": "#/definitions/traitTag" } }, { "type": "null" } ] }, "languageProficiencies": { "$ref": "util.json#/definitions/languageProficiencies" }, "skillProficiencies": { "$ref": "util.json#/definitions/skillProficiencies" }, "weaponProficiencies": { "$ref": "util.json#/definitions/weaponProficiencies" }, "armorProficiencies": { "$ref": "util.json#/definitions/armorProficiencies" }, "overwrite": { "description": "Map of 'property' -> true where 'property' is a property on the base race which should be overwritten by that of the subrace", "type": "object" }, "srd": { "$ref": "util.json#/definitions/srd" }, "heightAndWeight": { "oneOf": [ { "$ref": "#/definitions/heightAndWeight" }, { "type": "null" } ] }, "additionalSpells": { "oneOf": [ { "type": "null" }, { "$ref": "util.json#/definitions/additionalSpellsArray" } ] }, "resist": { "oneOf": [ { "$ref": "#/definitions/resist" }, { "type": "null" } ] }, "immune": { "oneOf": [ { "$ref": "#/definitions/immune" }, { "type": "null" } ] }, "conditionImmune": { "oneOf": [ { "$ref": "#/definitions/conditionImmune" }, { "type": "null" } ] }, "hasFluff": {"type": "boolean"}, "hasFluffImages": {"type": "boolean"} }, "additionalProperties": false }, "raceData": { "type": "object", "properties": { "name": { "type": "string" }, "alias": { "type": "array", "items": { "type": "string" } }, "source": { "type": "string" }, "page": { "type": "integer" }, "otherSources": { "$ref": "util.json#/definitions/otherSources" }, "additionalSources": { "$ref": "util.json#/definitions/additionalSources" }, "ability": { "$ref": "#/definitions/abilityScores" }, "speed": { "$ref": "util.json#/definitions/speed" }, "size": { "description": "An array of choices.", "type": "array", "items": { "type": "string", "enum": ["M", "S", "V"] } }, "entries": { "type": "array", "items": { "$ref": "entry.json" } }, "soundClip": { "$ref": "entry.json#/definitions/mediaHref" }, "subraces": { "type": "array", "items": { "$ref": "#/definitions/subraceData" } }, "darkvision": { "type": "integer" }, "feats": { "type": "integer" }, "traitTags": { "oneOf": [ { "type": "array", "items": { "$ref": "#/definitions/traitTag" } }, { "type": "null" } ] }, "languageProficiencies": { "$ref": "util.json#/definitions/languageProficiencies" }, "skillProficiencies": { "$ref": "util.json#/definitions/skillProficiencies" }, "weaponProficiencies": { "$ref": "util.json#/definitions/weaponProficiencies" }, "armorProficiencies": { "$ref": "util.json#/definitions/armorProficiencies" }, "fluff": { "description": "Homebrew use only.", "oneOf": [ { "$ref": "util.json#/definitions/fluffObject" }, { "description": "References \"raceFluff\" array items", "type": "object", "properties": { "_raceFluff": { "type": "object", "properties": { "name": { "type": "string" }, "source": { "type": "string" } } }, "_appendRaceFluff": { "type": "object", "properties": { "name": { "type": "string" }, "source": { "type": "string" } } } } } ] }, "srd": { "$ref": "util.json#/definitions/srd" }, "heightAndWeight": { "oneOf": [ { "$ref": "#/definitions/heightAndWeight" }, { "type": "null" } ] }, "additionalSpells": { "$ref": "util.json#/definitions/additionalSpellsArray" }, "resist": { "$ref": "#/definitions/resist" }, "immune": { "$ref": "#/definitions/immune" }, "conditionImmune": { "$ref": "#/definitions/conditionImmune" }, "lineage": { "type": "string", "enum": ["UA1", "UA2"] }, "creatureTypes": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "choose": { "type": "array", "items": { "$ref": "util.json#/definitions/creatureType" } } }, "required": ["choose"], "additionalProperties": false }, { "$ref": "util.json#/definitions/creatureType" } ] } }, "hasFluff": {"type": "boolean"}, "hasFluffImages": {"type": "boolean"} }, "additionalProperties": false }, "traitTag": { "type": "string", "enum": [ "Amphibious", "Blindsight", "Dragonmark", "Improved Resting", "Magic Resistance", "Monstrous Race", "Natural Armor", "NPC Race", "Powerful Build", "Sunlight Sensitivity", "Tool Proficiency", "Unarmed Strike", "Uncommon Race" ] }, "abilityScores": { "type": "array", "items": { "type": "object", "properties": { "str": { "type": "integer" }, "dex": { "type": "integer" }, "con": { "type": "integer" }, "int": { "type": "integer" }, "wis": { "type": "integer" }, "cha": { "type": "integer" }, "choose": { "type": "object", "properties": { "from": { "type": "array", "items": { "enum": ["str", "dex", "con", "int", "wis", "cha"] }, "uniqueItems": true }, "count": { "type": "integer" }, "amount": { "type": "integer" }, "weighted": { "type": "object", "properties": { "from": { "type": "array", "items": { "enum": ["str", "dex", "con", "int", "wis", "cha"] }, "uniqueItems": true }, "weights": { "type": "array", "items": { "type": "integer" } } } } } } } } }, "heightAndWeight": { "type": "object", "properties": { "baseHeight": {"type": "integer"}, "heightMod": {"type": "string"}, "baseWeight": {"type": "integer"}, "weightMod": {"type": "string"} }, "required": [ "baseHeight", "heightMod", "baseWeight" ], "additionalProperties": false }, "race": { "anyOf": [ { "type": "object", "$$merge": [ { "$ref": "#/definitions/raceData" }, { "required": [ "name", "source" ] } ] }, { "type": "object", "$$merge": [ { "$ref": "#/definitions/raceData" }, { "$ref": "util.json#/definitions/copyBlock" } ] } ] } }, "properties": { "race": { "type": "array", "items": { "$ref": "#/definitions/race" } }, "_meta": { "$ref": "util.json#/definitions/metaBlock" } }, "additionalProperties": false }