海外のスマブラDXのシステムに非常に詳しい Kadano 氏の「Priority, spacing, clanging and rebound | Hitbox interaction」動画をみて、これまできちんとした理解をしていなかった、攻撃の相殺(Clang)周りの理解を深められたのでまとめておきます。
英語がそこまで堪能なわけではないので、理解が間違っていそうな箇所があったらコメントで是非指摘をおねがいします!
※おれの理解が特に浅かったのは相殺周りなので、この動画で解説している「複数攻撃判定のあり同時に食らい判定に触れた場合の優先度(ID が小さいものが優先)」などの部分はこの記事で特別取り上げません。
相殺が起こるとどうなるか
攻撃判定が、「他者の攻撃判定」と「他者の食らい判定」に同時に重なった時、「ヒット処理」の前に「相殺処理」が入ります。相殺処理の結果、相殺が起こったと判定されると、ヒット処理が行われなくなります。
相殺が成立すると、「相殺ストップモーション(ゲーム内ではREBOUNDSTOPという名称)」の後(※)、「相殺モーション(REBOUND)」になり、その後動けるようになります。
※後述の「hib2」パラメータの値によっては、「REBOUNDSTOP」→「REBOUND」が起こらず、「その攻撃モーションのまま相殺ストップ」→「残りのモーション」となる
相殺ストップ(REBOUNDSTOP)
長さはヒットストップの長さの計算式と同じ(属性も見るかは不明。見ない気がする)で、本人の攻撃判定のダメージ量で決定する。
よって、よりダメージ量の多い側が不利フレームを背負う。
相殺モーション(REBOUND)
長さは、動画によると「6.6 + [damage] * 0.558」。
同じくダメージ量に比例するので、ダメージが高い攻撃判定を出していた側の方が長くなり、不利フレームを背負う。
相殺の有無の要素
動画の 2:04 から、相殺になるかどうかが分かりやすい表が提示されています。
- 攻撃判定同士のダメージ差
- 攻撃判定を出しているキャラが、現在、地上判定なのか空中判定なのか
- 各々の攻撃判定に設定されているパラメータ (Clang(hib1, hib2), artib)
ダメージ差
厳密には、OP相殺を考慮した上での「実際に与えるダメージ」の差です。
差の計算は、「双方のダメージの小数を切り捨てた後の」整数同士で行います。
差の結果の絶対値が 8 以内であれば、パラメータに応じた相殺判定に進みます。9以上であれば、「ダメージの高い方」には相殺が起こらず、攻撃判定が有効なままそのモーションが継続されます。
Grounded / Aerial / Article
攻撃判定の持ち主が、現在、地上判定なら Grounded のセルを見ます。空中判定なら Aerial の行を見ます。
ただし、ヒットボックスのパラメータ「Unknown-4(artib)」が 1 なら、恐らく空中地上に関係なく Article の欄を見ます(詳細は後述)。
※パラメータ名が「Unknown-4」なのは、Toomai Glittershineという人がDXのデータを16進数データのまま抽出したスプレッドシートがあるのですが、恐らくそのの作成時点で意味の分からなかったパラメータ領域が4つあり、その内の4番目だったからと予想
攻撃判定の「Clang」パラメータ
相殺に関するパラメータの領域が 2 bit 分用意されており、それぞれ動画では hib1, hib2 と呼称しています。
それぞれのビットが立っている(=1)かどうかで「Clang」パラメータが4通り(0=00, 1=01, 2=10, 3=11/右辺が2進数。左が hib1)に決まります。
ほとんどの技は、hib1, hib2 どちらのビットも1なので Clang の値は 3 です。
※各種攻撃判定の Clang 値は、ツール「DXCalc」で確認できます
hib1
hib1=0 であれば、相殺処理自体が行われません。
hib2
上で提示した表には hib2 が載っていないのは、hib2 の値自体は相殺の成否には影響を及ぼさないからです。「相殺成立時の相殺ストップ&相殺モーションの有無」を決定するパラメータです。
hib2=1 なら、先述の通り相殺成立時に「相殺ストップモーション(REBOUNDSTOP)」→「相殺モーション(REBOUND)」となりますが、hib2=0 なら相殺が成立してもそうならず、相殺ストップは元の攻撃モーションのまま硬直し、その後相殺モーションは起こらずに、攻撃モーションが継続します(ただし、モーション継続で出続けている攻撃には、相殺を起こした相手にはもう当たらない)。
例 (Clang[hib1,hib2])
- 0[00](相殺不可×相殺モーション無し): NB
- 1[01](相殺不可): 横B、横強先端
- 2[10](相殺可×相殺モーション無し): の下B、横スマッシュ、の横Bなど
- 3[11](相殺可): ほとんどの技
Article hitbox
先述の通り「Unknown-4(artib)」が 1 の攻撃判定。地上・空中関係なく、相手の攻撃判定が hitb=1 なら必ず相殺が起こる。hitb=1 の攻撃判定側にも相殺が起こる。
ただし、放った本人にはヒットストップや相殺モーションは起こらない。
また、一部の「静止する飛び道具(?)」は「反射不可能」な遠距離攻撃に分類される。
artib=1 の例
ほとんど全ての遠距離攻撃(非該当例: NB)、
横B、地上横B、上B
相殺モーションの計算式の「-0.7」という部分はkadanoの動画には見当たりませんが誤字でしょか?
なぜか余計な数字が入っていました。。。
修正しました、ご指摘ありがとうございます!