Лутбоксы и рулетка
Лутбокс — товар со случайной выдачей. Игрок платит фиксированную цену и получает ОДИН случайный предмет из пула. Шанс каждого предмета определяется его весом.
Как это работает
- Владелец создаёт товар типа lootbox и указывает пул предметов
- У каждого предмета — вес (целое число, min 1, max 10 000)
- При покупке система случайно выбирает один предмет
- Шанс выпадения = вес предмета / сумма всех весов × 100%
Пример:
| Предмет | Вес | Шанс |
|---|---|---|
| AK-47 (legendary) | 10 | 10% |
| SAR (epic) | 30 | 30% |
| Revolver (rare) | 60 | 60% |
Сумма весов = 100. AK-47 выпадает с вероятностью 10%.
Редкость (Rarity)
Каждый предмет в лутбоксе имеет редкость. Она влияет на цвет плашки при выпадении:
| Редкость | Цвет | Пример |
|---|---|---|
common | Серый | Базовые ресурсы |
uncommon | Зелёный | Инструменты |
rare | Синий | Оружие |
epic | Фиолетовый | Редкое оружие |
legendary | Золотой | Уникальные предметы |
Настройка лутбокса
Показывать шансы (showOdds)
- true (по умолчанию) — игрок видит проценты и полосу шансов на витрине
- false — проценты скрыты, игрок не знает точные вероятности. Показывается только список возможных предметов
Анимация (animation)
Текущая версия поддерживает только spin (вращающаяся рулетка):
- Игрок нажимает «Открыть»
- Начинается анимация вращения — полоса предметов быстро прокручивается
- Через ~3 секунды анимация замедляется и останавливается
- Показывается результат: название, редкость, картинка
Защита от повторов (noRepeatStreak)
Если задано (например, noRepeatStreak: 3), система гарантирует что один и тот же предмет не выпадет 3 раза подряд.
Как игрок видит лутбокс
На витрине (ProductCard)
- Название кейса + цена
- Кнопка «Открыть» вместо «Купить»
- Опционально: полоса шансов (OddsBar) с цветными сегментами
В quick-view (ProductQuickView)
- Полное описание
- Список возможных предметов с редкостью
- Детальная таблица шансов (если
showOdds: true)
В модалке рулетки (RouletteModal)
- Полноэкранная анимация вращения
- Звуковой эффект (в планах)
- Результат с крупной иконкой и названием
Кулдаун лутбокса
Лутбоксы особенно важны с точки зрения кулдауна:
- cooldownSeconds — если > 0, игрок не может открыть второй лутбокс раньше чем через N секунд
- Это защищает от случайных повторных покупок (трясущаяся рука, двойной клик)
- Рекомендуемое значение: 5-10 секунд для обычных кейсов, 30+ для редких
Лимиты и картинки
- Минимум 2 предмета, максимум 50
- Картинки предметов работают так же как в наборах
perPlayerLimit— ограничение на общее количество открытий