所有的宏命令的基本工作方式是相同的:一个命令,后面带上一个或多个参数(取决于命令的要求,有些甚至不需要任何参数)。看下面这些例子:
/cast 猛击
\___/ \___/
| |
| 参数
|
命令
/petattack
\_______/ \/
| |
| 参数(为空)
|
命令
/castsequence reset=target 献祭, 腐蚀术, 痛苦诅咒, 生命虹吸
\_________/ \_______________________________________/
| |
命令 参数
而命令条件语可以通过对一组条件进行的判断来选择命令的实际参数。首先,可以用分号分隔出若干个“若干组条件+参数”这样的子句,逻辑上,分号就相当于高级语言中的else或是elseif。条件的组数不定,也可以没有,同一组条件用一个方括号括在一起。而每组条件中有可以包含多个条件。就像这样:
/命令 [一组条件] [另一组条件] 参数1; [又一组条件] 参数2; ……
前面的例子已经说明了,宏命令的解释过程是从左至右的。当一组条件被判定成立时,命令就会采用其对应的条件。如果某一个子句中不包含条件,那么就被无条件判定为成立。像/cast XXX这种简单的宏命令就可以理解为一个只有一个子句的宏,而这个子句又不包含条件。而如果一个宏的任何一组条件都不为真,那么它就完全不会执行。