{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "NPC Template Definitions", "type": "object", "additionalProperties": false, "required": ["schemaVersion", "npcTemplates"], "properties": { "schemaVersion": { "type": "integer", "minimum": 1 }, "npcTemplates": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": [ "id", "name", "description", "title", "faction", "spriteId", "defaultDialogueId", "shopInventoryId", "lootTableId", "abilities", "passiveAbilities", "flags" ], "properties": { "id": { "type": "string", "minLength": 1 }, "name": { "type": "string", "minLength": 1 }, "description": { "type": "string" }, "title": { "type": "string" }, "faction": { "type": "string" }, "spriteId": { "type": "string" }, "defaultDialogueId": { "type": "string" }, "shopInventoryId": { "type": "string" }, "lootTableId": { "type": "string" }, "abilities": { "type": "array", "items": { "type": "string" } }, "passiveAbilities": { "type": "array", "items": { "type": "string" } }, "flags": { "type": "array", "items": { "type": "string" } } } } } } }