絶オメガの余談、マーキングマクロの圧縮を考えた話。 1つ前の「絶オメガ検証戦クリア後の所感」記事に入り切らなかった余談になります。 当初は誰もやらないなら私がフェーズ5でのマーキングを担当しようかと思ってマクロを作っていました。
散開位置の優先度決めのマーキングについては色々と既存の方のものを参考にしましたが、1度番号を付けた人に別の番号を付けてしまう、誰にマーキングを付けたか分からなくなって違うマークを付けてしまう、といったマーキングミスを防ぐために
「PTリスト基準でマークを付けた後マーキングマクロではなくなる」という
同じ人に2度押しできなくなるマクロを作ることにするわけですが、
ホットバーの使用量が多くなるのが難点。
攻略解説なんかでは、「シグマでは鎖1~3、攻撃1~3」「オメガでは鎖1~2、攻撃1~4」を割り振る、といったマーキングが推奨されているのを見かけ、それをするためのマクロが、
<鎖マークを付けるマクロ>
/micon stop marking
/mk bind <X>
/hotbar marking 汎用プラス Y X
<攻撃マークを付けるマクロ>
/micon attack marking
/mk attack <X>
/hotbar marking 汎用プラス Z X という2つ。
ターゲットマーカーは数字指定をせず「/mk stop」や「/mk attack」だけにすることで、小さい順に番号を割り振って付けていくという挙動をする(※既に攻撃1が存在している状態で「/mk attack」を実行すると攻撃2が割り振られる、攻撃3がある時なら攻撃4が付く、という挙動になる)ため、上のマクロのように「X」に1~8でPTリストでの順番を指定、「Y」「Z」にはマーキングに使うホットバー番号を指定し、これを8人分作って、縦配置にしたY、Z番目のホットバーをPTリストの横や被せたりして上手く配置することで、直感的に
「PTリストのX番目の人に鎖or攻撃の番号を振ったらマクロが汎用プラスマークに変化して、その人にはマーキングマクロを2度押すことができなくなる」という挙動をするようになります。
注意点は、
「マクロをセットしたホットバーが使用後は全て汎用プラスマーカーに置き換わってしまう」という点で、
「再使用するためにはマクロを配置し直す必要がある」というところ。
当然ですが毎回手動で配置し直すのは手間なので、これに合わせて
「/hotbar copy 適当なジョブクラス (空いてるホットバー番号) 絶使用ジョブ Y(orZ)」というマクロを使い、
「あらかじめマーキングマクロをセットしておいたジョブクラスのホットバーを絶で使用するジョブのY番目ホットバーに上書きする」ことで即座に再使用可能にする必要もあります。
ホットバーコピーマクロには、同時に「/mk off <X>」というPTリストX番目の人のマーカーを削除するマクロ文を8人分(=8行分)加えておくと、マーカーをリセットしつつホットバーも使用前の状態にリセットできるようになります。
で、ここからが本題。 上述のマクロは縦配置のホットバーをPTリスト横に2つ並べて使用することを前提にしていて、シグマにもオメガにも対応できるものの、ホットバーの使用量が多い上に、
「鎖マークを付けた人に攻撃マークを上書きする(もしくは逆に攻撃マークに鎖マークを上書きする)」みたいな
「隣のホットバーのマクロを押してしまう」ような押し間違いは防げません。この押し間違いを防ぐためには鎖マークと攻撃マークを付ける互いのマクロに隣のホットバーのマクロがあるところも汎用プラス等に置き換えるマクロ指示を追加しておく必要があります。
とは言えホットバーを2本も使いたくないなというのが正直なところ。フェーズ5のシグマの塔踏みでマクロ押すだけ式を採用した場合、更にホットバー使うことになりますし。
要するに
「押し間違いも防げて鎖1~3と攻撃1~4付けるのをマクロ1つに1本化してホットバー使用量も1本で済むように節約できないか?」と考えたわけです。
そこで私が考えたのが、
<鎖1~3→攻撃1~と順番に付けていけるシグマ用マーキングマクロ>
/micon bind marking
/mk attack <X>
/mk bind <X>
/hotbar marking 汎用プラス Y X と
<禁止1→2→攻撃1~と順番に付けていけるオメガ用マーキングマクロ>
/micon stop marking
/mk attack <X>
/mk stop <X>
/hotbar marking 汎用プラス Y X の2つ。
マクロは上から順に実行されるため、
「PTリストのX番目の人に攻撃マーカーを割り振った後、鎖(禁止)マーカーを割り振り、ホットバーのX番目を汎用プラスマークに置き換える」という挙動を取ります。
数字指定をしないターゲットマーカーマクロは、
「番号を小さい順に割り振り、番号全てが使用(既に付与)済みだと処理がスキップされる」という性質があります。
従って、この2つのマクロは、
順番に押していくことで「鎖1~3を付ける→攻撃1~5を付ける」「禁止1、2を付ける→攻撃1~5を付ける」という順番で割り振っていくことができます。
コードオメガのギミックでは検知とブラスターの対象者はいずれも2名までなので、数字が3まである鎖(bind)ではなく2までしかない禁止(stop)を使うことでマクロを圧縮できると考えたわけです。
ちなみにこのマクロの欠点としては、マーキング処理を2種類実行しているため、鎖または禁止のマーキングが計算処理されるより早く次の人のマクロを押してしまうと、前の人のマーキング処理を中断して次のマクロが実行されてしまい、エラーを起こして鎖や禁止マークが付く処理の前に停止してしまう(後から押した方の人に鎖1や禁止1がついて前に押した人が攻撃1とかで止まってしまったりする)ため、押す間隔にはちょっとだけ注意が必要というところ。
ちなみに、コピー元となるホットバーを別ジョブや別クラスの未使用ホットバー等にそれぞれシグマ用、オメガ用と用意しておき、ホットバーコピー&マーキング削除のマクロを2つ用意し、「シグマ用マーキングホットバーの呼び出し(+マーキングリセット)」「オメガ用マーキングホットバー呼び出し(+マーキングリセット)」としておくと運用時のジョブではホットバー1本に圧縮して両対応できます。
ちなみに使用するホットバーはオプションから共有を切っておく必要もあるので注意が必要です。
一応実際に私が作ったマクロを記載しておきます。
実際には私がこのマクロを使うことはなく、コードオメガの1回目にマーキングを担当してくれたBHさんに使用してもらう形になりました。(コードオメガ1回目のマーキングタイミングにバースト合わせが被っていてガンブレイカーのバーストスキル回ししながらマーキングと男女&波動砲の安置まで判断するのは私には無理でした)
コードシグマ、コードオメガ2回目はレンジさんが別途自前で用意したマクロでマーキング担当してくれたので、出番はちょっとだけしかありませんでしたが、せっかく考えて作ったしお蔵入りさせておくのも勿体ないかなと思い記事にしてみました。
1.マクロを押すと、「/mk attack <X>」が実行されてPTリストのX番目の人に攻撃1を付ける
2.続いて「/mk bind <X>」が実行されてPTリストのX番目の人に鎖1を付ける
3.最後に「/hotbar marking 汎用プラス Y X」が実行されてマクロが汎用プラスマークに置き換わる
4.次の人にマクロを実行すると、攻撃1が一瞬付いてから、鎖1が存在するので鎖2が付く
5.更にマクロを使うと、攻撃1が一瞬付いて、鎖2が既に存在するので鎖3が付く
6.次に使うと、攻撃1が付いて、鎖4はシステム的に存在しないので処理されず攻撃1のまま終わる
7.次に使うと、攻撃1が存在するので攻撃2が付く
……という処理が行われます。