Чувствуете удачу? Кости-мини-игра Джекпот
Попадите на клетку Джекпот, чтобы сыграть в быструю ставку на кости — выберите несколько чисел, сделайте ставку и гонитесь за выигрышем, честным в среднем.

Простыми словами
Клетка Джекпот (поле 20) раньше ничего не делала — вы вставали на неё и просто завершали ход. Теперь она открывает быструю маленькую игру в кости, и сыграть или нет — решаете вы.
Выберите одно, два или три числа от 1 до 6, заплатите фиксированную ставку 1000 и бросьте один кубик. Если на кубике выпадет одно из ваших чисел — вы выиграли, и чем на меньшее число чисел вы ставите, тем крупнее выигрыш.
- Ставка на 1 число — попадание приносит выигрыш 6000.
- Ставка на 2 числа — попадание приносит выигрыш 3000.
- Ставка на 3 числа — попадание приносит выигрыш 2000.
- Не хочется? Откажитесь и завершите ход бесплатно — деньги списываются только когда вы крутите.
Мало денег? Окно всё равно откроется, чтобы вы увидели ставку, но крутить нельзя, пока вы не сможете покрыть ставку. Боты всегда пропускают, так что Джекпот — только ваше решение.
Для тех, кому интересны детали
Механика намеренно нейтральна по ожидаемой ценности (EV): для любого числа выборов k вероятность попадания равна k/6, а выигрыш — 6000/k, поэтому в долгосрочной перспективе изменение денег ровно нулевое.
// reduce.ts — bank-funded, fair on the distribution
const JACKPOT_STAKE = 1000;
const JACKPOT_PAYOUT = { 1: 6000, 2: 3000, 3: 2000 };
// EV per spin, for k = 1, 2, 3:
// (k / 6) * (6000 / k) - 1000 = 0Попадание на поле Джекпот теперь направляет в новую фазу pending_jackpot с двумя действиями: place_jackpot_bet (проверяет 1–3 различных числа, списывает ставку, бросает кубик и применяет итог) и skip_jackpot (без списания). Поскольку ставка гарантирует, что промах никогда не уйдёт в минус, путей оплаты или банкротства здесь нет.
Функция вышла без миграции базы данных. Фаза и ожидающее состояние живут в engine_state в формате JSON, действия не ограничены enum, а существующее событие jackpot_won переиспользуется для каждой завершённой ставки — выигрышной или проигрышной — различаясь по флагу won в полезной нагрузке.
