# Missions Подсистема `Missions` управляет сценарием: - стартовыми условиями; - триггерами; - победой/поражением; - синхронизацией с AI/Behavior/World. ## 1. Что уже зафиксировано 1. Миссии связаны с картами (`Land.msh`/`Land.map`) и объектными категориями. 2. Скриптовые ресурсы хранятся в архивных контейнерах (`NRes`) и участвуют в runtime-логике. 3. Миссионные события влияют на AI и поведение объектов через общий gameplay-слой. ## 2. Минимальный runtime-контракт 1. Детерминированный порядок обработки триггеров в кадре. 2. Единая шкала времени миссии для всех подсистем. 3. Согласованность идентификаторов объектов между mission-data и world-state. ## 3. Статус покрытия и что осталось до 100% Закрыто: - связь миссионной подсистемы с форматом ресурсов и runtime-контуром. Осталось: 1. Полная спецификация форматов миссионных скриптов/таблиц. 2. Полный перечень типов триггеров и их параметров. 3. Формальные правила разрешения конфликтов триггеров в одном кадре. 4. Набор replay parity-тестов «миссия от старта до завершения». ## 4. Mission -> Prototype -> Mesh bridge Для 3D-объектов миссии обязательна промежуточная стадия `objects.rlb`: 1. `data.tma` задаёт либо прямой ключ объекта, либо путь к `*.dat`. 2. `*.dat` даёт `model_key` (в retail-наборе через `objects.rlb`). 3. Ключ резолвится в запись прототипа внутри `objects.rlb`. 4. Из прототипа выбирается фактический `*.msh` и архив (например `bases.rlb`, `static.rlb`, `fortif.rlb`). 5. Только после этого запускается стандартная цепочка материалов и текстур. Детальный формат и алгоритм вынесены в отдельную страницу: - [Object registry (`objects.rlb`)](object-registry.md)