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!
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...
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.
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.
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.
Bagnon and Combuctor also use a datastore module, called BagnonForever. Armory has one as well.
I believe you can just link up a single Datastore module as needed. No need for a full Altoholic install.
The ability to have functionality like KTQ would be awesome - I've always liked your stuff Sparky - looking forward to seeing this!
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...
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.
Do you want bug reports at this stage Lilsparky?