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

[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 = "Kokushi_XY"
command = ~F, D, DF, x+y
time = 20

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

[Command]
name = "Garyo_XY"
command = D,D, x+y
time = 20

[Command]
name = "Garyo_AB"
command = D,D, a+b
time = 20

[Command]
name = "Garyo_XY"
command = D,D, x+y
time = 20

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

[Command]
name = "Hunkotsu_XY"
command = ~D, DB, B, x+y
time = 20

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

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

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

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

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

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

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

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

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

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

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

[Command]
name = "Hyakka_A"
command = ~D, DF, F, 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 = "F_Y"
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, 国士無双];
type = ChangeState
value = 3500
triggerall = (command = "Kokushi_AB") || (command = "Kokushi_XY")
triggerall = power >= 2000
trigger1 = statetype = S && ctrl
trigger2 = statetype != A
trigger2 = movecontact
trigger3 = (stateno = 200) || (stateno = 210) || (stateno = 220 || stateno = 700) &&movecontact
trigger4 = (stateno = 400) || (stateno = 410) || (stateno = 430) &&movecontact
;------------------------------------------------------------------------------
[State -1, 画竜点睛];
type = ChangeState
value = 3400
triggerall = (command = "Garyo_AB") || (command = "Garyo_XY")
triggerall = power >= 1000
trigger1 = statetype = S && ctrl
trigger2 = statetype != A
trigger2 = movecontact
trigger3 = (stateno = 200) || (stateno = 210) || (stateno = 220 || stateno = 700) &&movecontact
trigger4 = (stateno = 400) || (stateno = 410) || (stateno = 430) &&movecontact
trigger5 = (stateno = 1000) || (stateno = 1010) || (stateno = 1020) || (stateno = 1030) &&movecontact
trigger6 = (stateno = 1200) || (stateno = 1210) || (stateno = 1220) || (stateno = 1230) &&movecontact

;------------------------------------------------------------------------------
[State -1, 粉骨砕身];
type = ChangeState
value = 3200
triggerall = (command = "Hunkotsu_AB") || (command = "Hunkotsu_XY")
triggerall = power >= 1000
trigger1 = statetype = S && ctrl
trigger2 = statetype != A
trigger2 = movecontact
trigger3 = (stateno = 200) || (stateno = 210) || (stateno = 220 || stateno = 700) &&movecontact
trigger4 = (stateno = 400) || (stateno = 410) || (stateno = 430) &&movecontact
trigger5 = (stateno = 1000) || (stateno = 1010) || (stateno = 1020) || (stateno = 1030) &&movecontact
trigger6 = (stateno = 1200) || (stateno = 1210) || (stateno = 1220) || (stateno = 1230) &&movecontact

;------------------------------------------------------------------------------
[State -1, 獅子奮迅];
type = ChangeState
value = 3000
triggerall = (command = "Shishi_AB") || (command = "Shishi_XY")
triggerall = power >= 1000
trigger1 = statetype = S && ctrl
trigger2 = statetype != A
trigger2 = movecontact
trigger3 = (stateno = 200) || (stateno = 210) || (stateno = 220 || stateno = 700) &&movecontact
trigger4 = (stateno = 400) || (stateno = 410) || (stateno = 430) &&movecontact
trigger5 = (stateno = 1000) || (stateno = 1010) || (stateno = 1020) &&movecontact
trigger6 = (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, 強行雲流水]
type = ChangeState
value = 1020
triggerall = command = "Gyon_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 = "Gyon_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 = "Gyon_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 = 1220
triggerall = command = "Hyakka_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 = 1210
triggerall = command = "Hyakka_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 = 1200
triggerall = command = "Hyakka_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 = 1120
triggerall = command = "Daitan_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 = "Daitan_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 = "Daitan_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 = "a") || (command = "b") || (command = "x") 
triggerall = command = "holdfwd"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = (stateno = 200 || stateno = 210 || stateno = 220 ) &&movecontact
trigger3 = (stateno = 400 || stateno = 410 ) &&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 = 600
triggerall = command = "a"
trigger1 = statetype = A
trigger1 = ctrl&& stateno!=105
trigger2 = (stateno = 600) && movecontact

[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

;------------------------------------------------------------------------------
[State -1, 立ちA]
type = ChangeState
value = 200
triggerall = command = "a"
triggerall = command != "holddown"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = stateno = 200 && movecontact
trigger3 = Var(20) = 0 && (stateno = 1000 || stateno = 1010 || stateno = 1020) && movehit
trigger4 = Var(20) = 0 && (stateno = 1105 || stateno = 1115 || stateno = 1125) && movehit
trigger5 = Var(20) = 0 && (stateno = 1200 || stateno = 1210 || stateno = 1220) && movehit

[State -1, 立ちB]
type = ChangeState
value = 210
triggerall = command = "b"
triggerall = command != "holddown"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = (stateno = 200 || stateno = 400) && movecontact
trigger3 = Var(20) = 0 && (stateno = 1000 || stateno = 1010 || stateno = 1020) && movecontact
trigger4 = Var(20) = 0 && (stateno = 1105 || stateno = 1115 || stateno = 1125)
trigger5 = Var(20) = 0 && (stateno = 1200 || stateno = 1210 || stateno = 1220) && 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
trigger3 = Var(20) = 0 && (stateno = 1000 || stateno = 1010 || stateno = 1020) && movecontact
trigger4 = Var(20) = 0 && (stateno = 1105 || stateno = 1115 || stateno = 1125)
trigger5 = Var(20) = 0 && (stateno = 1200 || stateno = 1210 || stateno = 1220) && movecontact

[State -1, 立ちY]
type = ChangeState
value = 230
triggerall = command = "y"
triggerall = command != "holddown"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = Var(20) = 0 && (stateno = 1000 || stateno = 1010 || stateno = 1020) && movecontact
trigger3 = Var(20) = 0 && (stateno = 1105 || stateno = 1115 || stateno = 1125)
trigger4 = Var(20) = 0 && (stateno = 1200 || stateno = 1210 || stateno = 1220) && 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
trigger3 = Var(20) = 1 && (stateno = 1000 || stateno = 1010 || stateno = 1020) && movecontact
trigger4 = Var(20) = 0 && (stateno = 1105 || stateno = 1115 || stateno = 1125)
trigger5 = Var(20) = 0 && (stateno = 1200 || stateno = 1210 || stateno = 1220) && 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
trigger3 = Var(20) = 1 && (stateno = 1000 || stateno = 1010 || stateno = 1020) && movecontact
trigger4 = Var(20) = 0 && (stateno = 1105 || stateno = 1115 || stateno = 1125)
trigger5 = Var(20) = 0 && (stateno = 1200 || stateno = 1210 || stateno = 1220) && 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
trigger4 = Var(20) = 1 && (stateno = 1000 || stateno = 1010 || stateno = 1020) && movecontact
trigger5 = Var(20) = 0 && (stateno = 1105 || stateno = 1115 || stateno = 1125)
trigger6 = Var(20) = 0 && (stateno = 1200 || stateno = 1210 || stateno = 1220) && movecontact

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