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

[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 = "daibingu"
command = x+y
time = 20

[Command]
name = "M29_AB"
command = ~D, DB, B, D, DB, B, a
time = 20

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

[Command]
name = "M29_XY"
command = ~D, DB, B, D, DB, B, x
time = 20

[Command]
name = "M29_XY"
command = ~D, DB, B, D, DB, B, y
time = 20

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

[Command]
name = "ex_neo"
command = ~D, DF, F, D, DF, F, 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 = "SmashKFUpper"
command = ~D, DB, B, D, DB, B, y;~F, D, DF, F, D, DF, y
time = 20

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

[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 = "tac_a"
command = ~D, DF, F, a

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

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

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

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

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

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

[Command]
name = "sla_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 = "infield_y"
command = ~F, D, DF, y

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

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

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

[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 = "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_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

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

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

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

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

;------------------------------------------------------------------------------
[State -1, モンキー29AB];
type = ChangeState
value = 3000
triggerall = command = "M29_AB"
triggerall = power >= 1000
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = statetype != A
trigger2 = movecontact
trigger2 = (stateno = 200 || stateno = 210 || stateno = 220) &&movecontact
trigger3 = (stateno = 400 || stateno = 410 || stateno = 430) &&movecontact
trigger3 = (stateno = 1100 || stateno = 1110 || stateno = 1120 || stateno = 1130) && movecontact
trigger3 = (stateno = 1201 || stateno = 1211 || stateno = 1221 || stateno = 1231) && movecontact

;------------------------------------------------------------------------------
[State -1, モンキー29XY];
type = ChangeState
value = 3010
triggerall = command = "M29_XY"
triggerall = power >= 1000
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = statetype != A
trigger2 = movecontact
trigger2 = (stateno = 200 || stateno = 210 || stateno = 220) &&movecontact
trigger3 = (stateno = 400 || stateno = 410 || stateno = 430) &&movecontact
trigger3 = (stateno = 1100 || stateno = 1110 || stateno = 1120 || stateno = 1130) && movecontact
trigger3 = (stateno = 1201 || stateno = 1211 || stateno = 1221 || stateno = 1231) && movecontact

;------------------------------------------------------------------------------
[State -1, モンキー29空中];
type = ChangeState
value = 3020
triggerall = (command = "M29_AB") || (command = "M29_XY")
triggerall = power >= 1000
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = statetype != S
trigger2 = 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 = 1304
triggerall = power >= 1000
triggerall = command = "infield_y"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = (stateno = 200 || stateno = 210 || stateno = 220) &&movecontact
trigger3 = (stateno = 400 || stateno = 410 || stateno = 430) &&movecontact
trigger4 = (stateno = 1301 || stateno = 1303) && movecontact
trigger5 = stateno = 700 &&movecontact

[State -1, インフィールドモンキー空中]
type = ChangeState
value = 1303
triggerall = var(20) <= 2
triggerall = (command = "infield_a") || (command = "infield_b") || (command = "infield_x")
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = (stateno = 600 || stateno = 610 || stateno = 630) && movecontact
trigger3 = (stateno = 1100 || stateno = 1110 || stateno = 1120 || stateno = 1130) && movecontact
trigger4 = (stateno = 1201 || stateno = 1211 || stateno = 1221 || stateno = 1231) && movecontact
trigger5 = (stateno = 1301 || stateno = 1303 || stateno = 1305) && movecontact

[State -1, インフィールドモンキー]
type = ChangeState
value = 1300
triggerall = (command = "infield_a") || (command = "infield_b") || (command = "infield_x")
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 = 1130
triggerall = command = "ex_y"
triggerall = power >= 1000
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = (stateno = 600 || stateno = 610 || stateno = 630) && movecontact
trigger3 = (stateno = 1100 || stateno = 1110 || stateno = 1120 || stateno = 1130) && movecontact
trigger4 = (stateno = 1201 || stateno = 1211 || stateno = 1221) && movecontact
trigger5 = (stateno = 1301 || stateno = 1303 || stateno = 1305) && movecontact

[State -1, エクスカリバーA]
type = ChangeState
value = 1100
triggerall = var(20) <= 2
triggerall = command = "ex_a"
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = (stateno = 600 || stateno = 610 || stateno = 630) && movecontact
trigger3 = (stateno = 1100 || stateno = 1110 || stateno = 1120 || stateno = 1130) && movecontact
trigger4 = (stateno = 1201 || stateno = 1211 || stateno = 1221 || stateno = 1231) && movecontact
trigger5 = (stateno = 1301 || stateno = 1303 || stateno = 1305) && movecontact

[State -1, エクスカリバーB]
type = ChangeState
value = 1110
triggerall = var(20) <= 2
triggerall = command = "ex_b"
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = (stateno = 600 || stateno = 610 || stateno = 630) && movecontact
trigger3 = (stateno = 1100 || stateno = 1110 || stateno = 1120 || stateno = 1130) && movecontact
trigger4 = (stateno = 1201 || stateno = 1211 || stateno = 1221 || stateno = 1231) && movecontact
trigger5 = (stateno = 1301 || stateno = 1303 || stateno = 1305) && movecontact

[State -1, エクスカリバーX]
type = ChangeState
value = 1120
triggerall = var(20) <= 2
triggerall = command = "ex_x"
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = (stateno = 600 || stateno = 610 || stateno = 630) && movecontact
trigger3 = (stateno = 1100 || stateno = 1110 || stateno = 1120 || stateno = 1130) && movecontact
trigger4 = (stateno = 1201 || stateno = 1211 || stateno = 1221 || stateno = 1231) && movecontact
trigger5 = (stateno = 1301 || stateno = 1303 || stateno = 1305) && movecontact

--------------------------------------------------------------
[State -1, タックルEX];ゲージ消費
type = ChangeState
value = 1030
triggerall = command = "tac_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 = 1000 || stateno = 1010 || stateno = 1020) &&movecontact
trigger5 = (stateno = 1201 || stateno = 1211 || stateno = 1221) &&movecontact
trigger6 = stateno = 700 &&movecontact

[State -1, タックル強]
type = ChangeState
value = 1020
triggerall = command = "tac_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 = "tac_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 = "tac_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 = 1230
triggerall = command = "sla_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 = 700 &&movecontact
trigger5 = (stateno = 1000 || stateno = 1010 || stateno = 1020) &&movecontact
trigger6 = (stateno = 1201 || stateno = 1211 || stateno = 1221) &&movecontact

[State -1, スライディング強]
type = ChangeState
value = 1220
triggerall = command = "sla_x"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = (stateno = 200 || stateno = 210) &&movecontact
trigger3 = (stateno = 400 || stateno = 410) &&movecontact

[State -1, スライディング中]
type = ChangeState
value = 1210
triggerall = command = "sla_b"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = (stateno = 200 || stateno = 210) &&movecontact
trigger3 = (stateno = 400 || stateno = 410) &&movecontact

[State -1, スライディング弱]
type = ChangeState
value = 1200
triggerall = command = "sla_a"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = (stateno = 200 || stateno = 210) &&movecontact
trigger3 = (stateno = 400 || stateno = 410) &&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 ) &&movecontact
trigger3 = (stateno = 400 || stateno = 410 ) &&movecontact

[State -1, 蹴り落とし]
type = ChangeState
value = 710
triggerall = (command = "DD_a") || (command = "DD_b") || (command = "DD_x")
trigger1 = statetype = A
trigger1 = ctrl
trigger1 = Pos Y <= -80

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

[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, 立ちY]
type = ChangeState
value = 230
triggerall = command = "y"
triggerall = command != "holddown"
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
trigger2 = (stateno = 600) && movecontact
trigger3 = (stateno = 1201 || stateno = 1231) && movecontact

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

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

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


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