Hearthstone toys are nice, but

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.

  1. Set your toybox to show only collected toys.
  2. 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.

2 Likes

Although I’m not into using random toys, even hearthstones I agree that there should an option to do that.

1 Like

I think each hearthstone toy should have it’s own cooldown. Like Astral Recall for shamans.

I use this addon
RandomHearthstone from curse (can’t post links yet unfortunately)
seems to work quite well.

Type in the URL, highlight it and then press the </> button.

www.thisisaurl.com

https://www.curseforge.com/wow/addons/randomhearthstone

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.