GnomeWorks TradeSkill Frame

This project is abandoned.

Whether this project is out of date or its author marked it as abandoned, this project is no longer maintained.

If you wish to take this project over, please report it and state your intentions.

GnomeWorks (r27)

GnomeWorks TradeSkill Frame -

a complete replacement for the blizzard trade skill frame.

early alpha just to test some things out.

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

  • Avatar of lilsparky lilsparky Apr 26, 2010 at 05:12 UTC - 0 likes

    dungrath, i agree completely that some kind of library would be great. the problem is that libraries can't store saved vars (well, they can but it's not efficient). this is why thaoky made datastore a series of mods instead of a lib.

    my proposal would be to simply create a very, very simple api that each bag mod author would implement to handle the very basics of inventory queries. something akin to the old GetSellValue() cooperative api system, only for item counts instead of vendor prices.

    GnomeWorks could call "GetInventoryItemCounts(itemID, "guild bank", "hogans heroes")" (if that's what the api ends up being called) and it would bounce thru the various implementors of that method to see if any have data on the "guild bank" data stream of the guild "hogans heroes".

    each bag mod would hook that global api and intercept any call where they have data for the tags...

  • Avatar of Dungrath Dungrath Apr 25, 2010 at 06:59 UTC - 0 likes

    lilsparky, you've highlighted exactly why there is a need for a common inventory storage library. I believe that's why Thaoky broke DataStore out of Altoholic, in hopes of getting other people to make use of it instead of rolling their own. It's better to have a single, mature project than a dozen buggy, incomplete ones. However, I don't know how good DataStore is, in terms of performance or API. It is broken down into a lot of little pieces though, so you can only use the ones you need.

    And I imagine you know all this already, because you've been involved in some discussion about it. I'd just like to add my support in general for creating and using common libraries, to reduce addon conflicts and resource consumption. It is true that it's nice to have the basic functionality built in, but for those additional item tracking issues that you've listed, (guild banks, auction house, mailbox), they seem big enough to merit being handled separately.

    On a semi-related note, I wish there was a common project for handling tooltips efficiently, given that Blizzard's tooltip API is a bit unpleasant, and multiple addons modifying or creating tooltips simultaneously can cause terrible performance hits.

    Last edited Apr 25, 2010 by Dungrath: Common libraries and tooltips
  • Avatar of lilsparky lilsparky Apr 24, 2010 at 01:50 UTC - 0 likes

    yeah, i could use datastore but again since datastore isn't necessarily a standard lib people use, it would only benefit users of altoholic. people running other bag mods would still end up with two mods recording their inventory. i may as well just record it myself ... at least, the basic info that is easily available via the blizzard api. because i'm also only interested in reagents and crafted items, the recorded set of data is only a subset of a player's inventory.

    bagnon_forever uses its own data recording method. as does bankitems and pretty much every other inventory mod. rather than trying to chase down all these different bag mods to support them (as skillet had done originally) i switched over to recording on my own. but that was before guild banks, which complicates things. and really, there are other "bags" that would be nice to track as well: the auction house, incoming mail, etc.

    this still needs some thought...

    as for seeing everything across all characters, as you scan tradeskills, the mod will learn how to craft different reagents. the queue system right now is designed around the idea of a dynamic construction list based on a manually entered queue ... like you queue up item X and it determines it needs to craft A, B and C based on your inventory. if you inventory changes, it might decide A, B or C don't need crafting anymore. i think it would be possible to add an option to look at everybody's queue to create the construction queue. however, this gets into some potentially obnoxious recursion... i'll think about how that might work.

    what i'd like to do with the queue is have it identify items you're missing and where you might get them, including alts or bank or vendor or where-ever. so when you visit the right place, it would alert you to retrieve/buy the item or even mail it to somebody who needs it.

    one other feature, while on the topic, is that i want to have it auto-trade mats when you enter trade with somebody whom you've queue'd an item for. so somebody links their tradeskill, you browse it then queue up an item, then collect your mats. when you find them and open trade, it'll push over the mats they need for the queue'd recipe. similarly, if somebody trades you mats, i'd like to have the system recognize it and identify all the recipes creatable using that set of mats...

    the construction queue will end up being pretty powerful i think.

    Last edited Apr 24, 2010 by lilsparky
  • Avatar of Antivyris Antivyris Apr 23, 2010 at 22:27 UTC - 0 likes

    One possibility that would be good, though I've no idea how possible it is.

    Is there an ability to see everything that you can craft across all characters? So, say, you can queue something from tailoring, blacksmithing, and engineering on one screen, pop a button, and it transfers that to the applicable characters.

    Regardless, I'm liking the look of the addon so far.

  • Avatar of Dashsmash Dashsmash Apr 23, 2010 at 14:14 UTC - 0 likes

    Bagnon and Combuctor also use a datastore module, called BagnonForever. Armory has one as well.

  • Avatar of kanntara kanntara Apr 23, 2010 at 13:30 UTC - 0 likes

    I believe you can just link up a single Datastore module as needed. No need for a full Altoholic install.

  • Avatar of Marthisdil Marthisdil Apr 22, 2010 at 18:11 UTC - 0 likes

    The ability to have functionality like KTQ would be awesome - I've always liked your stuff Sparky - looking forward to seeing this!

  • Avatar of lilsparky lilsparky Apr 22, 2010 at 08:40 UTC - 0 likes

    so i've done a first pass of the queue support.

    keep in mind, that true functionality isn't being developed yet ... this is really more about how to present the data. for example, you can clear the queue, but you can't process it yet.

    i'm still working out the color coding scheme. i think it'll be something like this:

    vendor item = green crafted item = cyan uncraftable and non-vendor item = grey

    root-level item = white (these are the ones you queue'd up manually, the rest are all auto-queued)

    i think i might limit the coloration stuff to the item counts and then let the recipes be colored by their difficulty coloration. not sure how purchased items would fit into this scheme. not even sure i like showing the purchased items in the queue list, but it seemed to make sense...

    perhaps i should add a # craftable with current inventories to the queue frame, just to make things more clear...

    Last edited Apr 22, 2010 by lilsparky
  • Avatar of lilsparky lilsparky Apr 21, 2010 at 19:41 UTC - 0 likes

    no, don't bother with bug reports yet. i had just started the project to help me sort out the packaging stuff and to give a preview for people who are interested.

    i've got plenty of work yet to do.

  • Avatar of Jiminimonka Jiminimonka Apr 21, 2010 at 09:09 UTC - 0 likes

    Do you want bug reports at this stage Lilsparky?


Date created
Apr 15, 2010
Last update
Nov 03, 2014
Development stage
  • enUS
GNU General Public License version 3 (GPLv3)
Reverse relationships
Recent files
  • A: r233 for 5.4.8 Nov 03, 2014
  • A: r232 for 5.4.0 Oct 01, 2013
  • A: r231 for 5.4.0 Sep 30, 2013
  • A: r229 for 5.3.0 Jun 01, 2013
  • A: r228 for 5.3.0 May 30, 2013



Embedded library