Category - TSM4

TSM4 Deep Dive: Logic Functions & Value Sources

Logic Functions

Many users have become somewhat aware of the check() function in TSM3 thanks to the popularity of BilisOnyxia’s sniper string. In my own personal experience, check() is definitely something that at times can be hard to wrap your brain around. I’m pretty sure I used TSM for over a year before I fully understood it!

To quickly explain check(), you can feed it 2 to 3 values in the format of check(a, b, c) where “c” can be optional. These 3 values can be any value TSM recognizes, from custom prices to flat gold values, to simple price source references like DBMarket. The check() function then takes a look at “a”, and looks to see if it is valid and greater than 0. If “a” is not valid, the custom price returns invalid. If “a” is greater than 0, the custom price will give you the value of “b” back, otherwise it gives the value for “c”. If you did not supply a value for “c” and “a” is not is not greater than 0, then the whole thing is treated as invalid.

In TSM4, one of our main goals was to expand on the logic-based functionality of the check() function and make it easier and more intuitive for our users to incorporate logic in their custom prices. With that in mind, TSM4 adds the following new functions:

ifgt() – “If Greater Than”
ifgte() – “If Greater Than or Equal To”
iflt() – “If Less Than”
iflte() – “If Less Than or Equal To”
ifeq()- “If Equal”
round() – “Standard Rounding”
roundup() – “Always Round Up – aka Ceiling”
rounddown() – “Always Round Down – aka Floor”

The “IF” functions are all used in the same way. You can send in 3 to 4 values in the format of ifgt(a, b, c, d) where d can be optional. TSM4 checks if “a” and “b” are valid in the same method used for check() above. TSM4 then looks at which “IF” function you are using, in our example I am using “if greater than”, so it checks if “a is greater than b”. If it is, the value of “c” is given back to us. If it is not, the value of “d” is given back if one was supplied, otherwise the whole thing is treated as invalid.

The “Round” functions also follow a similar usage to each other. You can send in 1 to 2 values in the format round(a, b). The first value “a” is the number you want to round and the second value “b” is the factor you would like to round to.  For example, “round(crafting, 10s)” would return the crafting cost rounded to the nearest 10 silver. If no value of “b” is sent in, then the functions round to the nearest copper, as appropriate.

Value Sources

We currently offer many different prices from various sources including AuctionDB, Accounting, and more, but we recognize that these are not the only values that are important to TSM users when configuring their operations. We currently provide other pieces of data such as sale rate and number of expires in item tooltips, but there is currently no way to use this data in custom prices directly.

In TSM4, our goal is to expose as many values as possible for use directly in custom prices. Not all of these values are prices, hence the new name of “value sources.” These are the value sources that will be available with the launch of TSM4 for use in custom prices:



Below are a few examples which demonstrate the power of the new custom prices changes coming with TSM4.

iflt(DBRegionSoldPerDay, 100, DBMarket, DBRegionMarketAvg)

The above function will return the DBMarket if DBRegionSoldPerDay is less than 100, otherwise it’ll return DBRegionMarketAvg.

round(DBRegionMarketAvg, ifeq(ItemRarity, 4, 1000g, 1g))

This second example will round DBRegionMarketAvg to the nearest 1000g for epic equality items (ItemRarity 4) or to the nearest 1g otherwise.


I cannot wait to get all of these new tools into the hands of our amazing community! If you want to ensure you get into the beta as soon as possible, you can go ahead and sign up for an invite here. If you like what we do and want to support the continued development of TradeSkillMaster and also get priority access to all of our betas, please consider becoming a TSM Premium user.

TSM4 Deep Dive: Sniper

Sniper has long been a very popular feature of TradeSkillMaster, with many goblins even setting up a second, dedicated sniper account. The Sniper feature allows for snatching up deals as quickly as possible once they are posted on the auction house by constantly scanning the most recently-posted auctions and comparing the buyout price with user-configured maximum prices at either a global or operation level.

In TSM4, we’re making Sniper a first class feature by adding new Sniper operations and a top-level Sniper tab to the Auction House frame. We’re also adding an entirely new type of sniping in the form of a new Bid Sniper.

Sniper Operations

In TSM3, Sniper configuration is done at either a global level or within Shopping operations. Our reason for putting the configuration in Shopping operations in TSM3 was that we felt users would likely have the same max price for Shopping as they would for Sniper. However, this has traditionally led to some confusion, and is a bit limiting. Now that Sniper is a first class feature, we’ve created an entirely new type of operation for Sniper.


As shown by the screenshot above, there is just a single “Below custom price” option for specifying your max price while sniping within Sniper operations. This max price will apply to any items within groups with this operation applied, or, if you have a Sniper operation applied to the new Base Group, it’ll apply to any items which aren’t in any group at all. TSM4 will ship with a default Sniper operation which will come pre-loaded and applied to the Base Group to allow new users to take advantage of the Sniper feature immediately upon installing TSM4.

Sniper Auction House Tab

Upon switching to the new Sniper tab in the TSM4 Auction House UI, you’ll be prompted with the option of starting either a Bid Sniper or Buyout Sniper. The Bid Sniper is a new type of sniper which, instead of looking for recently posted auctions, looks for auctions which are about to expire which have a bid price below the max price you have set in your Sniper operation. If you click on the “Run Buyout Sniper” button, the Buyout Sniper scan will start.


There are a ton of new features in the TSM4 Sniper. For example, the progress indicator at the bottom will animate to indicate that the scan is in progress. One common issue people run into with Sniper is phasing. This is a bug on Blizzard’s end where the AH freezes when you phase between servers without giving any indication of what has happened. TSM4 is able to detect this and will warn you when it happens so you can re-open the AH to resume your scan. Also, the results are now sorted by how recently they were posted so the newest results will always be on the top, ready for you to buy as quickly as possible. One common piece of feedback we’ve gotten from users is that some items show up in the results which they don’t want to buy, so in TSM4, we’ve added an easy way to clear an entry from the results table as well as a way to quickly restart the scan to clear all the results.

Join the Beta

As you can see, Sniper is better than ever in TSM4 and we’re super excited for you to try it out for yourself. If you want to ensure you get into the beta as soon as possible, you can go ahead and sign up for an invite here. If you like what we do and want to support the continued development of TradeSkillMaster and also get priority access to all of our betas, please consider becoming a TSM Premium user.

TradeSkillMaster 4 is Here and it is Better Than Ever!

Over the past few weeks we’ve kept you all in suspense. If you’ve been paying attention, then you know by now that TSM4 is coming. Here, we’ll go into a bit more detail on what TSM4 will bring.

Making TSM Better for Everyone

The main focus with TSM4 is to make TSM less intimidating and easier to use for newcomers and experienced goblins alike. To this end, we’ve completely rebuilt the UI from the ground up to be simpler and more intuitive to navigate. Even though ease of use was one of our main goals, we’ve not forgotten about our power users, and have plenty of goodies in store for them as well!


The first thing that you will notice when opening up the core TSM4 window is a beautiful new dashboard where you can see a summary of your gold making and catch up on TSM news. The dashboard will show you how you’re doing with your gold-making and help you decide at a glance what to do next. The graph within the dashboard is highly interactive and allows you to quickly and easily track your gold on hand over time as you pursue your gold-making goals.


One of the major hurdles new TSM users face is setting up meaningful groups and operations. In TSM3, we introduced the “Quick Post from Bags” feature, which gives easy-access to the powerful functionality of TSM_Auctioning to post items on the auction house without having to create groups and operations. With TSM4, we’ve taken that a step further with the new “Base Group” which lives at the top of the group tree. This group automatically contains any item which is not in another group, and comes pre-loaded with powerful default operations for more than just Auctioning. We’ve also completely reimagined how group management works in TSM4 to make it easier to move groups around, rename them, and manage the items and operations which they are tied to.


One of the most popular features of TSM is its sniper feature. This feature allows you to snatch up deals the second they are posted on the auction house. With TSM4, we’ve integrated all the great feedback we’ve received on the sniper feature to make it easier to use and even more powerful. The sniper settings have been simplified into new dedicated sniper operations, including a default operation which comes pre-loaded in the addon. Once you start the sniper scan in TSM4, you’ll notice that the results are now ordered conveniently with the most recent results shown at the top, along with a special icon to clearly call-out the newest results. We’ve also made it much simpler to buy items as quickly as possible by getting rid of the confirmation window and replacing it with a single buyout button. Because we know people like to run sniper in the background for long periods of times, we’ve also added a new way to quickly remove things which you’re not interested in from the results, or restart the search completely to clear all the results and start fresh.

TradeSkillMaster has always had extremely powerful features to help advanced goblins make gold as efficiently as possible, and TSM4 is no different. Complex custom prices have become a staple of any mature TSM setup, so we are very excited to announce that TSM4 brings many new functions and data sources to custom prices. This includes everything from new, advanced logic functions, to being able to use things like sale rate and inventory quantities in your custom prices. We can’t wait to see how people take advantage of these new custom price features!

In summary, TradeSkillMaster 4 brings powerful gold-making features to experienced goblins and causal gold-makers alike. The entire addon has been rewritten from the ground up to be a joy to use, and to drastically lower the barrier to entry into the world of gold-making. This is evidenced in everything from the new Base Group and Dashboard features to the cleaner, yet more powerful sniper UI which we showed here. We also didn’t forget about our most advanced users and TSM4 brings powerful new features to them as well with the new custom price functions and sources.

Join the Beta

We’re sure you’re super excited about TSM4, and are dying to know when you can try it for yourself. We share your excitement, and in that light, we’d like to announce that the TSM4 beta is to be expected in late November. We know it’s still a while away, but we promise it’ll be well worth the wait! Upgrading to TSM4 will be a smooth and completely painless process, with all your important TSM settings being preserved. If you want to ensure you get into the beta as soon as possible, you can go ahead and sign up for an invite here. If you like what we do and want to support the continued development of TradeSkillMaster and also be first in line for the TSM4 beta, please consider becoming a TSM Premium user.

Stay Tuned!

Between today and the TSM4 beta, we’ll be diving deeper into the countless changes TSM4 will bring, so stay tuned for future blog posts. If you don’t want to miss any, you can sign up for our mailing list here. These deep-dives will cover various topics, from the new custom price functions and data sources to the new TSM4 design, and much more that we couldn’t fit into this post!

If you’re dying to learn more about TSM4, Sapu, TSM’s lead developer and project manager, will be doing an AMA over on the /r/woweconomy subreddit at 11AM PDT. The AMA has ended! The thread, named “TradeSkillMaster 4 Announced plus Lead Developer Sapu Q&A!”, is still available for you to read through!