JavaScript must be enabled to play.
Browser lacks capabilities required to play.
Upgrade or switch to another browser.
Loading…
<div id="main-menu-screen" class="main-menu-screen" onclick="handleMainMenuClick(event)" onmousemove="handleMainMenuPointerMove(event)" > <img id="main-menu-background" class="main-menu-background" src="images/menu/menu.png" alt="" draggable="false" > </div>
<<set $language = "ru">> <<set $holiness = 70>> <<set $strength = 85>> <<set $glory = 45>> <<set $wisdom = 60>> /* ========================================= СЮЖЕТНЫЕ ЧАСЫ ========================================= */ <<set $clockHour = 8>> <<set $clockMinute = 0>> /* ========================================= ТАЙМЕР НАШЕСТВИЯ ========================================= */ /* ВАЖНО: - достоверность всегда от 0 до 99 - 100% в игре не используется - clockHour / clockMinute синхронизируются с invasionHours / invasionMinutes через JS */ <<set $invasionDays = 20>> <<set $invasionHours = 8>> <<set $invasionMinutes = 0>> <<set $invasionReliability = 90>> <<set $invasionSourceId = "secret-report">> <<set $invasionEventId = "nogai-camp">> <<set $invasionReturnPassage = null>> /* ========================================= ИНВЕНТАРЬ ========================================= */ /* Здесь хранятся предметы игрока. Ключ = ID предмета. Число = количество. */ <<set $inventory = { bread: 1, stick: 1, cloth: 1 }>> /* ========================================= КРАФТ ========================================= */ /* Два выбранных предмета для сборки. Результат хранится отдельно. */ <<set $craftSlot1 = null>> <<set $craftSlot2 = null>> <<set $craftResult = null>> /* ========================================= ФИЛЬТР ИНВЕНТАРЯ ========================================= */ /* all food weapon misc */ <<set $inventoryFilter = "all">> /* ========================================= СТРАНИЦА ИНВЕНТАРЯ ========================================= */ <<set $inventoryPage = 0>> <<set $inventoryReturnPassage = null>> /* ========================================================= ПЛАТНЫЙ КОНТЕНТ — СОСТОЯНИЕ ПРОХОЖДЕНИЯ Здесь хранится только то, что относится непосредственно к ЭТОМУ прохождению. Сама подписка здесь НЕ хранится. ========================================================= */ <<set $claimedGrants = {}>> <<set $equippedCosmetics = { neck: null, outfit: null, extra: null }>> <<set $activeCompanion = null>> <<set $selectedTheme = "default">>
<div id="inventory-screen" class="inventory-screen"> <!-- ===================================== ФОН — ЯЗЫКОВАЯ ВЕРСИЯ JavaScript автоматически переключает ru / en по $language ===================================== --> <img id="inventory-background" class="inventory-background" src="images/systems/hud/inventory/ru/inventory.png" alt="" > <!-- ===================================== ПОДСВЕТКА АКТИВНОГО РАЗДЕЛА shared / tab-active-*.png ===================================== --> <img id="inventory-tab-highlight" class="inventory-tab-highlight" src="images/systems/hud/inventory/shared/tab-active-all.png" alt="" > <!-- ===================================== ФИЛЬТРЫ ===================================== --> <button class="inventory-filter" data-filter="all" id="inventory-filter-all" aria-label="Все"> </button> <button class="inventory-filter" data-filter="food" id="inventory-filter-food" aria-label="Еда"> </button> <button class="inventory-filter" data-filter="weapon" id="inventory-filter-weapon" aria-label="Оружие"> </button> <button class="inventory-filter" data-filter="misc" id="inventory-filter-misc" aria-label="Разное"> </button> <!-- ===================================== ПРЕДМЕТЫ ===================================== --> <div id="inventory-grid" class="inventory-grid"> </div> <!-- ===================================== СТРАНИЦЫ ===================================== --> <button id="inventory-prev" class="inventory-page-button inventory-prev" aria-label="Предыдущая страница"> </button> <button id="inventory-next" class="inventory-page-button inventory-next" aria-label="Следующая страница"> </button> <!-- ===================================== КРАФТ — ПЕРВЫЙ ИНГРЕДИЕНТ ===================================== --> <button id="craft-slot-1" class="craft-slot-button" aria-label="Первый ингредиент"> </button> <img id="craft-slot-1-highlight" class="craft-slot-highlight" src="images/systems/hud/inventory/shared/slot_highlight.png" alt="" > <img id="craft-slot-1-image" class="craft-slot-image" src="" alt="" > <!-- ===================================== КРАФТ — ВТОРОЙ ИНГРЕДИЕНТ ===================================== --> <button id="craft-slot-2" class="craft-slot-button" aria-label="Второй ингредиент"> </button> <img id="craft-slot-2-highlight" class="craft-slot-highlight" src="images/systems/hud/inventory/shared/slot_highlight.png" alt="" > <img id="craft-slot-2-image" class="craft-slot-image" src="" alt="" > <!-- ===================================== КРАФТ — РЕЗУЛЬТАТ ===================================== --> <button id="craft-result-slot" class="craft-result-button" aria-label="Результат сборки"> </button> <img id="craft-result-image" class="craft-result-image" src="" alt="" > <!-- ===================================== ВЕРНУТЬСЯ ===================================== --> <button id="inventory-back" class="inventory-back" onclick="closeInventory()" aria-label="Вернуться"> </button> <!-- ===================================== СТАРЫЙ PICKER Оставлен технически, но скрыт. Выбор теперь идёт прямо из сетки. ===================================== --> <div id="craft-picker" class="craft-picker"> <div id="craft-picker-list" class="craft-picker-list"> </div> </div> <!-- ===================================== НЕ СРАБОТАЛО ===================================== --> <div id="craft-fail-overlay" class="craft-fail-overlay"> <img id="craft-fail-background" class="craft-fail-background" src="images/systems/hud/inventory/ru/craft-fail.png" alt="Не сработало" > </div> <!-- ===================================== УСПЕШНАЯ СБОРКА ===================================== --> <div id="craft-success" class="craft-success"> <img id="craft-success-background" class="craft-success-background" src="images/systems/hud/inventory/ru/craft-success.png" alt="" > <div id="craft-success-name" class="craft-success-name"> </div> <img id="craft-success-image" class="craft-success-image" src="" alt="" > <div id="craft-success-description" class="craft-success-description"> </div> <div id="craft-success-category" class="craft-success-category"> </div> <div id="craft-success-effect" class="craft-success-effect"> </div> <button id="craft-success-take" class="craft-success-take" aria-label="Взять"> </button> <button id="craft-success-disassemble" class="craft-success-disassemble" aria-label="Разобрать"> </button> <button id="craft-success-close" class="craft-success-close" aria-label="Закрыть"> </button> </div> <!-- ===================================== КАРТОЧКА ПРЕДМЕТА ===================================== --> <div id="item-card" class="item-card"> <img id="item-card-background" class="item-card-background" src="images/systems/hud/inventory/ru/item-card.png" alt="" > <div id="item-card-name" class="item-card-name"> </div> <img id="item-card-image" class="item-card-image" src="" alt="" > <div id="item-card-description" class="item-card-description"> </div> <div class="item-card-info"> <div id="item-card-category"> </div> <div id="item-card-quantity"> </div> <div id="item-card-effect" class="item-card-effect"> </div> </div> <button id="item-card-action" class="item-card-action"> </button> <button id="item-card-close" class="item-card-close" aria-label="Закрыть"> </button> </div> </div>
<div id="save-screen" class="save-screen"> <!-- ОСНОВНОЙ ЭКРАН --> <img id="save-main-bg" class="save-main-bg" src="images/saves.png" alt="" > <!-- КРЕСТИК ОСНОВНОГО ЭКРАНА --> <button id="save-main-close" class="save-hotspot" aria-label="Закрыть"> </button> <!-- СОХРАНИТЬ В ФАЙЛ --> <button id="save-export" class="save-hotspot save-export" aria-label="Сохранить игру в файл"> </button> <!-- ЗАГРУЗИТЬ ИЗ ФАЙЛА --> <button id="save-import" class="save-hotspot save-import" aria-label="Загрузить игру из файла"> </button> <!-- Настоящий input скрыт --> <input id="save-file-input" type="file" accept=".save" style="display:none" > <!-- СБРОСИТЬ --> <button id="save-reset" class="save-hotspot save-reset" aria-label="Сбросить игру"> </button> <!-- ВЕРНУТЬСЯ --> <button id="save-back" class="save-hotspot save-back" aria-label="Вернуться"> </button> <!-- ===================================== ИГРА СОХРАНЕНА ===================================== --> <div id="save-success-screen" class="save-overlay"> <img class="save-overlay-bg" src="images/save-success.png" alt="" > <div id="save-success-last-save" class="last-save-value" aria-live="polite"> </div> <button id="save-success-email" class="save-hotspot save-success-email" aria-label="Подключить отправку"> </button> <button id="save-success-already" class="save-hotspot save-success-already" aria-label="Уже подключил"> </button> <button class="save-overlay-close" data-save-close aria-label="Закрыть"> </button> </div> <!-- ===================================== EMAIL — НАСТРОЙКИ ===================================== --> <div id="email-settings-screen" class="save-overlay email-settings-overlay"> <img class="save-overlay-bg" src="images/email-settings.png" alt="" > <!-- НАСТОЯЩЕЕ ПОЛЕ EMAIL --> <input id="email-address-input" class="email-address-input" type="email" inputmode="email" autocomplete="email" placeholder="name@email.com" aria-label="Ваша электронная почта" > <!-- ГАЛОЧКА: КОПИИ СОХРАНЕНИЙ --> <button id="email-save-toggle" class="save-hotspot email-checkbox-hotspot" aria-label="Присылать мне копии сохранений"> </button> <img id="email-save-check" class="email-check-overlay" src="images/check-save.png" alt="" > <!-- ГАЛОЧКА: НОВОСТИ --> <button id="email-news-toggle" class="save-hotspot email-checkbox-hotspot" aria-label="Сообщать мне об обновлениях"> </button> <img id="email-news-check" class="email-check-overlay" src="images/check-news.png" alt="" > <!-- ПОДКЛЮЧИТЬ --> <button id="email-connect" class="save-hotspot" aria-label="Подключить"> </button> <!-- ВЕРНУТЬСЯ --> <button id="email-settings-back" class="save-hotspot" aria-label="Вернуться"> </button> <!-- КРЕСТИК --> <button id="email-settings-close" class="save-hotspot" aria-label="Закрыть"> </button> </div> <!-- ===================================== EMAIL — ПРОВЕРЬТЕ ПОЧТУ ===================================== --> <div id="email-check-screen" class="save-overlay"> <img class="save-overlay-bg" src="images/email-check.png" alt="" > <button id="email-check-play" class="save-hotspot" aria-label="Играть"> </button> <button id="email-check-back" class="save-hotspot" aria-label="Вернуться"> </button> <button id="email-check-close" class="save-hotspot" aria-label="Закрыть"> </button> </div> <!-- ===================================== ИГРА ЗАГРУЖЕНА ===================================== --> <div id="load-success-screen" class="save-overlay"> <img class="save-overlay-bg" src="images/load-success.png" alt="" > <div id="load-success-last-save" class="last-save-value" aria-live="polite"> </div> <button id="load-success-play" class="save-hotspot load-success-play" aria-label="Играть"> </button> <button id="load-success-back" class="save-hotspot load-success-back" aria-label="Вернуться"> </button> <button class="save-overlay-close" data-save-close aria-label="Закрыть"> </button> </div> <!-- ===================================== ПОДТВЕРЖДЕНИЕ СБРОСА ===================================== --> <div id="reset-confirm-screen" class="save-overlay"> <img class="save-overlay-bg" src="images/save-reset.png" alt="" > <div id="reset-confirm-last-save" class="last-save-value" aria-live="polite"> </div> <button id="reset-confirm" class="save-hotspot reset-confirm" aria-label="Сбросить игру"> </button> <button id="reset-cancel" class="save-hotspot reset-cancel" aria-label="Вернуться"> </button> <button class="save-overlay-close" data-save-close aria-label="Закрыть"> </button> </div> <!-- ===================================== СБРОС УСПЕШЕН ===================================== --> <div id="reset-success-screen" class="save-overlay"> <img class="save-overlay-bg" src="images/reset-success.png" alt="" > <button id="reset-success-play" class="save-hotspot reset-success-play" aria-label="Играть"> </button> <button id="reset-success-back" class="save-hotspot reset-success-back" aria-label="Вернуться"> </button> <button class="save-overlay-close" data-save-close aria-label="Закрыть"> </button> </div> <!-- ===================================== ОШИБКА ЗАГРУЗКИ ===================================== --> <div id="load-error-screen" class="save-overlay save-error-overlay"> <img class="save-overlay-bg" src="images/load-error.png" alt="" > </div> </div>
<div id="invasion-timer-screen" class="invasion-timer-screen"> <!-- ===================================== ОСНОВНОЙ ФОН ===================================== --> <img id="invasion-main-bg" src="images/timer/screens/timer-main.png" alt="" > <!-- ===================================== ДНИ / ЧАСЫ / МИНУТЫ ===================================== --> <div id="invasion-days" class="invasion-time-number"> </div> <div id="invasion-hours" class="invasion-time-number"> </div> <div id="invasion-minutes" class="invasion-time-number"> </div> <!-- ===================================== БОЛЬШИЕ ЧАСЫ ===================================== --> <div id="invasion-big-clock" class="game-clock invasion-big-clock"> <img id="invasion-clock-face-image" class="clock-face" alt="" > <img id="invasion-clock-hour-image" class="clock-hour" alt="" > <img id="invasion-clock-minute-image" class="clock-minute" alt="" > <img id="invasion-clock-tension-image" class="clock-tension" alt="" > </div> <!-- ===================================== КОРОТКИЕ ПОДПИСИ ===================================== --> <div id="invasion-now-short" class="invasion-main-text"> </div> <div id="invasion-source-short" class="invasion-main-text"> </div> <!-- ===================================== ? — СЕЙЧАС ===================================== --> <button id="invasion-now-help" class="invasion-hotspot" type="button" onclick="openInvasionNowPopup()" aria-label="Что происходит сейчас"> </button> <!-- ===================================== ? — ИСТОЧНИК ===================================== --> <button id="invasion-source-help" class="invasion-hotspot" type="button" onclick="openInvasionSourcePopup()" aria-label="Источник сведений"> </button> <!-- ===================================== ВЕРНУТЬСЯ ===================================== --> <button id="invasion-back" class="invasion-hotspot" type="button" onclick="closeInvasionTimer()" aria-label="Вернуться"> </button> <!-- ===================================== КРЕСТИК ОСНОВНОГО ЭКРАНА ===================================== --> <button id="invasion-close" class="invasion-hotspot" type="button" onclick="closeInvasionTimer()" aria-label="Закрыть"> </button> <!-- ================================================= POPUP «СЕЙЧАС» ================================================= --> <div id="invasion-now-popup" class="invasion-popup" role="dialog" aria-modal="true" aria-label="Сейчас"> <img id="invasion-now-popup-bg" class="invasion-popup-bg" src="images/timer/screens/now-neutral.png" alt="" > <!-- Поглощает клики ВНУТРИ нарисованной рамки --> <div id="invasion-now-panel" class="invasion-popup-panel"> </div> <img id="invasion-now-image" class="invasion-popup-round-image" src="" alt="" > <div id="invasion-now-text" class="invasion-popup-text"> </div> <div id="invasion-now-effect" class="invasion-popup-text"> </div> <div id="invasion-now-reason" class="invasion-popup-text"> </div> <button id="invasion-now-close" class="invasion-popup-close" type="button" onclick="closeInvasionPopup()" aria-label="Закрыть"> </button> </div> <!-- ================================================= POPUP «ИСТОЧНИК» ================================================= --> <div id="invasion-source-popup" class="invasion-popup" role="dialog" aria-modal="true" aria-label="Источник"> <img id="invasion-source-popup-bg" class="invasion-popup-bg" src="images/timer/screens/source-reliability-80-99.png" alt="" > <!-- Поглощает клики ВНУТРИ нарисованной рамки --> <div id="invasion-source-panel" class="invasion-popup-panel"> </div> <img id="invasion-source-image" class="invasion-popup-round-image" src="" alt="" > <div id="invasion-source-text" class="invasion-popup-text"> </div> <div id="invasion-reliability-value"> </div> <button id="invasion-source-close" class="invasion-popup-close" type="button" onclick="closeInvasionPopup()" aria-label="Закрыть"> </button> </div> </div> <script> setTimeout( function () { renderInvasionTimer(); }, 100 ); </script>
<div id="states-screen" class="states-screen"> <img id="states-background" class="states-background" src="images/systems/hud/states/ru/states.png" alt="" draggable="false" > <div id="states-list"></div> <button id="states-close" class="states-hotspot" type="button" aria-label="Закрыть" onclick="closeStatesScreen()" ></button> <button id="states-prev" class="states-hotspot" type="button" aria-label="Предыдущая страница" onclick="changeStatesPage(-1)" ></button> <button id="states-next" class="states-hotspot" type="button" aria-label="Следующая страница" onclick="changeStatesPage(1)" ></button> </div>
<div id="game-hud"> <img id="hud-image" src="images/systems/hud/qualities/shared/hud-closed.png" alt="" > <button id="hud-holiness" class="hud-button" onclick="toggleGameHUD()" aria-label="Святость"> </button> <button id="hud-strength" class="hud-button" onclick="toggleGameHUD()" aria-label="Сила"> </button> <button id="hud-glory" class="hud-button" onclick="toggleGameHUD()" aria-label="Слава"> </button> <button id="hud-wisdom" class="hud-button" onclick="toggleGameHUD()" aria-label="Мудрость"> </button> <button id="hud-inventory" class="hud-button" onclick="openInventory()" aria-label="Инвентарь"> </button> <button id="hud-toggle" class="hud-button" onclick="toggleGameHUD()" aria-label="Закрыть качества"> </button> <span id="holiness-small-bar" class="stat-bar stat-bar-small"> </span> <span id="strength-small-bar" class="stat-bar stat-bar-small"> </span> <span id="glory-small-bar" class="stat-bar stat-bar-small"> </span> <span id="wisdom-small-bar" class="stat-bar stat-bar-small"> </span> <span id="holiness-big-bar" class="stat-bar stat-bar-big"> </span> <span id="strength-big-bar" class="stat-bar stat-bar-big"> </span> <span id="glory-big-bar" class="stat-bar stat-bar-big"> </span> <span id="wisdom-big-bar" class="stat-bar stat-bar-big"> </span> <span id="holiness-number" class="stat-number"> </span> <span id="strength-number" class="stat-number"> </span> <span id="glory-number" class="stat-number"> </span> <span id="wisdom-number" class="stat-number"> </span> </div>
<div id="relations-screen" class="relations-screen"> <img id="relations-background" src="images/systems/relations/ru/relations.png" alt="" draggable="false" > <img id="relations-tab-highlight" class="relations-tab-highlight" src="images/systems/relations/shared/tab-active-all.png" alt="" draggable="false" > <div id="relations-list"></div> <button id="relations-filter-all" class="relations-hotspot" type="button" aria-label="Все" onclick="setRelationsFilter('all')" ></button> <button id="relations-filter-friends" class="relations-hotspot" type="button" aria-label="Друзья" onclick="setRelationsFilter('friends')" ></button> <button id="relations-filter-strangers" class="relations-hotspot" type="button" aria-label="Чужаки" onclick="setRelationsFilter('strangers')" ></button> <button id="relations-filter-hostiles" class="relations-hotspot" type="button" aria-label="Недруги" onclick="setRelationsFilter('hostiles')" ></button> <button id="relations-filter-enemies" class="relations-hotspot" type="button" aria-label="Враги" onclick="setRelationsFilter('enemies')" ></button> <button id="relations-close" class="relations-hotspot" type="button" aria-label="Закрыть" onclick="closeRelationsScreen()" ></button> <button id="relations-prev" class="relations-hotspot" type="button" aria-label="Предыдущая страница" onclick="changeRelationsPage(-1)" ></button> <button id="relations-next" class="relations-hotspot" type="button" aria-label="Следующая страница" onclick="changeRelationsPage(1)" ></button> </div> <<script>> setTimeout(function () { if (window.renderRelationsScreen) { renderRelationsScreen(); } }, 0); <</script>>
<div id="relation-character-screen" class="relation-character-screen"> <img id="relation-character-background" alt="" draggable="false" > <div id="relation-character-bar-track"> <div id="relation-character-bar-fill"></div> </div> <img id="relation-stage-image" alt="" draggable="false" > <button id="relation-character-close" class="relation-detail-hotspot" type="button" aria-label="Вернуться к отношениям" onclick="closeRelationCharacter()" ></button> <button id="relation-character-about" class="relation-detail-hotspot" type="button" aria-label="О герое" onclick="openHeroCardFromRelations()" ></button> <button id="relation-character-graph" class="relation-detail-hotspot" type="button" aria-label="История отношений" onclick="openRelationGraph()" ></button> </div> <<script>> setTimeout(function () { if (window.renderRelationCharacterScreen) { renderRelationCharacterScreen(); } }, 0); <</script>>
<div id="hero-record-screen" class="hero-record-screen"> <img id="hero-record-background" alt="" draggable="false" > <button id="hero-record-close" class="hero-record-hotspot" type="button" aria-label="Вернуться" onclick="closeHeroRecordScreen()" ></button> <button id="hero-record-prev" class="hero-record-hotspot" type="button" aria-label="Предыдущий герой" onclick="changeHeroRecord(-1)" ></button> <button id="hero-record-next" class="hero-record-hotspot" type="button" aria-label="Следующий герой" onclick="changeHeroRecord(1)" ></button> </div> <<script>> setTimeout(function () { if (window.renderHeroRecordScreen) { renderHeroRecordScreen(); } }, 0); <</script>>
<div id="relation-graph-screen" class="relation-graph-screen"> <img id="relation-graph-background" alt="" draggable="false" > <button id="relation-graph-close" class="relation-graph-hotspot" type="button" aria-label="Вернуться к отношениям героя" onclick="closeRelationGraph()" ></button> </div> <<script>> setTimeout(function () { if (window.renderRelationGraphScreen) { renderRelationGraphScreen(); } }, 0); <</script>>
<div id="chronicle-screen" class="chronicle-screen"> <img id="chronicle-background" src="images/menu/records/chronicle/ru-chronicle.png" alt="" draggable="false" > <button id="chronicle-close" class="chronicle-hotspot" type="button" aria-label="Вернуться к записям" onclick="closeChronicleScreen()" ></button> <button id="chronicle-help-secret" class="chronicle-hotspot" type="button" aria-label="Что такое тайный путь" onclick="showChronicleSecretHelp()" ></button> <button id="chronicle-help-canon" class="chronicle-hotspot" type="button" aria-label="Что такое близость к сюжету" onclick="showChronicleCanonHelp()" ></button> </div> <<script>> setTimeout(function () { if (window.renderChronicleScreen) { renderChronicleScreen(); } }, 0); <</script>>
<div id="records-screen" class="records-screen"> <img id="records-background" src="images/menu/records/ru-records.png" alt="" draggable="false" > <button id="records-close" class="records-hotspot" type="button" aria-label="Закрыть" onclick="closeRecordsScreen()" ></button> <button id="records-heroes" class="records-hotspot" type="button" aria-label="Герои" onclick="openRecordsSection('heroes')" ></button> <button id="records-achievements" class="records-hotspot" type="button" aria-label="Достижения" onclick="openRecordsSection('achievements')" ></button> <button id="records-chronicle" class="records-hotspot" type="button" aria-label="Летопись" onclick="openRecordsSection('chronicle')" ></button> <button id="records-artbooks" class="records-hotspot" type="button" aria-label="Артбук" onclick="openRecordsSection('artbooks')" ></button> <button id="records-workshop" class="records-hotspot" type="button" aria-label="Мастерская" onclick="openRecordsSection('workshop')" ></button> </div> <<script>> setTimeout(function () { if (window.renderRecordsMainScreen) { renderRecordsMainScreen(); } }, 0); <</script>>
<div id="heroes-records-screen" class="heroes-records-screen"> <img id="heroes-records-background" class="heroes-records-background" src="images/menu/records/heroes/ru-heroes.png" alt="" draggable="false" > <button id="heroes-records-close" type="button" aria-label="Закрыть" ></button> <div id="heroes-records-viewport" tabindex="0" aria-label="Герои" > <div id="heroes-records-grid"></div> </div> <div id="heroes-records-scroll-track" aria-hidden="true" > <div id="heroes-records-scroll-thumb"></div> </div> </div>
<div id="achievements-screen" class="achievements-screen" > <img id="achievements-background" src="images/menu/records/achievements/ru/achievements-bg.png" alt="" draggable="false" > <button id="achievements-close" type="button" aria-label="Закрыть" onclick="closeAchievementsScreen()" ></button> <div id="achievements-tabs" role="tablist" aria-label="Раздел достижений" > <button id="achievements-tab-chapters" class="achievements-tab active" type="button" role="tab" aria-selected="true" onclick="setAchievementsView('chapters')" >ГЛАВЫ</button> <button id="achievements-tab-special" class="achievements-tab" type="button" role="tab" aria-selected="false" onclick="setAchievementsView('special')" >ОСОБЫЕ</button> </div> <div id="achievements-scroll" > <div id="achievements-list" ></div> </div> <div id="achievements-scrollbar-track" aria-hidden="true" > <div id="achievements-scrollbar-thumb" ></div> </div> <div id="achievement-rarity-popup" aria-hidden="true" onclick="closeAchievementRarityPopup()" > <div class="achievement-rarity-panel" onclick="event.stopPropagation()" > <button id="achievement-rarity-close" type="button" aria-label="Закрыть" onclick="closeAchievementRarityPopup()" >×</button> <div class="achievement-rarity-lead" > <div id="achievement-rarity-lead-top" >Вы среди</div> <div id="achievement-rarity-percent" ></div> <div id="achievement-rarity-lead-bottom" >игроков</div> </div> <div id="achievement-rarity-text" ></div> </div> </div> </div> <<script>> setTimeout( function () { if ( window.renderAchievementsScreen ) { renderAchievementsScreen(); } }, 0 ); <</script>>
<div id="artbooks-screen" class="artbooks-screen"> <img id="artbooks-background" src="images/menu/records/artbooks/ru/artbooks-bg.png" alt="" draggable="false" > <button id="artbooks-close" type="button" aria-label="Закрыть" ></button> <div id="artbooks-tabs" role="tablist" > <button id="artbooks-tab-chapters" class="artbooks-tab" type="button" role="tab" ></button> <button id="artbooks-tab-special" class="artbooks-tab" type="button" role="tab" ></button> </div> <div id="artbooks-scroll" tabindex="0" > <div id="artbooks-content"></div> </div> <div id="artbooks-scrollbar-track" aria-hidden="true" > <div id="artbooks-scrollbar-thumb"></div> </div> <!-- Прозрачный слой ловит клик вне маленького popup. Визуально затемнения здесь НЕТ. --> <div id="artbook-preview-backdrop"> <div id="artbook-preview-popup" role="button" tabindex="0" > <button id="artbook-preview-close" type="button" aria-label="Закрыть" >×</button> <div id="artbook-preview-description" ></div> </div> </div> <!-- Единый просмотрщик двух типов артбука. --> <div id="artbook-viewer-overlay"> <img id="artbook-viewer-background" src="images/menu/records/artbooks/shared/artbook-viewer-bg.png" alt="" draggable="false" > <!-- Крестик нарисован прямо на PNG. Кнопка только ловит клик поверх него. --> <button id="artbook-viewer-close" type="button" aria-label="Закрыть артбук" ></button> <!-- ОБЫЧНЫЙ АРТБУК --> <button id="artbook-viewer-prev" class="artbook-viewer-arrow" type="button" aria-label="Предыдущий арт" ></button> <div id="artbook-viewer-stage"> <img id="artbook-viewer-image" alt="" draggable="false" > <div id="artbook-viewer-fallback"></div> </div> <button id="artbook-viewer-next" class="artbook-viewer-arrow" type="button" aria-label="Следующий арт" ></button> <div id="artbook-viewer-counter"></div> <!-- «ПО СЛОЯМ»: ФОН / ГЕРОЙ / ВСЁ --> <div id="artbook-layer-mode-controls"> <button class="artbook-layer-mode" data-layer-mode="background" type="button" ></button> <button class="artbook-layer-mode" data-layer-mode="hero" type="button" ></button> <button class="artbook-layer-mode" data-layer-mode="all" type="button" ></button> </div> <!-- «ПО СЛОЯМ»: САМА КАРТИНКА --> <div id="artbook-layer-stage"> <img id="artbook-layer-background" alt="" draggable="false" > <img id="artbook-layer-hero" alt="" draggable="false" > <div id="artbook-layer-fallback"></div> </div> <!-- «ПО СЛОЯМ»: ЭТАПЫ 1–5 --> <div id="artbook-layer-step-controls"> <button class="artbook-layer-step" data-layer-step="1" type="button" >1</button> <button class="artbook-layer-step" data-layer-step="2" type="button" >2</button> <button class="artbook-layer-step" data-layer-step="3" type="button" >3</button> <button class="artbook-layer-step" data-layer-step="4" type="button" >4</button> <button class="artbook-layer-step" data-layer-step="5" type="button" >5</button> </div> </div> </div>
<div id="workshop-screen" class="workshop-screen"> <img id="workshop-background" src="images/menu/records/workshop/ru/workshop-bg.png" alt="" draggable="false" > <button id="workshop-close" type="button" aria-label="Закрыть" ></button> <div id="workshop-scroll" tabindex="0" > <div id="workshop-content"></div> </div> <div id="workshop-scrollbar-track" aria-hidden="true" > <div id="workshop-scrollbar-thumb"></div> </div> </div>
НАСТРОЙКИ v4.1 — PASSAGE Сам passage «Настройки» НЕ меняется: <div id="settings-screen"> <img id="settings-background" src="images/menu/settings/settings.png" alt="" draggable="false" > <button id="settings-close" type="button" aria-label="Закрыть" ></button> <div id="settings-content"></div> </div> ============================================================ ЧТО НУЖНО СДЕЛАТЬ В TWINE ============================================================ Игровым passage, после которых нужно автосохранение, добавь TAG: autosave Служебным passage: Главное меню Настройки Записи Инвентарь Отношения и т.п. tag autosave НЕ нужен. Если критическое действие происходит без перехода passage: tugarinAutosaveNow("important-choice");