Download
(2MB)
Download
Updated: 09-15-24 09:40 AM
Pictures
File Info
Compatibility:
The War Within (11.0.2)
Updated:09-15-24 09:40 AM
Created:unknown
Downloads:464,415
Favorites:2,102
MD5:
Categories:Bags, Bank, Inventory, Character Advancement, Mail, TradeSkill Mods
11.0.2

Altoholic  Popular! (More than 5000 hits)

Version: 11.0.004
by: Thaoky [More]

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

Altoholic is an Ace 3 add-on written for people who dedicate most of their time to leveling alts, and who want to have as much information as possible in one place.


IMPORTANT NOTE:

I am back in the game since 28/12/2020.

If you are upgrading from a version below 9.0.003, YOU MUST CLEAR YOUR SAVED VARIABLES !!

This means cleaning the following files in \WTF\Account\<your_account>\SavedVariables : Altoholic.lua & All DataStore*.lua



About the add-on:

The add-on has been in development since December 2007 and was officially released in late March 2008. It provides you information about your alts (bags, mails, AH, etc...) without having to reconnect them all the time.

Supporting development:

You might not know this, but add-ons do not write themselves.
If you want to help development, or simply show your appreciation, use one of the following ways:


About the author:

I was born in '76 (you do the math) and I work as a Project Manager + Software Architect + Full Stack Web Dev (yup, multiple hats) in a large multinational, so my coding time is limited, and Work > Gaming.

I live in Belgium, and obviously play on EU only.

Assistance will be provided on a best effort basis, but in any case always be polite and respectful when asking for help, I am neither a teenager, nor a punching ball. I am a cool guy with people who are cool with me. Respect that rule and we'll be fine.


Availability:

2020/12/28: I am back in the game.

Current Issues:

2020/12/28: Due to Teelo's actions, I have reverted his changes and resumed development based on my latest version of the code. Some of his new features are temporarily not available anymore, some are gone forever. The main Shadowlands features will be back though, just be patient.

Credits:
  • 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 all the people who have supported the add-on since 2008, and also all those of you who came on board later.
  • Thanks to all the guys who have helped with code/translations/bug tracking.. and well, project support in general, especially during my long absences. Such projects can be long and tedious, it is good to not feel alone

Join the #altoholic IRC channel on Freenode : irc://irc.freenode.net:6667/

IMPORTANT NOTE FOR 8.0 : As with every new expansion, many things have changed in the API, and it is REQUIRED to clear your Saved Variables for the addon.
This means cleaning the following files in \WTF\Account\<your_account>\SavedVariables : Altoholic.lua & All DataStore*.lua

There WILL be bugs if you use your old files without cleaning them first.
Some fixes to work around API changes are too time consuming, so cleaning is required. A meagre price to pay once per expansion.

How to support Altoholic's development :

- Use the donate button either on Curse or on WoW Interface
- Support me on Patreon : https://www.patreon.com/Thaoky , the page is still being setup, it might take a few days before it can be used, I still need a banner.
- Make a gift from my amazon's wish list : http://amzn.eu/7xWdnbZ

If you like the addon, consider supporting it, this has been the long term effort and commitment of a single person. #OneManArmy


11.0.004 (15/09/2024)

- DataStore_Stats : Fixed a lua error when doing a /reload or visiting the Great Vault (Thanks GovtGeek !).
- DataStore_Quests : Added generic GetQuestLink.
- Grids tab: Added a quest link tooltip when mousing over a quest name in the "Quests" category.
- Summary tab -> currencies : added support for the Undercoin currency.
- Fixed max level default option still at 70 instead of 80 (Thanks Evoelise !).


11.0.003 (25/08/2024)

- DataStore_Containers : Added proper support to delete a guild bank.
- DataStore_Containers : Fixed a lua error when changing the settings of an account bank tab.
- DataStore_Containers : Fixed an issue that deletes the content of the reagent bank at logon.
- DataStore_Inventory : Fixed average item level not being properly updated.
- DataStore_Currencies : Added TWW currencies.
- DataStore_Reputations : Added TWW factions.
- Options tab: Fixed the option to show/hide the warband bank item count not being properly restored to the UI.
- Guild tab: Fixed a lua error when deleting a guild bank.
- Fixed an occasional lua error when trying to link something with Shift-Click.
- A few other minor fixes.

11.0.002 (14/08/2024)

- Updated GetSpellInfo to use the new C_Spell API everywhere it was used (and that's a lot..).
- Updated GetItemSubClassInfo to use the new C_Item API everywhere it was used.
- Fixed a tooltip issue that prevented "Could be stored on" message to be displayed when mousing over reagents.
- Summary tab: updated the level filter to support levels up to 80.
- Trader's Tender is now recognized as an account-wide currency, and no additional data is listed in its currency tooltip.
- Added early support for TWW currencies.
- DataStore_Currencies : Transfer of currencies is now properly supported.
- DataStore_Containers : Added support for the warband bank.
- Added the warband bank item count in the tooltip.
- Options tab: Added an option to show/hide the warband bank item count.

Older patch notes : see changelog.txt
Archived Files (37)
File Name
Version
Size
Author
Date
11.0.002
2MB
Thaoky
08-14-24 03:28 AM
10.2.007
2MB
Thaoky
11-26-23 04:18 AM
10.2.006
2MB
Thaoky
11-20-23 04:49 AM
10.2.005
2MB
Thaoky
11-17-23 12:25 PM
10.2.004
2MB
Thaoky
11-14-23 12:22 PM
10.2.003
2MB
Thaoky
11-11-23 10:16 AM
10.2.002
2MB
Thaoky
11-08-23 02:41 PM
10.2.001
2MB
Thaoky
11-08-23 12:59 PM
10.1.004
2MB
Thaoky
05-12-23 11:47 AM
10.1.001
2MB
Thaoky
05-03-23 02:53 PM
10.0.011
2MB
Thaoky
02-23-23 01:00 PM
10.0.010
2MB
Thaoky
01-11-23 11:59 AM
10.0.009
2MB
Thaoky
12-11-22 01:44 PM
10.0.008
2MB
Thaoky
11-27-22 10:46 AM
10.0.007
2MB
Thaoky
11-20-22 12:17 PM
10.0.006
2MB
Thaoky
11-17-22 12:00 PM
10.0.005
2MB
Thaoky
11-16-22 02:45 PM
10.0.004
2MB
Thaoky
11-02-22 10:00 AM
10.0.003
2MB
Thaoky
11-01-22 08:49 AM
10.0.002
2MB
Thaoky
10-31-22 11:32 AM
10.0.001
2MB
Thaoky
10-30-22 09:24 AM
9.2.006
2MB
Thaoky
08-05-22 12:21 PM
9.2.004
2MB
Thaoky
06-05-22 06:14 AM
9.2.003b
2MB
Thaoky
04-27-22 10:33 AM
9.2.003
2MB
Thaoky
04-24-22 07:59 AM
9.2.002
2MB
Thaoky
03-28-22 10:32 AM
9.2.001b
2MB
Thaoky
03-16-22 11:33 AM
9.2.001
2MB
Thaoky
03-15-22 01:36 PM
9.1.008
2MB
Thaoky
11-09-21 12:08 PM
9.1.007
2MB
Thaoky
09-26-21 11:05 AM
9.1.006
2MB
Thaoky
09-19-21 09:08 AM
9.1.005
2MB
Thaoky
09-04-21 11:58 PM
9.1.004
2MB
Thaoky
08-29-21 02:44 AM
9.1.003
1MB
Thaoky
08-22-21 06:14 AM
9.1.002b
1MB
Thaoky
08-15-21 07:59 AM
9.1.002
1MB
Thaoky
08-15-21 01:49 AM
9.1.001
2MB
Thaoky
07-01-21 11:27 AM


Post A Reply Comment Options
Unread 06-09-09, 01:07 AM  
Thaoky
An Aku'mai Servant
AddOn Author - Click to view AddOns

Forum posts: 30
File comments: 19
Uploads: 1
There's an alpha of 3.1.003 on curse svn.

http://wow.curseforge.com/projects/altoholic/files/

It's stable, but only enUS and frFR are supported at this point, we're finalizing the localization to work with the CurseForge localization tool. No DB cleanup is required. Other languages should follow soon.
Report comment to moderator  
Reply With Quote
Unread 06-12-09, 07:32 AM  
AnrDaemon
A Chromatic Dragonspawn
AddOn Author - Click to view AddOns

Forum posts: 156
File comments: 2231
Uploads: 5
I'm start to get that mystical disappearance of content often, so... what to look at, i.e. which variables to inspect if I get it next time?
May be you can suggest a code to dump content of frame table in readable text?
Report comment to moderator  
Reply With Quote
Unread 06-12-09, 11:32 AM  
Thaoky
An Aku'mai Servant
AddOn Author - Click to view AddOns

Forum posts: 30
File comments: 19
Uploads: 1
There's been an important cleanup in the code between .002 and .003, with changes that should hopefully deal with that problem, let me know if it still happens with .003, and if so, I'll come up with a piece of code for that.
Report comment to moderator  
Reply With Quote
Unread 06-12-09, 12:26 PM  
tripler
A Kobold Labourer

Forum posts: 1
File comments: 0
Uploads: 0
Exclamation Bug

When selecting the option to add Altoholic to Fubar V3.6 I receive the following error:

Date: 2009-06-12 14:23:59
ID: 3
Error occured in: Global
Count: 1
Message: [string "AltoholicTabOptionsFrame1_ShowFubarText:OnClick"] line 3:
attempt to call method 'ShowFuBarText' (a nil value)
Debug:
[C]: ShowFuBarText()
[string "*:OnClick"]:3:
[string "*:OnClick"]:1
AddOns:
Swatter, v5.5.4293 (WombatII)
ACP, v3.1.0.17
AdvancedTradeSkillWindow, v
agExtras, vr705
agUnitFrames, vr705
Altoholic, v3.1.003
AutoProfit, v5.3
Babylonian, v5.1.DEV.130
Bagnon, v1.7.3
BagnonForever, v1.1.1
BankStack, vv13
Bartender4, v4.3.3
Carbonite, v3.13
CarboniteTransfer, v1.01
CharacterInfoStorage, v1.0.$Revision: 63452 $
Configator, v5.1.DEV.190
CurseProfiler, v
DebugLib, v5.1.DEV.130
FishingBuddy, v0.9.7f
FlightMap, v
FriendsWithBenefits, v3.0.9.3
FuBar, v
FuBarDurabilityFu, v2.11
FuBarExitFu, v1.1
FuBarExperienceFu, v1.1 $Revision: 65606 $
FuBarFactionsFu, v2.2.1-79
FuBarFishingFu, v0.1.0
FuBarFriendsFu, v2.4.3-102
FuBarGuildFu, v2.4.3-116
FuBarLocationFu, v3.0
FuBarMailFu, v2.0
FuBarMoneyFu, vv1.2.1
FuBarPortalFu, v1.12
FuBarProfessionsFu, v3.0.4
FuBarSkillsPlusFu, v3.1.0
FuBarTrainerFu, v0.2
FuBarVolumeFu, v2.0.$Revision: 55081 $
Informant, v5.5.4293 (WombatII)
ItemDataCache, v1.303
LibRock10, v
LightHeaded, v281
MobInfo3, v0.801
NoDuel, v2.2
Postal, v3.1.2
Prat30, v3.2
Prat30Libraries, v
RecipeBook, v
RecipeRadar, v1.31
Stubby, v5.5.4293 (WombatII)
(ck=49a)
Report comment to moderator  
Reply With Quote
Unread 06-12-09, 12:42 PM  
Thaoky
An Aku'mai Servant
AddOn Author - Click to view AddOns

Forum posts: 30
File comments: 19
Uploads: 1
I suggest going to LDB + Broker2Fubar, since Fubar will be removed in the near future.
I'll give a look at it tomorrow though.
Report comment to moderator  
Reply With Quote
Unread 06-12-09, 01:22 PM  
Tntdruid
Premium Member
 
Tntdruid's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 55
File comments: 138
Uploads: 3
getting

[2009/06/12 21:07:27-643-x2]: Altoholic-v3.1.003\Frames\Calendar.lua:359: bad argument #2 to 'format' (string expected, got nil)
Altoholic-v3.1.003\Frames\Calendar.lua:359: in function `OnEnter'
<string>:"*:OnEnter":1: in function <[string "*:OnEnter"]:1>

and

[2009/06/12 21:07:28-643-x2]: Altoholic-v3.1.003\Frames\Calendar.lua:487: attempt to index local 's' (a nil value)
Altoholic-v3.1.003\Frames\Calendar.lua:343: in function `OnClick'
<string>:"*:OnClick":1: in function <[string "*:OnClick"]:1>

when mouse over an event on the calendar
Report comment to moderator  
Reply With Quote
Unread 06-12-09, 09:52 PM  
AnrDaemon
A Chromatic Dragonspawn
AddOn Author - Click to view AddOns

Forum posts: 156
File comments: 2231
Uploads: 5
*sigh*
What
Code:
function Altoholic.Tooltip:Process(tooltip, name, link)
means? I mean, the colon... is it allowed there?
Report comment to moderator  
Reply With Quote
Unread 06-13-09, 12:25 AM  
AnrDaemon
A Chromatic Dragonspawn
AddOn Author - Click to view AddOns

Forum posts: 156
File comments: 2231
Uploads: 5
Well, nevermind.
Code:
-- Experiment begin here
local libTT = LibStub("LibExtraTip-1")

function Altoholic.Tooltip.LextGameTooltip(tooltip, item, quantity, ...)

	local self = Altoholic.Tooltip
	local name, link = ...
	if link then
		self:ProcessEx(tooltip, name, item, ...)
	end

end

function Altoholic.Tooltip:ProcessEx(tooltip, name, link, ...)
	--	*** Note about tooltips ***
	--	If an error occurs with a specific item, like a gathering node, make sure its item id is valid in core.lua
	--	28/12/2008: I fixed an issue with black lotus, which did not display its counters at all, this was due to an invalid item id

	local itemID = Altoholic:GetIDFromLink(link)

	-- if there's no cached item id OR if it's different from the previous one ..
	if (not self.CachedItemID) or
		(self.CachedItemID and (itemID ~= self.CachedItemID)) then

		self.RecipeCache = nil

		-- these are the cpu intensive parts of the update .. so do them only if necessary
		self.CachedSource = nil
		if Altoholic.Options:Get("TooltipSource") == 1 then
			local Instance, Boss = Altoholic.Loots:GetSource(itemID)

			self.CachedItemID = itemID			-- we have searched this ID ..

			if Instance then
				self.CachedSource = GOLD .. L["Source"]..  ": |cff00ff9a" .. Instance .. ", " .. Boss
			end
		end

		-- .. then check player bags to see how many times he owns this item, and where
		if Altoholic.Options:Get("TooltipCount") == 1 or Altoholic.Options:Get("TooltipTotal") == 1 then
			self.CachedCount = Altoholic:GetItemCount(itemID) -- if one of the 2 options is active, do the count
			if self.CachedCount > 0 then
				self.CachedTotal = GOLD .. L["Total owned"] .. ": |cff00ff9a" .. self.CachedCount
			else
				self.CachedTotal = nil
			end
		end
	end

	-- add item cooldown text
	local owner = tooltip:GetOwner()
	if owner and owner.startTime then
		libTT:AddLine(tooltip, format(ITEM_COOLDOWN_TIME,
				SecondsToTime(owner.duration - (GetTime() - owner.startTime))), nil, nil, nil, true);
	end

	if (Altoholic.Options:Get("TooltipCount") == 1) then			-- add count per character
		libTT:AddLine(tooltip, " ", nil, nil, nil, true);
		for CharacterName, c in pairs (V.ItemCount) do
			libTT:AddDoubleLine(tooltip, CharacterName,  TEAL .. c, nil, nil, nil, nil, nil, nil, true);
		end
	end

	if (Altoholic.Options:Get("TooltipTotal") == 1) and (self.CachedTotal) then		-- add total count
		libTT:AddLine(tooltip, self.CachedTotal, nil, nil, nil, true);
	end

	if self.CachedSource then		-- add item source
		libTT:AddLine(tooltip, " ", nil, nil, nil, true);
		libTT:AddLine(tooltip, self.CachedSource, nil, nil, nil, true);
	end

	-- Altoholic:CheckMaterialUtility(itemID)

	if Altoholic.Options:Get("TooltipItemID") == 1 then
		local iLevel = select(4, GetItemInfo(itemID))

		if iLevel then
			libTT:AddLine(tooltip, " ", nil, nil, nil, true);
			libTT:AddDoubleLine(tooltip, "Item ID: " .. GREEN .. itemID,  "iLvl: " .. GREEN .. iLevel, nil, nil, nil, nil, nil, nil, true);
--			tooltip:AddLine(TEAL .. select(10, GetItemInfo(itemID)));		-- texture path
		end
	end

	local companionID = Altoholic:GetCompanionSpellID(itemID)
	if companionID then
		libTT:AddLine(tooltip, "<pets-todo>", nil, nil, nil, true);
		-- self:WhoKnowsPet(companionID, "CRITTER", tooltip)
		return	-- it's certainly not a recipe if we passed here
	end

	local mountID = Altoholic:GetMountSpellID(itemID)
	if mountID then
		libTT:AddLine(tooltip, "<mounts-todo>", nil, nil, nil, true);
		-- self:WhoKnowsPet(mountID, "MOUNT", tooltip)
		return	-- it's certainly not a recipe if we passed here
	end


	if Altoholic.Options:Get("TooltipRecipeInfo") == 0 then return end -- exit if recipe information is not wanted

	local _, _, _, _, _, itemType, itemSubType = ... -- Reuse already called GetItemInfo(itemID)
	if itemType ~= BI["Recipe"] then return end		-- exit if not a recipe
	if itemSubType == BI["Book"] then return end		-- exit if it's a book

	if not self.RecipeCache then
		local tooltipName = tooltip:GetName()
		local reqLevel
		for i = 2, tooltip:NumLines() do			-- parse all tooltip lines, one by one
			local tooltipText = _G[tooltipName .. "TextLeft" .. i]:GetText()
			if tooltipText then
				if string.find(tooltipText, "%d+") then	-- try to find a numeric value ..
					reqLevel = tonumber(string.sub(tooltipText, string.find(tooltipText, "%d+")))
					break
				end
			end
		end
		self.RecipeCache = self:WhoKnowsRecipe(itemSubType, link, reqLevel)
	end

	if self.RecipeCache then
		libTT:AddLine(tooltip, " ", nil, nil, nil, true);
		libTT:AddLine(tooltip, self.RecipeCache, nil, nil, nil, true);
	end
end

if libTT then
  libTT:RegisterTooltip(GameTooltip)
  libTT:RegisterTooltip(ItemRefTooltip)
  libTT:AddCallback(Altoholic.Tooltip.LextGameTooltip, 350)
end

-- Experiment end here
That's all!
You can further simplify it's look by linking to nTipHelper instead of LibExtratip, but I think it's not worth the overhead.
Report comment to moderator  
Reply With Quote
Unread 06-13-09, 05:54 AM  
Thaoky
An Aku'mai Servant
AddOn Author - Click to view AddOns

Forum posts: 30
File comments: 19
Uploads: 1
Originally posted by Wall
getting

[2009/06/12 21:07:27-643-x2]: Altoholic-v3.1.003\Frames\Calendar.lua:359: bad argument #2 to 'format' (string expected, got nil)
Altoholic-v3.1.003\Frames\Calendar.lua:359: in function `OnEnter'
<string>:"*:OnEnter":1: in function <[string "*:OnEnter"]:1>

and

[2009/06/12 21:07:28-643-x2]: Altoholic-v3.1.003\Frames\Calendar.lua:487: attempt to index local 's' (a nil value)
Altoholic-v3.1.003\Frames\Calendar.lua:343: in function `OnClick'
<string>:"*:OnClick":1: in function <[string "*:OnClick"]:1>

when mouse over an event on the calendar
I'd need to know in which language you're playing and get a screenshot of the calendar pane + error message if possible, it would greatly help

Thanks in advance.
Report comment to moderator  
Reply With Quote
Unread 06-13-09, 05:55 AM  
Thaoky
An Aku'mai Servant
AddOn Author - Click to view AddOns

Forum posts: 30
File comments: 19
Uploads: 1
Re: Bug

Originally posted by tripler
When selecting the option to add Altoholic to Fubar V3.6 I receive the following error:
I just fixed these issues too btw.
Report comment to moderator  
Reply With Quote
Unread 06-13-09, 05:57 AM  
Thaoky
An Aku'mai Servant
AddOn Author - Click to view AddOns

Forum posts: 30
File comments: 19
Uploads: 1
Originally posted by AnrDaemon
Well, nevermind.

That's all!
You can further simplify it's look by linking to nTipHelper instead of LibExtratip, but I think it's not worth the overhead.
Nice !

I'd assume that gets rid of the double display of data when informant is present, I'll get this into the addon soon.

edit: made a few tests, it's partially convincing so far, my problem lies with the hook on GameTooltip:Show which I used to display information on gathering nodes. I need more time to dig this issue, but if I can't it would be a dealbreaker at this point.

In addition to this, lines like
Code:
tooltip:AddLine(self.RecipeCache, 1, 1, 1, 1, 1);
Must stay as they are, because the last parameter is used to wrap the line when its too long, and this is not supported by LibExtraTip.
Last edited by Thaoky : 06-13-09 at 09:37 AM.
Report comment to moderator  
Reply With Quote
Unread 06-13-09, 01:57 PM  
AnrDaemon
A Chromatic Dragonspawn
AddOn Author - Click to view AddOns

Forum posts: 156
File comments: 2231
Uploads: 5
Originally posted by Thaoky
Nice !

I'd assume that gets rid of the double display of data when informant is present, I'll get this into the addon soon.
That was original intention, barring the temptation of having some finer control over info placement and such.
But the coding transparency is a nice addition, too.

Originally posted by Thaoky
edit: made a few tests, it's partially convincing so far, my problem lies with the hook on GameTooltip:Show which I used to display information on gathering nodes. I need more time to dig this issue, but if I can't it would be a dealbreaker at this point.
I think it could be resolved. Library intended to be able to hook to any tooltip in game. Including custom tooltips.
Didn't digged deeper into the issue.

Originally posted by Thaoky
In addition to this, lines like
Code:
tooltip:AddLine(self.RecipeCache, 1, 1, 1, 1, 1);
Must stay as they are, because the last parameter is used to wrap the line when its too long, and this is not supported by LibExtraTip.
That's strange news, it is really that bad?
I didn't got time to come to the longer lines which would be need to be wrapped (mounts/pets list f.e.), gonna see how it works, now.
And try to get in touch with library author(s).
Hacking this ability into library shouldn't be hard, but this is something that should be there as library API function.

Mmm... and i just came across the proposal to alter API in a usual way...
/me going to write some lines of code
Report comment to moderator  
Reply With Quote
Unread 06-13-09, 05:26 PM  
cypsyan
A Kobold Labourer

Forum posts: 0
File comments: 36
Uploads: 0
hi thaoky, im getting this error with calendar as well on clicking or simply by passing the cursor over some event, and im playing US version
Report comment to moderator  
Reply With Quote
Unread 06-13-09, 05:31 PM  
AnrDaemon
A Chromatic Dragonspawn
AddOn Author - Click to view AddOns

Forum posts: 156
File comments: 2231
Uploads: 5
Well, the AddLine API reference on wowprogramming is (was) wrong.
It has only five parameters - GameTooltip:AddLine(text, r, g, b, wrap)
That's why my initial editings didn't worked >.>
Report comment to moderator  
Reply With Quote
Unread 06-13-09, 05:32 PM  
AnrDaemon
A Chromatic Dragonspawn
AddOn Author - Click to view AddOns

Forum posts: 156
File comments: 2231
Uploads: 5
Originally posted by cypsyan
hi thaoky, im getting this error with calendar as well on clicking or simply by passing the cursor over some event, and im playing US version
Over which events? Screenshot please.
And copy of error dump.
Last edited by AnrDaemon : 06-13-09 at 05:32 PM.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump:

Support AddOn Development!

You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.