/level/complete

Метод завершает текущий активный уровень.

Адрес метода

/level/complete

Требует сессию пользователя

Параметры

Параметр Обязательный Тип Описание
hp ДА float Количество жизней, сколько осталось у игрока после завершения уровня; 0 — валидное значение
steps ДА int Количество ходов, сколько потребовалось игроку для завершения уровня; 0 — валидное значение
result ДА int Результат уровня (0 - провален, 1 - пройден)

Результат

{
    "response": {
        "success":   1,
        "timestamp": 1758253785.916074
    },
    "update": {
        "member": {
            ...,
            "options": {
                ...
            },
            "wallet": [
                {...currency},
                {...currency},
                {...currency},
            ],
            "levels": [
                {...level},
                {...level},
                {...level}
            ],
            "gacha": {
                ...
            },
            "pendingCompletions": [
                ...pending_completions
            ]
        }
    },
    "events": [
        {
            "type": "reward",
            "payload": {
                "reasonType": "level_complete",
                "reasonId": "level_1",
                "rewards": [
                    { "type": "soft", "amount": 100, "condition": "firstComplete" },
                    { "type": "playerExp", "amount": 10 }
                ]
            }
        }
    ]
}

events

При успешном завершении уровня и выдаче наград метод добавляет reward event. Награды нужно читать из events, в response они не дублируются.

Поле Тип Описание
reasonType string level_complete
reasonId string CID уровня
rewards array Фактически выданные награды в формате { type, amount, condition? }

Поле condition добавляется только для награды, выданной по условному слоту; например, firstComplete означает награду за первое прохождение уровня.

Если уровень завершен поражением (result = 0) или награда не была выдана, reward event не добавляется.

При поражении и возврате энергии значение ограничивается energy_capacity, если текущий запас не превышает кап. Если энергия уже выше капа, возврат не ограничивается.

Objective progress

Метод двигает счетчики objectives: battles_played на любом завершении, battles_lost при result = 0, а при result = 1 — levels_completed и, по режиму уровня, campaign_levels_completed / dungeon_levels_completed плюс максимум campaign_max_level_reached / dungeon_max_level_reached.

В update.member возвращается очередь pending completions — клиент получает completion notifications по заданиям, достижениям и daily chest сразу после изменения objective progress. Тяжелые секции quests и achievements здесь не отдаются: их нужно запрашивать через filter у /member/info.