Перейти к содержанию

Статусы квестов и задач

У квеста и его задач есть небольшой набор состояний: квест выдают, его проходят, он завершается одним из трёх исходов. Эта страница — про саму модель состояний и про словарь, которым их называют: что значит каждый статус и как его прочитать командой.

Жизненный цикл квеста

Как только квест выдан игроку, он отслеживается (tracked) — попадает в книгу и числится за игроком. Отслеживаемый квест проходит две фазы:

  • активен (active) — ещё не завершён, прогресс считается;
  • завершён (complete) — есть итог, прогресс больше не меняется.
tracked — квест выдан игроку
├── active — проходится, прогресс считается
│   └── pinned — закреплён в HUD
└── complete — есть итог, прогресс заморожен
    ├── success — успех
    └── failure — провал

Завершённый квест заморожен. Его статус и прогресс больше не меняются, и правки самого квеста на него не действуют — у того, кто уже его прошёл, он остаётся таким, каким завершился. Почему правка квеста меняет тех, кто проходит сейчас, но не тех, кто завершил, — в Активный этап.


Два исхода

Завершённый квест всегда в одном из двух итогов:

  • success — успех: все обязательные задачи завершены (успешно или пропущены).
  • failure — провал: хотя бы одна обязательная задача провалена. Квест завершается немедленно, не дожидаясь остальных.

Пропуск всех обязательных задач командой /quest complete ... skip тоже даёт success, а не отдельный статус. Пропуск описывает исход конкретной задачи, но не квеста целиком.

Итог считается по обязательным задачам этапов — необязательные на него не влияют. Как из этапов и задач складывается прохождение — в Структура квеста.


Закрепление — отдельное измерение

pinned — не фаза жизненного цикла, а пометка видимости поверх неё: закреплённый квест показан в HUD на экране. Закрепить можно только активный квест; при завершении он из HUD уходит. На то, как считаются условия, закрепление не влияет — только на то, что игрок видит перед собой. Подробно — в Закрепление.


Статусы задачи

У задачи тот же набор состояний, что у квеста. Задача активна (active), пока она в активном этапе и ещё не выполнена; задачи будущих и пройденных этапов не активны. Когда задача выполняется, она становится завершённой с тем же исходом — success, failure или skipped. Закрепить (pinned) можно активную задачу — в HUD она поднимается наверх блока.


Как прочитать статус командой

Статус — это читаемое состояние: его проверяют командой (quest test, /execute if quest) и фильтруют им список квестов игрока (quest list trackedby). Что каждая команда принимает и возвращает — в Справочник команд; как вплести статус в командную логику — в Интеграция с командами.

Проверке доступны пять статусов:

Статус Значит
active Выдан и ещё не завершён.
complete Завершён любым исходом.
succeeded Завершён успехом (исход success).
failed Завершён провалом (исход failure).
pinned Закреплён в HUD (бывает только у активного).

Два набора слов про статус — не путай. Исход задаёшь одними словами, статус проверяешь другими:

  • задать исход (quest complete): success · failure · skip;
  • проверить статус (test, execute if, list): active · complete · succeeded · failed · pinned.

Проверочные succeeded / failed — в прошедшем времени, в отличие от исходных success / failure. Слово skip задаёт исход задачи, но не создаёт отдельного статуса квеста.


Квест без этапов

Квест без этапов остаётся active бесконечно: у него нет обязательных задач, по которым считается итог, поэтому сам он не завершается. Так делают нарративные записи — слухи, заметки, фрагменты лора. Готовый рецепт — Квест-заметка.


См. также