■GetHitVar()【受けた攻撃の情報】

▼概要
受けた攻撃に関する情報を確認する。
()内には文字列を入れ、対応する情報を引き出す。
基本的にCommonステートでのみ使用される。
※Win以降では?内部数値は持続する。
※Dos版では?Movetype=Hの時のみ返すらしい?

▼情報・書式
GetHitVar(文字列) ;文字列に参照する情報を記入
  • 数値の形式は情報によってInt型(bool型含む)とFloat型に分かれる。
    • Float型の数値をそのままInt型の項目に記述しないこと。T-/Floor()
  • 基本的に攻撃の設定項目と同じ文字列を入れる。

実際の記述
※動作はCommonステートで処理されるケースも記述。
くらいモーション
  • GetHitVar(AnimType) ;Int型 攻撃のアニメ属性を返す
    • 0=light 1=medium 2=hard(地上系のback含む) 3=back 4=up 5=diag-up
  • GetHitVar(GroundType) ;Int型 攻撃の地上でのType(のけぞり属性)を返す。
  • GetHitVar(AirType) ;Int型 攻撃の空中でのType(のけぞり属性)を返す。
    • のけぞり属性系、0=non 1=high 2=low 3=trip(地上のみ)
威力・硬直
  • GetHitVar(Damage) ;Int型 ダメージ量を返す※ダメージを受ける1Fのみ。
  • GetHitVar(HitShakeTime) ;Int型 0まで、PauseTime設定の影響時間、HitPause中。
    • 毎フレーム減算、0時点でT-/HitShakeOverが1に
    • Movetype!=Hになった場合、1~2Fで0に?
  • GetHitVar(HitTime) ;Int型 -1まで、HitPauseを除くヒット時の硬直時間
    • HitShakeが0になった後、毎フレーム減算、-1時点でT-/HitOverが1に
    • GetHitVar(HitShakeTime)}+GetHitVar(HitTime)でヒット時の残り硬直確認。
  • GetHitVar(SlideTime) ;Int型 固定。
    • Time>=GetHitVar(SlideTime)で地上ノックバック減速。(Common)
    • なお地上の場合HitOver時点でノックバックは停止する。(Common)
  • GetHitVar(CtrlTime) ;Int型 固定。
    • ガード時Time>=GetHitVar(CtrlTime)でCtrl=1になる。(Common)
    • なおHitOverになってもCtrl=1になる。(Common)
  • GetHitVar(RecoverTime) ;Int型 倒れ待機時間。0時点で起き上がる。
    • 操作で時間短縮。1操作毎に*(3/4)
回数
  • GetHitVar(HitCount) ;Int型 攻撃に連続でヒットした回数。
    • ただし正確な数値でなくなるケースもある。後述
  • GetHitVar(FallCount) ;Int型 バウンドした回数。
    • ただしTrip属性の攻撃には着地前に1加算される。
速度
  • GetHitVar(Xvel) ;※Float型 ノックバックX速度(※絶対座標方向値)
    • 実際のノックバックはGetHitVar(Xvel)*Facingである。
  • GetHitVar(Yvel) ;※Float型 吹っ飛びY速度
  • GetHitVar(Yaccel) ;※Float型 指定落下加速度(Common)
Fall.倒れ関係
  • GetHitVar(fall) ;bool型 倒れ判定かどうか。0時、自動受身着地。
  • GetHitVar(fall.Damage) ;Int型 SC-/HitFallDamageでの減少量。
  • GetHitVar(fall.XVel) ;Int型 落下バウンド時のX速度→SC-/HitFallVel
  • GetHitVar(fall.YVel) ;Int型 落下バウンド時のY速度
  • GetHitVar(fall.recover) ;bool型 受身可能かどうか。
  • GetHitVar(fall.recoverTime) ;Int型 ※固定 くらい時間>=xで受身可能に。
その他
  • GetHitVar(ChainID) ;Int型 攻撃のChainID
  • GetHitVar(Guarded) ;bool型 ガードしたかどうか
  • GetHitVar(IsBound) ;bool型 SC-/TargetBindの影響を受けている最中かどうか
    • IsBoundはトリガー索引には無いがKFMには使われている

※以下、基本使われない項目
  • GetHitVar(XvelAdd) ;※Float型 KO時のX速度加算値
  • GetHitVar(YVelAdd) ;※Float型 KO時のY速度加算値
  • GetHitVar(Type) ;Int型 攻撃のType(のけぞり属性)を返すが使われない。
  • GetHitVar(XOff) ;※不明 Snapの設定値
  • GetHitVar(YOff) ;※不明 Snapの設定値
  • GetHitVar(ZOff) ;※不明 Snapの設定値?
Fall.倒れ関係
  • GetHitVar(fall,kill) ;bool型 fall.killの値だが、実は無意味。
  • GetHitVar(fall.envshake.time) ;Int型 該当設定→SC-/FallEnvShake
  • GetHitVar(fall.envshake.freq) ;※Float型 該当設定
  • GetHitVar(fall.envshake.ampl) ;Int型 該当設定
  • GetHitVar(fall.envshake.phase) ;※Float型 該当設定


■Lv1-記述例・補足・注意点

記述例
[State a, a]
Type = xxxx
Trigger1 = !Time ;ChangeStateなどをしてきた最初のみ
Value = xxxx
  • 記述例での目的

補足
  • 上記説明でリセットされる~や、0まで~といった記述がない場合、
    • 基本的に新しく攻撃を受けるまで残り続ける。

注意点
  • GetHitVar(HitCount)の不正確さ
    • 「攻撃をヒットされた」回数を返すが、ガードでは加算されない。
    • リセットは「Movetype!=H(くらい以外)からヒットした時」のみ
    • ガードした場合はリセットされない
      • ガード硬直からガードを崩された場合、
        残っていた数値に加算されていく。
      • その為直前のコンボの分が残った状態で加算されていくのである。
  • くらい時間に関するTime関係の値について
    • 0や-1まで減算されるものもあるが、固定値で処理されている場合も多い。