Macroの書き方

GuildBlog初投稿ですが、今回マクロについて説明したいと思います。
マクロを使うと、以下の様な問題を解決できます。
戦闘中に大忙しなので、操作の負荷を減らしたい。
アクションバーが一杯になってるけど、もっと色々アビリティを使いたいw


以下の説明は私のオリジナルではなく、英語サイトであるWow wikiの記事によっています。
逐語訳というより使用頻度が高いマクロに絞り、なおかつ説明も僕独自の超意訳版です。



#マクロを登録するにはどうするか
チャットウインドウに/macroと入力します。後はやってみてくださいw
作成したマクロはドラッグ&ドロップでアクションバーに配置できます。



#Abilityを発動する
/cast を使用すれば、自分のAbility一覧にある能力を発動できます。
例: /cast Multi-Shot
この例では、Multi-Shotを最高のランクで発動します。もっと低いランクで発動したい場合はMulti-Shot(Rank 5)という風にランクを指定してください。
能力の名前は、大文字小文字やスペースも含め、Ability一覧と全く同じにしなくてはなりません。
つづりを間違うと、能力を発動しないので注意しましょう。
Tips:マクロ編集画面とAbility一覧を開いておけば、Ability一覧をShiftクリックすることで能力名をマクロにコピーできます。


#アイテムを使用する
/use <アイテム名>を使用します。他の注意点は/castと同じです。
/use という記述の仕方も出来ます。
Bagは右から左に0〜4と数えます。 Bag内の位置は左上が1、右→下と数えます。
1 2 3 4
5 6 7 8
...


#1ボタンで複数のことを行う(その1)
基本的に、1ボタンで同時に複数の能力を使用することは出来ません。殆どの能力は1.5秒のグローバルクールダウン(GCD)を伴うため、同時に能力を使用しても失敗してしまうからです。
/cast Multi-Shot
/cast Steady Shot
このマクロの例ではMulti-Shot発動時点でGCDに入ってしまうため、次のAimed Shotは失敗します。
例外はGCDを伴わないAbilityです。 HunterのSilence ShotはGCDがないので、他のShotと同時に撃つことが出来ます。
/cast Silence Shot
/cast Steady Shot


#1ボタンで複数のことを行う(その2)
/castsequence ,, ...
1ボタンを連打することで、次々と能力を使用するマクロを組むことが出来ます。
/castsequence Multi-Shot,Steady Shot
この例では、ボタンを連打すれば、Multi-Shotを撃った後、GCD後にSteady Shotを撃ちます。
記述した能力を全て発動すれば、リストの先頭に戻って2周目に入ります。
何らかの理由でリストの途中の能力の発動に失敗すると、成功するまで該当能力の発動を繰り返します。


リセットの条件を記述することで、発動の順番を強制的にリストの先頭に戻すことが出来ます。
reset=/target/combat/shift/alt/ctrl
nにはリセットする前の経過秒数を指定します。最後にマクロが呼ばれてから、n秒経つとリセットされます。
マクロを連打していると経過秒数が元に戻ってしまいますから注意してください。
他のリセット条件は下記の通りです。 条件を/で区切ると「または」となります。
target ターゲットを切り替えたとき
combat 戦闘状態から離れたとき
shift shiftキーを押したままマクロを実行したとき
alt altキーを押したままマクロを実行したとき
ctrl ctrlキーを押したままマクロを実行したとき


#ターゲットを変更する
/target  名前を指定して、対象を現在のターゲットにします。
/target Yukikaze とすれば雪風をターゲットできます。 応用範囲が狭いのであまり使いません。


/assist 現在ターゲットしている対象がターゲットしている対象をターゲットにします。
ややこしいですね。^^; 例えばTankをターゲットして/assistすれば、Tankが攻撃している目標を自分も攻撃できます。
キーボードでFキーを押すのと同じ動作です。


/cleartarget 何もターゲットしていない状態になります。


/targetlasttarget, /targetlastfriend, /targetlastenemy
それぞれ、前回ターゲットしていた対象にターゲットを戻します。


/targetenemy, /targetfriend
実行するごとに次々と対象を切り替えます。
キーボードでTabキーやCtrl+Tabを押すのと同じ動作です。
/targetenemy
/cast Serpent Sting
この例では、付近の敵に次々とSerpent Stingを撃ちます。思わずAggroをとったりして危なっかしいので、ご利用は慎重に^^;
PvPでやれば、動く敵にAoEを撃ち込むよりずっと効果的です。


/focus
現在のターゲットをフォーカスします。



#条件によってマクロの動作を変える
/cast [条件文1] ; [条件文2] ; ...
マクロの中に条件文をはさむことで、条件によってマクロの動作を変えることが出来ます。
一番多い利用法は1ボタンに複数の機能を持たせることでしょう。
/cast [ctrl]Freezing Trap;Frost Trap
この例ではctrlボタンを押しながらマクロを実行するとFreezing Trapを、その他の時にはFrost Trapを配置します。
ターゲットの条件によって動作を変えることも出来ます。
/cast [help] Flash Heal; [harm] Shadow Word: Pain
この例ではターゲットが味方なら回復を、敵なら攻撃をします。
(※今回は詳しく説明しませんが、条件文が使えないマクロコマンドがあります。)


かっこ内の条件はカンマを使って複数記述でき、その場合「かつ」となります。
例えば[help, nodead]は、生きている味方という条件を表します。
スラッシュを使った場合は「または」です。


#条件文の一覧(本当は他にもあります)
combat - 戦闘中
dead - ターゲットは死亡している
exists - 何らかの対象をターゲットしている
flyable - Flyng Mountを使用できる場所である
flying - 空を飛んでいる
group:party/raid - パーティに属している またはRaidに属している
harm - ターゲットは敵
help - ターゲットは味方
modifier:shift/ctrl/alt or mod:shift/ctrl/alt - 対応するキーを押している
mounted - マウントに乗っている
party - ターゲットはパーティのメンバー
raid - ターゲットはRaidのメンバー
stance:0/1/2/.../n or form:0/.../n - 特定のスタンスやフォームをとっている
stealth - ステルス中
swimming - 泳いでいる


※前にnoを付けるとNot条件になります。



#能力を発動する相手を柔軟に指定する
[target=<対象>]
原則、能力は現在選択しているターゲットを対象に発動されますが、
上の条件文を使用することで、現在選択中のターゲットを変えることなく別の対象に能力を発動できます。
/cast [target=mouseover, harm] Silence Shot
上の例では、マウスカーソルを当てている敵に対してSilence Shotを撃ちます。 咄嗟に呪文詠唱を邪魔したいときに役立ちます。



文法の説明ばかりで実際の使い方がわからないかも知れないので、実例をいくつか挙げておきます。
Hunterネタばかりで恐縮ですけど。


/castsequence !Aspect of the Dragonhawk, !Aspect of the Viper
1ボタンで2つのAspectを切り替えます。


/focus [help]
/cast [target=focus] Misdirection
Misdirectionを使いやすくするマクロ。
1行目:味方を選択中の場合、フォーカスを設定します。 敵の場合はスルーされるので現在のフォーカスを維持します。
2行目:現在選択中のターゲットを変更することなく、フォーカスしている味方に対しMisdirectionを掛けます。


1回目はタンクを選択してこのマクロを実行します。 そうするとTankをフォーカスしてMDが発動します。
2回目以降は攻撃したい敵をターゲットしたままでマクロを実行すれば、フォーカスしているTankに対してMDを発動できます。
MDって何?って言う人は、Hunterに頼んで掛けてもらってくださいw


/castsequence [target=mouseover, harm, nodead] [ ] reset=12 Distracting Shot, Concussive Shot
Healerに跳ねた時、TankのタウントがCD中で間に合わない場合に自分にタウントします。
咄嗟に使用する可能性があるため、マウスカーソルを当てた敵に発動できるようにしています。
2つめの条件[]は無条件で発動します。そのため、マウスカーソルが敵に当たっていないときには自分のターゲットをタウントします。


/assist [target=focus]
/attack
/petattack
/cast Kill Command
先ほどの続き。フォーカスしているTankと同じ目標を攻撃します。
更に雪風を送り込んで、Kill Commandも発動。
3つを1ボタンで実行します。



/stopattack
/petfollow
攻撃を止めて、雪風も呼び戻します。 Noobが必ずしくじってしまう、例のBoss戦で使いましょう。



#これからのこと
ペット系コマンドや、装備変更、スタンスの変更など説明してないマクロも多く有ります。
全部説明を書くのは大変なので必要ならばリクエストください。
(スタンスとかはHunterには存在しないので自分が使っていないから説明していないという事情もあります^^;)