Кампании
Основные параметры
Данные для настройки кампаний лежат в файле global\backend\meta\campaign.json или в папке campaign*.json
В модах настройки параметров Кампаний для Metagame может находиться в папке global\interface\campaings\*json
_id
string
Идентификатор кампании
tags
array of string
Ярлыки (теги) карты, используется опционально
category
string
Тип кампании - используется для распределения кампаний в интерфейсе на соответствующих вкладках:
story- сюжетная кампания с героямиhistorical- кампания по историческим событиямraid- Рейдconquest- Завоевание. Для типа кампании сonquest разработан отдельный интерфейс, использующий собственную логику обработки данных.
display_order
integer
Порядок отображения кампании в интерфейсе Metagame. Чем меньше значение параметра, тем кампания выше находится в списке кампаний
online
string
Признак возможности полноценной работы кампании в online режиме.
Значение участвует в множественных проверках на backend.
Примечание: для модификаций, которые работают в offline режиме, необходимо выставить значение в false, чтобы уведомить интерфейс Metagame об отсутствии кампании в online режиме.
phase
string
Начальная фаза в кампании. Используется только для кампаний типа conquest.
attack- фаза атаки;defence- фаза защиты
currency
string
валюта кампании (опционально):
rem- рейхмарки Германии;usd- доллары США;rub- рубли СССР.
mission_results
string
Задает способ учета завершенных миссий в кампании:
only_first_winиспользуется в кампаниях, в которых игрок получает опыт и внутриигровую валюту;
учет только первой победы в указанной миссии.
degrade_on_each_winиспользуется в Рейде и кампаниях с прокачкой игрока;
учет повторно запущенных миссий, каждый новый запуск миссии уменьшает получаемую за нее прохождение награду.
complete_onceиспользуется в Завоевании;
означает, что матч можно сыграть только один раз; если игрок отказался играть, то считается, что он проиграл.
money
integer
Стартовые значения свободного опыта freeXpи внутриигровой валюты silver в начале кампании, используется для кампаний с прокачкой игрока.
node
object с ключом nodeId
Описание структуры узлов в кампании
Описание структуры узлов в кампании
tree_x
number
Координата х узла в графе кампании, работает по аналогии с деревом технологий. Используется для отображения графа кампании в интерфейсе.
tree_y
number
Координаты у узла в графе кампании.
map
array of string
Список id карт для рандомного выбора. Примечание: указанные карты должны быть в списке карт.
map_groups
array of object
Список id групп карт для рандомного выбора:
attack: array of string список id карт для рандомного выбора для атаки;defence: array of string список id карт для рандомного выбора для защиты
Примечание: опционально, только для conquest
level
number
Технологический уровень вражеских батальонов.
open
boolean
Открыт ли узел со старта кампании (опционально).
open_up
array of string
Список id узлов, в которые можно перейти из этого узла (опционально).
opened_by
array of string
Список id узлов, из которых можно перейти в этот узел (опционально).
Примечание: если есть связь из open_up, то в обязательном порядке должна быть прописана обратная связь через opened_by.
hidden
boolean
Некоторые узлы могут быть изначально скрытыми в интерфейсе.
Узлы становятся видимыми, когда выставлен флаг open (опционально).
bonus
boolean
Признак того, что узел является бонусным, а не сюжетной развилкой. Если узел содержит сюжетную развилку, то при выполнении миссии в этом узле альтернативные узлы закрываются. Примечание: по умолчанию узлы являются сюжетными развилками (опционально).
type
string
Тип узла (опционально, только для conquest):
hq- штаб;land- обычная территория.
owner
string
Начальный владелец узла (опционально, только для conquest):
player- игрок,enemy- враг.
final
boolean
Признак, что это финальная миссия, по прохождении которой кампания считается пройденной (опционально). Примечание: в настоящий момент не используется.
Примеры настройки Кампании для Metagame
Пример настройки общих параметров кампании
Пояснения:
_id– уникальный идентификатор кампании, в данном случае "example".category– категория кампании, здесь "historical", что указывает на историческую кампанию.currency– валюта, используемая в кампании, здесь "rub" (рубли).display_order– порядок отображения кампании в интерфейсе, чем меньше число, тем выше в списке.enabled– кампания активна (true).in_progress– кампания в процессе выполнения (false– означает, что кампания ещё не начата).mission_results– тип расчета результатов миссий:degrade_on_each_win– означает, что награды уменьшаются при каждом перезапуске.money– стартовые бонусы:freeXp– 250 единиц свободного опыта.silver– 1000 серебра (игровая валюта).
online–trueозначает, что кампания поддерживает online режим (примечание: для модификаций, которые работают только в offline режиме, необходимо выставить значение вfalse)tags– теги, помогающие классифицировать кампанию:"rus"– кампания за СССР.
Пример настройки узлов кампании
Раздел "node" определяет дерево миссий, их взаимосвязи и условия открытия.
Каждый узел (миссия) имеет следующие параметры:
Название узла – идентификатор, например,
start,line2,line2_2,finish.bonus– миссия является бонусной, а не сюжетной развилкой (true).level– технологический уровень вражеских батальонов(3, 4, 5 и т.д.).
map– название карты, на которой проходит миссия ("start_mission", "line2_mission_1" и т.д.).open– открыта ли миссия сразу (true– доступна,false– заблокирована).open_up– список узлов, которые откроются после выполнения данной миссии.opened_by– какие узлы открывают данную миссию.tree_x,tree_y– координаты узла на древе кампании.
Дерево миссий
start → line2 → finish
↓
line2_2
Для типа кампании сonquest разработан отдельный интерфейс, использующий собственную логику обработки данных.
Last updated