feat(gameplay): add crazy dave casino and bank, and zombie mutation lab

This commit is contained in:
Antigravity committed 2026-09-22 09:25:08 +00:00
1 parent d8be8f4366
commit b8db5a123d
16 files changed
+2365 -135

No files matched your search

+140
View File
@@ -61,12 +61,14 @@
<button id="btn-drawer-main-screen" class="drawer-item">🏠 Главный экран (Режимы)</button>
<button id="btn-drawer-inventory" class="drawer-item">🎒 Выбор растений / Инвентарь</button>
<button id="btn-drawer-campaign" class="drawer-item">🗺️ Карта Кампании (25 уровней)</button>
<button id="btn-drawer-casino" class="drawer-item">🎰 Казино & Банк Дэйва</button>
<button id="btn-drawer-workshop" class="drawer-item">🧪 Сад-Мастерская (Крафт и перки)</button>
<button id="btn-drawer-zengarden" class="drawer-item">🪴 Дзен-Сад (Пассивный доход)</button>
<button id="btn-drawer-almanac" class="drawer-item">📖 Пригородный Альманах</button>
<button id="btn-drawer-achievements" class="drawer-item">🏆 Зал Достижений и Трофеев</button>
<button id="btn-drawer-tree" class="drawer-item">🌳 Древо Мудрости и Чит-коды</button>
<button id="btn-drawer-leaderboard" class="drawer-item">🏅 Доска Рекордов</button>
<a href="configurator/" target="_blank" class="drawer-item" style="text-decoration: none;">⚙️ Конфигуратор & Админка</a>
<button id="btn-drawer-theme" class="drawer-item">🎨 Тема оформления: <span id="drawer-theme-label" style="color: #81d4fa; margin-left: auto;">Классика</span></button>
<button id="btn-drawer-music" class="drawer-item">🎵 Фоновая музыка: <span id="drawer-music-label" style="color: #a5d6a7; margin-left: auto;">Вкл</span></button>
<button id="btn-drawer-bugreport" class="drawer-item btn-drawer-bug">🐛 Баг-репорты и Чат</button>
@@ -130,6 +132,7 @@
<!-- 4. Modern Activities Grid Hub -->
<div class="start-activities-grid">
<button id="btn-shop" class="btn btn-shop btn-act">🏪 Магазин Дэйва</button>
<button id="btn-casino-start" class="btn btn-casino btn-act" style="background: linear-gradient(135deg, #ad1457, #6a1b9a);">🎰 Казино & Банк</button>
<button id="btn-workshop-start" class="btn btn-workshop btn-act">🧪 Мастерская</button>
<button id="btn-zengarden-start" class="btn btn-zengarden btn-act">🪴 Дзен-Сад</button>
<button id="btn-almanac-start" class="btn btn-almanac btn-act">📖 Альманах</button>
@@ -189,6 +192,111 @@
</div>
</div>
<!-- Crazy Dave's Casino & Bank Modal -->
<div id="casino-modal" class="overlay hidden">
<div class="banner-card casino-card">
<div class="casino-header">
<h1 style="color: #ffca28; font-size: 26px; margin: 0; text-shadow: 0 0 10px rgba(255,202,40,0.5);">🎰 КАЗИНО И БАНК ДЭЙВА</h1>
<p style="font-size: 13px; color: #b0bec5; margin: 4px 0 10px 0;">
Испытай удачу в слот-машине или открой депозит в Банке Безумного Дэйва!
</p>
<!-- Casino Balance Bar -->
<div class="casino-balance-bar">
<div class="casino-stat-item">💰 Баланс: <strong id="casino-coins">0</strong> монет</div>
<div class="casino-stat-item">🏦 Вклад: <strong id="bank-deposit-stat">0</strong> (<span id="bank-interest-stat">+0%</span>)</div>
<div class="casino-stat-item" style="color: #ef5350;">📉 Долг: <strong id="bank-debt-stat">0</strong></div>
</div>
<!-- Casino Tabs -->
<div class="casino-tabs">
<button id="tab-casino-slots" class="casino-tab active">🎰 Слот-Машина</button>
<button id="tab-casino-bank" class="casino-tab">🏦 Банк и Займы</button>
</div>
</div>
<!-- Tab 1: Slot Machine -->
<div id="casino-content-slots" class="casino-content">
<!-- Slot Machine Visual Cabinet -->
<div class="slot-machine-cabinet">
<div class="slot-reels-frame">
<div class="slot-reel" id="reel-1"><span class="reel-symbol">🌻</span></div>
<div class="slot-reel" id="reel-2"><span class="reel-symbol">🟢</span></div>
<div class="slot-reel" id="reel-3"><span class="reel-symbol">🌰</span></div>
</div>
<div id="slot-result-banner" class="slot-result-banner">Сделайте ставку и нажмите «КРУТИТЬ»!</div>
</div>
<!-- Controls Row -->
<div class="slot-controls">
<div class="bet-selector">
<span style="font-size: 13px; color: #b0bec5;">Ставка:</span>
<button class="btn-bet active" data-bet="25">25</button>
<button class="btn-bet" data-bet="50">50</button>
<button class="btn-bet" data-bet="100">100</button>
<button class="btn-bet" data-bet="250">250</button>
</div>
<button id="btn-spin-slots" class="btn btn-spin">🎰 КРУТИТЬ!</button>
</div>
<!-- Paytable Info -->
<div class="slot-paytable">
<div class="paytable-item">7️⃣7️⃣7️⃣ <strong>ДЖЕКПОТ x200</strong> (+5 💎)</div>
<div class="paytable-item">💎💎💎 <strong>x60</strong> (+2 💎)</div>
<div class="paytable-item">🍒🍒🍒 <strong>x25</strong></div>
<div class="paytable-item">🌰🌰🌰 <strong>x12</strong></div>
<div class="paytable-item">🟢🟢🟢 <strong>x8</strong></div>
<div class="paytable-item">🌻🌻🌻 <strong>x4</strong></div>
<div class="paytable-item">✨ Пара <strong>x1.5</strong></div>
</div>
</div>
<!-- Tab 2: Bank & Loans -->
<div id="casino-content-bank" class="casino-content hidden">
<div class="bank-grid">
<!-- Deposit Box -->
<div class="bank-box">
<h3 style="color: #69f0ae; margin: 0 0 6px 0;">📈 Депозитный Счёт</h3>
<p style="font-size: 12px; color: #b0bec5; margin: 0 0 10px 0;">
Ставка: <strong>5% в час</strong> (офлайн-начисление до 48 часов). Приумножайте сбережения!
</p>
<div style="font-size: 14px; margin-bottom: 8px;">
Текущий вклад: <strong id="bank-deposit-val" style="color: #ffd54f;">0</strong> 💰
</div>
<div style="font-size: 13px; margin-bottom: 12px; color: #81c784;">
Накопленные проценты: +<strong id="bank-interest-val">0</strong> 💰
</div>
<div class="bank-actions-row">
<input type="number" id="input-deposit-amount" placeholder="Сумма..." min="10" step="50" style="width: 100px; padding: 6px; border-radius: 6px; border: 1px solid #455a64; background: #263238; color: #fff;">
<button id="btn-bank-deposit" class="btn btn-small" style="background: #2e7d32;">Внести</button>
<button id="btn-bank-withdraw" class="btn btn-small" style="background: #1565c0;">Снять всё</button>
</div>
</div>
<!-- Loan Box -->
<div class="bank-box">
<h3 style="color: #ff8a65; margin: 0 0 6px 0;">💳 Микрокредит Дэйва</h3>
<p style="font-size: 12px; color: #b0bec5; margin: 0 0 10px 0;">
Срочно нужны монеты на прокачку? Возьмите займ до <strong>2500 монет</strong> (комиссия 10%).
</p>
<div style="font-size: 14px; margin-bottom: 8px;">
Текущий долг: <strong id="bank-debt-val" style="color: #ef5350;">0</strong> 💰
</div>
<div class="bank-actions-row">
<input type="number" id="input-loan-amount" placeholder="Сумма..." min="100" max="2500" step="100" style="width: 100px; padding: 6px; border-radius: 6px; border: 1px solid #455a64; background: #263238; color: #fff;">
<button id="btn-bank-take-loan" class="btn btn-small" style="background: #e65100;">Взять займ</button>
<button id="btn-bank-repay-loan" class="btn btn-small" style="background: #455a64;">Погасить долг</button>
</div>
</div>
</div>
</div>
<div style="margin-top: 14px; text-align: center;">
<button id="btn-close-casino" class="btn" style="padding: 8px 32px;">НАЗАД</button>
</div>
</div>
</div>
<!-- Pre-Battle Seed Selection & Inventory Modal -->
<div id="seed-select-modal" class="overlay hidden">
<div class="banner-card seed-select-card">
@@ -266,6 +374,7 @@
<div class="workshop-tabs">
<button id="tab-plants" class="ws-tab active">🌿 Прокачка Растений</button>
<button id="tab-perks" class="ws-tab">✨ Перки Садовода</button>
<button id="tab-zombies" class="ws-tab">🧟 Мутации Зомби</button>
</div>
</div>
@@ -279,6 +388,14 @@
<div id="perks-upgrade-list" class="upgrade-grid"></div>
</div>
<!-- Tab 3: Zombie Mutations -->
<div id="ws-content-zombies" class="ws-content hidden">
<div style="font-size: 13px; color: #b0bec5; margin-bottom: 12px; text-align: center;">
Прокачивайте зомби для режима «Я, Зомби»! Усиленная броня, скорость, вампиризм и таран!
</div>
<div id="zombies-upgrade-list" class="upgrade-grid"></div>
</div>
<div style="margin-top: 12px; text-align: center;">
<button id="btn-close-workshop" class="btn" style="padding: 8px 32px;">НАЗАД</button>
</div>
@@ -502,6 +619,26 @@
</div>
</div>
<!-- Active Sessions and Devices Section -->
<div class="auth-sessions-section" style="margin-top: 14px; padding: 12px; background: rgba(0, 0, 0, 0.3); border-radius: 10px; border: 1px solid rgba(129, 199, 132, 0.3);">
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px;">
<div style="font-size: 13px; font-weight: bold; color: #a5d6a7; display: flex; align-items: center; gap: 6px;">
📱 МОИ УСТРОЙСТВА И АКТИВНЫЕ СЕССИИ
</div>
<button type="button" id="btn-refresh-sessions" class="btn btn-secondary" style="font-size: 11px; padding: 3px 8px;" title="Обновить список устройств">🔄</button>
</div>
<div id="auth-sessions-list" class="auth-sessions-list" style="display: flex; flex-direction: column; gap: 8px; max-height: 180px; overflow-y: auto; padding-right: 2px;">
<div style="font-size: 12px; color: #b0bec5; text-align: center; padding: 10px;">Загрузка активных сессий...</div>
</div>
<div style="margin-top: 10px; text-align: center;">
<button type="button" id="btn-terminate-other-sessions" class="btn btn-secondary" style="font-size: 11px; padding: 6px 12px; width: 100%; color: #ffab91; border-color: rgba(255, 87, 34, 0.4);">
🔒 Завершить сессии на всех других устройствах
</button>
</div>
</div>
<div style="display: flex; gap: 10px; justify-content: center; margin-top: 14px;">
<button type="button" id="btn-auth-logout" class="btn btn-danger">🚪 Выйти из аккаунта</button>
<button type="button" id="btn-auth-close-profile" class="btn btn-secondary">Закрыть</button>
@@ -673,6 +810,7 @@
<!-- Scripts loaded in dependency order -->
<script src="js/utils/assets.js"></script>
<script src="js/systems/config.js"></script>
<script src="js/systems/audio.js"></script>
<script src="js/utils/test_api.js"></script>
<script src="js/systems/auth.js"></script>
@@ -683,6 +821,8 @@
<script src="js/systems/economy.js"></script>
<script src="js/systems/combat.js"></script>
<script src="js/systems/workshop.js"></script>
<script src="js/systems/zombielab.js"></script>
<script src="js/systems/casino.js"></script>
<script src="js/systems/zengarden.js"></script>
<script src="js/systems/almanac.js"></script>
<script src="js/systems/achievements.js"></script>