当身投げ&返し技研究室(2009/06/08 開設)

「当身投げ」とは、相手の攻撃を受け止めて自動的に投げ技で反撃する技の事です。
これは、格闘ゲーム界初のこの系統の(ように見える)技、餓狼伝説のギースの同名の技が起源となっています。
(実は、最初の当身投げは、相手の攻撃を確認したら超反応必殺投げで返す、というものだったようです)
また、このバリエーションとして、投げ技ではなく打撃や飛び道具などで反撃する技もあります。
これらの技を2D格闘ゲーム界隈では「当身」「当身技」と呼んでいます。

(本来、当身とは打撃技を指す用語なのですが、語呂がいい所為か定着してしまいましたね)
3D格闘ゲーム界隈では「返し技」という呼び方もあります。管理人はこちらを推奨。

当研究室では、これらの技を作成する際によく用いられる、ReversalDefステートを取り上げてみます。
ReversalDefステートの処理は次のようになっています。


事態をややこしくしているのが、赤字の部分の仕様です。
ひとつひとつ解説していきましょう。


まず、ReversalDefにも反応してしまうという点です。
つまり、攻撃だけでなく、当身投げの待機状態にも反応してしまうのです。
これを防ぐためにはReversalDefのattrを指定しない、という方法があります。
ただし、後述の問題があるため、p2statenoを用いたReversalDefでは危険な方法です。
その場合は「投げ技に反撃する当身技」が作成されない事を祈って、attrを投げ属性に設定するしかないでしょう。
次に、Projectileには反応しないという点です。


これは要するに、Projectileを使用した攻撃には全くの無力である、いう事です。
作りたい技が元々「飛び道具には反応できない」という性質ならば、これはあまり問題にはなりません。
(MUGENのキャラクターには、打撃技に見せかけて実はProjectileで攻撃している、という特殊なものも存在しますが)
しかし、飛び道具にも反撃をする性質の技では、この仕様が問題になります。
その場合はHitOverrideステートならばProjectileに反応できるため、そちらを用いた処理を併用するといいでしょう。
ちなみに、HitOverrideはp2statenoを用いた攻撃とかち合うと、お互いをすり抜けさせてしまうので注意が必要です。
ただし、相手の攻撃がProjectileならばp2statenoを用いていても反応できるようです。


最後に、相手の無敵状態を無視して強制的にステートを変更してしまう点です。
無敵技でも簡単に反撃できていいじゃないか、と思われるかも知れませんが、ここには落とし穴がふたつあります。
まずひとつは、相手のステートを変更する、つまりロックする技をこれで中断させてしまう恐れがある事です。
シングル戦ではまずありませんが、タッグ戦では充分に起こり得る状況です。
しかし、相手をロックして自分が無敵になる技などでは、中断させられてしまう場合を考慮していない場合があります。
そういう技を中断させた場合、ロックされていたキャラクターが永遠にやられステートのまま、という状況も……。
こういう事態を避けるため、相手のステートを操作する技では充分な配慮が必要です。
もうひとつは、Helperによる攻撃も同様に処理してしまう恐れがある事です。


いわゆる分身バグは主にこれが原因で、Helperのステートを相手Playerのステートに変更してしまう事で起こります。
この問題はHelper側でHitOverrideを使用し、ReversalDefの反撃を上書きしてしまう事で回避できます。
ただし、この際はReversalDef側もattrでしっかり攻撃属性を設定しておく必要があります。
というのも、HitOverrideは属性の設定されていない攻撃には反応できないからです。
ですので、ここでは別の方法も紹介しておきます。
p2statenoで飛ばした先のステートで対象を判断し、Helperなら元のステートに戻してしまう方法です。


これは下記のステートを先頭に追加するだけなので、非常に簡単です。


[State SelfState]
type = SelfState
trigger1 = IsHelper
value = PrevStateNo

ただし、どちらの方法でも「Playerの攻撃は返せるが、Helperの攻撃はくらってしまう」という処理はできません。
と言うより、そのような処理はMUGENではほぼ不可能です。
Helperの攻撃は飛び道具属性に設定する、等の方法を使用するしかないでしょう。


ちなみに、どちらの処理でもHitCountには1が加算されます。
これは「攻撃を受けて反撃したが、別の処理で上書きされた」という扱いになっているためだと考えられます。
アナザーブラッドの当身投げはこれを利用して、Helperの攻撃へはロックせずに反撃を行う処理になっています。


参考:クリエイターズJAPAN2様



MUGEN研究所へ戻る
MENUへ戻る