1)
I played with something like what you're referring to with Charge and it seemed to work, as for making a list, I don't think it's possible (very new to LUA myself), just swap focus for arena1, arena2 or arena3, but you'll have to make one for each spell, if you can't find a way to list.
Code:
{"Charge", {
"focus.exists",
"focus.casting(Polymorph)",
"focus.range <= 20",
"focus.range >= 8",
}, "focus", },
Instead of like, focus.casting you could use focus.buff(123) , focus.range is because charge has a deadzone, and the last "focus" is to denote the target of the action
2)
Code:
{ "Frost Shock", "focus.debuff(Frost Shock).duration <= 1", "focus" },
This should work. (Just modifying my own Charge functionality that I have found to work).
3)
Code:
{ "Wind Shear", { "modifier.interrupt", "focus.interruptAt(45)" }, "focus" },
Same as 2)
4)
Code:
{"Tremor Totem", { "arena1.casting(Fear)", "arena1.exists", } },
5)
Two functions:
Code:
{"Healing Stream Totem", { "!player.totem(Healing Stream Totem)", "!player.totem(Cloudburst Totem)", "player.totem(Healing Tide)", } },
{"Cloudburst Totem", { "!player.totem(Healing Stream Totem)", "!player.totem(Cloudburst Totem)", "player.totem(Healing Tide)", "player.spell(Healing Stream Totem).cooldown > 15", } },
This should work. (This is just off the top of my head, no testing)
6)
The whole List for dispel, I tired one like that for focus CC and it didn't work, but I think there's something like dispellable.magic/curse?
Edit: Couldn't find anything like dispellable.magic/curse but you could do:
Code:
{"Purify Spirit", "party1.dispellable(Hex)", "party1" },
But again it'll be like, really painful to have to do so many of them for each spell.
Disclaimer: This is all off the top of my head, it may work, it may not, I got hit w/ the banwave today so no WoW for me to test xd