ReagentCost 10900.1

  • Updated for WoW patch 1.9.
  • Fixed several general issues that resulted in problems dealing with alchemists’ elemental transmutes:
    • We won’t get a stack overflow error trying to calculate reagent prices if a loop exists in the recipe chain (e.g. if you know both [Recipe: Transmute Life to Earth] and [Recipe: Transmute Earth to Life]).
    • Transmutes and other recipes which fit a similar pattern (one reagent which is also produced by the skill is used to create another reagent which is also used by the skill) only report based on the price of the immediate reagent (even if it can be produced by other such recipes)… it’s more important to know that you might profit from transmuting [Essence of Earth] to [Essence of Water] than that you might also profit from trasmuting Life to Earth to Water.
    • If you know more than one recipe that produces the same item, all of them will be listed in the output from /rc report and /rc [item link]. For internal calculations and display in the tradeskill window, the recipe with the lowest total materials cost is used.
    • These changes required a reformatting of the database we store your tradeskill recipes in; if you’ve been using previous versions, you’ll need to log in to each of your characters and view their tradeskill windows before/rc report and /rc [item link] will again be able to report on what they know.
  • Fixed some cases where we wouldn’t recognize an item link.
  • Fixed an issue where /rc report and /rc [item link] would incorrectly report items that sell at a loss.
  • Added /rc autoload on|off command for those using ReagentCost with Auctioneer; when enabled, ReagentCost will automatically load Auctioneer when you show a tradeskill window (so that it use auction data to show reagent costs). When disabled — now the default — the tradeskill windows won’t show reagent costs unless Auctioneer is already loaded. (ReagentCost will still automatically load Auctioneer if you expressly ask for a price via /rc report or /rc [item link].)
  • Knows its own version number — it’s present in startup messages and if you type /rc help or /rc version. Please include this version number when sending bug reports or help requests!

5 Responses to “ReagentCost 10900.1”

  1. Brad Says:

    What version of Auctioneer is this designed to work with?

    Auctioneer is changing their internal structure and ReagentCost and Shopping List aren’t working with the latest version of Auctioneer.

    I’m trying to find the version of Auctioneer that does work so I can see if I can figure out how to fix the incompatibilites.

    Feel free to email me if my efforts would be useful.

    Brad

  2. Gazmik Fizzwidget Says:

    ReagentCost and ShoppingList work with the newest “Release” version of Auctioneer, 3.2.0.0620 as it’s numbered at http://auctioneeraddon.com/dl/. (The newer versions are “Beta” and “Unstable”.) I’m looking into the issue and should have a fix by the time they’re declared “Release”.

  3. rsmozang Says:

    The fix is easy. just update ReagentCost.lua with the following:

    function FRC_AuctioneerItemPrice(itemLink) local itemID, randomProp, enchant, uniqID, name = EnhTooltip.BreakLink(itemLink); local itemKey = itemID..”:”..randomProp..”:”..enchant; local medianPrice, medianCount = Auctioneer.Statistic.GetUsableMedian(itemKey); if (medianPrice == nil) then medianPrice, medianCount = Auctioneer.Statistic.GetItemHistoricalMedianBuyout(itemKey); end if (medianCount == nil) then medianCount = 0 end

    itemID = tonumber(itemID) or 0;
    local buyFromVendorPrice = 0;
    local sellToVendorPrice = 0;
    if (FRC_VendorPrices[itemID]) then
        buyFromVendorPrice = FRC_VendorPrices[itemID].b;
        sellToVendorPrice = FRC_VendorPrices[itemID].s;
    end
    if (sellToVendorPrice == 0) then
        if (Auctioneer.API.GetVendorSellPrice) then
            sellToVendorPrice = Auctioneer.API.GetVendorSellPrice(itemID) or 0;
        elseif (Auctioneer_BasePrices ~= nil and Auctioneer_BasePrices[itemID] ~= nil and Auctioneer_BasePrices[itemID].s ~= nil) then
            sellToVendorPrice = Auctioneer_BasePrices[itemID].s or 0;
        end
    end
    
    if (buyFromVendorPrice > 0) then
        return buyFromVendorPrice, -1; -- FRC_VendorPrices lists only the primarily-vendor-bought tradeskill items
    elseif (medianCount == 0 or medianPrice == nil) then
        return sellToVendorPrice * 3, 0; -- generally a good guess for auction price if we don't have real auction data
    else
        return medianPrice, math.floor((math.min(medianCount, MIN_SCANS) / MIN_SCANS) * 1000) / 10; 
    end
    

    end

  4. JAA Says:

    I basically did the above already to get it to work, but I need to visit the AH once to get Auctioneer to load. Is there a code snipet to have it load Auctioneer on-demand?

  5. Gazmik Fizzwidget Says:

    Auctioneer has built-in controls for when it loads — type /auctioneer with nothing after it to see them.

To leave feedback on a Fizzwidget Industries product, visit us on Github. There you can report bugs, contribute enhancements, or just live on the bleeding edge.