Кофемашина:Подарки

**Подарки** — это события, происходящие случайно для случайных участников. Относятся к валютной системе.

## Суть

В принципе подарки были введены, чтобы поощрять общение участников на серверах. Флуд не пройдет, так как существуют определенные ограничения.

Каждый подарок дает свое количество зерен , которое до обновления 20200929 было статичным. Выпадают они с разным шансом, и от этого зависит сумма подарка. Событие выпадения определяется рандомом, поэтому в некоторых случаях может выпасть сразу пачка подарков, а иногда еще и одному участнику.

## Виды подарков

###  Обычный

Обычные подарки были введены самыми первыми. Старейшие упоминания о них датируются еще 8 марта 2019, а это самый рассвет самой валютной системы.

Выпадают с шансом 1%, а это самый высокий шанс среди всех подарков. До хваленого обновления 20200929 всегда и везде выдавали от 500 до 3000 .

Выпадение подарка можно проследить по консоли. Запись лога об этом выглядит так:

```
[20 августа 2020 г., 14:36:53] *имя пользователя* получил подарок, в котором лежали *число* зерен.

```

В Дискорде он также отображается:

###  Редкий

Дальше необходимо было расширить спектр выпадающих призов, делая их все более и более редкими. Сказано-сделано, и уже 7 апреля 2019 выпал первый редкий подарок. Именно при его создании была положена традиция тупо перекрашивать оригинальный эмодзи с подарком в другие цвета. Хотя это тоже надо уметь...

Так, отвлеклись. Шанс выпадения редкого в десять раз меньше обычного и составляет 0,1%. В изначальном и натуральном состоянии подарок выкидывал от 5 до 35 тысяч .

А это лог, по нему тоже можно найти:

```
[20 августа 2020 г., 14:49:50] *имя пользователя* получил редкий подарок, в котором лежали *число* зерен.

```

Ну и скриншот с подарком из Диска:

###  Очень редкий

Через год народ решил пощекотать себе нервы и уговорил Кофю сделать третий вид подарка. Как видим, оригинальностью названий он не блещет, поэтому получилось то, что получилось. Подарок был добавлен 20 августа 2020, а первый случай выпадения пришелся на тридцатое.

Значит, изначально подарок падал с шансом 0,01%, но обновление 20200929 (да, то самое), увеличило этот шанс в целых ДВА РАЗА (аплодисменты на фоне). Минимальная сумма подарка была 50 тысяч , максимальная — 75 тысяч .

Ниже я попробую найти и прикрепить скрин с подарком:

И на случай, если вам попадут логи в руки, вы найдете этот подарок по строчке

```
[30 августа 2020 г., 15:11:02] *имя пользователя* получил очень редкий подарок, в котором лежали *число* зерен.

```

###  Эпический

Еще даже врарный не выпал, а народ уже замутил РЭФЭРЭНДУМ, результаты которого привели к обновлению 20200929 (да, тому самому). Именно в этом обновлении появился эпический подарок, а вышло оно 29 сентября 2020.

Он отличается от других подарков хотя бы потому, что никогда не имел фиксированной суммы, то есть вышел сразу с динамической системой. Но поскольку эту статью пишет не абы кто, а сам автор бота, то ловите эксклюзивчик: если бы этой системы не было, эпик давал бы от 100 до 250 тысяч . Шанс у него, кстати, всего 0,01%.

```
[9 октября 2020 г., 16:37:50] *имя пользователя* получил эпический подарок, в котором лежали *число* зерен.

```

###  Сундук

И, наконец, великий, могучий, до-о-обрый сундук! Отношение к нему таково, потому что он падает реже всех, но и дает очень и очень много, а выбившие его входят, так сказать, в анналы. С ним связана команда `kof.jackpot`.

Эта веселая история началась 8 апреля 2019 года. Кофя решил, что пустующий счет бота отныне пустовать не будет, и стал перекидывать на него сумму каждого проигрыша в `kof.casino`, после чего создал настолько редкий подарок, что первый случай выпадения произошел больше чем через год: 30 июля 2020. К тому моменту в нем скопилась десятизначная сумма, которая навела немало шороху на сервер, где он выпал.

Итак, теперь к мете. Шанс выпадения его в десять раз реже, чем у эпического, — всего 0,001%. Сумма подарка зависит от текущего джекпота, а в него капает 50% от каждого проигрыша (в версии 20200730 было 10%, потом изменено).

К сожалению, у всего есть конец. 15 августа 2021 года сундук был удален, так как, по словам Кофи, ему "надоела эта имба с сундуком", а сам сундук "уже не вызывает такую реакцию, как раньше". Вечная тебе память, ты у нас в сердцах.

В качестве иллюстрации приложу скрин с первым выпадением, хоть текст в дальнейшем и поменялся:

А консоль видит следующее:

```
[1 сентября 2020 г., 11:32:00] *имя пользователя* получил сундук с *число* зернами внутри. Фантастическое число!!!

```

## Динамическая сумма

Помнится, в повествовании выше я ссылался на версию 20200929 и некую "динамическую систему". Эти две вещи взаимосвязаны: загадочная система появилась как раз в этой версии.

Таки что же она делает? Она определяет, сколько должно падать с подарка, основываясь на текущем количестве зерен на руках у пользователей. Данная мера необходима для поддержания ценности подарков: так, выпадающий подарок на несколько тысяч зерен сразу после обнуления гораздо ценнее, чем такой же, но когда у топов на счету миллионы.

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

  Эпический | 3% | 5%

Для примера посчитаем, сколько будет давать редкий подарок, если всего у пользователей 16861999 .

* Проценты для редкого равны 0,25 и 0,4.
* Минимум будет равен

16861999
⋅

0
,
25

100

≈
42155

{\displaystyle 16861999 \cdot {\dfrac{0,25%}{100%}} \approx 42155}

 .
* Максимум будет равен

16861999
⋅

0
,
4

100

≈
67448

{\displaystyle 16861999 \cdot {\dfrac{0,4%}{100%}} \approx 67448}

 .

Зачем мы делим показатели еще на 100? Потому что они даны в процентах, а нам нужна дробь, на которую мы будем множить. Если результат оказывается дробным, он округляется по правилам математики.

А если вам лень считать каждый раз по-новому (тем более, что общее число зерен одному богу лишь известно), вы можете воспользоваться командой `kof.gifts spoiler`, она сама все сделает.

## Ступени отображения

Все снимки экрана выше отображают подарки так, как они должны быть. Однако может случиться так, что у бота не будет прав для отправки сообщений в канал, где выпал подарок. Ну мало ли, вдруг он кому-то оскомину набил, вот его и порезали. В таком случае сообщение не отправляется, а на счастливое сообщение ставится реакция с эмодзи соответствующего подарка. Информацию о пяти последних подарках можно глянуть с помощью команды `kof.gifts recent`.

Не исключено также, что будут бесить и реакции. Для таких участников приготовлено особое блюдо, записывайте рецепт: `kof.config`, тушить с аргументом `popups`. После приготовления рекомендуется наслаждаться отсутствием треклятых сообщений с успехами рандомных юзеров.