With the new Crafter’s marks it’s time to take a look at how we need to set things up in TSM. Due to how TSM calculates optional reagents, getting correct pricing takes a bit of setup, so let’s get to it.
Optional reagent pricing
By default TSM always uses the same crafter’s mark as the finished item is from to calculate the crafting cost. This means the default crafting cost will only work correctly for half of your professions if you have two crafters. To alleviate this we need to have some price sources that represent the crafting costs of the crafters marks.
The equation
The simple equation we need to run is crafting cost – cost of wrong Crafter’s mark + cost of correct crafter’s mark. Optimally we will want the correct crafter’s mark to be determined dynamically. By that I mean that the custom source for the correct crafter’s mark should use a min() statement and compare the costs of both marks that crafter can craft.

The downside of this is of course that everyone will have to set up this price source themselves for each crafting combination they have, and you can’t necessarily use an out of the box solution. So I did the legwork and made custom sources for every crafter’s mark added in 9.2!
The setup
You need to set up a total of 8 custom sources for each crafter’s mark level. So if you want to do both mark 4 and the First Ones, that’s going to be 16 new sources. Half of them are easy, as they are just the crafting cost for each professions mark, and then on top of that you need 8 sources that compare the two marks you have. Two and two of these are likely going to be the same, but it depends on your exact crafters so I opted for full flexibility.
Setting up custom sources

If you’ve never set up a custom source before you do so under the main TSM settings. You can see the custom sources view here, and to add a new one you simply click the button show below. Then you give it a name, and a string that TSM can calculate into a gold value.
Basic Crafter’s mark costs
These are the sources that are subtracted from the cost in the operations. There’s two for each profession, one representing CM4 and on CMFO. They are all in the spreadsheet linked below.
The actual cost though
Now getting dynamic prices for the actual costs means you need to do min(crafters mark of 1st profession, crafters mark of second profession). To make the setup easier to import we will have one source for each profession and then I use a spreadsheet to dynamically generate the actual string. To get your strings you go to this google sheet and select two professions. It will then add the correct string to the cell in the C column.
And then the import
Once you’ve done all this you can import my full setup and get going. The custom sources are used in the auctioning operations to make sure TSM utilizes the correct crafting cost.
You could do it simpler
Depending on your setup you could get away with fewer custom sources. You would need one operation for each profession, but you could use the same source that took the minimum of blacksmithing and jewelcrafting in both your BS and JC operation.
TSM Settings
First ones BS
9szWUTTnyCCyxSRfogOUBRDdczOd2njfus2wYcBhItAUSz0m70UERMsI2sWYseuuoo7Oo1Z(rqpc5WEaYtarFecqFb6tWiLLJvIJJDUmddbY)6h)(()r(rvi5SED(0B)4PVR7zpj5exsiv6D(OWpxgx11qwtUEDfddfJM6Tun001LnunAz0eyO0YqvXqfyuhuClqB(yrBTevD7nW6rxXa1F4OQ2CRr3QOwhC3YQ52BGnGM3aBcDRmWkhbRfD1YsB7lRnGMVS03(OUb08ED9OlAxQuSFLIdsomYI6g476p8P4sh1rA5ffP29IdMGiexBu)4JiWbub11n2xsg8kRS5SN3pUNtaglEx8VCmAamYJYvn757IrKNYEbFYSpG8TdicM05x(3qcYjik8gLbSNvHv5ZLIHM8K2bonEmC6PexluIPR9PiIfYN(KzMEqRrEUH0Ixzb9TqEDr4GqAF8ZYp9mhck0jWZEx5Hxp)fV33MhJiA)y7icuuYFhEh3H(be0FgC(XzAfUAecH)RiOp1LErzqc3eVDk2LhUYaMe(nYaa4vvxu8hygAnEGyhlWhTx(jHee0Rw8yx)0AaFGSYJyDxYT1yOx2sB8ysjru)hbXLLtWIL3ffIOS9IJYQ)DbwSVVc7hobxknKP5OdI6eyxuuTCEAG1OYnML69GbU0lZDCNWvxGiZ(XkSxCctk22CmKmcr)gz(RwUbEDMsVGi(jy4jTHE0qNy48UUqN2Mq)roDhg56z7G3HFOD(HznaPoRp7L8CujXe5fCEQY0cFKBZQtsBOcrEE7l5oyiT6XT7IgYJzNuNC4KH7lPW35aa(aWB0xpL4inJsB9uldvZnKWuOgBiFPq1F40LYO(azBbJYdNSugzXdqJAz)KET0k01y)eFV(FNH8HMEO2rx0pz(WE8D5(K0Bg0lkKS4qMpM1AWUqhhMHdrCW(jX4FZH97oThdD9CWLehqhoGIiZVfzx7lcfE3GNzaVL056jHhZdhj4Ipa9Iqe75t(YKW52kvLPH3rimnpkVrgxkvnhPO7(N5fXKVjCBB4WfDIfWLMR4FtZzHRgZB0wc88S66pUlhtNV6f9Xu(3F65(pOcZcVz4VEv(7HyhfWRhdPPx)eFpwxtdaQTxJBjQjRRQEpI1LRTN8Tv1bAc07gsTA4Dw5(p(R8lOv))Ya7FR1QY)FBkHKYQsImCVou5o5vTvJ63xER9Fp
First ones JC
fxz3sTTruC8XgYTmg3jKPzM2QabInFf9HLf4EfgcnTj0qTPP5UO1sRTuTS0osRmqUuxX18i4hbUOpa(jyhEeyM(cWtqpR83GIv7v1xSZUN93z)FoN9SYz6Dw9t(8B(0PFO2zluRgYhhC13s(o7ksAksksvQivrBV9KQixz)kLfRiVFff57p22pGk8bxSqnB3wbZhVmBX5cuA)PaKtuW0akNcqjra4zdbugdifdmLVkPPEsaLs7eMjblLw8NeWmsKiWusukrjKjFZKBTFfB02bzGdMVpLz5NlaO6ea1KRDPauofaiZNauonjsci1tyMSqlTGmjGzKiraqIYz1z51zlQxoBZEheAqT9CHhplrE6H(OMuyQGKS46cscVwqU0BJ86I99TnX6rJ2FP7u3wqsCDJHRzc6r1T8ie(ErRDeUjk0HcwBu31MG9xI9syX1Fe7A65ZzIxFZFaVXT8cdgBHLVj77xIK7Wteg3Iei8lhY36fpNTkBTNdCRZh2Gp8k(WICFyfMhdqSbRWv5IqnGK5e0frDqxCQVTbUxdBZtX(gyx6cx3a6eB7yhqZ23a5AGDQHjEbuDYtNE5zwWxMS8CmxvQ1Dd243DnHZiKQhzg6J41ZNqw2ULRNp(9ENF0qBz63gJj)wiYLAtVmVypiiEZfeB44YlY2KSRKOO46fgvu35pnm60Kxg8CXBn9IaFmYPyuhB34CGSd)66FTF3aHvhKZqxv)ViPpp)perYl1JWDVgoatzQrHdZ)vfny)Wv5yfzBY2Ab22zz7OZ2TgpVezVwNj(eMugMmKTk8mUpx8X9qQ95PX4LA3kd7kmE9(5LyvQ6cXc7h568IvyREmjx8(X5YjyQLNzwEvfIlQNr78QxhxJ8AAtVzQ21EG1risS1wH9YJzBgz2OdYVnMEV)GTMCrD3ql19cHoLGJRICObwrObpDcSQ2a522QwRqBhtlYYqZX5hmSrloY0zRdASsVgyhVZJTCrMpbHzHUXpicWooBly3SfTWrvRHBbN5jXrYbDBTTGSkV6bte3DVVovCjEaL2xNAYrvofbJHutrVyOsZxUygL5O2ig55lwmJeFquT4WFcBk8i6ISnGA9FDn2f1Wbxn8s9EdMwhQY6(XVaPxMP3Olzyo7TnxfzzX(zlF(f7N5ZFNf79wv7GSDSi54xqh0KI9h8A1S4TClq3GtdpO136UUbhbhNV3LFe5eI9nhS42UbdcRyRSJjlZnCX0OqJmjxS1Pi5D3VcsIU3ZJ2QOwJ6eZqYnWI74MZm97anAtaE2W86DpKJ9tG3J6JPW35QB)fCMRdgpDJ(t)ENCEhen(nEHb)BIMsXTEOj5hBsQ4wsIBoT1900eflULS6Swv2xT0SUZb1ksw(rF2H83W71c)pfpBlNO7Z6Tg4VscglXL)bcjQPOKKqf)N)
First ones LW
9EztsnUruC8YaZwkdvnKQMvQiWu4bMjTKrY2ArsSX4HWGdm2WWKKfJAB32sLLL6QLSbYsVI1Ce8rGf5a4khGU4iWryobPB5pbzJAVjEHk1V(x)E)FV(1QHy9oVCXVD4xp70sNVm5ee03erUndEhlD5ukkQaDDfDT0zsQNkDAz9K6z01a6kz0tQONeONudVwblINV0PoiPHlx0fVpGUIaSAlmBgry3heIvoc9kgBy9gfRq(Dg6vjQnhXzFIEJIvinmd9MCb0BeSc63W135Yod9U)cO3iyf0VH7DIIDA)QUa6nc2NOH5ZUaAyg1xTfqVrW(e9gfRyAiCULAb23Ml7mQdPJQo84KVXweAzl6czcAlHzZieRM4(DCIoHntujQqSH1quScPHW6vlYB)eNvq)gk3IKDA)g9fyIWgwdrFP0e2OU8aSaSc53zOHOU8aSaSI53W7frFrZe2OV8qe2WAyUSt0G2sg0vmOBzOTu9EzBx13Y1XYPXQ4xFabw3N9QKScyBjzPFssz)J662briw1qgDhn)QpQUNKmy7Qdht)vJULnDXy(CD)X8O6W22(mRvk7yHrKvP5zdU7liNAUeotW47VesqMUT9gBHUsD6pVko(bfLg)5ppPtUKpv23qZrp4nmUd5pkWF8r(JT4RHE0lXWiEl9OBJ3fwHLmfHx3Tf86Ziwvr9Qyv7mePkYXF57QydR202YZFP(vHovr2LqyxpFd8RNE45MeKNPRDTnLB84GjUWPgZhT9n6wRnbYRNVcVMvdhxc6e3RYp0wS(nri8NBdD8T8VzDqpMio8ASfZDRdOhJ)Gmaa2ENrf13BFv1w15Lbxh0UtpWJGG2j62YYjihWVNVDj86UNjRwq7HlvDrcjHN)haXRl3dZxEjKhYNEr32dZ)nbvP)YTXP)g9y6NwMEYs0Ig0FVepVa0tnON9k6NJrlXY2Y8mUpp4J7HUOppngp8YhuyZknE8FSUm9pZ5W0c9V4Xj7g0CfWXdMpixkI8nDRTeVQY0LVB1MRRExqnYTUL)9t1U2JzDeIm9GnO5lqpUBTkTGKMi)Vtgm1KnQhhAPSBBwNIxHCqBFpZUWbhD8mZvb600SuJ2w21mXRXAoUk7WgTaLzqpKfJn6vbz7EvGLRJ9vMm3PtWbcpKT9Esw1B4Vt(CLqny(SyGsY2PXEsS)Fg2p2lGpKE(ubL4buPMp1exPfradGuJiEbq7)YHlGj5leTrmkVCWcyK5paQjg(t6DsHOtqlWQ1)ZDihyfBuU23y0BWRLzvzdsWjq)BI1B0Mm7DQz9nHMMultcFJ9B83BAsTnZ1I9xEzIJZ3GYw3hrgCATwIh4wyDd2vCzT(Mp2XlpZDe3B(c0UnIuBWGh64nqwbwP1XRXnC90OSgzC8aRtrY7U)ilj68DUAZbBmQtmgo(aloJBoJ1VfRrBcWpmmV(0Z5OnyREuFSp77CLT(BuS78g)6B7p95DSLc4DTG(bhZ53TKovkGCIDt(uRPuaz0sSR6tnMcOPKy3N7GKzuvtS7Z9zQe41c9Hg8)YoHUZ)Bkypf1qrkzIDLvFwOsQayEvgmRyf2Rj(Vp
First ones Tailor
1UztVTTrACCqN0tbiqXajTnnTvBA8wRy7eskrkrDZoUExGDnAw70U9wfLeTeHPjjOOCC2J6uoUWN3t6JqoSFam6haJCINZhH(jyNHsYIuZlppJl2aKyPr))ppVmZ8ByCI1M(MJp8x)HF51)4rV5oF05fMvtD9dIs8dh8V1QeVPFBJM1nnA0UTzB7wo1B3Svl921B702wVTPt76MTRtEVDCLxL4EsQxY3pQ6HUjNwTbwVn0V(UO16GsRTcZRn(5THUCTgC6ltpWpzuA1Fm0BewtKe)EO16GsRTcZRn(59MgY9I3zP26TTTB4aTIRKbhPg413LMsc65inyF7miVljOTAU0qdQHMOcdpxw6qBJw1vlOMwExwzx5Do1DPAgAFBILKoVdypKxSGDPASwUk)K5USkZRmY1wGrzbXUXRTHcZBjoPyTSSAiTOMxoSAliwDbKhG2sOuiToO0YIOH0IAE5GOTMdFAcL0inWYdrzaFeKudYqgLUeaJbU1GudkKsI7ssnGpcCyxwiU1GLKJ2vjIhgxSmz8UuSUa6gszYc7g45)yCjVUe4ssDbEhk36c0f36c2LQzO49gWUumws6HoqRYC7HGUuowI7gsCvOUwCVGTc39dOT0D0qADqPL9UFiTOMxo39BRWD)aAlDhnKwHRfcwTXQf18Y5EtB5)TTwUGGZqHoTyda3mJXqP7nrzqErdCZmkd4JahEJDXBWAbviCDbw(Q4ILJAdZr5qer7QeBdVlvZWBvDjz9YbK0ZRUGDPyS4q6BQaPhqBjImKwhuAzj9qArnVCi9nvG0dOTergsRW1caspKwuZlhsFteFF1Y3uOIHsKEad2imaq6bmWcULBGZ56MiyJSuo0UuowSp3xtyE1Fix8Yq1yJnH5vs6HGU4wxWUkEUPLcSraTLyyqADqPLLncPf18YHn2sb2iG2smmiTcxlayJqArnVCyJTWG6k(uWOm4i1aaQtUboN6AHGMWEQdTRsN6W7s1mKLbv0f()2XTGjxs6gGUuowIRl1yRTWY74wxGU4wxsCX55oDuGTcOTedesRdkTSSviTOMxoSvhfyRaAlXaH0kCTaGTcPf18YHT6Gavw65oXyOemgLbhPgaGXOmiVOf09vYa(iWHC4G47Walh1bbZML3G2L4meSrSQlqMn3me0LYXsCp0bI(YndbDXndL5I5SVPoEMnK2ISvqToO0YWSb1IAEzz2L1kNzdPvC)voZwIwG1n5mBXAzz2uTGe1ImBid2RYS5yqocgNb51GCemod4JalcMAaebZCKUSlzLFr8bExkhlgaNcUefl0)tIEJlyWnVme2LQXsC3qPhS)gxoq4EURYGU4MHYCXcBmu4scaTLG5qADqPL9sciTOMxoxsyOWLeaAf3FbUKqSwG1nGljeQLZLegiUKO4JDdzWgHbbTBvmuI5dyG9scugkEU2abZhWfy1SQlqkxjgcAx3UyXTUuJnAGGxjUUaDPCSyp3yQaBeqBjggKwhuAzzJqArnVCyJMkWgb0wIHbPv4AbaBeslQ5LdB0ebBS0dqJXqPhGwUb2)FyWXaaQdLb5fnW5AtSuUsNRnHzi3sxSplhEx8QlhiYd3me0f3me2LQz4n1L9ADU(UDU(EDSx7KP7oUxQFuOF4G7h)W8FeFiVSQHP(gvnQ(YQMn(RtIo3ljXVVxNjl(87)jRTRAOVrV5Vpt7Z7m54HrXX0pCY3TV3jUJdsPd394q)yVK7NP9v03E5p7f2p)N(OfJ8H)PBI3WOXJkm2139KmThE)PV6WQhenoP6B2LoAM2x84mTVmt7Xpox3tM9LVE2x(g6xU(E5gJRqDEZpyo49tDBNPv99vM42Lu3h6EXKZCV41j(98M21V)R9s65fMENl7g4270a)rPRDvp3WEEbh5fhnkTt8dl(23mmXB0WOG(p1yWNM9b)uyFYCmoTZK(JtCPT(pl(b(dcJs8(7rVD)5JPD1PEEX)JXUHP(PVBD9PKK4hUi2NmDRRNP904xyORRVXMlwa2j1T3zNql4OqVTk(MrjEUb1MCMFyEreVdDPfTVpqYRZCdMB1sLqMqBaVYnEDJPXu7h5nYJSJyNjJN3bEQEVmTV99vY0(tKkkt77UtM2ZwltBdYc1FM0WY0(EYR28ZY0QPLP9CADV1SIFdEfpzFYwlErEcqIv8Z4uTCe(Y4NXP24i0yDJmntYmNPvpp)FKG8)iAkQlSeUIgULNE25kAEU89V8JMKpV6YbMf39cjD3fr(lEezV8bXvYfLVaDOx6WO(Rr3RqA2Pr9oDDRlZx4JoXp9dfoVoLm6cjKj(XKP6RoGKwt639m3Kt9s)9KzF6YDGFA(ihtAg98gDWEUbPJgoXDg(y0W966gE6WJgm2pO)W4hq21)2DNFckp5i9HNqdZJM21li6T5JDH2VqY1npphjmYliy7Q(NmiDZ937iVbKz9W8Cz3ZhSDvtlA)K8c9x0sSQ8M(mvnfRA5uzdeWCrwaXlxud5HlxtDjrBHgt5blxJb9p0TQn)xvFEvg1KTQFnTB)FV0l0TBG3EJFxNPZE5XK(CNKC8s670MUyHM86mTxDYtDhomtB)Hj0L3Fn)nhq(9Fz4EN56hmmUcDzAx6phOZWr9R9r6iKDfbDJiNSh(PZhTpzktIE3p7gm2lP)S38XZhnl5YhntB34hqh5IIAjBRJRKpAbP571)gATC(Vtt69ChSytPwCLzJeEZ(uTRoJSNBPGpFE593wvxM2Ee7l2ttoLF6X()lpTlhDZlp4QImT4FY065N5MMJYOpbzRMn1RxBldl9sdtUmw3Km8kJ2u3Mm6Q(Bwl(bmGZ4FJC4CZ)VeTTn1zMvJABvFf7M6o212YI3CU6eu3XYIxKQnzb4mExd2GwNnNjvsdAbYjQxvech)FOTN)WZ52S9xsNWMTtykOtSYSoRtu7)9d
AWSOME work! 😀 how does this act when you post on another account?
And how do i implement it into a auctioning operation? just add it like 350%(crafting+vestigeFIRSTONES) ?
That’s hiw you implement it yeah. If your crafter is on another account usually TSM will not include the crafters mark in the crafting cost, so you just add the “real” sources.
crafters mark is included in TSM crafting cost by default, aren’t you adding it in twice if you do crafting plus the crafting string?
That’s why we subtract the cost for that profession first. If your crafter is on a second account it does not include the mark, both approaches are in the price source spreadsheet so you can get it right