; サンプルキャラクター『カンフーマン』のコンスタンツとステートのファイルです。
;===========================================================================
; コンスタンツ（定数）
;===========================================================================
;---------------------------------------------------------------------------
; ここがキャラの心臓部とも言うべき場所。
; １キャラ単位のライフや大きさなど、標準のステータスを予め決めておく部分。
; このコーナー自体省略出来ません。
;---------------------------------------------------------------------------
; 基本データ
;---------------------------------------------------------------------------
[Data]
life              = 5000   ;ライフ（体力ゲージ）最大値
power             = 10000   ;パワーゲージ最大値（オプション・デフォルトは3000=Lv.3）
attack            = 105    ;攻撃力（デフォルトは１００％）
defence           = 70    ;防御力（デフォルトは１００％）
fall.defence_up   = 0     ;横に倒れている時に一時的に加える防御力（％）
liedown.time      = 60     ;横に倒れている時間（フレーム）
airjuggle         = 15     ;ジャグルポイント限界値（「小ネタ.txt」参照）
sparkno           = 2      ;デフォルトのヒットスパーク（fightfxから）
guard.sparkno     = 40     ;デフォルトのガードスパーク（fightfxから）
KO.echo           = 0      ;ＫＯ時の音声（11,0）にエコーを掛けるか否か（0=掛けない,1=掛ける）
volume            = 250      ;キャラの標準の音量（最小-255・最大255）
IntPersistIndex   = 42     ;次のラウンドへ持ち越せる「Var」のアドレスの範囲を決める（※１）
FloatPersistIndex = 38     ;次のラウンドへ持ち越せる「FVar」のアドレスの範囲を決める（※１）

;---------------------------------------------------------------------------
; ※１：変数のラウンド持ち越し方法
;
; 　変数を次のラウンドへ持ち越したい場合は、↑の
; 　「IntPersistIndex」と「FloatPersistIndex」を使う。
; 　そのやり方はM.U.G.E.Nの説明書にすら載ってないので、ここで例を元に解説。
;
; 　①IntPersistIndex = 23　（Var(23)～Var(59)までを全て次のラウンドへ持ち越せる）
; 　②FloatPersistIndex = 18（FVar(18)～FVar(39)までを全て次のラウンドへ持ち越せる）
;
; 　つまり「Var(**)（Fvar(**)）以降全ての変数を持ち越す」という命令になる。
; 　それ以前のアドレスの変数は全て持ち越さなくなる。
;
; 　全ての変数を持ち越さない場合は、
; 　IntPersistIndexは60以上、FloatPersistIndexは40以上にしておこう。
;
; 　×これはダメ×
; 　　①IntPersistIndex = 10,15,20,25　（15,20,25の部分は意味無し）
; 　　②FloatPersistIndex = 4,16 　　　（16の部分は意味無し）
; 　　これらは最初の数字以外全て無効。
; 
;---------------------------------------------------------------------------
; 改訂前の和訳ＫＦＭではPersistIndexの解釈が無茶苦茶間違ってました。
; 大変失礼致しました。(人・ω・｀)ごめんなさい
; 今回はちゃんと調べて正確な情報を載せてるんで安心してください（苦笑
;---------------------------------------------------------------------------
; サイズ
;---------------------------------------------------------------------------
[Size]
xscale           = 1       ;キャラの横の大きさ（絶対値・float）
yscale           = 1       ;キャラの縦の大きさ（絶対値・float）
ground.back      = 15      ;地上にいる時の「後方の物理的な幅」
ground.front     = 16      ;地上にいる時の「前方の物理的な幅」
air.back         = 12      ;空中にいる時の「後方の物理的な幅」
air.front        = 12      ;空中にいる時の「前方の物理的な幅」
height           = 50      ;キャラの物理的な高さ（高いほど相手は飛び越しにくくなる）
attack.dist      = 160     ;相手がガード態勢に入る最低の距離
proj.attack.dist = 90      ;自分の「Projectile」に対して相手がガード態勢に入る最低の距離
proj.doscale     = 0       ;xscaleとyscaleを「Projectile」にも影響させるか否か（0=させない・1=させる）
head.pos         = 5,-80  ;キャラの標準の頭の座標（Bind系で適用される）
mid.pos          = 5,-45  ;キャラの標準の体中心の座標（Bind系で適用される）
shadowoffset     = 0       ;影のＹ軸方向の位置座標
draw.offset      = 0,0     ;キャラの表示座標（Ｘ軸,Ｙ軸）

;---------------------------------------------------------------------------
; 移動速度
;---------------------------------------------------------------------------
[Velocity]
walk.fwd     = 2.5         ;前進速度（Ｘ軸・[Statedef 20]に適用される）
walk.back    = -1.8        ;後退速度（Ｘ軸・[Statedef 20]に適用される）
run.fwd      = 5.6,0       ;前方に走る速度（Ｘ軸,Ｙ軸・[Statedef 100]に適用される）
run.back     = -6.6,-1.8   ;後方に走る速度（Ｘ軸,Ｙ軸・[Statedef 105]に適用される）
jump.neu     = 0,-9.8      ;垂直ジャンプの速度（Ｘ軸,Ｙ軸・[Statedef 40]に適用される）
jump.back    = -2.55       ;後方ジャンプの速度（Ｘ軸・[Statedef 40]に適用される）
jump.fwd     = 2.5         ;前方ジャンプの速度（Ｘ軸・[Statedef 40]に適用される）
runjump.back = -2.55,-8.1  ;後方に走ってからのジャンプ速度（Ｘ軸,Ｙ軸・[Statedef 40]に適用される）
runjump.fwd  = 4,-8.1      ;前方に走ってからのジャンプ速度（Ｘ軸,Ｙ軸・[Statedef 40]に適用される）
airjump.neu  = 0,-8.1      ;空中垂直ジャンプ速度（Ｘ軸,Ｙ軸・[Statedef 45]に適用される）
airjump.back = -2.55       ;空中後方ジャンプ速度（Ｘ軸・[Statedef 45]に適用される）
airjump.fwd  = 2.5         ;空中前方ジャンプ速度（Ｘ軸・[Statedef 45]に適用される）

;---------------------------------------------------------------------------
; 運動関係
;---------------------------------------------------------------------------
[Movement]
airjump.num     = 1        ;空中ジャンプが出来る回数
airjump.height  = 35       ;空中ジャンプが出来る最低の高度（Ｙ軸）
yaccel          = .44      ;Ｙ軸加速度（重力）
stand.friction  = .85      ;立っている時の摩擦係数（ステートのPhysicsが「S」の時）
crouch.friction = .82      ;しゃがんでいる時の摩擦係数（ステートのPhysicsが「C」の時）

;===========================================================================
; ステート
;===========================================================================
;---------------------------------------------------------------------------
; ここからはキャラのそれぞれの行動（ステート）を設定する。
; 番号（ステートナンバー）に気を付ければ良いだけで、
; 行動の決め方もステートの数も作りたいキャラによって自由。
;
; 本来ステートは別のファイルとして扱っているものだけど、
; このようにコンスタンツファイルと一緒にまとめる事も可能。
;
; ステートの基本的な設定はおまけフォルダの「テンプレート.txt」を参照。
;===========================================================================
; 基本行動
;===========================================================================
;---------------------------------------------------------------------------
; Stand
[Statedef 0]
type = S
physics = S
sprpriority = 0
anim = 0

[State 0, 1]
type = ChangeAnim
triggerall = Var(16) = 0
triggerall = var(55)=0
trigger1 = Anim != 0 && Anim != 5
trigger2 = Anim = 5 && AnimTime = 0 ;Turn anim over
value = 0

[State 0, 1]
type = ChangeAnim
triggerall = Var(16) = 0
triggerall = var(55)=1
trigger1 = Anim != 16000 && Anim != 5
trigger2 = Anim = 5 && AnimTime = 0 ;Turn anim over
value = 16000

[State 0,AssertSpecial]
type = AssertSpecial
trigger1 = Var(16) = 1
trigger1 = RoundState =2
trigger1 = Anim = 4410
flag = noautoturn
flag2 = nowalk

[State 0,AssertSpecial]
type = AssertSpecial
trigger1 = Var(16) = 1
trigger1 = RoundState =2
trigger1 = Anim = 4410
flag = nostandguard
flag2 = nocrouchguard
flag3 = noairguard

[State 0, 1]
type = ChangeAnim
triggerall = Var(16) = 1
trigger1 = Anim != 4410
value = 4410

[State 0,]
type = ctrlset
triggerall = Var(16) = 1
trigger1 = Anim = 4410
trigger1 = NumEnemy >= 2
trigger1 = Enemynear(0),Alive ||Enemynear(1),Alive 
trigger1 = RoundState =2
trigger1 = Anim = 4410
value = 0

[State 0,]
type = ctrlset
trigger1 = Stateno = 0
trigger1 = Var(16) = 1
trigger1 = NumEnemy = 1
trigger1 = Enemy,Alive
trigger1 = RoundState =2
trigger1 = Anim = 4410
value = 0

[State 0,]
type = ctrlset
trigger1 = Stateno = 0
trigger1 = Var(16) = 1
trigger1 = NumEnemy = 1
trigger1 = !Enemy,Alive
trigger1 = Anim = 4410
value = 1


[State 0, 2]
type = VelSet
trigger1 = Time = 0
y = 0

[State 0, 3] ;Stop moving if low velocity or 4 ticks pass
type = VelSet
trigger1 = abs(vel x) < 2
trigger2 = Time = 4
x = 0

[State 0, DestroySelf]
type = DestroySelf
trigger1 = IShelper


[State 0, 4] ;Are you dead?
type = ChangeState
trigger1 = !alive
value = 5050
ctrl = 0


;---------------------------------------------------------------------------
;HIgh Jump Start
[Statedef 41]
type    = S
physics = S
anim = 40
ctrl = 0
sprpriority = 1
facep2 = 1


[State 0, Explod]
type = Explod
trigger1 = time = 0
anim = 8001
ID = 40
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 0
ontop = 0
shadow = 0,0,0
ownpal = 0
removeongethit = 0

[State 0, Explod]
type = Explod
trigger1 = time = 0
anim = 8001
ID = 40
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = -1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 0
ontop = 0
shadow = 0,0,0
ownpal = 0
removeongethit = 0

[State 41, AfterImage]
type = AfterImage
trigger1 = time = 0
time = 10
length = 10
timegap = 1
framegap = 4

[State 0, PlaySnd]
type = PlaySnd
trigger1 = time = 0
value = S40,2
volume = 0
channel = -1

[State 0, Explod]
type = Explod
trigger1 = time = 0
anim = f60
ID = 100
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 0
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1

[State 40, 1]
type = VarSet
trigger1 = Time = 0
sysvar(1) = 0

[State 40, 2]
type = VarSet
trigger1 = var(59) <= 0
trigger1 = command = "holdfwd"
sysvar(1) = 1

[State 40, 3]
type = VarSet
trigger1 = var(59) <= 0
trigger1 = command = "holdback"

sysvar(1) = -1

[State 40, 4]
type = VelSet
trigger1 = AnimTime = 0
x = ifelse(sysvar(1)=0, const(velocity.jump.neu.x), ifelse(sysvar(1)=1, const(velocity.jump.fwd.x)+2, const(velocity.jump.back.x)-2))
y = const(velocity.jump.y)-5

[State 40, 5]
type = VelSet
trigger1 = AnimTime = 0
trigger1 = prevstateno = 100 ;RUN_FWD
trigger1 = sysvar(1) = 1
x = const(velocity.runjump.fwd.x)



[State 40, 6]
type = ChangeState
trigger1 = AnimTime = 0
value = 50
ctrl = 1

;---------------------------------------------------------------------------
;ダッシュ
[Statedef 100]
type = S
physics = N
ctrl = 0
anim = 100
velset = 7, 0

[State 0, Explod]
type = Explod
trigger1 = time = 0
anim = 8001
ID = 100
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 0
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1

[State 0, Explod]
type = Explod
trigger1 = time = 0
anim = 7021
ID = 100
pos = 0,-40
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 0.6,0.6
sprpriority = 0
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1




[State 100, 1]
type = ChangeState
trigger1 = Animelem = 4
value = 101

;---------------------------------------------------------------------------
;ダッシュ2
[Statedef 101]
type    = S
physics = S
ctrl = 0

[State 101, 1]
type = VelSet
trigger1 = Time = 0
y = 0

[State 0, CtrlSet]
type = CtrlSet
trigger1 = Time = 5
value = 1



[State 101, 2]
type = PosSet
trigger1 = Time = 0
y = 0



[State 101, 3]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

[State 101, 4]
type = MakeDust
trigger1 = Time = 1
pos = -25,3
spacing = 2





[State 101, 5]
type = MakeDust
trigger1 = time >= 8
trigger1 = time <= 25
pos = -15,3

;---------------------------------------------------------------------------
; Hop backwards
[Statedef 105]
type    = A
physics = N
ctrl = 0
anim = 105
sprpriority = 1

[State 0, Explod]
type = Explod
trigger1 = time = 0
anim = 8001
ID = 100
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = -1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 0
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1

[State 0, Explod]
type = Explod
trigger1 = time = 0
anim = 7021
ID = 100
pos = 0,-40
postype = p1  ;p2,front,back,left,right
facing = -1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 0.6,0.6
sprpriority = 0
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1

[State 0, NotHitBy]
type = NotHitBy
trigger1 = time = 0
value = SCA,NT,ST
time = 7



[State 0, PlaySnd]
type = PlaySnd
trigger1 = time =0
value = S40,1
volume = 250
channel = -1



[State 105, 1]
type = VelSet
trigger1 = Time = 0
x = const(velocity.run.back.x)
;y = const(velocity.run.back.y)



[State 105, 3]
type = ChangeState
trigger1 = time = 10
value = 101

;---------------------------------------------------------------------------
; Hop backwards
[Statedef 115]
type    = A
physics = N
ctrl = 0
anim = 105
velset =0,0

[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time =15
value = 41
elem = 4


[State 0, Explod]
type = Explod
trigger1 = time =0
anim = 10000
ID = 110
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 0.5,0.5
sprpriority = 3
ontop = 0
shadow = 0,0,0
ownpal = 0
removeongethit = 1


[State 0, NotHitBy]
type = NotHitBy
trigger1 = time = 0
value = SCA,NT,ST
time = 7

[State 0, StateTypeSet]
type = StateTypeSet
trigger1 = time = 15
statetype = A       ;S,A,C,L
movetype = I        ;I,A,H
physics = A         ;A,C,S,N

[State 0, CtrlSet]
type = CtrlSet
trigger1 = time =5
value = 1

[State 0, VarAdd]
type = VarAdd
trigger1 = time = 0
v = 32    ;fv =
value = 1



[State 0, Explod]
type = Explod
trigger1 = time = 0
anim = 8001
ID = 100
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = -1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 0
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1

[State 0, Explod]
type = Explod
trigger1 = time = 0
anim = 7021
ID = 100
pos = 0,-40
postype = p1  ;p2,front,back,left,right
facing = -1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 0.6,0.6
sprpriority = 0
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1

[State 0, PlaySnd]
type = PlaySnd
trigger1 = time =0
value = S40,1
volume = 250
channel = -1



[State 105, 1]
type = VelSet
trigger1 = Time = 0
x = -6
;y = const(velocity.run.back.y)



[State 105, 3]
type = ChangeState
trigger1 = time = 10
value = 116
ctrl = 1

;----------------------------------------------------------------------
;落下
[Statedef 116]
type    = A
movetype= I
physics = A

[State 0, VelMul]
type = VelMul
trigger1 = time = 0
x = 0.5
y = 0.5



[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = Pos Y <=-100
trigger1 = time =0
value = 106

[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = Pos Y >-100
trigger1 = time =0
value = 106
elem = 5




[State 1052, ステート変更]
type = ChangeState
trigger1 = Pos Y >= 0 && Vel Y > 0
value = 52
ctrl = 0



;----------------------------------------------------------------------------
;バリア
[Statedef 160]
type = A
movetype = I
physics = N
ctrl = 0
anim = 161
velset = 0,0
sprpriority = 2

[State 0, PlaySnd]
type = PlaySnd
trigger1 = time = 0
value = S120,0
volume = 0

[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = time =0
v = 58    ;fv =
value = 2
;ignorehitpause =
;persistent =


[State 0, BindToRoot]
type = BindToRoot
trigger1 = root,statetype = C
time = 1
;facing = 0
pos = 10,20

[State 0, DestroySelf]
type = DestroySelf
trigger1 = animtime = 0
;ignorehitpause =
;persistent =

;===========================================================================
;牛鬼
[Statedef 161]
type = A
movetype = I
physics = N
ctrl = 0
anim = 160
velset = 0,0
sprpriority = 2

[State 0, BindToRoot]
type = BindToRoot
trigger1 = root,statetype = S
time = 1
;facing = 0
pos = 0,0
;ignorehitpause =
;persistent =

[State 0, BindToRoot]
type = BindToRoot
trigger1 = root,statetype = C
time = 1
;facing = 0
pos = 0,20
;ignorehitpause =
;persistent =

[State 0, BindToRoot]
type = BindToRoot
trigger1 = root,statetype = A
time = 1
;facing = 0
pos = 0,-20
;ignorehitpause =
;persistent =

[State 0, PlaySnd]
type = PlaySnd
trigger1 = time = 0
value = S800,1
volume = 0



[State 0, Explod]
type = Explod
trigger1 = time =0
anim = 162
ID = 150
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = -1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 0
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 0


[State 0, ]
type = ChangeAnim
trigger1 = anim =160
trigger1 = root,stateno != [120,159]
value = 162

[State 0, ]
type = ChangeAnim
trigger1 = anim =162
trigger1 = root,stateno = [120,159]
value = 160


[State 0, PlaySnd]
type = PlaySnd
trigger1 = anim =162
trigger1 = root,stateno != [120,159]
trigger1 = Animtime = 0
value = S800,1
volume = 0

[State 0, DestroySelf]
type = DestroySelf
trigger1 = anim =162
trigger1 = root,stateno != [120,159]
trigger1 = Animtime = 0

;---------------------------------------------------------------------------
;タイムオーバー（負けた時）
[Statedef 170]
type = S
ctrl = 0
anim = 170
velset = 0,0

[State 170, 無敵]
type = NotHitBy
trigger1 = 1 ;トリガーを何も書かず「1」にする事により、『無条件で常に実行させる命令』になる。
value = SCA
time = 1

;---------------------------------------------------------------------------
;---------------------------------------------------------------------------
;勝利ポーズ分岐（common1.cnsには無いけど、これもコモンステート）
[Statedef 180]
type = S

[State 180, ステート変更]
type = ChangeState
triggerall = var(59) = 0
triggerall = Var(57) = 0
triggerall = var(56) = 0
trigger1 = Time = 0
trigger1 = random < 400
value = 181

[State 180, ステート変更]
type = ChangeState
triggerall = var(59) = 0
triggerall = Var(57) = 0
triggerall = var(56) = 0
trigger1 = Time = 0
value = 184

[State 0, ChangeState]
type = ChangeState
triggerall = Var(57) = 0
triggerall = var(56) >= 1 || var(9) = 2
triggerall = Var(16)  = 1
;trigger1 = Numenemy = 1
trigger1 = Time = 0
value = 183
ctrl = 0


[State 180, ステート変更]
type = ChangeState
triggerall = var(59) = 0
triggerall = Var(57) = 0
triggerall = var(56) >= 1
trigger1 = Time = 0
value = 182



[State 180, ステート変更]
type = ChangeState
triggerall = var(59)>0
triggerall = Var(57) = 0
triggerall = var(56) >= 1 || var(9)=2
trigger1 = helper(111111),var(11) = 2
trigger1 = Time = 0
trigger2 = helper(111111),var(11) = 1
trigger2 = Time = 0
trigger2 = life < lifemax/4
value = 182

[State 180, ステート変更]
type = ChangeState
triggerall = var(59)>0
triggerall = Var(57) = 0
triggerall = helper(111111),var(11) = 0;  var(56) = 0
trigger1 = Time = 0
trigger1 = random < 400
trigger1 = Var(16) != 1
value = 181

[State 180, ステート変更]
type = ChangeState
triggerall = var(59)>0
triggerall = Var(57) = 0
triggerall = Var(16) != 1
triggerall = Time = 0
trigger1 = helper(111111),var(11) = 0;var(56) = 0
trigger2 = helper(111111),var(11) = 1 || (helper(111111),var(11) = 2 && var(9)=2)
trigger2 = life >= lifemax/4
trigger3 = helper(111111),var(11) = 3;var(56) = 0
value = 184


;---------------------------------------------------------------------------
;勝利ポーズ（礼をする）
[Statedef 181]
type = S
ctrl = 0
anim = 181
velset = 0,0

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = time =5
value = S190,6
volume = 250
channel = 0

[State 181, 無敵]
type = NotHitBy
trigger1 = 1
value = SCA
time = 1

;---------------------------------------------------------------------------
;勝利ポーズ  （満開使用）
[Statedef 182]
type = S
ctrl = 0
anim = 182
velset = 0,0

[State 0, Explod]
type = Explod
trigger1 =AnimelemTime(5) = 10
anim = 194
ID = 194
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = 25
pausemovetime = 0
scale = 1,1
sprpriority = 4
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 0

[State 0, PalFX]
type = PalFX
trigger1 =AnimelemTime(5) = 10
time = 30
add = 250,250,250

[State 0, Explod]
type = Explod
trigger1 =AnimelemTime(5) = 15
anim = 8500
ID = 8500
pos = 0,-60
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 0

[State 0, PlaySnd]
type = PlaySnd
trigger1 =AnimelemTime(5) = 10
value = S800,3
volume = 250

[State 0, Explod]
type = Explod
trigger1 =AnimelemTime(5) = 18
anim = 8100
ID = 8100
pos = 0,-40
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 0

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = time =70
value = S190,7
volume = 250
channel = 0

[State 0, AssertSpecial]
type = AssertSpecial
trigger1 = time <= 180
flag = roundnotover


[State 181, 無敵]
type = NotHitBy
trigger1 = 1
value = SCA
time = 1

;---------------------------------------------------------------------------
;　一撃
[Statedef 183]
type = S
ctrl = 0
anim = 4410
velset = 0,0

[State 0, PlaySnd]
type = PlaySnd
trigger1 = time =5
value = S5555,6
volume = 250
channel = 1

[State 0, AssertSpecial]
type = AssertSpecial
trigger1 = time <= 750
flag = roundnotover

[State 181, 無敵]
type = NotHitBy
trigger1 = 1
value = SCA
time = 1

;---------------------------------------------------------------------------
;勝利ポーズ（礼をする）
[Statedef 184]
type = S
ctrl = 0
anim = 196
velset = 0,0

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = time =5
value = S100,4
volume = 250
channel = 0


[State 0, PlaySnd]
type = PlaySnd
trigger1 = Animelem = 4
value = S120,0
volume = 0
channel = -1

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Animelem = 4
value = S190,0
volume = 0
channel = -1

[State 0, Explod]
type = Explod
trigger1 = animelem = 4
anim = 8420
ID = 8420
pos = 0,-60
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1.5,1.5
sprpriority = -4
ontop = 0
shadow = 0,0,0
ownpal = 0
removeongethit = 0

[State 0, Explod]
type = Explod
trigger1 = animelem = 4
anim = 8400
ID = 8400
pos = 0,-60
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = -5
ontop = 0
shadow = 0,0,0
ownpal = 0
removeongethit = 0

[State 0, Explod]
type = Explod
trigger1 = animelem = 4
anim = 8500
ID = 8500
pos = 0,-60
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 0
removeongethit = 0



[State 181, 無敵]
type = NotHitBy
trigger1 = 1
value = SCA
time = 1


;---------------------------------------------------------------------------
;---------------------------------------------------------------------------
;イントロ（試合開始前の登場演出アクション）
[Statedef 190]
type = S
ctrl = 0
anim = 190
velset = 0,0

[State 0, Helper]
type = Helper
trigger1 = (Palno = [7,9]) || palno = 11
trigger1 = NumHelper(19000) = 0
trigger1 = time = 0
helpertype = normal ;player
name =""
ID =19000
stateno = 19000
pos = -30,-160
postype = p1    ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 0
supermovetime = 0
pausemovetime = 0
size.xscale = 0.2
size.yscale = 0.2

[State 191, ステート変更];アニメーションが終われば「通常立ち」のステートに変更する
type = ChangeState
;triggerall = (palno = [1,6]) || palno = 10
trigger1 = (Enemy,Name = "G3-X") && (Enemy,AuthorName = "miyaji")
trigger1 = Time = 0
value = 16193

[State 191, ステート変更];アニメーションが終われば「通常立ち」のステートに変更する
type = ChangeState
;triggerall = (palno = [1,6]) || palno = 10
trigger1 = (Enemy,Name = "COCOA" ) && (Enemy,AuthorName = "SANKITI")
trigger1 = Time = 0
value = 16195

[State 191, ステート変更];アニメーションが終われば「通常立ち」のステートに変更する
type = ChangeState
trigger1 = (Enemy,Name = "Miyoshi_Karin" ) && (Enemy,AuthorName = "Arumikan")
trigger1 = Time = 0
value = 16196


[State 191, ステート変更];アニメーションが終われば「通常立ち」のステートに変更する
type = ChangeState
;triggerall = (palno = [1,6]) || palno = 10
trigger1 = Random <= 500
trigger1 = Time = 0
value = 192


[State 191, ステート変更];アニメーションが終われば「通常立ち」のステートに変更する
type = ChangeState
trigger1 = Time = 1
;trigger2 = (Palno = [7,9]) || palno = 11
value = 193


;---------------------------------------------------------------------------
;イントロ（試合開始前の登場演出アクション）
[Statedef 191]
type = S
ctrl = 0
anim = 190
velset = 0,0

[State 191, アニメ変更];バトル画面に切り替わった瞬間のフェードインの時、アニメを固定している
type = ChangeAnim
trigger1 = RoundState = 0
value = 190

[State 191, 特殊効果];試合が開始するまではこのコントローラを使おう（※２）
type = AssertSpecial
trigger1 = 1
flag = Intro ;イントロの状態

[State 191, ステート変更];アニメーションが終われば「通常立ち」のステートに変更する
type = ChangeState
triggerall = NumHelper(19000) = 0
trigger1 = Time = 360
value = 0

;これがカンフーマンが蹴る板。カンフーマンのステートをあなたのキャラに使うなら、
;下にある二つの「Explod」のステートコントローラを消してお使いください。

[State 191, 音を鳴らす];蹴った直後の音
type = PlaySnd
trigger1 = AnimElem =1
value = s190,1
volume = 250
channel =0

;[State 191, 音を鳴らす];蹴った直後の音
;type = PlaySnd
;trigger1 = AnimElemTime(1) = 10
;value = s190,0
;volume = 250

[State 191, エフェクト];飛んで来る板
type = Explod
trigger1 = AnimElem = 8
anim = 8001
postype = p1
pos = 20, -60
velocity = 0, 0
accel = 0, 0
removetime = -2
persistent = 0
ownpal = 1
sprpriority = 5
scale = 2,2


[State 191, エフェクト];飛んで来る板
type = Explod
trigger1 = AnimElem =8
anim = 8001
postype = p1
pos = 20, -60
velocity = 0, 0
accel = 0, 0
removetime = -2
persistent = 0
ownpal = 1
sprpriority = 5
scale = 2,2

[State 191, 音を鳴らす];蹴った直後の音
type = PlaySnd
trigger1 = AnimElem =8
value = s190,0
volume = 250

[State 191, エフェクト];飛んで来る板
type = Explod
trigger1 = Animelem = 9
anim = 8001
postype = p1
pos = 20, -80
velocity = 0, 0
accel = 0, 0
removetime = -2
persistent = 0
ownpal = 1
sprpriority = 5
scale = 2,2

[State 191, 音を鳴らす];蹴った直後の音
type = PlaySnd
trigger1 = AnimElem =10
value = s190,0
volume = 250

[State 191, エフェクト];飛んで来る板
type = Explod
trigger1 = Animelem = 10
anim = 8001
postype = p1
pos = 0, -50
velocity = 0, 0
accel = 0, 0
removetime = -2
persistent = 0
ownpal = 1
sprpriority = 5
scale = 2,2

[State 0, PalFX]
type = PalFX
trigger1 = AnimElem =9
trigger2 = AnimElem =10
trigger3 = AnimElem =11
time = 5
add = 256,256,256
mul = 256,256,256
color = 256



[State 191, 音を鳴らす];蹴った直後の音
type = PlaySnd
trigger1 = AnimElem =11
value = s190,0
volume = 250

[State 191, エフェクト];飛んで来る板
type = Explod
trigger1 = Animelem = 11
anim = 8001
postype = p1
pos = 10, -70
velocity = 0, 0
accel = 0, 0
removetime = -2
persistent = 0
ownpal = 1
sprpriority = 5
scale = 2,2

[State 191, エフェクト];飛んで来る板
type = Explod
trigger1 = Animelem = 12
anim = 8001
postype = p1
pos = 0, -30
velocity = 0, 0
accel = 0, 0
removetime = -2
persistent = 0
ownpal = 1
sprpriority = 5
scale = 2,2

[State 191, 音を鳴らす];蹴った直後の音
type = PlaySnd
trigger1 = AnimElem =19
value = s120,1
volume = 250

[State 191, 音を鳴らす];蹴った直後の音
type = PlaySnd
trigger1 = AnimElem = 19
value = s100,4
volume = 250
channel =0


[State 191, 音を鳴らす];蹴った直後の音
type = PlaySnd
trigger1 = AnimElem =25
value = s120,0
volume = 250

[State 191, 音を鳴らす];蹴った直後の音
type = PlaySnd
trigger1 = AnimElem =25
value = s800,1
volume = 250

[State 191, エフェクト];飛んで来る板
type = Explod
trigger1 = Animelem = 25
anim = 8001
postype = p1
pos = 0, -50
velocity = 0, 0
accel = 0, 0
removetime = -2
persistent = 0
ownpal = 1
sprpriority = 5
scale = 2,2

[State 191, エフェクト];飛んで来る板
type = Explod
trigger1 = Animelem = 25
anim = 191
postype = p1
pos = 0, -50
velocity = 0, 0
accel = 0, 0
removetime = -2
persistent = 0
ownpal = 1
sprpriority = 5
scale = 2,2


;---------------------------------------------------------------------------
;イントロ（試合開始前の登場演出アクション）
[Statedef 192]
type = S
ctrl = 0
anim = 190
velset = 0,0

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = anim = 190
trigger1 = time =0
value = S190,2
volume = 250
channel = 0


[State 191, アニメ変更];バトル画面に切り替わった瞬間のフェードインの時、アニメを固定している
type = ChangeAnim
trigger1 = anim = 190
trigger1 = time = 160
value = 189

[State 191, アニメ変更];バトル画面に切り替わった瞬間のフェードインの時、アニメを固定している
type = ChangeAnim
trigger1 = anim = 189
trigger1 = Animtime = 0
value = 191

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = anim = 191
trigger1 = Animelem =1
value = S190,3
volume = 250
channel = 0
;lowpriority =1


[State 191, アニメ変更];バトル画面に切り替わった瞬間のフェードインの時、アニメを固定している
type = ChangeAnim
trigger1 = anim = 191
trigger1 = time = 300
value = 1


[State 191, 特殊効果];試合が開始するまではこのコントローラを使おう（※２）
type = AssertSpecial
trigger1 = 1
flag = Intro ;イントロの状態

[State 191, ステート変更];アニメーションが終われば「通常立ち」のステートに変更する
type = ChangeState
triggerall = anim = 1
triggerall = NumHelper(19000) = 0
trigger1 = AnimTime = 0
value = 0

;---------------------------------------------------------------------------
;イントロ（試合開始前の登場演出アクション）
[Statedef 193]
type = S
ctrl = 0
anim = 193
velset = 0,0
sprpriority = 0

[State 0, Helper]
type = Helper
trigger1 = (Palno = [7,9]) || palno = 11
trigger1 = NumHelper(19000) = 0
trigger1 = time = 0
helpertype = normal ;player
name =""
ID =19000
stateno = 19000
pos = -30,-160
postype = p1    ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 0
supermovetime = 0
pausemovetime = 0
size.xscale = 0.2
size.yscale = 0.2


[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = anim = 193
trigger1 = time =0
value = S190,1
volume = 250
channel = 0

[State 0, Explod]
type = Explod
trigger1 = anim = 193
trigger1 =Animelem = 7
anim = 194
ID = 194
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = 25
pausemovetime = 0
scale = 1,1
sprpriority = 4
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 0

[State 0, Explod]
type = Explod
trigger1 = anim = 193
trigger1 =Animelem = 10
anim = 188
ID = 188
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1.2,1.2
sprpriority = 3
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 0


[State 0, Explod]
type = Explod
trigger1 = anim = 193
trigger1 =Animelem = 10
anim = 8500
ID = 8500
pos = 0,-60
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 0

[State 0, Explod]
type = Explod
trigger1 = anim = 193
trigger1 =Animelem = 10
anim = 12000
ID = 12000
pos = 0,-60
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 0

[State 0, Explod]
type = Explod
trigger1 = anim = 193
trigger1 =Animelem = 12
anim = 8001
ID = 8001
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 0

[State 0, PalFX]
type = PalFX
trigger1 = anim = 193
trigger1 = Animelem = 7
time = 25
add = 250,250,250


[State 191, 特殊効果];試合が開始するまではこのコントローラを使おう（※２）
type = AssertSpecial
trigger1 = 1
flag = Intro ;イントロの状態

[State 0, ChangeAnim]
type = ChangeAnim
triggerall = NumHelper(19000) = 0
trigger1 = Anim = 193
trigger1 = AnimTime = 0
value = 2


[State 191, ステート変更];アニメーションが終われば「通常立ち」のステートに変更する
type = ChangeState
triggerall = NumHelper(19000) = 0
trigger1 = Anim = 2
trigger1 = AnimTime = 0
value = 0

;---------------------------------------------------------------------------
; ※２：AssertSpecial
;
; 　他のコントローラでは設定出来ない『特殊な効果』を指定する命令。
; 　設定したトリガーが有効になってる間だけ一時的に適用される。
;
; 　適用出来るパラメータはこのコントローラを一つ設置する場合、最大３つまで。
; 　書式としては「flag」「flag2」「flag3」を順に加えていく形。
; 　flag2とflag3はオプション。ではその特殊効果を全て紹介。
;
; 　Intro          = イントロ（試合開始前の登場演出アクション）の状態になる。イントロステート専用。
; 　Invisible      = 自分の姿を消す。しかし残像（AfterImage）は消せない。
; 　RoundNotOver   = 現在のラウンドを過ぎない。勝利ポーズ専用。
; 　NoBarDisplay   = ライフバーを非表示にする。
; 　NoBG           = ステージの奥の画像を非表示にし、「真っ黒の背景」にする。
; 　NoFG           = ステージの手前の画像を非表示にする。
; 　NoStandGuard   = 立ちガードが出来なくなる。
; 　NoCrouchGuard  = しゃがみガードが出来なくなる。
; 　NoAirGuard     = 空中ガードが出来なくなる。
; 　NoAutoTurn     = 自動で振り向かない。
; 　NoJuggleCheck  = ジャグルをチェックしない。（ジャグルポイントが減らなくなる）
; 　NoKOSnd        = ＫＯ時の音声（11,0）を鳴らさないようにする。画面中に存在する全員に有効なので注意。
; 　NoKOSlow       = ＫＯ時のスローモーションを無効にする。（ＫＯ直前に有効にしないといけない）
; 　NoShadow       = 自分の影を消す。
; 　GlobalNoShadow = 画面中に存在する全てのプレイヤー（ヘルパーとProjectileも含む）の影を消す。
; 　NoMusic        = 演奏しているＢＧＭを止める。（プラグインによってはＢＧＭがバグるので要注意）
; 　NoWalk         = 歩かない。（前か後ろのキーを入力中コントロールが可能の時に勝手に[Statedef 20]にならない）
; 　TimerFreeze    = タイムカウント（制限時間）を停止する。
; 　UnGuardable    = 自分の全ての攻撃が『ガード不可』になる。
;
;---------------------------------------------------------------------------
;挑発
[Statedef 195]
type = S
movetype = I
physics = S
ctrl = 0
anim = 195
velset = 0,0
sprpriority = 2

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = time =5
value = S190,4
volume = 250
channel = 0


[State 195, コントロール]
type = CtrlSet
trigger1 = Time = 60 ;このステートが４０フレームになったら
value = 1            ;キーコントロールが可能になる。



[State 195, ステート変更]
type = ChangeState
trigger1 = Animtime = 0
value = 0
ctrl = 1

;===========================================================================
; 通常攻撃技
;===========================================================================
;---------------------------------------------------------------------------
; 通常技はそんなに難しいテクニックは使ってないから、
; テンプレートを見ながら確認すれば覚えやすいと思う。
; 基本忘るべからず。
;
; ステートナンバーは、立ち技が２００～２９９、しゃがみ技が４００～４９９、
; ジャンプ技が６００～６９９の間で決めて作るのが一般的。
; しかし強制じゃないので自由に作っちゃってＯＫ。
;---------------------------------------------------------------------------
;立ち弱パンチ
[Statedef 200]
type    = S
movetype= A
physics = S
juggle  = 1
velset = 0,0
ctrl = 0
anim = 200
poweradd = 20
sprpriority = 2
;facep2 = 1

[State 200, 音を鳴らす]
type = PlaySnd
trigger1 = Time = 1
value = 0, 0

[State 0, PosAdd]
type = PosAdd
trigger1 = time =0
x = 10

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = time = 1
value = S100,0
volume = 250
channel = 0

[State 200, ヒット定義]
type = HitDef
trigger1 = AnimElem = 2
attr = S, NA ;立ち通常打撃（Standing, Normal Attack）
damage = ceil(33*fvar(1)), 0
animtype = Light
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 8, 8
sparkno = s8006
sparkxy = -10, -26
hitsound = s1, 0
guardsound = 6, 0
ground.type = High
ground.slidetime = 5
ground.hittime  = 10
ground.velocity = -7
airguard.velocity = -1.9,-.8
air.type = High
air.velocity = -1.4,-3
air.hittime = 12
kill = ceil(Fvar(12))

[State 200, ステート変更]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; 下の「立ち強パンチ」のステートを見てみましょ。
;
;「Width」のコントローラは相手や画面端を押すための『物理的な幅』を
; 一時的に伸ばしたり縮ませたりする命令。
; キャラの幅はバトル中に「Ctrl+C」を押して「判定ボックス」を表示させてる時に
; 一緒に確認出来る。「軸位置から伸びる黄緑色の線」がその幅。
;
; 後は「ChangeAnim」を使って５枚目で攻撃を当てたらすぐに６枚目に
; コマを進ませる命令をしてたり、
;『画像表示優先度』で「振りかぶる時は奥」「振り切った直後から手前」に
; モーション表示の操作をしてるくらいで、難しくない処理。
;
; これは余談だけど、Widthの読み方は「ウィッズ」。
; この解説文書いた時に初めて読み方知ったよ！　｡ﾟ(ﾟつД`?ﾟ｡
;---------------------------------------------------------------------------
;立ち強パンチ
[Statedef 210]
type    = S
movetype= A
physics = S
juggle  = 3
poweradd= 35
ctrl = 0
velset = 0,0
anim = 210
sprpriority = -1

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = time = 1
value = S100,1
volume = 250
channel = 0

[State 200];乗算補正
type = Varset
trigger1 = movehit=1
fv = 1
value = fVar(1)*0.8
persistent = 0
ignorehitpause = 1

[State 210, アニメ変更]
type = ChangeAnim
trigger1 = AnimElemTime(5) > 0 && AnimElemTime(6) <= 0
trigger1 = movecontact
value = 210
elem = 6
ignorehitpause = 1
persistent = 0

[State 210, 画像表示優先度]
type = SprPriority
trigger1 = AnimElem = 5
value = 2

[State 210, 物理的なキャラの幅]
type = Width
trigger1 = (AnimElemTime (2) >= 0) && (AnimElemTime (7) < 0)
value = 15,0  ;この場合キャラの幅を一時的に前に１５ピクセル伸ばす事になる。
              ;値の意味は「前方のピクセル増減量,後方のピクセル増減量」

[State 210, 音を鳴らす]
type = PlaySnd
trigger1 = Time = 2
value = s0, 4
volume = 200

[State 210, ヒット定義]
type = HitDef
trigger1 = AnimElem = 3
attr = S, NA
animtype  = Medium
damage    = ceil(50*fvar(1)*fvar(15))
guardflag = MA
pausetime = 10,10
sparkno = s8004
sparkxy = -20,-70
hitsound   = s1,1
guardsound = 6,0
ground.type = High
ground.slidetime = 12
ground.hittime  = 13
ground.velocity = -5.5
air.velocity = -2.5,-4
envshake.time = 2
envshake.ampl = 1
kill = ceil(Fvar(12))

[State 210, ステート変更]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

  ;---------------------------------------------------------------------------
;立ち弱キック
[Statedef 230]
type    = S
movetype= A
physics = S
juggle  = 4
poweradd= 50
ctrl = 0
;velset = 0,0
anim = 230
sprpriority = 2

[State 200];乗算補正
type = Varset
trigger1 = movehit=1
fv = 1
value = fVar(1)*0.6
persistent = 0
ignorehitpause = 1

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = time = 1
value = S100,8
volume = 250
channel = 0

[State 240, 軸位置移動]
type = PosAdd
trigger1 = AnimElem = 1
trigger2 = AnimElem = 2
trigger3 = AnimElem = 3
;trigger4 = AnimElem = 8
;trigger5 = AnimElem = 9
x = 10 ;Ｘ軸を前方に１２ピクセル移動させる

[State 0, Explod]
type = Explod
trigger1 = Animelem = 4
anim = 231
ID = 230
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 0
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1



[State 230, 音を鳴らす]
type = PlaySnd
trigger1 = Time = 5
value = s0, 2
volume = 250

[State 230, ヒット定義]
type = HitDef
trigger1 = Time = 0
attr = S, NA
animtype  = hard
damage    = ceil(87*fvar(1)*fvar(15)),5
guardflag = MAP
pausetime = 16,16
sparkno = s8005
sparkxy = -10,-57
hitsound   = s1,2
guardsound = 6,0
ground.type = Low
ground.slidetime = 15
ground.hittime  = 20
ground.velocity = -8
air.velocity = -6.5,-3.5
kill = ceil(Fvar(12))
;fall = 1
;fall.recover = 0

[State 230, ステート変更]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
;立ち弱キック
[Statedef 240]
type    = A
movetype= A
physics = N
juggle  = 4
poweradd= 22
ctrl = 0
velset = 0,0
anim = 250
sprpriority = 2

[State 200];乗算補正
type = Varset
trigger1 = movehit=1
fv = 1
value = fVar(1)*0.7
persistent = 0
ignorehitpause = 1

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = time = 1
value = S100,5
volume = 250
channel = 0


[State 0, Explod]
type = Explod
trigger1 = Animelem = 4
anim = 8001
ID = 700
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1

[State 0, Explod]
type = Explod
trigger1 = Animelem = 1
anim = 8030
ID = 700
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1

[State 0, Explod]
type = Explod
trigger1 = Animelem = 1
anim = 8001
ID = 700
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = -1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1

[State 0, Explod]
type = Explod
trigger1 = AnimElem = 4
anim = 255
ID = 240
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = -1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 0
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1
;ignorehitpause =
;trans =
;persistent =
;supermove = 0
;pausemove = 0




[State 240, 軸位置移動]
type = PosAdd
trigger1 = AnimElem = 1
trigger2 = AnimElem = 2
trigger3 = AnimElem = 3
x = 10 ;Ｘ軸を前方に１２ピクセル移動させる

[State 0, VelSet]
type = VelSet
trigger1 = AnimElem = 1
x = 2
y = -6


[State 0, VelMul]
type = VelMul
trigger1 = AnimElem = 3
x = 1
y = 0.4


[State 0, VelSet]
type = VelSet
trigger1 = AnimElem = 4
x = 2
y = 8

[State 0, Gravity]
type = Gravity
trigger1 = AnimElemTime(4) >= 0
;ignorehitpause =
;persistent =



[State 230, 音を鳴らす]
type = PlaySnd
trigger1 = Time = 5
value = s0, 2
volume = 250

[State 230, 音を鳴らす]
type = PlaySnd
trigger1 = Time = 10
value = s120, 0
volume = 250

[State 230, ヒット定義]
type = HitDef
trigger1 = Time = 0
attr = S, SA
animtype  = hard
damage    = ceil(97*fvar(1))
guardflag = HA
pausetime = 12,12
sparkno = s8004
sparkxy = -10,-27
hitsound   = s1,2
guardsound = 6,0
ground.type = Low
ground.slidetime = 19
ground.hittime  = 25
ground.velocity = -1,8
air.velocity = -1,8.5
fall =1
fall.recover =0
air.fall = 1
fall.recover = 0          ;相手は空中受け身が出来なくなる
fall.damage = 20          ;相手が地面に激突した瞬間のダメージ量
fall.envshake.ampl = 8    ;相手が地面に激突した瞬間の画面振動
fall.envshake.time = 4
envshake.time = 4
envshake.ampl = 2
kill = ceil(Fvar(12))

[State 230, ステート変更]
type = ChangeState
trigger1 = Pos Y >= 0 && Vel Y > 0
value = 250
ctrl = 0

;----------------------------------------------------------------------
;落下
[Statedef 250]
type    = A
movetype= I
physics = N
anim = 251
sprpriority = 1

[State 0, Explod]
type = Explod
trigger1 = time = 0
anim = 256
ID = 250
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 3
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1



[State 0, VelSet]
type = VelSet
trigger1 = time =0
x =0
y = 0


[State 1052, 軸位置];地面に軸をリセットしている
type = PosSet
trigger1 = Time = 0

y = 0

[State 1052, 音を鳴らす];着地音
type = PlaySnd
trigger1 = Time = 0
value = 40, 0



[State 1052, ステート変更]
type = ChangeState
trigger1 = Animtime =0
value = 252
ctrl = 0

;----------------------------------------------------------------------
;：着地
[Statedef 252]
type    = S
movetype= I
physics = S
anim = 252
sprpriority = 1

[State 0, VelSet]
type = VelSet
trigger1 = time =0
x = 0
y = 0


[State 1052, 軸位置];地面に軸をリセットしている
type = PosSet
trigger1 = Time = 0

y = 0



[State 1052, ステート変更]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1



;===========================================================================
;---------------------------------------------------------------------------
; ２Ｄ格ゲーでのしゃがみ通常攻撃は空中ガードが不可な作品が結構多い。
; カンフーマンも例外ではなかったみたい。
; ↓のしゃがみ弱パンチのguardflagが「L」のみになってるのに注目。
; 意味は「Low」。相手はこのしゃがみ弱パンチをガードする場合、
; 「しゃがみガードだけしか出来ない」という事になる。
;
; それ以外は簡単。
;---------------------------------------------------------------------------
;しゃがみ弱パンチ
[Statedef 400]
type    = C
movetype= A
physics = C
juggle  = 2
poweradd= 15
ctrl = 0
anim = 400
sprpriority = 2
facep2 = 1

[State 200];乗算補正
type = Varset
trigger1 = movehit=1
fv = 1
value = fVar(1)*0.8
persistent = 0
ignorehitpause = 1

[State 400, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = time = 1
value = S100,0
volume = 250
channel = 0

[State 400, 音を鳴らす]
type = PlaySnd
trigger1 = Time = 1
value = 0, 0

[State 400, ヒット定義]
type = HitDef
trigger1 = Time = 0
attr = C, NA ;しゃがみ通常打撃（Crouching, Normal Attack）
damage    = ceil(23*fvar(1))
priority  = 3
animtype  = Light
hitflag = MAF
guardflag = L
pausetime = 10,11
sparkno = s8006
sparkxy = -10,-42
hitsound   = s1,0
guardsound = 6,0
ground.type = Low
ground.slidetime = 8
ground.hittime  = 10
ground.velocity = -4
air.velocity = -1.5,-3
kill = ceil(Fvar(12))


[State 400, ステート変更]
type = ChangeState
trigger1 = AnimTime = 0
value = 11 ;しゃがむステートへ（コモンステート）
ctrl = 1

;---------------------------------------------------------------------------
; 効果の違う攻撃を連続でヒットさせる場合は、複数のHitDefが必要。
; ↓のしゃがみ強パンチのguardflagの効果がそれぞれ別々（MとMA）なように、
; パラメータが数値じゃなければ特に。こればかりはどうしようもない。
;---------------------------------------------------------------------------
;しゃがみ強パンチ
[Statedef 410]
type    = C
movetype= A
physics = C
juggle  = 2
poweradd= 50
ctrl = 0
anim = 410
sprpriority = 2

[State 410, 音を鳴らす]
type = PlaySnd
trigger1 = Time = 1
value = 0, 0

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = time = 1
value = S100,10
volume = 250
channel = 0


[State 410, 一発目のヒット定義]
type = HitDef
trigger1 = time = 0
attr = C, NA
damage    = ceil(45*fvar(1))
animtype  = Medium
hitflag = MAF
guardflag = M
pausetime = 12,12
sparkno = s8004
sparkxy = -10,-55
hitsound   = s1,1
guardsound = 6,0
ground.type = Low
ground.slidetime = 12
ground.hittime  = 13
ground.velocity = -5,0
air.hittime  = 25
air.velocity = -0.5,-6.5
air.fall =1
fall.recovertime = 40
yaccel =0.3
kill = ceil(Fvar(12))


[State 410, ステート変更]
type = ChangeState
trigger1 = AnimTime = 0
value = 11
ctrl = 1

;---------------------------------------------------------------------------
;しゃがみ弱キック
[Statedef 430]
type    = C
movetype= A
physics = C
juggle  = 4
poweradd= 22
ctrl = 0
anim = 440
sprpriority = 2

[State 430, 音を鳴らす]
type = PlaySnd
trigger1 = Time = 1
value = 0, 0

[State 200];乗算補正
type = Varset
trigger1 = movehit=1
fv = 1
value = fVar(1)*0.55
persistent = 0
ignorehitpause = 1

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = time = 1
value = S100,8
volume = 250
channel = 0

[State 430, ヒット定義]
type = HitDef
trigger1 = Time = 0
attr = C, NA
damage    = ceil(85*fvar(1))
animtype  = hard
hitflag = MA
guardflag = L
pausetime = 12,12
sparkno = s8005
sparkxy = -10,-8
hitsound   = s1,2
guardsound = 6,0
ground.type = low
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = -5
air.velocity = -4,-3
down.velocity = -5,0
fall =0
fall.recover =0
kill = ceil(Fvar(12))

[State 430, ステート変更]
type = ChangeState
trigger1 = AnimTime = 0
value = 11
ctrl = 1


;===========================================================================
;---------------------------------------------------------------------------
; ジャンプ通常攻撃にChangeStateのコントローラが無いのは、
; Physicsを「A」にしているから。
; おまけフォルダの「小ネタ.txt」を参照。（Physicsの仕組み）
;
; しゃがみ通常技とは逆に、ジャンプ通常技は基本的に「中段属性」の攻撃。
; しゃがみガードが出来ないのが普通なので、guardflagを「HA」にしておくのが定石。
;「立ちガードの需要性」と「空対地のガードの揺さぶりによる駆け引き」を
; プレイヤーに楽しんでもらうための先人達の知恵だね。
;---------------------------------------------------------------------------
;ジャンプ弱パンチ
[Statedef 600]
type    = A
movetype= A
physics = A
juggle  = 1
poweradd= 11
ctrl = 0
anim = 600
sprpriority = 2

[State 600];乗算補正
type = Varset
trigger1 = movehit=1
fv = 1
value = fVar(1)*0.8
persistent = 0
ignorehitpause = 1

[State 600, 音を鳴らす]
type = PlaySnd
trigger1 = Time = 4
value = 0, 0

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = time = 4
value = S100,11
volume = 250
channel = 0

[State 600, ヒット定義]
type = HitDef
trigger1 = Time = 0
attr = A, NA ;空中通常打撃（Air, Normal Attack）
damage    = ceil(20*fvar(1))
guardflag = HA ;相手はしゃがみガードが出来ない
priority = 3
pausetime = 7,8
sparkno = s8006
sparkxy = -10,-58
hitsound   = s1,0
guardsound = 6,0
ground.type = High
ground.slidetime = 4
ground.hittime  = 8
ground.velocity = -4
air.velocity = -1.3,-3
kill = ceil(Fvar(12))


[State 600, コントロール]
type = CtrlSet
trigger1 = Time = 17
value = 1



;---------------------------------------------------------------------------
;ジャンプ弱キック
[Statedef 610]
type    = A
movetype= A
physics = A
juggle  = 2
poweradd= 20
ctrl = 0
anim = 630
sprpriority = 2

[State 600];乗算補正
type = Varset
trigger1 = movehit
fv = 1
value = fVar(1)*0.6
persistent = 0
ignorehitpause = 1

[State 630, 音を鳴らす]
type = PlaySnd
trigger1 = Time = 4
value = s0, 2


[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = time = 5
value = S100,1
volume = 250
channel = 0

[State 610, ヒット定義]
type = HitDef
trigger1 = Time = 0
attr = A, NA
damage = ceil(52*fvar(1))
guardflag = HA
priority = 4
pausetime = 12,12
sparkno = s8004
sparkxy = -10,-55
hitsound   = s1,1
guardsound = 6,0
animtype = Med
ground.type = High
ground.slidetime = 10
ground.hittime  = 13
ground.velocity = -5
air.velocity = -3,-2
air.hittime  = 30
kill = ceil(Fvar(12))

;---------------------------------------------------------------------------
;ジャンプ強パンチ
[Statedef 630]
type    = A
movetype= A
physics = A
juggle  = 4
poweradd= 65
ctrl = 0
anim = 610
sprpriority = 2

[State 200];乗算補正
type = Varset
trigger1 = movehit
fv = 1
value = fVar(1)*0.7
persistent = 0
ignorehitpause = 1

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = time = 6
value = S100,8
volume = 250
channel = 0


[State 610, 音を鳴らす]
type = PlaySnd
trigger1 = Time = 2
value = 0, 1


[State 0, Explod]
type = Explod
trigger1 = Animelem = 3
anim = 611
ID = 610
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = -1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1



[State 630, ヒット定義]
type = HitDef
trigger1 = Time = 0
attr = A, NA
damage = ceil(90*fvar(1))
guardflag = HA
priority = 3
pausetime = 12,12
sparkno = s8005
sparkxy = -5,-35
hitsound   = s1,2
guardsound = 6,0
ground.type = High
ground.slidetime = 10
ground.hittime  = 17
ground.velocity = -4
air.velocity = -7,10
air.fall = 1
fall.recover = 0          ;相手は空中受け身が出来なくなる
fall.damage = 20          ;相手が地面に激突した瞬間のダメージ量
fall.envshake.ampl = 8    ;相手が地面に激突した瞬間の画面振動
fall.envshake.time = 4
envshake.time = 4
envshake.ampl = 2
down.bounce = 1
kill = ceil(Fvar(12))


;---------------------------------------------------------------------------
;ジャンプ強キック
[Statedef 640]
type    = A
movetype= A
physics = N
juggle  = 2
poweradd= 65
ctrl = 0
anim = 640
sprpriority = 2

[State 0, VelSet]
type = VelSet
trigger1 = time =0
x = 3
y = -3

[State 0, VelMul]
type = VelMul
trigger1 = time = 12
x = 0.5
y = 0.5

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = time = 1
value = S100,4
volume = 250
channel = 0

[State 630, 音を鳴らす]
type = PlaySnd
trigger1 = AnimelemTime(4) = 0
;trigger1 = Time%4 = 0
value = s1100, 0


[State 0, VelSet]
type = VelSet
trigger1 = animelem =4
x = 10
y = 10

[State 0, Explod]
type = Explod
trigger1 = animelem =4
anim = 652
ID = 650
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = -1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -1
pausemovetime = 0
scale = 1,1
sprpriority = 4
ontop = 0
shadow = 0,0,0
ownpal = 0
removeongethit = 1




[State 640, 音を鳴らす]
type = PlaySnd
trigger1 = Time = 2
value = 0, 1

[State 640, ヒット定義]
type = HitDef
trigger1 =Time = 0
attr = A, NA
damage    = ceil(100*fvar(1)),15
hitflag =MAFD
guardflag = HA
priority = 4
pausetime = 12,12
sparkno = s1102
sparkxy = -10,-20
hitsound   = s1,2
guardsound = 6,0
animtype = Med
ground.type = High
ground.slidetime = 15
ground.hittime  = 15
ground.velocity = -5
air.velocity = -3,-4
fall = 1
fall.recover = 0          ;相手は空中受け身が出来なくなる
fall.damage = 20          ;相手が地面に激突した瞬間のダメージ量
fall.envshake.ampl = 8    ;相手が地面に激突した瞬間の画面振動
fall.envshake.time = 4
envshake.time = 4
envshake.ampl = 2
guard.kill = 0
kill = ceil(Fvar(12))

[State 210, ステート変更]
type = ChangeState
trigger1 = movecontact =1
value = 646
ctrl = 0

[State 210, ステート変更]
type = ChangeState
trigger1 = Vel Y> 0&& Pos Y >=10
value = 645
ctrl = 0


;----------------------------------------------------------------------
;着地
[Statedef 645]
type    = S
movetype= I
physics = S
anim = 650
sprpriority = 1

[State 0, VelSet]
type = VelSet
trigger1 = time =0
x =0
y = 0



[State 1052, 軸位置];地面に軸をリセットしている
type = PosSet
trigger1 = Time = 0
y = 0

[State 1052, 音を鳴らす];着地音
type = PlaySnd
trigger1 = Time = 0
value = 40, 0

[State 1052, コントロール]
type = CtrlSet
trigger1 = AnimElem = 3, -1
value = 1

[State 1052, 軸位置移動]
type = PosAdd
trigger1 = AnimElem = 4
x = -15

[State 0, RemoveExplod]
type = RemoveExplod
trigger1 = Time = 0
id = 650



[State 1052, ステート変更]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;----------------------------------------------------------------------
;落下
[Statedef 646]
type    = A
movetype= I
physics = N
anim = 655
sprpriority = 1
velset = -4,-6

[State 0, PlayerPush]
type = PlayerPush
trigger1 = 1
value = 0


[State 0, Gravity]
type = Gravity
trigger1 =1

[State 0, RemoveExplod]
type = RemoveExplod
trigger1 = Time = 0
id = 650


[State 1052, ステート変更]
type = ChangeState
trigger1 = Pos Y >= 0 && Vel Y > 0
value = 645
ctrl = 0




;---------------------------------------------------------------------------
;ダッシュ昇竜
[Statedef 700]
type    = A
movetype= A
physics = N
juggle  = 5
poweradd= 46
ctrl = 0
anim = 1020
sprpriority = 2


[State 200];乗算補正
type = Varset
trigger1 = movehit=1
fv = 1
value = fVar(1)*0.6
persistent = 0
ignorehitpause = 1


[State 0, PosAdd]
type = PosAdd
trigger1 = Animelem = 2
trigger2 = Animelem = 3
x = 4
y = 0


[State 200, 効果音]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = Time = 2
value = S100, 7
channel =0


[State 0, VelSet]
type = VelSet
trigger1 = Animelem = 3
x = 2
y = -6

[State 0, Gravity]
type = Gravity
trigger1 = time >=20
;ignorehitpause =
;persistent =

[State 0, VelMul]
type = VelMul
trigger1 = Time = 25
x = 0.6
y = 0.6

[State 0, VelMul]
type = VelMul
trigger1 = Time = 10
x = 0.7
y = 0.7

[State 1200, 音を鳴らす]
type = PlaySnd
trigger1 = Time  = 10
value = s0, 2

[State 0, Explod]
type = Explod
trigger1 = Animelem = 3
anim = 701
ID = 700
pos = 10,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = -1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1

[State 0, Explod]
type = Explod
trigger1 = Animelem = 3
anim = 8001
ID = 700
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1

[State 0, Explod]
type = Explod
trigger1 = Animelem = 3
anim = 8030
ID = 700
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1

[State 0, Explod]
type = Explod
trigger1 = Animelem = 3
anim = 8001
ID = 700
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = -1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1



[State 0, Helper]
type = Helper
trigger1 = Animelem = 3
trigger1 = movehit
helpertype = normal ;player
name = ""
ID = 7025
stateno = 701
pos = 0,0
postype = p1    ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 0
supermovetime = 0
pausemovetime = 0





[State 210, 効果音]
type = PlaySnd
trigger1 = Time = 2
value = S0, 1

[State 210, ヒット定義]
type = HitDef
trigger1 = Animelem = 2
attr = A, SA
damage    = ceil(35*fvar(1))
animtype  = up
hitflag = MAF
guardflag = M
pausetime = 6,6
sparkno = S8006
guard.sparkno = 40
hitsound   = S1, 2
guardsound = S6, 0
sparkxy = -10,-90
ground.type = low
ground.slidetime = 12
ground.hittime  = 20
ground.velocity = -0,-9
air.velocity = -0,-9
yaccel=0.44
kill = ceil(Fvar(12))

[State 210, ヒット定義]
type = HitDef
trigger1 = Animelem = 3
attr = A, SA
damage    = ceil(35*fvar(1))
animtype  = up
hitflag = MAF
guardflag = M
pausetime = 8,8
sparkno = S8006
guard.sparkno = 40
hitsound   = S1, 2
guardsound = S6, 0
sparkxy = -10,-90
ground.type = low
ground.slidetime = 12
ground.hittime  = 20
ground.velocity = -0,-9
air.velocity = -0,-9
yaccel=0.44
ID =700
kill = ceil(Fvar(12))

[State 210, ヒット定義]
type = HitDef
trigger1 = Animelem = 4
attr = A, SA
damage    = ceil(45*fvar(1))
animtype  = up
hitflag = MAF
guardflag = M
pausetime = 10,10
sparkno = S8004
guard.sparkno = 40
hitsound   = S1, 2
guardsound = S6, 0
sparkxy = -10,-90
ground.type = low
ground.slidetime = 12
ground.hittime  = 20
ground.velocity = -2,-6.5
air.velocity = -2,-6.5
fall = 1
fall.recovertime = 35
yaccel=0.54
kill = ceil(Fvar(12))

[State 0, CtrlSet]
type = CtrlSet
trigger1 = Animelem = 4
trigger1 = movehit
value = 1
ignorehitpause = 1



[State 210, ステート変更]
type = ChangeState
trigger1 = Vel Y> 0&& Pos Y >=0
value = 52
ctrl = 1

;----------------------------------------------------------------------------
;エフェクト
[Statedef 701]
type = A
movetype = I
physics = N
ctrl = 0
anim = 7025
velset = 0,0
sprpriority = 2

[State 0, BindToTarget]
type = BindToTarget
trigger1 = time = 0
time = 1
ID = 700
;pos = 0,0,"Foot";"Mid","Head"




[State 0, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
flag2 = invisible
flag3 = noAutoTurn

[State 0, Explod]
type = Explod
trigger1 = Time = 0
anim = 7025
ID = 7025
pos = 0,-60
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 100
scale = 1,1
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 0


[State 0, Trans]
type = Trans
trigger1 = 1
trans =  add
;alpha = 256,256
ignorehitpause = 1
;persistent =



[State 0, DestroySelf]
type = DestroySelf
trigger1 = Animtime =0

;---------------------------------------------------------------------------
;昇竜
[Statedef 710]
type    = A
movetype= A
physics = N
juggle  = 5
poweradd= 46
ctrl = 0
velset = 0,0
anim = 700
sprpriority = 2


[State 200];乗算補正
type = Varset
trigger1 = movehit=1
fv = 1
value = fVar(1)*0.8
persistent = 0
ignorehitpause = 1


[State 0, PosAdd]
type = PosAdd
trigger1 = Animelem = 2
trigger2 = Animelem = 3
x = 15
y = 0


[State 200, 効果音]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = Time = 2
value = S1000, 0
channel =0

[State 0, NotHitBy]
type = NotHitBy
trigger1 = time =0
value = SCA,NA,SA,NT,ST
time = 8

[State 0, VelSet]
type = VelSet
trigger1 = Animelem = 5
x = 2
y = -6




[State 0, VelMul]
type = VelMul
trigger1 = Time = 25
x = 0.2
y = 0.2

[State 0, VelMul]
type = VelMul
trigger1 = Time = 10
x = 0.5
y = 0.5

[State 0, Gravity]
type = Gravity
trigger1 = time >=30

[State 1200, 音を鳴らす]
type = PlaySnd
trigger1 = Time = 0
value = s0, 2
volume =250

[State 1200, 音を鳴らす]
type = PlaySnd
trigger1 = Time = 2
value = s120, 0
volume =250

[State 0, Explod]
type = Explod
trigger1 = Animelem = 4
anim = 701
ID = 700
pos = 5,5
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = -1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1

[State 0, Explod]
type = Explod
trigger1 = Animelem = 4
anim = 8001
ID = 700
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1

[State 0, Explod]
type = Explod
trigger1 = Animelem = 4
anim = 8030
ID = 700
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1

[State 0, Explod]
type = Explod
trigger1 = Animelem = 4
anim = 8001
ID = 700
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = -1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1

[State 0, Explod]
type = Explod
trigger1 = Animelem = 5
anim = 8410
ID = 700
pos = 30,-120
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = 2
pausemovetime = 0
scale = 0.5,0.5
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1


[State 210, 効果音]
type = PlaySnd
trigger1 = Time = 2
value = S0, 1

[State 210, ヒット定義]
type = HitDef
trigger1 = time = 0
attr = A, SA
damage    = ceil(85*fvar(1))
animtype  = hard
hitflag = MAF
guardflag = M
pausetime = 8,8
sparkno = S8005
guard.sparkno = 40
hitsound   = S1, 2
guardsound = S6, 0
sparkxy = -10,-90
ground.type = low
ground.slidetime = 12
ground.hittime  = 20
ground.velocity = -1,-9
air.velocity = -1,-8
fall = 1
fall.recover = 0
yaccel=0.4
envshake.time = 4
envshake.ampl = 2
kill = ceil(Fvar(12))


[State 210, ステート変更]
type = ChangeState
trigger1 = var(59) <= 0
trigger1 = command = "b"
trigger1 = movehit
trigger1 = Time >= 26
value = 720
ctrl = 0

[State 210, ステート変更]
type = ChangeState
trigger1 = Vel Y> 0&& Pos Y >=0
value = 52
ctrl = 1

;---------------------------------------------------------------------------
;昇竜からのたたき落とし
[Statedef 720]
type    = A
movetype= A
physics = A
juggle  = 0
poweradd= 30
ctrl = 0
anim = 610
sprpriority = 2

[State 200];乗算補正
type = Varset
trigger1 = movehit=1
fv = 1
value = fVar(1)*0.8
persistent = 0
ignorehitpause = 1

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = time = 8
value = S100,8
volume = 250
channel = 0

[State 610, 音を鳴らす]
type = PlaySnd
trigger1 = Time = 5
value = 0, 1

[State 0, VelSet]
type = VelSet
trigger1 = Time = 2
x = 2



[State 0, Explod]
type = Explod
trigger1 = Animelem = 3
anim = 611
ID = 610
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = -1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1

[State 610, ヒット定義]
type = HitDef
trigger1 = ceil(Fvar(12))= 1
trigger1 = Time = 0
attr = A, SA
damage = ceil(80*fvar(1))
guardflag = HA
priority = 4
pausetime = 12,12
sparkno = s8005
sparkxy = -10,-55
hitsound   = s1,2
guardsound = 6,0
animtype = Med
ground.type = High
ground.slidetime = 20
ground.hittime  = 20
ground.velocity = -5,5
air.velocity = -4,10
air.fall = 1
fall.recover = 0
yaccel=0.44
envshake.time = 4
envshake.ampl = 4
fall.damage = 20          ;相手が地面に激突した瞬間のダメージ量
fall.envshake.ampl = 3    ;相手が地面に激突した瞬間の画面振動
fall.envshake.freq = 10
fall.envshake.time = 4
down.velocity = -5,-5
down.bounce = 1
kill = ceil(Fvar(12))
fall.kill = ceil(Fvar(12))

[State 610, ヒット定義]
type = HitDef
trigger1 = Fvar(12) = 0
trigger1 = Time = 0
attr = A, SA
damage = ceil(80*fvar(1))
guardflag = HA
priority = 4
pausetime = 12,12
sparkno = s8005
sparkxy = -10,-55
hitsound   = s1,2
guardsound = 6,0
animtype = Med
ground.type = High
ground.slidetime = 20
ground.hittime  = 20
ground.velocity = -5,5
air.velocity = -4,10
air.fall = 1
fall.recover = 0
yaccel=0.44
envshake.time = 4
envshake.ampl = 4
fall.damage = 0          ;相手が地面に激突した瞬間のダメージ量
fall.envshake.ampl = 3    ;相手が地面に激突した瞬間の画面振動
fall.envshake.freq = 10
fall.envshake.time = 4
down.velocity = -5,-5
down.bounce = 1
kill = ceil(Fvar(12))
fall.kill = ceil(Fvar(12))

;===========================================================================
; 投げ技
;===========================================================================
;---------------------------------------------------------------------------
; エレクバイトが「作るのが退屈と感じる時もあるよ」って言ってるけど、
; 作り出したら意外とハマって楽しくなる投げ技。
; 投げる相手の正確な座標取りは面倒臭いけどね（コラ
; 投げ用のHitDefはテンプレートと見比べて確認すればわかるはず。
;---------------------------------------------------------------------------
;カンフースルー：掴み
[Statedef 800]
type    = S
movetype= A
physics = S
juggle  = 0
velset = 0,0
ctrl = 0
anim = 800
sprpriority = 2

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = time =0
value = S5,0
volume = 250
channel = 0

[State 0, PlaySnd]
type = PlaySnd
trigger1 = time =0
value = S0,0
volume = 250



[State 800, ヒット定義]
type = HitDef
trigger1 = Time = 0
trigger1 = P2statetype !=A
attr = S, NT
damage = ceil(72*fvar(1))
hitflag = MA-
;guardflag =
priority = 4
pausetime = 4,4
sparkno = s8006
sparkxy = -10,-35
hitsound   = 5,3
guardsound = 6,0
animtype = hard
ground.type = low
ground.slidetime = 17
ground.hittime  = 17
ground.velocity = -2,0
air.velocity = -5,-2
guard.velocity = -12
guard.dist = 0
ID = 800
kill =0
p2facing = 1


[State 800, ヒット定義]
type = HitDef
trigger1 = Time = 0
trigger1 = P2statetype =A
attr = S, NT
damage = 52
hitflag = MA-
;guardflag =
priority = 4
pausetime = 4,4
sparkno = s8006
sparkxy = -10,-35
hitsound   = 5,3
guardsound = 6,0
animtype = hard
ground.type = low
ground.slidetime = 17
ground.hittime  = 17
ground.velocity = -2,0
air.velocity = -5,-2
guard.velocity = -12
guard.dist = 0
;ID = 800
kill =0

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = Animelem = 4
value = S800,2
volume = 250
channel = 0

[State 0, ChangeState]
type = ChangeState
trigger1 = Numtarget(800)
trigger1 = !Target(800),Ishelper
trigger1 = movehit=1
value = 810
ctrl = 0
ignorehitpause = 1


[State 0, TargetState]
type = TargetState
trigger1 = Numtarget(800)
trigger1 = !Target(800),Ishelper
trigger1 = movehit =1
value = 820
ID = 800
ignorehitpause = 1


[State 800, ステート変更]
type = ChangeState
Trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
;カンフースルー：成功（放り投げる）
[Statedef 810]
type    = S
movetype= A
physics = N
anim = 810
poweradd = 60


[State 0, TargetState]
type = TargetState
trigger1 = Numtarget(800)
trigger1 = !Target(800),Ishelper
trigger1 = AnimElemTime(4) < 0
value = 820
ID = 800


[State 810, 音を鳴らす];掴み用
type = PlaySnd
trigger1 = AnimElem = 4
value = s1, 1


[State 810, 掴んだ相手の位置１];TargetBindで相手を一時的に拘束
type = TargetBind
trigger1 = AnimElemTime(2) < 0
pos = 38, 0  ;自分の軸位置から相手の軸をX=28・Y=0の位置にする

[State 810, 物理的なキャラの幅]
type = Width
trigger1 = AnimElemTime(4) >= 0 && AnimElemTime(6) < 0
edge = 40,0 ;画面端を押す幅を変える（オレンジの線）

[State 810, 掴んだ相手の位置２]
type = TargetBind
trigger1 = AnimElemTime(2) >= 0 && AnimElemTime(4) < 0
pos = 48, 0

[State 0, Explod]
type = Explod
trigger1 = AnimElem = 4
anim = 8004
ID = 800
pos = 0,-40
postype = p2  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1


;相手が食らい状態の時のみ機能するTarget系コントローラ
[State 810, 掴んだ相手のライフ増減]
type = TargetLifeAdd
trigger1 = AnimElem = 4
value = -78

[State 810, 掴んだ相手のステート変更]
type = TargetState
trigger1 = AnimElem = 5
value = 821


[State 810, ステート変更]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; こっちは制御を奪った相手の食らいステート。
; 相手の制御を解く場合、「ChangeState」のコントローラにしてしまうと
;「相手が制御を奪われた状態のままになるバグ」が発生してしまう。
; なので必ず『SelfState』で相手のステートに戻し、制御を解除しないといけない。
; そこさえ注意しておけば、自由に相手の食らいモーションを設定出来る。
;
; デバッグ表示中に相手の情報の一部の文字が黄色になったら、それが
; P2StateNoやTargetStateで制御を奪われた状態の証。
; 投げが成功したらCtrl+Dで相手側の情報を確認だ！m9っ｀Д´)
;---------------------------------------------------------------------------
;---------------------------------------------------------------------------
;カンフースルー：相手側１（掴まれて放り投げられるまで）
[Statedef 820]
type    = S
movetype= H
physics = N
velset = 0,0
sprpriority = -1
facep2 = 1

[State 820, 相手のアニメ変更]
type = ChangeAnim2
trigger1 = Time = 0
value = 820

[State 820, 相手ステートに戻す]
type = SelfState
trigger1 = !GetHitVar(IsBound) ;（※３）
value = 5050

;---------------------------------------------------------------------------
; ※３：GetHitVar
;
; 　食らってしまった『相手の攻撃の効果』を
; 　自分側が「特殊な変数」に変換して判断するトリガー。
;　「GetHitVar(**)」の『**』に該当する、予め決められているパラメータを全て紹介。
;
; 　大概「相手のHitDefとProjectileのパラメータ」から引き出すので、かなり多い（苦笑
;
;
; 　XVelAdd             = 自分が負けて吹っ飛んだ時の「Ｘ軸方向の加速度(float)」を計測する
; 　YVelAdd             = 自分が負けて吹っ飛んだ時の「Ｙ軸方向の加速度(float)」を計測する
; 　Type                = 自分の「食らいアニメの種類」。（0=None・1=High・2=Low・3=Trip）
; 　AnimType            = 相手のHitDefに設定されている「animtype」を判断する
;                        （0=Light・1=Medium・2=Hard・3=Back・4=Up・5=DiagUp）
; 　GroundType          = 相手のHitDefに設定されている「ground.type」を判断する
; 　AirType             = 相手のHitDefに設定されている「air.type」を判断する
;
; 　Damage              = 相手から食らってしまった「ダメージ量」を計測する
; 　HitCount            = 相手の「現在のヒット数」を計測する
; 　FallCount           = 自分が「地面に激突した回数」を判断する
; 　HitShakeTime        = 自分の「ヒット硬直時間」を計測する
; 　HitTime             = 自分の「食らい時間」を計測する
; 　SlideTime           = 相手のHitDefに設定されている「slidetime」を判断する
; 　CtrlTime            = 相手のHitDefに設定されている「(air)guard.ctrltime」を判断する
; 　RecoverTime         = 横に倒れている時の「起き上がるまでの時間」を判断する
;
; 　XOff                = 相手のHitDefに設定されている「"snap"のＸ軸」を判断する（非推奨）
; 　YOff                = 相手のHitDefに設定されている「"snap"のＹ軸」を判断する（非推奨）
; 　ZOff                = 相手のHitDefに設定されている「"snap"のＺ軸」を判断する？（存在しないので無意味）
;
; 　XVel                = 相手のHitDefに設定されている「Ｘ軸の食らい状態の移動速度」を判断する
; 　YVel                = 相手のHitDefに設定されている「Ｙ軸の食らい状態の移動速度」を判断する
; 　YAccel              = 相手のHitDefに設定されている「yaccel」を判断する
; 　chainID             = 相手のHitDefに設定されている「chainID」を判断する
; 　Guarded             =「相手のコンボでの最後の攻撃をガードした場合」を判断する
; 　IsBound             =「TargetBindで掴まれてる状態」を判断する
;
; 　Fall                = 相手のHitDefに設定されている「fall」を判断する
; 　Fall.Damage         = 相手のHitDefに設定されている「fall.damage」を判断する
; 　Fall.XVel           = 相手のHitDefに設定されている「fall.xvelocity」を判断する
; 　Fall.YVel           = 相手のHitDefに設定されている「fall.yvelocity」を判断する
; 　Fall.Recover        = 相手のHitDefに設定されている「fall.recover」を判断する
; 　Fall.RecoverTime    = 相手のHitDefに設定されている「fall.recovertime」を判断する
; 　Fall.Kill           = 相手のHitDefに設定されている「fall.kill」を判断する
; 　Fall.EnvShake.Time  = 相手のHitDefに設定されている「fall.envshake.time」を判断する
; 　Fall.EnvShake.Freq  = 相手のHitDefに設定されている「fall.envshake.freq」を判断する
; 　Fall.EnvShake.Ampl  = 相手のHitDefに設定されている「fall.envshake.ampl」を判断する
; 　Fall.EnvShake.Phase = 相手のHitDefに設定されている「fall.envshake.phase」を判断する
;
;---------------------------------------------------------------------------
;カンフースルー：相手側２（放り投げられた）
[Statedef 821]
type    = A
movetype= H
physics = N
velset = -6.8,-3
poweradd = 40



[State 821, 速度加算];重力
type = VelAdd
trigger1 = 1
y = .44 ;現在のＹ軸方向の移動速度を「0.4ポイント」ずつ増やしていく



[State 821, 相手ステートに戻す]
type = SelfState
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = 5100

;===========================================================================
; 必殺技
;===========================================================================
;---------------------------------------------------------------------------
; カンフーマンを代表する必殺技『カンフー突き手』。
; 最初に公開されたM.U.G.E.N（1999/1/1当時のMS-DOS版）では
; この技と超必殺技の『三烈カンフー突き手』しか持ってなかった。
;
;「P2BodyDist」は「自分から相手までの距離」を測るトリガー。
; Bodyの記述が無い「P2Dist」の場合は、
;「自分の軸位置から相手の軸位置との距離」を測る。
;---------------------------------------------------------------------------
; 勇者ナックル 236a
[Statedef 1000]
type    = S
movetype= A
physics = S
juggle  = 3
poweradd= 110
velset = 0,0
anim = 1000
ctrl = 0
sprpriority = 2

[State 200];乗算補正
type = Varset
trigger1 = movehit=1
fv = 1
value = fVar(1)*0.5
persistent = 0
ignorehitpause = 1

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = time =0
value = S100,3
volume = 250
channel = 0

[State 1000, 音を鳴らす]
type = PlaySnd
trigger1 = Time = 8
value = 0, 3

[State 0, Explod]
type = Explod
trigger1 = Animelem = 2
anim = 8310
ID = 230
pos = 50,-60
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 0.5,0.5
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1


[State 1000, 軸位置移動]
type = PosAdd
trigger1 = AnimElem = 5
x = 5

[State 1000, 軸位置移動]
type = PosAdd
trigger1 = AnimElem = 9
x = -5

[State 1000, ヒット定義];相手に近い場合
type = HitDef
trigger1 = AnimElem = 2

attr = S, SA ;立ち必殺技（Standing, Special Attack）
animtype  = Hard
damage    = ceil(90*fvar(1)), 4
priority  = 5
hitflag = MAFP
guardflag = MA
pausetime = 8,8
sparkno = s8004
sparkxy = -10,-60
hitsound   = s1,2;5,4
guardsound = 6,0
ground.type = Low
ground.slidetime = 25
ground.hittime  = 25
ground.velocity = -6,0
air.velocity = -2,-5
air.hittime = 35
kill = ceil(Fvar(12))


[State 0, VarAdd]
type = VarAdd
trigger1 = movecontact = 1
v = 58    ;fv =
value = 5

[State 0, VarAdd]
type = VarAdd
trigger1 = movehit = 1
v = 58    ;fv =
value = 5


[State 1000, ステート変更]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1


;---------------------------------------------------------------------------
; ※４：IfElse文
;
; 　条件を『分岐』させ、適用する値を細分化する命令。書式を見てみよう。
; 
; 　　IfElse(■,●,▲)
;
; 　　■ = 分岐させる条件（トリガーを使う）
; 　　● =「■」が『有効な時』に適用する値（真）
; 　　▲ =「■」が『有効ではない時』に適用する値（偽）
;
; 　つまり『もし■が実行されていたら●（真）、そうでない場合は▲（偽）』
; 　という処理の流れになる。
;
; 　M.U.G.E.NでのIfElse文は数式として分類されているので、
; 　●と▲には「数値（数値を適用するトリガー）」しか使えない。
;　（その中に更にIfElse文は何個も追加出来るけどね）
;
;---------------------------------------------------------------------------
;---------------------------------------------------------------------------
;速いカンフー突き手：相手側１（ヒット硬直）
[Statedef 1025]
type    = A
movetype= H
physics = N
velset = 0,0

[State 0, PlayerPush]
type = PlayerPush
trigger1 = 1
value = 0



[State 1025, 相手のアニメ変更]
type = ChangeAnim2
trigger1 = 1
value = 1025

[State 1025, ステート変更]
type = ChangeState
trigger1 = HitShakeOver = 1 ;ヒット硬直が解けたら
value = 1026

;[State 1026, 相手ステートに戻す]
;type = SelfState
;trigger1 = roundstate!=2
;value = 5100

;---------------------------------------------------------------------------
;「FrontEdgeBodyDist」は『自分から前方の画面端までの距離』を、
;「BackEdgeBodyDist」は『自分から後方の画面端までの距離』を計測するトリガー。
; 使ってないけど、さらに「Body」を抜いた『FrontEdgeDist』及び『BackEdgeDist』は
; それぞれ『自分の「軸位置」から前か後ろの画面端までの距離』を計測する事になる。
; ちなみにこれはＸ軸方向のみ。Ｙ軸方向の計測方法は無いので気を付けてね。
;---------------------------------------------------------------------------
;速いカンフー突き手：相手側２（吹っ飛び）
[Statedef 1026]
type    = A
movetype= H
physics = N

[State 1026, 食らい中の速度]
type = HitVelSet
trigger1 = Time = 0
x = 1
;y = 1

;[State 1026, 速度加算];重力
;type = VelAdd
;trigger1 = 1
;y = .45

[State 0, PlayerPush]
type = PlayerPush
trigger1 = 1
value = 0
;ignorehitpause =
;persistent =


[State 1026, スクロール]
type = ScreenBound
triggerall = Pos y < -15
trigger1 = BackEdgeBodyDist < 65
trigger2 = FrontEdgeBodyDist < 65
value = 1         ;画面スクロールの影響を受けるか否か。0=受けない・1=受ける
movecamera = 0,1  ;カメラの動きをキャラに依存させるか否か。0=させない・1=させる（Ｘ軸,Ｙ軸）

[State 1026, ステート変更];壁に激突するステートへ
type = ChangeState
;triggerall = Pos y <= 10
trigger1 = BackEdgeBodyDist <= 20
trigger2 = FrontEdgeBodyDist <= 20
value = 1027

[State 1026, 相手ステートに戻す]
type = SelfState
trigger1 = (Vel y > 0) && (Pos y >= 0)
trigger2 = roundstate!=2
trigger3 = time>= 999

value = 5100


;---------------------------------------------------------------------------
;「Pos」はＸ軸が画面中央から、Ｙ軸が地面からの座標を決めるのに対し、
;『ScreenPos』は『常にウィンドウの一番左上からの横と縦の座標』を取る。
;---------------------------------------------------------------------------
;速いカンフー突き手：相手側３（壁に激突）
[Statedef 1027]
type    = A
movetype= H
physics = N

[State 1027, 振り返る]
type = Turn
trigger1 = (Time = 0) && (FrontEdgeBodyDist <= 30)

[State 1027, 軸位置移動]
type = PosAdd
trigger1 = Time = 0
x = 15 - BackEdgeBodyDist

[State 1027, 位置固定]
type = PosFreeze
trigger1 = 1
x = 1
y = 1

[State 1027, スクロール]
type = ScreenBound
trigger1 = 1
value = 1
movecamera = 0,1

[State 1027, エフェクト]
type = Explod
trigger1 = Time = 0
anim = F72
pos = 0, floor(screenpos y) - 50 ;（※５）
postype = back
sprpriority = 3

[State 1027, 相手のアニメ変更]
type = ChangeAnim2
trigger1 = Time = 0
value = 1027

[State 1027, 音を鳴らす]
type = PlaySnd
trigger1 = Time = 0
value = F7,0


[State 1026, 相手ステートに戻す]
type = SelfState
trigger1 = roundstate!=2
value = 5100

[State 1027, ステート変更]
type = ChangeState
trigger1 = AnimTime = 0
value = 1028

;---------------------------------------------------------------------------
; ※５：端数処理（floorとか付いてる所）
;
; 　括弧で挟んで中の数値をどうするか？小数点以下の数値を
;　「四捨五入」したり「切り捨てたり」する命令。
; 　これはプログラミングでは『端数処理』と呼ばれているものの一部で、
;
; 　Ceil(**)  = 天井関数(Ceiling)
; 　　　　　　（正の値は小数点以下を四捨五入、負の値は小数点以下を切り捨てる）
;
; 　Floor(**) = 床関数
; 　　　　　　（正の値は小数点以下を切り捨て、負の値は小数点以下を四捨五入する）
;
; 　という処理を値に適用し、整数への補正を行う。
; 　もちろん「正の値」は『０よりも上の数値』、「負の値」は『０よりも下の数値』の事。
; 　例えば、正の値2.8・負の値-2.8があるとする。これにCeilかFloorを与えると、
;
; 　Ceil(2.8)   = 3
; 　Ceil(-2.8)  = -2
; 　Floor(2.8)  = 2
; 　Floor(-2.8) = -3
;
; 　となる。
;---------------------------------------------------------------------------
;速いカンフー突き手：相手側４（壁からのバウンド）
[Statedef 1028]
type    = A
movetype= H
physics = N

[State 1028, 相手の特定の攻撃属性無効];（※６）
type = NotHitBy
trigger1 = 1
value = , NA, NP

[State 1028, 移動速度]
type = VelSet
trigger1 = Time = 0
y = -6

[State 1028, 移動速度]
type = VelSet
trigger1 = Time = 0
x = 1.6

[State 1028, 振り返る]
type = Turn
trigger1 = (Time = 0) && (BackEdgeDist < 30)

[State 1028, 速度加算];重力
type = VelAdd
trigger1 = 1
y = .35

[State 1028, アニメ変更]
type = ChangeAnim
trigger1 = Time = 0
trigger1 = !SelfAnimExist(5052) ;「!」が付いてるので、[Begin Action 5052]が無い場合
value = 5050

[State 1028, アニメ変更]
type = ChangeAnim
trigger1 = Time = 0
trigger1 = SelfAnimExist(5052)  ;airファイルに[Begin Action 5052]が存在してれば
value = 5052

[State 1028, アニメ変更]
type = ChangeAnim
trigger1 = Vel Y > -2
trigger1 = Anim = 5050
trigger1 = SelfAnimExist(5060)
persistent = 0
value = 5060

[State 1028, アニメ変更]
type = ChangeAnim
trigger1 = Vel Y > -2
trigger1 = Anim = 5052
trigger1 = SelfAnimExist(5062)
persistent = 0
value = 5062

[State 1028, 相手ステートに戻す]
type = SelfState
trigger1 = (Vel y > 0) && (Pos y >= 0)
trigger2 = RoundState !=2
value = 5100

;---------------------------------------------------------------------------
; ※６：NotHitBy
;
; 　通常は「無敵状態」を設定するけど、本当は
;　『相手の「特定の属性を設定しているHitDef」を当たらなくする』コントローラ。
; 　特定の属性はHitDefの「attr」のパラメータが該当する。テンプレート参照。
; 　まぁvalueに与える値を見れば早い。
;
; 　value = (相手のattrの状態), (相手のattrの属性１)(相手のattrの属性２),・・・
;
; 　これが本来の記述方法。
;　「value2」を増やす事により、もう一つ無敵にしたい属性を指定出来る。
; 　(属性１)と(属性２)を省略して書けば
; 　相手の(状態)のみを判断して攻撃を当たらなくする事が出来る。（「SC」など）
; 　逆に(状態)に関係無く特定の(属性１)と(属性２)に対して無敵にしたい場合は、
;　『(状態)を省略して(属性１)と(属性２)を設定する』。
; 　というか全ての状態（SとCとA全部の場合）で属性を実行したい時、
; 　SCAを加えてしまうと(属性１)と(属性２)が機能しない（苦笑
;
; 　(例)　：　value = , AA,AP,AT
; 　もしくは　value = , NA,SA,HA,NP,SP,HP,NT,ST,HT
;
; 　実はSCAじゃなくても、この記述でも「無敵状態」になれる。
; 　例に挙げた見慣れない属性（AA・AP・AT）の意味は以下の通り。
;
; 　AA = 相手の「全ての打撃」が当たらなくなる　　　　（All Attack）
; 　AP = 相手の「全てのProjectile」が当たらなくなる　（All Projectile）
; 　AT = 相手の「全ての投げ」が当たらなくなる　　　　（All Throw）
;
; 　この３つは「HitBy」「ReversalDef」「HitOverRide」のコントローラと、
;　「HitDefAttr」のトリガーにも使える。
;===========================================================================
;---------------------------------------------------------------------------
; 膝蹴りの時にＡボタンかＢボタンを押すと
;「撥ね蹴り」が出る、飛び上がる連続入力攻撃技。
; ステートが「地上での開始→飛び膝蹴り（ボタンを押すと連続技）→着地」
; の３つに分かれている。
;---------------------------------------------------------------------------

;===========================================================================
;---------------------------------------------------------------------------
; ２ヒットする何の変哲も無い対空必殺技。これといって難しい処理は使ってない。
; カンフーニーとの併用で画面端でのコンボも上手く行けば出来る。
; 対空技に付き物な「無敵時間」が無いので、潰されやすいのが難点。
;---------------------------------------------------------------------------
;空中乱蹴り
[Statedef 1100]
type    = A
movetype= A
physics = A
juggle  = 2
poweradd= 110
anim = 1100
ctrl = 0
sprpriority = 2

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = time = 1
value = S100,9
volume = 250
channel = 0

[State 0, VelMul]
type = VelSet
trigger1 = time = 0
x = 8


[State 0, Vel]
type = Velmul
trigger1 = AnimelemTime(10) <= 0
x = 0.9
y = 0.3


[State 0, Explod]
type = Explod
trigger1 = Animelem = 3
anim = 1105
ID = 1100
pos = 10,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = -1
vel = 0,0
accel = 0,0
random = 0,0
removetime = 20
pausemovetime = 0
scale = 1,1
sprpriority = -2
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1


[State 1100, 音を鳴らす]
type = PlaySnd
trigger1 = AnimElem = 3
value = 0, 1


[State 240, ヒット定義]
type = HitDef
trigger1 = Animelem = 3
attr = S, SA
animtype  = Medium
damage    = ceil(25*fvar(1))
guardflag = MA
pausetime = 2,2
sparkno = s8006
sparkxy = -10,-60
hitsound   = s1,1
guardsound = 6,0
ground.type = Low
ground.slidetime = 12
ground.hittime  = 20
ground.velocity = -1
air.velocity = -0.2,-1.2
numhits = 3
Fall.Recover = 0 ;AI追加記述
kill = ceil(Fvar(12))

[State 1100, 音を鳴らす]
type = PlaySnd
trigger1 = AnimElem = 5
value = 0, 1

[State 240, ヒット定義]
type = HitDef
trigger1 = Animelem = 5
attr = S, NA
animtype  = Medium
damage    = ceil(25*fvar(1))
guardflag = MA
pausetime = 2,2
sparkno = s8006
sparkxy = -10,-60
hitsound   = s1,1
guardsound = 6,0
ground.type = Low
ground.slidetime = 12
ground.hittime  = 20
ground.velocity = -1
air.velocity = -0.2,-1.2
Fall.Recover = 0 ;AI追加記述
numhits = 3
kill = ceil(Fvar(12))


[State 1100, 音を鳴らす]
type = PlaySnd
trigger1 = AnimElem = 7
value = 0, 1

[State 240, ヒット定義]
type = HitDef
trigger1 = Animelem = 7
attr = S, NA
animtype  = Medium
damage    = ceil(25*fvar(1))
guardflag = MA
pausetime = 2,2
sparkno = s8006
sparkxy = -10,-60
hitsound   = s1,1
guardsound = 6,0
ground.type = Low
ground.slidetime = 12
ground.hittime  = 20
ground.velocity = -1
air.velocity = -0.2,-0.2
Fall.Recover = 0 ;AI追加記述
numhits = 3
kill = ceil(Fvar(12))


[State 1100, 音を鳴らす]
type = PlaySnd
trigger1 = AnimElem = 9
value = 0, 2

[State 0, Explod]
type = Explod
trigger1 = Animelem = 9
anim = 1511
ID = 1500
pos = 15,-15
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1

[State 240, ヒット定義]
type = HitDef
trigger1 = Animelem = 9
attr = S, NA
animtype  = Medium
damage    = ceil(65*fvar(1))
guardflag = MA
pausetime = 12,12
sparkno = s8004
sparkxy = -10,-60
hitsound   = s1,2
guardsound = 6,0
ground.type = Low
ground.slidetime = 12
ground.hittime  = 15
ground.velocity = -12 ,-4
air.velocity = -12.2,-3.2
fall = 1
fall.recover = 0
kill = ceil(Fvar(12))


[State 1075, 音を鳴らす];カンフーマンの声
type = PlaySnd
trigger1 = movehit= 1
value = s1,0



[State 1100, 物理的なキャラの幅]
type = Width
trigger1 = AnimElemTime(4) >= 0 && AnimElemTime(13) < 0
value = 5,0


;---------------------------------------------------------------------------
;下降キック
[Statedef 1110]
type    = A
movetype= A
physics = N
juggle  = 2
poweradd= 60
anim = 3220
ctrl = 0
sprpriority = 2
velset =0,0

[State 1100];乗算補正
type = Varset
trigger1 = movehit
fv = 1
value = fVar(1)*0.7
persistent = 0
ignorehitpause = 1

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = time = 8
value = S1000,0
volume = 250
channel = 0

[State 3000, 残像]
type = AfterImage
trigger1 = AnimElem = 2
time = 12
palbright = 25,20,20
paladd = 25,20,20
;timegap = 3
framegap = 3

[State 0, VelMul]
type = VelSet
trigger1 = time = 10
x = 8
y = 18



[State 0, Explod]
type = Explod
trigger1 = time = 15
anim = 3215
ID = 1110
pos = 10,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = -2
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1


[State 1100, 音を鳴らす]
type = PlaySnd
trigger1 = AnimElem = 3
value = 0, 1




[State 240, ヒット定義]
type = HitDef
trigger1 = Var(20) <1
trigger1 = Var(7) = 0 && Var(56)= 0
trigger1 = time =0
attr = A, SA
animtype  = Medium
damage    = ceil(70*fvar(1))
Hitflag = MAFD
guardflag = MA
pausetime = 5,5
sparkno = s8006
sparkxy = -10,-60
hitsound   = s1,1
guardsound = 6,0
ground.type = Low
ground.slidetime = 12
ground.hittime  = 20
ground.velocity = -1
air.velocity = -0.2,-1.2
down.velocity = -0.3,-0.4
numhits = 1
fall = 0
fall.recover = 0
kill = ceil(Fvar(12))


[State 240, ヒット定義]
type = HitDef
trigger1 = Var(20) <2
trigger1 = Var(7) = 1 || Var(56)>=1
trigger1 = time =0
attr = A, SA
animtype  = Medium
damage    = ceil(100*fvar(1))
Hitflag = MAFD
guardflag = MA
pausetime = 5,5
sparkno = s8004
sparkxy = -10,-60
hitsound   = s1,1
guardsound = 6,0
ground.type = Low
ground.slidetime = 12
ground.hittime  = 20
ground.velocity = -1
air.velocity = -0.2,-4.2
down.velocity = -0.3,-2.5
numhits = 1
fall = 1
fall.recover = 0
down.bounce = 1
palfx.time = 50
palfx.add = 256,120,120
ID =1110
kill = ceil(Fvar(12))

[State 0, VarSet]
type = VarSet
trigger1 = NumTarget(1110)
trigger1 =movehit
v = 29    ;fv = 10
value = Target(1110),ID

[State 0, VarAdd]
type = VarAdd
trigger1 =movehit =1
v = 20   ;fv = 10
value = 1


[State 0, Helper]
type = Helper
trigger1 = NumTarget(1110)
trigger1 =movehit
;trigger1 = numHelper(1111) = 0
helpertype = normal ;player
name = ""
ID = 1111
stateno = 1111
pos = 0,0
postype = p1    ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 0
supermovetime = 0
pausemovetime = 0





[State 0, ChangeState]
type = ChangeState
trigger1 = Pos Y >=10 && Vel Y > 0
value = 252
ctrl = 0

;----------------------------------------------------------------------------
;エフェクト
[Statedef 1111]
type = A
movetype = I
physics = N
ctrl = 0
anim = 8600
velset = 0,0
sprpriority = 2

[State 0, PosSet]
type = PosSet
trigger1 = 1
x = PlayerID(root,Var(29)),Pos X
y = PlayerID(root,Var(29)),Pos Y
;ignorehitpause =


[State 0, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
flag2 = invisible
flag3 = noAutoTurn

[State 0, Explod]
type = Explod
trigger1 = Time = 0
anim = 8600
ID = 8600
pos = 10,-20
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = -1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 1000
scale = 1.3,1.3
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 0

[State 0, Trans]
type = Trans
trigger1 = 1
trans =  add
;alpha = 256,256
ignorehitpause = 1
;persistent =



[State 0, DestroySelf]
type = DestroySelf
trigger1 = Animtime =0


;----------------------------------------------------------------------
;スライディング
[Statedef 1115]
type    = S
movetype= A
physics = N
anim = 1115
sprpriority = 1

[State 0, VelSet]
type = VelSet
trigger1 = time =0
y = 0

[State 1052, 軸位置];地面に軸をリセットしている
type = PosSet
trigger1 = Time = 0
y = 0

[State 430, ヒット定義]
type = HitDef
trigger1 = Animelem = 3
attr = C, SA
damage    = ceil(70*fvar(1))
animtype  = hard
hitflag = MA
guardflag = L
pausetime = 8,8
sparkno = s8004
sparkxy = -10,-8
hitsound   = s1,2
guardsound = 6,0
ground.type = trip
ground.slidetime = 15
ground.hittime  = 24
ground.velocity = -4,-3
air.velocity = -3,-3
down.velocity = -5,-0.5
fall =1
fall.recover =0
kill = ceil(Fvar(12))

[State 0, Explod]
type = Explod
trigger1 = Animelem = 3
anim = 8001
ID = 1115
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 0
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 0

[State 0, Explod]
type = Explod
trigger1 = Animelem = 3
anim = 7055
ID = 1115
pos = 60,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 0
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 0

[State 0, VarAdd]
type = VarAdd
trigger1 = movecontact = 1
v = 58    ;fv =
value = 2

[State 0, VarAdd]
type = VarAdd
trigger1 = movehit = 1
v = 58    ;fv =
value = 2

[State 1052, 音を鳴らす];着地音
type = PlaySnd
trigger1 = Time = 0
value = s0, 2

[State 0, VelMul]
type = VelMul
trigger1 = AnimelemTime(2) = 5
x = 0.7

[State 0, VelMul]
type = VelMul
trigger1 = AnimelemTime(3) = 5
x = 0.5

[State 0, StateTypeSet]
type = StateTypeSet
trigger1 = AnimelemTime(5) = 0
statetype = C       ;S,A,C,L
movetype = I        ;I,A,H
physics = S         ;A,C,S,N



[State 1052, ステート変更]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
;ダッシュパンチ
[Statedef 1120]
type    = A
movetype= A
physics = N
juggle  = 0
poweradd= 0
anim = 1400
ctrl = 0
sprpriority = 2
velset =6,-3


[State 0, Explod]
type = Explod
trigger1 = time = 0
anim = 3211
ID = 1110
pos = 10,0
postype = p1  ;p2,front,back,left,right
facing = -1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = -2
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1


;[State 3000, 残像]
;type = AfterImage
;trigger1 = AnimElem = 2
;time = 12
;palbright = 25,20,20
;paladd = 25,20,20
;timegap = 3
;framegap = 3

[State 0, Gravity]
type = Gravity
trigger1 =Time >= 10


[State 0, ChangeState]
type = ChangeState
trigger1 = Time = 15
trigger2 = Time >= 12
trigger2 = Enemynear(var(40)),pos x <= 40
value = 1130
ctrl = 0



;---------------------------------------------------------------------------
;中ダッシュパンチ
[Statedef 1130]
type    = A
movetype= A
physics = N
juggle  = 0
poweradd= 60
anim = 1410
ctrl = 0
sprpriority = 2

[State 1100];乗算補正
type = Varset
trigger1 = movehit
fv = 1
value = fVar(1)*0.7
persistent = 0
ignorehitpause = 1

[State 0, VelMul]
type = VelMul
trigger1 = time =0
x = 0.7

[State 0, VarAdd]
type = VarAdd
trigger1 = movecontact = 1
v = 58    ;fv =
value = 2

[State 0, VarAdd]
type = VarAdd
trigger1 = movehit = 1
v = 58    ;fv =
value = 1

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = time = 0
value = S100,5
volume = 250
channel = 0


[State 1100, 音を鳴らす]
type = PlaySnd
trigger1 = AnimElem = 2
value = 0, 4

[State 0, StateTypeSet]
type = StateTypeSet
trigger1 = Animelem = 3
statetype = A       ;S,A,C,L
movetype = I        ;I,A,H
physics = A         ;A,C,S,N

[State 0, Explod]
type = Explod
trigger1 = Animelem = 2
anim = 611
ID = 610
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = -1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1

[State 240, ヒット定義]
type = HitDef
trigger1 = time =0
attr = A, SA
animtype  = Medium
damage    = ceil(70*fvar(1))
Hitflag = MAFD
guardflag = HA
pausetime = 12,12
sparkno = s8004
sparkxy = -10,-60
hitsound   = s1,2
guardsound = 6,0
ground.type = Low
ground.slidetime = 12
ground.hittime  = 20
ground.velocity = -4,6.2
guard.slidetime = 7
air.velocity = -3,6.2
down.velocity = -0.3,-0.4
numhits = 1
fall = 1
fall.recover = 0
kill = ceil(Fvar(12))
;ID =1500

;[State 0, VarSet]
;type = VarSet
;trigger1 = NumTarget(1500)
;trigger1 =movehit
;v = 29    ;fv = 10
;value = Target(1500),ID




[State 0, VelMul]
type = VelMul
trigger1 = movehit =1
x = 0.4


;[State 0, TargetState]
;type = TargetState
;trigger1 = movehit =1
;value = 1545
;ID = 1500

[State 0, CtrlSet]
type = CtrlSet
trigger1 = Animelem = 5
value = 1




;===========================================================================
;---------------------------------------------------------------------------
; Win版カンフーマンの新必殺技、カンフーブロー。
; 要は崩拳で、両手に攻撃判定が有り、Simulにて挟み撃ちされた場合の
; 打開策用である。画面振動を起こすコントローラ（EnvShake）にも注目しよう。
;---------------------------------------------------------------------------
;勇者パンチ 214a
[Statedef 1200]
type    = S
movetype= A
physics = N
juggle  = 2
poweradd= 40
velset = 0,0
anim = 1200
ctrl = 0
sprpriority = 2

[State 0, Explod]
type = Explod
trigger1 = Animelem = 3
anim = 8310
ID = 1200
pos = 50,-40
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 0.8,0.8
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1


[State 0, Explod]
type = Explod
trigger1 = AnimElem = 5
anim = 1216
ID = 1200
pos = 15,-35
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = -1
vel = 0,0
accel = 0,0
random = 0,0
removetime = 25
pausemovetime = 0
scale = 1,0.6
sprpriority = -3
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1

[State 0, Explod]
type = Explod
trigger1 = numExplod(8001) <= 0
anim = 8001
ID = 8001
pos = 15,-0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = -3
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1



[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = time = 1
value = S100,7
volume = 250
channel = 0

[State 0, VelSet]
type = VelSet
trigger1 = AnimElem = 5
x = 8

[State -2, アーマー中の投げ以外無敵]
type = NotHitBy
trigger1 = Palno = [10,12] 
value = SCA,AA,AP,AT
time = 1

;[State 0, NotHitBy]
;type = NotHitBy
;trigger1 = Palno = [1,11]
;value = ,NP,SP,HP
;time = 1

[State 1200, 音を鳴らす]
type = PlaySnd
trigger1 = Time  = 0

value = s40, 0
volume =250



[State 1200, 音を鳴らす]
type = PlaySnd
trigger1 = AnimElemtime(5) =0 ;&& AnimElemTime(9) < 0
;trigger1 = Time  = 0

value = s0, 5
volume =250

[State 1200, 物理的なキャラの幅]
type = Width
trigger1 = AnimElemTime(5) >= 0 && AnimElemTime(6) < 0
value = 10,0

[State 1200, 物理的なキャラの幅]
type = Width
trigger1 = AnimElemTime(6) >= 0 && AnimElemTime(9) < 0
value = 20,0

[State 1200, 画面振動];※縦揺れしか出来ません。横揺れ用は存在しません。
type = EnvShake
trigger1 = AnimElem = 6
time = 4    ;「画面が揺れる時間」を設定。
ampl = 2    ;「画面が揺れる縦の幅（範囲）」を設定。デフォルトは-4。
freq = 180  ;「画面が揺れる速度」を設定。デフォルトは60。
;phase = 90 ;「画面が揺れる最初の段階の強さ（規模）」を設定。デフォルトは90。
            ;ここで決めた段階から徐々に揺れが弱くなっていく。

[State 1200, ヒット定義]
type = HitDef
trigger1 = Time%5 = 0
attr = S, SA
animtype  = Hard
damage    = ceil(15*fvar(1)*fvar(15)), 3
priority  = 5
guardflag = MA
pausetime = 2,2
sparkno = s8006
sparkxy = 0,-65
hitsound   = s1,1
guardsound = 6,0
ground.type = Low
ground.slidetime = 14
ground.hittime  = 18
ground.velocity = -10
ground.cornerpush.veloff = -12 ;相手が画面端の場合、自分に「ヒットバック」の速度を与える
guard.velocity = -7
air.velocity = -5.5,-1.5
airguard.velocity = -3.5,-1.3
fall = 1
fall.recover = 0
kill = ceil(Fvar(12))
fall.kill = ceil(Fvar(12))

[State 1210, ステート変更]
type = ChangeState
trigger1 = Time = 40
value = 1215
ctrl = 0

;---------------------------------------------------------------------------
;
[Statedef 1215]
type    = S
movetype= A
physics = S
anim = 1215
sprpriority = 1

[State 200];乗算補正
type = Varset
trigger1 = movehit=1
fv = 15
value = 0.5
persistent = 0
ignorehitpause = 1

[State 200];乗算補正
type = Varset
trigger1 = movehit
fv = 1
value = fVar(1)*0.7
persistent = 0
ignorehitpause = 1

[State 0, Explod]
type = Explod
trigger1 = time = 0
anim = 8310
ID = 1200
pos = 50,-60
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1.2,0.5
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1

[State 210, ヒット定義]
type = HitDef
trigger1 = Fvar(12) = 1
trigger1 = time = 0
attr = S, SA
damage    = ceil(ifelse(fvar(1)=1,55*fvar(15),33*fvar(15)))
animtype  = Medium
hitflag = MAF
guardflag = MA
pausetime = 4,4
sparkno = S8004
guard.sparkno = 40
hitsound   = S1, 2
guardsound = S6, 0
sparkxy = -10,-60
ground.type = low
ground.slidetime = 14
ground.hittime  = 20
ground.velocity = -12,-3
ground.cornerpush.veloff = -30
guard.hittime  = 7
air.velocity = -8,-3
fall = 1
fall.recover = 0
yaccel=0.44
fall.damage = 10          ;相手が地面に激突した瞬間のダメージ量
fall.envshake.ampl = 8    ;相手が地面に激突した瞬間の画面振動
fall.envshake.time = 4
envshake.time = 4
envshake.ampl = 2
kill = ceil(Fvar(12))
fall.kill = 1

[State 210, ヒット定義]
type = HitDef
trigger1 = Fvar(12) = 0
trigger1 = time = 0
attr = S, SA
damage    = ceil(ifelse(fvar(1)=1,20*Fvar(15),15*fvar(15)))
animtype  = Medium
hitflag = MAF
guardflag = MA
pausetime = 4,4
sparkno = S8004
guard.sparkno = 40
hitsound   = S1, 2
guardsound = S6, 0
sparkxy = -10,-60
ground.type = low
ground.slidetime = 14
ground.hittime  = 10
ground.velocity = -12,-3
ground.cornerpush.veloff = -30
air.velocity = -8,-3
fall = 1
fall.recover = 0
yaccel=0.44
fall.damage = 0          ;相手が地面に激突した瞬間のダメージ量
fall.envshake.ampl = 8    ;相手が地面に激突した瞬間の画面振動
fall.envshake.time = 4
envshake.time = 4
envshake.ampl = 2
kill = ceil(Fvar(12))
fall.kill = 0

[State 0, VarAdd]
type = VarAdd
trigger1 = movecontact = 1
v = 58    ;fv =
value = 2

[State 0, VarAdd]
type = VarAdd
trigger1 = movehit = 1
v = 58    ;fv =
value = 2

[State 1052, 軸位置];地面に軸をリセットしている
type = PosSet
trigger1 = Time = 0
y = 0

[State 1052, 音を鳴らす];着地音
type = PlaySnd
trigger1 = Time = 0
value = 40, 0

[State 1052, 軸位置移動]
type = PosAdd
trigger1 = AnimElem = 4
x = -15

[State 1052, ステート変更]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1


;---------------------------------------------------------------------------
;空中勇者パンチ
[Statedef 1230]
type    = A
movetype= A
physics = N
juggle  = 0
velset = 0,0
poweradd= 40
anim = 3100
ctrl = 0
sprpriority = 2

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = time = 0
value = s100,7
volume = 250
channel = 0


[State 0, PlaySnd]
type = PlaySnd
trigger1 = Animelem = 3
value = S3000,3
volume = 250



[State 0, VelSet]
type = VelSet
trigger1 =  Animelem = 4
x = 10
y = 8

[State 0, Helper]
type = Helper
trigger1 = Animelem = 4
helpertype = normal ;player
name = "Explod"
ID = 3105
stateno =3105
pos = 0,0
postype = p1    ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 1
supermovetime = 0
pausemovetime = 0
size.xscale = 0.6
size.yscale = 0.6





[State 3000, ヒット定義];フィニッシュ
type = HitDef
trigger1 = time%2 = 0
attr = A, SA
damage    = ceil(20*fvar(1)), 3
getpower  = 0
priority  = 5
guardflag = MA
pausetime = 5,5
sparkno = s8006
sparkxy = -10,-60
hitsound   = s1,3
guardsound = 6,0
ground.type = High
ground.slidetime = 15
ground.hittime  = 15
ground.velocity = -3,-2
guard.velocity = -12
air.velocity = -8,2
airguard.velocity = -3,-3
;fall.animtype = Hard
fall = 1
fall.recover = 0
down.velocity = -5,-7
down.bounce = 1
fall.xvelocity = -2
fall.yvelocity = -6.6
kill = ceil(Fvar(12))

[State 3050, ステート変更]
type = ChangeState
trigger1 = time = 35
value = 1235
ctrl = 0


[State 3050, ステート変更]
type = ChangeState
trigger1 = Pos y >= -10 && Vel Y > 0
trigger2 = time = 40
value = 3101
ctrl = 0

;---------------------------------------------------------------------------
;---------------------------------------------------------------------------
;くるりん
[Statedef 1235]
type    = A
movetype= A
physics = A
anim = 3101

[State 0, VelMul]
type = VelMul
trigger1 = time = 0
x = 0.3
y = 0.4

;---------------------------------------------------------------------------
;立ち足払い
[Statedef 1300]
type    = S
movetype= A
physics = S
juggle  = 3
poweradd= 30
ctrl = 0
velset = 0,0
anim = 1300
sprpriority = 2

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = time =0
value = S100,6
volume = 250
channel = 0

[State 0, Explod]
type = Explod
trigger1 = animelem =3
anim = 1305
ID = 1300
pos = -10,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 0
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1


[State 240, 音を鳴らす]
type = PlaySnd
trigger1 = Time = 6
value = 0, 1

[State 240, ヒット定義]
type = HitDef
trigger1 = Var(7) = 0 && Var(56)= 0
trigger1 = Time = 0
attr = S, SA
animtype  = Medium
damage    = ceil(53*fvar(1))
hitflag   = MAFD
guardflag = L
pausetime = 6,6
sparkno = s8004
sparkxy = -10,-30
hitsound   = s1,1
guardsound = 6,0
ground.type = Low
ground.slidetime = 12
ground.hittime  = 15
ground.velocity = -2,-1
air.velocity = -2.2,-2.2
down.velocity = -5,-2
down.cornerpush.veloff = -15
fall = 1
fall.recover = 0
kill = ceil(Fvar(12))

[State 240, ヒット定義]
type = HitDef
trigger1 = Var(7) = 1 || Var(56)>=1
trigger1 = Time = 0
attr = S, SA
animtype  = Medium
damage    = ceil(73*fvar(1))
hitflag   = MAFD
guardflag = L
pausetime = 6,6
sparkno = s8004
sparkxy = -10,-30
hitsound   = s1,1
guardsound = 6,0
ground.type = Low
ground.slidetime = 12
ground.hittime  = 15
ground.velocity = -2,-5
air.velocity = -2.2,-5.2
down.velocity = -2,-5.5
down.cornerpush.veloff = -15
fall = 1
fall.recover = 0
ID =1300
kill = ceil(Fvar(12))

[State 0, VarSet]
type = VarSet
trigger1 = NumTarget(1300)
trigger1 =movehit
v = 29    ;fv = 10
value = Target(1300),ID

[State 0, Helper]
type = Helper
trigger1 = NumTarget(1300)
trigger1 =movehit
;trigger1 = NumHelper(1111) = 0
;trigger1 = numHelper(1111) = 0
helpertype = normal ;player
name = ""
ID = 1111
stateno = 1111
pos = 0,0
postype = p1    ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 0
supermovetime = 0
pausemovetime = 0

[State 240, ステート変更]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1


;---------------------------------------------------------------------------
;ラッシュキック前
[Statedef 1400]
type    = S
movetype= A
physics = S
juggle  = 3
poweradd= 65
ctrl = 0
velset = 3,0
anim = 1500
sprpriority = 2

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = time =0
value = S100,5
volume = 250
channel = 0

[State 0, PosAdd]
type = PosAdd
trigger1 = Animelem =2
trigger2 = Animelem =3
x = 10

[State 0, VarSet]
type = VarSet
trigger1 =time =0
v = 10    ;fv = 10
value = 0



[State 240, 音を鳴らす]
type = PlaySnd
trigger1 = Animelem = 4
value = s0, 1

[State 230, ヒット定義]
type = HitDef
trigger1 = Animelem = 4
attr = S, SA
animtype  = hard
damage    = ceil(43*fvar(1))
guardflag = MAP
pausetime = 12,12
sparkno = s8004
sparkxy = -10,-57
hitsound   = s1,2
guardsound = 6,0
ground.type = Low
ground.slidetime = 25
ground.hittime  = 25
ground.velocity = -2
air.velocity = -2.5,-3.5
envshake.time = 4
envshake.ampl = 2
kill = ceil(Fvar(12))

[State 0, Explod]
type = Explod
trigger1 = time = 0
anim = 8001
ID = 1400
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 0
ontop = 0
shadow = 0,0,0
ownpal = 0
removeongethit = 0



[State 240, 音を鳴らす]
type = PlaySnd
trigger1 = Animelem = 8
value = s0, 2

[State 210, ステート変更]
type = ChangeState
trigger1 = var(59) <= 0
trigger1 = (command = "bb")
trigger1 = power >=500
trigger1 = time >= 15
value = 1410
ctrl = 0

[State 240, ステート変更]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
;ラッシュ
[Statedef 1410]
type    = S
movetype= A
physics = S
juggle  = 0
poweradd= -500
ctrl = 0
velset = 4,0
anim = 1510
sprpriority = 2

[State 0, Explod]
type = Explod
trigger1 = time =0
anim = 8000
ID = 1410
pos = 0,-60
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 0
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1


[State 0, PosAdd]
type = PosAdd
trigger1 = Animelem =2
trigger2 = Animelem =4
trigger3 = Animelem =6
x = 2

[State 0, PlaySnd]
type = PlaySnd
trigger1 = time = 0
value = S800,1
volume = 250


[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = time = 0
value = S100,7
volume = 250
channel = 0



[State 240, 音を鳴らす]
type = PlaySnd
trigger1 = Animelem = 1
trigger2 = animelem = 4
trigger3 = animelem = 6
value = 0, 1

[State 0, Explod]
type = Explod
trigger1 = Animelem = 2
anim = 1511
ID = 1500
pos = 20,-20
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 0.6,0.6
sprpriority = 4
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1

[State 240, ヒット定義]
type = HitDef
trigger1 = Animelem = 2
attr = S, SA
animtype  = Medium
damage    = ceil(8*fvar(1))
guardflag = MA
pausetime = 2,2
sparkno = s8006
sparkxy = -10,-60
hitsound   = s1,1
guardsound = 6,0
ground.type = Low
ground.slidetime = 12
ground.hittime  = 20
ground.velocity = 0
air.velocity = -0.2,-1.2
kill = ceil(Fvar(12))

[State 0, Explod]
type = Explod
trigger1 = Animelem = 4
anim = 1513
ID = 1500
pos = 20,-30
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 0.6,0.6
sprpriority = 4
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1

[State 240, ヒット定義]
type = HitDef
trigger1 = Animelem = 4
attr = S, SA
animtype  = Medium
damage    = ceil(8*fvar(1))
guardflag = MA
pausetime = 2,2
sparkno = s8006
sparkxy = -10,-60
hitsound   = s1,1
guardsound = 6,0
ground.type = high
ground.slidetime = 12
ground.hittime  = 20
ground.velocity = 0
air.velocity = -0.2,-1.2
kill = ceil(Fvar(12))

[State 0, Explod]
type = Explod
trigger1 = Animelem = 6
anim = 1512
ID = 1500
pos = 20,-0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 0.6,0.6
sprpriority = 4
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1

[State 240, ヒット定義]
type = HitDef
trigger1 = Animelem = 6
attr = S, SA
animtype  = Medium
damage    = ceil(8*fvar(1))
guardflag = MA
pausetime = 2,2
sparkno = s8006
sparkxy = -10,-60
hitsound   = s1,1
guardsound = 6,0
ground.type = high
ground.slidetime = 12
ground.hittime  = 20
ground.velocity = 0
air.velocity = -0.2,-1.2
kill = ceil(Fvar(12))

[State 210, ステート変更]
type = ChangeState
trigger1 = Var(59) <= 0
trigger1 = (command = "FF")
value = 100
ctrl = 0

[State 210, ステート変更]
type = ChangeState
trigger1 = Var(59) <= 0
trigger1 = (command = "BB")
value = 105
ctrl = 0

[State 0, Varadd]
type = Varadd
trigger1 = Var(59) <= 0
trigger1 = Command = "bb"
v = 10    ;fv = 10
value = 8

;[State 0, Varadd]
;type = Varadd
;trigger1 = Var(59) > 0
;v = 10    ;fv = 10
;value = 1; Var(59)

[State 240, ステート変更]
type = ChangeState
triggerall = Var(59) <= 0
trigger1 = Time = 58+var(10)
trigger2 = time >=158
value = 1415
ctrl = 0

[State 240, ステート変更]
type = ChangeState
triggerall = Var(59) > 0
trigger1 = Time = 58 && Var(59) = 1
trigger2 = time = 58+(random=[0,100]) && Var(59) = 2
trigger3 = time >=158 && Var(59) >= 3
trigger4 = roundstate >= 3
trigger5 = P2bodydist X<-5 || PlayerID(var(49)),Movetype !=H
value = 1415
ctrl = 0

;---------------------------------------------------------------------------
;ラッシュキックフィニッシュ
[Statedef 1415]
type    = S
movetype= A
physics = S
juggle  = 0
poweradd= 30
ctrl = 0
velset = 0,0
anim = 1515
sprpriority = 2

[State 200];乗算補正
type = Varset
trigger1 = movehit=1
fv = 1
value = fVar(1)*0.7
persistent = 0
ignorehitpause = 1

[State 240, 軸位置移動]
type = PosAdd
trigger1 = AnimElem = 7
x = 12 ;Ｘ軸を前方に１２ピクセル移動させる

[State 240, 音を鳴らす]
type = PlaySnd
trigger1 = Time = 2
value = 0, 2

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = time = 0
value = S100,8
volume = 0
channel = 0

[State 0, Explod]
type = Explod
trigger1 = Animelem = 2
anim = 1511
ID = 1500
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1

[State 240, ヒット定義]
type = HitDef
trigger1 = Var(7) = 0 && Var(56)= 0
trigger1 = Time = 0
attr = S, SA
animtype  = Medium
damage    = ceil(80*fvar(1))
guardflag = MA
pausetime = 12,12
sparkno = s8005
sparkxy = -10,-60
hitsound   = s1,2
guardsound = 6,0
ground.type = Low
ground.slidetime = 25
ground.hittime  = 25
ground.velocity = -12 ,-4
air.velocity = -12.2,-3.2
fall = 1
fall.recover = 0
kill = ceil(Fvar(12))

[State 240, ヒット定義]
type = HitDef
trigger1 = Var(7) = 1 || Var(56)>=1
trigger1 = Time = 0
attr = S, SA
animtype  = Medium
damage    = ceil(100*fvar(1))
guardflag = MA
pausetime = 12,12
sparkno = s8005
sparkxy = -10,-60
hitsound   = s1,2
guardsound = 6,0
ground.type = Low
ground.slidetime = 25
ground.hittime  = 25
ground.velocity = -12 ,-4
air.velocity = -12.2,-3.2
fall = 1
fall.recover = 0
down.bounce = 1
palfx.time = 50
palfx.add = 256,120,120
ID =1415
kill = ceil(Fvar(12))

[State 0, VarSet]
type = VarSet
trigger1 = NumTarget(1415)
trigger1 =movehit
v = 29    ;fv = 10
value = Target(1415),ID

[State 0, Helper]
type = Helper
trigger1 = NumTarget(1415)
trigger1 =movehit
trigger1 = numHelper(1111) = 0
helpertype = normal ;player
name = ""
ID = 1111
stateno = 1111
pos = 0,0
postype = p1    ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 0
supermovetime = 0
pausemovetime = 0

[State 0, VarAdd]
type = VarAdd
trigger1 = movecontact = 1
v = 58    ;fv =
value = 3

[State 0, VarAdd]
type = VarAdd
trigger1 = movehit = 1
v = 58    ;fv =
value = 2

[State 0, TargetState]
type = TargetState
trigger1 = !Target(1415),IShelper
trigger1 = movehit =1
value = 1025
ID = 1415

[State 240, ステート変更]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1


;---------------------------------------------------------------------------
;空中ダッシュパンチ
[Statedef 1500]
type    = A
movetype= A
physics = N
juggle  = 0
poweradd= 0
anim = 1400
ctrl = 0
sprpriority = 2
velset =6,-2

[State 0, NotHitBy]
type = NotHitBy
trigger1 = time = 0
value = SCA,NA,SA,HA,NP,SP,HP,NT,ST,HT
time = 10



[State 0, PlaySnd]
type = PlaySnd
trigger1 = time =1
value = S40,1
volume = 0

[State 0, VarAdd]
type = VarAdd
trigger1 = time = 0
v = 32    ;fv =
value = 1

[State 0, Explod]
type = Explod
trigger1 = time = 0
anim = 3211
ID = 1110
pos = 10,0
postype = p1  ;p2,front,back,left,right
facing = -1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = -2
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1

[State 0, Explod]
type = Explod
trigger1 = time = 3
anim = 7021
ID = 100
pos = 0,-40
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 0.6,0.6
sprpriority = 0
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1

;[State 3000, 残像]
;type = AfterImage
;trigger1 = AnimElem = 2
;time = 12
;palbright = 25,20,20
;paladd = 25,20,20
;timegap = 3
;framegap = 3

[State 0, Gravity]
type = Gravity
trigger1 =Time >= 10


[State 0, ChangeState]
type = ChangeState
trigger1 = Time = 15
trigger2 = Time >= 10
trigger2 = Enemynear(var(40)),pos x <= 30
value = 1510
ctrl = 0



;---------------------------------------------------------------------------
;空中ダッシュパンチ
[Statedef 1510]
type    = A
movetype= A
physics = N
juggle  = 0
poweradd= 60
anim = 1410
ctrl = 0
sprpriority = 2

[State 1100];乗算補正
type = Varset
trigger1 = movehit
fv = 1
value = fVar(1)*0.7
persistent = 0
ignorehitpause = 1

[State 0, VelMul]
type = VelMul
trigger1 = time =0
x = 0.7

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(52) = 0
trigger1 = time = 0
value = S100,5
volume = 250
channel = 0

[State 0, VarAdd]
type = VarAdd
trigger1 = movecontact = 1
v = 58    ;fv =
value = 2

[State 0, VarAdd]
type = VarAdd
trigger1 = movehit = 1
v = 58    ;fv =
value = 3

[State 1100, 音を鳴らす]
type = PlaySnd
trigger1 = AnimElem = 2
value = 0, 4

[State 0, StateTypeSet]
type = StateTypeSet
trigger1 = Animelem = 3
statetype = A       ;S,A,C,L
movetype = I        ;I,A,H
physics = A         ;A,C,S,N

[State 0, Explod]
type = Explod
trigger1 = Animelem = 2
anim = 611
ID = 610
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = -1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
pausemovetime = 0
scale = 1,1
sprpriority = 5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1

[State 240, ヒット定義]
type = HitDef
trigger1 = Var(22) <1
trigger1 = time =0
attr = A, SA
animtype  = Medium
damage    = ceil(70*fvar(1))
Hitflag = MAFD
guardflag = MA
pausetime = 12,12
sparkno = s8004
sparkxy = -10,-60
hitsound   = s1,2
guardsound = 6,0
ground.type = Low
ground.slidetime = 12
ground.hittime  = 20
ground.velocity = -1
air.velocity = -3,6.2
down.velocity = -0.3,-0.4
numhits = 1
fall = 0
fall.recover = 0
ID =1500
kill = ceil(Fvar(12))

[State 0, VarSet]
type = VarSet
trigger1 = NumTarget(1500)
trigger1 =movehit
v = 29    ;fv = 10
value = Target(1500),ID

[State 0, VarAdd]
type = VarAdd
trigger1 =movehit =1
v = 22   ;fv = 10
value = 1


[State 0, VelMul]
type = VelMul
trigger1 = movehit =1
x = 0.4


[State 0, TargetState]
type = TargetState
trigger1 = NumTarget(1500)
trigger1 = !Target(1500),IShelper
trigger1 = movehit =1
value = 1545
ID = 1500

[State 0, CtrlSet]
type = CtrlSet
trigger1 = Animelem = 5
value = 1


;---------------------------------------------------------------------------
;床バウンド 相手硬直
[Statedef 1545]
type    = A
movetype= H
physics = N
velset = 0,0

[State 645, 相手のアニメ変更]
type = ChangeAnim2
trigger1 = 1
value = 1415


[State 1026, 相手ステートに戻す]
type = SelfState
trigger1 = roundstate!=2
value = 5100

[State 645, ステート変更]
type = ChangeState
trigger1 = HitShakeOver = 1 ;ヒット硬直が解けたら
value = 1546
;----------------------------------------------------------
;吹っ飛び）
[Statedef 1546]
type    = A
movetype= H
physics = N

[State 646, 食らい中の速度]
type = HitVelSet
trigger1 = Time = 0
x = 2
y = 4

[State 646, 速度加算];重力
type = VelAdd
trigger1 = 1
y = .44

[State 646, スクロール]
type = ScreenBound
trigger1 = Pos y >0 &&vel Y >= 0
value = 1         ;画面スクロールの影響を受けるか否か。0=受けない・1=受ける
movecamera = 0,1  ;カメラの動きをキャラに依存させるか否か。0=させない・1=させる（Ｘ軸,Ｙ軸）

[State 646, ステート変更];壁に激突するステートへ
type = ChangeState
trigger1 = Pos y >0 && vel Y >= 0
value = 1547


[State 1026, 相手ステートに戻す]
type = SelfState
trigger1 = roundstate!=2
value = 5100



;---------------------------------------------------------------------------
;：相手側３（壁に激突）
[Statedef 1547]
type    = A
movetype= H
physics = N

[State 647, 振り返る]
type = Turn
trigger1 = (Time = 0) && (FrontEdgeBodyDist <= 30)


[State 647, 位置固定]
type = PosFreeze
trigger1 = 1
x = 1
y = 1

[State 647, スクロール]
type = ScreenBound
trigger1 = 1
value = 1
movecamera = 0,1

[State 647, エフェクト]
type = Explod
trigger1 = Time = 0
anim = F60
pos = 0, 0
postype = p1
sprpriority = 3

[State 647, 相手のアニメ変更]
type = ChangeAnim
trigger1 = Time = 0
value = 5160

[State 647, 音を鳴らす]
type = PlaySnd
trigger1 = Time = 0
value = F7,0

[State 647, ステート変更]
type = ChangeState
trigger1 = pos Y > 0 && Vel Y>=0
value = 1548

;---------------------------------------------------------------------------
;：相手側４（壁からのバウンド）
[Statedef 1548]
type    = A
movetype= H
physics = N

;[State 648, 相手の特定の攻撃属性無効];（※６）
;type = NotHitBy
;trigger1 = 1
;value = , NA, NP

[State 648, 移動速度]
type = VelSet
trigger1 = Time = 0
y = -5.7

[State 648, 移動速度]
type = VelSet
trigger1 = Time = 0
x = -2.0


[State 648, 速度加算];重力
type = VelAdd
trigger1 = 1
y = 0.38

[State 648, アニメ変更]
type = ChangeAnim
trigger1 = Time = 0
trigger1 = !SelfAnimExist(5052) ;「!」が付いてるので、[Begin Action 5052]が無い場合
value = 5050

[State 648, アニメ変更]
type = ChangeAnim
trigger1 = Time = 0
trigger1 = SelfAnimExist(5052)  ;airファイルに[Begin Action 5052]が存在してれば
value = 5052

[State 648, アニメ変更]
type = ChangeAnim
trigger1 = Vel Y > -2
trigger1 = Anim = 5050
trigger1 = SelfAnimExist(5060)
persistent = 0
value = 5060

[State 648, アニメ変更]
type = ChangeAnim
trigger1 = Vel Y > -2
trigger1 = Anim = 5052
trigger1 = SelfAnimExist(5062)
persistent = 0
value = 5062

[State 648, 相手ステートに戻す]
type = SelfState
trigger1 = (Vel y > 0) && (Pos y >= 0)
value = 5100




;---------------------------------------------------------------------
;END
;---------------------------------------------------------------------
