LilSparky's Workshop

LSW First Aid w/ Standard Interface

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.

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

  • Avatar of bsmorgan bsmorgan May 22, 2013 at 03:13 UTC - 0 likes

    There are issues with 5.3, ticket entered.

  • Avatar of bsmorgan bsmorgan Mar 13, 2013 at 17:32 UTC - 0 likes

    Hughescr,

    Hopefully, you can get added as an author to this addon as well so we can get a your patch(es) into SVN.

  • Avatar of hughescr hughescr Mar 12, 2013 at 05:40 UTC - 0 likes

    Using this patch instead should fix things without needing to change the call in UpdateRecipeCache. This is how I fixed the same problem in GnomeWorks; I also blatantly copied that code from somewhere internety, but I think it's a nicer solution. If Blizz ever fixes GetTradeSkillItemReagentLink() to not return nil all the time, then it's an easier revert. It's also much cleaner code. The original code is going to leak a lot of frames, since it's creating a new frame every call to the function; mine caches the frame and only uses one per time the addon is loaded. You'll run out of memory less :)

    --- i/lilsparkysworkshop.lua
    +++ w/lilsparkysworkshop.lua
    @@ -9,6 +9,18 @@ local LSW_VERSION = "LSW r"..REV
     local LSW_VERSION_LONG = "LilSparky's Workshop r"..REV
    
    
    +local scanTooltip
    +local function GetTradeSkillReagentItemLink(skillIndex, reagentLink)
    +    if not scanTooltip then
    +        scanTooltip = CreateFrame("GameTooltip", "LSWScanTooltip", UIParent, "GameTooltipTemplate")
    +        scanTooltip:SetOwner(UIParent, "ANCHOR_NONE")
    +    end
    +    scanTooltip:ClearLines()
    +    scanTooltip:SetTradeSkillItem(skillIndex, reagentLink)
    +    return select(2, scanTooltip:GetItem())
    +end
    +
    +
     LSWConfig = { }
     LSWPrices = {value={}, valueSamples={},cost={},costSamples={}}
    
  • Avatar of thetravellor thetravellor Mar 07, 2013 at 08:48 UTC - 0 likes

    @thetravellor: Go

    no, that didnt work

    Message: ...ace\AddOns\LilSparkysWorkshop\lilsparkysworkshop.lua:1200: attempt to call global 'FixedGetTradeSkillItemLink' (a nil value) Time: 03/07/13 19:46:52 Count: 1 Stack: Interface\AddOns\Auctionator\AtrErrorInspector.lua:106: in function <Interface\AddOns\Auctionator\AtrErrorInspector.lua:51> [C]: in function `FixedGetTradeSkillItemLink' ...ace\AddOns\LilSparkysWorkshop\lilsparkysworkshop.lua:1200: in function <...ace\AddOns\LilSparkysWorkshop\lilsparkysworkshop.lua:1189> ...ace\AddOns\LilSparkysWorkshop\lilsparkysworkshop.lua:1618: in function `triggerFunction' ...ace\AddOns\LilSparkysWorkshop\lilsparkysworkshop.lua:2610: in function <...ace\AddOns\LilSparkysWorkshop\lilsparkysworkshop.lua:2602>

    Locals: msg = " ...ace\AddOns\LilSparkysWorkshop\lilsparkysworkshop.lua:1200: attempt to call global 'FixedGetTradeSkillItemLink' (a nil value)" funcnames = <table> { 1 = "FixedGetTradeSkillItemLink" 2 = "triggerFunction" } funcstr = "FixedGetTradeSkillItemLink > triggerFunction" looksLikeAuctionatorError = false inAtrErrorHandler = true origErrorHandler = <function> defined *:OnLoad:1 zc = <table> { msg_red = <function> defined @Interface\AddOns\Auctionator\zcUtils.lua:608 IsEnglishLocale = <function> defined @Interface\AddOns\Auctionator\AuctionatorLocalize.lua:52 msg_badErr = <function> defined @Interface\AddOns\Auctionator\zcUtils.lua:644 tallyAdd = <function> defined @Interface\AddOns\Auctionator\zcUtils.lua:1121 msg = <function> defined @Interface\AddOns\Auctionator\zcUtils.lua:737 GetArrayElemOrFirst = <function> defined @Interface\AddOns\Auctionator\zcUtils.lua:150 NumToBool = <function> defined @Interface\AddOns\Auctionator\zcUtils.lua:562

  • Avatar of thetravellor thetravellor Mar 07, 2013 at 08:23 UTC - 0 likes

    @Karthus

    In regards: Change one line in UpdateRecipeCache() to point to the new function

    What line did you change?

    Like this?

    if skillType = "header" then local itemLink = FixedGetTradeSkillItemLink(i)

    Last edited Mar 07, 2013 by thetravellor
  • Avatar of thetravellor thetravellor Mar 07, 2013 at 08:17 UTC - 0 likes

    @karthus is this all we need to do to make it compatible with 5.2

  • Avatar of Kharthus Kharthus Mar 07, 2013 at 04:05 UTC - 1 like

    Blatantly stole this from Skillet.

    Add this function above UpdateRecipeCache()

    local function FixedGetTradeSkillReagentItemLink(i,j)
    	local tooltip = CreateFrame("GameTooltip", "LilSparkyDataScanTooltip", UIParent, "GameTooltipTemplate")
    	tooltip:SetOwner(UIParent, "ANCHOR_NONE")
    	tooltip:ClearLines()
    	tooltip:SetTradeSkillItem(i,j)
    	local _, reagentLink = tooltip:GetItem()
    	return reagentLink
    end
    

    Change one line in UpdateRecipeCache() to point to the new function.

    Last edited Mar 07, 2013 by Kharthus
  • Avatar of k3ik0 k3ik0 Feb 25, 2013 at 19:49 UTC - 0 likes

    scrollIDs.lua

    insert at end:
    [104404] = 74713, -- Enchant Cloak - Superior Critical Strike (333)
    [104338] = 74700, -- Enchant Bracer - Mastery (334)

    Fixes bug where those enchants would not be able to be used for log of pricing and sales.

    Last edited Feb 25, 2013 by k3ik0: getting rid of markup
  • Avatar of j800r j800r Jan 20, 2013 at 13:05 UTC - 0 likes

    So can we assume that LSW is officially dead? Current version is outdated and the outdated one is actually an alpha not to mention there has been very little activity lately. It's a shame because LSW is one of the most helpful addons out there along with Auctioneer. :(

  • Avatar of Ini1994 Ini1994 Nov 19, 2012 at 16:11 UTC - 0 likes

    Are you planning to update this addon ? I really loved it and it would be really cool if it would get updated ;)

Facts

Date created
Oct 10, 2007
Categories
Last update
May 13, 2013
Development stage
Release
Language
  • enUS
License
GNU General Public License version 3 (GPLv3)
Curse link
LilSparky's Workshop
Downloads
303,645
Recent files
  • A: r152 for 5.2.0 May 13, 2013
  • A: r151 for 5.2.0 Mar 21, 2013
  • A: r150 for 5.2.0 Mar 20, 2013
  • A: r149 for 5.2.0 Mar 16, 2013
  • A: r148 for 5.2.0 Mar 15, 2013

Authors