Кампании

Основные параметры

Данные для настройки кампаний лежат в файле 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": 7,
    "enabled": true,
    "in_progress": false,
    "mission_results": "degrade_on_each_win",
    "money": {
        "freeXp": 250,
        "silver": 1000
    },
    "online": true,
    "tags": ["rus"]
}

Пояснения:

  • _id – уникальный идентификатор кампании, в данном случае "example".

  • category – категория кампании, здесь "historical", что указывает на историческую кампанию.

  • currency – валюта, используемая в кампании, здесь "rub" (рубли).

  • display_order – порядок отображения кампании в интерфейсе, чем меньше число, тем выше в списке.

  • enabled – кампания активна (true).

  • in_progress – кампания в процессе выполнения (false – означает, что кампания ещё не начата).

  • mission_results – тип расчета результатов миссий: degrade_on_each_win – означает, что награды уменьшаются при каждом перезапуске.

  • money – стартовые бонусы:

    • freeXp – 250 единиц свободного опыта.

    • silver – 1000 серебра (игровая валюта).

  • onlinetrue означает, что кампания поддерживает online режим (примечание: для модификаций, которые работают только в offline режиме, необходимо выставить значение в false)

  • tags – теги, помогающие классифицировать кампанию:

    • "rus" – кампания за СССР.

Пример настройки узлов кампании
"node": {
    "start": {
        "bonus": true,
        "level": 3,
        "map": ["start_mission"],
        "open": true,
        "open_up": ["line2", "line2_2"],
        "tree_x": 2.5,
        "tree_y": 1
    },
    "line2": {
        "bonus": true,
        "level": 3,
        "map": ["second_line_mission_1"],
        "open": false,
        "open_up": ["finish"],
        "opened_by": ["start"],
        "tree_x": 2.5,
        "tree_y": 2
    },
    "line2_2": {
        "bonus": true,
        "level": 5,
        "map": ["second_line_mission_2"],
        "open": false,
        "opened_by": ["start"],
        "tree_x": 3.5,
        "tree_y": 2
    },
    "finish": {
        "bonus": true,
        "level": 6,
        "map": ["finish_mission"],
        "open": false,
        "opened_by": ["line2"],
        "tree_x": 2.5,
        "tree_y": 3
    }

Раздел "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

Last updated