{
  "format": "keyrota-rotation",
  "version": 1,
  "title": "Проверка синтаксиса: все условия и флаги",
  "specID": 0,
  "ignoreMainIcon": true,
  "enemies": {"range": 8, "combatOnly": true},
  "notes": [
    "Образец синтаксиса, а не ротация для боя: ID заклинаний не заданы (0).",
    "В нём все виды условий, все флаги слотов, ссылки по номерам и правило без условий."
  ],
  "resources": ["PlayerHP", "TargetHP", "Energy", "Combo_Points"],
  "auras": [
    {"n": 1, "alias": "Dot", "label": "Дебаф на цели", "spell": 0, "note": "аура 1"},
    {"n": 2, "alias": "Proc", "label": "Баф со стопками", "spell": 0}
  ],
  "slots": [
    {"n": 1, "alias": "Manual_Button", "label": "Жмёте только вы (M)", "spell": 0, "manual": true},
    {"n": 2, "alias": "Charges_Spell", "label": "Заклинание с зарядами", "spell": 0},
    {"n": 3, "alias": "Glow_Spell", "label": "Заклинание с подсветкой кнопки", "spell": 0},
    {"n": 4, "alias": "Off_Gcd", "label": "Вне GCD (O)", "spell": 0, "offGcd": true},
    {
      "n": 5,
      "alias": "Queued_Macro",
      "label": "Вне GCD в окне очереди (OQ)",
      "spell": 0,
      "offGcd": true,
      "queue": true
    },
    {"n": 6, "alias": "Channel_Spell", "label": "Канал (C)", "spell": 0, "channel": true},
    {"n": 7, "alias": "Burst_Spell", "label": "Кулдаун по кнопке Burst", "spell": 0},
    {
      "n": 8,
      "alias": "Ground_Spell",
      "label": "Заклинание с выбором места на земле (макрос @player)",
      "spell": 0
    },
    {"n": 9, "alias": "Defensive", "label": "Защитная способность", "spell": 0, "show": "combat"},
    {"n": 10, "alias": "Filler", "label": "Заполнитель", "spell": 0}
  ],
  "rules": [
    {"use": "Manual_Button", "name": "1: без условий, слот M (пропускается)"},
    {
      "use": "Defensive",
      "name": "2: здоровье и переключатель защиты",
      "when": [{"all": ["defensives == 1", "PlayerHP <= 35"]}]
    },
    {
      "use": "Charges_Spell",
      "name": "3: заряды",
      "when": [
        {"all": ["Charges_Spell.charges >= 2"], "comment": "оба заряда"},
        {"all": ["Charges_Spell.charges == 1", "Charges_Spell.cd <= 20"], "comment": "второй почти готов"}
      ]
    },
    {
      "use": "Glow_Spell",
      "name": "4: подсветка и дистанция",
      "when": [{"all": ["Glow_Spell.glow", "target.distance <= 8"]}]
    },
    {"use": "Off_Gcd", "name": "5: стопки", "when": [{"all": ["Proc.up", "Proc.stacks >= 3"]}]},
    {
      "use": "Queued_Macro",
      "name": "6: ауры нет и число врагов",
      "when": [{"all": ["Proc.down", "enemies >= 2"]}]
    },
    {
      "use": "Channel_Spell",
      "name": "7: без подсветки, готов, движение",
      "when": [{"all": ["Glow_Spell.noglow", "Channel_Spell.ready", "movement == 0"]}]
    },
    {
      "use": "slot7",
      "name": "8: Burst в режиме «Авто» или режим «Одна» на 3+",
      "when": [
        {"all": ["cd == 1", "aoe == 0", "st == 0", "Combo_Points >= 50", "Off_Gcd.oncd"]},
        {"all": ["st == 1", "enemies >= 3", "resource3 >= 40"]}
      ]
    },
    {
      "use": "Ground_Spell",
      "name": "9: переключатель «Наземные» и режим «Много»",
      "when": [{"all": ["ground_spells == 1", "aoe == 1"]}]
    },
    {
      "use": "Filler",
      "name": "10: обновление дота по номеру, здоровье цели",
      "when": [
        {"all": ["buff1.down", "TargetHP >= 50"]},
        {"all": ["Dot.up and Dot.duration <= 30"], "comment": "два условия в одной строке"},
        {"all": ["Combo_Points<65", "Energy>=30"], "comment": "пробелы вокруг операторов необязательны"}
      ]
    }
  ],
  "footer": ["Конец образца синтаксиса."]
}
