;※これはコマンドファイルのバックアップです。
;　もし「kfm.cmd」が何らかの影響で消えた時は「kfm.def」内で登録し直すか、
;　コピーしてファイル名をkfm.cmdに変更して使用してください。
;------------------------------------------------------------------------------
; サンプルキャラクター『カンフーマン』のコマンドファイルです。
; コマンドに関する設定は４部構成になっています。
;==============================================================================
; 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
; 　　　　　　　
; 　　　　　　「後方」「下」「後ろ斜め下」のどれかを８０フレームまで溜めて
; 　　　　　　「前斜め下」→「前」を入力した後、ＡとＹとＣを同時押ししたままにする
;
;------------------------------------------------------------------------------
;-| 超必殺技 |-----------------------------------------------------------------
[Remap]
x = x
y = y
z = z
a = a
b = b
c = c
s = s
;---CPU判定---
[Command]
name = "AI1"
command = a,F,F,F,F,F,F,F,F
time = 1

[Command]
name = "AI2"
command = a,F,F,F,F,F,F,F,B
time = 1

[Command]
name = "AI3"
command = a,F,F,F,F,F,F,B,F
time = 1

[Command]
name = "AI4"
command = a,F,F,F,F,F,B,F,F
time = 1

[Command]
name = "AI5"
command = a,F,F,F,F,B,F,F,F
time = 1

[Command]
name = "AI6"
command = a,F,F,F,B,F,F,F,F
time = 1

[Command]
name = "AI7"
command = a,F,F,B,F,F,F,F,F
time = 1

[Command]
name = "AI8"
command = a,F,B,F,F,F,F,F,F
time = 1

[Command]
name = "AI9"
command = a,B,F,F,F,F,F,F,F
time = 1

[Command]
name = "AI10"
command = a,B,B,F,F,F,F,F,F
time = 1

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

[Command]
name = "AI12"
command = b,a,a,a,a,a,a,a,a,a,a,a
time = 1

[Command]
name = "AI13"
command = a,b,a,a,a,a,a,a,a,a,a,a
time = 1

[Command]
name = "AI14"
command = a,a,b,a,a,a,a,a,a,a,a,a
time = 1

[Command]
name = "AI15"
command = a,a,a,b,a,a,a,a,a,a,a,a
time = 1

[Command]
name = "AI16"
command = a,a,a,a,b,a,a,a,a,a,a,a
time = 1

[Command]
name = "AI17"
command = a,a,a,a,a,b,a,a,a,a,a,a
time = 1

[Command]
name = "AI18"
command = a,a,a,a,a,a,b,a,a,a,a,a
time = 1

[Command]
name = "AI19"
command = a,a,a,a,a,a,a,b,a,a,a,a
time = 1

[Command]
name = "AI20"
command = a,a,a,a,a,a,a,a,b,a,a,a
time = 1

[Command]
name = "AI21"
command = a,a,a,a,a,a,a,a,a,b,a,a
time = 1

[Command]
name = "AI22"
command = a,a,a,a,a,a,a,a,a,a,b,a
time = 1

[Command]
name = "AI23"
command = a,a,a,a,a,a,a,a,a,a,a,b
time = 1

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

[Command]
name = "AI25"
command = c,b,b,b,b,b,b,b,b,b,b,b
time = 1

[Command]
name = "AI26"
command = b,c,b,b,b,b,b,b,b,b,b,b
time = 1

[Command]
name = "AI27"
command = b,b,c,b,b,b,b,b,b,b,b,b
time = 1

[Command]
name = "AI28"
command = b,b,b,c,b,b,b,b,b,b,b,b
time = 1

[Command]
name = "AI29"
command = b,b,b,b,c,b,b,b,b,b,b,b
time = 1

[Command]
name = "AI30"
command = b,b,b,b,b,c,b,b,b,b,b,b
time = 1

[Command]
name = "AI31"
command = b,b,b,b,b,b,c,b,b,b,b,b
time = 1

[Command]
name = "AI32"
command = b,b,b,b,b,b,b,c,b,b,b,b
time = 1

[Command]
name = "AI33"
command = b,b,b,b,b,b,b,b,c,b,b,b
time = 1

[Command]
name = "AI34"
command = b,b,b,b,b,b,b,b,b,c,b,b
time = 1

[Command]
name = "AI35"
command = b,b,b,b,b,b,b,b,b,b,c,b
time = 1

[Command]
name = "AI36"
command = b,b,b,b,b,b,b,b,b,b,b,c
time = 1

[Command]
name = "AI37"
command = b,b,b,c,b,b,b,b,b,b,b,b
time = 1

[Command]
name = "AI38"
command = b,b,b,b,b,b,c,b,b,b,b,b
time = 1

[Command]
name = "AI39"
command = b,b,b,b,b,b,b,b,c,b,b,b
time = 1

[Command]
name = "AI40"
command = b,b,b,b,b,b,b,b,b,b,c,b,F
time = 1

[Command]
name = "AI41"
command = b,b,b,b,b,c,b,b,b,b,b,b,F
time = 1

[Command]
name = "AI42"
command = b,b,b,b,b,b,c,b,b,b,b,b,F
time = 1

[Command]
name = "AI43"
command = b,b,b,b,b,b,b,c,b,b,b,b,F
time = 1

[Command]
name = "AI44"
command = b,b,b,b,b,b,b,b,c,b,b,b,F
time = 1

[Command]
name = "AI45"
command = b,b,b,b,b,b,b,b,b,c,b,b,F
time = 1

[Command]
name = "AI46"
command = b,b,b,b,b,b,b,b,b,b,c,b,F
time = 1

[Command]
name = "AI47"
command = b,b,b,b,b,b,b,b,b,b,b,c,F
time = 1

[Command]
name = "AI48"
command = b,b,b,c,b,b,b,b,b,b,b,b,F
time = 1

[Command]
name = "AI49"
command = b,b,b,b,b,b,c,b,b,b,b,b,F
time = 1

[Command]
name = "AI50"
command = b,b,b,b,b,b,b,b,c,b,b,b,F
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 = "recovery"
command = a+b
time = 1

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

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

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

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

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

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

;---必殺技---

[Command]
name = "konami1"
command = U,U,D,D,B,F,B,F,b,a
time = 180

[Command]
name = "konami2"
command = U,U,D,D,F,B,F,B,b,a
time = 180

;---通常技---
[Command]
name = "a"
command = a
time = 1

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

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

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

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

[Command]
name = "away-f"    
command = /$F,z
time = 5

[Command]
name = "away-b"    
command = /$B,z
time = 5

;---移動---
[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

;---技のコマンド---
[Statedef -1]

[State -1, ボム]
type = ChangeState
value = 420
triggerall = command = "c"
triggerall = numhelper(421) = 0
triggerall = var(5) < 2
triggerall = var(4) < 30
triggerall = palno = [9,12]
trigger1 = ctrl
trigger2 = !ishelper
trigger2 = stateno = [200,410]

[State -1, ボム]
type = ChangeState
value = 320
triggerall = command = "c"
triggerall = var(5) < 2
triggerall = var(4) < 30
triggerall = palno = [5,8]
trigger1 = ctrl
trigger2 = !ishelper
trigger2 = stateno = [200,410]

[State -1, ボム]
type = ChangeState
value = 220
triggerall = command = "c"
triggerall = numhelper(221) = 0
triggerall = var(5) < 2
triggerall = var(4) < 30
triggerall = palno = [1,4]
trigger1 = ctrl
trigger2 = !ishelper
trigger2 = stateno = [200,410]

[State -1, レーザー]
type = ChangeState
value = 410
triggerall = command = "holdb"
triggerall = palno = [9,12]
triggerall = command = "a" || command = "holda"
trigger1 = ctrl

[State -1, レーザー]
type = ChangeState
value = 310
triggerall = command = "holdb"
triggerall = palno = [5,8]
triggerall = command = "a" || command = "holda"
trigger1 = ctrl

[State -1, レーザー]
type = ChangeState
value = 210
triggerall = command = "holdb"
triggerall = palno = [1,4]
triggerall = command = "a" || command = "holda"
trigger1 = ctrl

[State -1, 弾丸3]
type = ChangeState
value = 400
triggerall = command != "holdb"
triggerall = palno = [9,12]
triggerall = command = "a" || command = "holda"
trigger1 = ctrl

[State -1, 弾丸2]
type = ChangeState
value = 300
triggerall = command != "holdb"
triggerall = palno = [5,8]
triggerall = command = "a" || command = "holda"
trigger1 = ctrl

[State -1, 弾丸]
type = ChangeState
value = 200
triggerall = command != "holdb"
triggerall = palno = [1,4]
triggerall = command = "a" || command = "holda"
trigger1 = ctrl

[State -1, 前避け]
type = ChangeState
value = 900
triggerall = command = "away-f"
trigger1 = ctrl

[State -1, 後ろ避け]
type = ChangeState
value = 910
triggerall = command = "away-b"
trigger1 = ctrl