■ガードについて

格闘ゲームの常識的には動ける状態で相手の攻撃を受けるとき、方向キーを後ろ側へ入れると受けた攻撃をガードできる。
ガードすると基本的に硬直が短くなり吹っ飛びも無く、大きな追撃を受けにくくなる、格闘ゲームの基本中の基本。
ステート内部についてはCommonステートを参照。AIに関することはAI-/ガードで。
関連項目
SC-/AttackDistSC-/HitDefSC-/Projectile
T-/InGuardDistT-/Movetype

  • 少々煩雑なので正誤が怪しい部分・少し足りない部分があるかも。

基本的な仕様
  • 手動ガードが可能な状態の条件
    • フレーム開始時点でCtrlがあり・攻撃状態でもくらい状態でも無く・倒れ状態でもなくかつ直前のフレームSC-/AssertSpecialのNo***Guardが発動していないこと。
      • No***Guardはフレーム開始時点でT-/StateTypeが一致している場合に手動ガードを不可とする。
    • 更にガード可能範囲内で方向キーを後ろに入れれば120番(ガード始動)のステートへ移動する。
      • ガード可能:( Ctrl=1 && Movetype=I && STateType != L )+No***Guardが無い。
      • ガード始動:ガード可能の条件に加えて
        ( InGuardDist && Command = "holdback" && StateNo!=[120,140])
        • InGuardDistは、相手側のAttack.Distの距離の範囲内であるということ。
        • AttackDistは攻撃するキャラの基準座標から前方へ伸びている。裏側には伸びていない為注意。
      • ガード始動が可能な場合は歩き(20)へは行かない。ガード始動が出来ないなら後ろ歩きになる。
        • 仮にガード待機ステート自体がガード始動不能な場合、後ろ歩きとガードを!Fずつ交互に繰り返す。
  • 攻撃をガードする条件
    • 前提:相手側の攻撃のGuardFlagに現在の自分の体勢が含まれていること。
    • 1「フレーム開始時点で手動ガード可能な状態+方向キー後ろ」で受ける。手動ガード処理
    • 2「ガードステートにおり、かつSC-/Pauseなどの時間停止中でない状態」で受ける。自動ガード処理
    • 前提に加え1か2を満たす場合、ガードくらいステートへ飛ぶ。
      • 手動ガード処理は(F開始時点で)相手側にMovetype=Aのキャラ・あるいはProjの存在が必要
      • 発生が1F目・始動時点の攻撃は他の上記を満たしていなければ手動ガード処理できない。
      • それによる弊害については発生1F目攻撃の弊害も参照。
    • 例外的に52番ステートなどではCtrl=0でも手動ガード処理でのガードが可能。
        • ただしCtrl=0の場合はガード始動をするわけではない
        • またCtrl=1の必要が無いだけでMoveTypeなどの条件は通常と同様にある。
  • 攻撃のGuardFlagの要素とガード可能な体勢(StateType)について
    • GuardFlagにHが含まれる場合 StateType=S、立ちのガードが可能
    • GuardFlagにLが含まれる場合 StateType=C、屈みのガードが可能
    • GuardFlagにMが含まれる場合 StateType=SとStateType=C、地上のガードが可能
    • GuardFlagにAが含まれる場合 StateType=A、空中のガードが可能
    • GuardFlagに上記の文字が無い場合、ガードはできない。
      • HはHigh、LはLow、MはMiddle、AはAirの略字。
      • 「HL」と「M」の指定は一緒。重なっていても問題ない。
    • ただし相手がAssertSpecialのUnGuardableを発動している場合GuardFlagに関わらずガードができない。
  • AssertSpecialのNo***Guardについて
    • 直前のフレームで発動している場合、ガード始動・手動ガード処理を制限するという処理。
    • また自動ガード処理は制限できないためガードステートにいれば自動ガード処理でガードできる。
    • あと発動した時点のフレームでは手動ガード処理のガードは可能、らしい?
  • ガードした時点~ガードした後
    • ガードした時点でMoveType=HとCtrl=0になりガード硬直ステート150(S),152(C),154(A)へ飛ぶ。
    • 相手側のDamageに設定されていた削りダメージを食らう。
      • 削りダメージは攻撃側の攻撃力の影響をうけないが、ガード側の防御力で減衰する
      • その他、ガード用に設定されたパラメーターをT-/GetHitVar()で取得する。
    • 後はガードステート内部を読み込んで処理を行う。
    • トリガー情報
      • T-/GetHitVar()がガード用情報を取得+Guardedが反応。
      • 相手では基本的にT-/MoveGuardedが反応する。同時ヒットしていた場合この限りではない。
      • なおガードをしても相手は自分を対象としたTargetを取得する。

ガードステートの種類
  • 初歩はCommonステートを参照。ガードステートは以下の通り。
    • 120 ガード始動ガード始動処理で飛ぶステート
    • 130 立ちガード
    • 131 屈みガード
    • 132 空中ガード
    • 140 ガード終了このステートでは一定条件で通常のステート(0(S),11(C),51(A))へ戻る
    • 150 立ちガード硬直StateType=Sでガードをした場合、ここへ飛ぶ
    • 151 立ちガードノックバック
    • 152 屈みガード硬直StateType=Cでガードをした場合、ここへ飛ぶ
    • 153 屈みガードノックバック
    • 154 空中ガード硬直STateType=Aでガードをした場合、ここへ飛ぶ
    • 155 空中ガードノックバック
      • これらのステートで番号ステート処理を終えた場合のみ自動ガード処理をする。
        • 例えば121や156を作ってもガードにならない。
      • 攻撃側のGuardFlagに対するガードの可不可はStateTypeで判定されている。
        • 例えば130番でもStatetype=Cなら屈みガードを行う。


■Lv1-補足・注意点

補足・注意点
  • 攻撃のGuardFlag(どのガードができるか)のトリガー情報は無い
  • 攻撃までに相手側のAttackDistの範囲に入らない場合
    • トレーニングモードはInGuardDistを条件として手動+自動ガード処理を行うためガードしない。
    • AttackDistは十分な距離に設定すること。高速移動攻撃などは要注意。
    • なお基準位置から前方にしかAttackDistの範囲は出ない。後ろ側は範囲に入らない仕様。
      • そのため相手の裏へ飛びながら攻撃するいわゆる「めくり」の状態だと
        AttackDistに相手を入れない状態で攻撃することになりやすい。
  • SuperPauseなど時間停止中に1回はガードできるのに2回目がガードできないのは
    • 攻撃受けると自動で、MoveType=H&&Ctrl=0になるため、手動ガード処理ができない
    • 通常の連続ガードの2段目以降は手動ガード処理ではなく自動ガード処理で行われている
    • そして時間停止中は自動ガード処理が発動しない
      • この仕様から、時間停止中での2段目のガードができないわけである。
  • 手動ガード処理の判定は「フレームの開始時点」で、手動ガード処理の条件が揃っていれば
    他のステートであってもガードをすることができる、らしい。
    • 極端な例ではステート冒頭でSC-/PowerAddをしたフレームでガードするケースがあるとのこと。
      • 結果、攻撃用にPowerを消費しながらガードをしている、という事も起こる可能性がある。
  • Movetype=HタイプのHitDefだけの場合、手動ガード処理でのガードが不可
    • 手動ガード処理ではガードできないが、自動ガード処理でのガードはできる
    • 相手側にMovetype=Aのキャラか、Projを発射していれば手動ガードもガード可能。
  • SC-/HitFallSetについて
    • HitFallSetでFall=1状態にした場合、自動ガード処理が機能しなくなる?

AI制作の注意点
  • 細かくはAI-/ガードを参照。
  • AIのガードはガードステートへ送り自動ガード処理を待つ。
    • その関係上、時間停止中へのガードはMUGEN側のAIで偶然ガードする以外のガード方法が無い。
  • AttackDistの範囲外だと本体のInGuardDist以外の条件を利用してガードしなければいけない。
    • 特にいわゆる「めくり」に対しては対策をしているキャラでないとガードはほぼ不能である。

「ダウン状態ガード」について
  • ガードフラグに「D」(Down属性)をガードステートをStatetype=Lにすると mugenが落ちる。
  • ガードフラグにDを入れない場合は、ガードはできず通常ヒットする。
  • なおStatetype=Lの状態で140から自動待機ステート移動が起きるとフリーズする。
    • 基本的に使ってはならない。使わないように気をつけなければならない。