Get an Epic Experience with Premium

Reagent Restocker

Bags & Inventory Login to Add Favorites
  • World of Warcraft
  • 473 Monthly Downloads
  • Supports: 6.1.0
  • 273,607 Total Downloads
  • Updated 03/04/2015
  • Created 10/06/2009
  • 382 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: MIT License
  • Newest File: v10.2
Support development! **

About Reagent Restocker

Reagent Restocker is a simple addon for automatically purchasing items, selling unwanted items, and repairing. Unlike many other similar addons, Reagent Restocker supports drag and drop and has a full GUI for editing buy/sell lists.

If you like it, feel free to donate! I highly recommend donating to your favorite addons, it really helps. If every person who downloads this addon donates as little as $1 per month, I could actually work on this addon full time. As it stands, however, it's actually kinda hard to justify putting much time into it at all.

Reagent Restocker now has Google+ and Facebook pages! News, notes, and patch releases will be posted to Google+ and Facebook.

NOTE: I've been seeing copies of Reagent Restocker popping up at other download sites. The only three places I currently upload the addon to are,, and I cannot guarantee the integrity of any other download sites.

What can you do with Reagent Restocker? Well, you can do the following:

  • Automatically buy items from vendors.

  • Automatically sell items you can't use.

  • Automatically fix your gear.

  • Warn you when you're getting low on items you automatically buy.

  • Use LDB to show your current stock of items.

  • Automatically mark items in ArkInventory as trash (Note: This feature is maintained by the authors of ArkInventory).

  • Access it via the minimap (must have LibDBIcon installed).

  • When automatically buying water, it can automatically update the buy list to the latest usable water by your character.

  • Stock excess items in your bank or the guild bank.

  • Control buying/selling/repairing based on vendor discounts.

Devs wanted! It's open source, and I've been busy with other things in real life. I'm willing to add more members to the team. Must have a CurseForge account.


If you have LibDBIcon or a LDB compatible bar installed, you can access Reagent Restocker simply by clicking on the icon. Otherwise, you can access it via slash commands.

To start using Reagent Restocker, type /rr at the command line. /rrstock and /reagentrestocker also work.

Raid Roll users: Reagent Restocker may take over /rr - if that happens, use /rrl for Raid Roll.

/rrbuy and /rrsell add items to the sell and buy lists (thanks g3gg0)


The primary portal for Reagent Restocker is at, even though I also publish the addon to (the old portal) and, and may publish to other places in the future.

The public facing page is here:

The development pages are here:

r130 | cobraa1 | 2015-03-04 16:21:06 +0000 (Wed, 04 Mar 2015) | 3 lines
Changed paths:
   A /tags/v10.2 (from /trunk:129)

-   Updated TOC
-   Sorry, that's all for now.

r129 | cobraa1 | 2015-03-04 16:20:09 +0000 (Wed, 04 Mar 2015) | 1 line
Changed paths:
   M /trunk/
   M /trunk/ReagentRestocker.toc

Commit before release.


First Previous Page 3 of 36 Next Last
  • #509

    It's been a while, and I haven't worked on Reagent Restocker in a long time. Addon support has just been added to the beta in Warlords of Draenor, so it's prime time to get started working on it again.

     I'm gonna try to make Reagent Restocker my weekend project from now on, and I'm setting the following goals for myself:

    • Relearn the code - sadly, I've been out of it for a while, I've probably forgotten where everything is . . .

    • Prepare Reagent Restocker for Warlords of Draenor. Already it needs some work, with one of the libraries crashing. An update for the library just came out that fixes it, so I'm going to release a beta of RR very soon to fix that.

    • Rework the UI, especially the "new" UI. It never seemed quite right. I'm gonna shoot for a flat look, which requires less artwork and should be easier to work with.

    • Use what I've learned from working with Lua as a full time job to make it a better addon. Kinda vague right now, but I've learned a lot, and should be able to apply it as I work with the code.


    So I'm back :). Hopefully I can get things done.

    Last edited by CobraA1 on 7/20/2014 1:38:45 PM
  • #507

    The addon just sold all my pandaren banquets and buff food. O.O

    Could you add option to sell food and water but not buff food? Additionally it would be nice if there would be an option to limit the number it auto-sells to the max amount you are able to buyback if an accident like this happens. Thanks!

  • #508

    Detecting "buff food" isn't trivial - I'd probably need to read the tooltips.

    And unfortunately, I usually don't want to see WoW again after I'm done with work, since developing the Zygor addon is my full time job now.

    For now, just add the banquets and buff food to the exceptions list. That should work.

  • #506

    Mmmm    couldn't setup to buy noodles from cart. 

  • #505

    Apologies for not getting much done. There's some mixed news as far as the future of Reagent Restocker goes: On one hand - I'm actually working for Zygor Guides! Working on Lua full time now. Which means I'm learning a lot, and that could potentially help out Reagent Restocker. There's a few things I'd like to change going forward.

    On the other hand - I'm pretty burned out after a hard day's work, and I generally don't want to be in World of Warcraft for the rest of the day, much less doing more programming for it. Perhaps during the holiday season I'll see if I can do more work. But for now, I'm just updating the TOC and fixing occasional bugs.

  • #504
    restocker Buying quantity and stock level warning

    Hi it seems reagent restocker is having problem with keeping the quantity and stock level warning ain't working..once each has a number set.. it doesn't keep those settings once you close or go to another option..

  • #503

    Hi after I updated to 8.1 I keep getting this error message when attempting to auto sell items. Any help would be greatly appreciated.

    Message: ReagentRestocker-v8.1\Core.lua:1510: attempt to index field "?" (a nil value)
    Time: 07/21/13 01:39:26
    Count: 1
    Stack: Interface\AddOns\ReagentRestocker\Core.lua:1055: in function `isToBeSold'
    Interface\AddOns\ReagentRestocker\Core.lua:1540: in function `sell'
    Interface\AddOns\ReagentRestocker\Core.lua:868: in function `MERCHANT_SHOW'
    Interface\AddOns\ReagentRestocker\Core.lua:817: in function `v'
    Interface\AddOns\ReagentRestocker\EventHandler.lua:66: in function <Interface\AddOns\ReagentRestocker\EventHandler.lua:32>
    (tail call): ?

    Locals: self = <table> {
     repair = <function> defined @Interface\AddOns\ReagentRestocker\Core.lua:1368
     SetDefaultModuleLibraries = <function> defined @Interface\AddOns\ArkInventory\Externals\Ace3-AceAddon\AceAddon-3.0.lua:398
     findOptimalDestinationInBags = <function> defined @Interface\AddOns\ReagentRestocker\BankBag.lua:494
     EnableModule = <function> defined @Interface\AddOns\ArkInventory\Externals\Ace3-AceAddon\AceAddon-3.0.lua:363
     modules = <table> {
     baseName = "ReagentRestocker"
     IterateEmbeds = <function> defined @Interface\AddOns\ArkInventory\Externals\Ace3-AceAddon\AceAddon-3.0.lua:473
     MERCHANT_SHOW = <function> defined @Interface\AddOns\ReagentRestocker\Core.lua:821
     MERCHANT_UPDATE = <function> defined @Interface\AddOns\ReagentRestocker\Core.lua:702
     showFrame = <function> defined @Interface\AddOns\ReagentRestocker\UI.lua:1108
     purchaseItems = <function> defined @Interface\AddOns\ReagentRestocker\Core.lua:957
     lockTransaction = <function> defined @Interface\AddOns\ReagentRestocker\Core.lua:631
     getSellPrice = <function> defined @Interface\AddOns\ReagentRestocker\Core.lua:361
     listType = <function> defined @Interface\AddOns\ReagentRestocker\Core.lua:537
     defaultModuleState = true
     IsEnabled = <function> defined @Interface\AddOns\ArkInventory\Externals\Ace3-AceAddon\AceAddon-3.0.lua:482
     isToBeDestroyed = <function> defined @Interface\AddOns\ReagentRestocker\Core.lua:1323
     areSlotsUnlocked = <function> defined @Interface\AddOns\ReagentRestocker\BankBag.lua:254
     DisableModule = <function> defined @Interface\AddOns\ArkInventory\Externals\Ace3-AceAddon\AceAddon-3.0.lua:381
     ADDON_LOADED = <function> defined @Interface\AddOns\ReagentRestocker\Core.lua:1667
     getMerchantDiscount = <function> defined @Interface\AddOns\ReagentRestocker\Core.lua:1581
     isReagentVendor = <function> defined @Interface\AddOns\ReagentRestocker\Core.lua:1353
     safeGetItemInfo = <function> defined @Interface\AddOns\ReagentRestocker\Core.lua:300
     isSpecialBagType = <function> defined @Interface\AddOns\ReagentRestocker\BankBag.lua:575
     addToListByID = <function> defined @Interface\AddOns\ReagentRestocker\Core.lua:595
     SetEnabledState = <function> defined @Interface\AddOns\ArkInventory\Externals\Ace3-AceAddon\AceAddon-3.0.lua:455
     enabledState = true
     isSlotUnlocked = <function> defined @Interface\AddOns\ReagentRestocker\BankBag.lua:248
     hideFrame = <function> defined @Interface\AddOns\ReagentRestocker\UI.lua:1104
     IterateModules = <function> defined @Interface\AddOns\ArkInventory\Externals\Ace3-AceAddon\AceAddon-3.0.lua:468
     sell = <function> defined @Interface\AddOns\ReagentRestocker\Core.lua:1528
     checkDB = <function> defined @Interface\AddOns\ReagentRestocker\DatabaseUpdate.lua:497
     countItemInBags = <function> defined @Interface\AddOns\ReagentRestocker\BankBag.lua:281
     ITEM_LOCK_CHANGED = <function> defined @Interface\AddOns\ReagentRestocker\Core.lua:1760
     Enable = <function> defined @Interface\AddOns\ArkInventory\Externals\Ace3-AceAddon\AceAddon-3.0.lua:325
     NewModule = <function> defined @Interface\AddOns\ArkInventory\Externals\Ace3-AceAddon\AceAddon-3.0.lua:266
     getVersion = <function> defined @Interface\AddOns\ReagentRestocker\Core.lua:1649
     VARIABLES_LOADED = <function> defined @Interface\AddOns\ReagentRestocker\DatabaseUpdate.lua:447
     addItemToSellingList = <function> defined =[C]:-1
     notifyPlayer = <function> defined @Interface\AddOns\ReagentRestocker\Core.lua:643
     defaultModuleLibraries = <table> {

  • #502

    Hi. I just want to confirm that the overstocking bug still exists. I am using my own quote since earlier...

    Quote from catonbreak»

    This addon seems fantastic and I tried it out. Unfortunately it did not work as it is intended. Bugs, I believe.

    I tried various settings for the automatic stocking feature. Set River's Hearts to stock up to "20", and "Overstock" for bank ticked. If I have 40 in inventory, it just keeps stocking up 1 more full stacked River's Heart everytime I enter the Bank. It never overstock anything neither from bank nor to the inventory. Simply, the overstock feature seems to not work at all for me.

    I haven't found any addon that should do like your addon does automatically, so I would love this to work.

    I want to set up all my gems for this, so I will always have 20 of each sort and cutted versions in the bags and all exceeded amounts into the bank.

  • #497

    The 'keep BoE/soubound items' options are inactive/greyed out in options.
    I would gladly use RR for auto getting rid of unusable stuff if only I could restrict it to soulbound items and keep the BoE ones for posible use on my alts.

    I posted this comment on wowinterface yesterday but apparently you check here rather than wowinterface, since the latest update a few hours ago present here only on curse:)

    Last edited by solshine2510 on 3/24/2013 5:38:15 AM
  • #499

    Check out version 8.0 :).

  • #498

    Curse tends to be faster to update due to the fact that it's directly connected to SVN, while WoW Interface has to put it through a manual approval process. I did actually put the updates up within five minutes of each other, but WoW Interface may have taken longer to approve the update.

    As far as the keep BoE / Soulbound goes - it's not straightforward, as Blizzard does not actually have an API for that. Instead, I have to actually read in the tooltip and look for the word "Soulbound." I may take another crack at it today.

    Last edited by CobraA1 on 3/24/2013 9:59:50 AM
  • #496

    Apologies for taking so long - working on this project is a rather thankless job, and it's hard to stick to it. Nevertheless, I've made some improvements and made an attempt to fix the overstocking bug. Please tell me if it works.

  • #495

    Adding my own gratitude for a great addon, and encouragement to fix up bank stocking.  Just got an inscription/jewelcrafter going up, and with all the daily stuff in inscription, I could sure use the bank stock :)

  • #492

    I'd like to recommend the following patch to make unusable selling work for Monks:

    *** Core.lua.orig    2013-01-29 14:23:46.000000000 -0700
    --- Core.lua    2013-01-29 14:29:31.000000000 -0700
    *************** function ReagentRestocker:isUseless(item
    *** 1181,1186 ****
    --- 1181,1205 ----
    +     if myClass=="MONK" then
    +         if itemType=="Armor" then
    +             if itemSubType=="Shields" then return true end;
    +             if itemSubType=="Plate" then return true end;
    +             if itemSubType=="Mail" then return true end;
    +         end
    +         if itemType=="Weapon" then
    +             if itemSubType=="Daggers" then return true end;
    +             if itemSubType=="Two-Handed Axes" then return true end;
    +             if itemSubType=="Two-Handed Swords" then return true end;
    +             if itemSubType=="Two-Handed Maces" then return true end;
    +             if itemSubType=="Bows" then return true end;
    +             if itemSubType=="Crossbows" then return true end;
    +             if itemSubType=="Guns" then return true end;
    +             if itemSubType=="Thrown" then return true end;
    +             if itemSubType=="Wands" then return true end;
    +         end
    +     end
          if myClass=="PALADIN" then
              -- They can wear any armor.
  • #493

    Ah, thanks. I completely forgot about. Added in 6.1.

  • To post a comment, please login or register a new account.
Login to Curse

Don't have an account? Create One.

Get an epic experience with Curse Premium
  • Faster addon downloads
  • Premium-Only Beta Giveaways
  • Ad-Free Curse experience
  • Premium Curse Client
  • and many More Features
  • Learn More »

Darkest Dungeon Wiki Editing Contest