Что такое бейджи
Бейджи 🏆 - это коллекционные достижения, которые юзер получает за разные виды активности на сайте. Каждый бейдж представляет собой PNG-картинку и запись в базе. Бейджи остаются у юзера навсегда, отображаются в профиле и учитываются в публичном рейтинге.
Категории бейджей
Бейджи разделены на категории, каждая со своим набором условий выдачи:
- Заработок маков - бейджи за определённые суммы накопленных маков (Тысячник, Миллионник и др.)
- Серии дней - за длинные стрики ежедневной активности
- Время суток - за активность ночью, утром, на выходных
- TTS - за прослушивание определённого количества блог-постов
- Игры - за партии в Memory, Open or Closed, Shortcut Quiz
- Идеальные прохождения (Perfect) - за прохождение игры без ошибок и без подсказок
- Скорость - за быстрые партии в quiz-играх
- Социальная активность - за отзывы, комментарии, идеи
- Особые / престижные - редкие бейджи (Старожил, Первопроходец)
- Питомцы - за коллекцию питомцев
- Арсенал - за прогресс по оружию для боя с боссом
- Эксперт каталога - за визиты программ и блогов
- Ранги эксперта - 20 бейджей за 10 рангов программ + 10 рангов блога
- Победы над боссами - 52 бейджа за каждого убитого босса недели в составе топ-10
- Скрытые медали - 2 epic-бейджа на случайных страницах сайта
- Охота за буквами - 5 бейджей за стрик и общее количество отгаданных слов
- Квесты - бейджи за первое выполнение недельных квестов
Редкости бейджей
Каждый бейдж имеет одну из 5 редкостей. Они влияют на:
- Визуальный эффект (свечение, пульсация рамки)
- Цвет рамки
- Вес в рейтинге «По бейджам»
| Редкость | Цвет | Вес в рейтинге |
|---|---|---|
| Common | серый | ×1 |
| Rare | синий | ×3 |
| Epic | фиолетовый | ×8 |
| Legendary | оранжевый | ×20 |
| Mythic | малиновый/розовый | ×50 |
Как получить бейдж
Бейджи выдаются автоматически. Условие проверяется системой при каждом релевантном действии:
- При начислении маков
- После завершения игры
- После одобрения отзыва или комментария
- При продвижении ранга Эксперта
- При выполнении квеста
- При победе над боссом недели
- При клике на скрытую медаль (вручную)
Если условие выполнено - запись добавляется в user_achievements, юзер видит тост «Получен новый бейдж» в шапке.
Двусторонняя проверка
Некоторые бейджи могут сниматься, если условие перестаёт выполняться. Например, если у юзера было 1000 маков (бейдж «Тысячник»), а админ списал часть и баланс упал ниже 1000 - бейдж отзывается.
Другие бейджи (за уникальные события - победа над боссом, прохождение цикла Эксперт) не отзываются никогда, даже если состояние изменилось.
Где смотреть бейджи
Свой профиль
/profile?tab=achievements - сетка всех бейджей с подсветкой полученных и фильтром по категориям. Показано:
- Сколько бейджей получено / всего
- Текущие prog-bar для бейджей с прогрессом (например, «Тысячник 870 / 1000»)
- Дата получения каждого бейджа
- Тултипы с условиями
Публичный профиль
/user/{id} - топ 3 самых редких бейджа в шапке + полная сетка ниже.
Лидерборд
/leaderboard?tab=badges - топ-50 пользователей по взвешенному score:
score = (Common × 1) + (Rare × 3) + (Epic × 8) + (Legendary × 20) + (Mythic × 50)
Тосты
При получении нового бейджа в footer.php появляется уведомление, которое исчезает через несколько секунд.
PNG-файлы
Каждый бейдж имеет свою картинку в /img/badges/<категория>/<slug>.png:
- 256×256 PNG-24 с альфа-каналом
- Оптимизация через pngquant до 9-30 KB
- Стиль соответствует тёмной теме сайта
Скрытые бейджи
Две категории требуют ручных действий юзера:
- Скрытые медали - 2 бейджа, которые появляются на случайной странице блога/программы. Юзеру нужно их найти и кликнуть. Подробно см. термин «Скрытые медали»
- Охота за буквами - набор бейджей за стрик и общее количество отгаданных слов