; サンプルキャラクター『カンフーマン』のコマンドファイルです。
; コマンドに関する設定は４部構成になっています。
;==============================================================================
; Win版専用パート
;==============================================================================
;------------------------------------------------------------------------------
; ここはWin版から（正確にはLinux版から）追加された要素の二つ。
; コマンド関連の初期設定を任意に指定出来るようになった(`・ω・´)
;
;『ボタンリマップ』はボタン配置変更用の項目。
; 定義パートでいちいち変更しなくても良いようになっちゃった。
; 面倒臭い人用かな！（ﾏﾃｺﾗ
;
;『デフォルト設定』では各[Command]で省略した場合の
; 入力受付時間と入力記憶時間を予め決めておく項目。
;
;
; この２項目は省略可能。
;------------------------------------------------------------------------------
;-| ボタンリマップ（ボタンコンフィグ）|---------------------------------------- 第１部

[Remap]
x = x      ;Ｘボタンの入力判定を実際に押すボタンに割り当てる。
y = y      ;Ｙボタン　　　　　　　　　〃
z = z      ;Ｚボタン　　　　　　　　　〃
a = a      ;Ａボタン　　　　　　　　　〃
b = b      ;Ｂボタン　　　　　　　　　〃
c = c      ;Ｃボタン　　　　　　　　　〃
s = s      ;スタートボタン　　　　　　〃

;------------------------------------------------------------------------------
; 例えば「本来Ｘボタンで出す弱パンチをＢボタンに変えたい場合」なら、
;
; x = b
;
; で簡単に出来る。使わないボタンを使っているボタンに割り当てる事も可能。
;------------------------------------------------------------------------------
;-| デフォルト設定 |----------------------------------------------------------- 第２部

[Defaults]
command.time = 15  ;標準のコマンド入力受付時間。
                   ;各コマンドで省略している場合に有効。
                   ;このパラメータを消した場合、デフォルトは１フレームになる。
                   ;（　M.U.G.E.Nでの１フレーム　＝　１／６０秒　）

command.buffer.time = 1  ;標準のコマンド入力記憶時間。
                         ;入力した直後にコマンドを記憶し、
                         ;指を離してもコマンドが成功している状態を
                         ;ここで設定した時間の分維持する。
                         ;１〜３０フレームまでの間で設定可能。
                         ;デフォルトは１フレーム。

;============================================================================== 第３部
; コマンド定義パート（入力キーを設定する）
;==============================================================================
;------------------------------------------------------------------------------
; ここがキーとボタンの組み合わせで格闘ゲームにおける
;『入力コマンド』を直接設定・編集するパート。
;
; 一つずつコマンドに名前を付けて入力キーを組み合わせる単純な作業になるけど、
; 組み合わせが独特だから覚えるのは難易度が少し高い。
;
; 下記で「書式の決まり」と「組み合わせに必要なアルファベットと記号」を
; 全て説明しましょう。
;------------------------------------------------------------------------------
;■書式の決まり■
;
; [Command]         ：入力コマンドを１個定義する。
; name = "***"      ：コマンド名を決める。大文字と小文字も区別される。
; command = ###     ：実際に入力するキーを組み合わせる。詳細は後述。
; time = &&&        ：入力受付時間を設定（オプション）。
; buffer.time = @@@ ：入力記憶時間を設定（オプション）。
;
; 小ネタでも説明している通り、登録が可能な数は最大『１２８個』まで。
;
;
;※『必須コマンド名』と書いてるコマンドは、システム側で処理してます。
;　コマンド名を変えたり、消してはいけません。キーの変更は出来ます。
;------------------------------------------------------------------------------
;■必要なアルファベットと記号■
;
; 上記の「command = ###」の『###』に該当する部分で、
; 組み合わせるキーとボタンを設定しなければならない。
;
; ※設定したキーやボタンはM.U.G.E.Nのオプションモードにある
;  「キーコンフィグ」にて設定したキーなどに対応しています。
;
; ★方向キー★（全て必ず大文字で）
;
; 　B 　：「後方」にキーを入れる（ Backward ）
; 　D 　：「下方」にキーを入れる（ Downward ）
; 　F 　：「前方」にキーを入れる（ Forward ）
; 　U 　：「上方」にキーを入れる（ Upward ）
;
; 　DB　：「後ろ斜め下」にキーを入れる（「D」と「B」が同時に入力された事を認識）
; 　UB　：「後ろ斜め上」にキーを入れる（「U」と「B」が同時に入力された事を認識）
; 　DF　：「前斜め下」にキーを入れる（「D」と「F」が同時に入力された事を認識）
; 　UF　：「前斜め上」にキーを入れる（「U」と「F」が同時に入力された事を認識）
;
; ★ボタン★（全て必ず小文字で）
;
; 　a 　：「Ａボタン」を押す
; 　b 　：「Ｂボタン」を押す
; 　c 　：「Ｃボタン」を押す
; 　x 　：「Ｘボタン」を押す
; 　y 　：「Ｙボタン」を押す
; 　z 　：「Ｚボタン」を押す
; 　s 　：「スタートボタン」を押す
;
; ★記号★（入力効果を変化させる命令）
;
; 　/ 　：（スラッシュ）キーやボタンを「押しっぱなし」にしている事を認識する場合に追加する
;
; 　　（例）：　/b       = Ｂボタンを押したままにする
; 　　　　　　　/F       = 前キーを押したままにする
; 　　　　　　　/U,z     = 上キーを押したままＺボタンを入力する
;
;　　━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
;
; 　~ 　：（チルダ）キーやボタンが「離された時」を認識する場合に追加する
;
; 　　（例）：　~x       = Ｘボタンを離す
; 　　　　　　　~DF      =「前斜め下」のキーを離す
; 　　　　　　　~DB,F,c  =「後ろ斜め下」を離した後に前キー・Ｃボタンの順番に入力する
;
; 　　　　　　※「ボタンを離すまでの時間（溜め時間）」も設定する事が出来る
;
; 　　　　　　　~30x     = Ｘボタンを押したままにして、３０フレーム以上経ったら離す
; 　　　　　　　~50B,F,a = 後ろキーを５０フレームまで溜めて前キー・Ａボタンの順番に入力する
;
;　　━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
;
; 　$ 　：（ドル）方向キーの「複数の内どれかが入力されている事」を認識する場合に追加する
;
; 　　（例）：　$B       =「後方」「後ろ斜め下」「後ろ斜め上」のどれかが入力されている状態
; 　　　　　　　$UF      =「前」「上」「前斜め上」のどれかが入力されている状態
;
; 　　　　　　※この記号は「方向キー」でしか使えません。
;
;　　━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
;
; 　+ 　：（プラス）ボタンを「同時押し」している事を認識する場合に追加する
;
; 　　（例）：　x+y      = ＸボタンとＹボタンを同時押しする
; 　　　　　　　a+b+c    = ＡボタンとＢボタンとＣボタンを同時押しする
;
; 　　　　　　※この記号は「ボタン」でしか使えません。
;
;　　━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
;
; 　> 　：（グレーターザン）大なり（Win版で追加された記号）
; 　　　　　　　　　　　　「他のキーが入力されていない事を確認して、そのキーを押す」場合
;
; 　　（例）：　a,>~a    = Ａボタン以外が入力されていない状態でＡボタンを離す
; 　　　　　　　F,>~F,>F = 前キー以外が入力されていない状態で前キーを離し、
;　　　　　　　　　　　　　もう一度前キーを入力する
;
;-------------------------------------------------------------------------------
; ●これらの記号は全て組み合わせて使う事が出来る●
;
; 　　（例）：　~80$DB,DF,F,/a+y+c
; 　　　　　　　
; 　　　　　　「後方」「下」「後ろ斜め下」のどれかを８０フレームまで溜めて
; 　　　　　　「前斜め下」→「前」を入力した後、ＡとＹとＣを同時押ししたままにする
;
;------------------------------------------------------------------------------
;-| 超必殺技 |-----------------------------------------------------------------

;※名前が同じならば、違うコマンドでも同じステートの技を出す事が可能。

[Command]
name = "h1"
command = ~D, DF, F, D, DF, F, x
time = 20

[Command]
name = "h2"
command = ~D, DF, F, x+y
time = 20

[Command]
name = "h4"
command = ~D, DB, B, D, DB, B, b
time = 20

[Command]
name = "h5"
command = ~B, DB, D, DF, F, a
time = 20

[Command]
name = "EX"
command = ~D, DF, F, a+b
time = 20

;------------------------------------------------------------------------------
;-| 必殺技 |-------------------------------------------------------------------

[Command]
name = "s1,1"
command = ~D, DB, B, a

[Command]
name = "s1,2"
command = ~D, DB, B, b

[Command]
name = "s2,1"
command = ~D, DF, F, x

[Command]
name = "s2,2"
command = ~D, DF, F, y

[Command]
name = "s3"
command = ~B, F, a

[Command]
name = "s4"
command = ~F, D, DF, y

[Command]
name = "s6"
command = ~D, DF, F, a

[Command]
name = "s8"
command = ~z

[Command]
name = "s9"
command = ~F, B, a
;command = a


[Command]
name = "charge_A"
command = /a

[Command]
name = "charge_B"
command = /b

;------------------------------------------------------------------------------
[Command]
name = "cansel"
command = c

[Command]
name = "escape"
command = /c,y


[Command]
name = "exy"
command = /y

;-| キー２回連続入力 |---------------------------------------------------------

[Command]
name = "FF"       ;必須コマンド名
command = F,F
time = 11

[Command]
name = "BB"       ;必須コマンド名
command = B,B
time = 11

;ハイジャンプ
[Command]
name = "jump"    
command = D, $U
time = 10

;------------------------------------------------------------------------------
;-| 同時押し |-----------------------------------------------------------------

[Command]
name = "recovery" ;必須コマンド名
command = x+y
time = 1

[Command]
name = "nage" ;必須コマンド名
command = y+b
time = 1

;------------------------------------------------------------------------------
;-| 方向キー＋ボタン |---------------------------------------------------------

[Command]
name = "down_a"
command = /$D,a
time = 1

[Command]
name = "down_b"
command = /$D,b
time = 1

[Command]
name = "F_b"
command = /$F,b
time = 1

;------------------------------------------------------------------------------
;-| ボタン単発 |---------------------------------------------------------------

[Command]
name = "a"
command = a
time = 1

[Command]
name = "b"
command = b
time = 1

[Command]
name = "c"
command = c
time = 1

[Command]
name = "x"
command = x
time = 1

[Command]
name = "y"
command = y
time = 1

[Command]
name = "z"
command = z
time = 1

[Command]
name = "start"
command = s
time = 1

;---------------------------
;(「パワー溜め」用にコマンドを追加してます)
[Command]
name = "hold_c"
command = /c

;------------------------------------------------------------------------------
;-| 方向キー |-----------------------------------------------------------------

[Command]
name = "holdfwd"   ;必須コマンド名
command = /$F
time = 1

[Command]
name = "holdback"  ;必須コマンド名
command = /$B
time = 1

[Command]
name = "holdup"    ;必須コマンド名
command = /$U
time = 1

[Command]
name = "holddown"  ;必須コマンド名
command = /$D
time = 1

;-| 空中ジャンプ|-----------------------------------------------------
[Command]
name = "airjumpfwd"
command = UF
time = 1

[Command]
name = "airjump"
command = U
time = 1

[Command]
name = "airjumpback"
command = UB
time = 1

[Command]
name = "aircombofwd"
command = /UF
time = 1

[Command]
name = "aircombo"
command = /U
time = 1

[Command]
name = "aircomboback"
command = /UB
time = 1

;============================================================================== 第４部
; ステートエントリーパート（技などを出せるようにするための条件を設定）
;==============================================================================
;------------------------------------------------------------------------------
; コマンド名と入力するコマンドを設定しただけじゃ意味が無いので、ここから
;「実際に入力したコマンドでどの番号のステートをどういう条件で出せるか」
; を決めなければならない。
;
; ステートコントローラ「ChangeState」しか使わないけど、
; そんなに難しくないのでトリガーを覚えてたらすぐ出来る。
;
; ここさえ押さえておけば簡単なトリガー設定の流れは覚えられるかと。
;
; エントリーの順番にはある程度の法則があるけど、
; おまけフォルダの「小ネタ.txt」を参照。（波動拳が暴発ﾅﾝﾀﾗｶﾝﾀﾗ）
;
; ChangeStateなどステートコントローラの基本的な設置例は
; おまけフォルダの「テンプレート.txt」を参照。
;------------------------------------------------------------------------------
; ■準常時監視ステート（−１）■
; コマンドファイル（のステートエントリーパート）に必要な項目です。
; 絶対に消してはいけないので要注意。
;
; 通常の食らい状態以外の「P2StateNo」や「TargetState」等で制御された、
; 作成者が任意に指定した相手側の食らいステートに限り、
; 登録したステートコントローラが有効にはなりません。
;------------------------------------------------------------------------------

[Statedef -1] ;←この行は絶対に消さないでね。必須項目です。

[state -3, ステートリセット]
type = changestate
trigger1 = ishelper(99999)
value = 99999
ignorehitpause = 1

[State -1];エスケープ地上
type = ChangeState
value = 950
triggerall = Command = "escape"
triggerall = Var(50) >= 1000
triggerall = RoundState = 2
triggerall = statetype != L
triggerall = statetype != A
triggerall = alive != 0
triggerall = time >= 1
trigger1 = movetype = H

[State -1];エスケープ空中
type = ChangeState
value = 951
triggerall = Command = "escape"
triggerall = Var(50) >= 1000
triggerall = RoundState = 2
triggerall = statetype != L
triggerall = statetype = A
triggerall = alive != 0
triggerall = time >= 1
trigger1 = movetype = H

[State -1];キャンセル地上
type = ChangeState
value = 900
triggerall = !ishelper
triggerall = command = "cansel"
triggerall = Var(50) >= 1000
triggerall = statetype != A
trigger1 = (stateno = [195,599]) && (movecontact||movereversed)
trigger2 = (stateno = [1000,1199]) && (movecontact||movereversed)
trigger3 = (stateno = [3000,3099]) && (movecontact||movereversed)
trigger4 = stateno = 810;地上投げ
trigger4 = animelemtime(8) >= 0
trigger5 = stateno = 1001
trigger5 = AnimElemTime(4) >= 1
trigger6 = stateno = 1002
trigger6 = AnimElemTime(4) >= 1
trigger7 = stateno = 1011
trigger7 = AnimElemTime(4) >= 1
trigger8 = stateno = 1012
trigger8 = AnimElemTime(4) >= 1
trigger9 = stateno = 1602
trigger9 = AnimElemTime(6) >= 1
trigger10 = stateno = 1701
trigger10 = AnimElemTime(2) >= 2
trigger11 = stateno = 3300
trigger11 = AnimElemTime(3) >= 1
trigger12 = stateno = 3301
trigger13 = stateno = 800
trigger13 = animelemtime(5) >= 0
trigger14 = stateno = 1201
trigger15 = stateno = 1301
trigger16 = stateno = 1601
trigger17 = stateno = 3101
trigger18 = stateno = 4000
trigger18 = animelemtime(5) >= 0
trigger19 = (stateno = [1800,1809]) && (movecontact||movereversed)

[State -1];キャンセル空中
type = ChangeState
value = 901
triggerall = !ishelper
triggerall = command = "cansel"
triggerall = Var(50) >= 1000
triggerall = statetype = A
trigger1 = (stateno = [400,699]) && (movecontact||movereversed)
trigger2 = (stateno = [1500,1599]) && (movecontact||movereversed)
trigger3 = stateno = 1021
trigger3 = AnimElemTime(4) >= 1
trigger4 = stateno = 1022
trigger4 = AnimElemTime(4) >= 1
trigger5 = stateno = 1204
trigger5 = AnimElemTime(7) >= 0
trigger6 = stateno = 1303
trigger6 = AnimElemTime(9) >= 0
trigger7 = stateno = 1403
trigger7 = AnimElemTime(10) >= 0
trigger8 = stateno = 1702
trigger8 = AnimElemTime(2) >= 2
trigger9 = stateno = 3104
trigger9 = AnimElemTime(5) >= 0
trigger10 = stateno = 3205
trigger10 = AnimElemTime(7) >= 0
trigger11 = stateno = 1300
trigger11 = AnimElemTime(7) >= 0
trigger12 = stateno = 1400
trigger12 = AnimElemTime(8) >= 0
trigger13 = stateno = 1600
trigger13 = AnimElemTime(7) >= 0
trigger14 = stateno = 3100
trigger14 = AnimElemTime(7) >= 0
trigger15 = stateno = 3200
trigger15 = AnimElemTime(8) >= 0
trigger16 = (stateno = 1810) && (movecontact||movereversed)
trigger17 = stateno = 3404
trigger17 = AnimElemTime(9) >= 0

;==============================================================================
; 超必殺技
;==============================================================================
;------------------------------------------------------------------------------

[State -1];最終必殺技
type = ChangeState
value = 4000
triggerall = command = "EX"
triggerall = power >= 3000
triggerall = statetype != A
triggerall = Life < 0.25*LifeMax
trigger1 = ctrl

[State -1];超必殺4
type = ChangeState
value = 3300
triggerall = command = "h4"
triggerall = power >= 3000
triggerall = statetype != A
trigger1 = ctrl
trigger2 = stateno = [200,240]
trigger2 = movecontact
trigger3 = stateno = 400
trigger3 = movecontact
trigger4 = stateno = [1100,1110]
trigger4 = movecontact
trigger5 = stateno = [1000,1019]
trigger5 = numhelper(1005) >= 1
trigger5 = helper(1005),movecontact
trigger6 = stateno = 410
trigger6 = AnimElemTime(4) >= 1
trigger6 = movecontact
trigger7 = stateno = [430,440]
trigger7 = movecontact
trigger8 = stateno = 1802
trigger8 = movecontact

[State -1];超必殺3
type = ChangeState
value = 3200
triggerall = command = "h2"
triggerall = power >= 2000
triggerall = statetype = A
trigger1 = ctrl
trigger2 = stateno = [600,640]
trigger2 = movehit
trigger3 = stateno = 1500
trigger3 = movehit
trigger4 = stateno = 1810
trigger4 = movehit

[State -1];超必殺2
type = ChangeState
value = 3100
triggerall = command = "h2"
triggerall = power >= 2000
triggerall = statetype != A
trigger1 = ctrl
trigger2 = stateno = [200,240]
trigger2 = movehit
trigger3 = stateno = 400
trigger3 = movehit
trigger4 = stateno = 410
trigger4 = AnimElemTime(4) >= 1
trigger4 = movehit
trigger5 = stateno = [430,440]
trigger5 = movehit
trigger6 = stateno = 250
trigger6 = AnimElemtime(8) >= 4
trigger6 = movehit
trigger7 = stateno = [1100,1110]
trigger7 = movehit
trigger8 = stateno = 1802
trigger8 = movehit

[State -1];超必殺1
type = ChangeState
value = 3000
triggerall = command = "h1"
triggerall = power >= 1000
triggerall = statetype != A
trigger1 = ctrl
trigger2 = stateno = [200,240]
trigger2 = movecontact
trigger3 = stateno = 400
trigger3 = movecontact
trigger4 = stateno = [1100,1110]
trigger4 = movecontact
trigger5 = stateno = 410
trigger5 = AnimElemTime(4) >= 1
trigger5 = movecontact
trigger6 = stateno = [430,440]
trigger6 = movecontact
trigger7 = stateno = 1802
trigger7 = movecontact


;==============================================================================
; 必殺技
;==============================================================================
;------------------------------------------------------------------------------
; 変数の使い方の例。
;
; カンフーマンの「地上で必殺技が出せる状況」や、
; 通常技から必殺技へ繋ぐ時の「キャンセル」の部分を設定している。
; 地上で成功すれば、『変数の例２』のステートコントローラで設定した
; 変数が実行され、それ以外なら『変数の例１』でリセットする、という処理。
;
; 個人的にはこの方法はオススメしない。kfmcでの方法を推薦します。

[State -1, 変数の例１];必殺技の発生条件リセット
type = VarSet
trigger1 = 1
var(1) = 0 ;変数用パラメータの記述方法その１（その２は「板投げ」のステートにて）

[State -1, 変数の例２];必殺技の発生条件をチェック
type = VarSet
trigger1 = statetype != A
trigger1 = ctrl
trigger2 = (stateno = [200,299]) || (stateno = [400,499])
trigger2 = stateno != 440 ;[Statedef 440]（足払いのステート）ではない時
trigger2 = movecontact
var(1) = 1

;------------------------------------------------------------------------------
;------------------------------------------------------------------------------

[State -1];必殺8(呼び出し)
type = ChangeState
value = 1700
triggerall = command = "s8"
triggerall = statetype != A
triggerall = var(31) = 0
trigger1 = NumHelper(1710) = 0 
trigger1 = ctrl
trigger2 = var(32) = 0
trigger2 = NumHelper(1710) = 1
trigger2 = Helper(1710),stateno = 1711
trigger2 = ctrl

[State -1];必殺8(発射地上)
type = ChangeState
value = 1701
triggerall = command = "s8"
triggerall = statetype != A
triggerall = NumHelper(1710) != 0 
triggerall = var(33) = 0
trigger1 = ctrl
trigger2 = stateno = [200,240]
trigger2 = movecontact
trigger3 = stateno = 400
trigger3 = movecontact
trigger4 = stateno = 250
trigger4 = AnimElemtime(8) >= 4
trigger4 = movehit
trigger5 = stateno = 410
trigger5 = AnimElemTime(4) >= 1
trigger5 = movecontact
trigger6 = stateno = [430,440]
trigger6 = movecontact
trigger7 = stateno = 1802
trigger7 = movehit


[State -1];必殺8(発射空中)
type = ChangeState
value = 1702
triggerall = command = "s8"
triggerall = statetype = A
triggerall = NumHelper(1710) != 0 
triggerall = var(33) = 0
trigger1 = ctrl 
trigger2 = stateno = [600,640]
trigger2 = movecontact
trigger3 = stateno = 1810
trigger3 = movehit

[State -1];必殺4
type = ChangeState
value = 1300
triggerall = command = "s4"
triggerall = statetype != A
trigger1 = ctrl
trigger2 = stateno = [200,240]
trigger2 = movehit
trigger3 = stateno = 400
trigger3 = movehit
trigger4 = stateno = 250
trigger4 = AnimElemtime(8) >= 4
trigger4 = movehit
trigger5 = stateno = 410
trigger5 = AnimElemTime(4) >= 1
trigger5 = movehit
trigger6 = stateno = [430,440]
trigger6 = movehit

[State -1];必殺1(空)
type = ChangeState
value = 1020
triggerall = command = "s1,1"
triggerall = statetype = A
trigger1 = ctrl
trigger2 = stateno = [600,640]
trigger2 = movehit

[State -1];必殺1（対空）
type = ChangeState
value = 1010
triggerall = command = "s1,2"
triggerall = statetype != A
trigger1 = ctrl
trigger2 = stateno = [200,240]
trigger2 = movecontact
trigger3 = stateno = 400
trigger3 = movecontact
trigger4 = stateno = 250
trigger4 = AnimElemtime(8) >= 4
trigger4 = movecontact
trigger5 = stateno = 810
trigger5 = AnimElemTime(10) >= 0
trigger6 = stateno = 410
trigger6 = AnimElemTime(4) >= 1
trigger6 = movecontact
trigger7 = stateno = [430,440]
trigger7 = movecontact


[State -1];必殺1（地）
type = ChangeState
value = 1000
triggerall = command = "s1,1"
triggerall = statetype != A
trigger1 = ctrl
trigger2 = stateno = [200,240]
trigger2 = movecontact
trigger3 = stateno = 400
trigger3 = movecontact
trigger4 = stateno = 250
trigger4 = AnimElemtime(8) >= 4
trigger4 = movecontact
trigger5 = stateno = 810
trigger5 = AnimElemTime(10) >= 0
trigger6 = stateno = 410
trigger6 = AnimElemTime(4) >= 1
trigger6 = movecontact
trigger7 = stateno = [430,440]
trigger7 = movecontact

[State -1];必殺2（弱）
type = ChangeState
value = 1100
triggerall = command = "s2,1"
triggerall = statetype != A
trigger1 = ctrl
trigger2 = stateno = [200,240]
trigger2 = movecontact
trigger3 = stateno = 400
trigger3 = movecontact
trigger4 = stateno = 410
trigger4 = AnimElemTime(4) >= 1
trigger4 = movecontact
trigger5 = stateno = [430,440]
trigger5 = movecontact

[State -1];必殺2（強）
type = ChangeState
value = 1110
triggerall = command = "s2,2"
triggerall = statetype != A
trigger1 = ctrl
trigger2 = stateno = [200,240]
trigger2 = movecontact
trigger3 = stateno = 400
trigger3 = movehit
trigger4 = stateno = 410
trigger4 = AnimElemTime(4) >= 1
trigger4 = movecontact
trigger5 = stateno = [430,440]
trigger5 = movecontact

[State -1];必殺3
type = ChangeState
value = 1200
triggerall = command = "s3"
triggerall = statetype != A
trigger1 = ctrl
trigger2 = stateno = [200,240]
trigger2 = movecontact
trigger3 = stateno = 400
trigger3 = movecontact
trigger4 = stateno = 410
trigger4 = AnimElemTime(4) >= 1
trigger4 = movecontact
trigger5 = stateno = [430,440]
trigger5 = movecontact

[State -1];必殺5
type = ChangeState
value = 1400
triggerall = command = "s2,1"
triggerall = statetype = A
trigger1 = ctrl
trigger2 = stateno = [600,640]
trigger2 = movehit


[State -1];必殺6
type = ChangeState
value = 1500
triggerall = command = "s6"
triggerall = statetype = A
trigger1 = ctrl
trigger2 = stateno = [600,640]
trigger2 = movecontact

[State -1];必殺7
type = ChangeState
value = 1600
triggerall = command = "s2,2"
triggerall = statetype = A
trigger1 = ctrl
trigger2 = stateno = [600,640]
trigger2 = movecontact

[State -1];必殺9
type = ChangeState
value = 1800
triggerall = command = "s9"
triggerall = statetype != A
trigger1 = ctrl
trigger2 = stateno = [200,240]
trigger2 = movecontact
trigger3 = stateno = 400
trigger3 = movecontact
trigger4 = stateno = 410
trigger4 = AnimElemTime(4) >= 1
trigger4 = movecontact
trigger5 = stateno = [430,440]
trigger5 = movecontact


;==============================================================================
; 移動関連
;==============================================================================
;------------------------------------------------------------------------------

[State -1, 走る]
type = ChangeState
value = 100
trigger1 = command = "FF"
trigger1 = statetype = S
trigger1 = ctrl

;ハイジャンプ
[State -1]
type = ChangeState
value = 49
triggerall = command = "jump"
trigger1 = statetype != A
trigger1 = ctrl
trigger2 = stateno = 100 || stateno = 101

[State -1, バックステップ]
type = ChangeState
value = 105
trigger1 = command = "BB"
trigger1 = statetype = S
trigger1 = ctrl

;空中前ジャンプ
[State -1, ]
type = ChangeState
value = 55
triggerall = command = "airjumpfwd"
triggerall = var(0) = 0
triggerall = helper(99999),command = "holdup"
triggerall = ctrl
triggerall = Pos Y <= -20
triggerall = Vel Y >= -5
triggerall = statetype = A
trigger1 = var(8) <= 0


;空中垂直ジャンプ
[State -1, ]
type = ChangeState
value = 56
triggerall = command = "airjump"
triggerall = var(0) = 0
triggerall = helper(99999),command = "holdup"
triggerall = ctrl
triggerall = Pos Y <= -20
triggerall = Vel Y >= -5
triggerall = statetype = A
trigger1 = var(8) <= 0


;空中後ろジャンプ
[State -1, ]
type = ChangeState
value = 57
triggerall = command = "airjumpback"
triggerall = var(0) = 0
triggerall = helper(99999),command = "holdup"
triggerall = ctrl
triggerall = Pos Y <= -20
triggerall = Vel Y >= -5
triggerall = statetype = A
trigger1 = var(8) <= 0

[State -1, air dash];空中ダッシュ
type = ChangeState
value = 110
triggerall = command = "FF"|| command = "airjumpfwd"
triggerall = Var(7) = 0
triggerall = statetype = A
triggerall = ctrl
trigger1 = pos y <= ifelse(vel y < 0,-35,-10)
trigger2 = stateno = 5210


[State -1, air dash];空中後ダッシュ
type = ChangeState
value = 111
triggerall = command = "BB"|| command = "airjumpback"
triggerall = Var(7) = 0
triggerall = statetype = A
triggerall = ctrl
trigger1 = pos y <= ifelse(vel y < 0,-35,-10)
trigger2 = stateno = 5210


;==============================================================================
; 特殊技
;==============================================================================
;------------------------------------------------------------------------------

[State -1, カンフースルー];投げ技
type = ChangeState
value = 800
triggerall = command = "nage"
triggerall = statetype = S
triggerall = ctrl
trigger1 = stateno != 100

;==============================================================================
; 通常攻撃技
;==============================================================================
;------------------------------------------------------------------------------

[State -1, 立ち弱パンチ]
type = ChangeState
value = 200
triggerall = command = "x"
triggerall = command != "holddown"
trigger1 = statetype != A
trigger1 = ctrl
trigger2 = stateno = 200
trigger2 = movehit

[State -1, 立ち強パンチ]
type = ChangeState
value = 210
triggerall = command = "y"
triggerall = command != "holddown"
trigger1 = statetype != A
trigger1 = ctrl
trigger2 = stateno = 200|| stateno = 400
trigger2 = movecontact


[State -1, 立ち弱キック]
type = ChangeState
value = 230
triggerall = command = "a"
triggerall = command != "holddown"
trigger1 = statetype != A
trigger1 = ctrl
trigger2 = stateno = 200||  stateno = 400
trigger2 = movehit

;6b
[State -1,]
type = ChangeState
value = 250
triggerall = command = "F_b"
triggerall = command != "holddown"
trigger1 = statetype != A
trigger1 = ctrl

[State -1, 立ち強キック]
type = ChangeState
value = 240
triggerall = command = "b"
triggerall = command != "holddown"
trigger1 = statetype != A
trigger1 = ctrl
trigger2 = stateno = [200,230]
trigger2 = movecontact
trigger3 = stateno = 400
trigger3 = movecontact
trigger4 = stateno = 410
trigger4 = AnimElemTime(4) >= 1
trigger4 = movecontact
trigger5 = stateno = 430
trigger5 = movecontact
;------------------------------------------------------------------------------

[State -1, 挑発]
type = ChangeState
value = 195
triggerall = command = "start"
trigger1 = statetype != A
trigger1 = ctrl

;------------------------------------------------------------------------------

[State -1, しゃがみ弱パンチ]
type = ChangeState
value = 400
triggerall = command = "x"
triggerall = command = "holddown"
trigger1 = statetype != A
trigger1 = ctrl
trigger2 = stateno = 400
trigger2 = movehit

[State -1, しゃがみ強パンチ]
type = ChangeState
value = 410
triggerall = command = "y"
triggerall = command = "holddown"
trigger1 = statetype != A
trigger1 = ctrl
trigger2 = stateno = 200|| stateno = 400
trigger2 = movecontact

[State -1, しゃがみ弱キック]
type = ChangeState
value = 430
triggerall = command = "a"
triggerall = command = "holddown"
trigger1 = statetype != A
trigger1 = ctrl
trigger2 = stateno = 200|| stateno = 400
trigger2 = movehit

[State -1, しゃがみ強キック]
type = ChangeState
value = 440
triggerall = command = "b"
triggerall = command = "holddown"
trigger1 = statetype != A
trigger1 = ctrl
trigger2 = stateno = [200,230]
trigger2 = movecontact
trigger3 = stateno = 400
trigger3 = movecontact
trigger4 = stateno = 410
trigger4 = AnimElemTime(4) >= 1
trigger4 = movecontact
trigger5 = stateno = 430
trigger5 = movecontact

;------------------------------------------------------------------------------

[State -1, ジャンプ弱パンチ]
type = ChangeState
value = 600
triggerall = command = "x"
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 600
trigger2 = movehit

[State -1, ジャンプ強パンチ]
type = ChangeState
value = 610
triggerall = command = "y"
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 600
trigger2 = movecontact

[State -1, ジャンプ弱キック]
type = ChangeState
value = 630
triggerall = command = "a"
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 600
trigger2 = movecontact

[State -1, ジャンプ強キック]
type = ChangeState
value = 640
triggerall = command = "b"
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 600 || stateno = 630
trigger2 = movecontact

;------------------------------------------------------------------------------
;------------------------------------------------------------------------------
;------------------------------------------------------------------------------
