You keep bringing out new toys, and they’re nice and all, but the whole toy system is a mess and desperately needs attention.
I have three different Hearthstone toys that I would love to press one button and have a random one selected to use. Something like /castrandom, that still works with my Azure and Crimson Water Striders but that does not work with toys.
Oh there’s ways. This ridiculously complicated setup that breaks every time you get a new toy (which happens all the time these days) is one of them. It takes ages to set up, it’s overly complicated, and it’s a mess:
IMPORTANT! Every accounts’ macros will be different.
- Set your toybox to show only collected toys.
- Find the position of each hearthstone toy in your toybox.
Example: The FIRST toy in the upper left of page 1 of your toybox is 1. The one to its immediate right is 2, the last one in the first row is 3. So they are defined as 123.
The first page of your toybox is assigned the following numbers
123
456
789
10, 11, 12
13, 14, 15
16, 17, 18
And then the second page starts in the upper left with 19.
If you have ANY favorited toys, they will of course be on page 1 and your first favorited toy in the list will be assigned the number 1.
So let’s look at the macro:
/run local f,a,t=RnT or CreateFrame(“Button”,“RnT”,nil,“SecureActionButtonTemplate”),{1,4,5,11} f:SetAttribute(“type”,“item”) t=GetItemInfo(C_ToyBox.GetToyFromIndex(a[random(#a)])) f:SetAttribute(“item”,t) print("use: ",t)
/click RnT
Pay close attention to the part that is {1,4,5,11}. That is a table that must be filled with the numbers for each hearthstone in your toybox that you want to random to.
The macro will print the name of the toy used. If you don’t want that function, delete the print call so it looks like this:
/run local f,a,t=RnT or CreateFrame(“Button”,“RnT”,nil,“SecureActionButtonTemplate”),{1,4,5,11} f:SetAttribute(“type”,“item”) t=GetItemInfo(C_ToyBox.GetToyFromIndex(a[random(#a)])) f:SetAttribute(“item”,t)
/click RnT
NOTE: any time you collect a new toy or change your favorites list, this macro must be updated.ime you collect a new toy or change your favorites list, this macro must be updated.
You cannot tell me this is a good solution, but this is the best option available at the moment.
Every time I get a new toy, I barely care. It doesn’t matter how cool it is, I’ll never use it. I have about five different cooking fires, and I’d love a macro that just lets me cast one at random when I want to cook, but no. I have a huge range of toys that turn me into all sorts of different things. Do you think I ever use them? No. I can’t even sort the damn things into categories.
All it would take is fixing /castrandom so that it works for toys too. I’d get so much more use out of my toys if you do that.