; 功夫人的中文化cns文档。
; 由MKII翻译。

; 这篇文章里有很多注释，对cns的学习有一定的参考作用
;
; 注意：
; p1指玩家，p2指敌人
; y坐标（纵向）里，负数指向上，正数指向下，0为地平线
; 不区分大小写

[Data]
;起始HP
life = 1000

;攻击力（数值高更强）
attack = 100

;防御力（数值高更强）
defence = 100

;最高气槽值（数值越高越白给）
power = 5000

;倒地时增加防御力百分比
fall.defence_up = 50

;倒地后爬起需要的时间
liedown.time = 60

;Juggle点数
airjuggle = 15

;默认的打击火花号
sparkno = 2

;默认的防御火花号
guard.sparkno = 40

;设为1的话KO时会有回音
KO.echo = 0

;音量调节 (负数声音减小)
volume = 0

;变量号大于以下数值的变量在局与局之间不会被清零。整数变量一共有60个，变量号为0至59。
;此外还有40个浮点变量，变量号为0至39.如果不写以下两行，那么所有的变量都会被清零。
;另外，你需要改变common1.cns里的state 5900来决定每一场之间清零与否。
IntPersistIndex = 60
FloatPersistIndex = 40

[Size]
xscale = 1           ;横向缩放比例
yscale = 1           ;纵向缩放比例
ground.back = 15     ;人物宽度 (地面上，中心到后方距离)
ground.front = 16    ;人物宽度 (地面上，中心到前方距离)
air.back = 12        ;人物宽度 (空中，中心到后方距离)
air.front = 12       ;人物宽度 (空中，中心到前方距离)
height = 60          ;人物高度(对手需要跳多高才能跳过)
attack.dist = 160    ;默认攻击距离
proj.attack.dist = 90 ;默认飞行道具攻击距离
proj.doscale = 0     ;如果值为1，则缩放飞行道具
head.pos = -5, -90   ;头部的大概位置
mid.pos = -5, -60    ;身体中部的大概位置
shadowoffset = 0     ;人物阴影的纵向偏移量
draw.offset = 0,0    ;人物图像的纵向偏移量 (x, y). 推荐 0,0

[Velocity]
walk.fwd  = 1.25      ;前进速度
walk.back = -1.25     ;后退速度
run.fwd  = 6.5, 0    ;跑步速度 (x, y)
run.back = -4.5,-3.8 ;后跃速度 (x, y)
jump.neu = 0,-7     ;跳速度 (x, y)
jump.back = -3    ;后跳速度 (x, y)
jump.fwd = 3      ;前跳速度 (x, y)
;runjump.back = -2.55,-8.1 ;跑跳速度 (可选)
;runjump.fwd = 4,-8.1      ;.
;airjump.neu = 0,-8.1      ;.
;airjump.back = -2.55      ;二段跳速度 (可选)
;airjump.fwd = 2.5         ;.
;air.gethit.groundrecover = -.15,-3.5  ;地面受身速度 (x, y) **MUGEN 1.0专用**
;air.gethit.airrecover.mul = .5,.2     ;空中受身速度系数 (x, y) **MUGEN 1.0专用**
;air.gethit.airrecover.add = 0,-4.5    ;空中受身速度偏移 (x, y) **MUGEN 1.0专用**
;air.gethit.airrecover.back = -1       ;按后按键时空中受身速度增加量 **MUGEN 1.0专用**
;air.gethit.airrecover.fwd = 0         ;按前按键时空中受身速度增加量 **MUGEN 1.0专用**
;air.gethit.airrecover.up = -2         ;按上按键时空中受身速度增加量 **MUGEN 1.0专用**
;air.gethit.airrecover.down = 1.5      ;按下按键时空中受身速度增加量 **MUGEN 1.0专用**

[Movement]
airjump.num = 0       ;空中跳跃次数 (可选)
airjump.height = 35   ;空中跳跃时离地最小距离 (可选)
yaccel = .5          ;重力加速度
stand.friction = .85  ;站立时摩擦系数
crouch.friction = .82 ;下蹲时摩擦系数
;stand.friction.threshold = 2          ;如果人物站立时速度小于这个数值，停止人物移动 **MUGEN 1.0专用**
;crouch.friction.threshold = .05       ;如果人物下蹲时速度小于这个数值，停止人物移动 **MUGEN 1.0专用**
;air.gethit.groundlevel = 25           ;当人物的Y坐标大于这个数值时，人物落地 **MUGEN 1.0专用**
;air.gethit.groundrecover.ground.threshold = -20 ;当人物的Y坐标小于这个数值时，人物可以受身 **MUGEN 1.0专用**
;air.gethit.groundrecover.groundlevel = 10   ;当人物的Y坐标小于这个数值时，人物可以受身落地 **MUGEN 1.0专用**
;air.gethit.airrecover.threshold = -1  ;当人物的纵向速度大于这个数值时，人物可以受身 **MUGEN 1.0专用**
;air.gethit.airrecover.yaccel = .35    ;人物受身时重力加速度 **MUGEN 1.0专用**
;air.gethit.trip.groundlevel = 15      ;当人物在被绊倒的state里，Y坐标大于这个数值时，人物落地 **MUGEN 1.0专用**
;down.bounce.offset = 0, 20            ;人物弹地时的坐标偏移量 (x, y) **MUGEN 1.0专用**
;down.bounce.yaccel = .4               ;人物弹地时的重力加速度 **MUGEN 1.0专用**
;down.bounce.groundlevel = 12          ;在人物弹地时，当人物的Y坐标大于这个数值时，人物落地 **MUGEN 1.0专用**
;down.friction.threshold = .05         ;如果人物倒地时速度小于这个数值，停止人物移动 **MUGEN 1.0专用**

;默认语言下的胜利台词 (optional)  **MUGEN 1.0专用**
;如果包括这一段，默认语言必须为英语
[Quotes]
; 每种语言最多可以有100个胜利台词 (victory0 - victory99)
victory1 = "You must defeat Tu Shou to stand a chance."
victory2 = "You need a lot of training. Come back in ten years."
victory3 = "You look familiar. Did I see you on TV?"
victory4 = "Your moves are too predictable. You want to learn Kung Fu Palm? It's not for novices."
victory5 = "That was a good workout."
victory6 = "I want to challenge more skilled fighters."
victory7 = "What do you mean my girlfriend is in another temple?"

;其他语言的胜利台词 (optional)
;可以不加入其他语言的胜利台词，也可以加入任意多个
;标识符开头必须用ISO 639-1标准来标识语(中文的标识符为zh)，例如 "[zh.Quotes]".
;在mugen.cfg里调整语言选项
[zh.Quotes]
victory1 = "如果不能接下我的功夫掌的话，你连一点机会都没有！"
victory2 = "功夫火候不够，修行十年再来吧。"
victory3 = "你看着很眼熟，你上过电视吗？"
victory4 = "你的招数太容易预判了。哦，你想学功夫掌？对新人来说是不是有点太难了。"
victory5 = "刚才的作为热身运动挺不错的啊。"
victory6 = "我要挑战的是远超你的水平的强者。"
victory7 = "什么！我的女朋友在另外一个庙里？"

;---------------------------------------------------------------------------
; 变量表:
; 这是功夫人用的变量列表。
; 记录下你用的变量可以减少你的工作量。
; var(1)  - 在kfm.cmd里使用，检测可否取消 (每帧更新)
; var(2)  - 在功夫投里使用 (state 800)，记录是否按了前按键
;           (从state 800到state 810都有使用).


;---------------------------------------------------------------------------
; 时间到判负
; CNS难度：基本
[Statedef 170]
type = S
ctrl = 0
anim = 170
velset = 0,0

[State 170, 1]
type = NotHitBy
trigger1 = 1
value = SCA
time = 1

;---------------------------------------------------------------------------
; 胜利后姿势判定
; CNS难度：基本
[Statedef 180]
type = S

[State 180, 1]
type = ChangeState
trigger1 = Time = 0
value = 181

;---------------------------------------------------------------------------
; 胜利姿势1-鞠躬
; CNS难度：基本
[Statedef 181]
type = S
ctrl = 0
anim = 181
velset = 0,0

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

[State 特效]
type = Explod
trigger1 = time = 86
anim = 8010
ID = 8010
pos = 0,-60
postype = p1
facing = ifelse(random < 500,1,-1)
vfacing = ifelse(random < 500,1,-1)
bindtime = 1
removetime = -2
scale = 1,1
sprpriority = 20
ownpal = 1
supermovetime = 9999
pausemovetime = 9999

[State 特效]
type = Explod
trigger1 = time = 86
trigger2 = time = 89
trigger3 = time = 92
anim = 8000+random%5
ID = 8000
pos = 0-Random%15,-60-random%30
postype = p1
vel = -.7-Random%2,-.7-Random%2
facing = -1
vfacing = 1
bindtime = 1
removetime = 48
scale = .1,.1
sprpriority = 3
ownpal = 1
angle = 40-Random%30
supermovetime = 9999
pausemovetime = 9999

[State 特效]
type = Explod
trigger1 = time = 86
trigger2 = time = 89
trigger3 = time = 92
anim = 8000+random%5
ID = 8000
pos = 0-Random%15,-50-random%30
postype = p1
vel = -.7-Random%2,.7+Random%2
facing = -1
vfacing = 1
bindtime = 1
removetime = 48
scale = .1,.1
sprpriority = 3
ownpal = 1
angle = -40+Random%30
supermovetime = 9999
pausemovetime = 9999

[State 特效]
type = Explod
trigger1 = time = 86
trigger2 = time = 89
trigger3 = time = 92
anim = 8000+random%5
ID = 8000
pos = 15-Random%15, -40-random%30
postype = p1
vel = .7+Random%2,-.7-Random%2
facing = 1
vfacing = 1
bindtime = 1
removetime = 48
scale = .1,.1
sprpriority = 3
ownpal = 1
angle = 40-Random%30
supermovetime = 9999
pausemovetime = 9999

[State 特效]
type = Explod
trigger1 = time = 86
trigger2 = time = 89
trigger3 = time = 92
anim = 8000+random%5
ID = 8000
pos = 15-Random%15,-30-random%30
postype = p1
vel = .7+Random%2,.7+Random%2
facing = 1
vfacing = 1
bindtime = 1
removetime = 48
scale = .1,.1
sprpriority = 3
ownpal = 1
angle = -40+Random%30
supermovetime = 9999
pausemovetime = 9999

[State 音效]
type = PlaySnd
trigger1 = time = 2
value = S181,0

[State 音效]
type = PlaySnd
trigger1 = time = 86
value = S1300,2

[State 断言]
type = AssertSpecial
trigger1 = time = [0,230]
flag = roundnotover

;---------------------------------------------------------------------------
; 开场判定
[statedef 190]
type = s
ctrl = 0
velset = 0,0

[State 开场随机]
type = ChangeState
Trigger1 = Time = [0,1]
value = 191;+Random%2

[state 归零]
type = changestate
trigger1 = animtime = 0
value = 0

;---------------------------------------------------------------------------
; 开场
; CNS难度：基本
[Statedef 191]
type = S
ctrl = 0
anim = 191
velset = 0,0

[State 音效]
type = PlaySnd
trigger1 = time = 30
value =   s190,0

[State 断言] 
type = AssertSpecial
trigger1 = 1
flag = Intro

[State 191, 3] ;结束后转移到站立state
type = ChangeState
trigger1 = AnimTime = 0
value = 0


;---------------------------------------------------------------------------
; 挑拨
; CNS难度：初级
[Statedef 195]
type = S
ctrl = 0
anim = 195
velset = 0,0
movetype = I
physics = S
sprpriority = 2

[State 195, 1]
type = CtrlSet
trigger1 = Time = 40
value = 1

[State 195, 2]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; 站轻拳-远
; CNS难度：初级
[Statedef 200]
type    = S                      ;状态: S-站立, C-蹲, A-空中, L-倒地
movetype= A                      ;招式种类: A-攻击, I-非攻击, H-受击
physics = S                      ;物理: S-站立, C-蹲, A-空中
poweradd = 30
velset = 0,0                     ;设定速度 (x,y) (不写这行则不改变速度)
ctrl = 0                         ;设定可控与否 (不写这行则不改变ctrl)
anim = 200                       ;改变动作 (不写这行则不改变anim)
poweradd = 10                    ;增加气 (不写这行则不增加气)
sprpriority = 2                  ;设定p1的贴图优先度到2 (在前面)

[State 攻击判定]
type = HitDef                
trigger1 = time = 0          
attr = S, NA                 
damage = 30, 0              
animtype = Light             
guardflag = MA               
hitflag = MAF               
priority = 3, Hit            
pausetime = 8, 9             
sparkno = s-1       
guard.sparkno = s7050   
sparkxy = -20, -80     
hitsound = s400,0           
guardsound = s120,0     
ground.type = High          
ground.slidetime = 9         
ground.hittime = 13        
ground.velocity = ifelse(root,var(10) >= 1 ,0,-5)
air.velocity = ifelse(root,var(10) >= 1 ,0,-2.5),-3.5 
air.type = Low               
air.velocity = -1.4,-3       
air.hittime = 12           
id = 200
Forcenofall = 1

[State 打击火花]
type = Explod
ownpal = 1
triggerall = numtarget(200) = 1
trigger1 = movehit = 1
anim = 7000
sprpriority = 10
supermovetime = 9999
postype = p1
pos = 0+floor(P2dist x),-85
bindtime = 1
ignorehitpause = 1
persistent = 0
under = 0
ownpal = 1
scale = 0.4,0.4
trans = addalpha
alpha = 256, 256

[State 音效]
type = PlaySnd
trigger1 = AnimElem = 2
trigger1 = random < 500
value = S300,0

[State 音效]
type = PlaySnd
trigger1 = AnimElem = 2
value = S200,0

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3000
name = "ougi1"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3100
name = "ougi2"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[State 归零]
type = ChangeState
trigger1 = AnimTime = 0 
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; 站重拳-远
; CNS难度：初级
; 注意width控制器，他让功夫人的物理判定框（pushbox）更大，这样他离敌人不会太近。
; 在MUGEN里用Ctrl-C来查看地面上他脚附近的红色判定条。
; 这个state的sprpriority（贴图优先度）是-1, 而不是一般用的2， 这样功夫人一开始会层叠在对方后方。
; [State 210, 4]里的SprPriority控制器在功夫人的胳膊伸出去的时候带到前头。
; 为了在这时暂停动作，在[State 210, 3]有一个ChangeAnim控制器检测有没有击中敌人，然后转到下一个动作元素。
; (注意elem=6这个参数). 如果要看效果的话，删除这个控制器作比较（打人会软绵绵的）。
[Statedef 210]
type    = S
movetype= A
physics = S
poweradd  = 80
ctrl = 0
velset = 0,0
anim = 210

[State 推挤]
type = Width
trigger1 = animelem = 6,>= 0 && animelem = 12,<= 0
player = 55,0

[State 音效]
type = PlaySnd
trigger1 = animelem = 2
trigger1 = random < 500
value = S210, 0

[State 音效]
type = PlaySnd
trigger1 = animelem = 7
value = S310, 0

[State 攻击判定]
type = HitDef
trigger1 = time = 0 
attr = S, NA
animtype  = hard
damage    = 110,10  
priority = 4, Hit
getpower = 101,101
hitflag = MAF  
guardflag = MA
pausetime = 11,12
sparkno = s-1
sparkxy = -10,-68
hitsound   = s410,0
guardsound = s121,0
guard.sparkno = s7050
ground.type = low
ground.slidetime = 17
ground.hittime  = 25
ground.velocity = ifelse((var(1) = 1 && var(10) >= 1) ,0,-10.5)
air.velocity = ifelse((var(1) = 1 && var(10) >= 1) ,0,-2.5),-4
ID = 210
nochainID = 9999
Forcenofall = 1

[State 打击火花]
type = Explod
ownpal = 1
triggerall = numtarget(210) = 1
trigger1 = movehit = 1
anim = 7001
sprpriority = 10
supermovetime = 9999
postype = p2
pos = -10,-70
bindtime = 1
ignorehitpause = 1
persistent = 0
under = 0
ownpal = 1
scale = 0.3,0.3
trans = addalpha
alpha = 256, 256

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3000
name = "ougi1"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3100
name = "ougi2"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[State 归零]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; 站重拳-近
[Statedef 215]
type    = S
movetype= A
physics = S
poweradd = 80
ctrl = 0
velset = 0,0
anim = 215
sprpriority = 1

[State 音效]
type = PlaySnd
trigger1 = animelem = 3
value = S310, 0

[State 音效]
type = PlaySnd
trigger1 = animelem = 3
trigger1 = random < 500
value = S210, 0

[State 攻击判定]
type = HitDef
trigger1 = time = 0
attr = S, NA
animtype  = hard
damage    = 90,10
priority = 4, Hit
getpower = 80,20
hitflag = MAF 
guardflag = MA
pausetime = 11,13
sparkno = s-1
sparkxy = -30,-62
hitsound   = s410,0
guard.sparkno = s7050
guardsound = s121,0
ground.type = low
ground.slidetime = 17
ground.hittime  = 23
ground.velocity = ifelse(root,var(10) >= 1 ,0,-8)
air.velocity = ifelse(root,var(10) >= 1 ,0,-4.5),-3
ID = 215
nochainID = 9999
Forcenofall = 1

[State 打击火花]
type = Explod
ownpal = 1
triggerall = numtarget(215) = 1
trigger1 = movehit = 1
anim = 7001
sprpriority = 10
supermovetime = 9999
postype = p1
pos = 45,-65
bindtime = 1
ignorehitpause = 1
persistent = 0
under = 0
ownpal = 1
scale = 0.3,0.3
trans = addalpha
alpha = 256, 256

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3000
name = "ougi1"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3100
name = "ougi2"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3000
name = "ougi1"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3100
name = "ougi2"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[State 归零]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; 站轻脚-远
; CNS难度：初级
[Statedef 230]
type    = S
movetype= A
physics = S
poweradd = 50
ctrl = 0
velset = 0,0
anim = 230
sprpriority = 1

[State 音效]
type = PlaySnd
trigger1 = AnimElem = 2
trigger1 = random < 500
value = S200,0

[State 音效]
type = PlaySnd
trigger1 = animelem = 2
value = S330, 0

[State 攻击判定]
type = HitDef
trigger1 = time = 0
attr = S, NA
animtype  = light
damage    = 60,10
priority = 3, Hit
getpower = 50,10
hitflag = MAF 
guardflag = MA
pausetime = 7,8
sparkno = s-1
sparkxy = -15,-62
hitsound   = s430,0
guard.sparkno = s7050
guardsound = s120,0
ground.type = high
ground.slidetime = 9
ground.hittime  = 12
ground.velocity = ifelse(root,var(10) >= 1 ,0,-5)
air.velocity = ifelse(root,var(10) >= 1 ,0,-2.5),-3.5
ID = 230
nochainID = 9999
Forcenofall = 1

[State 打击火花]
type = Explod
ownpal = 1
triggerall = numtarget(230) = 1
trigger1 = movehit = 1
anim = 7000
sprpriority = 10
supermovetime = 9999
postype = p2
pos = -10,-65
bindtime = 1
ignorehitpause = 1
persistent = 0
under = 0
ownpal = 1
scale = 0.4,0.4
trans = addalpha
alpha = 256, 256

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3000
name = "ougi1"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3100
name = "ougi2"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[State 归零]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; 站轻脚-近
[Statedef 235]
type    = S
movetype= A
physics = S
poweradd = 50
ctrl = 0
velset = 0,0
anim = 235
sprpriority = 1

[State 音效]
type = PlaySnd
trigger1 = AnimElem = 2
trigger1 = random < 500
value = S200,0

[State 音效]
type = PlaySnd
trigger1 = animelem = 2
value = S330, 0

[State 攻击判定]
type = HitDef
trigger1 = time = 0
attr = S, NA
animtype  = light
damage    = 40,10
priority = 3, Hit
getpower = 50,10
hitflag = MAF 
guardflag = MA
pausetime = 9,10
sparkno = s-1
sparkxy = -30,-77
hitsound   = s430,0
guard.sparkno = s7050
guardsound = s120,0
ground.type = high
ground.slidetime = 9
ground.hittime  = 9
ground.velocity = ifelse(root,var(10) >= 1 ,0,-4)
air.velocity = ifelse(root,var(10) >= 1 ,0,-2.5),-3.5
ID = 235
nochainID = 9999
Forcenofall = 1

[State 打击火花]
type = Explod
ownpal = 1
triggerall = numtarget(235) = 1
trigger1 = movehit = 1
anim = 7000
sprpriority = 10
supermovetime = 9999
postype = p1
pos = 30,-80
bindtime = 1
ignorehitpause = 1
persistent = 0
under = 0
ownpal = 1
scale = 0.4,0.4
trans = addalpha
alpha = 256, 256

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3000
name = "ougi1"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3100
name = "ougi2"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[State 归零]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; 站重脚-远
; CNS难度：初级
[Statedef 240]
type    = S
movetype= A
physics = S
poweradd = 50
ctrl = 0
velset = 0,0
anim = 240
sprpriority = 1

[State 音效]
type = PlaySnd
trigger1 = animelem = 2
trigger1 = random < 500
value = S210, 0

[State 音效]
type = PlaySnd
trigger1 = animelem = 7
value = S340, 0

[State 攻击判定]
type = HitDef
trigger1 = time = 0
attr = S, NA
animtype  = hard
damage    = 110,10
priority = 4, Hit
getpower = 50,20
hitflag = MAF 
guardflag = MA
pausetime = 11,12
sparkno = s-1
sparkxy = -15,-80
hitsound   = s440,0
guard.sparkno = s7050
guardsound = s121,0
ground.type = high
ground.slidetime = 17
ground.hittime  = 25
ground.velocity = ifelse(root,var(10) >= 1 ,0,-10)
air.velocity = ifelse(root,var(10) >= 1 ,0,-3),-5.2
ID = 240
nochainID = 9999

[State 打击火花]
type = Explod
ownpal = 1
triggerall = numtarget(240) = 1
trigger1 = movehit = 1
anim = 7001
sprpriority = 10
supermovetime = 9999
postype = p2
pos = -10,-80
bindtime = 1
ignorehitpause = 1
persistent = 0
under = 0
ownpal = 1
scale = 0.3,0.3
trans = addalpha
alpha = 256, 256

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3000
name = "ougi1"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3100
name = "ougi2"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[State 归零]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; 站重脚-近
[Statedef 245]
type    = S
movetype= A
physics = N
poweradd = 80
ctrl = 0
velset = 0,0
anim = 245
sprpriority = 1

[State 音效]
type = PlaySnd
trigger1 = animelem = 2
value = S340, 0

[State 音效]
type = PlaySnd
trigger1 = animelem = 2
trigger1 = random < 500
value = S210, 0

[State 攻击判定]
type = HitDef
trigger1 = time = 0
attr = S, NA
animtype  = hard
damage    = 90,10
priority = 4, Hit
getpower = 50,20
hitflag = MAF 
guardflag = MA
pausetime = 11,12
sparkno = s-1
sparkxy = -15,-85
hitsound   = s440,0
guard.sparkno = s7050
guardsound = s121,0
ground.type = high
ground.slidetime = 17
ground.hittime  = 23
ground.velocity = ifelse(root,var(10) >= 1 ,0,-6)
air.velocity = ifelse(root,var(10) >= 1 ,0,-3),-5.2
ID = 245
nochainID = 9999
Forcenofall = 1

[State 打击火花]
type = Explod
ownpal = 1
triggerall = numtarget(245) = 1
trigger1 = movehit = 1
anim = 7001
sprpriority = 10
supermovetime = 9999
postype = p1
pos = 55,-85
bindtime = 1
ignorehitpause = 1
persistent = 0
under = 0
ownpal = 1
scale = 0.3,0.3
trans = addalpha
alpha = 256, 256

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3000
name = "ougi1"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3100
name = "ougi2"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[State 归零]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
;CD
[Statedef 300]
type     = S
movetype = A
physics  = S
poweradd = 40
ctrl     = 0
velset   = 0,0
anim     = 300
sprpriority = 3

[State 音效]
type = PlaySnd
trigger1 = AnimElem = 3
value = s390,0

[State 音效]
type = PlaySnd
trigger1 = AnimElem = 1
trigger1 = random < 500
value = s290,0

[State 攻击判定]
type = HitDef
trigger1 = time = 0
attr = S, NA
animtype  = Hard
damage = 150,30
priority = 6, Hit
getpower = 60,30
hitflag = MAF
guardflag = MA
pausetime = 11,12
sparkno = s-1
sparkxy = -15,-73
hitsound   = s490,0
guard.sparkno = s7050
guardsound = s121,0
ground.type = low
ground.slidetime = 17
ground.hittime  = 17
envshake.ampl = 10
envshake.freq = 40
envshake.time = 20
ground.velocity = ifelse(root,var(10) >= 1 ,0,-5),-6.5
air.velocity = ifelse(root,var(10) >= 1 ,0,-5),-6.8
yaccel = 0.45
fall = 1
fall.recover = 0
ID = 300
nochainID = 9999

[State 打击火花]
type = Explod
ownpal = 1
triggerall = numtarget(300) = 1
trigger1 = movehit = 1
anim = 7001
sprpriority = 10
supermovetime = 9999
postype = p1
pos = 65,-70
bindtime = 1
ignorehitpause = 1
persistent = 0
under = 0
ownpal = 1
scale = 0.35,0.35
trans = addalpha
alpha = 256, 256

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3000
name = "ougi1"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3100
name = "ougi2"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[State 归零]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
;刚CD
[Statedef 305]
type     = S
movetype = A
physics  = S
poweradd = -1000
ctrl     = 0
velset   = 0,0
anim     = 305
sprpriority = 3

[State 无敌]
type = NotHitBy
trigger1 = 1
value = SCA

[State 音效]
type = PlaySnd
trigger1 = AnimElem = 3
value = s390,0

[State 音效]
type = PlaySnd
trigger1 = AnimElem = 1
value = s290,0

[state 颜色]
type = envcolor
trigger1 = time = 0
value = 255,255,255
time = 5
under = 1

[State 攻击判定]
type = HitDef
trigger1 = time = 0
attr = S, NA
animtype  = Hard
damage = 150,30
priority = 6, Hit
getpower = 60,30
hitflag = MAF
guardflag = MA
pausetime = 11,12
sparkno = s-1
sparkxy = -15,-73
hitsound   = s490,0
guard.sparkno = s7050
guardsound = s121,0
ground.type = low
ground.slidetime = 17
ground.hittime  = 17
envshake.ampl = 10
envshake.freq = 40
envshake.time = 20
ground.velocity = ifelse(root,var(10) >= 1 ,0,-5),-6.5
air.velocity = ifelse(root,var(10) >= 1 ,0,-5),-6.8
yaccel = 0.45
fall = 1
fall.recover = 0
ID = 300
nochainID = 9999

[State 打击火花]
type = Explod
ownpal = 1
triggerall = numtarget(300) = 1
trigger1 = movehit = 1
anim = 7001
sprpriority = 10
supermovetime = 9999
postype = p1
pos = 65,-70
bindtime = 1
ignorehitpause = 1
persistent = 0
under = 0
ownpal = 1
scale = 0.35,0.35
trans = addalpha
alpha = 256, 256

[State 归零]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------
;弁髪拳
;---------------------
[Statedef 310]
type    = S
movetype= A
physics = S
poweradd = 50
ctrl = 0
velset = 0,0
anim = 310

[State 推挤]
type = Width
trigger1 = animelem = 6,>= 0 && animelem = 14,<= 0
player = 55,0

[State 取消]
type = palfx
triggerall = var(10) > 0
triggerall = time <= 5
trigger1 = prevstateno = 210
trigger2 = prevstateno = 240
trigger3 = prevstateno = [1000,1999]
time = 1
add = 256,256,256
color = 1
ignorehitpause = 1

[State 变量]
type = varadd
triggerall = var(10) > 0
triggerall = time = 0
trigger1 = prevstateno = 210
trigger2 = prevstateno = 240
trigger3 = prevstateno = [1000,1999]
v = 10
value = -120

[State 音效]
type = PlaySnd
trigger1 = animelem = 4
trigger1 = random < 500
value = S450,0

[State 音效]
type = PlaySnd
trigger1 = animelem = 6
value = S310,0

[State 攻击判定]
type = HitDef
trigger1 = time = 0
attr = S, NA
animtype  = hard
damage    = 80,10
priority = 4, Hit
getpower = 81,20
hitflag = MAF
guardflag = M
pausetime = 7,12
sparkno = s-1
sparkxy = -10,-74
hitsound   = s400,0
guardsound = s121,0
guard.sparkno = s7050
ground.type = low
ground.slidetime = 17
ground.hittime  = 20
ground.velocity = 10.5
air.velocity = 2.5,-4
ID = 310
nochainID = 9999

[State 打击火花]
type = Explod
ownpal = 1
triggerall = numtarget(310) = 1
trigger1 = movehit = 1
anim = 7001
sprpriority = 10
supermovetime = 9999
postype = p2
pos = 0,-75
bindtime = 1
ignorehitpause = 1
persistent = 0
under = 0
ownpal = 1
scale = 0.3,0.3
trans = addalpha
alpha = 256, 256

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3000
name = "ougi1"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3100
name = "ougi2"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[State 转入]
type = ChangeState
triggerall = var(10) > 0
triggerall = movehit
trigger1 = command = "FF"
value = 100
ctrl = 1

[State 转入]
type = ChangeState
triggerall = var(10) > 0
triggerall = movehit
trigger1 = command = "BB"
value = 105
ctrl = 1

[State 归零]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------
;幻無拳
;---------------------
[Statedef 315]
type    = S
movetype= A
physics = S
poweradd = 50
ctrl = 0
velset = 0,0
anim = 315

[State 推挤]
type = Width
trigger1 = 1
player = 20,0

[State 取消]
type = palfx
triggerall = var(10) > 0
triggerall = time <= 3
trigger1 = prevstateno = 210
trigger2 = prevstateno = 240
trigger3 = prevstateno = [1000,1999]
time = 1
add = 256,256,256
color = 1
ignorehitpause = 1

[State 变量]
type = varadd
triggerall = var(10) > 0
triggerall = time = 0
trigger1 = prevstateno = 210
trigger2 = prevstateno = 240
trigger3 = prevstateno = [1000,1999]
v = 10
value = -120

[State 音效]
type = PlaySnd
trigger1 = animelem = 3
trigger1 = random < 500
value = S450,0

[State 音效]
type = PlaySnd
trigger1 = animelem = 2
value = S310,0

[State 攻击判定]
type = HitDef
trigger1 = time = 0
attr = S, NA
animtype  = hard
damage    = 50,10
priority = 4, Hit
getpower = 80,20
hitflag = MAF
guardflag = M
pausetime = 8,9
sparkno = s-1
sparkxy = -10,-74
hitsound   = s430,0
guardsound = s121,0
guard.sparkno = s7050
ground.type = High 
ground.slidetime = 1
ground.hittime  = 17
ground.velocity = -6
air.velocity = 2.5,-4
ID = 315
nochainID = 9999

[State 打击火花]
type = Explod
ownpal = 1
triggerall = numtarget(315) = 1
trigger1 = movehit = 1
anim = 7000
sprpriority = 10
supermovetime = 9999
postype = p1
pos = 0+floor(P2dist x),-85
bindtime = 1
ignorehitpause = 1
persistent = 0
under = 0
ownpal = 1
scale = 0.35,0.35
trans = addalpha
alpha = 256, 256

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3000
name = "ougi1"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3100
name = "ougi2"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[State 转入]
type = ChangeState
triggerall = var(10) > 0
triggerall = movehit
trigger1 = command = "FF"
value = 100
ctrl = 1

[State 转入]
type = ChangeState
triggerall = var(10) > 0
triggerall = movehit
trigger1 = command = "BB"
value = 105
ctrl = 1

[State 归零]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------
;幻無脚
;---------------------
[Statedef 320]
type    = S
movetype= A
physics = N
poweradd = 30
velset = 0,0
anim = 320
sprpriority = 1
ctrl = 0

[State 取消]
type = palfx
triggerall = var(10) > 0
triggerall = time <= 5
trigger1 = prevstateno = 210
trigger2 = prevstateno = 240
trigger3 = prevstateno = [1000,1999]
time = 1
add = 256,256,256
color = 1
ignorehitpause = 1

[State 变量]
type = varadd
triggerall = var(10) > 0
triggerall = time = 0
trigger1 = prevstateno = 210
trigger2 = prevstateno = 240
trigger3 = prevstateno = [1000,1999]
v = 10
value = -120

[State Helper召唤]
type = Helper
trigger1 = AnimElem = 5
Stateno = 325
ID = 325
pos = 10,0
name = "JIAO"
postype = p2
facing = 1
keyctrl = 0
ownpal = 1
persistent = 0

[State 特效]
type = Explod
trigger1 = AnimElem = 5
anim = 6000
id = 6000
sprpriority = 5
postype = p1
pos = -10,0
bindTime = 1
ownpal = 1
scale = 0.5,0.5

[state 音效]
type = playsnd
trigger1 = time = 0
value = S1300,0

[state 音效]
type = playsnd
trigger1 = animelem = 5
value = S1300,1

[state 音效]
type = playsnd
trigger1 = animelem = 6
value = S1100,2

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3000
name = "ougi1"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3100
name = "ougi2"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[state 归零]
type = changestate
trigger1 = animtime = 0
value = 0
ctrl = 1

;---------------------
;幻無脚（Helper） 
;---------------------
[Statedef 325]
type    = A
movetype= A
physics = N
velset = 0,0
anim = 325
ctrl = 0
sprpriority = 3

[State 转向]
type = Turn
trigger1 = Time = 0
trigger1 = P2Dist X < 0

[State 坐标]
type = PosSet
trigger1 = Time = 0
y =  0

[State 断言]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 攻击判定]
type = HitDef
trigger1 = time = 0
attr = ,NA
animtype  = hard
damage    = 50,10
priority = 4, Hit
getpower = 50,10
hitflag = MAFD 
guardflag = L
pausetime = 8,12
sparkno = s-1
sparkxy = 0,-30
hitsound   = s430,0
guard.sparkno = s7050
guardsound = s121,0
ground.type = low
ground.slidetime = 6
ground.hittime  = 18
ground.velocity = -4
air.velocity = 2.5,-4
ID = 325
nochainID = 9999

[State 打击火花]
type = Explod
ownpal = 1
triggerall = numtarget(325) = 1
trigger1 = movehit = 1
anim = 7001
sprpriority = 10
supermovetime = 999
postype = p1
pos = 0,-20
bindtime = 1
ignorehitpause = 1
persistent = 0
under = 0
ownpal = 1
scale = 0.3,0.3
trans = addalpha
alpha = 256, 256

[State 特效]
type = Explod
trigger1 = AnimElem = 1
anim = 6010
id = 6010
sprpriority = 5
postype = p1
pos = 0,5
bindTime = 1
ownpal = 1
scale = 0.5,0.5

[State 删除]
type = DestroySelf
trigger1 = AnimTime = 0

;---------------------
;幻無脚（Helper） 
;---------------------
[Statedef 326]
type    = A
movetype= A
physics = N
velset = 0,0
anim = 325
ctrl = 0
sprpriority = 3

[State 转向]
type = Turn
trigger1 = Time = 0
trigger1 = P2Dist X < 0

[State 坐标]
type = PosSet
trigger1 = Time = 0
y =  0

[State 断言]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 攻击判定]
type = HitDef
trigger1 = time = 0
attr = ,NA
animtype  = hard
damage    = 5,5
priority = 4, Hit
getpower = 5,5
hitflag = MAFD 
guardflag = L
pausetime = 8,12
sparkno = s-1
sparkxy = 0,-30
hitsound   = s430,0
guard.sparkno = s7050
guardsound = s121,0
ground.type = low
ground.slidetime = 6
ground.hittime  = 18
ground.velocity = -4
air.velocity = 2.5,-4
ID = 325
nochainID = 9999

[State 打击火花]
type = Explod
ownpal = 1
triggerall = numtarget(325) = 1
trigger1 = movehit = 1
anim = 7001
sprpriority = 10
supermovetime = 999
postype = p1
pos = 0,-20
bindtime = 1
ignorehitpause = 1
persistent = 0
under = 0
ownpal = 1
scale = 0.3,0.3
trans = addalpha
alpha = 256, 256

[State 特效]
type = Explod
trigger1 = AnimElem = 1
anim = 6010
id = 6010
sprpriority = 5
postype = p1
pos = 0,5
bindTime = 1
ownpal = 1
scale = 0.5,0.5

[State 删除]
type = DestroySelf
trigger1 = AnimTime = 0

;---------------------------------------------------------------------------
; 蹲轻拳
; CNS难度：初级
; 一个简单的下蹲攻击.HitDef的guardflag被设为L，表示只能用蹲防来防御这个攻击，而不是站防或者空防。
; slidetime和hittime最好设置的小一点，这样对手硬直不会过长。
; 对于所有的下蹲攻击，记得设置attr参数为下蹲。比如这里的"C, NA"代表"下蹲, 普通攻击"。
; HitDef的priority设为3而不是默认的4，这样攻击优先度会低一些。
; 当两个人物的攻击判定框重合时，功夫人会被击中，而不是互杀。
[Statedef 400]
type    = C
movetype= A
physics = C
poweradd = 30
ctrl = 0
anim = 400
sprpriority = 1

[State 音效]
type = PlaySnd
trigger1 = AnimElem = 2
trigger1 = random < 500
value = S200,0

[State 音效]
type = PlaySnd
trigger1 = animelem = 2
value = S300, 0

[State 攻击判定]
type = HitDef
trigger1 = time = 0
attr = C, NA
damage    = 30,10
priority = 3, Hit
animtype  = Light
hitflag = MAF
guardflag = M
getpower = 30,10
pausetime = 7,8
sparkno = s-1
sparkxy = -10,-40
hitsound   = s400,0
guard.sparkno = s7050
guardsound = s120,0
ground.type = low
ground.slidetime = 9
ground.hittime  = 13
ground.velocity = ifelse(root,var(10) >= 1 ,0,-5)
air.velocity = ifelse(root,var(10) >= 1 ,0,-2.5),-3
ID = 400
nochainID = 9999

[State 打击火花]
type = Explod
ownpal = 1
triggerall = numtarget(400) = 1
trigger1 = movehit = 1
anim = 7000
sprpriority = 10
supermovetime = 9999
postype = p2
pos = 0,-40
bindtime = 1
ignorehitpause = 1
persistent = 0
under = 0
ownpal = 1
scale = 0.35,0.35
trans = addalpha
alpha = 256, 256

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3000
name = "ougi1"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3100
name = "ougi2"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[State 归零]
type = ChangeState
trigger1 = AnimTime = 0
value = 11
ctrl = 1

;---------------------------------------------------------------------------
; 蹲重拳
; CNS难度：初级
; 这是个两段攻击，是由两个HitDef来实现的，每一个HitDef对应每一段攻击的那一帧。
; 注意第一段不可以可以被空防，因为guardflag是M。
; 第二段的guardflag是MA，所以这个攻击可以被站防和空防。
[Statedef 410]
type    = C
movetype= A
physics = N
poweradd = 50
ctrl = 0
velset = 0,0
anim = 410
sprpriority = 1

[State 防推挤]
type = Width
trigger1 = 1
edge = 50,0

[State 音效]
type = PlaySnd
trigger1 = animelem = 5
value = S310, 0

[State 音效]
type = PlaySnd
trigger1 = animelem = 2
trigger1 = random < 500
value = S210, 0

[State 攻击判定]
type = HitDef
trigger1 = time = 0
attr = C, NA
damage    = 110,10
priority = 4, Hit
animtype  = hard
hitflag = MAF
guardflag = MA
pausetime = 11,12
getpower = 50,20
sparkno = s-1
sparkxy = 0,ifelse(time>=11,-75,-95)
hitsound   = s410,0
guard.sparkno = s7050
guardsound = s121,0
ground.type = low
ground.slidetime = 17
ground.hittime  = 23
ground.velocity = ifelse(root,var(10) >= 1 ,0,-8)
air.velocity = ifelse(root,var(10) >= 1 ,0,-3),-6
fall = 0
fall.recover = 0
ID = 410
nochainID = 9999

[State 打击火花]
type = Explod
ownpal = 1
triggerall = numtarget(410) = 1
trigger1 = movehit = 1
anim = 7001
sprpriority = 10
supermovetime = 9999
postype = p1
pos = ifelse(time>=11,70,65),ifelse(time>=11,-110,-75)
bindtime = 1
ignorehitpause = 1
persistent = 0
under = 0
ownpal = 1
scale = 0.3,0.3
trans = addalpha
alpha = 256, 256

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3000
name = "ougi1"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3100
name = "ougi2"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[State 归零]
type = ChangeState
trigger1 = AnimTime = 0
value = 11
ctrl = 1

;---------------------------------------------------------------------------
; 蹲轻脚
; CNS难度：初级
[Statedef 430]
type    = C
movetype= A
physics = C
poweradd = 30
ctrl = 0
anim = 430
sprpriority = 1

[State 音效]
type = PlaySnd
trigger1 = AnimElem = 2
trigger1 = random < 500
value = S200,0

[State 音效]
type = PlaySnd
trigger1 = animelem = 2
value = S330, 0

[State 攻击判定]
type = HitDef
trigger1 = time = 0
attr = C, NA
damage    = 30,10
priority = 3, Hit
animtype  = Light
hitflag = MAF
guardflag = L
pausetime = 7,8
sparkno = s-1
sparkxy = -10,-9
hitsound   = s430,0
getpower = 81,81
guard.sparkno = s7050
guardsound = s120,0
ground.type = Low
ground.slidetime = 9
ground.hittime  = 13
ground.velocity = ifelse(root,var(10) >= 1 ,0,-5)
air.velocity = ifelse(root,var(10) >= 1 ,0,-2),-3
down.velocity = -5,0
down.hittime = 20
ID = 430
nochainID = 9999

[State 打击火花]
type = Explod
ownpal = 1
triggerall = numtarget(430) = 1
trigger1 = movehit = 1
anim = 7000
sprpriority = 10
supermovetime = 9999
postype = p1
pos = 40,-10
bindtime = 1
ignorehitpause = 1
persistent = 0
under = 0
ownpal = 1
scale = 0.4,0.4
trans = addalpha
alpha = 256, 256

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3000
name = "ougi1"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3100
name = "ougi2"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[State 归零]
type = ChangeState
trigger1 = AnimTime = 0
value = 11
ctrl = 1

;---------------------------------------------------------------------------
; 蹲重脚
; CNS难度：初级
; 这个攻击的ground.type参数被设为trip，所以对方被击中时会进入绊倒的动画。
; 注意这个攻击的hitflag是MAFD，表示倒地的对手也可以被击中。
[Statedef 440]
type    = C
movetype= A
physics = C
juggle  = 8
poweradd= 40
ctrl = 0
anim = 440
velset = 0,0
sprpriority = 1

[State 音效]
type = PlaySnd
trigger1 = animelem = 7
value = S340, 0

[State 音效]
type = PlaySnd
trigger1 = AnimElem = 2
trigger1 = random < 500
value = S210,0

[State 攻击判定]
type = HitDef
trigger1 =  time = 0
attr = C, NA
damage    = 110,10
priority = 4, Hit
hitflag = MAF
guardflag = L
pausetime = 11,12
sparkno = s-1
getpower = 101,101
sparkxy = -15,-18
hitsound   = s440,0
guardsound = s121,0
guard.sparkno = s7050
ground.type = Trip
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = ifelse(root,var(10) >= 1 ,0,-1.5),-5
air.velocity = ifelse(root,var(10) >= 1 ,0,-4),-4
guard.velocity = -5
fall = 1
fall.recover = 0
ID = 440
nochainID = 9999

[State 打击火花]
type = Explod
ownpal = 1
triggerall = numtarget(440) = 1
trigger1 = movehit = 1
anim = 7001
sprpriority = 10
supermovetime = 9999
postype = p2
pos = 0,-15
bindtime = 1
ignorehitpause = 1
persistent = 0
under = 0
ownpal = 1
scale = 0.3,0.3
trans = addalpha
alpha = 256, 256

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3000
name = "ougi1"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3100
name = "ougi2"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[State 归零]
type = ChangeState
trigger1 = AnimTime = 0
value = 11
ctrl = 1

;---------------------
;风架缠丝
;---------------------
[Statedef 450]
type    = C
movetype= A
physics = C
poweradd = 40
ctrl = 0
anim = 450
sprpriority = 1

[State 取消]
type = palfx
triggerall = var(10) > 0
triggerall = time <= 5
trigger1 = prevstateno = 210
trigger2 = prevstateno = 240
trigger3 = prevstateno = [1000,1009]
time = 1
add = 256,256,256
color = 1
ignorehitpause = 1

[State 变量]
type = varadd
triggerall = var(10) > 0
triggerall = time = 0
trigger1 = prevstateno = 210
trigger2 = prevstateno = 240
trigger3 = prevstateno = [1000,1009]
v = 10
value = -120

[State 音效]
type = PlaySnd
trigger1 = AnimElem = 3
trigger1 = random < 500
value = S450,0

[State 音效]
type = PlaySnd
trigger1 = animelem = 6
value = S340,0

[state 坐标]
type = posadd
trigger1 = animelem = 2
trigger2 = animelem = 3
x = 8

[state 坐标]
type = posadd
trigger1 = animelem = 12
trigger2 = animelem = 13
x = 10

[State 攻击判定]
type = HitDef
trigger1 = time = 0
attr = C, NA
damage    = 70,10
priority = 4, Hit
animtype  = Light
hitflag = MAF
guardflag = L
pausetime = 3,12
sparkno = s-1
sparkxy = -10,-18
hitsound   = s440,0
getpower = 60,20
guard.sparkno = s7050
guardsound = s121,0
ground.type = Low
ground.slidetime = 17
ground.hittime  = 17
ground.velocity = -3,-5.5
air.velocity = -3,-.5
p2stateno = 460
ID = 450
nochainID = 9999

[State 打击火花]
type = Explod
ownpal = 1
triggerall = numtarget(450) = 1
trigger1 = movehit = 1
anim = 7001
sprpriority = 10
supermovetime = 9999
postype = p2
pos = 0,-15
bindtime = 1
ignorehitpause = 1
persistent = 0
under = 0
ownpal = 1
scale = 0.3,0.3
trans = addalpha
alpha = 256, 256

[State 转入]
type = ChangeState
triggerall = movecontact
trigger1 = command = "holdc"
trigger2 = command = "holda"
value = 451
ctrl = 1

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3000
name = "ougi1"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3100
name = "ougi2"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[State 归零]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------
;风架缠丝
;---------------------
[Statedef 451]
type    = S
movetype= A
physics = N
poweradd = 50
ctrl = 0
anim = 451
sprpriority = 1

[State 音效]
type = PlaySnd
trigger1 = AnimElem = 11
trigger1 = random < 500
value = S450,0

[State 音效]
type = PlaySnd
trigger1 = animelem = 12
value = S340, 0

[state 坐标]
type = posadd
trigger1 = animelem = 4
trigger2 = animelem = 5
trigger3 = animelem = 6
x = 10

[state 坐标]
type = posadd
trigger1 = animelem = 7
x = 7

[state 坐标]
type = posadd
trigger1 = animelem = 8
x = 6

[state 坐标]
type = posadd
trigger1 = animelem = 9
x = 5

[state 坐标]
type = posadd
trigger1 = animelem = 10
trigger2 = animelem = 11
x = 3

[state 坐标]
type = posadd
trigger1 = animelem = 12
x = 2

[state 坐标]
type = posadd
trigger1 = animelem = 13
trigger2 = animelem = 14
trigger3 = animelemtime(14) = 1
trigger4 = animelem = 15
trigger5 = animelem = 16
trigger6 = animelem = 18
x = 1

[State 攻击判定]
type = HitDef
trigger1 = time = 0
attr = S, NA
damage = 100,20
priority = 4, Hit
animtype  = Light
guardflag = MA
pausetime = 8,12
sparkno = s-1
sparkxy = -10,-83
hitsound   = s490,0
getpower = 60,20
guard.sparkno = s7050
guardsound = s121,0
ground.type = high
ground.slidetime = 9
ground.hittime  = 9
ground.velocity = -5,-3
air.velocity = -5,-3
p2stateno = 461
fall = 1
ID = 451
nochainID = 9999
envshake.time = 10
envshake.ampl = 5
envshake.freq = 50

[State 打击火花]
type = Explod
ownpal = 1
triggerall = numtarget(451) = 1
trigger1 = movehit = 1
anim = 7001
sprpriority = 20
supermovetime = 9999
postype = p1
pos = 0+floor(P2dist x),-90
bindtime = 1
ignorehitpause = 1
persistent = 0
under = 0
ownpal = 1
scale = 0.4,0.4
trans = addalpha
alpha = 256, 256

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3000
name = "ougi1"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3100
name = "ougi2"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[State 归零]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------
;风架缠丝(P2)
;---------------------
[Statedef 460]
type    = A
movetype= H
physics = N
velset = 0,0
sprpriority = 0

[State 屏幕限制]
type = ScreenBound
trigger1 = 1
value = 1
movecamera = 0,0

[State 转入]
type = ChangeAnim
Trigger1 = Time = 0
Trigger1 = SelfAnimExist(5030)
value = 5030

[state 受击速度]
type = Hitvelset
trigger1 = time = 0
x = 1
y = 1

[State 速度]
type = VelAdd
Trigger1 = time >= 6
y = .45

[State 转入] 
type = SelfState
triggerall = time >= 10
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = 5100

;---------------------
;风架缠丝(P2)
;---------------------
[Statedef 461]
type    = A
movetype= H
physics = N
velset = 0,0
sprpriority = 0

[State 转入]
type = ChangeAnim
Trigger1 = Time = 0
Trigger1 = SelfAnimExist(5052)
value = 5052

[State 转入]
type = ChangeAnim
Trigger1 = Time = 0
Trigger1 = !SelfAnimExist(5052)
value = 5050

[State 飞行速度]
type = Hitvelset
trigger1 = time = 0
x = 1
y = 1

[State 速度]
type = VelAdd
Trigger1 = time >= 5
y = .45

[State 转入] 
type = SelfState
triggerall = time >= 10
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = 5100

;---------------------------------------------------------------------------
; 跳轻拳
; CNS难度：初级
[Statedef 600]
type    = A
movetype= A
physics = A
poweradd = 30
ctrl = 0
anim = 600
sprpriority = 2

[State 音效]
type = PlaySnd
trigger1 = animelem = 2
value = S300, 0

[State 音效]
type = PlaySnd
trigger1 = AnimElem = 1
trigger1 = random < 500
value = S200,0

[State 攻击判定]
type = HitDef
trigger1 = time = 0
attr = A, NA
damage    = 30,10
priority = 3, Hit
getpower = 50,10
hitflag = MAF
guardflag = HA
pausetime = 7,8
sparkno = s-1
sparkxy = -10,-73
hitsound   = s400,0
guard.sparkno = s7050
guardsound = s120,0
ground.type = low
ground.slidetime = 8
ground.hittime  = 12
ground.velocity = ifelse(root,var(10) >= 1 ,0,-4)
air.velocity = ifelse(root,var(10) >= 1 ,0,-1.3),-3
ID = 600
nochainID = 9999

[State 打击火花]
type = Explod
ownpal = 1
triggerall = numtarget(600) = 1
trigger1 = movehit = 1
anim = 7000
sprpriority = 10
supermovetime = 9999
postype = p1
pos = 0+floor(P2dist x),-50
bindtime = 1
ignorehitpause = 1
persistent = 0
under = 0
ownpal = 1
scale = 0.4,0.4
trans = addalpha
alpha = 256, 256

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3000
name = "ougi1"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3100
name = "ougi2"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

;---------------------------------------------------------------------------
; 跳重拳
; CNS难度：初级
[Statedef 610]
type    = A
movetype= A
physics = A
poweradd= 50
ctrl = 0
anim = 610
sprpriority = 1

[State 音效]
type = PlaySnd
trigger1 = animelem = 2
value = S310,0

[State 音效]
type = PlaySnd
trigger1 = Time = 2
trigger1 = random < 500
value = S210,0

[State 攻击判定]
type = HitDef
trigger1 = time = 0
attr = A, NA
damage = 90,10
priority = 5, Hit
hitflag = MAF
guardflag = HA
getpower = 50,10
pausetime = 8,12
sparkno = s-1
sparkxy = -10,-95
hitsound   = s410,0
guard.sparkno = s7050
guardsound = s121,0
animtype = hard
ground.type = low
ground.slidetime = 17
ground.hittime  = 23
ground.velocity = ifelse(root,var(10) >= 1 ,0,-4)
air.velocity = ifelse(root,var(10) >= 1 ,0,-3),-4
ID = 610
nochainID = 9999

[State 打击火花]
type = Explod
ownpal = 1
triggerall = numtarget(610) = 1
trigger1 = movehit = 1
anim = 7001
sprpriority = 10
supermovetime = 9999
postype = p1
pos = 0+floor(P2dist x),-60
bindtime = 1
ignorehitpause = 1
persistent = 0
under = 0
ownpal = 1
scale = 0.3,0.3
trans = addalpha
alpha = 256, 256

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3000
name = "ougi1"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3100
name = "ougi2"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

;---------------------------------------------------------------------------
; 跳轻脚
; CNS难度：初级
[Statedef 630]
type    = A
movetype= A
physics = A
poweradd = 30
ctrl = 0
anim = 630
sprpriority = 1

[State 音效]
type = PlaySnd
trigger1 = AnimElem = 1
trigger1 = random < 500
value = S200,0

[State 音效]
type = PlaySnd
trigger1 = animelem = 2
value = S330,0

[State 攻击判定]
type = HitDef
trigger1 = time = 0
attr = A, NA
damage = 30,10
priority = 3, Hit
getpower = 40,10
hitflag = MAF
guardflag = HA
pausetime = 8,8
sparkno = s-1
sparkxy = -5,-69
hitsound   = s430,0
guard.sparkno = s7050
guardsound = s120,0
ground.type = low
ground.slidetime = 8
ground.hittime  = 12
ground.velocity = ifelse(root,var(10) >= 1 ,0,-4)
air.velocity = ifelse(root,var(10) >= 1 ,0,-2),-3
ID = 630
nochainID = 9999

[State 打击火花]
type = Explod
ownpal = 1
triggerall = numtarget(630) = 1
trigger1 = movehit = 1
anim = 7000
sprpriority = 10
supermovetime = 9999
postype = p1
pos = 0+floor(P2dist x),-60
bindtime = 1
ignorehitpause = 1
persistent = 0
under = 0
ownpal = 1
scale = 0.4,0.4
trans = addalpha
alpha = 256, 256

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3000
name = "ougi1"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3100
name = "ougi2"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

;---------------------------------------------------------------------------
; 跳重脚
; CNS难度：初级
[Statedef 640]
type    = A
movetype= A
physics = A
poweradd = 50
ctrl = 0
anim = 640
sprpriority = 1

[State 音效]
type = PlaySnd
trigger1 = animelem = 3
value = S340,0

[State 音效]
type = PlaySnd
trigger1 = Time = 2
trigger1 = random < 500
value = S210,0

[State 攻击判定]
type = HitDef
trigger1 = time = 0
attr = A, NA
damage    = 90,10
priority = 4, Hit
hitflag = MAF
guardflag = HA
getpower = 50,10
pausetime = 9,12
sparkno = s-1
sparkxy = -10,-77
hitsound   = s440,0
guard.sparkno = s7050
guardsound = s121,0
animtype = hard
ground.type = high
ground.slidetime = 17
ground.hittime  = 25
ground.velocity = ifelse(root,var(10) >= 1 ,0,-5)
air.velocity = ifelse(root,var(10) >= 1 ,0,-3),-4
ID = 640
nochainID = 9999

[State 打击火花]
type = Explod
ownpal = 1
triggerall = numtarget(640) = 1
trigger1 = movehit = 1
anim = 7001
sprpriority = 10
supermovetime = 9999
postype = p1
pos = 0+floor(P2dist x),-60
bindtime = 1
ignorehitpause = 1
persistent = 0
under = 0
ownpal = 1
scale = 0.3,0.3
trans = addalpha
alpha = 256, 256

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3000
name = "ougi1"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3100
name = "ougi2"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

;---------------------
;三角飞燕
;---------------------
[Statedef 650]
type    = A
movetype= I
physics = A
poweradd = 30
ctrl = 0
anim = 650
velset = -10,0
sprpriority = 2

[State 音效]
type = PlaySnd
trigger1 = AnimElem = 3
value = S40,1

[state 冻结]
type = posfreeze
trigger1 = animelem = 3,<=0
value = 1

[state 坐标]
type = posadd
trigger1 = animelem = 3
x = 60
y = -20

[state 速度]
type = velset
trigger1 = animelem = 3
x = 4
y = -6

[state 输入]
type = ctrlset
trigger1 = animelem = 3
value = 1

;---------------------------------------------------------------------------
; 跳CD
; CNS难度：初级
[Statedef 660]
type    = A
movetype= A
physics = A
poweradd= 60
ctrl = 0
anim = 660
sprpriority = 2

[State 音效]
type = PlaySnd
trigger1 = AnimElem = 1
trigger1 = random < 500
value = S290,0

[State 音效]
type = PlaySnd
trigger1 = animelem = 2
value = S390, 0

[State 攻击判定]
type = HitDef
trigger1 = time = 0
attr = A, NA
animtype  = hard
damage    = 150,30
getpower = 80,30
guardflag = MA
pausetime = 11,12
sparkno = s-1
sparkxy = -15,-75
hitsound   = s490,0
guard.sparkno = s7050
guardsound = s121,0
ground.type = low
ground.slidetime = 17
ground.hittime  = 17
ground.velocity = ifelse(root,var(10) >= 1 ,0,-6),-6.5
air.velocity = ifelse(root,var(10) >= 1 ,0,-6),-6.8
yaccel = 0.45
fall = 1
fall.recover = 0
ID = 660
nochainID = 9999

[State 打击火花]
type = Explod
ownpal = 1
triggerall = numtarget(660) = 1
trigger1 = movehit = 1
anim = 7001
sprpriority = 10
supermovetime = 9999
postype = p2
pos = -5,-85
bindtime = 1
ignorehitpause = 1
persistent = 0
under = 0
ownpal = 1
scale = 0.3,0.3
trans = addalpha
alpha = 256, 256

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3000
name = "ougi1"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

[state Helper召唤]
type = Helper
trigger1 = var(10) >= 1
trigger1 = time = 0
id = 3100
name = "ougi2"
sprpriority = 2
pos = 0,0
postype = p1
stateno = 3000
helpertype = normal
pausemovetime = 0
keyctrl = 0 
ownpal = 1

;---------------------------------------------------------------------------
; 闪避-原地
[Statedef 700]
type     = S
movetype = A
physics  = S
velset   = 0,0
anim     = 700
ctrl     = 0
sprpriority = -2

[State 坐标]
type = PosSet
trigger1 = 1
y = 0
ignorehitpause =  1

[State 音效]
type = PlaySnd
trigger1 = time = 0
value = S700,1

[State 无敌]
type = NotHitBy
trigger1 = 1
value = SCA

[State 归零]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; 闪避-前
[Statedef 710]
type = S
physics = S
movetype = I
anim = 710
velset = 0,0
ctrl = 0
sprpriority = 2

[State 转向]
type = Turn
trigger1 = Time = 0
trigger1 = PrevStateNo = 710
trigger1 = P2Dist X < 0

[State 转向]
type = ChangeState
trigger1 = PrevStateNo = [100,101]
trigger1 = Time = 0
trigger1 = P2Dist X < 0
value = 750

[State 暂停]
type = Pause
triggerall = PrevStateNo = 150 || PrevStateNo = 152
trigger1 = Time = 0
time = 10
movetime = 10

[State 闪屏]
type = EnvColor
triggerall = PrevStateNo = 150 || PrevStateNo = 152
trigger1 = Time = 0
value = 255,255,255
time = 4
under = 1

[State 减气]
type = PowerAdd
triggerall = PrevStateNo = 150 || PrevStateNo = 152
trigger1 = Time = 0
value = -1000

[State 防推挤]
type = PlayerPush
trigger1 = 1
value = 0

[State 无敌]
type = NotHitBy
trigger1 = 1
value = SCA

[State 移动]
type = VelSet
triggerall = !(PrevStateNo = 150 || PrevStateNo = 152)
trigger1 = AnimElem = 4, >= 0 && AnimElem = 10, < 0
x = 6 + (PrevStateNo = [100,101])

[State 移动]
type = VelSet
triggerall = !(PrevStateNo = 150 || PrevStateNo = 152)
trigger1 = AnimElem = 10, = 1
x = 0

[State 移动]
type = VelSet
triggerall = PrevStateNo = 150 || PrevStateNo = 152
trigger1 = AnimElem = 4, >= 0 && AnimElem = 10, < 0
x = 7

[State 移动]
type = VelSet
triggerall = PrevStateNo = 150 || PrevStateNo = 152
trigger1 = AnimElem = 10, = 1
x = 0

[State 特效]
type = Explod
trigger1 = AnimElem = 4
anim = 6100
id = 6100
sprpriority = 5
postype = p1
pos = -20,0
bindTime = 1
under = 0
ownpal = 1
scale = 0.45,0.45
supermovetime = 9999
pausemovetime = 9999
[State 特效]
type = Explod
trigger1 = AnimElem = 4
anim = 6100
id = 6100
sprpriority = 4
postype = p1
pos = -20,0
bindTime = 1
under = 0
ownpal = 1
scale = 0.45,0.45
supermovetime = 9999
pausemovetime = 9999
[State 特效]
type = Explod
trigger1 = AnimElem = 4
anim = 6101
id = 6101
sprpriority = 0
postype = p1
pos = -20,0
bindTime = 1
under = 0
ownpal = 1
scale = 0.45,0.45
supermovetime = 9999
pausemovetime = 9999
[State 特效]
type = Explod
trigger1 = AnimElem = 4
anim = 6101
id = 6101
sprpriority = -1
postype = p1
pos = -20,0
bindTime = 1
under = 0
ownpal = 1
scale = 0.45,0.45
supermovetime = 9999
pausemovetime = 9999
[State 特效]
type = Explod
trigger1 = AnimElem = 4
anim = 6101
id = 6101
sprpriority = -2
postype = p1
pos = -20,0
bindTime = 1
under = 0
ownpal = 1
scale = 0.45,0.45
supermovetime = 9999
pausemovetime = 9999
[State 特效]
type = Explod
trigger1 = AnimElem = 4
anim = 6101
id = 6101
sprpriority = -3
postype = p1
pos = -20,0
bindTime = 1
under = 0
ownpal = 1
scale = 0.45,0.45
supermovetime = 9999
pausemovetime = 9999
[State 特效]
type = Explod
trigger1 = AnimElem = 4
anim = 6101
id = 6101
sprpriority = -2
postype = p1
pos = -20,0
bindTime = 1
under = 0
ownpal = 1
scale = 0.45,0.45
supermovetime = 9999
pausemovetime = 9999

[State 特效]
type = Explod
trigger1 = AnimElemTime(3) = 1
anim = 6105
id = 6105
sprpriority = 10
postype = p1
pos = -20,0
bindTime = 1
under = 0
ownpal = 1
scale = 0.45,0.45
supermovetime = 9999
pausemovetime = 9999
[State 特效]
type = Explod
trigger1 = AnimElemTime(3) = 1
anim = 6105
id = 6105
sprpriority = 9
postype = p1
pos = -20,0
bindTime = 1
under = 0
ownpal = 1
scale = 0.45,0.45
supermovetime = 9999
pausemovetime = 9999
[State 特效]
type = Explod
trigger1 = AnimElemTime(3) = 1
anim = 6106
id = 6106
sprpriority = 9
postype = p1
pos = -20,0
bindTime = 1
under = 0
ownpal = 1
scale = 0.45,0.45
supermovetime = 9999
pausemovetime = 9999
[State 特效]
type = Explod
trigger1 = AnimElemTime(3) = 1
anim = 6106
id = 6106
sprpriority = 8
postype = p1
pos = -20,0
bindTime = 1
under = 0
ownpal = 1
scale = 0.45,0.45
supermovetime = 9999
pausemovetime = 9999
[State 特效]
type = Explod
trigger1 = AnimElemTime(3) = 1
anim = 6106
id = 6106
sprpriority = 7
postype = p1
pos = -20,0
bindTime = 1
under = 0
ownpal = 1
scale = 0.45,0.45
supermovetime = 9999
pausemovetime = 9999
[State 特效]
type = Explod
trigger1 = AnimElemTime(3) = 1
anim = 6106
id = 6106
sprpriority = 6
postype = p1
pos = -20,0
bindTime = 1
under = 0
ownpal = 1
scale = 0.45,0.45
supermovetime = 9999
pausemovetime = 9999
[State 特效]
type = Explod
trigger1 = AnimElemTime(3) = 1
anim = 6106
id = 6106
sprpriority = 5
postype = p1
pos = -20,0
bindTime = 1
under = 0
ownpal = 1
scale = 0.45,0.45
supermovetime = 9999
pausemovetime = 9999

[State 音效]
type = PlaySnd
trigger1 = time = 0
value = S700,2

[State 归零]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; 闪避-后
[Statedef 720]
type = S
physics = S
movetype = I
anim = 720
velset = 0,0
ctrl = 0
sprpriority = 2

[State 转向]
type = Turn
trigger1 = Time = 0
trigger1 = PrevStateNo = 710
trigger1 = P2Dist X < 0

[State 转向]
type = ChangeState
trigger1 = PrevStateNo = [100,101]
trigger1 = Time = 0
trigger1 = P2Dist X < 0
value = 710

[State 暂停]
type = Pause
triggerall = PrevStateNo = 150 || PrevStateNo = 152
trigger1 = Time = 0
time = 10
movetime = 10

[State 闪屏]
type = EnvColor
triggerall = PrevStateNo = 150 || PrevStateNo = 152
trigger1 = Time = 0
value = 255,255,255
time = 4
under = 1

[State 减气]
type = PowerAdd
triggerall = PrevStateNo = 150 || PrevStateNo = 152
trigger1 = Time = 0
value = -1000

[State 防推挤]
type = PlayerPush
trigger1 = 1
value = 0

[State 无敌]
type = NotHitBy
trigger1 = 1
value = SCA

[State 移动]
type = VelSet
triggerall = !(PrevStateNo = 150 || PrevStateNo = 152)
trigger1 = AnimElem = 4, >= 0 && AnimElem = 10, < 0
x = -6 + (PrevStateNo = [100,101])

[State 移动]
type = VelSet
triggerall = !(PrevStateNo = 150 || PrevStateNo = 152)
trigger1 = AnimElem = 10, = 1
x = 0

[State 移动]
type = VelSet
triggerall = PrevStateNo = 150 || PrevStateNo = 152
trigger1 = AnimElem = 4, >= 0 && AnimElem = 10, < 0
x = -7

[State 移动]
type = VelSet
triggerall = PrevStateNo = 150 || PrevStateNo = 152
trigger1 = AnimElem = 10, = 1
x = 0

[State 特效]
type = Explod
trigger1 = AnimElem = 4
anim = 6110
id = 6100
sprpriority = 5
postype = p1
pos = 0,0
bindTime = 1
under = 0
ownpal = 1
scale = 0.45,0.45
supermovetime = 9999
pausemovetime = 9999
[State 特效]
type = Explod
trigger1 = AnimElem = 4
anim = 6110
id = 6100
sprpriority = 4
postype = p1
pos = 0,0
bindTime = 1
under = 0
ownpal = 1
scale = 0.45,0.45
supermovetime = 9999
pausemovetime = 9999
[State 特效]
type = Explod
trigger1 = AnimElem = 4
anim = 6111
id = 6111
sprpriority = 0
postype = p1
pos = 0,0
bindTime = 1
under = 0
ownpal = 1
scale = 0.45,0.45
supermovetime = 9999
pausemovetime = 9999
[State 特效]
type = Explod
trigger1 = AnimElem = 4
anim = 6111
id = 6111
sprpriority = -1
postype = p1
pos = 0,0
bindTime = 1
under = 0
ownpal = 1
scale = 0.45,0.45
supermovetime = 9999
pausemovetime = 9999
[State 特效]
type = Explod
trigger1 = AnimElem = 4
anim = 6111
id = 6111
sprpriority = -2
postype = p1
pos = 0,0
bindTime = 1
under = 0
ownpal = 1
scale = 0.45,0.45
supermovetime = 9999
pausemovetime = 9999
[State 特效]
type = Explod
trigger1 = AnimElem = 4
anim = 6111
id = 6111
sprpriority = -3
postype = p1
pos = 0,0
bindTime = 1
under = 0
ownpal = 1
scale = 0.45,0.45
supermovetime = 9999
pausemovetime = 9999
[State 特效]
type = Explod
trigger1 = AnimElem = 4
anim = 6111
id = 6111
sprpriority = -2
postype = p1
pos = 0,0
bindTime = 1
under = 0
ownpal = 1
scale = 0.45,0.45
supermovetime = 9999
pausemovetime = 9999

[State 特效]
type = Explod
trigger1 = AnimElemTime(3) = 1
anim = 6115
id = 6115
sprpriority = 10
postype = p1
pos = 0,0
bindTime = 1
under = 0
ownpal = 1
scale = 0.45,0.45
supermovetime = 9999
pausemovetime = 9999
[State 特效]
type = Explod
trigger1 = AnimElemTime(3) = 1
anim = 6115
id = 6115
sprpriority = 9
postype = p1
pos = 0,0
bindTime = 1
under = 0
ownpal = 1
scale = 0.45,0.45
supermovetime = 9999
pausemovetime = 9999
[State 特效]
type = Explod
trigger1 = AnimElemTime(3) = 1
anim = 6116
id = 6116
sprpriority = 9
postype = p1
pos = 0,0
bindTime = 1
under = 0
ownpal = 1
scale = 0.45,0.45
supermovetime = 9999
pausemovetime = 9999
[State 特效]
type = Explod
trigger1 = AnimElemTime(3) = 1
anim = 6116
id = 6116
sprpriority = 8
postype = p1
pos = 0,0
bindTime = 1
under = 0
ownpal = 1
scale = 0.45,0.45
supermovetime = 9999
pausemovetime = 9999
[State 特效]
type = Explod
trigger1 = AnimElemTime(3) = 1
anim = 6116
id = 6116
sprpriority = 7
postype = p1
pos = 0,0
bindTime = 1
under = 0
ownpal = 1
scale = 0.45,0.45
supermovetime = 9999
pausemovetime = 9999
[State 特效]
type = Explod
trigger1 = AnimElemTime(3) = 1
anim = 6116
id = 6116
sprpriority = 6
postype = p1
pos = 0,0
bindTime = 1
under = 0
ownpal = 1
scale = 0.45,0.45
supermovetime = 9999
pausemovetime = 9999
[State 特效]
type = Explod
trigger1 = AnimElemTime(3) = 1
anim = 6116
id = 6116
sprpriority = 5
postype = p1
pos = 0,0
bindTime = 1
under = 0
ownpal = 1
scale = 0.45,0.45
supermovetime = 9999
pausemovetime = 9999

[State 音效]
type = PlaySnd
trigger1 = time = 0
value = S700,2

[State 归零]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; 推手·冲靠
; CNS难度：中级-上级
; 投技并不难写，但是有的时候会很繁杂。（翻译这个魂淡文本也是）
; 投技的HitDef需要特殊写法。关键的两个参数是p1stateno和p2stateno。
; 如果HitDef击中了，攻击者会进入p1stateno，受击者会进入p2stateno。
; 关于p2stateno特别的地方是受击者会进入p1的cns文档里写的state。
; 无论p2是谁，他都会进入这个文档(kfm.cns)里声明的state820，直到投技结束。
; （在MUGEN里进入debug模式看p2的状态号，黄色的状态号表明在其他人物的state里。
[Statedef 800]
type    = S
movetype= A
physics = S
velset = 0,0
ctrl = 0
anim = 800
sprpriority = 2

[State 攻击判定]
type = HitDef
Trigger1 = Time = 0
attr = , NT          ;属性: 站立，普通投
hitflag = M-          ;能击中地面上非受击状态的敌人
priority = 1, Miss    ;低优先度，必须为miss或dodge
sparkno = -1          ;没有火花
p1sprpriority = 1     ;p1的位图在p2之前
                      ;p2的sprpriority默认是0
p1facing = 1
p2facing = 1          ;强制让对方面对我方
p1stateno = 801       ;成功的话p1转到810
p2stateno = 810       ;成功的话p2转到kfm的cns里的820
guard.dist = 0        ;这样对方不能转到防御state
fall = 1              ;强制对方落地

[State 归零]
type = ChangeState
Trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; 推手·冲靠 : 过程
; 在这个state里，功夫人通过把对方绑定到合适的便宜量来做出投的效果。
; 举例来说，[State 810, Bind 1]把对方绑定到前方28像素的地方，就是功夫人伸出的手的位置。
; 务必在想放开对方之前一直用TargetBind控制器把对方绑定住。
; 这在如果对方有受击判定框（Clsn2）的时候尤其重要。
; 每当人物被击中，这个人物绑定的人物会进入下落状态，如果对方没有被绑定，就会卡在被投的位置。
; 注意对方生命减少是由TargetLifeAdd控制器做到的， 当功夫人放手时一个TargetState控制器把对方转到821里。
[Statedef 801]
type    = S
movetype= A
physics = N
anim = 801
juggle  = 0
sprpriority = 2
poweradd= 100

[State 推挤]
type = Width
trigger1 = 1
edge = 80,0

[State 震屏]
type = EnvShake
trigger1 = animelem = 8
time = 10
ampl = -8
freq = 95
phase = 95

[State 坐标]
type = TargetBind
trigger1 = animelem = 1
pos = 75,0

[State 坐标]
type = TargetBind
trigger1 = animelem = 3
pos = 64,0

[State 坐标]
type = TargetBind
trigger1 = animelem = 4
pos = 41,0

[State 坐标]
type = TargetBind
trigger1 = animelem = 5
pos = 35,0

[State 坐标]
type = TargetBind
trigger1 = animelem = 6
pos = 30,0

[State 坐标]
type = TargetBind
trigger1 = animelem = 7
pos = 39,0

[State 坐标]
type = TargetBind
trigger1 = animelem = 8
pos = 57,0

[State 扣血]
type = Targetlifeadd
trigger1 = animelem = 8
value = -lifemax*.1

[State 抓取火花]
type = Explod
ownpal = 1
trigger1 = time = 0
anim = 7055
sprpriority = 20
postype = p1
pos = 70,-75
bindtime = 1
ignorehitpause = 1
persistent = 0
under = 0
ownpal = 1
scale = 0.45,0.45
supermovetime = 9999
pausemovetime = 9999
trans = addalpha
alpha = 256, 256

[State 打击火花]
type = Explod
ownpal = 1
trigger1 = animelem = 8
anim = 7002
sprpriority = 10
supermovetime = 9999
postype = p1
pos = 70,-70
bindtime = 1
ignorehitpause = 1
persistent = 0
under = 0
ownpal = 1
scale = 0.3,0.3
trans = addalpha
alpha = 256, 256

[State 音效]
type = PlaySnd
trigger1 = animelem = 1
value = S800, 0

[State 音效]
type = PlaySnd
trigger1 = animelem = 8
value = S490,0

[State 归零] 
type = changeState
trigger1 = animtime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; 推手·冲靠 : 被投
; （自定义的受击state）
; 在被功夫人的HitDef击中后对手会转到这个state里。
; 注意使用ChangeAnim2控制器，这样对手会读取kfm.air里的动作。
; 如果使用ChangeAnim的话，对手会读取自己的air里的动作
; 参考kfm.air里的动作820。
[Statedef 810]
type    = A
movetype= H
physics = N
velset = 0,0
sprpriority = -1

[State 无敌]
type = NotHitBy
trigger1 = 1
value = SCA

[State 状态号]
type = ChangeAnim2
Trigger1 = Time = 0
value = 810

[state 速度]
type = velset
trigger1 = animelem = 9
x = -6
y = -4

[State 速度] 
type = VelAdd
Trigger1 = animelem = 9,>=0
y = .42

[State 转入] 
type = changeState
triggerall = Vel Y > 0
trigger1 = Pos Y >= 0
value = 811

;---------------------------------------------------------------------------
; 推手·冲靠 : 被投
[Statedef 811]
type    = L
movetype= H
physics = N
velset = -4,0

[State 转入]
type = ChangeAnim2
Trigger1 = Time = 0
value = 811

[State 坐标]
type = PosSet
trigger1 = time = 0
y = 0

[State 速度]
type = Veladd
trigger1 = time >= 0 && AnimElemtime(8) <= 4
x = .1

[State 速度]
type = VelSet
trigger1 = AnimElemtime(8) = 5
x = 0

[State 系统尘土]
type = MakeDust
trigger1 = vel x < 0
spacing = 4

[State 转入]
type = ChangeState
trigger1 = Animtime = -1
trigger1 = ishelper
value = 5120

[State 转入]
type = SelfState
trigger1 = Animtime = 0
trigger1 = Alive
value = 5120

[State 转入]
type = SelfState
trigger1 = Animtime = 0
trigger1 = !Alive
value = 5150


;---------------------------------------------------------------------------
; 重载common1.cns里的state（用同样的state号）
;---------------------------------------------------------------------------

;---------------------------------------------------------------------------
; 每一帧执行(statedef -2)
;---------------------------------------------------------------------------

[Statedef -2]

[state helper]
type = Helper
trigger1 = numhelper(9999) = 0
id = 9999
name = "连击修正"
sprpriority = 1
pos = 0,0
postype = p1
stateno = 9999
helpertype = normal
pausemovetime = 99999999
supermovetime = 99999999
keyctrl = 0 
ownpal = 0

[state 连击修正]
type = AttackMulSet
trigger1 = 1            ;伤害修正开关，= 1开启，= 0关闭   默认开启
value = helper(9999),fvar(15)

[State 变量]
type = Varadd
trigger1 = var(10) > 0
var(10) = -1
ignorehitpause = 1

[State 变量]
type = VarSET
trigger1 = var(10) <= 0
var(10) = 0

[state 残影]
type = afterimagetime
trigger1 = MoveType = H
trigger1 = var(10) <= 0
trigger2 = var(10) = 0
time = 0
ignorehitpause = 1

[State -2]
type = Helper
triggerall = numhelper(10000) = 0
trigger1 = 1
helpertype = normal
name = "bc"
pausemovetime = 9999
supermovetime = 9999
id = 10000
pos = 0,0
postype = p1
stateno = 10000
keyctrl = 0
ownpal = 1

[State 音效停止]
type = StopSnd
trigger1 = ANIM != 20
channel = 1

[State 特效]
type = Explod
trigger1 = p2movetype = H
trigger1 = p2stateno = 1077
trigger1 = enemy,backEdgebodydist <= 1
;trigger1 = enemy,stateno = 322 && enemy,time = 1&& enemy,movetype = H
anim = 7010
pos = -20,-60
postype = p2
facing = -1
scale = 0.35,0.35
sprpriority = -9
ownpal = 1
bindtime = 1
persistent = 0

;---------------------------------------------------------------------------
; 在自己的state里每一帧执行(statedef -3)
;---------------------------------------------------------------------------

[Statedef -3]

[State -3, コマンドを入れたらVarをON]
Type = VarSet
Trigger1 = Command = "jump" ;残影跳的指令，一般是269，247这些的，一会给出指令
Trigger1 = Ctrl
Trigger1 = StateType = S
Trigger2 = PrevStateNo = [100,102]
Trigger2 = Command = "holdfwd" ;之前的动作为跑步，并且按住前，才可出现残影跳
V = 3
Value = 1

[State -3, sysvarを引継ぐ] ;出现了残影跳以后，需要继续赋值
Type = VarSet
Trigger1 = Var(3) = 1 ;出现了残影跳
Trigger1 = StateNo = 40 ;ジャンプする前のステート
Trigger1 = AnimTime = 0 ;ジャンプ方向を決めるsysvarがリセットされる寸前
var(3) = ifelse(sysvar(1)=0, 2, ifelse(sysvar(1)=1, 3, 4)) ;利用sysvar来判断赋值，上跳赋值为2，前为3，后为4

[State -3, varをOFFにするステート] ;跳出去以后还原var(3) = 0
Type = VarSet
TriggerAll = Time = 2
Trigger1 = StateNo = 50
Trigger2 = StateNo != [40,59]
V = 3
Value = 0 ;还原

[State -3, 前にボタンを押してたら前にも加速] ;残影前跳加速
Type = VelAdd
Trigger1 = var(3) = 3
Trigger1 = StateNo = 50
x = 2.1

[State -3, 後ろなら後ろに加速] ;残影后跳加速
Type = VelAdd
Trigger1 = var(3) = 4
Trigger1 = StateNo = 50
x = -2.1

[State -3, 垂直ジャンプにveladdを使って上に加速] ;残影上跳加速
Type = VelAdd
Trigger1 = var(3) = 2
Trigger1 = StateNo = 50
y = -2.1

[State -3, 成功したときの残像]
type = AfterImage
triggerall = var(10) <= 0
Trigger1 = var(3) >= 1
Trigger1 = stateno = 50
time = 25
trans = add1
timegap = 1
framegap = 2
length = 8
palbright = 0,0,0
palcontrast = 128,128,128
palmul = 1,1,1
