Seeking Macro Help: Mage Polymorph: Random Polymorph Type

Hi I am trying to macro my Polymorphs so that i cycle through them at random. Currently the following works, but is 248/255 characters so it will not work if more are added.

#showtooltip Polymorph
/y %t, let’s see what you really are!
/castrandom Polymorph(Black Cat),Polymorph(Bumblebee),Polymorph(Monkey),Polymorph(Pig),Polymorph(Polar Bear Cub),Polymorph(Porcupine),Polymorph(Rabbit),Polymorph(Sheep),Polymorph(Turtle)

as stated, this works, however i would love to be able to add as new come out, which i clearly cannot with this one.
i figured the following might work, but the substitution fails.

#showtooltip Polymorph
/y %t, let’s see what you really are!
/run p={‘Black Cat’,‘Bumblebee’,‘Monkey’,‘Pig’,‘Polar Bear Cub’,‘Porcupine’,‘Rabbit’,‘Sheep’,‘Turtle’}
/run n=random(1,9)
/cast Polymorph(p[n])

this is only 204/255 characters and would be much more expandable.
i added the following before the last line for debugging:

/script SendChatMessage(p[n])

this resulted in the following print out:

[08:39:41] Unknown macro option: n
[08:39:42] [S] [120:Ignigenamira]: Polar Bear Cub

which tells me the issue is the p[n]

i tested the following:

#showtooltip Polymorph
/run p={‘Black Cat’,‘Bumblebee’,‘Monkey’,‘Pig’,‘Polar Bear Cub’,‘Porcupine’,‘Rabbit’,‘Sheep’,‘Turtle’}
/run n=random(1,9)
/run s=p[n]
/script SendChatMessage(s)
/cast Polymorph(s)

but s wont get interpreted. thus it fails to cast. any ideas on how to enable this short of petitioning blizzard for a “cast random known polymorph” button?

thank you in advance.

Not possible. Can’t cast spells via scripts. It’s an anti-botting measure.

There are however addons that will let you create macros longer than the 255 limit.

@Elvenbane: thank you. it looks like i may soon have to get one of those addons.
@Blizzard: i understand the anti-botting measure. would it be possible to turn this into a reason to make a “random known polymorph” built in spell?

The count of possible effective methods for removing the integumentary layer from a feline is greater than one.

#show
/castrandom Polymorph(Black Cat),Polymorph(Bumblebee),Polymorph(Monkey),Polymorph(Pig),Polymorph(Polar Bear Cub),Polymorph(Porcupine),Polymorph(Rabbit),Polymorph(Sheep),Polymorph(Turtle)

That cuts the base of it down to 193 bytes.

showtooltip is kind of pointless there because you already know it’s a polymorph and you won’t know which it is until execution time anyway.

If you want that yell to still work then do it this way:


MacroName: YellAndPoly

Placement: Where you want the activating button for this to be.

#show Polymorph
/y %t, let's see what you really are!
/click <some button name>

MacroName: RandomPoly

Placement: Out of the way on a non-paging bar button - replace <some button name> in YellAndPoly with the button frame name that this ends up on.

#show
/castrandom Polymorph(Black Cat),Polymorph(Bumblebee),Polymorph(Monkey),Polymorph(Pig),Polymorph(Polar Bear Cub),Polymorph(Porcupine),Polymorph(Rabbit),Polymorph(Sheep),Polymorph(Turtle)

On the off chance that you end up with more polymorph variants than will fit there, then the next thing is to break the polymorph list into two macros (an even split would be the best choice here) and use a modifier to split the randomization between them.


MacroName: YellAndPoly

Placement: Where you want the activating button for this to be.

#show Polymorph
/y %t, let's see what you really are!
/click [mod]<some button name>;<some other button name>

MacroName: RandomPoly1

Placement: Out of the way on a non-paging bar button - replace <some button name> in YellAndPoly with the button frame name that this ends up on.

#show
/castrandom <first half of your polymorphs separated by commas>

MacroName: RandomPoly2

Placement: Out of the way on a non-paging bar button - replace <some other button name name> in YellAndPoly with the button frame name that this ends up on.

#show
/castrandom <second half of your polymorphs separated by commas>
2 Likes

There’s an addon called LongMacro which allows you to do 1023 character length macros. I use it and it has been very reliable and have many macros that are 800+ characters long (multiple modifier controlled spells for all 3 specs).

Although I thought castrandom was broken and not actually random anymore.

@Ehiztari: thank you! i did not know about how to chain buttons.
add in https://us.battle.net/forums/en/wow/topic/1965621414
and the /framestack command shown there and i have my method =o)

@Tinkerizmo: i never heard about that and it seems to still work. if its not random it still cycles, which is what i am going for.
also ty on the “LongMacro” hint. between that and what i can find on Twitch, i have options now when i now run out of space