Skip to content

TaskType JSON Schema

Tyler Hardy edited this page Feb 13, 2022 · 9 revisions

Spec

Purpose: To create schema in task-json-store that represent task type metadata and filter metadata. Task type metadata would include target varbits and filters. Filter metadata would include type, and filter properties on tasks.

Proposed Task Type Metadata JSON

[
  {
    "name": "League III: Shattered Relics",
    "slug": "LEAGUE_3",
    "varbits": [123, 456, 789],
    "filters": ["Skill", "Tier_League3"],
    "enabled": false
  },
  {
    "name": "Combat Achievements",
    "slug": "COMBAT",
    "varbits": [987, 654, 321],
    "filters": ["Skill", "Tier_Combat"],
    "enabled": true
  }
]

Proposed Filter Metadata JSON

[
  {
    "name": "Skill",
    "uiType": "button-panel", // types TBD
    "options": {}, // additional properties pertaining to the 'type' control render & behavior
    "values": [
      {
        "name": "Attack",
        "spriteId": 1234,
        "value": 0 // can be whatever the plugin requires; i.e. skills could be the enum ordinal value, or text... tier will have to be text
      },
      {
        "name": "Strength",
        "spriteId": 1235,
        "value": 1
      }
    ]
  },
  {
    "name": "Tier_League3", // Mutations of the same "type" can just be represented as a different filter type
    "uiType": "button-panel",
    "options": {},
    "values": []
  },
  {
    "name": "Tier_Combat", // See above re: mutations
    "uiType": "button-panel",
    "options": {},
    "values": []
  }
]
Clone this wiki locally