diff --git a/AGENTS.md b/AGENTS.md index 316971c..1e81f37 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -20,14 +20,14 @@ ``` Проходит тот же геймплей «вживую» в браузере (не headless) и пишет `orca-*.png` в каталог запуска. Если Orca app не запущен — пропустить и НЕ блокировать (главный рубеж — пункт 2). Подробности и подводные камни: `docs/BROWSER-TESTING.md`. -4. Скриншоты: `node tests/gen-screenshots.js [каталог-сборки] [папка-вывода] [язык]` — 14 кадров × 3 вьюпорта (1280×720 / 360×640@2x / 800×[450@1.6x](mailto:450@1.6x); кадры sea/ocean — этап 43, swamp/swamp-night — этап 45), 24-битный PNG без альфа. Без аргументов — русские в `screenshots-wiki/`, с `en` — английские в `screenshots-wiki-en/`. README ссылается на `screenshots-wiki/mobp-*` (мобильный портрет). Emoji рисует встроенный шрифт (раздел «Встроенный emoji-шрифт») — системные emoji-шрифты для скриншотов больше не нужны. +4. Скриншоты: `node tests/gen-screenshots.js [каталог-сборки] [папка-вывода] [язык]` — 15 кадров × 3 вьюпорта (1280×720 / 360×640@2x / 800×[450@1.6x](mailto:450@1.6x); кадры sea/ocean — этап 43, swamp/swamp-night — этап 45, aquarium — этап 46), 24-битный PNG без альфа. Без аргументов — русские в `screenshots-wiki/`, с `en` — английские в `screenshots-wiki-en/`. README ссылается на `screenshots-wiki/mobp-*` (мобильный портрет). Emoji рисует встроенный шрифт (раздел «Встроенный emoji-шрифт») — системные emoji-шрифты для скриншотов больше не нужны. 5. Публикация в Яндекс Играх: `node tools/pack.mjs` (сборка dist/fishing-yandex.zip + самопроверка 5 пунктов) → `node tests/pack-smoke.js` (smoke играбельности КОПИИ из архива, 6 чек) → загрузить zip в консоль. Доки: раздел README «Публикация в Яндекс Играх», запись Этап 27 в DEVLOG. ## Подводные камни - `tests/test.js` берёт браузер из `process.env.CHROMIUM || '/usr/bin/chromium-browser'`, а URL игры резолвит динамически от каталога репо (тот же паттерн, что в `gen-screenshots.js`). Если тест падает на старте — поправьте имя/путь chromium под свой чекаут (переменная `CHROMIUM`). - Граница полуночи: если прогон стартует в пределах 5 минут от 00:00, test.js сам ждёт безопасное окно (дата не должна смениться посреди прогона — падают date-ассерты квестов/стрика). Это нормально, не баг. -- Тесты гоняют игру через внутренние глобалы в `page.evaluate`: `state`, `save`, `biteTimer`, `reel`, `SPECIES`, `SPECIES_NIGHT`, `rod()`, `SHINY_CHANCE`, `forceBoss`, `forceBite`, `forceVariant`, `VARIANTS`, `rollVariant()`, `variantChance()`, `fishForce()`, `stateBoss`, `bossPhase`, `dayPhase`, `pickSpecies()`, `setDayTime()`, `todayStr()`, `dateShift()`, `isoWeek()`, `achBonus()`, `forceWeather`, `weather`, `weatherT`, `weatherGap`, `WEATHER`, `WEATHER_GAP_MIN`, `WEATHER_GAP_MAX`, `WEATHER_DURATION`, `weatherActive()`, `BOAT_SKINS`, `BOBBER_SKINS`, `LOCATIONS`, `RIVER_SPECIES`, `RIVER_SPECIES_NIGHT`, `LAKE_SPECIES`, `LAKE_SPECIES_NIGHT`, `SEA_SPECIES`, `SEA_SPECIES_NIGHT`, `OCEAN_SPECIES`, `OCEAN_SPECIES_NIGHT`, `RIVER_IDS`, `LAKE_IDS`, `SEA_IDS`, `OCEAN_IDS`, `SWAMP_SPECIES`, `SWAMP_SPECIES_NIGHT`, `SWAMP_IDS`, `SWAMP_DAY_WEIGHTS`, `SWAMP_NIGHT_WEIGHTS`, `SAVE_KEY`, `loadSave`, `freshSave`, `ACHIEVEMENTS`, `checkAchievements`, `questText`, `YG` (и `YG.counts`), `forceLang`, `setLang()`, `LANG`, `trName()`, `trRarity()` (i18n, тесты §Y5), `pauseOpen` (пауза, тесты §Y6), `uiOpen`, `dayTime` и имена состояний `MENU/IDLE/CHARGE/CAST/WAIT/APPROACH/BITE/REEL/SNAP/CARD`. Переименование любого из них ломает тесты молча — имена держать, либо обновлять тест в том же коммите. +- Тесты гоняют игру через внутренние глобалы в `page.evaluate`: `state`, `save`, `biteTimer`, `reel`, `SPECIES`, `SPECIES_NIGHT`, `rod()`, `SHINY_CHANCE`, `forceBoss`, `forceBite`, `forceVariant`, `VARIANTS`, `rollVariant()`, `variantChance()`, `fishForce()`, `stateBoss`, `bossPhase`, `dayPhase`, `pickSpecies()`, `setDayTime()`, `todayStr()`, `dateShift()`, `isoWeek()`, `achBonus()`, `forceWeather`, `weather`, `weatherT`, `weatherGap`, `WEATHER`, `WEATHER_GAP_MIN`, `WEATHER_GAP_MAX`, `WEATHER_DURATION`, `weatherActive()`, `BOAT_SKINS`, `BOBBER_SKINS`, `LOCATIONS`, `RIVER_SPECIES`, `RIVER_SPECIES_NIGHT`, `LAKE_SPECIES`, `LAKE_SPECIES_NIGHT`, `SEA_SPECIES`, `SEA_SPECIES_NIGHT`, `OCEAN_SPECIES`, `OCEAN_SPECIES_NIGHT`, `RIVER_IDS`, `LAKE_IDS`, `SEA_IDS`, `OCEAN_IDS`, `SWAMP_SPECIES`, `SWAMP_SPECIES_NIGHT`, `SWAMP_IDS`, `SWAMP_DAY_WEIGHTS`, `SWAMP_NIGHT_WEIGHTS`, `SAVE_KEY`, `loadSave`, `freshSave`, `ACHIEVEMENTS`, `checkAchievements`, `questText`, `YG` (и `YG.counts`), `forceLang`, `setLang()`, `LANG`, `trName()`, `trRarity()` (i18n, тесты §Y5), `pauseOpen` (пауза, тесты §Y6), `uiOpen`, `dayTime` и имена состояний `MENU/IDLE/CHARGE/CAST/WAIT/APPROACH/BITE/REEL/SNAP/CARD`; аквариум (этап 46): `aqOpen`, `aqFishRt`, `aqSel`, `aqTank`, `AQ_BASE_SLOTS`, `AQ_MAX_SLOTS`, `AQ_SLOT_COSTS`, `AQ_VARIANT_FX`, `AQ_VARIANT_HUE`, `initAquarium`, `updateAquarium`, `drawAquarium`, `aqFishSize`, `aqTap`, `showAqPop`, `hideAqPop`, `renderAqBar`, `aqReleaseSel`, `openAquarium`, `closeAquarium`, `syncKeepBtn`, `cardSpec`, `save.aqFish`, `save.aqSlots` (`aqValue` удалён — не использовать). Переименование любого из них ломает тесты молча — имена держать, либо обновлять тест в том же коммите. - Ввод на Pointer Events (`pointerdown`/`pointerup`), а не touch/mouse — так тест управляет игрой мышью. Не заменять на тач-обработчики. - Сейв: ключ localStorage `fishing-save-v1`. При изменении формата — миграцию добавлять в `loadSave()` (старые сейвы обязаны оставаться читаемыми). @@ -45,7 +45,7 @@ Цикл настройки баланса новой локации: (1) новые виды — только в КОНЕЦ `SPECIES` + ключ каждому id в `NIGHT_WEIGHTS`; (2) свои `*_IDS` + `*_DAY_WEIGHTS`/`*_NIGHT_WEIGHTS` без пересечений с другими водами (пин lc2 + проверка скрипта), развилка таблиц в `pickSpecies()`; (3) крутить доли прикидками без правки игры: `node tools/balance.mjs --set zander:30 --set bleak:5` (id — латиницей!) до нужных цифр — двигают СДВИГ долей, ×константа всех весов доход не меняет; (4) перенести финальные веса в index.html и перегнать скрипт БЕЗ `--set` — цифры обязаны совпасть с what-if; (5) цена/веса самих видов (`SPECIES`) — тоже видны скрипту сразу, но их правки могут задевать другие локации (общий словарь!) — пересчитать всё; (6) прогнать плейтест (lc2/lc4 и пины §9j/M4/M6 — река не должна меняться). - Сложность вываживания: `updateReel()`. - Физика боя (спринт 4): `fishForce()` (сила рыбы: рывок `(16+34·st)·(0.5+0.9·ag)·(0.7+0.5·ov)`, затишье `5+7·ag`, уставшая ×0.45) и `updateReel()` — выносливость `st` (старт `st0`, флаг `tired` при `st≤0.12`: рывки ×0.45, втягивание быстрее до ×1.6), тормоз катушки (черта `drag` в `RODS`: в рывке выше тормоза леска скользит `over·0.22`), натяжение (`10+over·1.1+22·ag`, ×0.35 в затишье), втягивание `(11+3·reel)·(1+0.6·(1−st))`, свободный бег `F·0.32`, escape-бар растёт только при затишье без удержания (отпускание в рывок безопасно), near-miss `1.45·d0`, `d0=45+7·w`. Пустые клёвы: ролл `biteChance()` в ветке WAIT (тест-форс `forceBite`). Тесты (§10) завязаны на эти константы — при ребалансе гонять Monte-Carlo точными формулами (docs/PHYSICS-RESEARCH.md, §4.7) и править тесты в том же коммите. -- Награды (M2): шаблоны квестов `QUEST_TPLS`, награды стрика `STREAK_REWARDS`, достижения `ACHIEVEMENTS` — секция «M2. Награды» после сейва. Этап 22: ачивок 29, этап 36: 31 (+`sea_first`/`ocean_first` — locations-based, пин §10c(8) не трогает), этап 37: 34 (+`lake_boss`/`sea_boss`/`ocean_boss` — пер-босс, БЕЗ coinPct, пин §10c(8) не трогает), этап 45: 36 (+`swamp_first` — locations-based, `coinPct:0.02`; `swamp_boss` — пер-босс, БЕЗ coinPct) (идут `ACHIEVEMENTS`-записями по темам: снасти у экономики, варианты/погода/вес/ночь у рыболовных, скины/локации у магазинных); новые счётчики сейва `save.kgTotal`/`nightCatch`/`wxRainV`/`wxFog` (чтение через `||0` — без миграции) ставятся в `catchFish()` до `checkAchievements()` (rain-счётчик — только вариант ≠ normal, босс всегда normal); тест-пин §10c(8): сумма `achBonus().coinPct` (все 8 видов × 8 вариантов) = 0.18 (этап 45 добавил `swamp_first` +0.02; старые пины 0.16 обновлены). +- Награды (M2): шаблоны квестов `QUEST_TPLS`, награды стрика `STREAK_REWARDS`, достижения `ACHIEVEMENTS` — секция «M2. Награды» после сейва. Этап 22: ачивок 29, этап 36: 31 (+`sea_first`/`ocean_first` — locations-based, пин §10c(8) не трогает), этап 37: 34 (+`lake_boss`/`sea_boss`/`ocean_boss` — пер-босс, БЕЗ coinPct, пин §10c(8) не трогает), этап 45: 36 (+`swamp_first` — locations-based, `coinPct:0.02`; `swamp_boss` — пер-босс, БЕЗ coinPct), этап 46: 38 (+`aq_first` «Первый жилец» / `aq_full` «Аквариум полон» — аквариум, `bonus:{}`, пин §10c(8) не трогают) (идут `ACHIEVEMENTS`-записями по темам: снасти у экономики, варианты/погода/вес/ночь у рыболовных, скины/локации/аквариум у магазинных); новые счётчики сейва `save.kgTotal`/`nightCatch`/`wxRainV`/`wxFog` (чтение через `||0` — без миграции) ставятся в `catchFish()` до `checkAchievements()` (rain-счётчик — только вариант ≠ normal, босс всегда normal); тест-пин §10c(8): сумма `achBonus().coinPct` (все 8 видов × 8 вариантов) = 0.18 (этап 45 добавил `swamp_first` +0.02; старые пины 0.16 обновлены; этап 46 не меняет — aq-ачивки с `bonus:{}`). - SDK Яндекс Игр (Y1): секция «Y1: SDK Яндекс Игр» перед «ЦИКЛ» — обёртка YG (стаб при file:// без ?sdk=1: скрипт не создаётся, no-op'ы + счётчики counts), динамическая загрузка /sdk.js (http(s)) с retry/warn, LoadingAPI.ready() первым кадром, GameplayAPI.start/stop в btnPlay/openShop/closeShop/btnGmResume (в гменю-флоу stop даёт `YG.onPause()`, дублей нет — пин §Y8(4)), game_api_pause/resume + visibilitychange → YG.onPause/onResume (AC.suspend, пауза всего игрового времени в frame()). - Реклама (Y2): константы `AD_FIRST_MS`/`AD_COOLDOWN_MS` (секция Y1), точка interstitial — `tryInterstitial()` в хендлере `btnCardOk` (гейт: первый показ ≥2 мин сессии, кулдаун 3 мин; `lastAdTs` — осознанно «попытка», не показ — при троттлинге платформы wasShown=false кулдаун сгорает), RV-кнопка `#btnRv` «📺 Реклама: ×2 за этот улов» на карточке улова (`showCard` сбрасывает `rvVal`/`rvDone`), методы `YG.showFullscreen/showRewarded` (+watchdog 90 с), `endAd()`; карточка улова БЕЗ `gameplayStop()` — осознанно (часть цикла улова); реклама не персистится в сейв (только `persist()` перед показом и после бонуса). - i18n (треб. 2.14/2.2): таблица `T={ru,en}` (единая точка строк UI), `t(key)`/`tt(key,o)`, `LANG` (дефолт `ru`), `forceLang` (тест-форс), `setLang()` (обновляет ``/`` + пере-рендер меню/статичного UI и открытых оверлеев — магазина/карточки), `resolveLang(ysdk)` — резолюция: `forceLang` → `ysdk.environment.i18n.lang` → `ru`; стаб (file:// без SDK) — всегда `ru` (`navigator.language` НЕ используется — ломает headless-тесты). `trName`/`trDesc`/`trRarity` — выбор по `nameEn`/`descEn`/`RARITY_NAMES_EN` в таблицах данных. Меню — `renderMenu()` (device-aware: тач/мышь, `IS_TOUCH`). EN-ветка `questText()` (RU-ветка с `pluralN` не меняется). @@ -55,6 +55,7 @@ - Закрытие по тапу мимо диалога: `backdropClose(el,fn)` (секция «КНОПКИ», после Y2-хендлеров) — `pointerdown`, где `e.target ===` сам оверлей (тап на подложку, не .panel), закрывает диалог тем же действием, что и кнопка: `#shop`→`closeShop`, `#resetDlg`→«Отмена» (`btnResetNo.click()`), `#pause`→`closePause`, `#gamemenu`→«Продолжить» (`btnGmResume.click()`), `#card`→«Отлично!» (`btnCardOk.click()`, вкл. интерстишел). `#menu` — экран старта, не диалог. Новый оверлей-диалог без `backdropClose` не добавлять. Подводный камень: у `#card` pop-анимация (`#card{animation:pop .3s}` — transform scale) — пока идёт (300 мс), hit-area подложки сужена и тап мимо уходит на канвас (в реальном флоу state='CARD' → onDown no-op, безвредно; тест §X ждёт 400 мс после showCard). - Встроенный emoji-шрифт (Э28): все emoji UI и canvas рисует вшитый шрифт — субсет Noto Color Emoji (COLRv1, OFL) как base64 `@font-face font-family:'EmojiEmbedded'` в index.html между маркерами `<!-- EMOJI-FONT:BEGIN/END -->` (внешний .woff2 невозможен: публикуется только один index.html). В font-stack `html,body` и во всех `ctx.font` (константа `UI_FONT`, секция «ОТРИСОВКА») стоит ПЕРВЫМ — единый Google-стиль emoji на всех платформах; headless-скриншоты не зависят от системных шрифтов. Первый кадр ждёт `document.fonts.load('16px "EmojiEmbedded"')` с timeout-фолбэком 1.5 с. Генератор `tools/emoji-font.py` (venv: `python3 -m venv tools/.venv && tools/.venv/bin/pip install fonttools brotli`; исходник `tools/fonts-src/NotoColorEmoji-Regular.ttf` из google/fonts, всё в gitignore): `python3 tools/emoji-font.py` — перегенерация по текущим emoji index.html (ОБЯЗАТЕЛЬНО при добавлении новых emoji), `--check` — падает, если субсет не покрывает index.html (✓ № ● ○ ↩ — в NCE их нет, это ок, рисуются системными шрифтами). Тест §Y7 (tests/test.js) гоняет `document.fonts.check('16px "EmojiEmbedded"','🪙')`; семейство переименовывать нельзя (тест + @font-face + UI_FONT). - **Портреты рыб (SVG-спрайт)**: исходники `assets/fish/fish-<id>.svg` (37 файлов — 5 болотных добавлено этапом 45, viewBox 0 0 160 100, цвета `var(--f1..f4, hsl-fallback)`; переменные НЕ объявлять на `<svg>`/`<g>`); встраивание — `node tools/embed-fish.mjs` (идемпотентно, блок между маркерами `FISH-SVG:BEGIN/END` в index.html, сразу после `<body>`; самопроверка + `check.mjs` внутри); приёмка — `tools/fish-preview.html` (file://); дневник/карточка показывают через `<use href="#fish-<id>">` (дневник `.jrow .je svg`, карточка `#cardEmoji svg`, `showCard` ставит href у `#cardFishUse`); перекраска вариантов — CSS-переменные `--f1`/`--f3` в `#card.<variant>-card .bigemoji` (наследуются сквозь `<use>`; silver/rainbow — существующие filter); правка портрета = правка `assets/fish/*.svg` + повторный запуск embed-скрипта. Эмодзи рыб УБРАНЫ (этап 42): поле emoji удалено из SPECIES, тосты без эмодзи, иконка квеста catch_species — mini-SVG `<svg class="qfish"><use href="#fish-<id>">`; субсет emoji-шрифта перегенерирован (рыбных глифов нет). +- **Аквариум (Этап 46)**: декоративная сцена коллекции ЭКЗЕМПЛЯРОВ (вид+вариант+вес), **НЕ локация** — в `LOCATIONS`/`SPECIES_BY_LOCATION`/`BOSS_BY_LOCATION` не входит, роллы/боссы/баланс/пины не трогает (`tools/balance.mjs` не менялся). Данные: `save.aqFish[]` (`{id,v,w}`) + `save.aqSlots` (старт `AQ_BASE_SLOTS=6`, макс `AQ_MAX_SLOTS=12`), константы `AQ_BASE_SLOTS`/`AQ_MAX_SLOTS`/`AQ_SLOT_COSTS=[1500,4000,9000,20000,45000,100000]` в секции ДАННЫЕ рядом со скинами/локациями. **Модель C — бесплатная КОПИЯ**: `catchFish()` НЕ меняется (монеты/квесты/ачивки/реклама начисляются на улове как раньше), кнопка `#btnKeep` «🐠 В аквариум» на карточке улова кладёт копию экземпляра (`cardSpec={sp,w,variant}` в `showCard()`, `syncKeepBtn()` — `disabled` + подпись/`title` «Нет места» при `save.aqFish.length>=save.aqSlots`), затем `persist()`/`checkAchievements()`/тост `aq_kept`/закрытие карточки/`state='IDLE'`/`tryInterstitial()` (единообразно с `#btnCardOk`). Сцена: `aqOpen`, `aqFishRt[]` (раскладка `x,y,dir,ph,spd,vy,tail` — НЕ персистится, индекс = `save.aqFish`), `aqSel` (сентинел `-1` = ничего), `aqTank`/`aqPlants`/`aqBubbles`, `initAquarium()`/`updateAquarium(dt)`/`drawAquarium()` (вода `hexLerp` к `nightMix()` — общий цикл суток; `drawFishShape` + подкраска варианта `AQ_VARIANT_FX`/`AQ_VARIANT_HUE`, свечение болотных `drawGlowAura`+`glowIntensity()`, размер `aqFishSize(sp,w)`; сетка стартовых позиций, разворот у стенок, пузыри). Точки жизненного цикла: `frame()` (`if(aqOpen) updateAquarium(dt)`), `draw()` (`if(aqOpen){ drawAquarium(); ctx.restore(); return; }` — банка ВМЕСТО озера), `onDown()` (ранний `if(aqOpen){ aqTap(x,y); return; }`), `resize()` (`if(aqOpen) initAquarium()`), `syncDom()` (под `aqOpen` `#btnPause`/`#btnRecall` не показываются). DOM: вход `#btnGmAquarium` в хабе `#gamemenu` → `openAquarium()`/`closeAquarium()` (аналог `shopFromMenu` — флаг `aqFromMenu`, «Назад» возвращает в гменю; `YG.gameplayStop()`; `uiOpen=true`); бар `#aqBar` (`#btnAqBack`, `#aqCount` «N/M», `#btnAqSlot` — цена `AQ_SLOT_COSTS[aqSlots-AQ_BASE_SLOTS]`, при максе `disabled`), поповер `#aqPop` (`#aqPopName`/`#aqPopSub` — вес · редкость, БЕЗ цены), тап по рыбе `aqTap(x,y)` (ближайшая в радиусе → `aqSel` → `showAqPop()`). «Выпустить» = `#btnAqRelease` → `aqReleaseSel()` — точечное удаление экземпляра ИНДЕКСАМИ (без `initAquarium`, позиции остальных сохраняются) **БЕЗ монет** (освобождение слота; продажа из банки была в плане §7, но по решению владельца заменена на выпуск — экономика не затронута). Миграция `loadSave()`: `aqFish` фильтруется по `SPECIES` (`Number.isFinite(w)&&w>0`), вариант → `'normal'`, `aqSlots` — `Math.trunc` + клампы `AQ_BASE_SLOTS..AQ_MAX_SLOTS`, хвост обрезается по слотам. Ачивки 36→38: `aq_first` «Первый жилец» / `aq_full` «Аквариум полон» — обе `bonus:{}` (пин `achBonus().coinPct=0.18` не сдвинут). i18n: `gm_aquarium`, `aq_title`, `aq_keep`, `aq_back`, `aq_slots`, `aq_buy_slot`, `aq_max`, `aq_release`, `aq_released`, `aq_no_room`, `aq_kept` (RU/EN). Emoji: 🐠 добавлен во встроенный субсет (перегенерация `tools/emoji-font.py`, `--check` OK). Подводные камни: `body.aq-open` прячет `#hud` (CSS + `syncDom`), а `#aqBar{pointer-events:none}` + `.aqpill{pointer-events:auto}` — иначе невидимая полоса бара перехватывала бы тапы по сцене; сентинел `aqSel=-1` (все проверки индекса — `aqSel>=0`); «выпустить» без монет — не вводить продажу (сознательное решение, дыра ×2 дохода закрыта). ## Запуск и публикация diff --git a/KODA.md b/KODA.md index 24da1a8..59ba0fc 100644 --- a/KODA.md +++ b/KODA.md @@ -45,12 +45,13 @@ | `СОХРАНЕНИЕ` | `save`, `freshSave()`, `loadSave()` (со всеми миграциями), `persist()` | | `M3: ЦИКЛ ДНЯ/НОЧИ` | `DAY_LENGTH`, `dayTime`, `dayPhase`, `setDayTime()` | | `M8: ПОГОДА` | `WEATHER`, таймеры, `weatherActive()`, `updateWeather()` | -| `M2: НАГРАДЫ` | квесты дня (`QUEST_TPLS`), стрик (`STREAK_REWARDS`), 36 достижений (`ACHIEVEMENTS`), `achBonus()` | +| `M2: НАГРАДЫ` | квесты дня (`QUEST_TPLS`), стрик (`STREAK_REWARDS`), 38 достижений (`ACHIEVEMENTS`), `achBonus()` | | `ХОЛСТ И РАЗМЕРЫ` | `resize()`, DPR, layout (`waterY`, `boatX`) | | `ЗВУК` | `ac()`, `beep()`, `noiseBurst()`, `sfx()`, `vib()` | | `СОСТОЯНИЕ ИГРЫ` | все мутабельные глобалы геймплея | | `ЛОГИКА` | `pickSpecies()`, `biteChance()`, `rollWeight()`, `hook()`, `fishForce()`, `updateReel()`, `catchFish()`, `updateGame()` | | `ОТРИСОВКА` | `UI_FONT`, `drawSky/Water/Scenery/AmbientFish/Boat/Bobber/Meters/Weather()`, свечение Болота (`drawGlowAura()`/`fishGlow()`/`GLOW_RGBA`), декор `drawSwampDecor()` (`pads`/`frogs`), `draw()` | +| `АКВАРИУМ (Этап 46)` | `aqOpen`, `initAquarium()`/`updateAquarium()`/`drawAquarium()`, `aqTap()`/`aqReleaseSel()`, слоты (`AQ_BASE_SLOTS`/`AQ_MAX_SLOTS`/`AQ_SLOT_COSTS`) | | `Y1: SDK Яндекс Игр` | обёртка `YG`, реклама (`tryInterstitial()`, `#btnRv`), пауза платформы | | `Y5: i18n RU/EN` | таблица `T`, `t()`/`tt()`, `setLang()`, `resolveLang()`, `renderMenu()` | | `ЦИКЛ` | `frame()` — requestAnimationFrame, дельта-тайм, пауза | @@ -64,8 +65,9 @@ - **8 вариантов рыбы**: обычная, медная ×1.5, серебряная ×2, кварцевая ×2.5, золотая ×3, изумрудная ×4, алмазная ×4.5, радужная ×5 (топ). P(особой) ≈ 31%, шанс усиливают наживка и дождь. - **4 удочки и 4 приманки**, каждая с апгрейдами до 4 уровня (фонарик для ночи, леска, тормоз, катушка, клёв, редкие/крупные). - **Цикл суток ~5 минут**, погода (дождь 🌧️ ×3 к особым, туман 🌫️ ×1.5 к клёву), **босс в каждой локации** (Река — осётр, Озёра — гигантский рак, Море — рыба-меч, Океан — синий кит, Болото — дух болота; босс весит 20–50 кг) в 3 фазы (награда ×5). -- **Награды**: 3 квеста дня (детерминированы от даты), стрик входов до 7 дней со «щитом», 36 достижений с постоянными бонусами. +- **Награды**: 3 квеста дня (детерминированы от даты), стрик входов до 7 дней со «щитом», 38 достижений с постоянными бонусами. - **Лавка** с вкладками: Лавка 🛒, Дневник 📔, Награды 🎯, Достижения 🏅, Скины 🎨, Локации 🗺️. Плюс хаб «Меню» `#gamemenu` из паузы. +- **Аквариум 🐠** (этап 46): декоративная сцена коллекции экземпляров (вид+вариант+вес), вход из хаба «Меню»; кнопка «В аквариум» на карточке улова кладёт бесплатную копию (модель C — экономика не затронута), слоты 6→12 за монеты (1500…100000 🪙), тап по рыбе — поповер с весом/редкостью и «Выпустить» (без монет). - **Монетизация**: interstitial (2 мин сессии, кулдаун 3 мин) и rewarded «×2 за улов». - **Локализация RU/EN** через `ysdk.environment.i18n.lang`. @@ -100,7 +102,7 @@ node tools/check.mjs # блок-за-блоком прогоняет J ```bash cd tests npm install # ставит puppeteer-core -npm test # = node test.js → ждать 204/204 PASS и exit 0 +npm test # = node test.js → ждать 218/218 PASS и exit 0 ``` - Браузер берётся из `process.env.CHROMIUM || '/usr/bin/chromium-browser'` — при необходимости поправьте путь. @@ -112,8 +114,8 @@ npm test # = node test.js → ждать 204/204 PASS и ```bash node tests/gen-screenshots.js [каталог-сборки] [папка-вывода] [язык] - # 14 кадров × 3 вьюпорта (десктоп 1280×720, моб. портрет 360×640@2x, - # моб. ландшафт 800×450@1.6x) = 42 PNG, 24-бит без альфа. + # 15 кадров × 3 вьюпорта (десктоп 1280×720, моб. портрет 360×640@2x, + # моб. ландшафт 800×450@1.6x) = 45 PNG, 24-бит без альфа. # Без аргументов → screenshots-wiki/ (RU); с 'en' → screenshots-wiki-en/. # README ссылается на screenshots-wiki/mobp-* (мобильный портрет). @@ -166,7 +168,7 @@ node tests/pack-smoke.js # прогон игры из распакованно ```bash # 1. поправить index.html node tools/check.mjs # 2. синтаксис -cd tests && npm install && npm test # 3. главный рубеж: ждать 204/204 PASS, exit 0 +cd tests && npm install && npm test # 3. главный рубеж: ждать 218/218 PASS, exit 0 node tools/emoji-font.py # (если добавляли emoji) + --check node tests/gen-screenshots.js # 4. переснять скриншоты, если менялась картинка node tools/pack.mjs && node tests/pack-smoke.js # 5. перед публикацией @@ -177,9 +179,9 @@ git add -A && git commit -m "…" && git push ### Тесты и их ограничения -- Тесты гоняют игру через внутренние глобалы в `page.evaluate`: `state`, `save`, `biteTimer`, `reel`, `SPECIES`, `SPECIES_NIGHT`, `rod()`, `lure()`, `SHINY_CHANCE`, `forceBoss`, `forceBite`, `forceVariant`, `VARIANTS`, `rollVariant()`, `variantChance()`, `fishForce()`, `stateBoss`, `bossPhase`, `dayPhase`, `pickSpecies()`, `setDayTime()`, `todayStr()`, `dateShift()`, `isoWeek()`, `achBonus()`, `forceWeather`, `weather`, `weatherT`, `weatherGap`, `WEATHER`, `WEATHER_GAP_MIN/MAX`, `WEATHER_DURATION`, `weatherActive()`, `BOAT_SKINS`, `BOBBER_SKINS`, `LOCATIONS`, `RIVER_SPECIES(_NIGHT)`, `LAKE_SPECIES(_NIGHT)`, `SEA_SPECIES(_NIGHT)`, `OCEAN_SPECIES(_NIGHT)`, `SWAMP_SPECIES(_NIGHT)` (+ `*_IDS`/`*_WEIGHTS` локаций), `SAVE_KEY`, `loadSave`, `freshSave`, `ACHIEVEMENTS`, `checkAchievements`, `questText`, `YG` (+ `YG.counts`), `forceLang`, `setLang()`, `LANG`, `trName()`, `trRarity()`, `pauseOpen`, `uiOpen`, `dayTime` и имена состояний `MENU/IDLE/CHARGE/CAST/WAIT/APPROACH/BITE/REEL/SNAP/CARD`. +- Тесты гоняют игру через внутренние глобалы в `page.evaluate`: `state`, `save`, `biteTimer`, `reel`, `SPECIES`, `SPECIES_NIGHT`, `rod()`, `lure()`, `SHINY_CHANCE`, `forceBoss`, `forceBite`, `forceVariant`, `VARIANTS`, `rollVariant()`, `variantChance()`, `fishForce()`, `stateBoss`, `bossPhase`, `dayPhase`, `pickSpecies()`, `setDayTime()`, `todayStr()`, `dateShift()`, `isoWeek()`, `achBonus()`, `forceWeather`, `weather`, `weatherT`, `weatherGap`, `WEATHER`, `WEATHER_GAP_MIN/MAX`, `WEATHER_DURATION`, `weatherActive()`, `BOAT_SKINS`, `BOBBER_SKINS`, `LOCATIONS`, `RIVER_SPECIES(_NIGHT)`, `LAKE_SPECIES(_NIGHT)`, `SEA_SPECIES(_NIGHT)`, `OCEAN_SPECIES(_NIGHT)`, `SWAMP_SPECIES(_NIGHT)` (+ `*_IDS`/`*_WEIGHTS` локаций), `SAVE_KEY`, `loadSave`, `freshSave`, `ACHIEVEMENTS`, `checkAchievements`, `questText`, `YG` (+ `YG.counts`), `forceLang`, `setLang()`, `LANG`, `trName()`, `trRarity()`, `pauseOpen`, `uiOpen`, `dayTime` и имена состояний `MENU/IDLE/CHARGE/CAST/WAIT/APPROACH/BITE/REEL/SNAP/CARD`; аквариум (этап 46): `aqOpen`, `aqFishRt`, `aqSel`, `aqTank`, `AQ_BASE_SLOTS`, `AQ_MAX_SLOTS`, `AQ_SLOT_COSTS`, `AQ_VARIANT_FX`, `AQ_VARIANT_HUE`, `initAquarium`, `updateAquarium`, `drawAquarium`, `aqFishSize`, `aqTap`, `showAqPop`, `hideAqPop`, `renderAqBar`, `aqReleaseSel`, `openAquarium`, `closeAquarium`, `syncKeepBtn`, `cardSpec`, `save.aqFish`/`save.aqSlots`. **Переименование любого из них ломает тесты молча** — имена держать, либо обновлять тест в том же коммите. -- Числа проверок зафиксированы в README (`204/204` в `tests/test.js`, `76/76` в Orca, `6/6` в pack-smoke) — при добавлении проверок обновлять доки в том же коммите. +- Числа проверок зафиксированы в README (`218/218` в `tests/test.js`, `76/76` в Orca, `6/6` в pack-smoke) — при добавлении проверок обновлять доки в том же коммите. - Изменение физики вываживания требует **Monte-Carlo-проверки точными формулами** (см. `docs/PHYSICS-RESEARCH.md`, §4.7) и синхронной правки тестов. - Пины шансов в тестах снимаются на **нейтральной снасти** (снапшот/рестор `save.lure`/`lureLv` внутри eval). - В браузере Orca (живой плейтест) нельзя использовать фиксированные `sleep` для ожидания состояний — rAF троттлится; только polling с таймаутом. @@ -200,6 +202,7 @@ git add -A && git commit -m "…" && git push - `catchFish()` обнуляет `reel` — все обращения к `reel` в `updateGame()` под гардом `if(state==='REEL'&&reel)`. - `shadowBlur` (неоновый поплавок, свечение босса) всегда в паре `save`/`restore`. - `save.caught[id]` — объект `{n, best, cp, sv, qz, sn, em, dm, rb}` (не число); `sn` исторически = «shiny» = gold-вариант. +- Аквариум: `#aqBar{pointer-events:none}` + `.aqpill{pointer-events:auto}` (иначе невидимая полоса перехватывает тапы по сцене), `body.aq-open` прячет `#hud`, сентинел `aqSel=-1`, «выпустить» — без монет (продажу из банки не вводить). - Пустой клёв и «ночь без фонарика» — легальные состояния ветки `WAIT`, а не ошибки; `forceBite` не работает ночью без `hasLight()`. - Headless Chromium в этом чекауте может не видеть `/tmp` по `file://` (smoke авто-откатывается во временный каталог под `$HOME`). @@ -217,11 +220,11 @@ git add -A && git commit -m "…" && git push | `index.html` | Вся игра: HTML + CSS + JS + встроенный emoji-шрифт | | `README.md` | Описание игры для игрока/читателя, «как играть», команды запуска и публикации | | `AGENTS.md` | Инструкция для агентов: порядок проверок, подводные камни, «где крутить» баланс | -| `docs/DEVLOG.md` | Журнал разработки: этапы 1–45, найденные баги, решения, Monte-Carlo | +| `docs/DEVLOG.md` | Журнал разработки: этапы 1–46, найденные баги, решения, Monte-Carlo | | `docs/BROWSER-TESTING.md` | Плейтест через Orca CLI: таблица шагов, 13 подводных камней, справочник CLI | | `docs/PHYSICS-RESEARCH.md` | Исследование физики вываживания и формулы баланса | -| `tests/test.js` | Главный автотест (headless Chromium + puppeteer-core), 204 проверки | -| `tests/gen-screenshots.js` | Генератор скриншотов wiki: 14 кадров × 3 вьюпорта, RU/EN | +| `tests/test.js` | Главный автотест (headless Chromium + puppeteer-core), 218 проверок | +| `tests/gen-screenshots.js` | Генератор скриншотов wiki: 15 кадров × 3 вьюпорта, RU/EN | | `tests/orca-playtest.js` | Плейтест в живом браузере Orca через CLI, 76 проверок | | `tests/pack-smoke.js` | Smoke-прогон игры из распакованного архива, 6 проверок | | `tests/package.json` | Зависимость `puppeteer-core`; скрипты `test`, `shots` | @@ -244,6 +247,7 @@ git add -A && git commit -m "…" && git push | Погода | `WEATHER`, `updateWeather()`, `weatherActive()` | | Квесты / стрик / достижения | `QUEST_TPLS`, `STREAK_REWARDS`, `ACHIEVEMENTS`, `achBonus()` | | Скины и локации | `BOAT_SKINS`, `BOBBER_SKINS`, `LOCATIONS`, `RIVER_*` / `LAKE_*` / `SEA_*` / `OCEAN_*` / `SWAMP_*`, свечение/декор Болота (`glow`, `drawGlowAura()`, `drawSwampDecor()`) | +| Аквариум | секция `АКВАРИУМ (Этап 46)`, `AQ_BASE_SLOTS`/`AQ_MAX_SLOTS`/`AQ_SLOT_COSTS`, `initAquarium()`/`drawAquarium()`, `#btnKeep`/`syncKeepBtn()`, `openAquarium()` | | Тексты интерфейса | таблица `T = {ru, en}`, `t()` / `tt()`, `renderMenu()` | | SDK и реклама | секция `Y1: SDK Яндекс Игр`, `tryInterstitial()`, `YG.showRewarded` | | Миграции сейвов | `loadSave()` | diff --git a/README.md b/README.md index 729c288..47af59e 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ 4. **У каждой рыбы свой вес**, продажа — по цене за кг своего вида (от 4 до 1500 🪙/кг). Крупная рыба = большие деньги. 5. **У удочек есть предел веса** (3–40 кг): зацепишь более тяжёлую — шнур лопнет почти мгновенно. Чем лучше удочка и приманка, тем выше шанс зацепить крупную. Новый максимум по виду отмечен бейджем «🏆 РЕКОРД!» на карточке улова. 6. На монеты — новые удилища и приманки в лавке 🛒 (кнопка 🛒 в HUD или клик по счётчику монет). -7. **Награды 🎯**: три квеста дня (уловы, монеты, забросы) с наградой за выполнение; стрик входов — ежедневная награда растёт до дня 7, «щит» прощает один пропуск в неделю; 36 достижений 🏅 с постоянными бонусами (+% к монетам, окно подсечки, нагрузка шнура). +7. **Награды 🎯**: три квеста дня (уловы, монеты, забросы) с наградой за выполнение; стрик входов — ежедневная награда растёт до дня 7, «щит» прощает один пропуск в неделю; 38 достижений 🏅 с постоянными бонусами (+% к монетам, окно подсечки, нагрузка шнура). 8. **День/ночь**: полный цикл суток ~5 минут (утро → день → вечер → ночь). Ночью свой состав рыб — сом, щука и окунь активнее, но без 🪯 фонарика клёва не будет — фонарик дают апгрейды удилищ (1-й апгрейд любого удилища). 9. **Босс в каждой локации**: в каждой воде живёт свой босс — Река: осётр, Озёра: гигантский рак, Море: рыба-меч, Океан: синий кит, Болото: дух болота (шанс при поимке соответствующей рыбы). Босс весит 20–50 кг. Бой идёт в 3 фазы — босс «рвёт и уходит», и каждая следующая фаза глубже; удерживай, чтобы втащить. Награда ×5 к цене. 10. **Симулятор боёв (релиз 5)**: у рыбы есть выносливость — тонкая фиолетовая полоска под дистанцией: свежая рыба тянет долго и сильно, а уставшая (💤) вянет — втягивай её именно тогда. У катушек — тормоз (drag): рывок сильнее тормоза — леска скользит. Иногда поплавок не берёт вовсе — пустой клёв, подожди ещё немного. @@ -34,7 +34,8 @@ - Погода: дождь (🌧️) — шанс особых рыб ×3; туман (🌫️) — клёв ×1,5; событие идёт 120 с, следующее — раз в 2–4 минуты — <img src="screenshots-wiki/mobp-weather-rain.png" width="200" alt="дождь"> - Скины лодки и поплавка 🎨 — вкладка «Скины» в лавке: лодка «Красная лодка» 800 🪙 / «Лодка-домик» 2000 🪙, поплавок «Красный» 500 🪙 / «Неоновый» 1500 🪙 — чистая косметика (без эффектов на геймплей) - Локации: Озёра (65 536 🪙) — судак, хариус, гигантский рак; Море (131 072 🪙) — скумбрия, тунец, рыба-меч; Океан (196 608 🪙 = ×1.5 Моря) — глубоководные гиганты: синий кит, гигантский кальмар, скат-манта, гигантский осьминог; Волшебное болото (90 000 🪙) — светящиеся обитатели (светлячок, лунная рыбка, изумрудный светляк, фиалковый огонёк, дух болота), ночью рыбы и фоновые стайки светятся разными цветами, вода — тёмно-моховая, на поверхности кувшинки с лилиями и прыгающие лягушки; у каждой — свой состав днём/ночью, своя вода (цвет, волны, рыбы в толще) и свой берег (Река — лесистая полоса, Озёра — холмы, Море — парусник и чайки, Океан — открытый горизонт, Болото — мшистый берег с камышом), чем дальше вода — тем доходнее улов; покупка и переключение во вкладке 🗺️ лавки — <img src="screenshots-wiki/mobp-lake.png" width="200" alt="озёра"> <img src="screenshots-wiki/mobp-sea.png" width="200" alt="море"> <img src="screenshots-wiki/mobp-ocean.png" width="200" alt="океан"> <img src="screenshots-wiki/mobp-swamp.png" width="200" alt="болото днём"> <img src="screenshots-wiki/mobp-swamp-night.png" width="200" alt="болото ночью"> -- Квесты дня (3 шт, генерация по дню), стрик входов со «щитом», 36 достижений с бонусами +- **Аквариум 🐠** — декоративная сцена коллекции: с карточки улова кнопка «🐠 В аквариум» кладёт бесплатную копию экземпляра (монеты за улов платятся как обычно, модель C — экономика не тронута); старт 6 мест, расширение до 12 за монеты (1 500 → 100 000 🪙); тап по рыбе — вес и редкость, «Выпустить» освобождает слот (без монет). Вход — из хаба «Меню»; чистая косметика — <img src="screenshots-wiki/mobp-aquarium.png" width="200" alt="аквариум"> +- Квесты дня (3 шт, генерация по дню), стрик входов со «щитом», 38 достижений с бонусами - Дневник рыбака — коллекция, максимальный улов по каждому виду, статистика - Магазин с вкладками: Лавка 🛒, Дневник 📔, Награды 🎯, Достижения 🏅, Скины 🎨, Локации 🗺️ - Прогресс и коллекция сохраняются в `localStorage` (старые сейвы мигрируются автоматически) @@ -71,16 +72,16 @@ SDK подхватывается автоматически на площадк ## Тесты -Автотест прогоняет весь геймплей (бросок, подсечка, все исходы вываживания, магазин, дневник, сохранение, варианты рыб (медь/серебро/кварц/золото/изумруд/алмаз/радуга), near-miss, миграция сейва, квесты, стрик, достижения, день/ночь с фонариком, босс-рыба в 3 фазы, локации с эксклюзивной ихтиофауной и Болото со свечением/весами, SDK-стаб (YG), реклама: RV-бонус и гейты interstitial, i18n (RU/EN), пауза (кнопка + blur/focus окна)) в headless Chromium: +Автотест прогоняет весь геймплей (бросок, подсечка, все исходы вываживания, магазин, дневник, сохранение, варианты рыб (медь/серебро/кварц/золото/изумруд/алмаз/радуга), near-miss, миграция сейва, квесты, стрик, достижения, день/ночь с фонариком, босс-рыба в 3 фазы, локации с эксклюзивной ихтиофауной и Болото со свечением/весами, аквариум (заселение, лимит слотов, покупка слота, выпуск, миграция), SDK-стаб (YG), реклама: RV-бонус и гейты interstitial, i18n (RU/EN), пауза (кнопка + blur/focus окна)) в headless Chromium: ```bash cd tests npm install # ставит puppeteer-core -node test.js # 204 проверки +node test.js # 218 проверок ``` Нужен установленный Chromium (`executablePath` в `test.js` при необходимости поправить). Есть и браузерный плейтест «вживую» во встроенном браузере Orca: `node tests/orca-playtest.js` (из каталога репо, требует запущенный Orca app) — полный геймплей, проверка консоли и pageerror; детали в [docs/BROWSER-TESTING.md](docs/BROWSER-TESTING.md). -Скриншоты состояний — `tests/gen-screenshots.js` (headless, 14 кадров × 3 вьюпорта: десктоп 1280×720, мобильный портрет 360×640@2x, мобильный ландшафт 800×450@1.6x, 24-битный PNG без альфа). Без аргументов — русские скриншоты в `screenshots-wiki/`; с аргументом `en` — английские в `screenshots-wiki-en/`. README ссылается на `screenshots-wiki/mobp-*` (мобильный портрет). +Скриншоты состояний — `tests/gen-screenshots.js` (headless, 15 кадров × 3 вьюпорта: десктоп 1280×720, мобильный портрет 360×640@2x, мобильный ландшафт 800×450@1.6x, 24-битный PNG без альфа). Без аргументов — русские скриншоты в `screenshots-wiki/`; с аргументом `en` — английские в `screenshots-wiki-en/`. README ссылается на `screenshots-wiki/mobp-*` (мобильный портрет). diff --git a/docs/DEVLOG.md b/docs/DEVLOG.md index 9133db4..ca25804 100644 --- a/docs/DEVLOG.md +++ b/docs/DEVLOG.md @@ -839,3 +839,27 @@ git add -A && git commit -m "что изменилось" && git push - **Компактный ореол вместо размытого шара:** радиус уменьшен `size*2.6`→`size*1.5` (ambient), `bs/fs*2.6`→`bs/fs*1.5` (bite/hooked); профиль градиента крутой — стопы `0.55·I → 0.30·I (0.45) → 0` (было `0.42 → 0` с радиусом 2.6) — свет собран у тела, пятно не заезжает на рыбу. Силуэты светящихся видов ПОЛНОСТЬЮ непрозрачные (`drawFishShape(...,sp.glow?1:...)`, ambient-альфа `a+(1−a)·glowI`): тело/контур чёткие, аура позади. Боссовая золотая аура и CSS-свечение карточки/дневника не тронуты. Пиксель-приёмка (headless, Болото, фоновые): excess яркости ореола над фоном t=0.30 → 0 (I=0), t=0.55 → 7.4 (I=0.02), t=0.70 → 13.1 (I=0.50), t=0.85 → 18.6 (I=1.00); тело при I=1 насыщенное (sat≈93, «мыла»/белёсости 0%). - **Лягушки крупнее:** `frogs[].s` 4.5–7 → 9–14 (≈×2), прыжковая высота `jh` 10–22 → 16–30, старт 14→20; вся отрисовка `drawSwampDecor()` уже масштабируется от `s` (лапы/тело/голова/глаз/передние лапы) — bbox при s=12 ≈28×21.5 px (при s=6 было 13.5×10.5). - Скриншоты RU/EN перегенерированы (swamp-night изменился + лягушки в swamp). + +## Этап 46. Аквариум (коллекция экземпляров, модель C — бесплатная копия) + +**Задача:** по плану `docs/PLAN-AQUARIUM.md` добавить **Аквариум** — декоративную сцену коллекции ЭКЗЕМПЛЯРОВ (вид+вариант+вес), куда «высаживаются» пойманные рыбы. Это **не локация** для ловли: в `LOCATIONS`/`SPECIES_BY_LOCATION`/`BOSS_BY_LOCATION` не входит, роллы/боссы/баланс не трогаются (пины `tools/balance.mjs` живут). + +**Решения:** +- **Данные** (секция ДАННЫЕ рядом со скинами/локациями): `save.aqFish[]` (`{id,v,w}` — вид, вариант, вес) и `save.aqSlots` (старт `AQ_BASE_SLOTS=6`), константы `AQ_BASE_SLOTS=6`, `AQ_MAX_SLOTS=12`, `AQ_SLOT_COSTS=[1500,4000,9000,20000,45000,100000]` (лестница за расширение 6→12; в масштабе цен локаций 65k–196k). Дефолты — в `save`/`freshSave()`. +- **Модель C — бесплатная КОПИЯ** (главное экономическое решение): `catchFish()` **не меняется** — монеты/квесты/ачивки/реклама начисляются на улове как раньше. Кнопка `#btnKeep` «🐠 В аквариум» на карточке улова лишь кладёт копию экземпляра: `showCard()` пишет `cardSpec={sp,w,variant}`, `syncKeepBtn()` держит кнопку `disabled` + подпись/`title` «Нет места» при `save.aqFish.length>=save.aqSlots`; клик — `push({id,v,w})`, `persist()`, `checkAchievements()`, тост `aq_kept`, закрытие карточки, `state='IDLE'`, `tryInterstitial()` (единообразно с `#btnCardOk`). Плюс: максимум пользы при нулевом риске для экономики и пинов; минус (осознанно): концептуальные «дубликаты» — рыба и продана на улове, и стоит в банке. +- **Сцена** (новая секция `АКВАРИУМ (Этап 46)` после «ОТРИСОВКА», перед Y1): `aqOpen`, `aqFishRt[]` (рантайм-раскладка `x,y,dir,ph,spd,vy,tail` — НЕ персистится, индекс = `save.aqFish`), `aqSel` (сентинел `-1`), `aqTank`/`aqPlants`/`aqBubbles`. `initAquarium()` — геометрия банки и сетка стартовых позиций; `updateAquarium(dt)` — плавание, разворот у стенок, вертикальный дрейф, анимация хвоста, пузыри; `drawAquarium()` — вода через `hexLerp` к `nightMix()` (общий цикл суток), косые лучи, волнистый грунт, растения, пузыри, рыбы (`drawFishShape` + подкраска варианта `AQ_VARIANT_FX`/`AQ_VARIANT_HUE` + блик, свечение болотных `drawGlowAura`+`glowIntensity()`, размер `aqFishSize(sp,w)` от `w/wMax` и редкости), рамка выбранной, стекло. Точки жизненного цикла: `frame()` (`if(aqOpen) updateAquarium(dt)`), `draw()` (`if(aqOpen){ drawAquarium(); ctx.restore(); return; }` — банка ВМЕСТО озера), `onDown()` (ранний `if(aqOpen){ aqTap(x,y); return; }`), `resize()` (`if(aqOpen) initAquarium()`), `syncDom()` (под `aqOpen` `#btnPause`/`#btnRecall` не показываются). +- **Вход/выход и DOM:** `#btnGmAquarium` в хабе «Меню» `#gamemenu` → `openAquarium()`/`closeAquarium()` (аналог `shopFromMenu` — флаг `aqFromMenu`, «Назад» возвращает в гменю; `YG.gameplayStop()`; `uiOpen=true`). Бар `#aqBar` — «Назад» `#btnAqBack`, счётчик `#aqCount` «N/M», «+ Слот (N 🪙)» `#btnAqSlot` (цена `AQ_SLOT_COSTS[aqSlots-AQ_BASE_SLOTS]`, при максимуме `disabled` + `aq_max`); поповер `#aqPop` — `#aqPopName`/`#aqPopSub` (вес · редкость, БЕЗ цены). Тап по сцене `aqTap(x,y)` ищет ближайшую рыбу в радиусе → `aqSel` → `showAqPop()`. +- **«Выпустить» вместо «продать» (отступление от §7 плана):** по решению владельца продажа из банки (начисление монет по формуле улова) заменена на **выпуск** — `#btnAqRelease` → `aqReleaseSel()` удаляет экземпляр ИНДЕКСАМИ (`save.aqFish.splice` + `aqFishRt.splice`, без `initAquarium` — позиции остальных сохраняются) **без монет**, тост `aq_released`. Причина: продажа давала дыру ×2 дохода (рыба и продана на улове, и снова продана из банки). Экономика не затронута. +- **Миграция `loadSave()`:** `aqFish` фильтруется по `SPECIES` (`Number.isFinite(w)&&w>0`), неизвестный вариант → `'normal'`; `aqSlots` — `Math.trunc` (нецелое 6.5 давало `AQ_SLOT_COSTS[0.5]=undefined` → NaN) + клампы `AQ_BASE_SLOTS..AQ_MAX_SLOTS`; хвост списка обрезается по числу слотов. Старые сейвы без полей читаются по дефолтам. +- **Ачивки 36→38:** `aq_first` «Первый жилец» (`check: s=>(s.aqFish||[]).length>0`) и `aq_full` «Аквариум полон» (`>= (s.aqSlots||AQ_BASE_SLOTS)`), обе `bonus:{}` — пин §10c(8) `achBonus().coinPct=0.18` **не сдвинут**; проверки терпимы к старому сейву (ложных выдач нет). +- **i18n:** `gm_aquarium`, `aq_title`, `aq_keep`, `aq_back`, `aq_slots`, `aq_buy_slot`, `aq_max`, `aq_release`, `aq_released`, `aq_no_room`, `aq_kept` (RU/EN); `setLang()` перерисовывает `renderAqBar()` открытой сцены; имена/описания ачивок — в `ACHIEVEMENTS` (`nameEn`/`descEn`). +- **Emoji:** 🐠 (U+1F420) добавлен во встроенный субсет — перегенерация `tools/emoji-font.py` (`--check` OK: 53 emoji). +- **Подводные камни:** `body.aq-open` прячет `#hud` (CSS + `syncDom`); `#aqBar{pointer-events:none}` + `.aqpill{pointer-events:auto}` — иначе невидимая полоса бара перехватывала бы тапы по сцене; все проверки выбранного индекса — через `aqSel>=0` (сентинел `-1`). + +**Не тронуто:** `catchFish()`/экономика (модель C), роллы/боссы/баланс (`tools/balance.mjs` — цифры без изменений), `SPECIES`/`LOCATIONS`, физика боя, формат сейва вне новых полей, SDK/реклама (кнопка `#btnRv` на карточке живёт рядом с `#btnKeep`; карточка БЕЗ `gameplayStop()` — как раньше). + +**Тесты:** новый блок **§AQ «Этап 46»** (после §a36): (1) данные `freshSave()`/кноб слотов, (2) миграция старого сейва без `aqFish`/`aqSlots`, (3) миграция битых значений (чужой id/вес/вариант, `aqSlots=99`, обрезка хвоста), (4) keep — `cardSpec` + клик `#btnKeep` → 1 копия с верными `id/v/w`, карточка закрыта, монеты выросли только на цену улова (модель C), выдан `aq_first`, (5) лимит → `#btnKeep` `disabled` + «Нет места», (6) сцена `#btnGmAquarium`→`aqOpen`/`#aqBar`/скрытие `#gamemenu`/`#btnPause` и `#btnAqBack`→возврат, (7) слот — списание `AQ_SLOT_COSTS[aqSlots-AQ_BASE_SLOTS]` и `aqSlots+1`, (8) выпуск — `aqTap`→`aqSel`/поповер без цены, `#btnAqRelease` → экземпляр удалён, монеты/`earned` НЕ изменились, позиции остальных не «телепортируются». **a22d** обновлён: `ACHIEVEMENTS.length===38` + `aq_first`/`aq_full`. Итого **218/218 PASS, exit 0** (было 204: +14 ok); `check.mjs` OK; `tools/emoji-font.py --check` OK; `tools/balance.mjs` — пины без изменений (Река 65.1/125.9 · Озёра 194.1/249.0 · Болото 240.3/328.9 · Море 297.3/476.7 · Океан 329.1/552.7). + +**Скриншоты:** `tests/gen-screenshots.js` — +кадр `aquarium` (Этап 46) → 14→15 кадров; в кадре засеваются `save.aqFish` = карась (normal, 0.6 кг), щука (silver, 7.4 кг), золотая рыбка (rainbow, 0.8 кг), светлячок (normal, 2.4 кг) и вызывается `openAquarium()`. Оба набора перегенерированы: `screenshots-wiki/` и `screenshots-wiki-en/` — по 45 PNG (включая `desk/mobl/mobp-aquarium.png`). README: фича «Аквариум 🐠» + изображение `mobp-aquarium.png`, «15 кадров × 3 вьюпорта», 38 достижений, 218 тестов. + +**Доки:** AGENTS.md (новый пункт «Аквариум (Этап 46)», глобалы, «Награды» 36→38, «Скриншоты» 14→15), KODA.md (код-карта, контент, глобалы, «где менять», грабли, счётчики), README.md (фича, счётчики), `docs/PLAN-AQUARIUM.md` (статус «реализован» + заметка об отступлении §7), этот DEVLOG. diff --git a/docs/PLAN-AQUARIUM.md b/docs/PLAN-AQUARIUM.md new file mode 100644 index 0000000..88f0b31 --- /dev/null +++ b/docs/PLAN-AQUARIUM.md @@ -0,0 +1,181 @@ +# План: Аквариум (Этап 46) + +Статус: **реализован** (Этап 46; см. запись в `docs/DEVLOG.md`). +**Отступление от плана:** §7 «продажа из банки» (`#btnAqSell`) **заменена на «выпустить»** (`#btnAqRelease` → `aqReleaseSel()`) — удаление экземпляра БЕЗ монет, слот просто освобождается. Решение владельца: продажа из банки давала дыру ×2 дохода (рыба и продана на улове, и снова продана из аквариума) — экономика не затронута. Остальные пункты плана выполнены; вместо `aqSellSel`/`aq_sell`/`aq_sold` в игре `aqReleaseSel`/`aq_release`/`aq_released`. +Ориентир по коду: `index.html` ~4365 строк; ссылки на строки даны на момент составления плана +(перед реализацией сверять — номера могли сдвинуться). + +## 1. Задача + +Добавить в игру **Аквариум** — специальный экран, куда можно «высаживать» пойманных рыб, +чтобы они плавали. Не локация для ловли, а **декоративная сцена коллекции**. + +## 2. Зафиксированные решения (ответы пользователя) + +| Развилка | Решение | +|---|---| +| Роль аквариума | **Косметика + достижения** (пассивного дохода нет — не трогаем экономику). | +| Модель заселения | **Инвентарь экземпляров**: храним конкретную рыбу `{id, v:вариант, w:вес}`, а не только вид. | +| Монеты при «оставить» | **Модель C — бесплатная копия**: монеты платятся на улове как сейчас (`catchFish` не меняется), кнопка «В аквариум» добавляет **копию** экземпляра. Экономика/квесты/ачивки/реклама/пины тестов не затрагиваются. | +| Где открывается | **Сцена на главном canvas** (флаг `aqOpen`, `draw()` рисует банку вместо озера); вход — из хаба «Меню» `#gamemenu`. | +| Вместимость | **Слоты + расширения за монеты**: старт `AQ_BASE_SLOTS=6`, максимум `AQ_MAX_SLOTS=12`, лестница цен. | +| Значок | **🐠** — требует перегенерации встроенного emoji-субсета (`tools/emoji-font.py`). | + +### Почему НЕ в `LOCATIONS` + +`LOCATIONS` (`index.html:1384`) жёстко связаны с `SPECIES_BY_LOCATION` (`index.html:1454`), +`BOSS_BY_LOCATION` (`index.html:1461`), `save.location` (`index.html:1646`) и пинами +доходности `tools/balance.mjs`. Запись аквариума туда сломает роллы, боссов, баланс и тесты. +Аквариум — **отдельный режим**, а не вода. + +## 3. Модель C — как обходим экономику + +Сейчас `catchFish()` платит **сразу при подсечке**, до карточки: +`save.coins+=val; save.earned+=val` (`index.html:2393`), далее `questHit('earn_coins',…)` +(`index.html:2410`). На это завязаны точные пины тестов, читающие `save.coins` при открытой +карточке: `tests/test.js:411, 503, 601, 1465, 1504, 1548` (`coins === N + val`), а также +rewarded `×2` (`rvVal`, `index.html:4167`), ачивки `earned_1000/10000`, квест `earn_coins`. + +В модели C **всё это остаётся как есть** — `catchFish` не трогаем. Кнопка «В аквариум» лишь +**копирует** экземпляр в `save.aqFish`. Плюс: максимум пользы при минимуме риска; вариант и вес +трофея сохраняются. Минус (осознанно): концептуальные «дубликаты» (рыба и продана, и в банке). + +## 4. Данные и константы + +| Что | Где | Правка | +|---|---|---| +| Поля сейва | `save` (`index.html:1572`), `freshSave()` (`index.html:1579`) | `aqFish:[]`, `aqSlots:AQ_BASE_SLOTS`. | +| Константы | секция «ДАННЫЕ», после скинов/локаций (~`index.html:1400`) | `AQ_BASE_SLOTS=6`, `AQ_MAX_SLOTS=12`, `AQ_SLOT_COSTS=[1500,4000,9000,20000,45000,100000]` (кноб; в масштабе цен локаций 65k–196k). | +| Доступ к данным экземпляра | — | вид: `SPECIES.find(s=>s.id===f.id)`; вариант: `VARIANTS.find(v=>v.id===f.v)`. | + +## 5. Миграция `loadSave()` (после блока локаций, `index.html:1647`) + +Паттерн — как у скинов/локаций (`index.html:1633-1641`). `SPECIES` (`1305`) и `VARIANTS` (`1470`) +объявлены выше `loadSave` (`1586`) — порядок корректен. + +```js +if(!Array.isArray(save.aqFish)) save.aqFish=[]; +save.aqFish=save.aqFish + .filter(f=>f&&SPECIES.some(s=>s.id===f.id)&&typeof f.w==='number'&&f.w>0) + .map(f=>({id:f.id, v:VARIANTS.some(x=>x.id===f.v)?f.v:'normal', w:f.w})); +if(typeof save.aqSlots!=='number'||save.aqSlots<AQ_BASE_SLOTS) save.aqSlots=AQ_BASE_SLOTS; +if(save.aqSlots>AQ_MAX_SLOTS) save.aqSlots=AQ_MAX_SLOTS; +if(save.aqFish.length>save.aqSlots) save.aqFish.length=save.aqSlots; +``` + +Старые сейвы без полей читаются (дефолты), битые значения чинятся. + +## 6. Карточка улова (модель C) + +- HTML: в `#card` рядом с `#btnCardOk` (`index.html:1294-1296`) — `<button id="btnKeep">🐠 В аквариум</button>`; + CSS-класс по образцу `.rvbtn` (`index.html:207-213`). +- Рантайм-хендл: `let cardSpec=null;` — в `showCard()` (`index.html:4143`) сохранять `{sp,w,variant}`; + кнопку `disabled` + подпись/`title` «Нет места», если `save.aqFish.length>=save.aqSlots`. +- Хендлер рядом с `#btnCardOk` (`index.html:4306`): push `{id:cardSpec.sp.id, v:cardSpec.variant.id, w:cardSpec.w}`; + `persist()`; `checkAchievements()`; тост `aq_kept`; закрыть `#card`; `state='IDLE'`; затем `tryInterstitial()` + (единообразно с `#btnCardOk`). +- `catchFish()` (`index.html:2385`) **не меняется**. +- Строки: `renderStaticUI()` (`index.html:3766`), `refreshCardNow()` (`index.html:3798`) — подпись из `T`. + +## 7. Сцена аквариума + +Новая секция `АКВАРИУМ` после «ОТРИСОВКА» (перед `Y1`). + +- Рантайм: `aqOpen` (активна ли сцена), `aqFishRt[]` (`x,y,dir,ph,tail` — НЕ персистится), `aqSel`, `aqFromMenu`. +- `initAquarium()` — раскладка по `W/H`; начальные позиции/скорости экземпляров. +- `updateAquarium(dt)` — плавание, разворот у стенок, вертикальный дрейф, анимация хвоста. +- `drawAquarium()`: + - вода/стекло через `hexLerp` (`index.html:2643`) с привязкой к `nightMix()` (`index.html:2677`) — общий цикл суток; + - грунт, растения, пузыри (простые `arc`/`bezier`, без новых ассетов); + - рыбы: `drawFishShape(x,y,size,dir,sp.hue,alpha,wob)` (`index.html:2933`); `size` — от `w`/`sp.wMax` и `sp.rarity`; + болотные — `drawGlowAura()` (`index.html:2918`); подкраска варианта — сдвиг hue + блик/искра; рамка при `aqSel===i`. +- Точки жизненного цикла: + - `frame()` (`index.html:3864`): `uiOpen` уже глушит `updateGame`; добавить `if(aqOpen) updateAquarium(dt);` рядом с `updateDecor(dt)` (`index.html:3872`). + - `draw()` (`index.html:3402`): сразу после `ctx.save()`/shake — `if(aqOpen){ drawAquarium(); ctx.restore(); return; }`. + - `onDown()` (`index.html:3886`): ранний `if(aqOpen){ aqTap(x,y); return; }`. + - `resize()` (`index.html:1964`): `if(aqOpen) initAquarium();`. + - `syncDom()` (`index.html:2613`): при `aqOpen` не показывать `#btnRecall`/`#btnPause`. +- Вход/выход: `#btnGmAquarium` в хабе `#gamemenu` (`index.html:1268-1281`, хендлеры `4232-4250`); + `openAquarium()` (спрятать гамеменю, `aqOpen=true; uiOpen=true; YG.gameplayStop(); initAquarium(); показать `#aqBar`), + `closeAquarium()` (назад в `#gamemenu`, `uiOpen=true`). Аналог `fromMenuShop` (`index.html:4238`). +- DOM-бар `#aqBar`: «Назад» `#btnAqBack`, счётчик `#aqCount` «N/M», «+ Слот (N 🪙)» `#btnAqSlot`, + поповер `#aqPop` (имя/вариант/вес + `#btnAqSell`). +- Тап по рыбе: `aqTap` ищет ближайшую → `aqSel` → `#aqPop`. **Продажа из банки** (опция): удалить экземпляр и + начислить по той же формуле, что `index.html:2392` (`w*sp.price*mult*(1+achBonus().coinPct)`), `persist()`, тост. + +## 8. Слоты + +- `#btnAqSlot`: цена `AQ_SLOT_COSTS[save.aqSlots-AQ_BASE_SLOTS]`; при нехватке — `sfx('no')` + `toast(t('not_enough'))` + (паттерн `shopClick`, `index.html:4102`); иначе списать, `save.aqSlots++`, `persist()`, `renderAqBar()`. +- При `aqSlots>=AQ_MAX_SLOTS` кнопка `disabled` (или скрыта). + +## 9. Ачивки и i18n + +- `ACHIEVEMENTS` (`index.html:1878`): добавить в конец `aq_first` («Первый жилец») и `aq_full` («Аквариум полон»). + **`bonus:{}`** (как пер-босс-ачивки, `index.html:1913`), чтобы пин `achBonus().coinPct=0.18` (§10c(8)) не сдвинулся. + `checkAchievements()` уже зовётся в `catchFish`; дополнительно вызвать в хендлере `#btnKeep` и после покупки слота. +- `T.ru`/`T.en` (`index.html:3544`): `gm_aquarium`, `aq_title`, `aq_keep`, `aq_back`, `aq_slots`, `aq_buy_slot`, + `aq_max`, `aq_sell`, `aq_no_room`, `aq_kept`, `aq_sold`, имена/описания ачивок. +- `setLang()` (`index.html:3804`): при `aqOpen` обновлять открытую сцену (`renderAqBar()`). +- Заметка: `bonusText('')` у пер-босс-ачивок уже даёт `desc · ` (см. `index.html:4042`) — новый случай не хуже; + при желании отдельно поправить `bonusText` (не обязательно). + +## 10. Emoji-шрифт + +- 🐠 добавляется в игру → **обязательна** перегенерация: + `tools/.venv/bin/python tools/emoji-font.py`, затем `tools/.venv/bin/python tools/emoji-font.py --check`. +- Системный `python3` без `fontTools` — запускать **venv-интерпретатором** (проверено). +- Блок между `<!-- EMOJI-FONT:BEGIN/END -->` (`index.html:9,20`) правится только скриптом. + +## 11. Тесты (`tests/test.js`) + +Добавить проверки и внести новые глобалы в документированный список: +- **миграция**: старый сейв без `aqFish` → после reload `Array.isArray(save.aqFish)` и `aqSlots===6` + (паттерн §9b/M6(6), `tests/test.js:419-427`); +- **keep**: форс-улов → `CARD` → клик `#btnKeep` → `save.aqFish.length===1`, верные `id/v/w`, монеты выросли (модель C); +- **лимит**: `save.aqFish.length=save.aqSlots` → кнопка `disabled`; +- **слот**: монеты списаны, `aqSlots+1`; +- **сцена**: `#btnGmAquarium` → `aqOpen===true`, `#aqBar` виден; `#btnAqBack` → `#gamemenu`; +- **продажа из банки**: `aqSellSel()` → экземпляр удалён, монеты +val. +- Экспонировать глобалы: `aqOpen`, `openAquarium`, `closeAquarium`, `AQ_BASE_SLOTS`, `AQ_MAX_SLOTS`, + `AQ_SLOT_COSTS`, `save.aqFish`/`save.aqSlots`. +- Обновить счёт проверок в README/KODA/AGENTS (сейчас `204/204`). + +## 12. Скриншоты и доки + +- `tests/gen-screenshots.js`: `FRAMES` (`tests/gen-screenshots.js:63`) + кадр `aquarium`; в кадре засеять + `save.aqFish` (напр. carass normal, pike silver, gold rainbow, glowfin) и `openAquarium()`; 2 rAF и снимок. + Кадров 14 → 15 × 3 вьюпорта. +- `AGENTS.md` — новый пункт «Аквариум» + глобалы/подводные камни. +- `KODA.md` — контент/структура/«где менять»/счёт тестов. +- `README.md` — фича, скриншоты, счётчики. +- `docs/DEVLOG.md` — запись «Этап 46». + +## 13. Порядок работ (фазы) + +1. Данные + константы + миграция → `node tools/check.mjs`. +2. Кнопка карточки `#btnKeep` + хендлер (модель C). +3. Сцена: `initAquarium`/`updateAquarium`/`drawAquarium`, вход из «Меню», `#aqBar`, тап/продажа. +4. Слоты + ачивки + i18n. +5. 🐠 + перегенерация emoji-субсета. +6. Тесты, `gen-screenshots`, доки. + +## 14. Проверка (порядок команд) + +1. `node tools/check.mjs` +2. `cd tests && npm test` — все PASS, exit 0 +3. `tools/.venv/bin/python tools/emoji-font.py --check` +4. `node tests/gen-screenshots.js` +5. `node tools/pack.mjs && node tests/pack-smoke.js` + +## 15. Риски + +1. **Canvas = силуэты**, не SVG-портреты (`<symbol id="fish-*">` — DOM-only). Визуал банки — `drawFishShape` + + вариантовый оттенок + свечение болотных. Растеризацию SVG в MVP не берём (дорого, риск с `file://`). +2. **`uiOpen`/пауза**: сцена живёт под `uiOpen` — focus/visibility-пауза (`YG.onPause`) должна работать; + `#aqBar`/`#btnPause` не должны «залипать» (проверить `syncDom` + плейтест). +3. **Раздувание сейва**: экземпляров ≤ `AQ_MAX_SLOTS` — не проблема. +4. **Реклама**: `#btnKeep` и `#btnRv` на одной карточке; в модели C конфликта нет, но после «В аквариум» + карточка закрывается (интерстишел как обычно). +5. **Баланс не затрагивается** — `tools/balance.mjs` не трогаем, пины доходности живут. +6. **Emoji**: без перегенерации субсета 🐠 рисуется системным шрифтом и `--check` падает — не забыть шаг 5. diff --git a/index.html b/index.html index b3d243f..6ab97be 100644 --- a/index.html +++ b/index.html @@ -13,8 +13,8 @@ font-family:'EmojiEmbedded'; font-style:normal; font-weight:400; font-display:block; -src:url(data:font/woff2;base64,AAEAAAAPAIAAAwBwQ09MUoFkv3EAAM5IAAAuV0NQQUzDmCwjAAD8oAAAA3pHU1VCuPq49AABABwAAAAqT1MvMkFfYDoAAAF4AAAAYGNtYXBQXQrLAAAGyAAAA4VnbHlms1zD8gAAD0AAAL1uaGVhZDGlSjMAAAD8AAAANmhoZWEIwAgoAAABNAAAACRobXR4E/z/rQAAAdgAAATubG9jYRWf5jgAAApQAAAE7m1heHACkQDQAAABWAAAACBuYW1lGcQzwwAAzLAAAAF2cG9zdP+2ADMAAM4oAAAAIHZoZWEHMAKXAAEASAAAACR2bXR4BOIAAAABAGwAAATuAAEAAAADDhRMYtfeXw889QADBAAAAAAA5q5QlQAAAADm1afRADP/BgTVA7gAAAAGAAIAAAAAAAAAAQAAA7b/BgAABPsAMwAmBNUEAAAAAAAAAAAAAAAAAAAAAAEAAQAAAnYAzwAaAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAEBPsBkAAFAAACmgJmAAAATQKaAmYAAAFmADMBMwAAAAAAAAAAAAAAAAAAAAACAMCgAAAAAAAAAABOT05FAMAhlP//A7b/BgAAA7YA+gAAAAEAAAAAAgACzQAAACAACQT7ADMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXAEsBNwBKAFQEPACAAPUBbwHhAlICuwHSAH8AQgBiAEUAWQBLAoQDSwEnAFAATwI/ARMBhAK9A3oDkwJOAZkBJQLUAEkCrwBJAPcASQEyAUgA0gDrAE0CzQLFAzwDTQObAz0DkQDIANEBpADfAPYBOQHuAskDcQBGAFIB2AD3AjkDSgHZAPUCLQNBAQIA/QJOAR8BGgNaAHgAZAP2AGQCcgJ9AUsASQFtALQBugDwAw0CtQNDA70CsAPRAHEA5gFDAa4CCwJ4Am4CtALpAyEDUAMZA6QCGgG+AkABOAFiARMBbgGwAEMAYgJEAfsBtwGcAhoCMwFlAtoBVAFoAhcAlQBGA+QDGwFiA+MAdwFAASgBgACaAlcBtwCaAKICCQK3A0UDoQKDA2wAPwImAjsCVAQVBC4AhgNsAUsDfQDDAP8AvgEVAU8C9gCrAGsETwI9AEsARgGsA5EAbwA+AXYBQgCsAKwCRwGSAq4CYwFlAeECggMqAtEAgQGcAh4CfAOiA9AA6AFtANMBAwC5AMAB4wHjAeMChQKVAEYB6wBvBFUCfACkAG8AjgHqANkB9wE7ANkBkwDZAUYBxwDZANkBVwHbANkBRgDZAa8A2QGhA2ICvAPlArwDtQK8A4sCvAO8A/4CvAOTArwD3QK8A1gCvAM6AjcEAAD1AVQBwgL8AcIDRQKaAbkCmgG5AcIBwgI7AYwBVAEgAOUBNQC6AJsBZwJ0AdsASgB0AIcAlwByA9wA5AQKA+sA7QD/AQQATgBwAXICUgEpAF8BqQC7AkkCSwDXAHkAhAD0AE8AbgFZAiUBFgBfAYsAsgIcAh4AywB2AbAB6gKdAp0CowDPAMYBBgEJApEBFQBLAPQAxAGiAQ8CQAJlAQ8COQJXAbQBNQE/ALMA6ACDA6sAowBLAGMAhwH4AiUCAgNsBAgDhQPNA/EEOwOxARkApACdAQ8BeAICAlsCyQMTAuICTwIkAyUDJQIqAioASwDfAiUBAAMxAzQCCQINA0wCKQDaASABDADhAhICVAJCAhICUQJXAjsCDABIAEkA2wBQAjUC8wJBAGoC6gMFAvgC3gO0AL4B1wJDAs4BvgE1AWgBawITAJICFgISAFoCKAIoAUQCJABOAVsBlgCIAMYBFwF7AewCcQL1A2YDygQgBGEAkABkAVcAwQFdAzkBVwFUATUBjgF/AX8BVAGeATQDQgMyAzIBjgD3APcBuQHPA4MB8QIvAFwD3QKSA4kCbgMDA20ESwO4A1gAUgGJAMAAhAHFAE8AxABLALwASwF8AaUCZgN1A9QDBAHhAJIAPgEoAPEBNQBLAL8ASwBlAvwDqAJtAoADzAE+AGQCeQJ5AG8CGgC4Ao4BrgKNAn4BkQJdAjAA5AJFAbwCWgJBAEYARABEAEQAdgD4AN0DNwM1AzUDZQPpA88ASABFAjQCSQI0AU0AxwDaAaUBOAKSAJQC8QDIAS0BvALxAvMC9AFwAdcAhwJlAsUDJACPArIBuwM7AzIATwEjASYBPwE6AhwBjAJaATgBbABLAAAAAAAFAAAAAwAAACwAAAAEAAAAqAAAAAUAAAMQAAMAAQAAACwAAwAKAAAAqAAEAHwAAAAaABAAAwAKIZQhqSP4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AAACOAAsAAACPgAtAAACRAAuAAACSgAvAAACUAAwAAACVgAxAAACXAAyAAACYgAzAAACaAA0AAACbgEEAAAAAAELAAAABAEzAAAADwETAAAATQEOAAAAYAEFAAAAbgEJAAAAcwEYAAAAfAFCAAAAlAEQAAAA1gEEAAAA5gEFAAAA6gEcAAAA7wEHAAABDQEUAAABFAEHAAABKAEEAAABLwEJAAABMwEIAAABPAoAIVIAOQEGAAABRAEDAAABSgECAAABTQEDAAABTwEKAAABUgEMAAABXAEGAAABaAEUAAABbgERAAABggERAAABkwENAAABpAEIAAABsQEJAAABuQENAAABwgEJAAABzwEbAAAB2AEDAAAB8wEEAAAB9gEJAAAB+gEOAAACAwEPAAACEQECAAACIAEHAAACIgEHAAACKQEgAAACMAEVAAACUAEKAAACZQEHAAACbwEPAAACdgEGAAAChQEEAAACiwEIAAACjwAAApcAAApgAAAKZgAACm0AAApzAAAKkgAACpgAAAqeAAAKqwAACrEAAArbAAAK4QAACwYAAAsMAAALFwAACx0AAAs1AAALKAAACy4AAAs7AAALRgAAC0wAAAtrAAALkAAAC5sAAAuxAAALtwAAC8IAAAvnAAAL8gAAC/0AAAwDAAAMCQAADA8AAAwVAAAMGwAADCEAAAwnAAAMLQAADDMAAAw5AAAMPwAADEUAAAxLAAAMUQAADFcAAAxdAAAMYwAADGkAAAxvAAAMdQAADHsAAAyBAAAMhwAADI0AAAyTAAAMmQAADJ8AAAylAAAMqwAADLEAAAy3AAAMvQAADMMAAAzJAAAMzwAADNoAAAzlAAAM6wAADPEAAAz3AAAM/QAADQMAAA0JAAANDwAADRUAAA0bAAANIQAADSwAAA23AAANVgAADVYAAA1hAAANZwAADXoAAA2FAAANpAAADgYAAA4GAAAOMAAADaoAAA2wAAAN2gAADeAAAA3/AAAOKQAADk4AAA5ZAAAOXwAADmUAAA5rAAAOcQAADncAAA59AAAOgwAADo4AAA6UAAAOuQAADtgAAA7eAAAPCAAADw4AABbyAAAPFAAADxoAAA8gAAAPJgAADywAAA8+AAAPYwAAD4gAAA+TAAAPmQAAD6YAAA/LAAAP8AAAEBUAABAbAAAQIQAAECcAABAtAAAQMwAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=) format('woff2'); -unicode-range:U+2194,U+21A9,U+23F8,U+2600,U+2692-U+2693,U+2696,U+26A0-U+26A1,U+26F5,U+2728,U+2753,U+2B06,U+2B50,U+1F300,U+1F308,U+1F30A,U+1F319,U+1F327,U+1F32B,U+1F3A3,U+1F3A8,U+1F3AD,U+1F3AF,U+1F3C5-U+1F3C6,U+1F3F9,U+1F446,U+1F451,U+1F4A4-U+1F4A5,U+1F4AA,U+1F4B0,U+1F4D4,U+1F4D6,U+1F4DC,U+1F4FA,U+1F504,U+1F507,U+1F50A,U+1F512,U+1F525,U+1F5B1,U+1F5D1,U+1F5FA,U+1F6A2,U+1F6D2,U+1F948,U+1F9F9,U+1FA99,U+1FA9D,U+1FAB1; +src:url(data:font/woff2;base64,AAEAAAAPAIAAAwBwQ09MUoW5ghYAANTEAAAw2UNQQUxvjD5lAAEFoAAAA8JHU1VCuPq49AABCWQAAAAqT1MvMkFfYDoAAAF4AAAAYGNtYXBQYvNYAAAG8AAAA5FnbHlmJIFejQAAD5wAAMOQaGVhZDGn9acAAAD8AAAANmhoZWEIwAgoAAABNAAAACRobXR4Fycd9gAAAdgAAAUYbG9jYYbmt2gAAAqEAAAFGG1heHACpgDQAAABWAAAACBuYW1lGcQzwwAA0ywAAAF2cG9zdP+2ADMAANSkAAAAIHZoZWEHMAKXAAEJkAAAACR2bXR4BOIAAAABCbQAAAUYAAEAAAADDhQgaq9sXw889QADBAAAAAAA5q5QlQAAAADm2FNFADP/BgTVA7gAAAAGAAIAAAAAAAAAAQAAA7b/BgAABPsAMwAmBNUEAAAAAAAAAAAAAAAAAAAAAAEAAQAAAosAzwAaAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAEBPsBkAAFAAACmgJmAAAATQKaAmYAAAFmADMBMwAAAAAAAAAAAAAAAAAAAAACAMCgAAAAAAAAAABOT05FAMAhlP//A7b/BgAAA7YA+gAAAAEAAAAAAgACzQAAACAACQT7ADMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJcASwE3AEoAVAQ8AIAA9QFvAeECUgK7AdIAfwBCAGIARQBZAEsChANLAScAUABPAj8BEwGEAr0DegOTAk4BmQElAtQASQKvAEkA9wBJATIBSADSAOsATQLNAsUDPANNA5sDPQORAMgA0QGkAN8A9gE5Ae4CyQNxAEYAUgHYAPcCOQNKAdkA9QItA0EBAgD9Ak4BHwEaA1oAeABkA/YAZAJyAn0BSwBJAW0AtAG6APADDQK1A0MDvQKwA9EAcQDmAUMBrgILAngCbgK0AukDIQNQAxkDpAIaAb4CQAE4AWIBEwFuAbAAQwBiAkQB+wG3AZwCGgIzAWUC2gFUAWgCFwCVAEYD5AMbAWID4wB3AUABKAGAAJ0DnwG1AbUCzgLOAKcAXgHfAogB/AH7AGcATgFrAPoBDwF2AkAC7wCaAlcBtwCaAKICCQK3A0UDoQKDA2wAPwImAjsCVAQVBC4AhgNsAUsDfQDDAP8AvgEVAU8C9gCrAGsETwI9AEsARgGsA5EAbwA+AXYBQgCsAKwCRwGSAq4CYwFlAeECggMqAtEAgQGcAh4CfAOiA9AA6AFtANMBAwC5AMAB4wHjAeMChQKVAEYB6wBvBFUCfACkAG8AjgHqANkB9wE7ANkBkwDZAUYBxwDZANkBVwHbANkBRgDZAa8A2QGhA2ICvAPlArwDtQK8A4sCvAO8A/4CvAOTArwD3QK8A1gCvAM6AjcEAAD1AVQBwgL8AcIDRQKaAbkCmgG5AcIBwgI7AYwBVAEgAOUBNQC6AJsBZwJ0AdsASgB0AIcAlwByA9wA5AQKA+sA7QD/AQQATgBwAXICUgEpAF8BqQC7AkkCSwDXAHkAhAD0AE8AbgFZAiUBFgBfAYsAsgIcAh4AywB2AbAB6gKdAp0CowDPAMYBBgEJApEBFQBLAPQAxAGiAQ8CQAJlAQ8COQJXAbQBNQE/ALMA6ACDA6sAowBLAGMAhwH4AiUCAgNsBAgDhQPNA/EEOwOxARkApACdAQ8BeAICAlsCyQMTAuICTwIkAyUDJQIqAioASwDfAiUBAAMxAzQCCQINA0wCKQDaASABDADhAhICVAJCAhICUQJXAjsCDABIAEkA2wBQAjUC8wJBAGoC6gMFAvgC3gO0AL4B1wJDAs4BvgE1AWgBawITAJICFgISAFoCKAIoAUQCJABOAVsBlgCIAMYBFwF7AewCcQL1A2YDygQgBGEAkABkAVcAwQFdAzkBVwFUATUBjgF/AX8BVAGeATQDQgMyAzIBjgD3APcBuQHPA4MB8QIvAFwD3QKSA4kCbgMDA20ESwO4A1gAUgGJAMAAhAHFAE8AxABLALwASwF8AaUCZgN1A9QDBAHhAJIAPgEoAPEBNQBLAL8ASwBlAvwDqAJtAoADzAE+AGQCeQJ5AG8CGgC4Ao4BrgKNAn4BkQJdAjAA5AJFAbwCWgJBAEYARABEAEQAdgD4AN0DNwM1AzUDZQPpA88ASABFAjQCSQI0AU0AxwDaAaUBOAKSAJQC8QDIAS0BvALxAvMC9AFwAdcAhwJlAsUDJACPArIBuwM7AzIATwEjASYBPwE6AhwBjAJaATgBbABLAAAABQAAAAMAAAAsAAAABAAAAKgAAAAF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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('woff2'); +unicode-range:U+2194,U+21A9,U+23F8,U+2600,U+2692-U+2693,U+2696,U+26A0-U+26A1,U+26F5,U+2728,U+2753,U+2B06,U+2B50,U+1F300,U+1F308,U+1F30A,U+1F319,U+1F327,U+1F32B,U+1F3A3,U+1F3A8,U+1F3AD,U+1F3AF,U+1F3C5-U+1F3C6,U+1F3F9,U+1F420,U+1F446,U+1F451,U+1F4A4-U+1F4A5,U+1F4AA,U+1F4B0,U+1F4D4,U+1F4D6,U+1F4DC,U+1F4FA,U+1F504,U+1F507,U+1F50A,U+1F512,U+1F525,U+1F5B1,U+1F5D1,U+1F5FA,U+1F6A2,U+1F6D2,U+1F948,U+1F9F9,U+1FA99,U+1FA9D,U+1FAB1; } </style> <!-- EMOJI-FONT:END --> @@ -28,6 +28,8 @@ button{font-family:inherit;cursor:pointer} /* ---------- HUD ---------- */ #hud{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center; padding:calc(8px + env(safe-area-inset-top)) 10px 8px;z-index:10;pointer-events:none} +/* Этап 46: под сценой аквариума HUD скрыт — кошелёк/лавка не перехватывают клики сцены */ +body.aq-open #hud{display:none} .hudleft{display:flex;gap:8px;align-items:center} #coins,#weather{background:linear-gradient(rgba(9,32,58,.72),rgba(6,25,45,.62));padding:8px 15px;border-radius:999px;color:#ffe9a8;font-weight:700; font-size:17px;border:1px solid rgba(255,233,168,.22); @@ -212,6 +214,36 @@ button{font-family:inherit;cursor:pointer} .rvbtn:active{transform:scale(.97)} .rvbtn:disabled{opacity:.55;cursor:default;filter:none;transform:none} +/* Этап 46: «В аквариум» на карточке улова — по образцу .rvbtn, бирюзовая «морская» гамма */ +.aqbtn{width:100%;min-height:44px;margin-top:10px;padding:11px 12px;font-size:15px;font-weight:800;color:#c8fff4; + background:linear-gradient(#0f5f6b,#083f49);border:1.5px solid #57e0c8;border-radius:12px; + box-shadow:0 0 12px rgba(87,224,200,.22),inset 0 1px 0 rgba(255,255,255,.08); + transition:transform .12s,box-shadow .12s,filter .12s} +.aqbtn:hover{filter:brightness(1.18);box-shadow:0 0 16px rgba(87,224,200,.4),inset 0 1px 0 rgba(255,255,255,.1)} +.aqbtn:active{transform:scale(.97)} +.aqbtn:disabled{opacity:.55;cursor:default;filter:none;transform:none} + +/* Этап 46: бар аквариума (#aqBar) и поповер выбранной рыбы (#aqPop) — DOM поверх canvas-сцены */ +#aqBar{position:fixed;top:calc(8px + env(safe-area-inset-top));left:10px;right:10px;z-index:26; + display:flex;align-items:center;gap:8px;pointer-events:none} +/* Бар сам клики не ловит (бокс на всю ширину) — кликабельны только кнопки-пилюли внутри */ +#aqBar .aqpill{pointer-events:auto} +.aqpill{background:linear-gradient(rgba(9,32,58,.8),rgba(6,25,45,.7));color:#eaf4ff;font-weight:700;font-size:15px; + padding:9px 14px;border-radius:999px;border:1px solid rgba(87,224,200,.35);white-space:nowrap; + box-shadow:0 3px 12px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.1);transition:filter .15s,transform .12s} +.aqpill:hover{filter:brightness(1.18);transform:translateY(-1px)} +.aqpill:active{transform:translateY(1px)} +.aqpill:disabled{opacity:.5;cursor:default;filter:none;transform:none} +#aqCount{margin-left:auto;color:#c8fff4;font-weight:800;font-size:15px;padding:9px 14px;border-radius:999px; + background:linear-gradient(rgba(9,32,58,.8),rgba(6,25,45,.7));border:1px solid rgba(255,255,255,.18); + box-shadow:0 3px 12px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.1)} +#aqPop{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(18px + env(safe-area-inset-bottom));z-index:26; + background:linear-gradient(rgba(9,32,58,.95),rgba(5,20,38,.93));border:1px solid rgba(87,224,200,.45);border-radius:16px; + padding:12px 16px 14px;color:#eaf4ff;text-align:center;min-width:210px;max-width:86vw; + box-shadow:0 12px 34px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.1)} +#aqPopName{font-size:17px;font-weight:800} +#aqPopSub{font-size:12px;color:#9fc3e2;margin:4px 0 10px} + .twobtns{display:flex;gap:10px;margin-top:16px} .twobtns .big{margin-top:0;width:auto;flex:1} /* Кнопки диалога «Меню» (#gamemenu): тёмные пилюли в духе HUD-кнопок */ @@ -1273,6 +1305,7 @@ button{font-family:inherit;cursor:pointer} <button id="btnGmShop" class="mbtn">🛒 Магазин</button> <button id="btnGmAch" class="mbtn">🏅 Достижения</button> <button id="btnGmJournal" class="mbtn">📔 Дневник</button> + <button id="btnGmAquarium" class="mbtn">🐠 Аквариум</button> <button id="btnGmHowto" class="mbtn">📖 Инструкции</button> <button id="btnMute" class="mbtn">🔊 Звук</button> <button id="btnReset" class="mbtn" title="Сбросить прогресс">🗑️ Очистить</button> @@ -1291,12 +1324,26 @@ button{font-family:inherit;cursor:pointer} <div class="cval" id="cardVal">+0 🪙</div> <!-- Y2: rewarded-видео «монеты ×2» (чистый бонус; 4.5.1 — что получим, написано прямо на кнопке) --> <button id="btnRv" class="rvbtn hidden" title="Посмотрите рекламу — двойная цена за этот улов">📺 Реклама: ×2 за этот улов</button> + <!-- Этап 46: «В аквариум» (модель C — бесплатная копия экземпляра; catchFish не трогаем) --> + <button id="btnKeep" class="aqbtn">🐠 В аквариум</button> <div class="twobtns"> <button id="btnCardOk" class="big">Отлично!</button> </div> </div> </div> +<!-- Этап 46: сцена аквариума — DOM-бар и поповер поверх canvas (сама сцена рисуется в drawAquarium) --> +<div id="aqBar" class="hidden"> + <button id="btnAqBack" class="aqpill">← Назад</button> + <span id="aqCount">0/6</span> + <button id="btnAqSlot" class="aqpill">+ Слот</button> +</div> +<div id="aqPop" class="hidden"> + <div id="aqPopName"></div> + <div id="aqPopSub"></div> + <button id="btnAqRelease" class="aqpill">Выпустить</button> +</div> + <script> 'use strict'; /* ========================================================= @@ -1565,6 +1612,15 @@ const BOBBER_SKINS=[ {id:2, name:'Неоновый', nameEn:'Neon', cost:1500} ]; +/* Этап 46: Аквариум — декоративная сцена коллекции ЭКЗЕМПЛЯРОВ (вид+вариант+вес), не вода: + в LOCATIONS не добавляем (иначе сломаются роллы/боссы/баланс). Слоты: старт AQ_BASE_SLOTS, + максимум AQ_MAX_SLOTS; цена следующего слота — AQ_SLOT_COSTS[aqSlots-AQ_BASE_SLOTS] + (в масштабе цен локаций 65k–196k это доступный coin-sink). Экономику улова (catchFish + платит как раньше) не трогаем — «В аквариум» лишь копирует экземпляр (модель C). */ +const AQ_BASE_SLOTS=6; +const AQ_MAX_SLOTS=12; +const AQ_SLOT_COSTS=[1500,4000,9000,20000,45000,100000]; + /* ========================================================= СОХРАНЕНИЕ ========================================================= */ @@ -1574,13 +1630,15 @@ let save={coins:0,rod:0,lure:0,rods:[0],lures:[0],rodLv:{0:1},lureLv:{0:1},caugh bossBeaten:false,bossCount:0,bosses:{}, boatSkins:[0],boatSkin:0,bobberSkins:[0],bobberSkin:0, locations:[0],location:0, - kgTotal:0,nightCatch:false,wxRainV:0,wxFog:0}; // Этап 4: скины; Этап 5: локации; Этап 22: счётчики ачивок (кг/ночь/погода); Этап 37: bosses — пер-босс + aqFish:[],aqSlots:AQ_BASE_SLOTS, /* Этап 46: аквариум — экземпляры {id,v,w} и число слотов */ + kgTotal:0,nightCatch:false,wxRainV:0,wxFog:0}; // Этап 4: скины; Этап 5: локации; Этап 22: счётчики ачивок (кг/ночь/погода); Этап 37: bosses — пер-босс; Этап 46: аквариум function freshSave(muted){ return {coins:0,rod:0,lure:0,rods:[0],lures:[0],rodLv:{0:1},lureLv:{0:1},caught:{},muted:muted,casts:0,earned:0, snaps:0,ach:{},quests:null,streak:{last:null,days:0,shieldWeek:null},questsDoneTotal:0, bossBeaten:false,bossCount:0,bosses:{}, boatSkins:[0],boatSkin:0,bobberSkins:[0],bobberSkin:0, locations:[0],location:0, + aqFish:[],aqSlots:AQ_BASE_SLOTS, // Этап 46: аквариум kgTotal:0,nightCatch:false,wxRainV:0,wxFog:0}; // Этап 4: скины; Этап 5: локации; Этап 22: счётчики ачивок; Этап 37: bosses } function loadSave(){ @@ -1645,6 +1703,17 @@ function loadSave(){ if(save.locations.indexOf(0)<0) save.locations.push(0); // родная Река гарантирована (битый сейв) if(typeof save.location!=='number'||save.location<0||save.location>=LOCATIONS.length) save.location=0; if(save.locations.indexOf(save.location)<0) save.location=0; // выбранной локации нет в купленных (битый сейв) + // Этап 46: аквариум — дефолты/чинка битых значений (паттерн скинов/локаций): + // экземпляр валиден, если id есть в SPECIES и w — число >0; вариант нормализуем по VARIANTS → 'normal' + if(!Array.isArray(save.aqFish)) save.aqFish=[]; + save.aqFish=save.aqFish + .filter(f=>f&&SPECIES.some(s=>s.id===f.id)&&Number.isFinite(f.w)&&f.w>0) // Этап 46: Infinity/NaN отбрасываем + .map(f=>({id:f.id,v:VARIANTS.some(x=>x.id===f.v)?f.v:'normal',w:f.w})); + if(typeof save.aqSlots!=='number'||!Number.isFinite(save.aqSlots)) save.aqSlots=AQ_BASE_SLOTS; + save.aqSlots=Math.trunc(save.aqSlots); // Этап 46: нецелое (6.5) давало AQ_SLOT_COSTS[0.5]=undefined → NaN + if(save.aqSlots<AQ_BASE_SLOTS) save.aqSlots=AQ_BASE_SLOTS; + if(save.aqSlots>AQ_MAX_SLOTS) save.aqSlots=AQ_MAX_SLOTS; + if(save.aqFish.length>save.aqSlots) save.aqFish.length=save.aqSlots; // больше слотов, чем есть, — обрезаем // M2: стрик входа и квесты дня (новый день — перегенерация) applyStreak(); refreshQuests(); @@ -1914,6 +1983,12 @@ const ACHIEVEMENTS=[ {id:'sea_boss', name:'Победа над Рыбой-мечом', nameEn:'Swordfish Slayer', desc:'Победи босса Моря', descEn:'Defeat the Sea boss', icon:'⚓', bonus:{}, check:s=>!!(s.bosses&&s.bosses.swordfish)}, // Э42: иконка локации (эмодзи рыб убраны) {id:'ocean_boss', name:'Победа над Китом', nameEn:'Whale Slayer', desc:'Победи босса Океана', descEn:'Defeat the Ocean boss', icon:'🌊', bonus:{}, check:s=>!!(s.bosses&&s.bosses.whale)}, // Э42: иконка локации (эмодзи рыб убраны) {id:'swamp_boss', name:'Победа над Духом болота', nameEn:'Spirit Slayer', desc:'Победи Духа болота', descEn:'Defeat the Swamp Spirit', icon:'🗺️', bonus:{}, check:s=>!!(s.bosses&&s.bosses.spiritfin)}, // Этап 45: босс Болота (без coinPct — пин §10c(8); bonus:{} пустой — bonusText() требует объект) + // Этап 46: аквариум — locations-based проверки (см. checkAchievements: массив ACHIEVEMENTS, + // поле check). БЕЗ coinPct — пин §10c(8) сумма achBonus().coinPct=0.18 не сдвигается; + // bonus:{} пустой (как у пер-босс-ачивок) — bonusText() в «Достижениях» требует объект. + // Проверки терпимы к старому сейву: нет aqFish/aqSlots — ложных выдач нет + {id:'aq_first', name:'Первый жилец', nameEn:'First Tenant', desc:'Посели рыбу в аквариум', descEn:'Move a fish into the aquarium', icon:'🐠', bonus:{}, check:s=>(s.aqFish||[]).length>0}, + {id:'aq_full', name:'Аквариум полон', nameEn:'Full Tank', desc:'Заполни все слоты аквариума', descEn:'Fill every aquarium slot', icon:'🐠', bonus:{}, check:s=>(s.aqFish||[]).length>=(s.aqSlots||AQ_BASE_SLOTS)}, ]; /* Сумма бонусов по выданным достижениям */ function achBonus(){ @@ -1962,6 +2037,7 @@ function resize(){ waterY=Math.round(H*0.26); boatX=Math.round(W*0.20); initClouds(); initSparkles(); initRain(); initScenery(); // Этап 44: силуэты по новой ширине + if(aqOpen) initAquarium(); // Этап 46: банка перераскладывается по новым W/H } window.addEventListener('resize',resize); @@ -2611,6 +2687,12 @@ function updateDecor(dt){ if(shake>0) shake-=dt; } function syncDom(){ + document.body.classList.toggle('aq-open',aqOpen); // Этап 46: под сценой банки HUD скрыт (CSS body.aq-open #hud) + if(aqOpen){ // Этап 46: под сценой банки игровые HUD-кнопки не показываем + $('btnRecall').classList.add('hidden'); + $('btnPause').classList.add('hidden'); + return; + } const showRecall=(state==='WAIT'||state==='APPROACH'||state==='BITE'); $('btnRecall').classList.toggle('hidden',!showRecall); $('btnPause').classList.toggle('hidden',!(state!=='MENU'&&!uiOpen&&!pauseOpen)); // Y6: пауза — вне меню и без оверлеев @@ -3405,6 +3487,7 @@ function draw(){ if(shake>0){ ctx.translate(rand(-1,1)*shake*8,rand(-1,1)*shake*8); } + if(aqOpen){ drawAquarium(); ctx.restore(); return; } // Этап 46: сцена аквариума вместо озера drawSky(); drawScenery(); // Этап 44: береговые силуэты (перед водой — базу закрывает градиент) drawWater(); @@ -3440,6 +3523,248 @@ function draw(){ ctx.restore(); } +/* ========================================================= + АКВАРИУМ (Этап 46) + Декоративная сцена коллекции ЭКЗЕМПЛЯРОВ (вид+вариант+вес), не вода: + в LOCATIONS не добавляется, роллы/боссы/баланс не трогаются. Сцена рисуется + в draw() ВМЕСТО озера при aqOpen; DOM-бар #aqBar и поповер #aqPop — поверх + canvas. Вход — из хаба «Меню» (#btnGmAquarium). Экземпляры копятся кнопкой + «В аквариум» на карточке улова (модель C — бесплатная копия, catchFish не + меняется). Рантайм-раскладка aqFishRt НЕ персистится (индекс = save.aqFish). +========================================================= */ +let aqOpen=false; // сцена активна (draw() рисует банку вместо озера) +let aqFishRt=[]; // рантайм: {x,y,dir,ph,spd,vy,tail} по индексу save.aqFish — НЕ в сейве +let aqSel=-1; // выбранный экземпляр (-1 — ничего) +let aqFromMenu=false; // вход был из хаба «Меню» (аналог shopFromMenu): «Назад» вернёт в #gamemenu +let aqTank={x:0,y:0,w:0,h:0,sandY:0}; // геометрия банки (пересобирается в initAquarium) +let aqPlants=[], aqBubbles=[]; // декор сцены (растения/пузыри) — тоже не в сейве + +/* Подкраска варианта в банке: сдвиг hue силуэта + цветной блик-ореол (normal — без эффекта) */ +const AQ_VARIANT_FX={copper:'#d99a62',silver:'#dfe9f5',quartz:'#cdbfe0',gold:'#ffd75e', + emerald:'#2ebd6b',diamond:'#6db8f2',rainbow:'#c56cf0'}; +const AQ_VARIANT_HUE={copper:14,silver:0,quartz:35,gold:-8,emerald:-45,diamond:18,rainbow:0}; + +/* Размер силуэта в банке: от веса к пределу вида (w/wMax) и редкости; кламп — чтобы влезал */ +function aqFishSize(sp,w){ + const rel=sp.wMax>0?Math.min(1,Math.max(0,w/sp.wMax)):0.4; + const s=8+rel*22+sp.rarity*1.6; + return Math.max(7,Math.min(Math.min(W,H)*0.11,s)); +} +/* Раскладка банки и экземпляров по текущим W/H; вызывается при входе и на resize */ +function initAquarium(){ + aqTank.x=14; aqTank.y=14; + aqTank.w=Math.max(160,W-28); aqTank.h=Math.max(160,H-28); + aqTank.sandY=aqTank.y+aqTank.h*0.80; + const topPad=aqTank.y+54; // запас под DOM-бар #aqBar (пилюли лежат поверх верхней кромки банки) + const n=save.aqFish.length; + aqFishRt=[]; + // Сетка по ширине/высоте — рыбы стартуют вразброс, не друг на друге + const cols=Math.max(1,Math.ceil(Math.sqrt(n))); + const rows=Math.max(1,Math.ceil(n/cols)); + for(let i=0;i<n;i++){ + const cr=Math.floor(i/cols), cc=i%cols; + const cw=(aqTank.w-70)/cols, ch=Math.max(24,(aqTank.sandY-topPad-16)/rows); + aqFishRt.push({ + x:aqTank.x+40+cc*cw+rand(0,Math.max(1,cw*0.5)), + y:topPad+cr*ch+rand(0,Math.max(1,ch*0.6)), + dir:Math.random()<0.5?1:-1, ph:rand(0,6.28), tail:rand(0,6.28), + spd:rand(12,26), vy:rand(5,12) + }); + } + aqPlants=[]; + const np=5+((Math.random()*4)|0); + for(let k=0;k<np;k++) aqPlants.push({ + x:rand(aqTank.x+18,aqTank.x+aqTank.w-18), + h:rand(28,Math.min(110,aqTank.h*0.5)), w:rand(3,7), ph:rand(0,6.28), + c:['#2f7a4a','#3f8f57','#256b41'][(Math.random()*3)|0] + }); + aqBubbles=[]; + for(let k=0;k<16;k++) aqBubbles.push({ + x:rand(aqTank.x+14,aqTank.x+aqTank.w-14), y:rand(aqTank.y+20,aqTank.sandY), + r:rand(1.5,3.5), v:rand(16,34), ph:rand(0,6.28) + }); + aqSel=-1; + renderAqBar(); +} +/* Плавание: движение по горизонтали, разворот у стенок, вертикальный дрейф, анимация хвоста */ +function updateAquarium(dt){ + const left=aqTank.x+14, right=aqTank.x+aqTank.w-14; + const top=aqTank.y+52, bot=aqTank.sandY-8; // top — ниже DOM-бара #aqBar + for(const f of aqFishRt){ + f.x+=f.dir*f.spd*dt; + f.y+=Math.sin(time*0.8+f.ph)*f.vy*dt; + f.tail+=dt*7; + if(f.dir>0&&f.x>right) f.dir=-1; + if(f.dir<0&&f.x<left) f.dir=1; + if(f.y<top) f.y=top; + if(f.y>bot) f.y=bot; + } + for(const b of aqBubbles){ + b.y-=b.v*dt; b.ph+=dt*2; + if(b.y<aqTank.y+10){ b.y=aqTank.sandY-4; b.x=rand(left,right); } + } +} +/* Отрисовка банки: вода/стекло (hexLerp к nightMix — общий цикл суток), грунт, растения, + пузыри, рыбы (drawFishShape + подкраска варианта, свечение болотных, рамка выбора) */ +function drawAquarium(){ + const nm=nightMix(); + const x=aqTank.x, y=aqTank.y, w=aqTank.w, h=aqTank.h; + // фон комнаты за стеклом + ctx.fillStyle='#050b14'; ctx.fillRect(0,0,W,H); + ctx.save(); + rr(x,y,w,h,18); ctx.clip(); + // вода: день ↔ ночь + const g=ctx.createLinearGradient(0,y,0,y+h); + g.addColorStop(0,hexLerp('#a9e4ff','#123a5c',nm)); + g.addColorStop(1,hexLerp('#2f8fc4','#06172b',nm)); + ctx.fillStyle=g; ctx.fillRect(x,y,w,h); + // косые лучи света (визуал) + ctx.globalAlpha=0.05+0.06*(1-nm); ctx.fillStyle='#ffffff'; + for(let k=0;k<4;k++){ + const bx0=x+w*(0.08+k*0.24); + ctx.beginPath(); + ctx.moveTo(bx0,y); ctx.lineTo(bx0+w*0.05,y); + ctx.lineTo(bx0-w*0.03,y+h); ctx.lineTo(bx0-w*0.08,y+h); + ctx.closePath(); ctx.fill(); + } + ctx.globalAlpha=1; + // грунт (волнистая кромка песка) + ctx.fillStyle=hexLerp('#e8d6a6','#4b4233',nm*0.75); + ctx.beginPath(); + ctx.moveTo(x,aqTank.sandY); + for(let px=x;px<=x+w;px+=24) ctx.lineTo(px,aqTank.sandY+Math.sin(px*0.05)*4); + ctx.lineTo(x+w,y+h); ctx.lineTo(x,y+h); ctx.closePath(); ctx.fill(); + ctx.strokeStyle=hexLerp('#b9a06b','#33291d',nm*0.75); ctx.lineWidth=2; + ctx.beginPath(); + for(let px=x;px<=x+w;px+=24){ const py=aqTank.sandY+Math.sin(px*0.05)*4; if(px===x)ctx.moveTo(px,py); else ctx.lineTo(px,py); } + ctx.stroke(); + // растения (пучок из 3 тростинок, качается; лист у средней — читаемость на телефоне) + for(const pl of aqPlants){ + const col=hexLerp(pl.c,'#0a1a12',nm*0.45); + ctx.strokeStyle=col; ctx.fillStyle=col; ctx.lineCap='round'; + for(let b=-1;b<=1;b++){ + const sway=Math.sin(time*1.1+pl.ph+b*0.6)*pl.h*0.08; + const bx=pl.x+b*pl.w*1.4; + ctx.lineWidth=pl.w*(b===0?1:0.7); + ctx.beginPath(); + ctx.moveTo(bx,aqTank.sandY+4); + ctx.quadraticCurveTo(bx+pl.w*1.5,aqTank.sandY-pl.h*0.55,bx+sway,aqTank.sandY-pl.h*(b===0?1:0.78)); + ctx.stroke(); + } + ctx.beginPath(); + ctx.ellipse(pl.x+pl.w*2.4,aqTank.sandY-pl.h*0.52,pl.w*1.7,pl.w*0.8,-0.5,0,7); + ctx.fill(); + } + // пузыри + ctx.strokeStyle='rgba(255,255,255,'+(0.25+0.25*(1-nm)).toFixed(3)+')'; ctx.lineWidth=1.2; + for(const b of aqBubbles){ + ctx.beginPath(); ctx.arc(b.x+Math.sin(b.ph)*3,b.y,b.r,0,7); ctx.stroke(); + } + // рыбы-жильцы + for(let i=0;i<save.aqFish.length;i++){ + const f=save.aqFish[i], rt=aqFishRt[i]; + if(!rt) continue; + const sp=SPECIES.find(s=>s.id===f.id); if(!sp) continue; + const variant=VARIANTS.find(v=>v.id===f.v)||VARIANTS[0]; + const size=aqFishSize(sp,f.w); + const fx=AQ_VARIANT_FX[variant.id]; + if(fx) drawGlowAura(rt.x,rt.y,size*1.4,fx,0.55+0.35*Math.sin(time*2.4+i)); // подкраска варианта + if(sp.glow) drawGlowAura(rt.x,rt.y,size*1.5,sp.glow,glowIntensity()); // болотные — свечение вида + const hue=sp.hue+(AQ_VARIANT_HUE[variant.id]||0); + drawFishShape(rt.x,rt.y,size,rt.dir,hue,1,Math.sin(rt.tail)*0.3); + if(fx){ // блик-искра у особых вариантов + const a=0.5+0.5*Math.sin(time*3+i*1.7); + ctx.fillStyle='rgba(255,255,255,'+(0.5*a).toFixed(3)+')'; + ctx.beginPath(); ctx.arc(rt.x-size*0.2,rt.y-size*0.55,Math.max(1,size*0.08),0,7); ctx.fill(); + } + if(aqSel===i){ // рамка выбранной рыбы + ctx.strokeStyle='#c8fff4'; ctx.lineWidth=2; + ctx.beginPath(); ctx.ellipse(rt.x,rt.y,size*1.35,size*0.95,0,0,7); ctx.stroke(); + } + } + ctx.restore(); + // стекло: рамка + вертикальный блик + ctx.save(); + rr(x,y,w,h,18); ctx.clip(); + ctx.globalAlpha=0.10; ctx.fillStyle='#fff'; + ctx.beginPath(); + ctx.moveTo(x+w*0.06,y); ctx.lineTo(x+w*0.16,y); + ctx.lineTo(x+w*0.04,y+h); ctx.lineTo(x-w*0.02,y+h); + ctx.closePath(); ctx.fill(); + ctx.restore(); + ctx.strokeStyle='rgba(200,255,244,.55)'; ctx.lineWidth=3; rr(x,y,w,h,18); ctx.stroke(); + ctx.strokeStyle='rgba(255,255,255,.10)'; ctx.lineWidth=1; rr(x+4,y+4,w-8,h-8,15); ctx.stroke(); +} +/* Тап по сцене: ближайшая рыба в радиусе → выделение + поповер; тап в пустоту — снять выбор */ +function aqTap(x,y){ + let best=-1, bd=Infinity; + for(let i=0;i<aqFishRt.length;i++){ + const rt=aqFishRt[i], f=save.aqFish[i]; + if(!f) continue; + const sp=SPECIES.find(s=>s.id===f.id); if(!sp) continue; + const r=aqFishSize(sp,f.w)*1.2+10; + const d=(rt.x-x)*(rt.x-x)+(rt.y-y)*(rt.y-y); + if(d<r*r&&d<bd){ bd=d; best=i; } + } + if(best>=0){ aqSel=best; showAqPop(); } + else{ aqSel=-1; hideAqPop(); } + renderAqBar(); +} +function showAqPop(){ + const f=save.aqFish[aqSel]; if(!f){ hideAqPop(); return; } + const sp=SPECIES.find(s=>s.id===f.id); if(!sp){ hideAqPop(); return; } + const variant=VARIANTS.find(v=>v.id===f.v)||VARIANTS[0]; + $('aqPopName').textContent=trName(sp)+(variant.id!=='normal'?' · '+trName(variant):''); + $('aqPopSub').textContent=f.w.toFixed(1)+' '+t('kg')+' · '+trRarity(sp.rarity); // Этап 46: без цены — выпуск бесплатный + $('btnAqRelease').textContent=t('aq_release'); + $('aqPop').classList.remove('hidden'); +} +function hideAqPop(){ $('aqPop').classList.add('hidden'); } +/* Бар аквариума: счётчик слотов + кнопка покупки (цена = AQ_SLOT_COSTS[aqSlots-AQ_BASE_SLOTS]) */ +function renderAqBar(){ + $('aqBar').title=t('aq_title'); + $('btnAqBack').textContent=t('aq_back'); + $('aqCount').textContent=tt('aq_slots',{n:save.aqFish.length,m:save.aqSlots}); + const btn=$('btnAqSlot'), maxed=save.aqSlots>=AQ_MAX_SLOTS; + btn.disabled=maxed; + btn.textContent=maxed?t('aq_max'):tt('aq_buy_slot',{n:AQ_SLOT_COSTS[save.aqSlots-AQ_BASE_SLOTS]}); + if(aqSel>=0&&aqSel<save.aqFish.length) showAqPop(); else hideAqPop(); +} +/* Выпуск выбранного экземпляра из банки (Этап 46, ревизия: чистая косметика — без монет). + Точечно удаляем запись и её рантайм-раскладку ИНДЕКСАМИ, позиции остальных рыб сохраняем + (никакого initAquarium — иначе остальные «телепортируются»). Слот просто освобождается. */ +function aqReleaseSel(){ + if(aqSel<0||aqSel>=save.aqFish.length) return; + save.aqFish.splice(aqSel,1); + aqFishRt.splice(aqSel,1); + aqSel=-1; + hideAqPop(); + persist(); + toast(t('aq_released')); + renderAqBar(); +} +/* Вход/выход: из хаба «Меню» (аналог fromMenuShop) — гменю прячем, «Назад» возвращает в него */ +function openAquarium(){ + sfx('click'); + aqFromMenu=true; + $('gamemenu').classList.add('hidden'); + aqOpen=true; uiOpen=true; + YG.gameplayStop(); // сцена — не геймплей (паттерн лавки/паузы) + initAquarium(); + $('aqBar').classList.remove('hidden'); + document.body.classList.add('aq-open'); // HUD (#coins/#btnShop/#weather) скрыт под сценой + syncDom(); // под оверлеем-сценой #btnPause/#btnRecall не показываем +} +function closeAquarium(){ + sfx('click'); + aqOpen=false; aqSel=-1; + $('aqBar').classList.add('hidden'); + document.body.classList.remove('aq-open'); // HUD возвращаем + hideAqPop(); + if(aqFromMenu){ $('gamemenu').classList.remove('hidden'); uiOpen=true; } + aqFromMenu=false; +} + /* ========================================================= Y1: SDK Яндекс Игр Обёртка YG — единственная точка SDK. Стаб (file:// без ?sdk=1) — @@ -3638,7 +3963,18 @@ const T={ gm_journal:'📔 Дневник', gm_howto:'📖 Инструкции', gm_sound:'Звук', - gm_reset:'🗑️ Очистить' + gm_reset:'🗑️ Очистить', + gm_aquarium:'🐠 Аквариум', + aq_title:'🐠 Аквариум', + aq_keep:'🐠 В аквариум', + aq_back:'← Назад', + aq_slots:'{n}/{m}', + aq_buy_slot:'+ Слот ({n} 🪙)', + aq_max:'+ Слот: максимум', + aq_release:'Выпустить', + aq_no_room:'Нет места', + aq_kept:'🐠 Рыба поселилась в аквариуме!', + aq_released:'Рыба выпущена' }, en:{ title:'Fishing', @@ -3736,7 +4072,18 @@ const T={ gm_journal:'📔 Journal', gm_howto:'📖 How to play', gm_sound:'Sound', - gm_reset:'🗑️ Reset' + gm_reset:'🗑️ Reset', + gm_aquarium:'🐠 Aquarium', + aq_title:'🐠 Aquarium', + aq_keep:'🐠 To aquarium', + aq_back:'← Back', + aq_slots:'{n}/{m}', + aq_buy_slot:'+ Slot ({n} 🪙)', + aq_max:'+ Slot: max', + aq_release:'Release', + aq_no_room:'No room', + aq_kept:'🐠 The fish moved into the aquarium!', + aq_released:'Fish released' } }; let LANG='ru'; @@ -3787,12 +4134,14 @@ function renderStaticUI(){ $('btnGmAch').textContent=t('gm_ach'); $('btnGmJournal').textContent=t('gm_journal'); $('btnGmHowto').textContent=t('gm_howto'); + $('btnGmAquarium').textContent=t('gm_aquarium'); // Этап 46: вход в аквариум $('btnReset').textContent=t('gm_reset'); $('btnMute').textContent=(save.muted?'🔇':'🔊')+' '+t('gm_sound'); $('cardRecord').textContent=t('card_record'); $('cardBoss').textContent=t('card_boss'); $('btnCardOk').textContent=t('btn_ok'); $('btnRv').textContent=t('rv_btn'); + syncKeepBtn(); // Этап 46: подпись/доступность «В аквариум» } /* Y5: пере-подпись открытых элементов карточки улова при смене языка */ function refreshCardNow(){ @@ -3800,6 +4149,7 @@ function refreshCardNow(){ $('cardBoss').textContent=t('card_boss'); $('btnCardOk').textContent=t('btn_ok'); $('btnRv').textContent=rvDone?t('rv_done'):t('rv_btn'); + syncKeepBtn(); // Этап 46 } function setLang(lang){ LANG=(lang==='en')?'en':'ru'; @@ -3810,6 +4160,7 @@ function setLang(lang){ updateHUD(); // 🔊/🔇 «Звук» — подпись от языка if(shopOpenNow())renderShop(); if(cardOpenNow())refreshCardNow(); + if(aqOpen)renderAqBar(); // Этап 46: язык открытой сцены аквариума } /* Y5: резолюция языка — ДВЕ ветки вызова (стаб IIFE / finish(ysdk)): forceLang → SDK i18n.lang → ru (дефолт, в т.ч. стаб) */ @@ -3870,6 +4221,7 @@ function frame(now){ updateWeather(dt); // M8: погода — в реальном времени (как день/ночь) updateWeatherHud(); // M8: пилюля погоды в HUD (иконка + остаток секунд) updateDecor(dt); + if(aqOpen) updateAquarium(dt); // Этап 46: жизнь банки (плавание/пузыри) поверх uiOpen-паузы if(!uiOpen) updateGame(dt); // Y6: синхронизация HUD-кнопок — каждый кадр вне паузы (а не только в updateGame): // переходы в MENU/под оверлеи (btnResetYes/openShop/btnReset) не гонят updateGame, @@ -3883,8 +4235,9 @@ function frame(now){ /* ========================================================= ВВОД ========================================================= */ -function onDown(){ +function onDown(px,py){ ac(); + if(aqOpen){ aqTap(px,py); return; } // Этап 46: в аквариуме тап выбирает рыбу (сцена вместо озера) if(uiOpen) return; if(state==='IDLE'){ state='CHARGE'; charge=0; power=0; } else if(state==='APPROACH'||state==='BITE'){ hook(); } @@ -3894,7 +4247,7 @@ function onUp(){ if(state==='CHARGE') doCast(); else if(state==='REEL'&&reel) reel.holding=false; } -canvas.addEventListener('pointerdown',e=>{ e.preventDefault(); onDown(); }); +canvas.addEventListener('pointerdown',e=>{ e.preventDefault(); onDown(e.clientX,e.clientY); }); window.addEventListener('pointerup',onUp); window.addEventListener('pointercancel',onUp); document.addEventListener('contextmenu',e=>e.preventDefault()); @@ -4140,7 +4493,16 @@ function shopClick(e){ persist(); updateHUD(); sfx('click'); renderShop(); } } +let cardSpec=null; // Этап 46: экземпляр открытой карточки {sp,w,variant} — для кнопки «В аквариум» +function syncKeepBtn(){ // Этап 46: доступность «В аквариум» — нет свободного слота → disabled + «Нет места» + const full=save.aqFish.length>=save.aqSlots; + $('btnKeep').disabled=full; + $('btnKeep').textContent=full?t('aq_no_room'):t('aq_keep'); + $('btnKeep').title=full?t('aq_no_room'):t('aq_keep'); +} function showCard(sp,w,val,rec,variant,boss){ + cardSpec={sp:sp,w:w,variant:variant}; // Этап 46: копия экземпляра для аквариума (модель C; catchFish не трогаем) + syncKeepBtn(); $('cardRarity').textContent=trRarity(sp.rarity); $('cardRarity').style.color=RARITY_COLORS[sp.rarity]; document.getElementById('cardFishUse').setAttribute('href','#fish-'+sp.id); // SVG-портрет вида (спрайт; эмодзи рыб убраны — этап 42) @@ -4243,6 +4605,19 @@ function fromMenuShop(tab){ // лавка из «Меню»: гменю пряч $('btnGmShop').addEventListener('click',()=>fromMenuShop('tackle')); $('btnGmAch').addEventListener('click',()=>fromMenuShop('ach')); $('btnGmJournal').addEventListener('click',()=>fromMenuShop('journal')); +/* Этап 46: вход в аквариум из «Меню» + бар сцены (назад/слот/продажа из банки) */ +$('btnGmAquarium').addEventListener('click',()=>openAquarium()); +$('btnAqBack').addEventListener('click',()=>closeAquarium()); +$('btnAqSlot').addEventListener('click',()=>{ + if(save.aqSlots>=AQ_MAX_SLOTS){ sfx('no'); return; } // максимум — кнопка disabled, защита + const cost=AQ_SLOT_COSTS[save.aqSlots-AQ_BASE_SLOTS]; + if(!Number.isFinite(cost)){ sfx('no'); return; } // Этап 46: битый aqSlots (индекс вне лестницы) — не даём NaN + if(save.coins<cost){ sfx('no'); toast(t('not_enough')); return; } // паттерн shopClick + save.coins-=cost; save.aqSlots++; + persist(); updateHUD(); sfx('coin'); + renderAqBar(); checkAchievements(); +}); +$('btnAqRelease').addEventListener('click',()=>aqReleaseSel()); $('btnGmHowto').addEventListener('click',()=>{ sfx('click'); $('gamemenu').classList.add('hidden'); @@ -4309,6 +4684,22 @@ $('btnCardOk').addEventListener('click',()=>{ state='IDLE'; tryInterstitial(); // Y2: после возврата в IDLE; гейт может пропустить (внутри return) }); +/* Этап 46: «В аквариум» (модель C — бесплатная КОПИЯ экземпляра). Монеты/квесты/ачивки улова + уже начислены catchFish; здесь только push в save.aqFish + persist. Карточка закрывается + как при «Отлично!» — интерстишел тем же гейтом. */ +$('btnKeep').addEventListener('click',()=>{ + if(!cardSpec) return; + if(save.aqFish.length>=save.aqSlots){ sfx('no'); toast(t('aq_no_room')); return; } + sfx('click'); + save.aqFish.push({id:cardSpec.sp.id,v:cardSpec.variant.id,w:cardSpec.w}); + persist(); + checkAchievements(); + toast(t('aq_kept')); + cardSpec=null; + $('card').classList.add('hidden'); + state='IDLE'; + tryInterstitial(); +}); // Y2: rewarded «монеты ×2» (треб. 4.5.1 — что показываем и что даём, написано на // кнопке и в title; 4.5.2 — чистый бонус, игру не блокирует: карточка остаётся, // закрыть можно в любой момент). В стабе onRewarded срабатывает синхронно — весь diff --git a/screenshots-wiki-en/desk-ach.png b/screenshots-wiki-en/desk-ach.png index 587f91a..bc7a44c 100644 Binary files a/screenshots-wiki-en/desk-ach.png and b/screenshots-wiki-en/desk-ach.png differ diff --git a/screenshots-wiki-en/desk-aquarium.png b/screenshots-wiki-en/desk-aquarium.png new file mode 100644 index 0000000..93181a7 Binary files /dev/null and b/screenshots-wiki-en/desk-aquarium.png differ diff --git a/screenshots-wiki-en/desk-card.png b/screenshots-wiki-en/desk-card.png index f7133b1..578f3ce 100644 Binary files a/screenshots-wiki-en/desk-card.png and b/screenshots-wiki-en/desk-card.png differ diff --git a/screenshots-wiki-en/desk-journal.png b/screenshots-wiki-en/desk-journal.png index 727eae8..50ff89f 100644 Binary files a/screenshots-wiki-en/desk-journal.png and b/screenshots-wiki-en/desk-journal.png differ diff --git a/screenshots-wiki-en/desk-lake.png b/screenshots-wiki-en/desk-lake.png index 7d05eba..433ca3a 100644 Binary files a/screenshots-wiki-en/desk-lake.png and b/screenshots-wiki-en/desk-lake.png differ diff --git a/screenshots-wiki-en/desk-menu.png b/screenshots-wiki-en/desk-menu.png index 3d5c247..214f8d0 100644 Binary files a/screenshots-wiki-en/desk-menu.png and b/screenshots-wiki-en/desk-menu.png differ diff --git a/screenshots-wiki-en/desk-night.png b/screenshots-wiki-en/desk-night.png index d6088f3..afccbf2 100644 Binary files a/screenshots-wiki-en/desk-night.png and b/screenshots-wiki-en/desk-night.png differ diff --git a/screenshots-wiki-en/desk-ocean.png b/screenshots-wiki-en/desk-ocean.png index 79f2cc3..2e54534 100644 Binary files a/screenshots-wiki-en/desk-ocean.png and b/screenshots-wiki-en/desk-ocean.png differ diff --git a/screenshots-wiki-en/desk-reel.png b/screenshots-wiki-en/desk-reel.png index 4d6e574..47bacb0 100644 Binary files a/screenshots-wiki-en/desk-reel.png and b/screenshots-wiki-en/desk-reel.png differ diff --git a/screenshots-wiki-en/desk-sea.png b/screenshots-wiki-en/desk-sea.png index abc07e9..9221acf 100644 Binary files a/screenshots-wiki-en/desk-sea.png and b/screenshots-wiki-en/desk-sea.png differ diff --git a/screenshots-wiki-en/desk-shop.png b/screenshots-wiki-en/desk-shop.png index 8190aa6..f48d457 100644 Binary files a/screenshots-wiki-en/desk-shop.png and b/screenshots-wiki-en/desk-shop.png differ diff --git a/screenshots-wiki-en/desk-swamp-night.png b/screenshots-wiki-en/desk-swamp-night.png index ff6869c..b8d838e 100644 Binary files a/screenshots-wiki-en/desk-swamp-night.png and b/screenshots-wiki-en/desk-swamp-night.png differ diff --git a/screenshots-wiki-en/desk-swamp.png b/screenshots-wiki-en/desk-swamp.png index 0c506b7..c37169c 100644 Binary files a/screenshots-wiki-en/desk-swamp.png and b/screenshots-wiki-en/desk-swamp.png differ diff --git a/screenshots-wiki-en/desk-wait.png b/screenshots-wiki-en/desk-wait.png index a4759ac..224fa49 100644 Binary files a/screenshots-wiki-en/desk-wait.png and b/screenshots-wiki-en/desk-wait.png differ diff --git a/screenshots-wiki-en/desk-weather-rain.png b/screenshots-wiki-en/desk-weather-rain.png index 40497f2..9e553ce 100644 Binary files a/screenshots-wiki-en/desk-weather-rain.png and b/screenshots-wiki-en/desk-weather-rain.png differ diff --git a/screenshots-wiki-en/mobl-ach.png b/screenshots-wiki-en/mobl-ach.png index cd3085d..0aaf45a 100644 Binary files a/screenshots-wiki-en/mobl-ach.png and b/screenshots-wiki-en/mobl-ach.png differ diff --git a/screenshots-wiki-en/mobl-aquarium.png b/screenshots-wiki-en/mobl-aquarium.png new file mode 100644 index 0000000..cae0673 Binary files /dev/null and b/screenshots-wiki-en/mobl-aquarium.png differ diff --git a/screenshots-wiki-en/mobl-card.png b/screenshots-wiki-en/mobl-card.png index c5305ee..ceda8f4 100644 Binary files a/screenshots-wiki-en/mobl-card.png and b/screenshots-wiki-en/mobl-card.png differ diff --git a/screenshots-wiki-en/mobl-journal.png b/screenshots-wiki-en/mobl-journal.png index cbff6fe..23a321c 100644 Binary files a/screenshots-wiki-en/mobl-journal.png and b/screenshots-wiki-en/mobl-journal.png differ diff --git a/screenshots-wiki-en/mobl-lake.png b/screenshots-wiki-en/mobl-lake.png index 162f717..5b45bf2 100644 Binary files a/screenshots-wiki-en/mobl-lake.png and b/screenshots-wiki-en/mobl-lake.png differ diff --git a/screenshots-wiki-en/mobl-menu.png b/screenshots-wiki-en/mobl-menu.png index 4f3673c..7ff099b 100644 Binary files a/screenshots-wiki-en/mobl-menu.png and b/screenshots-wiki-en/mobl-menu.png differ diff --git a/screenshots-wiki-en/mobl-night.png b/screenshots-wiki-en/mobl-night.png index 3e420b5..f0bfdf0 100644 Binary files a/screenshots-wiki-en/mobl-night.png and b/screenshots-wiki-en/mobl-night.png differ diff --git a/screenshots-wiki-en/mobl-ocean.png b/screenshots-wiki-en/mobl-ocean.png index 84a8740..a6e38d2 100644 Binary files a/screenshots-wiki-en/mobl-ocean.png and b/screenshots-wiki-en/mobl-ocean.png differ diff --git a/screenshots-wiki-en/mobl-reel.png b/screenshots-wiki-en/mobl-reel.png index dfdcff0..4eac19c 100644 Binary files a/screenshots-wiki-en/mobl-reel.png and b/screenshots-wiki-en/mobl-reel.png differ diff --git a/screenshots-wiki-en/mobl-sea.png b/screenshots-wiki-en/mobl-sea.png index 3968dee..209507a 100644 Binary files a/screenshots-wiki-en/mobl-sea.png and b/screenshots-wiki-en/mobl-sea.png differ diff --git a/screenshots-wiki-en/mobl-shop.png b/screenshots-wiki-en/mobl-shop.png index 0719232..0eb3b41 100644 Binary files a/screenshots-wiki-en/mobl-shop.png and b/screenshots-wiki-en/mobl-shop.png differ diff --git a/screenshots-wiki-en/mobl-swamp-night.png b/screenshots-wiki-en/mobl-swamp-night.png index 7ac3797..b907866 100644 Binary files a/screenshots-wiki-en/mobl-swamp-night.png and b/screenshots-wiki-en/mobl-swamp-night.png differ diff --git a/screenshots-wiki-en/mobl-swamp.png b/screenshots-wiki-en/mobl-swamp.png index 670ff8b..3eb25c4 100644 Binary files a/screenshots-wiki-en/mobl-swamp.png and b/screenshots-wiki-en/mobl-swamp.png differ diff --git a/screenshots-wiki-en/mobl-wait.png b/screenshots-wiki-en/mobl-wait.png index 0bce8f0..4fc6be0 100644 Binary files a/screenshots-wiki-en/mobl-wait.png and b/screenshots-wiki-en/mobl-wait.png differ diff --git a/screenshots-wiki-en/mobl-weather-rain.png b/screenshots-wiki-en/mobl-weather-rain.png index 7d15f20..4846cb2 100644 Binary files a/screenshots-wiki-en/mobl-weather-rain.png and b/screenshots-wiki-en/mobl-weather-rain.png differ diff --git a/screenshots-wiki-en/mobp-ach.png b/screenshots-wiki-en/mobp-ach.png index aea5713..9a75866 100644 Binary files a/screenshots-wiki-en/mobp-ach.png and b/screenshots-wiki-en/mobp-ach.png differ diff --git a/screenshots-wiki-en/mobp-aquarium.png b/screenshots-wiki-en/mobp-aquarium.png new file mode 100644 index 0000000..e78ac8d Binary files /dev/null and b/screenshots-wiki-en/mobp-aquarium.png differ diff --git a/screenshots-wiki-en/mobp-card.png b/screenshots-wiki-en/mobp-card.png index 0bdf558..d3ee1d3 100644 Binary files a/screenshots-wiki-en/mobp-card.png and b/screenshots-wiki-en/mobp-card.png differ diff --git a/screenshots-wiki-en/mobp-journal.png b/screenshots-wiki-en/mobp-journal.png index 648b2d8..948c429 100644 Binary files a/screenshots-wiki-en/mobp-journal.png and b/screenshots-wiki-en/mobp-journal.png differ diff --git a/screenshots-wiki-en/mobp-lake.png b/screenshots-wiki-en/mobp-lake.png index 836f6c8..70189b7 100644 Binary files a/screenshots-wiki-en/mobp-lake.png and b/screenshots-wiki-en/mobp-lake.png differ diff --git a/screenshots-wiki-en/mobp-menu.png b/screenshots-wiki-en/mobp-menu.png index 7fafa44..edcc70b 100644 Binary files a/screenshots-wiki-en/mobp-menu.png and b/screenshots-wiki-en/mobp-menu.png differ diff --git a/screenshots-wiki-en/mobp-night.png b/screenshots-wiki-en/mobp-night.png index 4bfe6f0..afe62fd 100644 Binary files a/screenshots-wiki-en/mobp-night.png and b/screenshots-wiki-en/mobp-night.png differ diff --git a/screenshots-wiki-en/mobp-ocean.png b/screenshots-wiki-en/mobp-ocean.png index af9b13c..9e2543b 100644 Binary files a/screenshots-wiki-en/mobp-ocean.png and b/screenshots-wiki-en/mobp-ocean.png differ diff --git a/screenshots-wiki-en/mobp-reel.png b/screenshots-wiki-en/mobp-reel.png index 8502200..11158d2 100644 Binary files a/screenshots-wiki-en/mobp-reel.png and b/screenshots-wiki-en/mobp-reel.png differ diff --git a/screenshots-wiki-en/mobp-sea.png b/screenshots-wiki-en/mobp-sea.png index 19fdacf..23e41b5 100644 Binary files a/screenshots-wiki-en/mobp-sea.png and b/screenshots-wiki-en/mobp-sea.png differ diff --git a/screenshots-wiki-en/mobp-shop.png b/screenshots-wiki-en/mobp-shop.png index d334fe4..7a1324c 100644 Binary files a/screenshots-wiki-en/mobp-shop.png and b/screenshots-wiki-en/mobp-shop.png differ diff --git a/screenshots-wiki-en/mobp-swamp-night.png b/screenshots-wiki-en/mobp-swamp-night.png index 98ae584..eb56b26 100644 Binary files a/screenshots-wiki-en/mobp-swamp-night.png and b/screenshots-wiki-en/mobp-swamp-night.png differ diff --git a/screenshots-wiki-en/mobp-swamp.png b/screenshots-wiki-en/mobp-swamp.png index b9102fd..9a96e7e 100644 Binary files a/screenshots-wiki-en/mobp-swamp.png and b/screenshots-wiki-en/mobp-swamp.png differ diff --git a/screenshots-wiki-en/mobp-wait.png b/screenshots-wiki-en/mobp-wait.png index a745531..2d29002 100644 Binary files a/screenshots-wiki-en/mobp-wait.png and b/screenshots-wiki-en/mobp-wait.png differ diff --git a/screenshots-wiki-en/mobp-weather-rain.png b/screenshots-wiki-en/mobp-weather-rain.png index 9b9f1f1..bbafc34 100644 Binary files a/screenshots-wiki-en/mobp-weather-rain.png and b/screenshots-wiki-en/mobp-weather-rain.png differ diff --git a/screenshots-wiki/desk-ach.png b/screenshots-wiki/desk-ach.png index 0305664..07c07cc 100644 Binary files a/screenshots-wiki/desk-ach.png and b/screenshots-wiki/desk-ach.png differ diff --git a/screenshots-wiki/desk-aquarium.png b/screenshots-wiki/desk-aquarium.png new file mode 100644 index 0000000..e3caf11 Binary files /dev/null and b/screenshots-wiki/desk-aquarium.png differ diff --git a/screenshots-wiki/desk-card.png b/screenshots-wiki/desk-card.png index d4f2cfd..4e07682 100644 Binary files a/screenshots-wiki/desk-card.png and b/screenshots-wiki/desk-card.png differ diff --git a/screenshots-wiki/desk-journal.png b/screenshots-wiki/desk-journal.png index 9e73288..5378c30 100644 Binary files a/screenshots-wiki/desk-journal.png and b/screenshots-wiki/desk-journal.png differ diff --git a/screenshots-wiki/desk-lake.png b/screenshots-wiki/desk-lake.png index d394593..c0b3b32 100644 Binary files a/screenshots-wiki/desk-lake.png and b/screenshots-wiki/desk-lake.png differ diff --git a/screenshots-wiki/desk-menu.png b/screenshots-wiki/desk-menu.png index 4c20c60..c15c15c 100644 Binary files a/screenshots-wiki/desk-menu.png and b/screenshots-wiki/desk-menu.png differ diff --git a/screenshots-wiki/desk-night.png b/screenshots-wiki/desk-night.png index 041cf81..b6aa3b7 100644 Binary files a/screenshots-wiki/desk-night.png and b/screenshots-wiki/desk-night.png differ diff --git a/screenshots-wiki/desk-ocean.png b/screenshots-wiki/desk-ocean.png index d145533..6eef6a1 100644 Binary files a/screenshots-wiki/desk-ocean.png and b/screenshots-wiki/desk-ocean.png differ diff --git a/screenshots-wiki/desk-reel.png b/screenshots-wiki/desk-reel.png index 737581b..71fd9c1 100644 Binary files a/screenshots-wiki/desk-reel.png and b/screenshots-wiki/desk-reel.png differ diff --git a/screenshots-wiki/desk-sea.png b/screenshots-wiki/desk-sea.png index 6160f1f..0560cd5 100644 Binary files a/screenshots-wiki/desk-sea.png and b/screenshots-wiki/desk-sea.png differ diff --git a/screenshots-wiki/desk-shop.png b/screenshots-wiki/desk-shop.png index bdf30f6..be942c1 100644 Binary files a/screenshots-wiki/desk-shop.png and b/screenshots-wiki/desk-shop.png differ diff --git a/screenshots-wiki/desk-swamp-night.png b/screenshots-wiki/desk-swamp-night.png index 2628c8d..da26bca 100644 Binary files a/screenshots-wiki/desk-swamp-night.png and b/screenshots-wiki/desk-swamp-night.png differ diff --git a/screenshots-wiki/desk-swamp.png b/screenshots-wiki/desk-swamp.png index 652b503..eb6ca74 100644 Binary files a/screenshots-wiki/desk-swamp.png and b/screenshots-wiki/desk-swamp.png differ diff --git a/screenshots-wiki/desk-wait.png b/screenshots-wiki/desk-wait.png index ae49c2f..a5dfb94 100644 Binary files a/screenshots-wiki/desk-wait.png and b/screenshots-wiki/desk-wait.png differ diff --git a/screenshots-wiki/desk-weather-rain.png b/screenshots-wiki/desk-weather-rain.png index 6c76cf6..9b8c7b7 100644 Binary files a/screenshots-wiki/desk-weather-rain.png and b/screenshots-wiki/desk-weather-rain.png differ diff --git a/screenshots-wiki/mobl-ach.png b/screenshots-wiki/mobl-ach.png index a17fe7b..1c44a90 100644 Binary files a/screenshots-wiki/mobl-ach.png and b/screenshots-wiki/mobl-ach.png differ diff --git a/screenshots-wiki/mobl-aquarium.png b/screenshots-wiki/mobl-aquarium.png new file mode 100644 index 0000000..9518ecc Binary files /dev/null and b/screenshots-wiki/mobl-aquarium.png differ diff --git a/screenshots-wiki/mobl-card.png b/screenshots-wiki/mobl-card.png index 69a5908..d5abd86 100644 Binary files a/screenshots-wiki/mobl-card.png and b/screenshots-wiki/mobl-card.png differ diff --git a/screenshots-wiki/mobl-journal.png b/screenshots-wiki/mobl-journal.png index 3f2b456..b5dc510 100644 Binary files a/screenshots-wiki/mobl-journal.png and b/screenshots-wiki/mobl-journal.png differ diff --git a/screenshots-wiki/mobl-lake.png b/screenshots-wiki/mobl-lake.png index 701d797..c34e320 100644 Binary files a/screenshots-wiki/mobl-lake.png and b/screenshots-wiki/mobl-lake.png differ diff --git a/screenshots-wiki/mobl-menu.png b/screenshots-wiki/mobl-menu.png index 38b7aee..71da889 100644 Binary files a/screenshots-wiki/mobl-menu.png and b/screenshots-wiki/mobl-menu.png differ diff --git a/screenshots-wiki/mobl-night.png b/screenshots-wiki/mobl-night.png index b3d0ece..7947d77 100644 Binary files a/screenshots-wiki/mobl-night.png and b/screenshots-wiki/mobl-night.png differ diff --git a/screenshots-wiki/mobl-ocean.png b/screenshots-wiki/mobl-ocean.png index f0763e7..f88aa87 100644 Binary files a/screenshots-wiki/mobl-ocean.png and b/screenshots-wiki/mobl-ocean.png differ diff --git a/screenshots-wiki/mobl-reel.png b/screenshots-wiki/mobl-reel.png index 10de2cd..7f68f08 100644 Binary files a/screenshots-wiki/mobl-reel.png and b/screenshots-wiki/mobl-reel.png differ diff --git a/screenshots-wiki/mobl-sea.png b/screenshots-wiki/mobl-sea.png index 26329de..d9bbe8d 100644 Binary files a/screenshots-wiki/mobl-sea.png and b/screenshots-wiki/mobl-sea.png differ diff --git a/screenshots-wiki/mobl-shop.png b/screenshots-wiki/mobl-shop.png index d3e10d2..7e4dd8c 100644 Binary files a/screenshots-wiki/mobl-shop.png and b/screenshots-wiki/mobl-shop.png differ diff --git a/screenshots-wiki/mobl-swamp-night.png b/screenshots-wiki/mobl-swamp-night.png index ddd9811..53f6575 100644 Binary files a/screenshots-wiki/mobl-swamp-night.png and b/screenshots-wiki/mobl-swamp-night.png differ diff --git a/screenshots-wiki/mobl-swamp.png b/screenshots-wiki/mobl-swamp.png index 2b38573..1a96c9a 100644 Binary files a/screenshots-wiki/mobl-swamp.png and b/screenshots-wiki/mobl-swamp.png differ diff --git a/screenshots-wiki/mobl-wait.png b/screenshots-wiki/mobl-wait.png index 55e53d9..b57b3b0 100644 Binary files a/screenshots-wiki/mobl-wait.png and b/screenshots-wiki/mobl-wait.png differ diff --git a/screenshots-wiki/mobl-weather-rain.png b/screenshots-wiki/mobl-weather-rain.png index f232028..fcb740d 100644 Binary files a/screenshots-wiki/mobl-weather-rain.png and b/screenshots-wiki/mobl-weather-rain.png differ diff --git a/screenshots-wiki/mobp-ach.png b/screenshots-wiki/mobp-ach.png index c453a77..7c8476a 100644 Binary files a/screenshots-wiki/mobp-ach.png and b/screenshots-wiki/mobp-ach.png differ diff --git a/screenshots-wiki/mobp-aquarium.png b/screenshots-wiki/mobp-aquarium.png new file mode 100644 index 0000000..bd054b3 Binary files /dev/null and b/screenshots-wiki/mobp-aquarium.png differ diff --git a/screenshots-wiki/mobp-card.png b/screenshots-wiki/mobp-card.png index 4a50aac..b1ff55e 100644 Binary files a/screenshots-wiki/mobp-card.png and b/screenshots-wiki/mobp-card.png differ diff --git a/screenshots-wiki/mobp-journal.png b/screenshots-wiki/mobp-journal.png index d04abd8..f19234d 100644 Binary files a/screenshots-wiki/mobp-journal.png and b/screenshots-wiki/mobp-journal.png differ diff --git a/screenshots-wiki/mobp-lake.png b/screenshots-wiki/mobp-lake.png index 631644a..1407ec3 100644 Binary files a/screenshots-wiki/mobp-lake.png and b/screenshots-wiki/mobp-lake.png differ diff --git a/screenshots-wiki/mobp-menu.png b/screenshots-wiki/mobp-menu.png index 1078e6b..1947e10 100644 Binary files a/screenshots-wiki/mobp-menu.png and b/screenshots-wiki/mobp-menu.png differ diff --git a/screenshots-wiki/mobp-night.png b/screenshots-wiki/mobp-night.png index f08842d..6d153f1 100644 Binary files a/screenshots-wiki/mobp-night.png and b/screenshots-wiki/mobp-night.png differ diff --git a/screenshots-wiki/mobp-ocean.png b/screenshots-wiki/mobp-ocean.png index 3862895..7f60dbc 100644 Binary files a/screenshots-wiki/mobp-ocean.png and b/screenshots-wiki/mobp-ocean.png differ diff --git a/screenshots-wiki/mobp-reel.png b/screenshots-wiki/mobp-reel.png index f33f10a..3407538 100644 Binary files a/screenshots-wiki/mobp-reel.png and b/screenshots-wiki/mobp-reel.png differ diff --git a/screenshots-wiki/mobp-sea.png b/screenshots-wiki/mobp-sea.png index 4df11a6..5fd98b3 100644 Binary files a/screenshots-wiki/mobp-sea.png and b/screenshots-wiki/mobp-sea.png differ diff --git a/screenshots-wiki/mobp-shop.png b/screenshots-wiki/mobp-shop.png index 66e0677..92ecbe7 100644 Binary files a/screenshots-wiki/mobp-shop.png and b/screenshots-wiki/mobp-shop.png differ diff --git a/screenshots-wiki/mobp-swamp-night.png b/screenshots-wiki/mobp-swamp-night.png index f3cd60c..407d279 100644 Binary files a/screenshots-wiki/mobp-swamp-night.png and b/screenshots-wiki/mobp-swamp-night.png differ diff --git a/screenshots-wiki/mobp-swamp.png b/screenshots-wiki/mobp-swamp.png index 02da6e3..346ed85 100644 Binary files a/screenshots-wiki/mobp-swamp.png and b/screenshots-wiki/mobp-swamp.png differ diff --git a/screenshots-wiki/mobp-wait.png b/screenshots-wiki/mobp-wait.png index 030cde5..dfb2d89 100644 Binary files a/screenshots-wiki/mobp-wait.png and b/screenshots-wiki/mobp-wait.png differ diff --git a/screenshots-wiki/mobp-weather-rain.png b/screenshots-wiki/mobp-weather-rain.png index fbb9bc0..8c23ba0 100644 Binary files a/screenshots-wiki/mobp-weather-rain.png and b/screenshots-wiki/mobp-weather-rain.png differ diff --git a/tests/gen-screenshots.js b/tests/gen-screenshots.js index 53d0bf7..ca3ca10 100644 --- a/tests/gen-screenshots.js +++ b/tests/gen-screenshots.js @@ -3,9 +3,9 @@ * Генерация скриншотов «Рыбалки» — витринный набор (страница вики «Скриншоты», * материалы для Яндекс Игр). * - * Снимает 14 состояний игры (меню, лавка, достижения, дневник, ожидание дня, + * Снимает 15 состояний игры (меню, лавка, достижения, дневник, ожидание дня, * дождь, ночь, Озёра, Море, Океан, Волшебное болото — день и ночь, вываживание, - * карточка улова) на трёх вьюпортах: + * карточка улова, аквариум) на трёх вьюпортах: * - desk: 1280x720 @1x (десктоп, 16:9) * - mobp: 360x640 @2x -> 720x1280 (мобильный, портрет, 9:16) * - mobl: 800x450 @1.6x -> 1280x720 (мобильный, ландшафт, 16:9) @@ -40,7 +40,8 @@ * Зависит от тест-глобалов игры (AGENTS.md, «Подводные камни»): * state, forceBite, forceWeather, biteTimer, reel, catchFish, SHINY_CHANCE, * SPECIES, setDayTime, save, dayTime, dayPhase, forceLang, setLang, initFish (Этап 43), - * initScenery (Этап 44 — силуэты берега в кадрах lake/sea/ocean; Этап 45 — swamp/swamp-night) + * initScenery (Этап 44 — силуэты берега в кадрах lake/sea/ocean; Этап 45 — swamp/swamp-night), + * openAquarium (Этап 46 — кадр aquarium засевает save.aqFish и открывает сцену банки) * и DOM-кнопок: #btnPlay, #btnShop, #tabAch, #tabJournal, #btnCloseShop, * #btnCardOk, #card, #shop, #menu. */ @@ -60,7 +61,7 @@ const VIEWPORTS = [ { key: 'mobp', w: 360, h: 640, dsf: 2 }, { key: 'mobl', w: 800, h: 450, dsf: 1.6 }, ]; -const FRAMES = ['menu', 'shop', 'ach', 'journal', 'wait', 'weather-rain', 'night', 'lake', 'sea', 'ocean', 'swamp', 'swamp-night', 'reel', 'card']; // Этап 43: +кадры Море/Океан (визуальное различение локаций); Этап 45: +кадры Волшебного болота (день/ночь со свечением) +const FRAMES = ['menu', 'shop', 'ach', 'journal', 'wait', 'weather-rain', 'night', 'lake', 'sea', 'ocean', 'swamp', 'swamp-night', 'reel', 'card', 'aquarium']; // Этап 43: +кадры Море/Океан (визуальное различение локаций); Этап 45: +кадры Волшебного болота (день/ночь со свечением); Этап 46: +кадр аквариума (сцена коллекции) // ---------- 24-битный PNG (без альфа): ffmpeg предпочтительнее, иначе ImageMagick function findBin(name) { @@ -263,6 +264,25 @@ async function captureSet(browser, vp) { state + ' card=' + document.getElementById('card').classList.contains('hidden'))); await shoot(page, `${vp.key}-card.png`); + // аквариум (Этап 46): сцена коллекции вместо озера — засеваем save.aqFish + // (карась, щука-серебро, золотая-радуга, светлячок Болота), openAquarium() и снимок + await page.evaluate(() => { + document.getElementById('card').classList.add('hidden'); + state = 'IDLE'; + save.aqSlots = 6; + save.aqFish = [ + { id: 'carass', v: 'normal', w: 0.6 }, + { id: 'pike', v: 'silver', w: 7.4 }, + { id: 'gold', v: 'rainbow', w: 0.8 }, + { id: 'glowfin', v: 'normal', w: 2.4 }, + ]; + openAquarium(); + }); + await waitPaint(page); + await sleep(300); + await waitPaint(page); + await shoot(page, `${vp.key}-aquarium.png`); + await page.close(); } diff --git a/tests/test.js b/tests/test.js index d7b93f6..b32abf8 100644 --- a/tests/test.js +++ b/tests/test.js @@ -2406,23 +2406,28 @@ async function toGameMenu(p) { JSON.stringify(a22t)); // (2) данные: 11 новых достижений (Этап 22) + sea_first/ocean_first (Этап 36) + lake_boss/sea_boss/ocean_boss (Этап 37) - // + swamp_first/swamp_boss (Этап 45), ACHIEVEMENTS.length===36, id уникальны, name/desc/icon/bonus/check + // + swamp_first/swamp_boss (Этап 45) + aq_first/aq_full (Этап 46), ACHIEVEMENTS.length===38, id уникальны, + // name/desc/icon/bonus/check (у aq_first/aq_full bonus:{} — пин achBonus().coinPct не сдвинут) const a22d = await page.evaluate(() => { const ids = ['first_silver', 'first_rainbow', 'rain_variant', 'fog_catch', 'skin_first', 'skins_all', 'lake_first', 'gear_max', 'titan', 'weight_1000', 'night_first', 'sea_first', 'ocean_first', 'lake_boss', 'sea_boss', 'ocean_boss', - 'swamp_first', 'swamp_boss']; + 'swamp_first', 'swamp_boss', 'aq_first', 'aq_full']; const list = ACHIEVEMENTS.map(a => a.id); return { total: ACHIEVEMENTS.length, all: ids.every(id => list.indexOf(id) >= 0), unique: new Set(list).size === list.length, fields: ids.every(id => { const a = ACHIEVEMENTS.find(x => x.id === id); - return a && a.name && a.desc && a.icon && a.bonus && typeof a.check === 'function'; }) + return a && a.name && a.desc && a.icon && a.bonus && typeof a.check === 'function'; }), + // Этап 46: аквариумные ачивки не двигают экономику — пин achBonus().coinPct (сумма 0.18, §10c(8)) + noCoinBonus: ids.filter(id => id === 'aq_first' || id === 'aq_full') + .every(id => Object.keys(ACHIEVEMENTS.find(x => x.id === id).bonus).length === 0) }; }); - ok('Этап 22 данные: 11 новых достижений (варианты/погода/скины/локации/снасти/вес/ночь) + sea_first/ocean_first (Этап 36) + lake_boss/sea_boss/ocean_boss (Этап 37) + swamp_first/swamp_boss (Этап 45), ACHIEVEMENTS.length===36, id уникальны, поля на месте', - a22d.all === true && a22d.total === 36 && a22d.unique === true && a22d.fields === true, + ok('Этап 22 данные: 11 новых достижений (варианты/погода/скины/локации/снасти/вес/ночь) + sea_first/ocean_first (Этап 36) + lake_boss/sea_boss/ocean_boss (Этап 37) + swamp_first/swamp_boss (Этап 45) + aq_first/aq_full (Этап 46), ACHIEVEMENTS.length===38, id уникальны, поля на месте', + a22d.all === true && a22d.total === 38 && a22d.unique === true && a22d.fields === true + && a22d.noCoinBonus === true, JSON.stringify(a22d)); // (3) геймплей: ночной улов в дождь, серебряный вариант — одним уловом проверяются @@ -3204,6 +3209,255 @@ async function toGameMenu(p) { ok('X подложка: карточка → тап мимо → закрыта («Отлично!», state=IDLE)', xb5pre.card && xb5.card && xb5.st === 'IDLE', JSON.stringify(xb5)); + // --- AQ. Этап 46: Аквариум (миграция / «В аквариум» / лимит / слот / сцена / выпуск) --- + // Глобалы игры (page.evaluate): aqOpen, aqFishRt, aqSel, aqTank, AQ_BASE_SLOTS, AQ_MAX_SLOTS, + // AQ_SLOT_COSTS, AQ_VARIANT_FX/HUE, initAquarium, updateAquarium, drawAquarium, aqFishSize, + // aqTap, showAqPop, hideAqPop, renderAqBar, aqReleaseSel, openAquarium, closeAquarium, + // syncKeepBtn, cardSpec, save.aqFish/save.aqSlots — имена не переименовывать (тесты молча ломаются). + // DOM: #btnGmAquarium, #btnKeep, #aqBar, #btnAqBack, #aqCount, #btnAqSlot, #aqPop, + // #aqPopName, #aqPopSub, #btnAqRelease. + + // (1) данные: freshSave() кладёт aqFish:[] и aqSlots:AQ_BASE_SLOTS; кноб слотов (6/12 + лестница цен) + const aqFresh = await page.evaluate(() => { + const f = freshSave(false); + return { arr: Array.isArray(f.aqFish), len: f.aqFish.length, slots: f.aqSlots, + base: AQ_BASE_SLOTS, max: AQ_MAX_SLOTS, costs: AQ_SLOT_COSTS.slice() }; + }); + ok('Этап 46 данные: freshSave().aqFish=[] и aqSlots=AQ_BASE_SLOTS (6), AQ_MAX_SLOTS=12, в AQ_SLOT_COSTS 6 цен', + aqFresh.arr === true && aqFresh.len === 0 && aqFresh.slots === aqFresh.base + && aqFresh.base === 6 && aqFresh.max === 12 && aqFresh.costs.length === 6 + && aqFresh.costs.every(c => typeof c === 'number' && c > 0), + JSON.stringify(aqFresh)); + + // (2) миграция: старый сейв без aqFish/aqSlots → после reload дефолты (паттерн §9b/M6(6)) + await page.evaluate(() => { + localStorage.setItem('fishing-save-v1', JSON.stringify({ + coins: 5000, rod: 0, lure: 0, rods: [0], lures: [0], muted: false, + caught: {}, casts: 0, earned: 0 + })); + }); + await page.reload({ waitUntil: 'load' }); + await sleep(500); + const aqMig = await page.evaluate(() => ({ + menu: !document.getElementById('menu').classList.contains('hidden'), + arr: Array.isArray(save.aqFish), len: save.aqFish.length, + slots: save.aqSlots, base: AQ_BASE_SLOTS + })); + ok('Этап 46 миграция: старый сейв без aqFish/aqSlots → aqFish=[], aqSlots=AQ_BASE_SLOTS (6)', + aqMig.menu && aqMig.arr === true && aqMig.len === 0 && aqMig.slots === aqMig.base && aqMig.base === 6, + JSON.stringify(aqMig)); + + // (3) миграция битых значений: неизвестный вид/вес отброшены, битый вариант → normal, + // aqSlots клэмпится к AQ_MAX_SLOTS, хвост списка обрезается по числу слотов + await page.evaluate(() => { + const fish = [{ id: 'pike', v: 'bad', w: 3 }]; // индекс 0: битый вариант → 'normal' + for (let i = 0; i < 15; i++) fish.push({ id: i % 2 ? 'perch' : 'carass', v: 'normal', w: 1 + i }); + fish.push({ id: 'nope', v: 'gold', w: 2 }); // неизвестный вид — отбрасывается + fish.push({ id: 'perch', v: 'normal', w: -1 }); // битый вес — отбрасывается + localStorage.setItem('fishing-save-v1', JSON.stringify({ + coins: 1, rod: 0, lure: 0, rods: [0], lures: [0], muted: false, + caught: {}, casts: 0, earned: 0, aqSlots: 99, aqFish: fish + })); + }); + await page.reload({ waitUntil: 'load' }); + await sleep(500); + const aqMig2 = await page.evaluate(() => ({ + slots: save.aqSlots, max: AQ_MAX_SLOTS, len: save.aqFish.length, + first: save.aqFish[0] && { id: save.aqFish[0].id, v: save.aqFish[0].v }, + allValid: save.aqFish.every(f => SPECIES.some(s => s.id === f.id) + && typeof f.w === 'number' && f.w > 0 && VARIANTS.some(v => v.id === f.v)) + })); + ok('Этап 46 миграция: битый id/вес отброшены, неизвестный вариант → normal, aqSlots клэмп к AQ_MAX_SLOTS, хвост обрезан', + aqMig2.slots === aqMig2.max && aqMig2.max === 12 && aqMig2.len === aqMig2.max + && aqMig2.first && aqMig2.first.id === 'pike' && aqMig2.first.v === 'normal' && aqMig2.allValid, + JSON.stringify(aqMig2)); + + // (4) keep: форс-улов (normal) → CARD → #btnKeep копирует экземпляр (модель C). + // Сброс aq-ачивок: deep-миграция выше могла выдать aq_first/aq_full через applyStreak. + await page.click('#btnPlay'); + await sleep(150); + await page.evaluate(() => { + save.aqFish = []; save.aqSlots = AQ_BASE_SLOTS; + if(save.ach){ delete save.ach.aq_first; delete save.ach.aq_full; } + save.quests = { date: todayStr(), list: [] }; + save.streak = { last: todayStr(), days: 1, shieldWeek: null }; + forceBite = true; forceVariant = 'normal'; forceBoss = false; + persist(); + }); + const aqCoinsBefore = await page.evaluate(() => save.coins); + await page.mouse.move(195, 600); + await page.mouse.down(); await sleep(450); await page.mouse.up(); + await waitState(page, 'WAIT'); + await page.evaluate(() => { biteTimer = 0.05; }); + await waitState(page, 'BITE', 4000); + await page.mouse.down(); await page.mouse.up(); + await waitState(page, 'REEL'); + await page.evaluate(() => { reel.d = 0.4; reel.phase = 'calm'; reel.phaseT = 5; }); + await page.mouse.down(); + await waitState(page, 'CARD', 5000); + await page.mouse.up(); + const aqCard = await page.evaluate(() => ({ + spec: cardSpec ? { id: cardSpec.sp.id, v: cardSpec.variant.id, w: cardSpec.w } : null, + val: parseInt(document.getElementById('cardVal').textContent.replace(/[^\d]/g, ''), 10), + coins: save.coins, + keepDisabled: document.getElementById('btnKeep').disabled + })); + ok('Этап 46 keep: карточка даёт cardSpec (id/v/w), #btnKeep включён (есть слот)', + aqCard.spec !== null && aqCard.spec.v === 'normal' && aqCard.keepDisabled === false, + JSON.stringify(aqCard)); + await page.click('#btnKeep'); + await sleep(200); + const aqKeep = await page.evaluate(() => ({ + len: save.aqFish.length, f: save.aqFish[0] || null, coins: save.coins, + cardHidden: document.getElementById('card').classList.contains('hidden'), + st: state, aqFirst: !!save.ach.aq_first, aqFull: !!save.ach.aq_full + })); + ok('Этап 46 keep: клик #btnKeep → 1 копия с верными id/v/w, карточка закрыта, state=IDLE', + aqKeep.len === 1 && aqKeep.f + && aqKeep.f.id === aqCard.spec.id && aqKeep.f.v === aqCard.spec.v + && Math.abs(aqKeep.f.w - aqCard.spec.w) < 1e-9 + && aqKeep.cardHidden === true && aqKeep.st === 'IDLE', + JSON.stringify({ card: aqCard, keep: aqKeep })); + ok('Этап 46 keep: монеты выросли на цену улова (модель C — платит catchFish), keep монет не добавляет; выдан aq_first', + aqCard.coins === aqCoinsBefore + aqCard.val && aqKeep.coins === aqCard.coins + && aqKeep.aqFirst === true && aqKeep.aqFull === false, + JSON.stringify({ before: aqCoinsBefore, afterCard: aqCard.coins, afterKeep: aqKeep.coins, + first: aqKeep.aqFirst, full: aqKeep.aqFull })); + + // (5) лимит: aqFish заполнен до aqSlots → #btnKeep disabled + «Нет места» (подпись и title) + await page.evaluate(() => { + state = 'CARD'; reel = null; biteFish = null; + save.aqSlots = AQ_BASE_SLOTS; save.aqFish = []; + for (let i = 0; i < save.aqSlots; i++) save.aqFish.push({ id: 'carass', v: 'normal', w: 1 }); + showCard(SPECIES[0], 1, 100, false, VARIANTS[0], false); // showCard пересинхронизирует #btnKeep + }); + await sleep(200); + const aqLim = await page.evaluate(() => ({ + disabled: document.getElementById('btnKeep').disabled, + text: document.getElementById('btnKeep').textContent, + title: document.getElementById('btnKeep').title, + noRoom: t('aq_no_room'), + len: save.aqFish.length, slots: save.aqSlots + })); + ok('Этап 46 лимит: aqFish заполнен до aqSlots → #btnKeep disabled + подпись/title «Нет места»', + aqLim.disabled === true && aqLim.text === aqLim.noRoom && aqLim.title === aqLim.noRoom + && aqLim.len === aqLim.slots, JSON.stringify(aqLim)); + await page.click('#btnCardOk'); + await sleep(150); + + // (6) сцена: вход из хаба «Меню» (#btnGmAquarium) и возврат «← Назад» (#btnAqBack) + await toGameMenu(page); + await page.click('#btnGmAquarium'); + await sleep(200); + const aqSc1 = await page.evaluate(() => ({ + open: aqOpen, + bar: !document.getElementById('aqBar').classList.contains('hidden'), + gm: document.getElementById('gamemenu').classList.contains('hidden'), + ui: uiOpen, + pauseHidden: document.getElementById('btnPause').classList.contains('hidden') + })); + ok('Этап 46 сцена: #btnGmAquarium → aqOpen=true, #aqBar виден, #gamemenu и #btnPause скрыты', + aqSc1.open === true && aqSc1.bar === true && aqSc1.gm === true && aqSc1.ui === true + && aqSc1.pauseHidden === true, JSON.stringify(aqSc1)); + await page.click('#btnAqBack'); + await sleep(150); + const aqSc2 = await page.evaluate(() => ({ + open: aqOpen, + barHidden: document.getElementById('aqBar').classList.contains('hidden'), + gm: !document.getElementById('gamemenu').classList.contains('hidden'), + ui: uiOpen + })); + ok('Этап 46 сцена: #btnAqBack → aqOpen=false, возврат в #gamemenu (uiOpen=true)', + aqSc2.open === false && aqSc2.barHidden === true && aqSc2.gm === true && aqSc2.ui === true, + JSON.stringify(aqSc2)); + + // (7) слот: при достатке монет #btnAqSlot списывает AQ_SLOT_COSTS[aqSlots-AQ_BASE_SLOTS] и даёт +1 слот + await page.click('#btnGmAquarium'); + await sleep(200); + const aqSlot0 = await page.evaluate(() => { + save.aqSlots = AQ_BASE_SLOTS; save.aqFish = []; + save.coins = AQ_SLOT_COSTS[0] + 1000; + persist(); renderAqBar(); + return { coins: save.coins, slots: save.aqSlots, cost: AQ_SLOT_COSTS[0] }; + }); + await page.click('#btnAqSlot'); + await sleep(200); + const aqSlot1 = await page.evaluate(() => ({ + coins: save.coins, slots: save.aqSlots, + count: document.getElementById('aqCount').textContent + })); + ok('Этап 46 слот: #btnAqSlot → монеты списаны на AQ_SLOT_COSTS[aqSlots-AQ_BASE_SLOTS], aqSlots+1, счётчик N/M обновлён', + aqSlot1.coins === aqSlot0.coins - aqSlot0.cost && aqSlot1.slots === aqSlot0.slots + 1 + && aqSlot1.count === '0/' + aqSlot1.slots, JSON.stringify({ before: aqSlot0, after: aqSlot1 })); + + // (8) выпуск из банки: тап по рыбе выделяет экземпляр, #btnAqRelease (aqReleaseSel) + // удаляет его БЕЗ монет (чистая косметика — освобождение слота) и без телепорта остальных + const aqRel0 = await page.evaluate(() => { + save.aqFish = [{ id: 'carass', v: 'gold', w: 2 }, { id: 'perch', v: 'normal', w: 1.2 }]; + save.aqSlots = AQ_BASE_SLOTS; save.coins = 500; save.earned = 1234; + persist(); + initAquarium(); // пересобрать aqFishRt под 2 экземпляра + const rt = aqFishRt[0]; + aqTap(rt.x, rt.y); // тап по рыбе → выбор + поповер + return { coins: save.coins, earned: save.earned, len: save.aqFish.length, sel: aqSel, + pop: !document.getElementById('aqPop').classList.contains('hidden'), + popName: document.getElementById('aqPopName').textContent, + expName: trName(SPECIES.find(s => s.id === 'carass')), + sub: document.getElementById('aqPopSub').textContent, + btnText: document.getElementById('btnAqRelease').textContent, + expBtn: t('aq_release') }; + }); + ok('Этап 46 выпуск: aqTap по рыбе → aqSel=0 и поповер #aqPop (имя; подпись без цены), кнопка #btnAqRelease = t(aq_release)', + aqRel0.sel === 0 && aqRel0.pop === true && aqRel0.len === 2 + && aqRel0.popName.indexOf(aqRel0.expName) >= 0 && aqRel0.btnText === aqRel0.expBtn + && aqRel0.sub.indexOf('🪙') < 0, + JSON.stringify(aqRel0)); + await page.click('#btnAqRelease'); + await sleep(200); + const aqRel1 = await page.evaluate(() => ({ + coins: save.coins, earned: save.earned, len: save.aqFish.length, sel: aqSel, + popHidden: document.getElementById('aqPop').classList.contains('hidden') + })); + ok('Этап 46 выпуск: #btnAqRelease (aqReleaseSel) → экземпляр удалён, монеты/earned НЕ изменились, выбор снят, поповер скрыт', + aqRel1.len === aqRel0.len - 1 && aqRel1.coins === aqRel0.coins && aqRel1.earned === aqRel0.earned + && aqRel1.sel === -1 && aqRel1.popHidden === true, + JSON.stringify({ before: aqRel0, after: aqRel1 })); + // (8b) телепорт: замер позиций и выпуск в ОДНОМ evaluate (иначе кадры updateAquarium продвигают рыб) + const aqTp = await page.evaluate(() => { + save.aqFish = [{ id: 'carass', v: 'normal', w: 2 }, { id: 'perch', v: 'normal', w: 1.2 }]; + save.aqSlots = AQ_BASE_SLOTS; persist(); + initAquarium(); + aqSel = 0; + const before = aqFishRt.slice(1).map(r => ({ x: r.x, y: r.y })); + const rtLenBefore = aqFishRt.length; + aqReleaseSel(); // синхронно: между замерами не проходит ни одного кадра + return { before, after: aqFishRt.map(r => ({ x: r.x, y: r.y })), + rtLenBefore, rtLenAfter: aqFishRt.length }; + }); + ok('Этап 46 выпуск: без телепорта — позиции остальных рыб (x,y) сохранились, aqFishRt.length−1', + aqTp.rtLenAfter === aqTp.rtLenBefore - 1 + && aqTp.after.length === aqTp.before.length + && aqTp.after.every((p, i) => p.x === aqTp.before[i].x && p.y === aqTp.before[i].y), + JSON.stringify(aqTp)); + + // cleanup: «← Назад» → «Продолжить» (в игру), сброс сцены/полей/форсов + await page.click('#btnAqBack'); + await sleep(150); + await page.click('#btnGmResume'); + await sleep(150); + await page.evaluate(() => { + save.aqFish = []; save.aqSlots = AQ_BASE_SLOTS; persist(); + forceBite = false; forceVariant = null; forceBoss = false; aqSel = -1; + }); + const aqEnd = await page.evaluate(() => ({ + open: aqOpen, st: state, ui: uiOpen, + gm: document.getElementById('gamemenu').classList.contains('hidden'), + bar: document.getElementById('aqBar').classList.contains('hidden') + })); + ok('Этап 46 cleanup: сцена закрыта (#aqBar/#gamemenu скрыты), state=IDLE, uiOpen=false, форсы сброшены', + aqEnd.open === false && aqEnd.st === 'IDLE' && aqEnd.ui === false + && aqEnd.gm === true && aqEnd.bar === true, JSON.stringify(aqEnd)); + // --- 11. Ошибки консоли --- ok('нет ошибок JS (pageerror)', pageErrors.length === 0, pageErrors.join(' | ')); ok('нет ошибок консоли', consoleErrors.length === 0, consoleErrors.join(' | '));