I know people get tired of me saying this but there is a way to do this with InsertArg, I think.
1) build a template of the ability with 'hooks' in the place of the roll you want to drop; we'll call it SOURCE:
Random stat name 1 : [[@{Random stat name 1}+roll1hook]]
Random stat name 2 : [[@{Random stat name 2}+roll1hook]]
Random stat name 3 : [[@{Random stat name 3}+roll1hook]]
2) have a designated target for the finished command line; we'll call that TARGET (this step might be unnecessary, depending on the macro you are altering)
3) run an IA command something like...
!ia --button#SOURCE --roll1hook#[[1d20]] --label#Random Stat Macro
That will alter the command line from the SOURCE template, filling in the same roll to several locations, and drop a button into the chat. The button will run the altered command line. Instead of "button" you can use "chat" to run the altered command line immediately, or you can use "load" and then supply the TARGET as the destination if you want to store the result into the TARGET ability. The TARGET will be overwritten everytime you run the IA command, utilizing the SOURCE command line and handling the replacements. To supply TARGET, you would give it to the "store" argument:
--store#TARGET
Anyway, it's another option. Anyone wants to try it, I'll lend a hand with the syntax and setup.
I know. I know. InsertArg is my stapler.
