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.
r105 is reporting itself as r104.
1x LilSparkysWorkshop-r99release\lilsparkysworkshop.lua:1182: attempt to perform arithmetic on field 'bestCost' (a table value)
LilSparkysWorkshop-r99release\lilsparkysworkshop.lua:1207: in function `triggerFunction'
LilSparkysWorkshop-r99release\lilsparkysworkshop.lua:2183: in function <...ace\AddOns\LilSparkysWorkshop\lilsparkysworkshop.lua:2175>
Locals:
timer =
repeatTime = 0.25
triggerFunction = <function> @ LilSparkysWorkshop\lilsparkysworkshop.lua:1196:
name = "updateIterator"
countDown = -0.022000279277563
}
count = 4
name = "Figurine - Empyrean Tortoise"
skillType = "trivial"
recipeLink = "[Jewelcrafting: Figurine - Empyrean Tortoise]"
recipeID = 46775
updateIterateSkill = 326
recipeCache =
sync =
enchants =
cost =
canCraft =
reagents =
results =
names =
}
priceDataSync = 1
UpdateSingleRecipePrice = <function> @ LilSparkysWorkshop\lilsparkysworkshop.lua:1158:
updateIterateSkillMax = 424
progressBar =
Show = <function> @ LilSparkysWorkshop\lilsparkysworkshop.lua:286:
textLeft = <unnamed> {}
fg = <unnamed> {}
Init = <function> @ LilSparkysWorkshop\lilsparkysworkshop.lua:250:
frame = <unnamed> {}
textRight = <unnamed> {}
Hide = <function> @ LilSparkysWorkshop\lilsparkysworkshop.lua:302:
}
updateIterateRefreshCount = 5
---
I would like to see a feature added to the Workshop, if possible.
One of the toughest parts of playing the AH is that I list multiple items... literally hundreds. I have to check and see, for each item, how many of them are still left on the AH. I might have sold none of item A, but all of item B.
I simply have no easy way to tell which items need to be replenished. So, my thought is, when you cache the data from the auction tool, is it possible to also bring in the QUANTITY of items, as well as the price. The quantity of my items would be the most useful, of course, but even the total number of each item would be useful.
Thank you!
the sample size depends on the auction module you have installed and not all auction mods provide a sample size. for most modules, the # is the "number seen" value. for the "min buyout" module, the value is the current stock at the auction house.
Some questions/suggestions:
Can you make it to work with enchanting too? (show how many enchanted scrolls i have in inventory)
"(bag and bank only)" Can you add the number os itens posted in AH too?
Btw, thanks for this great addon.
do you get any tooltips when you mouse over the 0? and 0?
is this only a problem with enchanting?
pure enchants only have values if you have told lsw to price them as scrolls, but they should all have costs.
what version of lsw?
Happy to report that all is working well! I overrode the "vendor" price for all of the Frozen Orb and Justice Point "vendor" items. Workshop is now correctly calculating anticipated crafting profits using auction prices for these items in all of my professions.
Thanks again!
Iverie
Got it! "/script LSWConfig.vendorOverride[49908] = false" worked.
Thanks again.
Thanks for adding the override function to force use of auction prices for selected items. Unfortunately, I have not yet been able to get it to work. It's probably a syntax error. I've used the following alternatives for Primordial Saronite with no success:
/script LSWConfig.vendorOverride[item:49908:0:0:0:0:0:0:0:0] = false
/script LSWConfig.vendorOverride[49908:0:0:0:0:0:0:0:0] = false
/script LSWConfig.vendorOverride(item:49908:0:0:0:0:0:0:0:0) = false
/script LSWConfig.vendorOverride(49908:0:0:0:0:0:0:0:0) = false
After each one, I've reloaded the UI to refresh the Workshop cache. However, Workshop continues to use the "vendor" price for Primordial Saronite.
What I'm doing wrong?
Thanks, Iverie
Kaktus
That my be true
Kaktus
use the command "/script LSWConfig.vendorOverride[itemID] = true/false/nil" then /reload for it to take effect
the "itemID" should be the item ID of the particular item you want to override (most tooltip mods will show the item ID. wowhead will also show the item ID in the url for an item you view on their site)
setting the value to true will indicate that the item should be considered a vendor item no matter what your vendor database is saying
setting it to false means it will treat that item as not being available at vendors no matter what
setting it to nil will eliminate the override (and so your vendor database will do be used to determine availability).
this hasn't been thoroughly tested, but it should work fine.
once i get a gui set up, this'll be done thru a comprehensive item database viewer that will let you control other aspects for each item (fixed price, for example). but for now, this should work.
okay, i've added a simple override system that can be activated via /script commands.
/script LSWConfig.vendorOverride[item#] = (true/false/nil)
find the itemID of the item in question then use this command to either force vendor price (true) or force not to use vendor prices (false) or reset to use whatever database you have installed (nil).
lemme know how that works. what i intend to add is a spreadsheet view of all items and their sources so that you can override each as needed via a gui. i'll probably fix the caching mechanism at that time to allow hand-entered fixed prices as well as importing data from a particular ah module. but that's later. for now, there's this.
i'll add the functionality before i get the gui worked out. that way, you can do /script commands to make the changes.