Achievement UI

Hi, my name is Thaoky, and I'm an Altoholic :)

Altoholic is an Ace 3 addon written for people who dedicate most of their time to leveling alts, and who want to have as much information as possible in one addon. The main feature of the addon is the search functionality which allows users to search their alts' bags or loot tables in an Auction-House-like frame (see screenshots). All this with multiple-realms/accounts support.

About the addon & the author

I've been playing WoW since the European release, and I used to rely on addons like character viewer to check my alts' inventory, but since it was more or less abandoned and not always stable for me, I decided to write an addon myself and to improve the search feature as much as I could. I hope you'll enjoy it as much as I do :)

The addon has been in development since December 2007 and was officially released in late March 2008. It's still not final, and although it has considerably evolved since the initial release, there are still a lot of things I haven't had time to implement yet.
Please note that this is my first addon, and that English is not my native language.


- Languages supported: enUS, frFR, deDE, esES, ruRU, zhCN & zhTW.

- Account-wide data summary:

  • Characters' talents: Full talent trees & glyphs are supported for both specializations.
  • Money, /played, rest xp for each character, subtotals by realm, and grandtotals for the account.
  • Bag usage: see at a glance which characters should get bigger bags (bag size, free slots and types included)
  • Characters' skills: skill summary on one screen, namely the 2 main professions + the 3 secondary skills as well as riding. I may add more if there's demand.
  • Reputations: a list of all the reputations of the current realm's characters. You can see at a glance if all your alts are at least honored with Honor Hold if you want to get the new 2.4 blue PVP set. Suggestions on how to grind reputations will be available soon.

- View containers (bags, bank, keyring) of all alts, on all realms.

- Guild banks : You have 10 alts in 10 different guilds on the same server, all of them with access to a guild bank ? Not a problem, you can see them all here.

- E-mail: allows you to see which alts have mail without having to reconnect them. The addon will tell you when mail is about to expire on a character. Threshold configurable (up to 15 days). Multiple realm support as well. Mails sent to a known alt (one you've logged on at least once) will be visible in the addon without having to reconnect it.

- Equipment: See the equipment of the current realm's alts in one screen. Very useful when purchasing stuff for your alts at the AH. Multiple realms supported. Right-clicking any equipment piece will allow you to find an upgrade, this feature is similar to the official wow armory feature, and is quite performant, even though it doesn't match the accuracy of the official one.

- Search: the most important feature of the addon, it uses an AH-like frame to display search results. You can either search bags on the current realm, on all realms, or a loot table.
The loot table is a table based on AtlasLoot, but which contains only item id's, and therefore keeps memory usage minimal.

The Search menu allows you to find items based on their name (even partial), level, type or rarity, almost like at the AH. It is also possible to search known recipes.

- Quest Log: See the quest logs of all your alts, as well as an indication of which alts are on a specific quest. Clicking on a quest link in the chat log will tell you which alts are on that quest.

- Suggestions: Currently, only profession leveling suggestions are available when mousing over your current level in a specific profession. Suggestions are based on the leveling guides posted on the official US forums (credit goes to their respective authors). The addon also suggests you where to quest/grind xp depending on your character level.

Suggestions were also added for the most recent factions. More to come later.

- Auction house: You can see which auctions/bids you've placed with an alt without being logged in or being at the AH.

- Professions: You can browse all known recipes in a thotbot like frame (see screenshot).

- Mounts & Pets of all your alts.

- Achievements are tracked for all you alts (see screenshot).

- Guild Members: a list of your connected guildmates, along with their alts (if they're using Altoholic too), and their average item level. Clicking their AiL will also allow you to "remotely" inspect their equipment.

- Guild Skills: a list of altoholic users in your guild, along with their alts and direct profession links. All professions are available in one click.

- Guild Bank tabs: a list of altoholic users and the time at which they last visited the guild bank. If you haven't visited the guild bank for a few days, you can remotely update your local data without going to a capital city.


The FAQ has been moved here :


  • I'd like to thank my guild, Odysseüs on EU-Marécages de Zangar, for assisting me since the earliest phases, thanks guys for everything you've done :)
  • Thanks to the wowace community, you've been very helpful and this addon would not be there without the technical answers you gave me (especially Xinhuan, author of BankItems)
  • Thanks to all the guys who are behind AtlasLoot, keeping the loot table up-to-date is a tremendous work, and the search functionality of Altoholic would not be what it is without your hard work.
  • Thanks to Ayindi (wowace) & sLiz3r (curse) for the German translation.
  • Thanks to NightOwl (wowace) for the zhTW translation.
  • Thanks to Wang (wowace) for the zhCN translation.
  • Thanks to Hellbot for the ruRU translation.
  • Thanks to Laumac for the frFR translation.
  • Thanks to IrregularByte for the esES translation.
  • Brykrys for the LinkWrangler support.

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of DeaTHCorEKiD DeaTHCorEKiD Dec 27, 2014 at 19:16 UTC - 0 likes

    oh Thaoky, i forgott: i'm working on actual Suggestions_xxXX.lua Files, are you interested? give me a mail address via pm, where i can send it to you...

  • Avatar of DeaTHCorEKiD DeaTHCorEKiD Dec 27, 2014 at 18:09 UTC - 0 likes

    Hi Thaoky,

    i have a question: the DataStore_Inventory checks the LipPeriodicTable for CurrencyItems, InstanceLoot and InstanceLootHeroic a what is with InstanceLootLFR ? is a part of LibPeriodicTable and the loot is different from InstanceLoot and InstanceLootHeroic. i have added InstanceLootLFR by me:

    local DataSources = { "InstanceLoot", "InstanceLootHeroic", "InstanceLootLFR", "CurrencyItems", }

    and i have the library InstanceLootLFR included into embeds.xml, is this right or not?

  • Avatar of Litvan Litvan Dec 04, 2014 at 19:35 UTC - 0 likes
    Date: 2014-12-04 20:28:51
    ID: 1
    Error occured in: Global
    Count: 1
    Message: ...lityNotifier\LibPetJournal-2.0\LibPetJournal-2.0.lua line 58:
       table index is nil
       ...lityNotifier\LibPetJournal-2.0\LibPetJournal-2.0.lua:58: in main chunk
    MAJOR = "LibPetJournal-2.0"
    MINOR = 21
    lib = <table> {
     UnregisterCallback = <function> defined @Interface\AddOns\DataStore\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:179
     callbacks = <table> {
     event_frame = <unnamed> {
     UnregisterAllCallbacks = <function> defined @Interface\AddOns\DataStore\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:200
     RegisterCallback = <function> defined @Interface\AddOns\DataStore\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:116
    oldminor = nil
    _G = <table> {
     ContainerFrame5Item7 = ContainerFrame5Item7 {
     MultiCastActionButton6Cooldown = MultiCastActionButton6Cooldown {
     MerchantItem9ItemButtonStock = MerchantItem9ItemButtonStock {
     GetTrainerServiceTypeFilter = <function> defined =[C]:-1
     UNIT_NAMES_COMBATLOG_TOOLTIP = "Color unit names."
     UNIT_NAMEPLATES_TYPE_TOOLTIP_3 = "This method avoids overlapping nameplates by spreading them out horizontally and vertically."
     SetTrainerServiceTypeFilter = <function> defined =[C]:-1
     SPELL_FAILED_CUSTOM_ERROR_71 = "This partygoer wants to dance with you."
     RecruitAFriendFrame = RecruitAFriendFrame {
     CompactUnitFrameProfilesGeneralOptionsFrameHealthTextDropdownButtonNormalTexture = CompactUnitFrameProfilesGeneralOptionsFrameHealthTextDropdownButtonNormalTexture {
     AltoholicAccountSharingOptionsIconNever = AltoholicAccountSharingOptionsIconNever {
     TutorialFrameLeft19 = TutorialFrameLeft19 {
     MultiCastActionButton2Cooldown = MultiCastActionButton2Cooldown {
     ERR_TRADE_EQUIPPED_BAG = "You can't trade equipped bags."
     PVP_RANK_6_1 = "Corporal"
     BOOKTYPE_PROFESSION = "professions"
     AudioOptionsVoicePanelOutputDeviceDropDownButtonHighlightTexture = AudioOptionsVoicePanelOutputDeviceDropDownButtonHighlightTexture {
     InterfaceOptionsDisplayPanelShowAggroPercentageText = InterfaceOptionsDisplayPanelShowAggroPercentageText {
     VideoOptionsFrameCategoryFrameButton17ToggleHighlightTexture = VideoOptionsFrameCategoryFrameButton17ToggleHighlightTexture {
     MerchantItem3AltCurrencyFrameItem1Text = MerchantItem3AltCurrencyFrameItem1Text {
     OPTION_TOOLTIP_ACTION_BUTTON_USE_KEY_DOWN = "Action button keybinds will respond on key down, rather than on key up."
     BINDING_NAME_NAMEPLATES = "Show Enemy Name Plates"
     INSTANCE_UNAVAILABLE_OTHER_TEMPORARILY_DISABLED = "%s cannot enter. This instance is temporarily disabled."
     IsReferAFriendLinked = <function> defined =[C]:-1
     MAIL_LETTER_TOOLTIP = "Click to make a permanent
    copy of this letter."
     AudioOptionsVoicePanelMicrophoneVolumeThumb = AudioOptionsVoicePanelMicrophoneVolumeThumb {
     ItemTextFrameInsetInsetTopRightCorner = ItemTextFrameInsetInsetTopRightCorner {
     MANA = "Mana"
     TutorialFrameRight19 = TutorialFrameRight19 {
     MoneyFrame_OnEvent = <function> defined @Interface\FrameXML\MoneyFrame.lua:225
     BN_UNABLE_TO_RESOLVE_NAME = "Unable to whisper '%s'. may be unavailable."
     CinematicFrameRaidBossEmoteFrame = CinematicFrameRaidBossEmoteFrame {
     InterfaceOptionsCombatTextPanelFCTDropDown_OnClick = <function> defined @Interface\FrameXML\InterfaceOptionsPanels.lua:1661
     CompactRaidFrameManagerDisplayFrameHiddenModeToggleTopRight = CompactRaidFrameManagerDisplayFrameHiddenModeToggleTopRight {
     LFGTeleport = <function> defined =[C]:-1
     GetMonitorAspectRatio = <function> defined =[C]:-1
     SLASH_LibQTip1 = "/qtip"
     ToggleEncounterJournal = <function> defined @Interface\FrameXML\UIParent.lua:704
     Graphics_QualityText = Graphics_QualityText {
     TalentMicroButtonAlertShadowTopLeft = TalentMicroButtonAlertShadowTopLeft {
     ROGUE_COMBAT_CORE_ABILITY_4 = "Keep applied to yourself when you have 5 combo points."
     JoinSkirmish = <function> defined =[C]:-1
     Advanced_GraphicsAPIDropDownButtonHighlightTexture = Advanced_GraphicsAPIDropDownButtonHighlightTexture {
     CompactUnitFrameProfilesSaveButton = CompactUnitFrameProfilesSaveButton {
     PaperDollFrame_SetReadiness = <function> defined @Interface\FrameXML\PaperDollFrame.lua:1360
    Last edited Dec 04, 2014 by Litvan
  • Avatar of LonghornsER LonghornsER Nov 09, 2014 at 11:41 UTC - 0 likes

    Dear authors,

    in the search and bag/bank tabs i missing the reagent bank , where also items are stacked

    also, after installing 6.0.001, i see an old version number in the about tab, so i cant check of i have the right version now

    Regards, Longhorns Earthen Ring

  • Avatar of Comicus Comicus Nov 04, 2014 at 13:13 UTC - 0 likes

    @papillionspirit: Go

    Did you miss Altoholic 6.0.001 .. ????

  • Avatar of papillionspirit papillionspirit Oct 29, 2014 at 18:53 UTC - 0 likes

    Hi there!

    Are you planning on updating or keeping this add on current for WoD? I've noticed that it hasn't been updated for a while and things weren't working properly so I uninstalled it for the time being. Anyone hear or know if this add on is gonna be updated soon? I have a lot of alts so Altaholic is a lifesaver for me and I totally miss it. Here's hoping :)

  • Avatar of Dahgoth Dahgoth Oct 24, 2014 at 12:07 UTC - 0 likes

    Hello, Thaoky & pompachomp!

    First of all, I want to thank you for the greatest addon!

    Could you please make a non-lib version & update dependencies? I'm using a lot of addons and don't want to load different versions of the same libs. I'm updating DataStore* files separate from main addon but there's some libs that I can't download through Curse Client.

    Thanks in advance!

    Last edited Oct 24, 2014 by Dahgoth
  • Avatar of Spennig Spennig Oct 17, 2014 at 18:41 UTC - 0 likes

    THANK YOU! This is working now, and I'm thrilled! The only thing I don't see is the character view doesn't show the Reagent Bank, though it shows items there in the tooltips.

  • Avatar of Casttiell Casttiell Oct 17, 2014 at 14:13 UTC - 0 likes

    @thomasd: Go

    Oh, yes... adding Reagent Bank is a must for this great tool. I would love to know LUA, so I could help with the implementation.

  • Avatar of Casttiell Casttiell Oct 17, 2014 at 14:10 UTC - 0 likes

    @tartarusspawn: Go

    Thanks a lot @tartarusspawn


Date created
Aug 20, 2008
Last update
Feb 25, 2015
Development stage
  • deDE
  • enUS
  • esES
  • esMX
  • frFR
  • itIT
  • koKR
  • ptBR
  • ruRU
  • zhCN
  • zhTW
All Rights Reserved
Curse link
Recent files