Отряды NPC и захват территорий
Второй тип наполнения карты, помимо точек, — отряды (spawns): группы NPC конкретной
фракции, которые патрулируют локацию, могут вступать в бой с игроком или другими отрядами и — в некоторых
случаях — удерживают территорию.
Структура отряда
{
"group": "DUTY",
"strength": "STALKER",
"n": 4,
"r": 25,
"pos": "200:150",
"title": "Блокпост Долга",
"description": "Патруль удерживает подступы к Бару",
"condition": {},
"actions": { "add": ["блокпост_взят"] },
"data": { "angryOnPlayer": false }
}
| Поле | Значение |
|---|---|
group | Фракция отряда — см. справочник фракций |
strength | Сила/уровень отряда: WEAK, STALKER, MIDDLE, MASTER, STRONG |
n | Количество юнитов в отряде |
r | Радиус патрулирования вокруг точки pos |
condition / actions | Та же система, что и у точек: отряд появляется по условию, а его actions выполняются при взятии территории (см. ниже) |
data | Флаги поведения конкретного отряда (см. ниже) |
Флаги поведения (data)
| Флаг | Эффект |
|---|---|
immortal | Отряд бессмертен — не может быть уничтожен |
untarget | Отряд нельзя выбрать целью |
angry | Отряд враждебен ко всем, независимо от фракционных отношений |
angryOnPlayer | Отряд враждебен конкретно к игроку |
ignorePlayer | Отряд игнорирует игрока (не атакует и не реагирует) |
alwaysIgnored | Отряд всегда игнорируется другими (по нему не открывают огонь) |
hide | Отряд скрыт (не отображается на карте) |
Эти флаги позволяют собрать сюжетно важный отряд с нестандартным поведением — например, союзника, который
физически присутствует на карте, но никогда не станет целью боя (immortal + ignorePlayer), или засаду,
которая гарантированно атакует игрока при встрече (angryOnPlayer).
Захват территории
Отряд — это не только декорация. Если все юниты отряда уничтожены (точка спавна опустела) и игрок находится
рядом с ней достаточное время (около 10 секунд), точка засчитывается как взятая: срабатывают её actions.
Это механика контроля территории, завязанная на бой, — например, зачистка блокпоста вражеской фракции с наградой
или открытием нового прохода.
"actions": { "add": ["блокпост_духов_зачищен"], "+": ["relation_3:5"] }
В примере выше зачистка блокпоста выдаёт флаг прогресса и одновременно улучшает отношение фракции «Свобода»
(id 3) к игроку — типичная связка «территория ↔ отношения», которую стоит закладывать в баланс истории.
Кто добавляет отряды на карту
Как и точки, отряды могут быть добавлены главой истории для конкретной локации:
"spawns": {
"bar": [ { "group": "BANDITS", "strength": "MIDDLE", "n": 3, "...": "..." } ]
}
Далее
- Фракции и отношения — как устроена шкала отношений и враждебность.
- Создание новой карты — добавление самой локации.