LilSparky's Workshop
LilSparky's Workshop adds auction-derived pricing information for trade skills right into the trade skill recipe frame. Each skill is evaluated for material costs and potential value of the item created. These two numbers are listed next to each skill in an easy-to-read format.
Supported Auction Scanners:
- Auctioneer
- AuctionLite
- AuctionMaster
- Auctionator
Optionally Requires:
- Informant (for vendor availability)
LibPeriodicTable (for vendor availability)
Trade Skill Interfaces Supported:
- GnomeWorks
- AdvancedTradeSkillWindow
- Skillet
- Blizzard's Standard UI
- Doublewide Tradeskills
- Tradeskill HD
Auction pricing models can be selected by right-clicking either the value column or the cost column (each can have a different pricing method attached).
The Value column can be left clicked to cycle through the different valuation methods for the resultant item: Auction Value (a), Vendor Value (v), Disenchant Value (d) or the greatest of the three different values (the default). Any instance of an item Value being greater than the Cost to create it will have a highlighted Value entry. Optionally, the Value column can be displayed as a percentage of the Cost column.
The Cost column simply sums up the costs for each reagent and reports the total.
Both columns can be combined into a single "Profit" column which simply reflects the Value minus the Cost.
Tooltips for each column give more details about the price breakdowns LSW is considering.
A note regarding vendor availability:
LSW utilizes supplied item databases to determine when an item is readily available from a vendor. Occasionally this may not be accurate, usually because the item is a trade in for another item and not buyable with gold. I have provided a simple way to over-ride the vendor database:
/script LSWConfig.vendorOverride[item#] = (true/false/nil)
The item# is the item ID for the specific item. It is a single number. For example, 2589 is Linen Cloth.
Setting the value to "true" means the item is available at the vendor.
Setting the value to "false" means the item is not available at the vendor.
Setting the value to "nil" means to use the provided databse.
There is now also a right-click option to override the vendor availability and also to hand enter specific prices for items.
A note about frame/auction support:
LSW utilizes a plug in scheme to handle support to handle pricing and frame support. I am unlikely to add additional plugins directly into LSW. The goal of the plugin system is to provide basic templates that other addon authors could employ to provide LSW support on their end while at the same time providing functionality for a base set of common mods. Addon authors are free to contact me regarding the plugin system if issues arise or the system doens't make sense.
Is there any way I can use LSW / skillet with the up to date scan from the horde ah whilst on my Ally crafters?
the more modules loaded, the more options you have for pricing. i'm honestly not entirely sure which modules are the bare minimum.
i've decided, however, to save price data into lsw's saved vars file. this means that the most recent prices that you used will be retained when you run without any ah modules. of course, you'll need to run lsw to cache those prices at some point to collect the data.
not sure when this feature will go live, but i don't think it'll take too long to code up.
Rather than load all of auctioneers modules for all my toons, is there specific modules that must be enabled for this to have access to the auctioneer database?
hmm... i just had a brainstorm. i could probably save prices session to session so that if you don't have any other price source, lsw could just use the data from whenever you last used it.
also, if you use skillet, you can have your ah toon manage the other toon's build queues and then log in with them to actually do the crafting.
i think the pigments work like enchanting mats. you get a % chance for the item and a simple linear randomization of the item count. wowhead's data could certainly be better tho. i'd rather see the drop rate be based on pure item counts and not some kind of "chance to show up" thing.
prospecting might be different, tho. when you prospect the loot window doesn't show stacks, it shows individual items (even if they could stack) which implies a series of individual "rolls" for potential item...
This addon has never worked properly
i think i may go ahead and add a vendor scanner so that lsw won't rely on an external database.
i would embed libpt, but informant provides the same data so i didn't want to force people to use it.
You are right that the market value is rather arbitrary, but it was the easiest way I could come up with to calculate the effective value of the uncommon pigments. The only other method that comes to mine is 10:1 (the ink trader ratio), but that seems too high.
As for WowHead vs Enchantrix, I think the problem is that WH's data is something like the following:
Icethorn:
100% of the time it drops either 2, 3, or 4 pieces of Azure Pigment
50% of the time it drops 1, 2, or 3 pieces of Icy Pigment
The problem is we don't know the weightings of the output probabilities. When it drops Icy pigment, does it drop 1 piece 50% of the time, 2 pieces 40% of the time, and 3 pieces 10% of the time? Or are they equally likely?
okay, i see. you're prorating the residual value based on the purchase cost "share" of each item. that seems kind of arbitrary, but i suppose no more than any other system. it kind of assumes the artificial markup is the same rate for each pigment.
at one point i had decided to calculate the value of the residuals based on the material cost it would take to generate them. of course after a bit of coding it turned out that everything with residual materials was free because the resulting "value" was equal to the cost since each side of the equation required the same materials. duh.
the root of the problem, tho, is that pigments are not properly priced at the ah. i'm not sure your pro-rated system would work with enchanting materials, for example, because the enchanting material market is generally pretty vibrant since everybody buys mats for their enchants. gems to a large degree are also probably more accurately priced since providing a jc a gem to cut is not unheard of.
i've never heard of a scribe advertising on trade chat asking you to provide pigments for inscriptions, so basically the only people buying pigments are scribes (who can mill their own). this has me thinking that maybe i should have a pigment price over-ride of some kind. perhaps using your idea and maybe taking it a bit further and extending it to all sources of the same pigments.
so take 5 of each herb that generates pigment X and pigment Y, then figure out how many each of pigment X and pigment Y you get, calculate what they cost, then normalize back to the value of the entire set of herbs... that would only be used for the "value" component and not the "cost" component.
seems doable as an optional technique...
my prospecting and milling numbers come directly from wowhead's stats. i've discussed this with the auctioneer guys (or one of them anyway) and i wasn't exactly sure why their numbers are so different. the wowhead milling numbers are very, very clean and consistent across all herbs. you get generally get 2.5 or 3 of the common pigments and .5 or 1 of the uncommon ones. this makes me think the values are probably pretty solid.
Yes, you must know the market price for both the item and the disenchanting/prospecting/milling results. You then figure out the discount you get by using the tradeskill. This is the same basic system used by the auctioneer searchers for disenchanting, prospecting, and milling**.
If I ask the auctioneer appraiser, I get the following market values (each for a single item)
Icethorn: 0.8675 (A)
Icy pigment: 14.0861 (B)
Azure Pigment: 1.9174 (C)
5 icethorn is 5 * .8675 (A) = 4.3375 (D)
when milled, I expect: 1 icy + 3 azure or 1 * 14.0861 (B) + 3* 1.9174 (C) = 19.8383 (E)
We want to know the discounted cost per pigment. First we calculate the discount rate for doing the milling ourselves vs. buying the pigments off the market: 4.3375/19.8383 (D/E), which works out to 21.864% (F). So the effective cost of an icy pigment, if we mill it from icethorn, is 21.864% (F) * 14.0861 (B) or 3.0798 gold. For Azure, it is 21.864% (F) * 1.9174 (C) or 0.4192 gold.
** Note that LSW and Enchantrix disagree on the drop rate for pigments from various herbs. I do not have enough data to determine which looks more accurate. For this example, I'm using the data from LSW.
can you walk me thru your math in a little more detail. this is something i've tried to work out a few times, but i keep running into self-references where trying to find a good price for item A requires that i know a good price for item B which requires that i know a good price for item A...
i've thought about just adding a straight percent markdown on residual reagents .. like maybe they're worth only 2/3 of their auction price or something.
I'm having trouble getting pricing right for inscription. The issue is that it keeps using milling (good) but then thinks the excess reagents are worth the purchase cost of the herbs. Obviously this results in incorrect data when considered in the context of making dozens of items.
Is there a way to assign a more realistic value to the pigements? Maybe multiply the percent each pigment contributes to the total value of the expected milling results by the market price for the herb?
For example, Icethorn is going for .8675 gold each. 5 of them will mill into 1 Icy Pigment and 3 Azure Pigments (according to LSW's built in data). Icy has a market price of 14.0861 and Azure has a market price of 1.9174. So total expected value is 19.8383 for a stack of 5 bought for 4.3375. This suggests that Icy should have a cost of 3.0798 and Azure should be .4192.
Does this make sense?
/script table.wipe(SkilletDBPC)
/reload
has made it appear again :))
Oh Thank You so much!! No way we can be without your mods :)
Thank You kindly!
1. libPeriodicTable is not embedded! Many addons only partially embed it, and don't include TradeskillLevels.
2. Current skill level isn't set. I hacked it by adding _, currentSkillLevel = GetTradeSkillLine() to UpdateData, but you occasionally get nil from this method, causing an error.
i'll look at your number 2 point. not sure i totally follow what you're saying.
i did what you said, 3 times,
/script SkilletDBPC.global.x = 0
/script SkilletDBPC.global.y = 0
then reload the ui
it is not visible :(
Is on other toons on same account just not my main 1 that uses this so badly :(
in chat window I see, it is activating or something, LilSparky's Workshop r90
But nothing on my screen, only thing i can do is disable "Skillet' and use that but then I need to mouse over every glyph and I miss your mod so much, what to do /
I have uninstalled re-installed etc
and once I typed the 2 lines you mentioned I then typed /reloadui and no joy, relogged, logged off completely etc argggg