/expedition/list

Метод возвращает текущее состояние экспедиций игрока: доступные слоты с предложениями из пула, счётчики рероллов и время их восстановления.

Список меняется ровно двумя способами: рероллом (/expedition/reroll) и доливом слота после того, как игрок забрал награду (/expedition/claim). Автоматического обновления списка по расписанию нет, повышение уровня предложения не перекатывает.

Предложение выкатывается в два шага: сперва по весам полосы уровней игрока (expeditionLevelBands.tierWeights) выбирается тир, затем внутри тира равновероятно — экспедиция. Экспедиции, которые уже выпадали, в роле не участвуют, пока память о них не сбросится: когда в тире не осталось невыпадавших, при переходе игрока в другую полосу и раз в сутки вместе с попытками реролла. Награда фиксируется в момент рола и дальше не пересчитывается — за игроком в следующую полосу она не идёт.

Адрес метода

/expedition/list

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

Параметры

Метод не требует параметров.

Результат

{
    "response": {
        "success": 1,
        "unlocked": true,
        "max_slots": 2,
        "slots": [
            {
                "slot_index": 0,
                "expedition_cid": "easy_any_1star",
                "status": 1,
                "skill_cids": ["tossACoin"],
                "started_at": 1788239500,
                "ends_at": 1788241300,
                "bonus_qualified": false,
                "skip_price": 100,
                "base_rewards": [
                    { "type": "soft", "amount": 400 }
                ],
                "bonus_rewards": [
                    { "type": "particleOfPower", "amount": 1 },
                    { "type": "fragmentOfPower", "amount": 1 }
                ]
            }
        ],
        "rerolls_used": 0,
        "rerolls_reset_at": 1788296400,
        "paid_reroll_limit": 1,
        "reroll_price": null
    }
}
Поле Тип Описание
success int 1 у всех методов группы. Присутствие поля обязательно: по нему общий обработчик прицепляет update.member.
unlocked bool Открыта ли фича. Ниже expeditionCommon.unlockLevel метод отвечает ошибкой 10405.
max_slots int Количество параллельных экспедиций — slotCount полосы, в которую попадает уровень игрока (expeditionLevelBands). 0, если полосы для этого уровня в конфиге нет.
slots[].slot_index int Номер слота, 0-based.
slots[].expedition_cid string Идентификатор экспедиции из листа expeditions.
slots[].status int 0 — свободна, 1 — выполняется, 2 — завершена и ждёт получения награды.
slots[].skill_cids string[] Назначенные приёмы, в порядке слотов условий: приём на позиции N проверяется условием expeditions.mainConditions с slotIndex = N. Пусто, пока экспедиция не запущена.
slots[].ends_at int Момент завершения экспедиции, unix-время. Остаток клиент считает сам относительно серверного времени. 0, пока экспедиция не запущена.
slots[].bonus_qualified bool Выполнено ли дополнительное условие — expeditions.bonusConditions.factions. Оно относится ко всему набору приёмов, а не к слоту: достаточно, чтобы указанной фракции соответствовал хотя бы один назначенный приём. Экспедиция без списка фракций считается выполнившей условие. Вычисляется по актуальному состоянию приёмов на момент запроса, а не фиксируется на старте.
slots[].skip_price int Цена ускорения в хард-валюте по таблице upgradeCostIntervals — той же, что у ускорения апгрейда АФК-станков.
slots[].base_rewards object[] Базовая награда предложения — { type, amount }. Зафиксирована на моменте рола: берётся из клетки expeditionLevelBands.tierRewards для полосы и тира, в которых предложение выпало, поэтому из шаблона экспедиции её вывести нельзя. Значения номинальные: слот с шансом показывается независимо от того, выпадет ли он, а диапазон показывается нижней границей.
slots[].bonus_rewards object[] Дополнительная награда в том же формате — expeditions.bonusReward, то есть зависит только от тира и не скейлится по уровню. Выдаётся, если на момент получения выполнено bonus_qualified.
rerolls_used int Сколько рероллов потрачено за текущие сутки.
rerolls_reset_at int Время восстановления попыток — общий серверный ресет фич.
paid_reroll_limit int Сколько платных рероллов доступно за сутки сверх бесплатного.
reroll_price object|null Цена следующего реролла ({ "type": "hard", "amount": 50 }) либо null, если следующий бесплатный.

Ошибки

Код Условие
10405 Уровень игрока ниже expeditionCommon.unlockLevel. В контексте ошибки приходит unlock_level.