{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "description": "A Project Zomboid Trait",
  "properties": {
    "condition": {
      "$ref": "../schema/condition.json"
    },
    "cost": {
      "description": "The point cost of this trait",
      "type": "integer"
    },
    "description_key": {
      "description": "The lang key for this trait's description",
      "type": "string"
    },
    "free_recipes": {
      "description": "A list of recipe names",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "icon_path": {
      "description": "The path to the icon for this trait",
      "type": [
        "null",
        "string"
      ]
    },
    "is_disabled_in_mp": {
      "description": "Whether this trait should be disabled in multiplayer",
      "type": "boolean"
    },
    "is_profession_trait": {
      "description": "Whether this trait is locked to a profession and hidden from the list",
      "type": "boolean"
    },
    "is_sleep_trait": {
      "description": "Whether this trait should be disabled when sleep is disabled",
      "type": "boolean"
    },
    "name_key": {
      "description": "The lang key for this trait's name",
      "type": "string"
    },
    "shortcut": {
      "description": "A unique integer identifying this trait, used for preset urls",
      "type": "integer"
    },
    "xp_boosts": {
      "additionalProperties": {
        "type": "integer"
      },
      "description": "A table of skills and the XP boosts associated with them",
      "type": "object"
    }
  },
  "required": [
    "name_key",
    "description_key",
    "shortcut",
    "icon_path",
    "cost"
  ],
  "title": "Trait",
  "type": "object"
}