This thread is intended to document the method for using multiple castsequences in a single button push. Its primary purpose is for classes who have to cast an occasional dot or debuff but need to spam a direct damage spell in the mean time. For example, a mage who has to refresh scorch, or a Druid who needs to keep insect Swarm and Moonfire up while spamming wrath/starfire in the mean time, or a paladin who wants to refresh a seal at the begining of a fight, and recast that seal at the end of its life. I won't go over the specific coding of each class, unless there is a demand for it. I believe everyone who utilizes macros should understand how and why they work.

This method require's no add-ons, and can be done with the base Ui.

This post will be broken down in to three sections: 1. /click functionality and syntax, 2. incorporating delays in to /castsequences, and 3. Calling multiple macros from a single macro.

Part 1. /Click and you.

First off, credit goes to Vyndree for posting how to use /click. I never would have figured this out if she hadn't pointed out how to do it.

/click is basically a method for clicking multiple buttons at once. It is built in to the base UI. If, for example, you were to type "/click ActionButton1" it would behave as if you had clicked the first button on your base action bar, or had pressed "1" on your keyboard. Action buttons go from 1 to 12, and the appropriate number should be subsitited for which button you want to call. The syntax changes if you are using multiple action bars (which should be 100% of players).

The Syntax is as follows:
Code:
/Click ActionButton1  -- clicks the called button on the main action bar
/click MultiBarBottomLeftButton1 -- Clicks the called button of the bottom left action bar
/click MultiBarBottomRightButton1 -- Clicks the called button of the bottom right action bar
/click MultiBarLeftButton1 -- Clicks the called button of the left sidebar action bar
/click MultiBarRightButton1 -- Clicks the called button of the right sidebar action bar
Part 2. Incorporating delays in to your castsequences.

Using castsequence, you can create delays between when spells will fire. For example, you are a druid wanting to cast insect swarm every 18 seconds. You would use a macro with the code:
Code:
/castsequence reset=target Insect Swarm,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
What this does is allows you to spam the macro, and insect swarm will only cast once every 18 seconds.

Disclaimer: This assumes you press the button 5 times per second. If you press the button faster or slower, you will need to adjust the number of commas to Keystrokes/second times seconds between casts.

Part 3. Calling Multiple Macros from a single Macro.

Now that our tools are layed out, I will go over how to combine them in to a working macro.

First things first, we'll need to set up all the macros we will be calling. I'm going to go off a druid example of someone wanting to maintain two dots while casting a direct damage spell in between.

First up, the Macros:
Code:
//Macro1 - the multicall macro   //since we are calling 3 potential actions, we'll be using 3 /clicks.
/click MultiBarBottomLeftButton1
/click MultiBarBottomLeftButton2
/click MultiBarBottomLeftButton3

//Macro2 - Insect Swarm
/castsequence reset=target Insect Swarm,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

//Macro3 - Moonfire
/castsequence reset=target Moonfire,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

//Macro4 - Wrath
/cast Wrath
Once the macros are set up, by putting Macro1 on the left most button of your main action bar, and Macro2, 3, and 4 on the bottom left action bar (in that order from left to right, mind you), all three sequences can be called at once.

By spamming 1, the macro will play out as follows: Insect Swarm is cast, Moonfire is cast, wrath, wrath, wrath, etc until the 12 seconds it take for moonfire's artificial cooldown to expire is up, at which point it is cast again. A few more wraths will fire off until the 18 second mark hits, at which point Insect Swarm will be reapplied. This will continue for as long as you have mana and a target.

The macro functions in the following manner: when it is clicked the first time, it click the first button in the sequence, insect swarm. It is available, and so it casts. Moonfire and Wrath do not get cast, as a valid cast has already gone through for that click, and the global cool down is still up. Once the global cool down is up, macro1 will pass without casting anything, and Macro2 will cast Moonfire. Again, Macro3 doesn't do anything because a valid action has already been taken. Onec the GCD has passed again, Macro1 and 2 will pass with nothing being cast, and Macro3 will cast Wrath. Macro1 and 2 will continue to pass until one or the other runs out of delay commas, and they become an available cast again, which SHOULD be just as the initial DoT expires.

Using this type of functionality, you can create various concurrent castsequences to take some of the hassle out of micro-managing DoTs and Short term buffs. If there are any questions, please post them and I'll answer as best I can.