muffin v7.4.12

This commit is contained in:
alydev 2026-02-27 22:50:51 +10:00
parent e3e5a401c3
commit 0f9f445830
38 changed files with 13646 additions and 10442 deletions

View file

@ -0,0 +1,177 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main/FatePaths/fatedefinition-v1.json",
"title": "FATE Definition V1",
"description": "A FATE farming definition",
"type": "object",
"properties": {
"$schema": {
"type": "string",
"const": "https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main/FatePaths/fatedefinition-v1.json"
},
"Name": {
"description": "Display name of the FATE",
"type": "string"
},
"Description": {
"description": "Description of the FATE activity",
"type": "string"
},
"TerritoryId": {
"description": "Territory ID where the FATE takes place",
"type": "integer",
"minimum": 1
},
"Aetheryte": {
"description": "Nearest aetheryte for teleporting",
"$ref": "https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main/Questionable.Model/common-aetheryte.json"
},
"Position": {
"description": "Position to navigate to for the FATE",
"$ref": "https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main/Questionable.Model/common-vector3.json"
},
"Targets": {
"description": "List of FATE targets and actions to perform on them",
"type": "array",
"items": {
"type": "object",
"properties": {
"DataId": {
"type": "integer",
"minimum": 1
},
"Action": {
"type": "string"
}
},
"required": [
"DataId",
"Action"
],
"additionalProperties": false
},
"minItems": 1
},
"RequiredStatusId": {
"description": "Status effect required to participate in the FATE",
"type": "string"
},
"TransformNpcDataId": {
"description": "NPC to interact with to obtain the required status",
"type": "integer",
"minimum": 1
},
"TransformNpcPosition": {
"description": "Position of the transform NPC",
"$ref": "https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main/Questionable.Model/common-vector3.json"
},
"EventExpiry": {
"description": "If this is a seasonal/event FATE, the date and time (in UTC) when it is no longer available. Date-only values are treated as ending at daily reset (14:59:59 UTC).",
"format": "date-time",
"type": [
"string",
"null"
]
},
"TransformDialogueChoices": {
"description": "Dialogue choices when interacting with the transform NPC",
"type": "array",
"items": {
"type": "object",
"properties": {
"Type": {
"type": "string",
"enum": [
"YesNo",
"List"
]
},
"ExcelSheet": {
"type": "string"
}
},
"required": [
"Type"
],
"allOf": [
{
"if": {
"properties": {
"Type": {
"const": "YesNo"
}
}
},
"then": {
"properties": {
"Prompt": {
"type": [
"string",
"integer"
]
},
"PromptIsRegularExpression": {
"type": "boolean"
},
"Yes": {
"type": "boolean",
"default": true
}
},
"required": [
"Prompt",
"Yes"
]
}
},
{
"if": {
"properties": {
"Type": {
"const": "List"
}
}
},
"then": {
"properties": {
"Prompt": {
"type": [
"string",
"integer",
"null"
]
},
"PromptIsRegularExpression": {
"type": "boolean"
},
"Answer": {
"type": [
"string",
"integer"
]
},
"AnswerIsRegularExpression": {
"type": "boolean"
}
},
"required": [
"Prompt",
"Answer"
]
}
}
]
}
}
},
"required": [
"$schema",
"Name",
"Description",
"TerritoryId",
"Aetheryte",
"Position",
"Targets"
],
"additionalProperties": false
}