;-| ボタンリマップ（ボタンコンフィグ）|---------------------------------------- 第１部

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

;-| デフォルト設定 |----------------------------------------------------------- 第２部

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

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

;============================================================================== 第３部
; コマンド定義パート（入力キーを設定する）
;==============================================================================
;-| 超必殺技 |-----------------------------------------------------------------

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

[Command]
name = "zain"
command = x+y
time = 20

[Command]
name = "Muspell"
command = ~D, DB, B, a+b
time = 20

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

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

[Command]
name = "ex_neo"
command = ~D, DF, F, D, DF, F, y
time = 20

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

[Command]
name = "toro-ru_y"
command = ~D, D, y

[Command]
name = "toro-ru_x"
command = ~D, D, x

[Command]
name = "toro-ru_b"
command = ~D, D, b

[Command]
name = "toro-ru_a"
command = ~D, D, a

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

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

[Command]
name = "Trudr_b"
command = ~F, D, DF, b

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

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

[Command]
name = "ex_b"
command = ~D, DF, F, b

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

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

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

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

[Command]
name = "upper_xy"
command = ~F, D, DF, x+y

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

[Command]
name = "F.Shoot_b"
command = ~D, DF, F, b

[Command]
name = "F.Shoot_x"
command = ~D, DF, F, x

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

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

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

[Command]
name = "sonic_x"
command = ~D, DB, B, x

[Command]
name = "sonic_y"
command = ~D, DB, B, y

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

[Command]
name = "kaiten_b"
command = ~B,  F, b

[Command]
name = "kaiten_x"
command = ~B,  F, x

[Command]
name = "kaiten_y"
command = ~B,  F, y

[Command]
name = "FF_ab"
command = F, F, a+b

[Command]
name = "DD_x"
command = /D, x

[Command]
name = "DD_b"
command = /D, b

[Command]
name = "DD_a"
command = /D, a

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

[Command]
name = "ushironage" ;必須コマンド名
command = /$B, x+a
time = 1

[Command]
name = "a+b" ;必須コマンド名
command =  /$a+b
time = 1

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

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

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

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

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

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

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

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

[Command]
name = "highjump"	;技の名前 発動条件で使う
command	= ~$D, $U

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

[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_a"
command = /a

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

[Command]
name = "hold_x"
command = /x

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

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

[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

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

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

;==============================================================================
; 超必殺技
;==============================================================================
;------------------------------------------------------------------------------
[State -1, ZAIN];ゲージレベル１
type = ChangeState
value = 3200
triggerall = command = "zain"  ;「SmashKFUpper」の名前のコマンドが入力されたら
triggerall = power >= 2000
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = statetype != A
trigger2 = movecontact

;------------------------------------------------------------------------------
[State -1, スルトブレイカー];ゲージレベル１
type = ChangeState
value = 3100
triggerall = command = "S_Breaker"
triggerall = power >= 1000
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = statetype != A
trigger2 = movecontact

;------------------------------------------------------------------------------
[State -1, ムスペルフィールド]
type = ChangeState
value = 3000
triggerall = command = "Muspell"
triggerall = power >= 1000
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = statetype != A
trigger2 = movecontact
trigger3 = (stateno = 200) || (stateno = 210) || (stateno = 220) &&movecontact
trigger3 = (stateno = 400) || (stateno = 410) || (stateno = 430) &&movecontact
trigger3 = (stateno = 1000) || (stateno = 1010) || (stateno = 1020) &&movecontact
trigger3 = (stateno = 1200) || (stateno = 1210) || (stateno = 1220) &&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, EXクラックトロール]
type = ChangeState
value = 1430
triggerall = command = "toro-ru_y"
trigger1 = statetype = S

[State -1, 強クラックトロール]
type = ChangeState
value = 1420
triggerall = command = "toro-ru_x"
trigger1 = statetype = S

[State -1, 中クラックトロール]
type = ChangeState
value = 1410
triggerall = command = "toro-ru_b"
trigger1 = statetype = S

[State -1, 弱クラックトロール]
type = ChangeState
value = 1400
triggerall = command = "toro-ru_a"
trigger1 = statetype = S

;------------------------------------------------------------------------------
[State -1, EXソニックヴェルグ]
type = ChangeState
value = 1330
triggerall = command = "sonic_y"
triggerall = power >= 1000
trigger1 = statetype = S
trigger2 = (stateno = 200 || stateno = 210 || stateno = 220) &&movecontact
trigger3 = (stateno = 400 || stateno = 410 || stateno = 430) &&movecontact
trigger4 = (stateno = 1300 || stateno = 1310 || stateno = 1320) && movecontact

[State -1, 強ソニックヴェルグ]
type = ChangeState
value = 1320
triggerall = command = "sonic_x"
trigger1 = statetype = S
trigger2 = (stateno = 200 || stateno = 210 || stateno = 220) &&movecontact
trigger3 = (stateno = 400 || stateno = 410 || stateno = 430) &&movecontact

[State -1, 中ソニックヴェルグ]
type = ChangeState
value = 1310
triggerall = command = "sonic_b"
trigger1 = statetype = S
trigger2 = (stateno = 200 || stateno = 210 || stateno = 220) &&movecontact
trigger3 = (stateno = 400 || stateno = 410 || stateno = 430) &&movecontact

[State -1, 弱ソニックヴェルグ]
type = ChangeState
value = 1300
triggerall = command = "sonic_a"
trigger1 = statetype = S
trigger2 = (stateno = 200 || stateno = 210 || stateno = 220) &&movecontact
trigger3 = (stateno = 400 || stateno = 410 || stateno = 430) &&movecontact

------------------------------------------------------------------
[State -1, EX空中スルーズタイフーン]
type = ChangeState
value = 1230
triggerall = command = "Trudr_y"
triggerall = power >= 1000
trigger1 = statetype != S
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = (stateno = 600 || stateno = 610 || stateno = 630 || stateno = 640) && movecontact
trigger3 = (stateno = 1100 || stateno = 1110 || stateno = 1120) && movecontact
trigger4 = (stateno = 1200 || stateno = 1210 || stateno = 1220) && movecontact

[State -1, 強空中スルーズタイフーン]
type = ChangeState
value = 1220
triggerall = command = "Trudr_x"
trigger1 = statetype != S
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = (stateno = 600 || stateno = 610 || stateno = 630) && movecontact

[State -1, 中空中スルーズタイフーン]
type = ChangeState
value = 1210
triggerall = command = "Trudr_b"
trigger1 = statetype != S
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = (stateno = 600 || stateno = 610 || stateno = 630) && movecontact

[State -1, 弱空中スルーズタイフーン]
type = ChangeState
value = 1200
triggerall = command = "Trudr_a"
trigger1 = statetype != S
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = (stateno = 600 || stateno = 610 || stateno = 630) && movecontact

;------------------------------------------------------------------------------
[State -1, EXスルーズタイフーン]
type = ChangeState
value = 1130
triggerall = command = "Trudr_y"
triggerall = power >= 1000
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = (stateno = 200 || stateno = 210 || stateno = 220) &&movecontact
trigger3 = (stateno = 400 || stateno = 410 || stateno = 430) &&movecontact

[State -1, 強スルーズタイフーン]
type = ChangeState
value = 1120
triggerall = command = "Trudr_x"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = (stateno = 200 || stateno = 210 || stateno = 220) &&movecontact
trigger3 = (stateno = 400 || stateno = 410 || stateno = 430) &&movecontact

[State -1, 中スルーズタイフーン]
type = ChangeState
value = 1110
triggerall = command = "Trudr_b"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = (stateno = 200 || stateno = 210 || stateno = 220) &&movecontact
trigger3 = (stateno = 400 || stateno = 410 || stateno = 430) &&movecontact

[State -1, 弱スルーズタイフーン]
type = ChangeState
value = 1100
triggerall = command = "Trudr_a"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = (stateno = 200 || stateno = 210 || stateno = 220) &&movecontact
trigger3 = (stateno = 400 || stateno = 410 || stateno = 430) &&movecontact

;------------------------------------------------------------------------------
[State -1, フォルシュートEX]
type = ChangeState
value = 1030
triggerall = command = "F.Shoot_y"
triggerall = power >= 1000
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = (stateno = 200 || stateno = 210 || stateno = 220) &&movecontact
trigger3 = (stateno = 400 || stateno = 410 || stateno = 430) &&movecontact
trigger4 = (stateno = 1300 || stateno = 1310 || stateno = 1320) && movecontact

[State -1, フォルシュート強]
type = ChangeState
value = 1020
triggerall = command = "F.Shoot_x"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = (stateno = 200 || stateno = 210 || stateno = 220) &&movecontact
trigger3 = (stateno = 400 || stateno = 410 || stateno = 430) &&movecontact

[State -1, フォルシュート中]
type = ChangeState
value = 1010
triggerall = command = "F.Shoot_b"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = (stateno = 200 || stateno = 210 || stateno = 220) &&movecontact
trigger3 = (stateno = 400 || stateno = 410 || stateno = 430) &&movecontact

[State -1, フォルシュート弱]
type = ChangeState
value = 1000
triggerall = command = "F.Shoot_a"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = (stateno = 200 || stateno = 210 || stateno = 220) &&movecontact
trigger3 = (stateno = 400 || stateno = 410 || stateno = 430) &&movecontact

;------------------------------------------------------------------------------
[State -1, 回し蹴り]
type = ChangeState
value = 700
triggerall = (command = "kaiten_a") || (command = "kaiten_b") || (command = "kaiten_x")
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = (stateno = 200 || stateno = 210 || stateno = 220) &&movecontact
trigger3 = (stateno = 400 || stateno = 410 || stateno = 430) &&movecontact

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

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

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

[State -1]
Type = ChangeState
TriggerAll = Command = "highjump"
Trigger1 = StateType != A
Trigger1 = Ctrl
Trigger2 = StateNo = 40
Trigger2 = (stateno = 420) && movecontact
Value = 41
Ctrl = 0
;==============================================================================
; 特殊技
;==============================================================================
;------------------------------------------------------------------------------
[State -1, 後投げ]
type = ChangeState
value = 801
triggerall = command = "ushironage"
triggerall = statetype = S
trigger1 = ctrl

[State -1, 投げ]
type = ChangeState
value = 800
triggerall = command = "nage"
triggerall = statetype = S
trigger1 = ctrl

;==============================================================================
; 通常攻撃技
;==============================================================================
;------------------------------------------------------------------------------
[State -1, 立ちA]
type = ChangeState
value = 200
triggerall = command = "a"
triggerall = command != "holddown"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = (stateno = 200 || stateno = 400) && movecontact

[State -1, 立ちB]
type = ChangeState
value = 210
triggerall = command = "b"
triggerall = command != "holddown"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = (stateno = 200 || stateno = 400) && movecontact

[State -1, 立ちX]
type = ChangeState
value = 220
triggerall = command = "x"
triggerall = command != "holddown"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = (stateno = 200 || stateno = 210) && movecontact
;------------------------------------------------------------------------------

[State -1, クビラ]
type = ChangeState
value = 901
triggerall = command = "y"
triggerall = command = "holddown"
triggerall = var(11) = 0
triggerall = NumHelper(920) = 0
trigger1 = ctrl
trigger2 = (stateno = 200 || stateno = 210 || stateno = 220) && movecontact

[State -1, アラナ]
type = ChangeState
value = 902
triggerall = command = "y"
triggerall = command = "holdfwd"
triggerall = var(12) = 0
triggerall = NumHelper(930) = 0
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = (stateno = 200 || stateno = 210 || stateno = 220) && movecontact

[State -1, ユーリ]
type = ChangeState
value = 903
triggerall = command = "y"
triggerall = command = "holdback"
triggerall = var(13) = 0
triggerall = NumHelper(940) = 0
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = (stateno = 200 || stateno = 210 || stateno = 220) && movecontact

[State -1, カーリー]
type = ChangeState
value = 900
triggerall = command = "y"
triggerall = command != "holddown"
triggerall = var(10) = 0
triggerall = NumHelper(910) = 0
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = (stateno = 200 || stateno = 210 || stateno = 220) && movecontact

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

;------------------------------------------------------------------------------
[State -1, しゃがみA]
type = ChangeState
value = 400
triggerall = command = "a"
triggerall = command = "holddown"
trigger1 = statetype = C
trigger1 = ctrl
trigger2 = (stateno = 200 || stateno = 400) && movecontact

[State -1, しゃがみB]
type = ChangeState
value = 410
triggerall = command = "b"
triggerall = command = "holddown"
trigger1 = statetype = C
trigger1 = ctrl
trigger2 = (stateno = 200 || stateno = 400) && movecontact

[State -1, しゃがみX]
type = ChangeState
value = 430
triggerall = command = "x"
triggerall = command = "holddown"
trigger1 = statetype = C
trigger1 = ctrl
trigger2 = (stateno = 200 || stateno = 210 || stateno = 230) && movecontact
trigger3 = (stateno = 400 || stateno = 410) && movecontact

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

[State -1, ジャンプA]
type = ChangeState
value = 600
triggerall = command = "a"
trigger1 = statetype = A
trigger1 = ctrl&& stateno!=105

[State -1, ジャンプB]
type = ChangeState
value = 610
triggerall = command = "b"
trigger1 = statetype = A
trigger1 = ctrl&& stateno!=105
trigger2 = (stateno = 600) && movecontact

[State -1, ジャンプX]
type = ChangeState
value = 630
triggerall = command = "x"
trigger1 = statetype = A
trigger1 = ctrl&& stateno!=105
trigger2 = (stateno = 600 || stateno = 610) && movecontact

[State -1, ジャンプY]
type = ChangeState
value = 640
triggerall = command = "y"
trigger1 = statetype = A
trigger1 = ctrl && stateno!=105
trigger2 = (stateno = 600 || stateno = 610 || stateno = 630) && movecontact

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