XToLevel

A simple AddOn that provides details about your leveling progress; including the number of kills, quests, dungeons, battlegrounds, pet battles, mining and herb nodes needed, as well as a time estimate.

Features

After each kill, quest, dungeon, battleground and mining/herb gathering, the exact amount required of that particular item is displayed on the screen, and optionally in the default chat window.

A small window displaying details about the kills, quests, dungeons, battlegrounds, pet battles, mining/herb nodes, and time remaining to gain a level.

A highly configurable LDB data-source, providing data to LDB front-end AddOns, such as TitanPanel and Fortress.

All of these display features can be configured via the configuration window, which is accessible by either right-clicking the average window or typing the commands: /xtl or /xtolevel

Language support
The AddOn now supports all the WoW clients.

You can help improve the translations via the Localization tool at curseforge.com. All contributions are greatly appreciated!

Custom LDB Text Patterns
You can create your own custom patterns for the LDB text output.
This is done by opening the config window, selecting the LDB tab and choosing "Custom" from the Pattern drop-down. Then the text-box will be enabled for you to enter you pattern.

In short, you can use HTML-like tags to represent the available data:
- kills, quests, bgs (battles), bgo (bg objectives), xp

FIX: Fixes the kill count in mob tooltips. It was only showing up the first time a tooltip opened..

FIX: Fixes a bug causing the addon to fail to detect dungeon exits.

v6.0.3_37

FIX: Updated the TOC interface version to make it compatible with 6.0.

FIX: RaF functionality was dependent on a deprecated group API function.

v4.3.0_33

NEW: Added translations for the Portuguese client.

FIX: Updated the TOC interface version to make it compatible with 4.3.

v4.3.0_32

FIX: Updated the TOC interface version to make it compatible with 4.3.

v4.2.0_31

FIX: Corrected a problem that sometimes caused the tooltip to double in width on gathering nodes.

v4.2.0_30

NEW: Added support for the Russian (ruRU) and the Latin-American Spanish (esMX)
locales, as well as experimental support for Korean (koKR) and Chinese (both
zhCN and zhTW).

FIX: An issue with the load order of the external libraries, causing the
AceConfig and AceGUI libraries to fail to load properly when XToLevel was the
first or only addon using them, has been resolved.

The "Current Battleground" section of the tooltip should now be properly
displayed again.

FIX: The method used to add details to NPC and gathering node tooltips has been
updated. It should now be more compatible with Tooltip addons, such as TipTac.

NOTE: A big part of the translations for the new locales were contributed by
CurseForge members, but the rest of them are still just automated Google
Translate versions. Help with translations is always welcome!

v4.2.0_29

CHANGED: The Config frame has been remade using the AceGUI and AceConfig libraries. It looks a little different, but it offers all the same options.

FIX: The new Config frame fixes an issue where the drop-down boxes were not functional.

NOTE: The way the addon stores your data internally has changed. Your old data will be moved over to the new system, so this shouldn't have any noticeable effect, but it's a rather major change so if you lose your data after the update this is likely the reason.

v4.2.0_28

FIX: Added the ability to enable/disable the background for the Classic window mode again. Was removed with the pet code.

FIX: A rounding issue with the XP values in the Gathering tooltip has been fixed. They are now rounded to 1 decimal when needed.

FIX: The addon now properly unloads on login for max level hunters.

FIX: TOC version number updated for the 4.2 patch.

v4.1.0_27

NEW: Added a button to the Data config tab that clears the gathering data.

FIX: Added the "Vertical Align" option for the widow again. It was removed in the last version by mistake.

FIX: Made compatible with the COMBAT_LOG_EVENT_UNFILTERED change we're expecting in 4.2. (In case I miss the patch week.)

FIX: Removed the now redundant warning message for the "Kills to level" tooltip checkbox in the config.

FIX: An issue preventing gathering profession XP from being collected has been resolved.

FIX: Quest XP is now detected more reliably, and not just assumed by the lack of a mob name in the message.

FIX: Several minor compatibility issues fixed.

NOTE: I have yet to review all the changes to the AddOn API while I was away. There may still be bugs lurking around. I'm working on it.

v4.0.3_25

FIX: A nil reference error shown when reaching max level has been fixed.

v4.0.3_24

FIX: Max level hunters will again be able to track the progress of their pets.

FIX: Non-hunter players will no longer see the pet section of the average window on level up.

FIX: An error for hunters using the Classic window look has been corrected.

v4.0.3_23

NEW: The addon now keeps track of how many mining and herbalism nodes need to be gathered to level. The average number is now displayed in a box in the "Blocky" average window and a more detailed list is shown in the tooltip. You will also see a "Needed to level" value on the node tooltips themsleves, much like with the mobs.

NEW: You can now use "guildxp" and "guilddaily" in the LDB custom string to show theyr respective percentage values. (More guild leveling features will be coming soon(tm).)

CHANGED: The "Kills to level" line in the tooltip for mobs will no longer be shown unless a previous mob of the same level and classification (normal, elite, etc...) has been killed. This is due to the fact that the old formulas for calculating the mob xp value has changed, and I have been unable to deduce the new formulas. So this value is now solely based on your own kills.

FIX: The entire configuration window will now, again, be visible to hunters. They were previously unreachable due to a miscalculation in the height of the controls. (Hunters have more options than the others.)

FIX: The addon will again be properly hidden when reaching the maximum level. The LDB data-source will, however, remain until the UI is reloaded.

FIX: A bug causing the Time To Level feature to show negative XP/hr values whe loging in after rebooting the computer has been fixed.

FIX: Hunter pet names will now be updated more reliably than before. A slight delay between the events trigger when a pet is summoned and the time when the pet's name became available sometimes caused a pet to be "Unknown" or adopt the name of a previously active pet.

FIX: Various minor things affecting the addon for new chars, especially in the goblin newbie zones, have been fixed.

v4.0.3_22

Gathering professions and other events that gain XP will now trigger a generic message. These XP gains will not be counted or shown in the tooltip (not yet at least) but the message will show you how many of those you need to level.

Added the ability to scale the Average Window.

v4.0.3_21

The addon now ignores generic XP gains from things like mining. They will no longer be counted as quests.

The TimeToLevel Session data will no longer reset everytime the UI is reloaded. By default the data will persist for 5 minutes, after which it will be discarded. The timeout duration can be changed or disabled via the Timer tab of the Config window.

When in Session mode, the TimeToLevel feature will now use the data from the latest previous session instead of falling back on the level data, except when there is no previous session available.

v4.0.1_20

The LDB data source is now automatically disabled for max level players. (It used to just display "Disabled".)

Changes made to how the addon handles non-English clients. It should now be more reliable, even for non supported locales.

The addon now excludes targetting dummies, and other such things, from the "Kills to level" tooltip info.

Posssible fix for the errors shown when hovering over the "Kills" and "Quests" windows when the Recruit-A-Friend feature is enabled.

NOTE that the info showing in the "Kills to level" line in the tooltip may not be accurate anymore. It seems the algorithm used to calculate this information has changed since 4.0. The feature is disabled for MOBs higher than level 80, as the old algirithm is completely off for them.

v4.0.1_19

Interface version updated to the 4.0.x patches.

Fixed a bug that caused the "Session" mode of the TimeToLevel feature to break after resetting the session.

Added the ability to toggle the LDB data-sources on or off.

v4.0.1_18

Fixed a bug that caused incorrect values for the TimeToLevel feature on WindowsXP and/or systems using the old AM/PM time format.

v4.0.1_17

Fixed a bug that caused an error when switching between the Classic and "Blocky" window modes.

Added a day value in TimeToLevel displays. It previously only showed the time values.

Added a workaround for a possible API bug which appears to have rarely caused the TimeToLevel "Level" mode to be way off in it's estimate. (If you are having any problems with this feature, please report it!)

v4.0.1_16

Note! This version is meant for both WotLK and Cataclysm Beta users.

Removed the "Level reached" message for Cataclysm users. The Cataclysm UI already has a pretty nice message for level-ups so this is kind of redundant, really.

Fixed minor inconsintencies with the player kill calculations.

Removed the duplicate message shown when you kill something.

The "Reset Session" button in the Timer config panel now works properly again.

The TOC version number has been downgraded to WotLK. Cataclysm Beta users will have to enable out-of-date addons to use it. (It's either that or the other way around.)

v4.0.1_15b

Cataclysm Beta (4.0.1.12857) compatibility fixes.

"Kills to level" estimate in mob tooltips for players level 80 or higher has been disabled. The old formulas for calculating these estimates do not apply to the new levels.

The inital estimates for all the data displayed in the window or LDB displays will also be incorrect, for the same reason as above. (Note that these are ONLYthe inital estimates. Once you start killing/questing/etc... the numbers will become accurate again.)

Various parts of the addon have not been thouroughly tested yet. Expect some errors. All error reports are most appreciated. I will keep the addon description up to date withknown errors.

v3.3.5_14r

Added a "Time to level" feature. This shows you roughly how much time it will take you to reach you next level, based on how fast you are gaining XP.
This is available both in the "Blocky" (default) window, and as a LDB data source (named TimeToLevel). Note that the LDB data source for this feature is
separate from the rest of the XToLevel LDB data. This is mostly for performance reasons. (Updating the entire XToLevel data-source every couple of
seconds is extremely expensive.)

The tooltip for mobs now shows how many of those mobs you need to kill to reach your next level. (Can be disabled.)

The Mob XP algorithm has been tweaked to take heirloom items into account, and to assume level 68 players will be leveling in Northrend not Outlands.

Added options to have the LDB XP values count down rather than up. (Default setting is still up.)

Added a new LDB pattern, "countdown", which will show a countdown for the XP and Rested values.

That addon will no longer reset the size of the tooltip.

Fixed a bug that caused the LDB label to display even when disabled.

Silenced an error message that may have been displayed under certain circumstances, when attempting to right-click the info window or the LDB source to open
the config. It seems that when the XToLevel section is not visible in the config window (when you so many addons listed that you need to scroll down to see it)
it is not possible to automatically jump to that section. I'm still looking for workarounds, but I haven't found one yet. Until I do those affected will need
do manually open the config window.

v3.3.3_13r

The configuration for the addon has been moved into WoW's Interface options window. It can still be opened and used much the same as before.

You will now have to reload the UI to swap languages. (This was done to conserve memory. Shaves like 10% of the total being used by the addon.)

The Dungeon info in the Tooltip has been changed in order to properly display the rested bonus, if any.

Fixed a bug that caused a dungeon that was entered directly from whitin another dungeon to be counted with the first one.

Fixed a bug where the dungeon counter would not reset when entering a dungeon while still inside another dungeon, thus merging them into one.

Fixed a bug in the Dungeon tooltip section, where the average XP for the kills would always display 0.

Fixed a bug that, under certain circumstances, could cause an error when leaving a dungeon.

Fixed a bug that caused the dungeon info to be displayed in the LDB tooltip even when it had been disabled in the config.

v3.3.3_12r

Major revision of the code structure. If upgrading from a previous version, it is highly recommended that you completely remove the old version before installing this one.

A new look has been added for the Average display window. The old version can still be used if you prefer that. (See the "Average" tab in the configuration.)

The addon now records XP gained while inside non-raid dungeons, and displays it in a similar way the Battleground info is displayed.

The XP information for both the LDB and Average window can be displayed as either percentage done, or number of "bars" remaining.

Fixed various minor bugs relating to how the Battleground counter handled unusual circumstances (DCs and such).

Improvements in the new Average window ("Blocky", as I chose to call it)

Less text, more graphics. Instead of a label, each section is now prefixed with an icon.

Each section now appears as a small, separate box, rather than a line in a bigger box. (Note that they are still tethered together... yet.)

The tooltip now shows only information relating to the section the mouse is hovering over. (The old, combined style can be enabled in the config.)

Improvements to the Classic average window

The XP details for both the player and, if applicable, the pet can now be displayed in the window.

Like the new look, each section now displayes separate tooltip details.

v3.3.0_11r

A message will now be shown in the chat and floating-error areas when a hunter pet gains a level, much like the one you get when a player gains a level.

Lowered the default amount of records used for battle and objective average calculations from 30 to 15. Note that this will only affect new users of the addon. If you are already using it, the update will not change your values (even if you just used the default).

Fixed a bug that caused the pet displays to pop up and show garbage data when a Warlock leveled.

Fixed a bug that caused the battle and objective averages to ignore the selected limit in the amount of records to be used.

Cleaned the "customPatterns.txt" file up a bit. (Nothing major though.)

v3.3.0_10r

Added a Danish translation, which can now be enabled via the configuration window. (Thanks to Xyrec for that!)

Fixed a regression bug that cause an error message to appear during login for players with active pets.

Added experimental support for players using the Recruit A Friend feature. (This is disabled by default. See the "Data" tab of the configuration window.)
When enabled, and in proximity to a RAF linked player, all calculations are made assuming triple XP gains via kills and quests.
NOTE! I can not test this myself, as I am not eligible for RAF, so please report any problems you may encounter.

v3.3.0_9r

Updated to work properly with the 3.3 patch.

Fixed a regression bug that caused the "Pet Kills" option for the Average Window to be ignored.

Fixed a regression bug that caused a display bug in the built in LDB patters when hunter pets reached the same level as the hunter.

Fixed a regression bug that sometimes caused a null comparison error when loging into a character. (It had no side-effects, though.)

Updated the French locale. (Thanks to carignou and lalrobin for their contributions!)

v3.2.2_8r

The configuration window has been re-designed from scratch in order to retire the old Waterfall GUI, which accounted for roughly 2/3 of the memory being used by the addon.
As a result, the addon now uses up to 3 times less memory than the previous versions, depending on the situation.

You can now clear kill, quest and battle records, used by the average calculations, via the "Data" tab of the configuration window.

Several code optimizations have been implemented to fix a "resource-leak" in the LDB data-source.

v3.2.2_7r

You can now choose how many kills, quests and battles the Average Window uses for it's calculations.

Added the ability to toggle on an off the debug information that was showing. (See the General tab of the config window.)
I had this hard-coded in, either on or off, but I kept forgetting to turn it off before uploading new versions xD

v3.2.2_6r

The color of the floating and chat messages can now be changed via the configuration window.

Hunters will now see the data for their last active pet while their pet is inactive. This allows the hunter to mount and dismiss the pet, as well as other things of that nature, without the pet data disappearing.

Fixed a bug that caused the average window to show empty battleground lines for max level hunters with lower level pets active.

Fixed a bug that caused the battleground objective messages to be shown regardless of whether they had been disabled.

Fixed a bug that caused the tooltip to show an empty list of required battlegrounds for max level players. The list is still shown for max level players if there is anything to be shown. (This can be disabled in the Tooltip tab of the config window.)

v3.2.0_5rBattleground support

The addon now records experience gained in battlegrounds.
It counts the number of battlegrounds needed, as well as individual battleground objectives needed.

Both the Average Window and LDB text now show those details.

The tooltip has been altered to display more detailed information on battleground experience.

This includes a separate counter for each battleground instance, as well as details on the current or last battle.

Custom LDB patterns

The LDT output now supports custom text patterns.

A detailed explanation of how to construct a pattern can be found in the "curstomPatterns.txt" file.

Other

The German locale has been corrected. Thanks to Marcel and Axel for their help with that!

The Average Window will now also show the Tooltip when the mouse is over it.

You can now clear the stored kill, quest and battleground data.
This is done by using the command /xtl clear [kills | quests | bgs]
NOTE! This will permanently delete the data. Use with caution!

Added several new ways to display the LDB text. The default layout has also been improved.

The previously lime-green text in the LDB text now changes colors according to your (or you pet's) progress through
your (or you pet's) current level. This can be disabled in the Config window.

You can now choose which of the available locale translations you want to use via the General
tab in the Configuration window. It will still default to your client's locale if nothing is selected.

Minor changes (hopefully improvements) have been made to the non-English translations, and previously untranslated parts
of the Configuration Window have now been translated.

The translations, previously contained in the Locale.lua file, have been moved into separate files in the locale directory.

The debug text that showed up in the chat window when a hunter with a pet killed a mob has been removed. (Sorry about that xD)

Fixed a bug where a low-level pet's kill estimate would show 1 after being retrieved in exchange for a level-capped pet.

v3.2.0_3r

Fixed a bug in the LDB data-source which caused the label to be invisible in TitanPanel. (/facepalm)

v3.2.0_2r

Added LDB support.
This means that LDB front-end addons, such as TitanPanel and Fortress, can now be used to
display the data in an more detailed and customized way.

v3.2.0_1r

The addon will now also show kills required for hunter pets.

You can now choose to hide the "XToLevel" header in the Average display window.

Fixed a bug that sometimes caused kill estimates to be to high for high-level players in low-level zones.

The Average window's default position has been moved from below the minimap to below the player frame. It's old position sometimes caused other addons to mistake it for a minimap button.

v3.1.3_1r

Updated the interface version to support the 3.1.x patches.

v3.0.3_2rAdded language support

Added support for the French, German and Spanish clients.

Users of the above clients can choose to have the addon use English rather then their default language.

Note that the translations for all the new languages may not be entirely correct.
I speak none of the new languages, so I just used the Google translator to translate the phrases. You can edit the translations by editing the Locale.lua file. If you do, please share it :)

Average display changes

A frame has been added to the Average Display window. (It can be disabled from the configuration window.)

The Average Display window can now be locked into place.

You can now right-click the Average Display window to bring up the Configuration window. (This can be disabled.)

Shadows have been added to the text in the Average Display window. This helps keep it visible on bright backgrounds.

The Average Display window will now properly resize to fit it's data.

Bug fixes

Fixed a bug that caused the configuration window to ignore all changes made to it.

Fixed a bug that sometimes caused an error when creating caracters in certain zones.

Fixed a bug that caused the mob kill estimates to be to low in certain zones.

v3.0.3_2b1

Added experimental support for the French client. (Thanks to trucdudur for the help with that!)
Note that the addon will still use English for messages and other text.

Fixed a bug in the "Average display" configuration window. It will now properly disable/enable all options.

v3.0.3 (WotLK)

The addon now loads correctly for levels 70-79.

v2.4

The mob and quest estimate is now calculated based on the last 10 kills / quests, rather than the enitre session.

You can now chose to hide the mob and / or quest estimates from the config window.

Fixed a bug that sometimes caused the average display to freeze or show negative values after gaining a level.

v2.1

Fixed a minor display error that sometimes occurred when gaining a level.

v2.0

Added support for the 2.4 patch

A small movable window added that shows the estimated mobs / quests needed to level.

All /xtl and /xtolevel command options removed. It will now always just bring up the config window.

v1.1

GUI Config window added.

Code re-written to incorporate a few basic Ace2 libraries and the Waterfall GUI.

I'm currently not playing at all, nor working on addons. However I'm planing to do some maintenance on this addon at the start of January. (A bit busy until then, or I'd do it now.)

As for adding features. I'm not doing that anymore. However I'll check out what would be involved in adding the box and if it doesn't require a lot of rewriting, I'll consider it. I was never much into Archeology myself when I played, so I'm not entirely sure what it is you are asking for. I'll check it out nonetheless

AtilThor, I first want to say thank you very much for this addon, it's one of my favorite!

Your last comment said you have not played for months so I hope there is a chance you still work on addons.

I wanted to make a request for an additional box that tracks the XP to level from Archaeology. The addon already reports the number of surveys after I pick up a fragment so I can go with that if I need to. Having an extra box to track the number of surveys between digs sites would be cool.

Theondry , I can't find any issues with this. Both the Blocky and Classic windows appear to work just as expected. - If this is still a problem, could you provide some more details on your setup? (Locale, char levels and classes, installed addons, etc...)

And I'll try and add the TimeToLevel data to the classic widnow for my next release. (Not sure when that'll happen though.)

Originally posted by Theondry
(Admittedly, I could just get all my toons to 85, and then I couldu uninstall this. [/b]

You could also just disable the addon for you level 85 chars.
(Char selection screen -> Addons -> Configure addons for -> select char name -> disable addon. )

Originally posted by ricks322 Just a note. When you get XP by 'gathering' XToLevel reports it in the chat as a quest, and since the xp can be very low you get statements like "885 quests needed to level".

Hey.

Yes I've noticed an occasional thing that gets reported as a quest even though it is not. The addon uses the chat messages generated by the game as a data source. All XP gains that look like a quest (e.g. "123 experience gained.") are picked up as quests, even if they are not.

I haven't really tried to fix this before, but I will look into it. I may be able to tie this somehow to the quest hand-in itself, rather than the chat message.

Those two cases I listed in the change log (using WinXP and/or the old AM/PM time formats) are the only two causes I found during my tests. Didn't look for any more though; didn't really need to.

The bug was caused by inconsistencies in the LUA os.date() function, which I used to extract the time values from the timestamps. The %H tag, which is supposed to return the hour value in a 24 hour format, apparently doesn't work as expected. - It didn't even occurred to me at first that this would be the cause of the problem. Not until I had debugged every line of my own code several times, and made sure the WoW API wasn't returning invalid values.

In any case, I've removed all use of that function and replaced it with my own formulas. It should be fixed (or at least equally bugged) on all systems now

TY for fixing the time to level bug. I just got used to it displaying 16 or 17 hours whenever it was something greater than 1 hour. btw, the bug effected Windows 7 64 bit, not just XP, if in fact it was related to the operating system.