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.

It's working so-so. It was fine for a while, then when i stopped paying attention, it got reset. I think it was also reset early, by an auto-quest popup event, but that may be coincidence.
I don't know if you can really *fix* this sort of thing. With the myriad popups that can be hit in rapid succession during normal gameplay, a scale adjustment will get missed, called at the wrong time or what have you, and then it's gone. The most workable solution is probably just an optionflag, to scale or not. I doubt this has popped up as an issue for more than a handful of users in any case.
But i'm curious why you think you should be setting the scale. From a usability standpoint, i'm of the opinion that the changes i make to my ui are the changes i *want* in my ui, and anyone overwriting that had better have a reason surpassing my own desires. Especially globals things like scale, position, colors, fonts and the like. At times i can be quite ocd about that, so in a situation like this, i'd just remove the offending code and be on my way.
Thanks for looking at it though. If you make any changes i'll put it thru the wringer, but ultimately, if it's unreliable, i'll remove the code for my own sake.

On another note, one of my favorite features from MonkeyQuest was the subzone highlighting of questobjectives.

This has been bugging me for a while, and it's by sheer chance that i was able to finally identify a culprit. My tooltip scales are controlled by TipTac, and it's been fine for the last couple weeks as i played the Beta, because i wasn't using QuestKing. As soon as i loaded QuestKing to compare to some other trackers, my tooltip scale got reset, so i can safely say something here is causing it. I was using this on Live 4.xx, and i was experiencing random changes in the tooltip scale, but it never occurred that QuestKing was the problem.

.Regards

Thanks for the report. It didn't occur to me that another addon might be setting the default tooltip scale to something other than 1. I've uploaded version 0.93 just now which will attempt to restore the old GameTooltip scale after hiding the tooltip.

Let me know if the problem persists, it's possible I might need to do an even more aggressive fix for this, but I'm not entirely sure.

This has been bugging me for a while, and it's by sheer chance that i was able to finally identify a culprit. My tooltip scales are controlled by TipTac, and it's been fine for the last couple weeks as i played the Beta, because i wasn't using QuestKing. As soon as i loaded QuestKing to compare to some other trackers, my tooltip scale got reset, so i can safely say something here is causing it. I was using this on Live 4.xx, and i was experiencing random changes in the tooltip scale, but it never occurred that QuestKing was the problem.

A movable frame would be nice for me because I use the quest tracker the same position I use my damage meters. When Iam questing normaly I dont use the meters and when raiding I dont use quest tracker, but sometimes I use both and being able to move arround its something I used on my old quest tracker. I also hate docked stuff I like to shuffle frames arround maybe its a bad habit.

Would still be awsome if the move option was given.

You mentioned 5.0 and thats where I started to migrate to Questking as my quest tracker, using it on MOP atm.

Any change to make the frame movable? And broker plugin that shows quests completed/aquired and that toggles on and off the quest tracker frame.

Also a option to dont hide all objectives when a quest is done.

thanks.

In the next version you'll be able to set the showCompletedObjectives option to "always" to show completed objectives even if the entire quest is complete. I'm currently developing in the 5.0 branch though (which has a slightly different option format and some compatibility problems with the 4.3 client) so you'll probably have to wait until 5.0 to get that feature.

I use the collapsed mode when I want to hide the frame and just see quest totals so moving that into a Broker plugin isn't very useful to me. It would probably be pretty easy to develop a separate addon that does this if anyone wants to do that, but it's not something I want to devote time to developing or keeping updated at the moment.

Tracker moving is something I've thought about providing an option for, but it introduces questions about profiles and where to save these things that goes against the simple universal file-based configuration I currently use for everything. Personally, while it may take a few minutes to set up the first time, the positionPresets option system works very well for me. If you want a draggable frame my question is, what is your use case? Is it to avoid the set-up time, is it so different characters can have different positions on their trackers, is it because you want to actively move the frame around to various positions during any one play session? Knowing that might help me find a good solution here.

I've uploaded a version 0.72, which attempts to fix the taint issue. Taint was being caused when item buttons were created/moved during combat, so now QuestKing will delay moving or creating the buttons directly until combat ends. If the text on the Q/A/C mode button turns red, that means an update may be being delayed until the end of combat. Hopefully this solves or comes close to solving the problem.

Since I've changed the item button code a bit (I had to change their parent frame to prevent them automatically moving/hiding with the buttons during combat), I might have introduced some bugs related to that. Let me know if you see anything weird happening with item buttons not disappearing or staying in the wrong position even after combat is over.

I'm pretty sure the current solution isn't perfect, but hopefully it's enough to make it so this problem very rarely if ever happens.

First of all, thanks for this awesome addon. I'ts a great replacement to QuestGuru. Keep up the good work!

I'm getting "QuestKing has been blocked from an action only available to the Blizzard UI." a lot when using quest items via the tracker. It seems to trigger randomly, but once it has been triggered it happens every time until I complete the quest in question or reload my UI. Any idea if you will be able to fix this?

Thanks for the report. Personally I've never seen this happen but you mention it's related to using quest items, so I think I know what might be causing the problem (specifically, when quest item buttons are created/hidden/moved during combat). I think I know of a decent work-around, but it'll require some fiddling and I haven't had a lot of time to play lately. Hopefully over the next few days I'll have an opportunity to work on this.

If you're able to provide a taint.log that would probably be helpful, but since I have a decent idea of the cause it's probably not necessary.

First of all, thanks for this awesome addon. I'ts a great replacement to QuestGuru. Keep up the good work!

I'm getting "QuestKing has been blocked from an action only available to the Blizzard UI." a lot when using quest items via the tracker. It seems to trigger randomly, but once it has been triggered it happens every time until I complete the quest in question or reload my UI. Any idea if you will be able to fix this?