実用 WoW Macro 第2版

はじめに
本書は World of Warcraft のマクロ機能について、より実践的な機能を解説するものである。マクロの基本的な使い方、構文については『初めての WoW Macro』も参照いただきたい。
目次
- 第一章 GCDハック
- 第二章 255文字との戦い
- 第三章 !Spell構文
第一章 GCDハック
GCD とは
GCD とは Global Cooldown の略である。これは次に Ability を実行することができるまでの待ち時間のことである。ほとんどの Ability には1秒程度設定されている。これがあるため、たとえインスタントスペルであっても間髪いれずに連続で大量に唱えるなどはできない。
たとえば、以下のようなマクロは動作しない。
/cast Shadow Word: Pain /cast Devouring Plague /cast Shadow Word: Death
これは最初の Shadow Word: Pain を実行した後、その GCD 中に次の /cast
行に進んでしまうため、『Spell is not ready yet.』エラーとなる。(この場合は /castsequence で順に切り替わるマクロを使うなどするとよい)
GCD フリーな Ability
ただし、GCD を発生させない Ability もある。主に自分への Buff となる Ability にそのようなものが多い。例えば以下は Druid で Incarnation と Berserk を一度に実行するマクロである。
#showtooltip Incarnation /cast Incarnation: King of the Jungle /cast Berserk /run UIErrorsFrame:Hide()
マクロの前半で GCD を発生させないもの、最後にひとつ GCD の発生するものを登録することで、いくつかをまとめることができる。例として、Inner Focus は Priest の Ability で、次に唱える回復スペルのマナコストを0にするなどの効果がある Buff であり、GCD は発生させない(ただしそれ自身は45秒のクールダウンがある)。
/cast Inner Focus /cast Flash Heal
このマクロは、もし Inner Focus が使えるときは自動で使ってから Flash Heal を唱えるマクロである。もし Inner Focus がまだ使えない場合も、Inner Focus が失敗するだけで次の Flash Heal は通常通り使えるため、「45秒に1度マナコストゼロで使える Flash Heal 」というように使える。
使いたい Ability の GCD があるかどうかについては、それを実行した後アクションバーのほかのスペルのアイコンがいっせいに反応するか、もしくは Wowhead でその Ability の GCD の項目を確認すると良い。
#showtooltip /cast [mod:shift]Inner Focus /cast [mod:shift]Archangel /script UIErrorsFrame:Hide() /castsequence [nomod]reset=50 Alchemist's Rejuvenation,Healthstone;[@mouseover,help][@player]reset=target/5 Flash Heal,Penance
このように通常の /castsequence
に、その効果を増加させる GCD が無い Buff を組み合わせる利用が一般的である。
UIErrorsFrame:Hide()
GCD フリーな Buff はたいてい独自のクールダウンを持っているが、その待ち時間に再度実行するとまだ Ability は使えないというエラー(『Spell is Not ready』)が表示されたり音声メッセージが流れる。
エラー表示については、以下の /script
行を入れることで WoW の API を使って即消しすることができる。音声エラーについては メニュー → Options → Sound → Error Speech をオフにすることで消すことができる。
/cast Inner Focus /script UIErrorsFrame:Hide() /cast Flash Heal
第二章 255文字との戦い
/use, form:
マクロでは /use
と /cast
は同義であり、アイテムやスペル(または混在)に対しても /castsequence
を使える(ただし /usesequence
は無い)。もし sequence が必要ない場合、スペルの場合であっても /use
を利用すると1文字多く使える。
数文字を削減すると言う観点では、stance:
コンディションも form:
で代用できる。こちらはなんと2文字も削減できる。
BindPad マクロ
マクロは255文字までしか登録できないのが悩みの種であるが、いくつかの解決法がある。ひとつは、BindPad という Addon の BindPad マクロというものを使う方法で、文字数制限のないマクロを記述できる。BindPad マクロについては 初めての WoW Macro で解説しているので参照されたし。
ただし、BindPad マクロはあくまでキーに割り当てることができるだけで、長い /castsequence
を使った場合など、次にどの Ability だろうか、というのをアクションバー上で確認することはできない。そのような場合は、/click との組み合わせが便利である。
/click
/click は、特定のボタンを押す、ということを示すマクロ構文である。
/cancelaura [mod:ctrl,stealth] Prowl /cast [mod,stance:5,flying]Swift Flight Form; [mod:ctrl,stance:3,nostealth]!Prowl;[mod,nostance:3][nostance:1/3]Cat Form /cleartarget [dead][noharm] /targetenemyplayer [noharm,stance:3] /stopmacro [nostance:1/3][noharm][mod,nocombat] /startattack [stance:1/3] /use 10 /run UIErrorsFrame:Clear() /click ActionButton5
これは筆者の Druid 用のマクロの一部で、ひとつのキーに複数スタンスの切り替えや Buff を使う部分、メイン攻撃ローテーションを含むマクロである。といっても、メイン攻撃部分を記述する前に255文字をオーバーしてしまうため、その部分は別マクロとして用意、アクションバーの5番にセットし、上記マクロからは最後の /click ActionButton5
でつないでいる。(アクションバーのボタン名はこの部分に一覧がある)
/click
構文が便利なのは、Druid や Shadow Priest のようにスタンスでアクションバーが変わる場合や、タレントの Dual Spec でアクションバーを切り替えた場合も、「現在のアクションバー1を押す」という意味になるため、スタンス や Spec での切り替え機能としても使える点である。(もちろん /cast [stance:1]
や /cast [spec:2]
のようにマクロ内でも分岐はできる)
/stopmacro の利用
#showtooltip /castsequence [mod,@mouseover,harm][mod,harm]reset=8 Holy Fire,Smite,Smite;[@mouseover,harm][harm]Penance
例えばこのような同じ条件が連続するマクロの場合、/stopmacro
を利用して分割することで文字数を節約したり挙動をわかりやすくできる場合がある。
#showtooltip /stopmacro [noharm] /castsequence [mod,@mouseover][mod]reset=8 Holy Fire,Smite,Smite;[@mouseover][]Penance
この /stopmacro
が良いのは、#showtooltip
で表示される内容やアイコンには影響しないため、変更前のマクロだと敵をターゲットしていないとアイコンが「?」になるのに対し、後のものは敵をターゲットしていなくてもアイコンが表示される(ただし実行はされない)ので CD 時間などを知るのに便利という効果もある。
Slot IDの利用
Trinketの1個目は13番、2個目は14番というスロット ID がふられている。そのため、以下のようにアイテム名で書いても
/use Malevolent Gladiator's Medallion of Tenacity
以下のようにスロットIDで書いても同じように使える。
/use 13
スロット番号の対応は以下の通りである。
もし装備しておらず Malevolent Gladiator’s Medallion of Tenacity がバッグに入っている場合、アイテム名で書いた場合そのアイテムを右クリック、つまり「装備する」という挙動になるという点も異なる。単体装備を装備し直すという意図がない限り、スロット番号で指定するのが意図した挙動であろう。
なお、バッグ内のアイテムについても、名前ではなく バッグ番号 スロット番号
という形式で表現することができる。バッグ番号は右から順に0から始まり、スロット番号は左上が1で右に順に増えていく。たとえば、最初のバッグの左上にあるアイテムは 0 1
、その右にあるアイテムは 0 2
となる。
/use 0 2
これは最初のバッグの左上のひとつ右隣のアイテムを使うマクロとなる。ただし、もしバッグを整理する Addon を利用している場合はどのスロットに保存されるか未定なため、アイテム名を使うか、前述の /click
を利用すると良いだろう。
Item IDの利用
アイテム名の代わりに、Item IDを使うこともできる。これは item
:アイテムのID
という形式を使う。
/use Alchemist's Rejuvenation
このアイテムの Item ID は 76094 であるため、同じことを
/use item:76094
と書くこともできる。Item ID は wowhead のサイトで検索してその URL で確認したり、チャット欄で以下のようなワンライナーを使って確認できる。
/script local _, id = strsplit(":", "[Alchemist's Rejuvenation]"); print("item id: " .. id)
※このコードの [Alchemist's Rejuvenation]
の部分は、実際に入力するのではなく ""
の中にカーソルを合わせ、アイテムを Shift キーを押しながらクリックすることで挿入した文字列
オリジナル関数の追加
Coming soon!!
第三章 !Spell構文
!Spell構文
同じ Ability で、一度実行すると ON もう一度実行すると OFF になるパターンのものがある。そういった Ability は先頭に !
をつけると必ず ON とすることができる。
/cast !Prowl
例えば、このマクロは Druid の Cat Form でステルスになるマクロだが、Prowl の先頭の ! がない場合、すでにステルス状態の場合は解除になってしまう。! があると常にステルス ON になり解除としては動作しない。先頭の ! がない場合、もし間違ってそのマクロを連打した場合にステルス→すぐ解除という動作になってしまうが、それを避けたい場合に有効である。
ただし、その Ability は実行した扱いとなる。つまりマナを消費するので、この場合は以下のようにステルスではない場合のみ実行するようにすると経済的である。
/cast [nostealth]Prowl
逆に、実行した扱いになるということを利用し、Druid のフォームチェンジにより Root/Snare を解除するスキルを発動させたいがフォームは同じままにしたい場合に利用できる。
/cast [stance:1] !Bear Form /cast [stance:2] !Aquatic Form /cast [stance:3] !Cat Form /cast [stance:4] !Travel Form
これは、「クマならクマになる」などを並べたマクロで、パワーシフティングと呼ばわれる Druid の間では有名なテクニックである。
補足: Spell構文!
他のクラスで存在するのかわからないのだが、Feral Druid の Ravage について、Proc 時に使える Ravage としてRavage! というものが別にそんざいする。もしかして他のクラスについても、Proc 時に効果が変わるスペルについて後置 ! を付けたものが使える可能性がある。
—
著者紹介
Tomill(トミール)
2010年から Warcraft を Horde サイドでプレイ。ほとんど Battleground しかしないプレイヤーとしてギルド内で狭く薄く知られている。メインキャラは Momill(Feral Druid)、Gomill(Disc Priest)。お気に入りのフィールドは Warsong Gulch。
カバーの説明
本書の表紙の動物は熊です。World of Warcraft において熊は、Hunter がペットにして従えることができる動物だけではなく、Druid が変身できるフォームの一つとして知られています。Druid は多彩なフォームの切り替えを特徴とする“器用貧乏な”クラスとして知られており、能力をフルに活用するにはマクロに頼らざるを得ません。
画像はM/Y/D/S 動物のイラスト集を利用させていただきました。ありがとうございます。
第二版: 2012年11月2日発行 随時更新
第一版: 2011年7月8日発行
—
(注)この項目はオライリー社の技術書をパロって書いてみたものです。内容はできるだけ正しいものになるように気をつけていますが、間違いなどを見つけた場合は @tomita までご連絡ください。
コメントを残す