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!
yeah, i'm considering ways to have the queue window attached. the thing is, it might also serve as the shopping list window depending on how i work things so being able to detach it could be useful...
do you really think it would be useful to show the tradeskills you don't have as buttons you can't click? there are like 10 or 11 tradeskills, so is it worth showing the 6 or 7 you can't use? the space is reserved anyway for the "all recipes" layout (well, mostly ... "all recipes" doesn't include runecrafting nor smelting so a person dk miner would actually need more room).
i want to integrate lsw into the mix soon. in fact, i'm working with the idea of having an api designed to allow mods to create their own columns. but that's down the road a bit.
the resize/move thing can be annoying at times. i'd like to actually do a custom cursor technique like standard windowing systems.
i could put the title inside the frame, but in reality that simply means making the title bar span the whole width of the frame. i opted for this simply to help break up the shape of the window. the title bar also allows some (simple) window management. you can drag the title bar to move the window, double click to stow/unstow, right click to push or pop.
the +/- for the expand/collapse is kind of a place holder. i'd like to use the same texture from skillet (triangle pointing right for close, pointing down for open) but you can't use custom textures in fontstrings apparently. it means i need to add an actual additional button which i haven't gotten to yet. the nice thing, tho, is that having an extra button means you can click the expand/collapse button for one function and the actual group name for another (this is more an issue in the queue list where headers are also recipes themselves).
thanks for the input.
I think the Queue window should be attached to the main window, the resizing is nice.
The buttons of trade skills at top right should have the skills the toon does not have grayed out.
Could add the columns from LSW to the main window, prob between item name and Craftable.
Need a bit more obvious indicator as to what you need to click and drag to re-size Vs move the frame.
GnomeWorks the title could be in the frame proper instead of hanging outside.
Oh the expand/collapse category indicator "+" could be like the one in the Blizz Trade Skill frame it would be more clear that you can expand/collapse a area.
I really like what you've done with the queue! I particularly like the recursion for each item in the queue. I didn't get much chance to test things out, but it definitely makes some of my decisions a little easier about what I need to create and what alt I need to jump on to get the items!
I agree that the coloring can be a little odd at times, but that may be something that I get used to as time goes by.
i've been working on the queue display. interested in feedback.
the basic premise is to have your manually queued skills at the root level. for each missing reagent, a child entry is added.
if the reagent is craftable, then you get an additional subgrouping that shows the different ways you can acquire the reagent you need (usually it's purchase or process a single recipe, but there are some cases where multiple recipes create the same result ... particularly in enchanting).
if the reagent isn't craftable, then a simple "purchase xxxx" is listed.
reagent requirements are compared against your inventory (or the inventory of the player whose trade you are viewing) so that only missing reagents are flagged as needed.
this technique is then propagated down the hierarchy of sub-reagents, etc.
i'm trying to color-code things to be quick reads, but the nature of the system ends up making stripes which hurts legibility. color selection might not be quite right, either.
this is very early still, so major functionality doesn't exist... just want to get feedback on the basic layout and premise before i add re-ordering and such.
Just wanted to add my two cents. I have been using Skillet for as long as I can remember. Seeing that you've taken what you've learned there and started something new that is looking very promising so far just made me smile
It' s not replacing the blizzard UI. I just wanted to check it out. I look forward to the release version of this mod. :D
LOVE the layout of gnomeworks.
always been a fan of lsw, and i can tell already im goin to be a hugeeee fan of gw(correct abbrev?)
keep up the great work and lookin forward to a beta release
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.