Changelog
2.1.19
- Fixed death counter not persisting across sessions (RecordDeath now passes player instance to SavePersistentData)
- Fixed death counter label showing "0" on respawn (label now initializes with current death count)
- SavePersistentData/LoadPersistentData/GetKey now accept optional Player parameter for reliable persistence during death
2.1.18
- KillFeed: fixed slide animation during game pause (ESC menu) — uses unscaledDeltaTime
- KillFeed: removed cursor lock check — feed only shows on mouse hover near bottom or when "always visible" enabled
2.1.17
- KillFeed: slides up when cursor is unlocked (works with both TAB and ESC)
- Timer: text outline for readability on any background
2.1.16
- KillFeed: setting in F7 → Settings to show feed always visible or hide (slide animation)
2.1.15
- KillFeed: custom death icon (Viking sitting character) replaces tombstone
- KillFeed: death icon always visible in bottom-left corner, flipped vertically
- KillFeed: kill feed panel slides up from bottom when cursor nears screen edge
- KillFeed: full-width dark background behind feed (extends to screen bottom)
- KillFeed: panel shifted 32px right to avoid overlap with death icon
- KillFeed: timer text wrapping disabled (single-line display)
2.1.6
- Fix: challenge tab restores after closing modifiers window
- Fix: tab position no longer shifts on repeated open/close of modifiers
- Fix: exiting challenge mode properly switches to tab0 in TabHandler
- Fix: modifiers back button uses local _inChallengeMode flag (race condition fix with TabHandlerPatch)
- Fix: batches now send on tab open — RefreshServerStatus triggers immediate flush if server online
- Fix: replaced broken PingServer (nonexistent /ping endpoint) with CheckAuthStatus for server availability check
- Fix: orphaned batches with stale HMAC key auto-deleted on load (prevents counter stuck at N)
- Fix: batch creation skipped while Steam ID is 0 (prevents orphaned batches from wrong key)
- Fix: BatchTriggers uses live key delegates instead of stale captured values (HMAC mismatch fix)
- Removed PingServer method — no longer used anywhere
- Removed MainMenuOverlay — server status check moved to ChallengeTab
- Status bar: positioned above ScrollRect as sibling (always visible)
- Status bar: hidden vanilla m_serverCount from ServerListGui clone
- Status bar: pending count shown as "Не отправлено: N" (no size), "Всё отправлено" when empty, error on failure
- Status bar: [x] clear button for pending batches (DeleteAllPending)
- QueueStorage: added GetPendingSizeBytes() helper
2.1.5
- Кнопка «ИСПЫТАНИЯ» в главном меню — быстрый доступ к челленджам без выбора персонажа
- Вкладка «ИСПЫТАНИЯ» в панели выбора мира — те же позиция и размер, что и «Начать игру»
- Брендинг GChallenge в челлендж-режиме — вертикальная надпись «GChallenge.RU — {название挑战а}» в углу экрана
- Шрифты: убраны предупреждения LiberationSans SDF, единый шрифт для всего UI
- Удалена секция Mob Kills из окна статистики
- Блокировка зума колесом мыши при открытом окне статистики
2.1.3
- All UI converted from IMGUI to uGUI under game's CanvasScaler (1920x1080 reference resolution)
- StatsDialog, KillFeed, TimerOverlay, DrawBranding — all render inside ScrollRect content
- Cursor management: GameCameraPatch Harmony postfix for UpdateMouseCapture, InInventoryEtc, TakeInput
- F7 hotkey uses ZInput.GetKeyDown (works during WASD movement)
- ModLocalization shared class with EN/RU localization
- KillFeed: death cell with tombstone icon and death counter, tooltip with CanvasGroup
- KillFeed: runtime mob name cache from ZNetScene.instance.m_prefabs
- DragHandler for TimerOverlay (IBeginDragHandler, IDragHandler, IEndDragHandler)
- ShowMobKills config toggle
- Icon fixes: Neck flipped + bottom-aligned, Boar scaled 75% + bottom-aligned
- __Tombstone shifted up 2px, death counter shifted up 2px
- Fuling Berserker, Neck trophy, __Tombstone base64 icons added
- Alpha threshold 200 for transparent-background icon rendering
2.1.1
- Fixed kill tracking for DoT weapons (fire club, poison, etc.)
- Clone HitData via MemberwiseClone to prevent object pooling corruption
- Cache key changed from ZDO UID to Character instance (NView invalid during OnDeath)
- Ctrl+F8 now resets KillFeed icon counters to zero (icons remain visible)
- Removed unused Ctrl+F9 and F10 hotkeys from config
2.1.0
- Death tracking with causes from PlayerProfile stats (18 cause categories)
- Damage breakdown by type (Slash, Pierce, Blunt, Chop, Pickaxe, Fire, Frost, Lightning, Poison, Spirit)
- Enhanced equipment stats (equipped item names, armor value, food count, eitr regen)
- Inventory snapshots every 10 minutes
- Food consumption tracking (item name, type)
- Pause/resume events on listen server
- Per-character persistent stats via Player.m_customData (22 fields)
- Kill tracking filtered to player-only kills (no mob-on-mob or environmental)
- Mob name localization mapping (18 mobs with internal name resolution)
- Kill feed tooltip with icon row on hover
- Improved 3-minute respawn hang fix (Player null guard in Update)
- Unified batch timer (5s flush + 60s stats + 30s ping)
- Timer position persistence
- Server availability check before batch sends
- Gull counter removed (66 mobs, 51 trophies)
2.0.0
- Initial release on Thunderstore
- Kill feed with mob icons, star breakdown, and trophy tracking
- Play time timer with persistent storage
- World config collection (game mode, modifiers, installed mods)
- Player stats tracking (health, stamina, skills, food, position)
- Element damage detection (Fire, Frost, Poison, Lightning, Spirit)
- Flask dashboard with real-time updates
- Encrypted batch data transfer (AES-256-CBC + HMAC-SHA256)
- In-game overlay with configurable hotkeys
- Cross-session stat persistence via character data
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.