{
  "schemaVersion": "adventure-draft/v1",
  "sourceAdventureId": "orbiting-buffet-audit",
  "characters": [
    {
      "id": "zqx",
      "name": "Глитч Терминал-7",
      "role": "Главный метролог станции",
      "motivation": "Хочет сохранить свою должность любой ценой",
      "visibility": {
        "kind": "public"
      }
    },
    {
      "id": "rty",
      "name": "Борт-ассистент Луми",
      "role": "Помощник аудитора",
      "motivation": "Тайно подкладывает жалобы, чтобы сорвать стыковку",
      "visibility": {
        "kind": "players",
        "playerIds": [
          "gm"
        ]
      }
    },
    {
      "id": "abc",
      "name": "Шеф-повар Кварк-12",
      "role": "Управляющий буфетом",
      "motivation": "Гордится своей кухней и боится позора",
      "visibility": {
        "kind": "public"
      }
    }
  ],
  "storyFacts": [
    {
      "id": "fct1",
      "statement": "Все блюда буфета имеют нулевую гравитационную подпись в документах.",
      "visibility": {
        "kind": "public"
      }
    },
    {
      "id": "fct2",
      "statement": "Одна порция «Космического желе» имеет аномальную массу и создаёт ложный сигнал тревоги.",
      "visibility": {
        "kind": "players",
        "playerIds": [
          "gm"
        ]
      }
    },
    {
      "id": "fct3",
      "statement": "Секретный доклад гласит, что жалоба подложена ассистентом для отвлечения аудитора.",
      "visibility": {
        "kind": "players",
        "playerIds": [
          "gm"
        ]
      }
    },
    {
      "id": "fct4",
      "statement": "Стыковка ланч-саммита произойдёт через 20 минут.",
      "visibility": {
        "kind": "public"
      }
    }
  ],
  "clocks": [
    {
      "id": "clk1",
      "label": "Время до стыковки саммита",
      "segments": 4,
      "initialValue": 3,
      "advanceSignals": "Каждая неудачная проверка гравитации добавляет к напряжению — двигаем отметку; также когда игроки отвлекаются на второстепенные вопросы.",
      "whenFull": "Стыковка происходит, буфет признаётся небезопасным — саммит срывается."
    }
  ],
  "scenes": [
    {
      "id": "scn1",
      "kind": "opening",
      "title": "Вход в буфет «Орбитальная тарелка»",
      "summary": "Команда прибывает на станцию. Повсюду летают тарелки и столовые приборы. Глитч встречает их панически, Кварк настаивает, что всё идеально, а Луми подозрительно тихо строчит в планшет.",
      "locationId": "buf1",
      "participantIds": [
        "zqx",
        "rty",
        "abc"
      ],
      "requiredFactIds": [
        "fct1",
        "fct4"
      ],
      "exits": [
        {
          "id": "ex1a",
          "outcome": "success",
          "nextSceneId": "scn2",
          "consequences": "Команда замечает несоответствие: документы говорят о нулевой гравитации, но одна тарелка с желе падает вниз — начинается расследование.",
          "failForward": false
        },
        {
          "id": "ex1b",
          "outcome": "failure",
          "nextSceneId": "scn2",
          "consequences": "Команда cразу хватается за первую попавшуюся аномалию (например, застывший соус). Внимание смещается, но часы ускоряются. Потеря одной отметки на шкале времени.",
          "failForward": true
        }
      ]
    },
    {
      "id": "scn2",
      "kind": "challenge",
      "title": "Лаборатория гравитационных парадоксов",
      "summary": "Игроки анализируют аномалии. Необходимо опросить Глитча (он даст данные спектрометра), Кварка (он покажет рецептуру), а также проверить терминал Луми, где прячется подложная жалоба.",
      "locationId": "lab2",
      "participantIds": [
        "zqx",
        "rty",
        "abc"
      ],
      "requiredFactIds": [
        "fct2",
        "fct3"
      ],
      "exits": [
        {
          "id": "ex2a",
          "outcome": "success",
          "nextSceneId": "scn3",
          "consequences": "Команда выявляет ложную жалобу и корректирует гравитационный баланс желе. Время сохранено.",
          "failForward": false
        },
        {
          "id": "ex2b",
          "outcome": "failure",
          "nextSceneId": "scn3",
          "consequences": "Вскрытие жалобы только раздувает скандал — желе объявлено опасным, но команда получает достаточно информации, чтобы попытаться спасти ситуацию на финальном осмотре. Часы продвигаются на одну отметку.",
          "failForward": true
        }
      ]
    },
    {
      "id": "scn3",
      "kind": "finale",
      "title": "Финальная проверка перед стыковкой",
      "summary": "Вся станция на ушах. Прибывает инспектор из делегации. Надо в последний раз подтвердить безопасность и предъявить истинную причину сбоя — либо свалив всё на Луми, либо списав на технический баг. Выбор определяет финал.",
      "locationId": "dck1",
      "participantIds": [
        "zqx",
        "rty",
        "abc"
      ],
      "requiredFactIds": [
        "fct4"
      ],
      "exits": [
        {
          "id": "ex3a",
          "outcome": "success",
          "endingId": "endW",
          "consequences": "Команда чётко докладывает: виновата подложная жалоба ассистента, буфет безопасен. Стыковка проходит успешно, все довольны.",
          "failForward": false
        },
        {
          "id": "ex3b",
          "outcome": "failure",
          "endingId": "endL",
          "consequences": "Команда решает умолчать о роли Луми и списать всё на случайную гравитационную рябь. Буфет временно закрывают, но саммит переносят на орбиту — миссия частично провалена, репутация подмочена.",
          "failForward": true
        }
      ]
    }
  ],
  "endings": [
    {
      "id": "endW",
      "label": "Буфет спасён",
      "summary": "Инспектор принимает отчёт. Луми арестовывают за диверсию. Кварк накрывает праздничный стол, Глитч вздыхает с облегчением. Ланч-саммит проходит с комфортом."
    },
    {
      "id": "endL",
      "label": "Всё шито-крыто, но осадок остался",
      "summary": "Саммит перенесён на подстраховочную орбитальную платформу. Буфет закрыт на «техобслуживание». Глитч на грани увольнения, Кварк в ярости. Луми остаётся безнаказанным, но команда спасла лицо — хоть и с изъяном."
    }
  ],
  "improvisation": {
    "allowed": true,
    "prohibitedAdditions": "NEVER_INCLUDE_SENTINEL_9J7K, graphic violence, sexual content, borrowed IP"
  }
}