
;---------------------
;影(Helper)
;---------------------
[Statedef 2000]
type    = S
movetype= A
physics = S
ctrl = 0
velset = 0,0
anim = 2000
sprpriority = -1

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

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

[state 淡化]
type = NULL;trans
trigger1 = 1
trans = add1

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

[State 攻击状态]
type = HitDef
trigger1 = AnimElem = 6 || AnimElem = 7
trigger1 = movecontact = 0
attr = , NA
animtype = hard
damage = 60,10
hitflag = MAF
guardflag = H
guard.sparkno = s7060
pausetime = 8,8
sparkno = s-1
sparkxy = 10,-80
hitsound = s9,4
guardsound = S120,3
ground.type = High
ground.slidetime = 22
ground.hittime = 22
ground.velocity = -5.5
air.velocity = -3,10
P1sprpriority = -1

[State 转入]
type = TargetState
triggerall = NumTarget
trigger1 = target,statetype = A
trigger1 = movehit = 1
value = 241
ignorehitpause = 1
persistent = 0

[State 打击火花]
type = Explod
ownpal = 1
trigger1 = movehit = 1
anim = 7001
sprpriority = 20
supermovetime = 9999
postype = p1
pos = 85,-95
bindtime = 1
ignorehitpause = 1
persistent = 0
under = 0
ownpal = 1
scale = 0.4,0.4
trans = addalpha
alpha = 256, 256

[State 挥击音效]
type = PlaySnd
trigger1 = Time = 1
value = S200,1

[state Helper删除]
type = destroyself
trigger1 = animtime = 0

;---------------------
;影(Helper)
;---------------------
[Statedef 2001]
type = S
physics = S
movetype = A
ctrl = 0
anim = 2001
facep2 = 1
velset = 0,0
sprpriority = -1

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

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

[State 音效]
type = Playsnd
trigger1 = animelem = 6
value = S0,7

[state 特效]
type = Explod
trigger1 = AnimElem = 5
anim = 1001
postype = p1
pos = 20,0
sprpriority = 1
ownpal = 1

[State 飞道]
type = Projectile
trigger1 = AnimElem = 6
projID = 1001
projanim = 1002
projremanim = 1003
projhitanim = 1003
projhits = 1
projpriority = 1
projshadow = -1
offset = 57,0
velocity = 9,0
attr = C, SP
damage = 100,6
Getpower = 0,0
givepower = 0,0
animtype = heavy
guardflag = MA
hitflag = MAF
pausetime = 0,10
hitsound = s9,1
guardsound = S120,3
sparkxy = 0,-10
sparkno = s-1
guard.sparkno = s7060
ground.type = high
ground.slidetime = 22
ground.hittime = 22
ground.velocity = -6
air.velocity = -.5,-6
Projedgebound = 40
P1sprpriority = -1
absolute = 0

[State 转入]
type = TargetState
triggerall = NumTarget
trigger1 = target,statetype = A
trigger1 = ProjhitTime(1001) = 0
value = 2002
ignorehitpause = 1
persistent = 0

[state Helper删除]
type = destroyself
trigger1 = animtime = 0

;---------------------
;影(P2)
;---------------------
[Statedef 2002]
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

;---------------------
;影(Helper)
;---------------------
[Statedef 2005]
type    = S                    
movetype= I                   
physics = N                      
ctrl = 0 
velset = 0,0                       
anim = 2005                  
sprpriority = -1

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

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

[state 定义在空中]
type = statetypeset
trigger1 = animelem = 1
statetype = A

[state 下落速度]
type = veladd
trigger1 = animelem = 2,>=0
y = 2.5

[State 转入]
type = ChangeState
trigger1 = vel y > 0
trigger1 = pos y >= 0
value = 2006

;---------------------
;影(Helper)
;---------------------
[Statedef 2006]
type = S
movetype = A
physics = N
velset = 0,0
anim = 2006
velset = 0
ctrl = 0
sprpriority = -1

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

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

[State 特效]
Type = Explod
Trigger1 = animelem = 1
anim = 1660
postype = p1
supermovetime = 999
pos = 0,0
sprpriority = 1
bindTime = 1
scale = 0.6,0.6
ownpal = 0

[State 屏幕震动]
type = EnvShake
trigger1 = animelem = 1
time = 15
freq = 50
ampl = 5
phase = 22

[State 锤地音效]
type = PlaySnd
trigger1 = AnimElem = 1
value = S10,4

[State 攻击]
type = HitDef
trigger1 = TIME = 0
attr = , SA
animtype  = Light
damage = 50,10
priority = 5
guardflag = 
hitflag = MAFD
pausetime = 15,15
sparkxy = -10,-60
hitsound = -1
guardsound = -1
ground.type = Low
ground.slidetime = 12
ground.hittime = 17
ground.velocity = 0,-7.5
air.velocity = 0,-7.5
sparkno = -1
fall = 1
fall.recover = 0
p2stateno = 1655

[State 打击火花]
type = Explod
ownpal = 1
trigger1 = movehit = 1
anim = 7000
sprpriority = 20
supermovetime = 9999
postype = p2
pos = 0,-30
bindtime = 1
ignorehitpause = 1
persistent = 0
under = 0
ownpal = 1
scale = 0.4,0.4
trans = addalpha
alpha = 256, 256

[state 地面坐标]
type = posset
trigger1 = time = 0
y = 0

[state Helper删除]
type = destroyself
trigger1 = animtime = 0

;---------------------
;影(Helper)
;---------------------
[Statedef 2010]
type = S
movetype = A
physics = S
anim = 2010
facep2 = 1
velset = 0,0
ctrl = 0
sprpriority = -1

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

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

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

[State 坐标]
type = Posadd
trigger1 = animelem = 1
trigger2 = animelem = 2
trigger3 = animelem = 3
trigger4 = animelem = 4
x = 5

[State 坐标]
type = Posadd
trigger1 = animelem = 6
x = 10

[state 特效]
type = Explod
trigger1 = AnimElem = 5
anim = 1103
ID = 1103
removetime = -1
bindtime = -1
postype = p1
pos = 0,0
sprpriority = 1
removeongethit = 1
ignorehitpause = 1
ownpal = 1

[State 攻击判定]
type = HitDef
trigger1 = AnimElem = 5
ID = 1100
attr = , SA
animtype = Medium
damage = 30,3
guardflag = M
hitflag = MA
pausetime = 10,12
guard.pausetime = 10,10
sparkno = S-1
guard.sparkno = s7060
sparkxy = 10,-70
hitsound = s10,6
guardsound = S120,3
ground.type = High
ground.slidetime = 12
ground.hittime = 15
ground.velocity = -2
guard.velocity = -1
air.velocity = -2.4,-7
absolute = 0
fall.recover = 0
P1sprpriority = -1
yaccel = .45

[state 特效删除]
type = RemoveExplod
trigger1 = AnimElem = 6
ID = 1103

[state 特效]
type = Explod
trigger1 = AnimElem = 6
anim = 1104
ID = 1104
removetime = -1
bindtime = -1
postype = p1
pos = 0,0
sprpriority = 1
removeongethit = 1
ignorehitpause = 1
ownpal = 1

[State 状态变更]
type = statetypeset
trigger1 = AnimElem = 6
value = A

[State 攻击判定]
type = HitDef
trigger1 = AnimElem = 6
attr = , SA
ID = 1101
animtype = Medium
damage = 30,3
guardflag = M
hitflag = MAF
pausetime = 10,10
guard.pausetime = 10,10
sparkno = -1
guard.sparkno = s7060
sparkxy = 10,-70
hitsound = s10,6
guardsound = S120,3
ground.type = High
ground.slidetime = 12
ground.hittime = 15
ground.velocity = -.1,-9.5
guard.velocity = -1
air.velocity = -.1,-7.5
fall = 1
absolute = 0
fall.recover = 0
yaccel = .45
P1sprpriority = -1

[state 特效]
type = Explod
trigger1 = movehit
anim = 7007
postype = p2
pos = 5,-60
scale = 0.4,0.4
sprpriority = 8
persistent = 0
ignorehitpause = 1
facing = -1
ownpal = 1

[state 特效]
type = Explod
trigger1 = movehit
trigger1 = numtarget(2011) = 1
anim = 7007
postype = p2
pos = 5,-60
scale = 0.4,0.4
sprpriority = 6
persistent = 0
ignorehitpause = 1
ownpal = 1
facing = -1
ownpal = 1

[state 音效]
type = playsnd
trigger1 = animelem = 5
value = S0,23
channel = 1
ignorehitpause = 1

[State 转入]
type = ChangeState
trigger1 = AnimTime = 0
value = 2011

;---------------------
;影(Helper)
;---------------------
[Statedef 2011]
type = A
movetype = A
physics = S
anim = 2011
velset = 0,0
ctrl = 0
sprpriority = -1

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

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

[state 特效删除]
type = RemoveExplod
trigger1 = AnimElem = 1
ID = 1104

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

[state 特效]
type = Explod
trigger1 = AnimElem = 1
anim = 1105
ID = 1105
bindtime = -1
postype = p1
pos = 0,0
sprpriority = 1
removeongethit = 1
ignorehitpause = 1
ownpal = 1

[state 音效]
type = playsnd
trigger1 = animelem = 3
value = S0,23

[State 攻击判定]
type = HitDef
trigger1 = AnimElem = 4
ID = 2011
attr = , SA
animtype = hard
damage = 40,10
hitflag = MAF
guardflag = M
guard.sparkno = s7060
pausetime = 15,15
guard.pausetime = 14,26
sparkno = S-1
sparkxy = -10,-70
hitsound = s10,6
guardsound = S120,3
ground.type = High
ground.slidetime = 12
ground.hittime = 15
ground.velocity = -3,-7
air.velocity = -2.4,-7
fall = 1
fall.recover = 0
envshake.time = 18
envshake.freq = 100
envshake.ampl = -3
p2stateno = 2012
absolute = 0
P1sprpriority = -1

[state 特效]
type = Explod
trigger1 = movehit
anim = 7007
postype = p2
pos = 5,-60
scale = 0.4,0.4
sprpriority = 2
persistent = 0
ignorehitpause = 1
ownpal = 1
facing = -1

[state 特效]
type = Explod
trigger1 = animelem = 3
anim = 1106
postype = p1
pos = 10,10
sprpriority = 1
ownpal = 1

[state 速度]
type = velset
trigger1 = time = 0
x = .3
y = -4.7

[State 速度]
type = VelAdd
trigger1 = Time >= 0
y = 0.38

[state Helper删除]
type = destroyself
trigger1 = animtime = 0

;---------------------
;影(P2)
;---------------------
[statedef 2012]
type    = A
movetype= H
physics = N
poweradd = 0
VelSet = 0,0
ctrl = 0
sprpriority = -2
facep2 = 1

[State 屏幕距离]
type = ScreenBound
trigger1 = 1
value = 1
movecamera = 1,0

[state 转入]
type = changeAnim2
Trigger1 = Time = 0
value = 601

[State 速度]
type = VelSet
trigger1 = time = 15
x = -2
y = -6
ignorehitpause = 1
persistent = 0

[State 转入]
type = ChangeState
trigger1 = time >= 16
value = 2013
ctrl = 0

;---------------------
;影(P2)
;---------------------
[statedef 2013]
type    = A
movetype= H
physics = N
ctrl = 0
sprpriority = -1
facep2 = 1

[State 屏幕距离]
type = ScreenBound
trigger1 = 1
value = 1
movecamera = 1,0

[state 转入]
type = changeAnim2
Trigger1 = Time = 0
value = 602

[State 速度]
type = Veladd
trigger1 = TIME >= 0
y = .5

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

;---------------------
;影(Helper)
;---------------------
[Statedef 2015]
type     = S
movetype = A
physics  = S
velset   = 0,0
anim     = 2015
ctrl     = 0
sprpriority = -1

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

[State 瞬间朝向]
type = Turn
trigger1 = time = 0

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

[State 挥击音效]
type = PlaySnd
trigger1 = animelem = 8
value = S9,10

[State 挥击音效]
type = PlaySnd
trigger1 = animelem = 8
value = S9,8

[State 屏幕震动]
type = EnvShake
trigger1 = animelem = 8
time = 15
freq = 50
ampl = 5
phase = 22

[state 特效]
type = Explod
trigger1 = AnimElem = 8
anim = 1205
postype = p1
pos = 50,0
sprpriority = 2
ownpal = 1

[State 特效]
Type = Explod
Trigger1 = animelem = 8
anim = 1660
postype = p1
supermovetime = 999
pos = 55,0
sprpriority = 1
bindTime = 1
scale = 0.4,0.4
ownpal = 0

[State 锤地音效]
type = PlaySnd
trigger1 = AnimElem = 8
value = S10,4

[State 攻击判定]
type = HitDef
trigger1 = time = 0
attr = , HP
damage = 100,15
getpower = 0
animtype = Diagup
guardflag = M
hitflag = MAFD
priority = 3, Hit
pausetime = 0,10
sparkno = s-1
guard.sparkno = s7060
sparkxy = -20, -60
hitsound = s9,8
guardsound = s120,3
ground.type = High
ground.slidetime = 20
ground.hittime  = 21
ground.velocity = -1.5,-8
air.velocity = -1.5,-8
p2stateno = 1210
palfx.time = 80
palfx.add = 40,-70,-200
palfx.sinadd = 40,30,0,10
palfx.color = 0
palfx.invertall = 1
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
P1sprpriority = -1

[State 打击火花]
type = Explod
trigger1 = movehit = 1
anim = 7001
sprpriority = 20
supermovetime = 9999
postype = p2
pos = 0,-70
bindtime = 1
ignorehitpause = 1
persistent = 0
under = 0
ownpal = 1
scale = 0.35,0.35
trans = addalpha
alpha = 256, 256

[state Helper删除]
type = destroyself
trigger1 = animtime = 0

;---------------------
;影(Helper)
;---------------------
[Statedef 2020]
type = S
physics = S
movetype = A
ctrl = 0
anim = 2020
velset = 0,0
sprpriority = -1

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

[State 特效]
type = Explod
trigger1 = AnimElem = 5
persistent = 0
anim = 7300
postype = P1
pos = 45,20
sprpriority = 5
removetime = 59
ownpal = 1
angle = 30
scale = 0.45,0.45
ignorehitpause = -1
persistent = 0

[State 音效]
type = PlaySnd
trigger1 = AnimElem = 5
value = S9,5

[State Helper]
type = Helper
trigger1 = TIME = 15
ID = 1054
pos = 28,-40
postype = p1
facing = 1
stateno = 1054
OwnPal = 1

[State Helper]
type = Helper
trigger1 = TIME = 20
ID = 1054
pos = 28,-75
postype = p1
facing = 1
stateno = 1054
OwnPal = 1

[State Helper]
type = Helper
trigger1 = TIME = 25
ID = 1054
pos = 28,-110
postype = p1
facing = 1
stateno = 1054
OwnPal = 1

[state Helper删除]
type = destroyself
trigger1 = animtime = 0

;---------------------
;连击修正
;---------------------
[Statedef 9999]
type = A
ctrl = 0
anim = 9999
velset = 0,0
movetype = I
physics = N
sprpriority = 10

[State 断言]
type = AssertSpecial ;这里让玩家无法看见helper
Trigger1 = 1
flag = NoShadow ;无影子
flag2 = invisible ;不可视

[State 无敌]
type = NotHitBy ;为了保证helper在战斗中不受某些类似AOE的影响，给helper写上无敌作为保险项
Trigger1 = 1
value = SCA

[State 間違いで本体が来たら立ちへ移行]
type = SelfState ;当这个statedef不是helper时转到0，并在statedef 0内写上destroyself，一会给出例子
trigger1 =!ishelper
value = 0

[State 转向]
type = Turn ;转向，其实没什么太大意义
trigger1 = Facing*ifelse((EnemyNear,Pos X-Pos X)>=0,1,-1) < 0
IgnoreHitPause = 1

[state a];修正
type = varset
trigger1 = parent,numtarget
trigger1 = enemy,movetype = H
trigger1 = enemy,gethitvar(hitcount) > 1
fvar(0) = ((100.0-(25.0+(enemy,gethitvar(hitcount)/2.0)*5.0))/100.0)

[state a];修正
type = varset
trigger1 = fvar(0) <= 0
fvar(0) = 0.4

[state -2, 伤害修正]
type = varset
triggerall = parent,palno = [1,12]
trigger1 = 1
fvar(15) = fvar(0)

[state -2, 伤害最低修正]
type = varset
triggerall = fvar(10)<0.25
trigger1 = 1
fvar(15) = 0.3

[state a]
type = removeexplod
trigger1 = RoundState > 2
id = 9999
