Part 14: Custom material pricing
While all this automation helps our business tremendously in day-to-day operations, sometimes you need to intervene at the ground floor. I’m talking about overriding the default price formula.
We have previously spent quite a bit of time making custom price sources and knitting formulas together to make sensible prices on most items. Some items, however – are tricky – like Spirit of Harmony.
It’s soulbound, so there’s no AH price available (dbmarket, dbminbuyout, avgbuy, avgsell)
It’s not crafted in any way, so it doesn’t have a crafting cost. It straight up sucks. But you do want to assign a value to it, since it’s used in many crafts.
Other items you may have a personal arrangement (i.e. personal ore farmers) of getting at a set price, so you want to set that price in stone- that is fine as well.
You shuffle extensively, and want to use the shuffle-formula we talked about earlier for those items.
There are many reasons for wanting to change an items material pricing method, and the good news is that for all reasons – there is the same solution!
The rightmost icon on your TSM is called ‘Crafting‘. Inside you are presented with 2 tabs, Crafts and Materials. Click ‘Materials’. A nice tip is to sort this list by Number Owned – like above.
This is the yellow pages of TSM. All materials used in crafts are listed here. You may notice this window lag a bit, because it displays insane amounts of data. This can be remedied somewhat by filtering by profession up top. ALL these items get their Mat Price by default by the formula we set earlier – in crafting operations options. For some items though, we want a different formula.
Default Material Cost Method <- The fallback formula for all items (defined by me)
Let’s say I want the price of Ghost Iron Bars to reflect the lowest price of either 2x Ghost Iron Ore, or the average buying price, how would I go about that?
I simply locate Ghost Iron Bar in the list, left click it to get this window – and replace the default formula with
min(2*matprice([Ghost Iron Ore]),avgbuy)
This is a pretty weak example, since listing the materials for the craft is the same as just typing “Crafting”, but if you have no smelter who can smelt ghost iron, you could do it like this.
We made a long formula for shuffle materials earlier;
- shuffle: ((dbmarket/((dbmarket(item:76131)+dbmarket(item:76138)+dbmarket(item:76142)+dbmarket(item:76141)+dbmarket(item:76139)+dbmarket(item:76140)+(27*dbmarket(item:74249))+(2*dbmarket(item:74250)))))*(avgbuy(item:72092)*120))
This is the place to insert this formula if you want to use it. It should be in all the 6 rare MOP-gems, mysterious essence, and spirit dust – as shown in the picture.
You may notice the price-string is shufflemarket, not shuffle – which is another one i made that is essentially
shufflemarket: first(shuffle, mymarket)
This is just to avoid errors if one gem gets no AuctionDB-data for some reason, pulling some backup prices from buying and selling data.
One last example I want to do, and it’s the Sha Crystal. It can be crafted, but only once a day. BUT, since there is no other way to craft it – that will count as the crafting cost. This could end up with you selling epic enchants really cheap. We need to remove ‘Crafting’ from the price settings of Sha Crystals – infact, I want to remove most of the formula, keeping the focus on the price i keep paying for them on the AH.
I include vendorbuy just for coding discipline – if a vendor starts selling sha crystals for 20g tomorrow, your prices will instantly reflect that – even though it’s not going to happen.