戯言草紙(CoJ/LoV3日記)

ゲーセンについて色々。最近はめっきりLoV3

フィフティニーとかポメの富士のスキルについて

フィフティニーでソードファイターをブロックしたのに
ソードファイターの【アタッカー】が発動する

ポメの富士をBP1000のユニットでブロックしてから
不可侵を使用したのに【大金星】が発動する

といったCoJの効果の処理の順番に悩んでいる人が多いけど
結構ややこしいので処理の流れを誤解してしまっている人が多い模様。
ちょっと説明する。細かい所、間違ってたらすまんね(逃げ道)

ターンは細かいフェーズ(ステップ)の積み重ね

いろんなTCGと同様、CoJでも各ターン中は
細かいフェーズ(ステップ?)に分かれて処理されている。

フェーズを進行させる権限は基本的にターンのオーナーが持っていて、
普通のTCGではターンオーナーが「戦闘フェーズに移行します」と宣言して、
対戦者が特に止めなければ次のフェーズに移行する。
(カジュアルなプレイでは宣言を省略することも多いだろうが)
COJではこのフェーズ移行をプログラムが処理しているので、
プレイヤーはその存在を認識しにくい。

特に細かくフェーズが分かれている戦闘の処理において
本来はプレイヤーが細かく発動タイミングとかを認識しないといけない所が
プログラムが勝手にやってくれているので、中々理解が進まないのである。

フェーズはどれぐらいあるのか

各ターンはこんな感じにフェーズ分割される。

  1. ターン開始
  2. メイン
  3. ユニットドライブ
  4. アタック宣言 ※1
  5. アタックユニット指定
  6. ブロックユニット指定
  7. ユニット戦闘開始
  8. ダメージ処理
  9. ユニット戦闘終了
  10. ユニットの破壊
  11. 2.に戻る
  12. ターン終了

細かいことだけど、対戦者がブロックをしなかった場合

  1. ターン開始
  2. メイン
  3. アタック宣言 ※1
  4. アタックユニット指定
  5. ブロックユニット指定
  6. プレイヤーアタック
  7. 2.に戻る
  8. ターン終了

というフェーズになる。

※1 プレイヤーの操作的には1挙動だけど内部的に分かれる

各フェーズ内での処理は?

上のようなフェーズは何となくカードの効果が発動する
タイミングでおおよそ理解しているつもりでも、
この各フェーズ内での処理を誤解している人が多い。

実は各フェーズは更に細かいサブフェーズ(造語)に分かれていて
これが少しややこしい。

f:id:sisui_ro:20130923031715j:plain

大体こういった処理になっていると考えると良い。
厳密には

  • ユニットの能力はそのフェーズの最中には1回しか発動できない

とか細かい補足ルールが付くんだがその辺は割愛。

で、自分が攻撃側の時インターセプトを使わないでおいて
相手がブロック後に不可侵を撃ってきたら自分も悪の覚醒を撃つ、
というようなことをしたことは多くの人があると思う。
これは、上に書いたように相手側の効果が発動した後、
自分側の効果が発動する機会が与えられているから。

そして、これは自動発動するユニットの能力においても同じで
先に書いたように、ポメの富士の場合、【大金星】が最初に発動しなくとも、
その後のトリガーやインターセプトで条件を満たせば
【大金星】は発動するのである。

よく言われる絶妙な挑発を置いた状態で、実習生リーナを出した場合も同じ。

なお、フィフティニーでブロックした場合、
当然ながら相手のアタックユニット側の能力が優先されるので、
一番最初に書いたような事例は当然である。
あくまでも彼女の能力「戒めの矢」が発動してからの話。

ちなみに各フェーズとかサブフェーズの中で「ユニットの破壊」が発生した場合は
現在処理中のフェーズは処理を中断して、「ユニットの破壊」フェーズが
割り込みで新たに生じる感じになっていると思う。詳細は次の節で。

非常にややこしい実例

魔槍のリリムで見習い魔導士リーナを焼き、相手のエクトプラズムで
リリムが死んだ時、アーマーブレイクやハウリングが使えないのは何故か?

これが先に書いた「フェーズの途中でのユニットの破壊」事例。
経験したことがある人もそろそろ増えてきたかも知れない。

そう、ユニットのCIP能力で敵ユニットを破壊した際、
相手がエクトプラズムでそのユニットを道連れにすると、
「あなたのユニットがフィールドに出た時」の効果が発動しないのである。
これを理論立てて説明出来る人は中々いないかもしれない。

私の見解は、先に書いた"「ユニットの破壊」フェーズの割り込み"説。

まず、最初にリリムが出た時に「ユニットドライブ」フェーズが開始する。
サブフェーズを順番に処理するので、
リリムの【デーモンスピア】が発動し、相手のユニットが破壊される。
で、先のフロー図で言えばその後、先に自分の「アーマーブレイク」を使える
サブフェーズが来るはずなのだが、
それが来ずに相手に「エクトプラズムを使う」サブフェーズがやってくる。
これはおかしい。

これを説明できるのが、先に書いたように【デーモンスピア】で
「ユニットの破壊」フェーズが割り込みで生じたという考え。

「ユニットドライブ」フェーズは一旦ストップされ、
「ユニットの破壊」フェーズが処理される。

「ユニットの破壊」フェーズでも先に自分がインターセプト
使う機会が回ってきそうに思えるが、
このフェーズは「ユニットドライブ」フェーズではないため、
「あなたのユニットがフィールドに出た時」に該当せず、
「アーマーブレイク」を使うことはできない。
このため、相手が「エクトプラズム」を使うサブフェーズが処理される事になる。

で、この「ユニットの破壊」フェーズが終わると、
最初の「ユニットドライブ」フェーズに戻ってくるのだが、
リリムが破壊されてしまっているために、このフェーズは途中で
終了してしまい、結局「あなたのユニットがフィールドに出た時」の
効果を発動する機会が失われる、ということではないか。

なお、相手のエクトプラズムでリリム以外のユニットが破壊された場合、
普通に「アーマーブレイク」を発動することができる。
このため、「ユニットの破壊」フェーズが割り込みで生じても
「ユニットドライブ」フェーズが失われるわけではない事がわかる。

まとめると、「ユニットドライブ」フェーズの処理中に、
「ユニットの破壊」フェーズが発生し、
その最中に最初に「ユニットドライブ」フェーズを起動したユニットが
破壊されると、「ユニットドライブ」フェーズは消失する、
ということである。