(256 Kb)
Updated: 06-12-10 02:46 PM
Pictures
File Info
 Updated: 06-12-10 02:46 PM Created: 12-03-08 04:31 PM Downloads: 18,707 Favorites: 236 MD5:

# GatherSage2

Version: 2010-06-12
by: kellewic, smccandl

NOTE: I will not be supporting this addon after 6/13/2010. I am not playing WoW any more. If anyone wants to take over development, please let me know.

GatherSage2 is a re-write of the original GatherSage. Almost all of the original GatherSage functionality made its way into GatherSage2 and a lot more was added.

GatherSage2 shows what level is required to mine, pick, smelt, prospect, mill, or skin a resource (vein, deposit, ore, animal, plant, etc). The tooltip will show all skills for which the resource can be gathered or used up (i.e. an herb that can be both picked and milled).

It also shows you your current skill, how many skill ups you have gained since you logged in, and the difference between the skill you need to work with the resource and the skill you currently have.

It displays this information in the tooltip when you mouse over a resource in the world, minimap, inventory, auction house, mailbox, guild bank, and pretty much anywhere the item can be displayed. It will also show you if that resource has a chance of yielding special items (such as stone, gems, or other herbs).

A lot of testing has gone into making sure GatherSage2 does not interfere with other addons you may have loaded. Please report any problems found.

There is a readme.txt file that contains detailed information on GatherSage2

CHANGELOG

* (2010-06-12): No code changes. Added all Perl code-generation code to the package in case someone
needs to update the English locale or module Lua files.

* (2010-06-06): Fixed a bug where a creature has the same name as something else (i.e. Jade)
Also fixed a bug in the pattern matching of targets.

* (2010-06-04): Fixed bug with GameTooltip text going "wonky"... that's what happens when
you move stuff around :)

* (2010-05-30): Code cleanup and a few bug fixes.
Changed how the locale strings work.
Cleaned up the GUI options panel.
Removed FR locale since it hasn't been updated
Updated DE locale
Added skill strings to items when the skill is different per item

* (2010-04-26): Removed support for ItemLevel module. It doesn't look to be maintained and the game now
provides the item level in the tooltip.

Removed all functionality related to quests. I have never used it and no one has ever
asked about it. It was a PITA to keep maintaining. Items gathered for quests should
still be listed on the tooltip.

Updated all module's data with what seems the most recent skill levels.

Updated code to fix reported issues. I cannot replicate the issues now so hopefully
they are good to go.

* (2009-09-08): Removed most tabs from the GUI options and condensed them to the "General" tab.

When disabling the addon in the options, all modules will be disabled.

When enabling the addon in the options, only modules for which you have a skill in
will be re-enabled by default. Manually enabling additional modules still works after

When enabling parent modules (such as Mining), their child modules will also enable
(such as Smelting). If, for some reason, you don't want the child enabled, just uncheck it
after loading the parent. If for some reason you only want the child, uncheck both and re-check
the child.

Removed informational messages from displaying by default. This includes enable/disable
messages. They will appear if you set the log level to DEBUG.

Fixed an issue with deep copying game objects for no good reason. This resolved an issue
with the BasicChatMods addon and likely reduced memory footprint a tiny bit, which is

Fixed some creatures that used to be skinnable, but are no longer skinnable.

* (2009-09-04): Removed GUI configuration "Debugging" tab; placed all items under "General" tab.

Added options to only show tooltip information when a configured modifier key is used. All
modifier keys are supported (feature request).

* (2009-08-30): Updated herbalism, mining, and skinning locales and module files with new data from WoWHead.

Fixed an issue where adjusting the tooltip money frame was causing a lot of blank lines
to appear. In addition to removing the blank lines, the money frame and text was changed
to match the new in-game style.

Manually added in Titanium prospecting data.
Updated TOC for 3.2

* (2009-07-19): Changes made to Herbalism broke a few things so I had to fix them.
Minor code optimizations

* (2009-07-18): Re-organizing core code
Minor code optimizations

Fixed herbalism gathering from creatures skill levels. It seems these are the
same as skinning (based on level).

* (2009-07-11): Fixed issue with Fishing skill not being read correctly.

* (2009-06-23): Added fishing stub module for future development (was requested)

Removed data recording as the feature is fairly useless since GS2 keeps its own
database of information.

Removed locale files with no translations.

* (2009-04-18): Added debugging routines and associated GUI options. If the logging level is DEBUG or greater,
additional information will be shown in the default chat window.

There is a new dump state function that will dump all of GS2's internal state to the database. This
will allow people to PM the file to me for debugging purposes. Some people see 'tonumber' errors that
do not always show up. Hopefully this feature will help track down what is going on. This data is cleared

This version was not released.

* (2009-04-14): Fixed a bug related to numbers being compared with strings.
Fixed some other miscellaneous bugs that came up in daily use of the addon.
Added some more "unknown" items to be ignored in the locale/ignore.lua file (only available for enUS).
Bumped TOC interface number to 3.1.0

Fixed herbalism skill for Frozen Herb. It seems Wowhead has 3 entries for it and only
one of them is corect.

Updated herbalism, skinning, and mining locale and modules files from Wowhead.

Fixed Tiger Lily skill to 375 from 400 as per 3.1 patch notes.

* (2009-03-08): The "Auctioneer" bug had nothing to do with Auctioneer after further testing.
I think I finally have this fixed, although I still don't know the cause of it.

Added a logging library to aid in future debugging. Modified the Print()
method to be more friendly to the logging library.

Removed the DEBUG variable as it's not longer needed.

* (2009-03-07): Fixed a weird bug when Auctioneer was loaded. For some reason the right
FontStrings of the GameTooltip would shift left in some instances.

* (2009-01-31): Created a locale "ignore.lua" file that contains items that appear to be of
interest, but are not. This only affects the recording of unknown data.

Mining has its own locale file now that is automatically generated from

Fixed bug where known data was being recorded as unknown data.

This version was not released.

* (2009-01-28): Updated deDE locale files with name changes that Peter sent me via email. Thanks!

Herbalism has its own locale file now, others will follow this paradigm soon.
Added many more creatures and items that herbalists can gather from.

Updated skinning locale and module files - 8 new creatures, 1 new item

* (2009-01-19): Fixed the skinning locale and module data. Known NPCs should now show the correct
skinning information in the tooltip.

* (2009-01-08): Fixed a bug that caused Altoholic tooltip lines to flow off the tooltip.
Releasing this version.

* (2009-01-03): Removed all slash commands in favor of a GUI configuration screen, which
can be found in the game Interface screen.

Fixed herbalism skill levels to follow the +25, +50, +100 progression.

Added code to save items and units it does not recognize to the database. These
will need to be posted on the mod forum so they can be added to the static data
and be recognized.

Unknown items are saved in global.UNKNOWN_DATA.
Recorded items are saved in global.RECORDED_DATA.
The file these are saved to is WOW_DIR\WTF\Account\NAME\SavedVariables\GatherSage2.lua

Removed esES localization file as it was empty.

Separated out pieces of the locale files as they were getting really big

Changed the version number to be shorter since the mod hosting sites don't like
it to be really long and it kept getting truncated.

Added a "skill distance" in the tooltip, which is the difference
between your current level and the required level. The format is
(without the dashes):

Required (req. level) -------- curSkill (skillUps/distance)

Requires XXXXX (250) --------- 105 (+10/-145)

Filled in all known skinning targets and items. These files are automatically
generated from WoWHead so it's a bit easier to accomplish now.

Fixed a few small display bugs. Wrong colors, bad line wrapping, etc.

which pigments. This revealed a weakness in how data is
associated and a small display change was made. If a single item
(i.e. Alabaster Pigment) can be used to create more than one item
at differing skill levels, then for the main "Requires" line, the
skill level is not shown; instead "varies" is shown. In the "Chance of"
listing, the skill level will appear per item line in the right column
correctly color coded. A screenshot is provided as an example. So far,
Alabaster Pigment is the only item in the addon that follows this, but I
added the ability so any module can use it in case more are encountered as
I suspect they will be with jewelcrafting.

Inscription locale data added to the English locale. Other locales will need
someone to translate them.

Added more code comments in case anyone else feels like messing with it :)

* (2008-12-25): Added initial skinning information
Fixed a few bugs and potential problems

Added more items to the locale tables. Hopefully I didn't break
the German locale again.

If the threat meter is showing on the tooltip, it is adjusted
down the tooltip and it's little diamond texture is hidden (along
with all other textures since there is no easy way to differentiate
what texture belongs to which line).

Added support for more than a dozen other tooltip mods. GatherSage2
should co-exist with a good portion of the tootlip mods out there.

These changes also cover the 2008-12-25-2 release which was a minor bug
fix for skinning.

* (2008-12-05-4): Fix for German clients (I hope)

* (2008-12-05): Added prospecting information and a stub for jewelcrafting.

Re-wrote portions of code to get smelting and prospecting data
sets to play nice. Tooltips will now display both skills on
things such as "Copper Ore". If more than one skill has
"chance of" items, these will be tagged by skill. This is really
only relevant for Mining Jewelcrafters and other such combinations
that have two skills that use much of the same items.

German localizations added thanks to EnSabahNur

Added support for RatingBuster and ItemLevel as they modify the
tooltip in ways that interferes with GatherSage2 displaying all
pretty :)

Added colorization of all "chance of" items.

* (2008-12-03): Re-structured code a bit more.
This version is being tagged as Alpha since it does pretty much
what the original GatherSage did minus the "You can now pick..."
functionality.

* (2008-11-30): More code optimization and structuring.
This version was not released.

* (2008-11-27): Split code up to be more manageable (hopefully :))
Verified all data sets via wowhead, wowwiki, and thotbot.
Added "quest-awareness" for quest items that can be gathered.
This version was not released.

* (2008-11-08): Initial re-write of GatherSage.
This version was not released.
Optional Files (0)

Comment Options
 10-15-09, 10:17 AM Zephinos A Kobold Labourer Forum posts: 0 File comments: 17 Uploads: 0 Re: Re: Re: Re: hmm I get the same error everytime I mouse over an ore, herb, and etc. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Date: 2009-10-15 10:15:17 ID: 1 Error occured in: Global Count: 1 Message: ..\AddOns\GatherSage2\GS2_Tooltip.lua line 337: attempt to perform arithmetic on local 't' (a string value) Debug: [C]: ? GatherSage2\GS2_Tooltip.lua:337: Tooltip_AdjustMoneyFrame() GatherSage2\GS2_Main.lua:809: ProcessTooltip() GatherSage2\GS2_Main.lua:265: GatherSage2\GS2_Main.lua:251 [C]: Show() Bagnon_Tooltips\tooltips.lua:95: Bagnon_Tooltips\tooltips.lua:70 Bagnon_Tooltips\tooltips.lua:102: Bagnon_Tooltips\tooltips.lua:99 [C]: ? [C]: ? ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
09-14-09, 06:39 PM
kellewic
A Defias Bandit

Forum posts: 2
Re: Re: Re: hmm

 Originally posted by Balaczar It seems to happen to me all the time until I unload the addon.
Does it happen with just GatherSage2 loaded and no other addons (execpt maybe bug grabber to make it easier to get the error)? English client?

Maybe I'll go back through and put a bunch of debugging code in there and send you an updated private copy to run for me with debugging turned on to see what turns up; if you are game for it that is.

Thanks.
__________________
Kellewic - 80 Warlock - Ghostlands
Last edited by kellewic : 09-14-09 at 06:41 PM.

09-14-09, 03:45 PM
Balaczar
A Kobold Labourer

Forum posts: 1
Re: Re: hmm

 Originally posted by kellewic Yeah, that seems to happen randomly; no idea why. I have so many var = tonumber(x) or 0 calls in there, I have to just chalk it up to the game engine being a PITA. I have not seen one of those errors personally for quite some time so it is impossible for me to debug. Both variables on that line should be zero if for some reason they cannot be determined so I have no idea how one could be nil. I am assuming you are using the latest version as well. If you have the capability to debug it, I'd love to see the results. I have had no luck getting mine to give me those errors.
It seems to happen to me all the time until I unload the addon.

09-13-09, 07:21 PM
kellewic
A Defias Bandit

Forum posts: 2
Re: hmm

 Originally posted by Balaczar Message: Interface\AddOns\GatherSage2\GS2_Main.lua:586: attempt to perform arithmetic on a nil value Time: 09/13/09 14:25:16 Count: 27 Stack: [string "Interface\FrameXML\BasicControls.xml: (tail call): ? [C]: ? Interface\AddOns\GatherSage2\GS2_Main.lua:586: in function ProcessTooltip' Interface\AddOns\GatherSage2\GS2_Main.lua:265: in function
Yeah, that seems to happen randomly; no idea why. I have so many var = tonumber(x) or 0 calls in there, I have to just chalk it up to the game engine being a PITA. I have not seen one of those errors personally for quite some time so it is impossible for me to debug.

Both variables on that line should be zero if for some reason they cannot be determined so I have no idea how one could be nil. I am assuming you are using the latest version as well.

If you have the capability to debug it, I'd love to see the results. I have had no luck getting mine to give me those errors.
__________________
Kellewic - 80 Warlock - Ghostlands

 09-13-09, 12:27 PM Balaczar A Kobold Labourer Forum posts: 1 File comments: 5 Uploads: 0 hmm Message: Interface\AddOns\GatherSage2\GS2_Main.lua:586: attempt to perform arithmetic on a nil value Time: 09/13/09 14:25:16 Count: 27 Stack: [string "Interface\FrameXML\BasicControls.xml: (tail call): ? [C]: ? Interface\AddOns\GatherSage2\GS2_Main.lua:586: in function ProcessTooltip' Interface\AddOns\GatherSage2\GS2_Main.lua:265: in function (tail call): ? [C]: ? [C]: ? [C]: ? Interface\AddOns\TipTac\core.lua:823: in function Show' Interface\AddOns\QuestHelper\tooltip.lua:269: in function CreateTooltip' Interface\AddOns\QuestHelper\tooltip.lua:281: in function func' Interface\AddOns\QuestHelper\manager_event.lua:43: in function Interface\AddOns\QuestHelper\manager_event.lua:163: in function
 09-10-09, 06:40 PM kellewic A Defias Bandit   Forum posts: 2 File comments: 127 Uploads: 3 New version Just uploaded a new version to fix most issues that have been reported recently. This version also condensed most of the options to a single tab. __________________ Kellewic - 80 Warlock - Ghostlands
09-09-09, 09:54 PM
kellewic
A Defias Bandit

Forum posts: 2
Re: Non Skinnable

 Originally posted by ricks322 Just an update to critters I have found so far: Sheep Ram Skunk Infected Deer Prairie Dog P.S. Wow, quick work on the error with BCM, I wasn't sure which one was causing the error.
Cool, thanks. Added them to my exclusion list. Will probably do an update tomorrow.
__________________
Kellewic - 80 Warlock - Ghostlands

 09-08-09, 11:13 PM ricks322 A Chromatic Dragonspawn Forum posts: 154 File comments: 159 Uploads: 1 Non Skinnable Just an update to critters I have found so far: Sheep Ram Skunk Infected Deer Prairie Dog P.S. Wow, quick work on the error with BCM, I wasn't sure which one was causing the error. Last edited by ricks322 : 09-09-09 at 02:27 AM.
09-08-09, 03:44 PM
kellewic
A Defias Bandit

Forum posts: 2
Re: Re: Error

 Originally posted by kellewic Hmmm, odd; I will have to check it out. The only reason I can see that coming back as a string value is that some other mod messed with the money frame. I assume this only happens when you mouse over an item in your bag and not a creature or a resource node (i.e. copper vein). Also, does this happen all the time, or just seemingly random? Thanks.
I loaded up the mods in the error message, but cannot reproduce this error. It could be some other mod you have loaded causing it. Can you give me a list of addons you use? One of them might be modifying the MoneyFrame.

Bagnon
Auctioneer
TipTac
EQCompare

but they do not produce the error.

Thanks.
__________________
Kellewic - 80 Warlock - Ghostlands

09-08-09, 03:36 PM
kellewic
A Defias Bandit

Forum posts: 2
Re: Re: Conflict with BasicChatMods...

 Originally posted by kellewic OK, I will check it out... but I have to walk my 4 puppies first
OK, I found out the cause of the error with BasicChatMods and have fixed it in my local version. After some more testing I will upload a new version since I made other changes as well.

Basically what happened is my logging module does a deep copy of the Logger prototype and that included a reference to DEFAULT_CHAT_FRAME.

BasicChatMods hooks ChatFrame1:AddMessage() so when I copied it, I got the hooked function. This would be no problem except when you deep copy a table, you get a new reference (different memory location) and BasicChatMods was referencing the original hooked function by the original memory location so when it did:

Code:
hooks[frame](frame, text, ...)
It was getting:

Code:
nil(frame, text, ...)
since I was passing it a copied ChatFrame1 that it didn't know about.

My new version does not deep copy the chat frame, but instead adds a reference to _G.DEFAULT_CHAT_FRAME after it creates a new Logger object this way they all refer to the same memory.
__________________
Kellewic - 80 Warlock - Ghostlands

09-08-09, 11:27 AM
kellewic
A Defias Bandit

Forum posts: 2
Re: Conflict with BasicChatMods...

 Originally posted by ricks322 I just tried a new add-on called "BasicChatMode" and got a conflict with GatherSage2. Posted on his BugReport but also wanted to post here.
OK, I will check it out... but I have to walk my 4 puppies first
__________________
Kellewic - 80 Warlock - Ghostlands

09-08-09, 11:26 AM
kellewic
A Defias Bandit

Forum posts: 2
Re: Error

 Originally posted by Comicus When mousing over some items I keep getting an error: [2009/09/08 05:28:34-1986-x1]: GatherSage2-2009-09-04\GS2_Tooltip.lua:337: attempt to perform arithmetic on local 't' (a string value) GatherSage2-2009-09-04\GS2_Main.lua:807: in function ProcessTooltip' GatherSage2-2009-09-04\GS2_Main.lua:263: in function (tail call): ?:
Hmmm, odd; I will have to check it out. The only reason I can see that coming back as a string value is that some other mod messed with the money frame. I assume this only happens when you mouse over an item in your bag and not a creature or a resource node (i.e. copper vein).

Also, does this happen all the time, or just seemingly random?

Thanks.
__________________
Kellewic - 80 Warlock - Ghostlands

 09-08-09, 03:36 AM Comicus A Murloc Raider Forum posts: 6 File comments: 20 Uploads: 0 Error When mousing over some items I keep getting an error: [2009/09/08 05:28:34-1986-x1]: GatherSage2-2009-09-04\GS2_Tooltip.lua:337: attempt to perform arithmetic on local 't' (a string value) GatherSage2-2009-09-04\GS2_Main.lua:807: in function ProcessTooltip' GatherSage2-2009-09-04\GS2_Main.lua:263: in function (tail call): ?: : in function OnShow' EQCompare-2.0\EQCompare.lua:274: in function (tail call): ?: : ? TipTac-09.08.27\core.lua:823: in function : in function pcall' Stubby-130\Stubby.lua:341: in function (tail call): ?: Auc-Advanced-5.6.4424 (KangaII)\Libs\LibExtraTip\LibExtraTip.lua:109: in function h' ...: : ? : ? Auc-Advanced-5.6.4424 (KangaII)\Libs\LibExtraTip\LibExtraTip.lua:279: in function <...AddOns\Auc-Advanced\Libs\LibExtraTip\LibExtraTip.lua:273> : in function pcall' Stubby-130\Stubby.lua:341: in function (tail call): ?: : ? : in function SetBagItem' Interface\FrameXML\ContainerFrame.lua:743: in function `ContainerFrameItemButton_OnEnter': Bagnon-2.9.3\components\item.lua:215: in function will keep checking to make sure it is the same error I keep getting...

Category Jump: