File Details
ZNNQuest.zip
- B
- Feb 24, 2026
- 22.34 MB
- 13
- 2.5.5
- Classic TBC
File Name
ZNNQuest.zip
Supported Versions
- 2.5.5
ZNNQuest Changelog
v1.0 — Foundation
- Core game loop: arena-based survivor with WASD movement and spell casting (keys 1-5)
- Mage class with full spell pool (Frostbolt, Fireball, Arcane Missiles, Blizzard, Pyroblast, Frost Nova, Flamestrike, Arcane Barrage, Ice Lance, Scorch)
- Enemy wave system with escalating difficulty, spawn timers, and batch spawning
- 3D WoW creature models for player and all enemies (normal, elite, boss tiers)
- Projectile system with travel time, AoE zones, and cone attacks
- Leveling system with XP gain, level-up upgrades, and scaling enemy stats
- Gold drops and pickup radius
- Basic HUD: health bar, level, XP bar, gold counter, kill counter, timer
- Equipment system with 5 slots (Helm, Shoulder, Chest, Leg, Weapon) and 5 quality tiers (Common through Legendary)
- Item generation with randomized stats (Max HP, Crit, CDR, Move Speed, Damage, Pickup Radius)
- Bank storage for unequipped items with dust salvaging
- Main menu with class selection, equipment management, and spell picker
- Spell selection screen: choose up to 5 spells per run from class pool
- Game over screen with stats summary
- Saved data persistence via SavedVariables (bank, equipment, best run, settings)
/znnslash command to launch
v2.0 — Priest & Specs
- Priest class with full spell pool (Smite, Shadow Word: Pain, Mind Blast, Renew, Holy Fire, Power Word: Shield, Mind Flay, Holy Nova, Shadow Word: Death, Penance)
- 6 Specializations: Arcane, Fire, Frost (Mage) and Holy, Discipline, Shadow (Priest)
- Spec selection at level 10 with passive talent trees
- Per-level spec upgrades with meaningful build choices
- Class-colored UI elements throughout
v3.0 — Multiplayer
- Two-player co-op via addon messages (WHISPER channel)
/znnquest hostand/znnquest join PlayerNamecommands- Real-time sync of player positions, projectiles, and enemy state (100ms tick rate)
- Host plays Mage, partner plays Priest
- Partner 3D model rendered in arena with health bar and name
- Ready-sync countdown before run starts
- Disconnect handling and reconnection
v4.0 — Power-Ups & Buffs
- 4 power-up types: Static Burst, Speed Boost, Absorb Shield, XP Boost
- Glowing orb drops from enemies (2% normal, 8% elite, 20% boss)
- Buff timer HUD with icons, name labels, and countdown timers
- Flash effect on buffs with ≤3 seconds remaining
- Health globe drops for healing
- Pre-run buff selection screen with optional starting buffs
v5.0 — Raid Bosses & VFX
- Raid boss encounters every 10 levels
- Boss clears all enemies, spawns single massive creature (72px model, 3.8x camera zoom)
- Dedicated raid boss HP bar nameplate at top of arena with tier display
- Enrage mechanic with timer and visual indicator
- Boss death triggers 5 loot drops, XP burst, and explosion VFX
- Full VFX system: spell impacts, death explosions, spark trails, ring waves
- Floating combat text for damage, crits, heals, gold, and XP
- Critical strike flash effects
v6.0 — Prestige System
- Prestige unlocked at level 50 (2 retained upgrades) and level 100 (5 retained upgrades)
- Retained spec upgrades carry across future runs per class
- Prestige tracked separately for Mage and Priest
- Fresh Game option to reset all prestige data
- Prestige display on main menu
v7.0 — Zones & Equipment Popup
- 3 zones with level-based transitions:
- Tirisfal Glades (Levels 1-10)
- Silverpine Forest (Levels 11-20)
- Hillsbrad Foothills (Levels 21-30)
- Per-zone 1024×1024 TGA background textures
- Zone name header displayed at top of arena in Morpheus font
- Zone transition announcements (floating text + chat message) after raid boss kills
- Equipment popup (C key toggle) for mid-combat gear swaps
- Left column: 5 equipped slots with quality-colored names and stat labels
- Right column: bank items per slot with Equip buttons
- Instant stat application on equip
- Pauses game while open, C or ESC to close
v8.0 — Sound System & Zone Music
- Per-zone looping OGG soundtracks:
- Tirisfal.ogg for Tirisfal Glades
- Silverpine.ogg for Silverpine Forest
- ZNN.ogg for Hillsbrad Foothills
- Automatic music crossfade on zone transitions
- All WoW audio muted (Music, Ambience, SFX, Dialog) while addon is active
- OGG plays on Master channel, bypassing muted channels
- CVar backup and restore on stop, crash, reload, or logout
- Alt-tab recovery: music auto-restarts when WoW regains focus (dt spike detection)
- P key pause stops music and restores WoW audio
/znnresume re-mutes WoW and restarts zone music- Music toggle button on main menu
v9.0 — Leaderboard
- Guild-wide leaderboard via addon messages (GUILD/RAID/PARTY channels)
- 3 category tabs: Solo Mage, Solo Priest, Duo Mode
- Only personal best per category is recorded (lower runs don't overwrite)
- Auto-broadcast on game over with 1-second delay
- Score query/response protocol for syncing across guild members
- Leaderboard UI:
- Sorted by level (kills as tiebreaker)
- Gold/silver/bronze rank highlighting for top 3
- Own name highlighted in green
- Columns: Rank, Player, Level, Kills, Spec, Time, Zone
- Click-to-inspect: view any player's full build
- Class, spec, level, time survived
- Spell loadout
- Active modifiers (Hyper, Elite, Raid)
- Equipped gear (quality + name)
- Accessible from main menu button or
/znn board - Refresh button to re-query scores
v10.0 — Tutorial, Voice Lines & Polish
- Tutorial System
- 5-page Diablo-style gothic tutorial on first
/znnlaunch - Dark marble background with gold ornate DialogBox border
- Large thematic WoW spell icons per page with gold quickslot frames
- Morpheus font titles with colored theming and drop shadows
- Page navigation dots (active glows gold, inactive dim)
- Ornate gold-bordered Back/Next buttons
- Skip button for returning players
- Tutorial button on main menu to replay at any time
- Welcome.ogg voice line plays on tutorial open
- 5-page Diablo-style gothic tutorial on first
- Main Menu Music
- MainMenu.ogg loops (~7s) while main menu is visible
- Stops cleanly on menu close, game start, or tutorial open
- OnHide handler ensures music stops regardless of close method
- Voice Lines
- Welcome.ogg — Tutorial greeting
- MainMenu.ogg — Menu background music
- Insanity.ogg — Plays on raid boss kill
- KillingSpree.ogg — Triggers at kill milestones (100, 500, 1,500, 3,000, 5,000, 7,500, 10,000, 15,000, 20,000, 30,000, 50,000)
- Fatality.ogg — Plays on player death / game over
- Audio Flow
- WoW sounds mute immediately on
/znn(before tutorial or menu) - Tutorial → Welcome.ogg over silence
- Main menu → MainMenu.ogg loop
- Game start → Zone music replaces menu music
- Boss kill → Insanity.ogg one-shot over zone music
- Kill milestone → KillingSpree.ogg one-shot with floating text
- Player death → Fatality.ogg one-shot
- End run → Zone music stops, menu music starts
- Close addon → All music stops, WoW audio restored
- PLAYER_LOGOUT → Full sound cleanup and CVar restore
- WoW sounds mute immediately on
Bug Fixes (across all versions)
- Fixed enemy loop nil crash during raid boss trigger (deferred to end of SimStep)
- Fixed raid boss red square border (replaced WHITE8x8 with glow.tga aura)
- Added dedicated raid boss 3D model pool (TBC creature display IDs)
- Fixed equipment popup stat display (stats are table objects with .label, not flat key-value pairs)
- Fixed quality color lookup (uses item.qualityName and item.qualityColor)
- Fixed ApplyEquipStats to read new stat format ({stat, value, label} tables)
- Fixed boss spawn position (y=100, visible in arena instead of off-screen)
- Fixed buff timer display overlap with action bar (repositioned)
- Fixed hint text and spec text overlap (repositioned to non-conflicting anchors)
- Fixed bank slot key capitalization (Helm not helm) to match Items.SLOTS
- Fixed menu music not stopping on addon close (OnHide handler + robust StopMenu)
- Fixed menu music not starting after game over (EndRun now starts menu music)
- Fixed music loop restarting every 2 seconds (removed periodic replay, uses dt spike detection for alt-tab only)
- Fixed sound leak on PLAYER_LOGOUT (registered event, full cleanup)
File Manifest
| File | Lines | Purpose |
|---|---|---|
| ZNNQuest.toc | — | Addon metadata and load order |
| Core.lua | ~2,430 | Game engine, simulation, zones, sound system, slash commands |
| UI_Menu.lua | ~1,200 | Main menu, equipment, spell selection, buffs, tutorial |
| UI_Run.lua | ~1,500 | Arena rendering, HUD, models, equipment popup, game over |
| Leaderboard.lua | ~420 | Leaderboard network, UI, and inspect |
| Net.lua | ~280 | Multiplayer sync protocol |
| Data_Items.lua | — | Item generation and stat tables |
| Data_Spells.lua | — | Mage spell definitions |
| Data_Priest.lua | — | Priest spell definitions |
| Util.lua | — | Math utilities, deep copy, distance |
| Tirisfal.ogg | 3.3 MB | Zone 1 soundtrack |
| Silverpine.ogg | 4.5 MB | Zone 2 soundtrack |
| ZNN.ogg | 3.3 MB | Zone 3 soundtrack |
| Welcome.ogg | 147 KB | Tutorial voice line |
| MainMenu.ogg | 249 KB | Menu background music |
| Insanity.ogg | 61 KB | Boss kill voice line |
| KillingSpree.ogg | 56 KB | Kill milestone voice line |
| Fatality.ogg | 64 KB | Game over voice line |
| Zones/*.tga | 4 MB each | Zone background textures (1024×1024) |
| Media/*.tga | — | Glow, dot, ring particle textures |

