A unified replacement for the Blizzard quest experience — tracker, world-map overlays, nameplate quest icons, an account-wide quest history, and a Midnight chain guide.
Everything Quests is a complete replacement for Blizzard's quest tracking and quest log experience for World of Warcraft: Midnight. It bundles seven major features into one addon:
- A custom on-screen Quest Tracker that replaces the default ObjectiveTrackerFrame
- Nameplate Quest Icons —
!+ remaining count/percent on objective mobs in the 3D world - Interactive World Quest pins on the world map and zone maps
- A standalone Chain Guide window for browsing Midnight quest chains
- An account-wide Quest History log with five views and a backfill of past completions
- Branded Quest POI overlays on zone maps
- Optional auto-accept / auto-turn-in for quest dialogs (Alt to pause)
Open Options with /eqs, from the minimap button, or via Game Menu → Options → AddOns → Everything Quests.
A native-feeling, draggable, resizable on-screen quest list that replaces Blizzard's ObjectiveTrackerFrame.
- Filtering — Per-quest-type toggles (Normal, Daily, Weekly, Campaign, World Quests) and a "current zone only" mode
- Sorting — Six modes: Zone, Status, Type, Level, Distance, or Manual (drag-to-reorder)
- Visibility rules — Optionally hide in combat, in instances (raids, dungeons, delves), or when the world map is open
- Simplify mode — Toggleable compact display
- Watched vs all — Show only quests you've watched (Blizzard default) or every quest in your log
- Auto-track — Automatically watch newly accepted quests (toggleable)
- Hide scroll bar — Optional clean look; mouse-wheel scrolling works either way
- Quest item buttons — Usable quest items render as a clickable secure button on the row; combat-safe (anchored off the block to avoid taint)
- Smart instance header — Two-tier header inside an instance: category (
Delves/Dungeon/Follower Dungeon/Raid) over the real name (The Darkway,Magisters' Terrace,Windrunner Spire, etc.) resolved fromGetInstanceInfo - "Quest Discovered!" callouts — Clickable boxes at the top of the Quests section for newly discovered and ready-to-complete quests (via
GetAutoQuestPopUp), with a toggle on the Tracker tab - Turn-in directions — Ready-to-turn-in quests with no checklist objectives (the "speak to X" kind) show the quest's
objectivesTextso the block is never blank - Quest sound notifications — Optional sound on quest completion; the chat-text fallback now guards against Midnight's
issecretvaluesystem messages - Lock tracker — Disable both drag-to-move and resize once you've placed and sized the tracker (also hides the resize grip)
Quest-objective enemies show a ! (kill objectives get a skull, talk-to objectives a chat bubble, use-item objectives the quest's item icon) right on their nameplate, along with the remaining count or percent.
- Detection — Two-source join: an
activeQuestscache built fromC_QuestLog.GetQuestObjectives(objectives keyed by display text →{value, type, isPercent, itemTexture}, wherevalueis the remaining amount) joined to each nameplate via aC_TooltipInfo.GetUnitline-type scan (Enum.TooltipDataLineType.QuestPlayerfilters out party-mates' progress;QuestTitle+QuestObjectiveare matched against the cache) - Cached per GUID — Tooltip scans only run when a new mob appears on a plate or quest log changes, never per frame
- Midnight-safe — Guards all game-returned strings/GUIDs with
issecretvalueso restricted values can't throw - ElvUI-aware — Default is ON unless ElvUI is loaded (which has its own version). A one-time custom dialog asks ElvUI users which to use so duplicates don't appear; preference is remembered
- Pure visual frames — No secure-template descendants, so blocks/nameplates stay taint-free
Replaces Blizzard's world quest icons with custom pins on both the world map and zone maps.
- Reward-category rings — Gold (yellow), Gear (blue), Reputation (purple), Resources (green), Artifact Power (orange), Profession (tan), PvP (red), Pet (cyan), Other (gray)
- Time-urgency coloring — Green (>4h), white (1–4h), yellow (30–60m), red (<30m)
- Hover tooltip — Quest title, reward type, time remaining
- Click to super-track, right-click to dismiss
- Per-reward filters — Toggle each reward category independently
- Per-faction filters — Grouped by expansion
- Persistent watch list — Manually watched world quests survive login
- Account-wide completion cache — Shared across characters
A standalone three-pane window for browsing hand-authored quest chains, plus live campaign data straight from Blizzard's C_CampaignInfo.
- Layout — Categories (left), Chains (middle), Quest Details (right)
- Browser navigation — Back / Forward buttons with full history
- Hand-authored data — Prerequisite branching overrides Blizzard's API chains where the API is incomplete
- Cross-character completion — Tracks completion of every chain across every character on your account
- Completion-date tooltips — Hover any quest in a chain to see when (or whether) you completed it
- Live campaign chapters — The Midnight Campaign and the max-level War of Light and Shadow render from
C_CampaignInfochapter-by-chapter, so they stay correct as Blizzard ships content - Click-to-waypoint — Click any quest in a chain to drop a map waypoint and open the world map to it. Uses TomTom's arrow when installed (recommended), otherwise falls back to Blizzard's built-in waypoint
- Lazy-built — The window is constructed on first toggle to keep load times minimal
Currently covers the Midnight expansion: Eversong Woods, Zul'Aman, Harandar, Voidstorm, Arator, plus the live Midnight Campaign and War of Light and Shadow storylines.
An account-wide log of every quest turn-in across every character. Open with /eqs history or the History tab in Options.
- Five views:
- Quests — searchable, filterable list (by character, date range, or quest type). Right-click any row to jump to that quest's chain in the Chain Guide
- Streak — current and best daily turn-in streaks across the whole account
- Chain Timeline — every chain you've made progress in with per-quest dates; click to expand; green checkmark on fully-completed chains
- Activity — 13-week heatmap of daily turn-ins
- Totals — gold and XP earned per character, plus biggest single gold/XP rewards
- One-time backfill —
Populate from past completionswalks the game's record of completed quests and adds them to history as(before tracking)entries - Async title fill — Backfilled entries that show as
Quest #12345are filled in over a minute or two via server lookups (10/0.3s burst rate, post-drain sweep,Re-scan namesbutton) - Export — Copy the currently visible view to your clipboard as plain text
- Compact storage — Saved-variables use short field names (
q,t,n,c,z,k,xp,m) to keep the file small at 5000+ entries
Custom 22×22 quest pins on zone maps with the Everything-suite branded red ring (#6D0501) around the standard quest icon (gold ? for turn-ins, white ! for in-progress). Clicks super-track; right-click dismisses. Layered above Blizzard's own quest POIs.
Optional, opt-in handlers for quest gossip and detail screens. Both default OFF.
- Auto-accept — accepts on
QUEST_DETAIL; picks first available quest from gossip menus and the old multi-quest greeting frame - Auto-turn-in — continues on
QUEST_PROGRESS, finishes onQUEST_COMPLETEonly when there's at most one reward choice (multi-choice screens are left open so the player picks) - Pause gates — hold Alt during any interaction to skip both for that one event; declining a quest arms a 10-second lockout so the next gossip doesn't immediately re-offer it
- Insecure-only APIs — all touchpoints (
C_GossipInfo.*,AcceptQuest,CompleteQuest,GetQuestReward) are non-protected, so no taint
LibDataBroker-powered launcher compatible with Titan Panel, ChocolateBar, ElvUI's data-broker bar, and any other LibDataBroker display.
| Click | Action |
|---|---|
| Left-click | Open the Blizzard quest log |
| Shift+Left-click | Open the Chain Guide |
| Right-click | Open Options |
| Drag | Reposition around the minimap |
| Command | Action |
|---|---|
/eqs |
Toggle Options |
/everythingquests |
Toggle Options (alias) |
/eqs chain |
Toggle the Chain Guide window |
/eqs history |
Toggle the Quest History window |
/eqs session |
Show a recap of your current play session (quests, XP, gold, time) |
/eqs whatsnew |
Show the "What's New" summary for the latest update (also /eqs changes) |
/eqs discover [zone] |
Print quest-line discovery info for the current zone (optional hint) |
| Command | Action |
|---|---|
/eqs scenario |
Dump current scenario/instance API returns (used to confirm two-tier header sources) |
/eqs questobj |
Dump every watched quest's objectives, including fallback sources for empty objective lists |
/eqs autopopup |
Probe the auto-quest popup API surface (GetNumAutoQuestPopUps etc.) |
/eqs wqdebug |
Dump every data source the World Quests tracker section consults |
/eqs dir |
Diagnose "Get Directions": every waypoint coordinate source for the super-tracked quest, in yards, plus the one the resolver picks |
/eqs profile [show | reset | mem on | mem off | memhog | auto on | auto off | auto list] |
Built-in profiler with hot-path auto-instrument |
Bindable from Esc → Options → Key Bindings → AddOns → Everything Quests:
| Action | Default |
|---|---|
| Toggle Options | (unbound) |
| Toggle Chain Guide | (unbound) |
| Tab | Settings |
|---|---|
| General | Lock tracker (position & size), hide in combat / in instances / when world map open, auto-track accepted quests, auto-accept / auto-turn-in quests, restore super-tracked quest on relog, quest icons on nameplates, world-map quest pins, show / hide minimap button, profile management, reset to defaults |
| Tracker | Simplify mode, sort order, per-type filters, current-zone-only mode, watched-only mode, level prefix / zone tag / objective numbers / quest ID / total counts, usable quest-item buttons, hide scroll bar, "Quest Discovered!" popups, quest-complete sound + sound picker, per-section visibility (Profession, World Quests) |
| World Quests | Show / hide pins, per-reward filters, per-faction filters |
| Appearance | Font picker (LibSharedMedia), font size (8–24pt), background texture picker, background alpha, border, header color, title color override, block spacing, tracker scale |
| Chain Guide | Cross-character chain cache stats and reset, debug-overlay toggle |
| History | Backfill from past completions, re-scan missing names, wipe history, view stats |
- Install via the CurseForge app or download manually
- The addon will be placed automatically in your AddOns folder
- Download the latest release from the Releases page
- Extract the
EverythingQuestsfolder into:World of Warcraft/_retail_/Interface/AddOns/ - Restart WoW or type
/reloadif already in-game - Enable Everything Quests at the character select screen
Required: None — Everything Quests is fully standalone. All libraries are bundled.
Optional:
- TomTom — recommended for the Chain Guide: clicking a quest uses TomTom's on-screen arrow. Without it, Chain Guide waypoints fall back to Blizzard's built-in waypoint system
- TitanClassic, ChocolateBar, or ElvUI — display the minimap button on a data-broker bar instead of around the minimap
- ElvUI — ElvUI ships its own nameplate quest icons. When detected, EQ's version defaults off and a one-time dialog asks which to use; choose either, and your pick is remembered. No conflict either way
LibStub, CallbackHandler-1.0, AceDB-3.0, AceEvent-3.0, AceTimer-3.0, LibSharedMedia-3.0, LibDataBroker-1.1, LibDBIcon-1.0, LibMapPinHandler.
| Metric | Value |
|---|---|
| Interface version | 120001, 120005, 120007 (Midnight 12.0) |
| SavedVariables | EverythingQuestsDB (account), EverythingQuestsCharDB (character), EverythingQuestsChainCache (account), EverythingQuestsHistory (account) |
| API compliance | Display-only by default — no taint. Auto-accept / auto-turn-in are opt-in and use insecure-only APIs (C_GossipInfo, AcceptQuest, CompleteQuest, GetQuestReward); Alt pauses them |
EverythingQuests/
├── EverythingQuests.toc # Addon manifest, module load order
├── Bindings.xml # Keybinding declarations
├── Core/ # Init, DB, Events, Profiler, Cache,
│ # Util, Media, TooltipScan, Dialog
├── Locales/ # enUS (full) + 10 stub locales
├── Libs/ # Bundled libraries
├── Modules/
│ ├── Minimap/ # LibDataBroker launcher
│ ├── Tracker/ # Custom quest tracker (Frame, Blocks,
│ │ # Scenario, Filters, Sort, Visibility,
│ │ # ItemButtons, AutoComplete,
│ │ # AutoQuestPopup, QuestSound,
│ │ # DragDrop, Events, Profession,
│ │ # Endeavors, TaxiHighlight,
│ │ # SuperTrackPersist)
│ ├── Nameplates/ # Nameplate quest icons (QuestIcons.lua)
│ ├── WorldQuests/ # World/zone map pins
│ ├── ChainGuide/ # Chain browser window + campaign source
│ ├── MapPOI/ # Quest POI overlays
│ ├── History/ # Quest History (Recorder + Frame)
│ ├── QuestAuto.lua # Auto-accept / auto-turn-in handlers
│ └── WhatsNew.lua # One-time popup for new releases
├── Data/
│ ├── RewardIcons.lua # World-quest reward icon mapping
│ └── QuestChains/ # Hand-authored Midnight chain data
└── Options/ # General, Tracker, World Quests,
# Appearance, Chain Guide, History tabs
Modules register into Core subsystems at load time and listen for events through a shared callback dispatcher, so multiple modules can safely react to the same WoW event without stepping on each other. Core/Dialog.lua provides a custom confirmation/prompt frame used in place of Blizzard's StaticPopupDialogs for every EQ-defined dialog, so EQ can't taint Blizzard's shared Quit/Logout popups.
Currently shipping enUS with comprehensive strings and stub files for deDE, esES, esMX, frFR, itIT, koKR, ptBR, ruRU, zhCN, and zhTW. Translation contributions welcome — see Contributing.
Contributions are welcome! If you'd like to help:
- Fork the repo
- Create a branch for your feature (
git checkout -b feature/my-feature) - Commit your changes (
git commit -m "Add my feature") - Push to your branch (
git push origin feature/my-feature) - Open a Pull Request
Please use the GitHub Issues tab. Include:
- Your WoW client version and region
- Steps to reproduce
- Any error messages from
/console scriptErrors 1 - Screenshot if applicable
- Full chain coverage beyond Midnight (TWW, Dragonflight, older expansions)
- Complete localization for non-enUS locales (currently enUS only for verb classification in nameplate quest icons)
- WoWInterface and Wago publishing
This project is licensed under the MIT License.
- Built by Wheelbarrel00
- Packaged and deployed with BigWigsMods/packager
- Minimap button powered by LibDBIcon and LibDataBroker
- Font/texture picker powered by LibSharedMedia
- WoW API references from Warcraft Wiki
Made for the Midnight expansion · 2026