Worldshaper/Release/content/schema/quests.schema.json
2026-06-26 18:18:14 -04:00

104 lines
2.7 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Quest Definitions",
"type": "object",
"additionalProperties": false,
"required": ["schemaVersion", "quests"],
"properties": {
"schemaVersion": {
"type": "integer",
"minimum": 1
},
"quests": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": ["questId", "name", "steps", "requirements", "reward"],
"properties": {
"questId": {
"type": "integer",
"minimum": 1
},
"name": {
"type": "string",
"minLength": 1
},
"currentStepId": {
"type": "string"
},
"completionState": {
"type": "string"
},
"steps": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": ["id", "name", "conditionType", "conditionValue"],
"properties": {
"stepID": {
"type": "integer",
"minimum": 1
},
"id": {
"type": "string",
"minLength": 1
},
"name": {
"type": "string",
"minLength": 1
},
"conditionType": {
"type": "string",
"minLength": 1
},
"conditionValue": {
"type": "string"
}
}
}
},
"requirements": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": ["conditionType", "conditionValue"],
"properties": {
"conditionType": {
"type": "string",
"minLength": 1
},
"conditionValue": {
"type": "string"
}
}
}
},
"reward": {
"type": "object",
"additionalProperties": false,
"required": ["xp", "gold", "enabledConditions"],
"properties": {
"xp": {
"type": "integer",
"minimum": 0
},
"gold": {
"type": "integer",
"minimum": 0
},
"enabledConditions": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
}
}
}
}