QuestKing

This addon contains no in-game configuration and is instead configured by editing values in the Lua files. If you are not comfortable doing this and require in-game configuration, this addon may not be for you. There are no current plans to add any in-game configuration.

Changes for 5.0/MoP

As of version 0.9, options are now moved into a separate file called options.lua. Also, you may specify overrides for the default options in options_override.lua if you wish. Doing so may make upgrading versions easier by electing to keep your override file between versions.

Description

QuestKing is a complete replacement for Blizzard's objective tracker frame. It is designed to be simple, compact and unobstrusive while supporting all the (in my opinion) important features of the Blizzard alternative, plus some of its own.

QuestKing is visually inspired heavily by QuestGuru_Tracker, and philosophically inspired by both QuestGuru_Tracker and its predecessors (such as bEQL). However, QuestKing is written from scratch, with no dependencies, and keeping in mind the requirements of a quest tracker in WoW 5.0. I've also attempted to keep CPU and memory usage relatively low.

The following features from the Blizzard frame ARE supported:

Quest tracking

Achievement tracking

New for 5.0! Scenario stage progress and criteria

New for 5.0! Challenge mode support, including medal timers and criteria

Colour-coded quests and objectives according to level and completion state

Collapsible zone/category headers

Collapsible quest/achievement objectives

Custom positioning, including toggling between preset positions

Customisable size, positioning, font and colours

And with the optional but included QuestKingSounds standalone addon:

Quest progress sounds

Options

All options are configured by editing values in Lua files. A list of all default options is shown in options.lua, with comments provided next to many variables in case their name is not sufficiently descriptive. You may edit options directly in options.lua if you wish, but you should also consider using options_override.lua to override just the defaults that you want to change. This should make upgrading to new versions easier in the future.

At the very least, you will almost certainly want to change the default position of the tracker by editing the "positionPresets" table. Each table there represents the arguments to the SetPoint that will determine the tracker's position.

Colours

Quests are coloured according to their difficulty, with some exceptions. Completed quests are coloured bright blue. Failed quests are coloured purple. Quests with no valid objectives are coloured pale green, indicating a probable "connector" quest (a quest that doesn't need to be "completed" but rather simply requires you to visit some other questgiver, often in another zone or area). Objectives are coloured fading from red to green as they are completed, then finally pale purple at completion (to make it easy to distinguish between a 100/100 objective and a 99/100 objective). Many of these colours are configurable in Lua should you wish to do so.

QuestKingSounds

QuestKing comes with a bundled addon, QuestKingSounds, providing sound alerts for objective progress, completed objectives, and completed quests. This addon is entirely seperate from QuestKing and neither depends on the other. You may freely choose not to install QuestKingSounds. If you do want to use it, you may configure it in the same way QuestKing is configured by looking at options.lua and options_override.lua.

You may use the slash command /qkreset to reset the collapsed state of all quests, achievements and headers.

Bugs / Other

This is a relatively new addon, so please forgive any bugs (and please tell me about them should you find them). Also, the addon is not currently locale independent in a few of its functions (e.g. getQuestTaggedTitle). Any ideas/code for improvements in terms of efficiency are welcome. Feature requests are also welcome, but keep in mind I intend to keep this addon as slim as possible for my own purposes and am extremely unlikely to add in-game options, etc.

0.93
- Will now attempt to restore the previous GameTooltip scale instead of setting it to 1 after the tooltip is hidden.

0.92
- Cleaned up options_override.lua.

0.91
- Added support for Legendary and Account quest tags.
- showCompletedObjectives can now be set to "always" to show objectives even
for complete quests.
- TOC version to 50004.

0.9
- Separated options out into options.lua and options_override.lua. Changing
your options in options_override.lua should allows for easier version
upgrades by keeping your options_override.lua between versions.
- Small code clean-up.
- Fix for new event SCENARIO_CRITERIA_UPDATE.

- Fixed delayed update not occurring when item buttons were hidden due to
layout check instead of button reset.

0.71

- Changed parent of item buttons to UIParent to prevent them being hidden
indirectly due to the parent button being hidden. Should hopefully also help
with taint problems.

0.7

- Fixed a bug that could cause Blizzard's tracker to reappear in some cases
(e.g. when visiting a barber)
- Fixed a possible taint issue that could happen when quest item buttons were
updated during combat. As a result, item buttons that would be created during
combat won't appear during combat, and item buttons that already exist may be
misaligned if quests are moved/hidden/completed during combat. The tracker
will wait until combat ends and force an update, adding or realign any buttons
that combat prevented.

0.66

- Removed a debug line.

0.65

- Re-added QuestKingSounds to archive (was mistakenly not packaged in 0.61).
- Fixed a bug that could cause the tracker to not update immediately or cause
an error occasionally when receiving an automatic quest.

Sorry for the delays. I was hoping to post the new version before I posted here again, but things took a little longer than I anticipated. The changes and new systems in MoP/WoD were far more than I thought, and many features that I wanted to implement (e.g. animations) required a substantial change to how frames are used and recycled. QuestKingSounds also needed to be rewritten and I made a lot of other improvements too.

The good news is that the new update is 98% done. All WoD features are finished with a couple of exceptions. First, challenge modes are done code-wise but I can't test the new code until I hit level 100. Secondly progress bars for certain bonus objectives aren't in yet, but that's also apparently something I can't do until I hit 100 (I don't know of any low level objectives that use a progress bar).

I don't want to release an incomplete addon so I'll be trying to level up and finish these things. Of course I'll be trying to test the addon as well along the way. Things might be slow going though as I'm very busy with work and can't play for long most days. But I'm very, very happy with the changes made and I want to release this as soon as I can.

Thanks for your patience!

P.S. There is also a small issue of dungeons/scenarios with multiple objectives that "supercede" others. Code to support this exists in the default Blizzard tracker but I can't find any dungeon/scenario that actually uses this feature. It might be something that was scrapped in beta and never used. But if anyone does know a dungeon/scenario with multiple bonuses that show in sequence instead of all at once, please tell me!

I'm currently working on getting this updated for 6.0. I've fixed all regular quests and fixed quest items too, as well as the sounds from QuestKingSounds. I still have to work on challenge mode timers and scenarios and proving grounds before it's ready for release. Sadly I need to be level 100 to test the new challenge modes, so that's a bit of a pain. If that takes too long I might make an interim release with everything but the challenge timers.

Regardless, work is coming along well. I hope to have a WoD-compatible release in the near future.

I'm currently working on getting this updated for 6.0. I've fixed all regular quests and fixed quest items too, as well as the sounds from QuestKingSounds. I still have to work on challenge mode timers and scenarios and proving grounds before it's ready for release. Sadly I need to be level 100 to test the new challenge modes, so that's a bit of a pain. If that takes too long I might make an interim release with everything but the challenge timers.

Regardless, work is coming along well. I hope to have a WoD-compatible release in the near future.

Love this addon, was my favorite quest objective frame replacement. I know there are a ton of changes to the LUI commands for WoD, I tried to fix a few of them but didn't get far.

Any status on an overhaul for 6.0.x?

Hello! I'm glad you like my addon. I'd really like to update this for 6.0 at some point. Sadly I'm super busy with work/life right now and I haven't played WoW recently so I'm behind on the UI changes. I've been thinking about resubbing and getting QuestKing working again, but I can't make promises right now.

If anyone manages to find fixes for the problems in 6.0, I'd be glad for you to put them here, or post your own version. But being realistic, this isn't the most popular addon in the world, so I don't know if that's likely to happen. Sorry for the ambiguous news--all hope is not lost, but it depends on whether I can find the time. You might be stuck with the default tracker for the time being.

Hey. Glad to see you got it (mostly) working. Hopefully it's useful to someone else. When I get the chance to get back into WoW and test things I'll have a closer look at it myself.

The timer sync issue is difficult. Originally I just trusted what the server told me with regard to timer lengths, but I noticed that the server would typically run slightly slower than the client. So with long timers you'd eventually lose a lot of time, hitting 0 seconds even though the "real" (server) timer has 20+ left. So there's some kinda ugly stuff in there that's supposed to resync the timers and also make timer resyncing less ugly (avoiding numbers consistently jumping back up). Of course I barely even know what proving grounds are so it's hard for me to speculate on causes, haha. Anyway, really happy to see a more functional version here. Thanks for working on it!

Proving grounds is more or less just a regular scenario with timed "waves".

Hey. Glad to see you got it (mostly) working. Hopefully it's useful to someone else. When I get the chance to get back into WoW and test things I'll have a closer look at it myself.

The timer sync issue is difficult. Originally I just trusted what the server told me with regard to timer lengths, but I noticed that the server would typically run slightly slower than the client. So with long timers you'd eventually lose a lot of time, hitting 0 seconds even though the "real" (server) timer has 20+ left. So there's some kinda ugly stuff in there that's supposed to resync the timers and also make timer resyncing less ugly (avoiding numbers consistently jumping back up). Of course I barely even know what proving grounds are so it's hard for me to speculate on causes, haha. Anyway, really happy to see a more functional version here. Thanks for working on it!

I got things mostly working for proving grounds. Sometimes it does weird things when the bar reaches 0 because the round duration and current time don't always reset at the same time and when the tracker updates. I increased the update rate and took out some of the rounding just for proving grounds to try to help but it still happens occasionally, but it totally works. The bar shows current / max round numbers and remaining time, as well as medal color coding (endless mode uses platinum.) The only real issue is an error that happens during as any challenge mode or proving ground start, but that also happened before I made edits.

Anyway, it was a fun learning experience and maybe someone will find it useful until a proper update is made.http://pastebin.com/8E6qPrZk
(Also I edited this before to make the tracker grow upwards and not show the buttons, so those changes are in there)

Thanks for the update. Not sure why the timer would always be showing, based on the changes I read about, but sadly I'm not able to test in game at the moment. It might be worth looking at what GetWorldElapsedTimers() is returning at times when it's showing but should not be since that's the main thing that determines whether QuestKing will try to draw a challenge timer.

Seems like Proving Grounds is a new "type" of scenario that's different from other types and uses a new sort of medal, so adding support for that might be a bit harder than fixing the useless timer bug.

Hi. I have to say this is the best quest tracker around currently. Recently with 5.4, an issue came up with the challenge timer. It's always shown in any zone, and does not function in the new proving ground scenario. Here's a picture:

Not sure how many people are still using or interested in using this addon. I've moved half way around the world and no longer even have access to a computer that can run WoW, so keeping it updated now is borderline impossible for me. I'm not sure how much has broken in the last six months.

If anyone wants to post updates here, release a fan-update style version or whatever, you have my permission to do so. Feel free to send me messages about stuff like that as well if you like. I still check back here so I can try to put up a fixed version here myself as well if people can supply any necessary fixes.

I'd love to get back up and running myself but it may be another six months before I'm able to do so.

Great addon and love the look/feel of it. Sadly, some of us (me, HA) have issues trying to figure out how to move it and positioning and such. My first issue is I have W8, and it is not opening the options.lua with the right app...grrr. I will continue to work on it as this is the best quest log addon I have seen. Kudos!! Just right now it overlaps my minimap and other bars on the right side with my LUI addon. :-(

I figured out how to move the tracker to the position I wanted, I was just wondering if you plan to add a drag to move option in the future?

Thanks again!!!

It's a slight possibility, but getting both a drag-friendly option working together with the current position presets system is more complicated than it seems at first glance, due to issues like growth direction, parent frames, etc. which is all currently handled by just growing from predefined anchor points per preset. I know that it's a little trial-and-error at the start but once your positions are in there it works very well and very unambiguously, which is not really the case when dragging is thrown into the mix.

Aye, I guess there isn't really a need for it as long as the user knows how to update the option.lua file. Again thanks for a great addon, the in game one is just too wide for my taste, this one fits like a glove!