;--------------------------------------------------------------------
; R[
;--------------------------------------------------------------------
; Stand
[statedef 0]
type = S
physics = S
sprpriority = 0

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 0, 1]
type = changeanim
trigger1 = anim != 0 && anim != 5
trigger2 = anim = 5 && animtime = 0 ;turn anim over
value = 0

[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, 4] ;Are you dead?
type = changestate
trigger1 = !alive
value = 5050

[state 0, 5]
type = ChangeAnim
triggerall = anim != 5
trigger1 = Pos x<EnemyNear,Pos x&&Facing=-1
trigger2 = EnemyNear,Pos x<Pos x&&Facing=1
value = 5
ignorehitpause = 1
supermovetime = 9999999
pausemovetime = 9999999

[state 0, 6]
type = Turn
trigger1 = anim = 5
trigger1 = animelem = 1
supermovetime = 9999999
pausemovetime = 9999999

;---------------------------------------------------------------------------
; Stand to Crouch
[statedef 10]
type    = C
physics = C
anim = 10

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 10, 2]
type = changestate
trigger1 = !time
value = 0

;---------------------------------------------------------------------------
; Crouching
[statedef 11]
type    = C
physics = C
anim = 11
sprpriority = 0

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name = "xamiel"
value = 0
ctrl = 1
ignorehitpause = 1

;---------------------------------------------------------------------------
; Crouch to Stand
[statedef 12]
type    = S
physics = S
anim = 12

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name = "xamiel"
value = 0
ctrl = 1
ignorehitpause = 1

;---------------------------------------------------------------------------
; walk
[statedef 20]
type    = S
physics = S
sprpriority = 0

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 20, 1]
type = velset
trigger1 = command = "holdfwd"
x = const(velocity.walk.fwd.x)

[state 20, 2]
type = velset
trigger1 = command = "holdback"
x = const(velocity.walk.back.x)

[state 20, 3]
type = changeanim
triggerall = vel x > 0
trigger1 = anim != 20 && anim != 5
trigger2 = anim = 5 && animtime = 0
value = 20

[state 20, 4]
type = changeanim
triggerall = vel x < 0
trigger1 = anim != 21 && anim != 5
trigger2 = anim = 5 && animtime = 0
value = 21

[state 20, 5]
type = ChangeAnim
triggerall = anim != 5
trigger1 = Pos x<EnemyNear,Pos x&&Facing=-1
trigger2 = EnemyNear,Pos x<Pos x&&Facing=1
value = 5
ignorehitpause = 1
supermovetime = 9999999
pausemovetime = 9999999

[state 20, 6]
type = Turn
trigger1 = anim = 5
trigger1 = animelem = 1
supermovetime = 9999999
pausemovetime = 9999999

;---------------------------------------------------------------------------
; jump Start
[statedef 40]
type    = S
physics = S
anim = 40
ctrl = 0
sprpriority = 1

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name = "xamiel"
value = 0
ctrl = 1
ignorehitpause = 1

;---------------------------------------------------------------------------
; Airjump Start
[statedef 45]
type    = A
physics = n
ctrl = 0
velset = 0,0

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name = "xamiel"
value = 0
ctrl = 1
ignorehitpause = 1

;---------------------------------------------------------------------------
; jump Up
[statedef 50]
type    = A
physics = A

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name = "xamiel"
value = 0
ctrl = 1
ignorehitpause = 1

;---------------------------------------------------------------------------
; jump down (empty state for compatibility)
[statedef 51]
type    = A
physics = A

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name = "xamiel"
value = 0
ctrl = 1
ignorehitpause = 1

;---------------------------------------------------------------------------
; jump Land
[statedef 52]
type    = S
physics = S
ctrl = 0
anim = 47

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name = "xamiel"
value = 0
ctrl = 1
ignorehitpause = 1

;---------------------------------------------------------------------------
; rUn_fwd
[statedef 100]
type    = S
physics = S
anim = 100
sprpriority = 1

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name = "xamiel"
value = 20
ctrl = 1
ignorehitpause = 1

;---------------------------------------------------------------------------
; rUn_bACk
[statedef 105]
type    = A
physics = A
ctrl = 0
anim = 105
sprpriority = 1

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name = "xamiel"
value = 20
ctrl = 1
ignorehitpause = 1

;---------------------------------------------------------------------------
; rUn_Up
[statedef 110]
type    = S
physics = n

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name = "xamiel"
value = 0
ctrl = 1
ignorehitpause = 1

;---------------------------------------------------------------------------
; rUn_down
[statedef 115]
type    = S
physics = n

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name = "xamiel"
value = 0
ctrl = 1
ignorehitpause = 1

;---------------------------------------------------------------------------
; gUArd (start)
[statedef 120]
type = U    ;Leave state type unchanged
physics = U ;Leave physics unchanged

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 120, 1]
type = changeanim
trigger1 = time = 0
value = 120 + (statetype = C) + (statetype = A)*2

[state 120, 2]
type = statetypeset
trigger1 = time = 0 && statetype = S
physics = S

[state 120, 3]
type = statetypeset
trigger1 = time = 0 && statetype = C
physics = C

[state 120, 4]
type = statetypeset
trigger1 = time = 0 && statetype = A
physics = A

[state 120, Hi to Lo]
type = statetypeset
trigger1 = statetype = S && command = "holddown"
statetype = C
physics = C

[state 120, Lo to Hi]
type = statetypeset
trigger1 = statetype = C && command != "holddown"
statetype = S
physics = S

[state 120, 5]
type = changestate
trigger1 = animtime = 0
value = 130 + (statetype = C) + (statetype = A)*2

[state 120, Stop guarding]
type = changestate
trigger1 = command != "holdback"
trigger2 = !inguarddist
value = 140

;---------------------------------------------------------------------------
; StAnd gUArd (guarding)
[statedef 130]
type    = S
physics = S

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 130, 1]
type = changeanim
trigger1 = anim != 130
value = 130

[state 130, Hi to Lo]
type = changestate
trigger1 = command = "holddown"
value = 131

[state 130, Stop guarding]
type = changestate
trigger1 = command != "holdback"
trigger2 = !inguarddist
value = 140

;---------------------------------------------------------------------------
; CroUCH gUArd (guarding)
[statedef 131]
type    = C
physics = C

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 131, 1]
type = changeanim
trigger1 = anim != 131
value = 131

[state 131, Lo to Hi]
type = changestate
trigger1 = command != "holddown"
value = 130

[state 131, Stop guarding]
type = changestate
trigger1 = command != "holdback"
trigger2 = !inguarddist
value = 140

;---------------------------------------------------------------------------
; AIr gUArd (guarding)
[statedef 132]
type    = A
physics = n

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 132, 1]
type = changeanim
trigger1 = anim != 132
value = 132

[state 132, 2]
type = veladd
trigger1 = 1
y = Const(movement.yaccel)

[state 132, 3]
type = varset
trigger1 = 1
sysvar(0) = (pos y >= 0) && (vel y > 0)

[state 132, 4]
type = velset
trigger1 = sysvar(0)
y = 0

[state 132, 5]
type = posset
trigger1 = sysvar(0)
y = 0

[state 132, 6]
type = changestate
trigger1 = sysvar(0)
trigger1 = command = "holdback"
trigger1 = inguarddist
value = 130

[state 132, 7]
type = changestate
trigger1 = sysvar(0)
value = 52

[state 132, Stop guarding]
type = changestate
trigger1 = command != "holdback"
trigger2 = !inguarddist
value = 140

;---------------------------------------------------------------------------
; gUArd (end)
[statedef 140]
type = U    ;Leave state type unchanged
physics = U ;Leave physics unchanged
ctrl = 1

[state ]
type = destroyself
trigger1 = root,name != "xamiel"
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name = "xamiel"
value = 0
ctrl = 1
ignorehitpause = 1

;---------------------------------------------------------------------------
; CgUArdhit (shaking)
[statedef 152]
type    = C
movetype= H
physics = n
velset = 0,0

[state ]
type = destroyself
trigger1 = root,name != "xamiel"
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name = "xamiel"
value = 0
ctrl = 1
ignorehitpause = 1

;---------------------------------------------------------------------------
; CgUArdhit2 (knocked back)
[statedef 153]
type    = C
movetype= H
physics = C
anim = 151

[state ]
type = destroyself
trigger1 = root,name != "xamiel"
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name = "xamiel"
value = 0
ctrl = 1
ignorehitpause = 1

;---------------------------------------------------------------------------
; AgUArdhit (shaking)
[statedef 154]
type    = A
movetype= H
physics = n
velset = 0,0

[state ]
type = destroyself
trigger1 = root,name != "xamiel"
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name = "xamiel"
value = 0
ctrl = 1
ignorehitpause = 1

;---------------------------------------------------------------------------
; AgUArdhit2 (knocked away)
[statedef 155]
type    = A
movetype= H
physics = n
anim = 152

[state ]
type = destroyself
trigger1 = root,name != "xamiel"
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name = "xamiel"
value = 0
ctrl = 1
ignorehitpause = 1

;---------------------------------------------------------------------------
; LoSe (time over)
[statedef 170]
type = S
ctrl = 0
anim = 0
velset = 0,0

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 170, 1]
type = nothitby
trigger1 = 1
value = SCA
time = 1

[state ]
type = playsnd
trigger1 = !time
value = 11,ifelse(random%2=0,0,1)
volume = 255
persistent = 0
supermovetime = 9999999999
pausemovetime = 9999999999

;---------------------------------------------------------------------------
; drAwgAme (time over)
[statedef 175]
type = S
anim = 0
ctrl = 0
velset = 0,0

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 175, 1] ; If no anim, use go to lose state.
type = changestate
trigger1 = time = 0
trigger1 = !Selfanimexist(175)
value = 170

[state 175, 3]
type = nothitby
trigger1 = 1
value = SCA
time = 1

[state ]
type = playsnd
trigger1 = !time
value = 11,ifelse(random%2=0,0,1)
volume = 255
freqmul = 1.15
persistent = 0
supermovetime = 9999999999
pausemovetime = 9999999999

;---------------------------------------------------------------------------
; WIN
[statedef 180]
type = S
ctrl = 0
anim = 0
velset = 0,0

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state ]
type = nothitby
trigger1 = 1
value = SCA
time = 1

[state ]
type = playsnd
trigger1 = !time
value = 180,0
volume = 255
freqmul = 1.15
persistent = 0
supermovetime = 9999999999
pausemovetime = 9999999999

;---------------------------------------------------------------------------
; preIntro
[statedef 190]
type = S
ctrl = 0
velset = 0,0

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 190, 1]
type = changeanim
trigger1 = Selfanimexist(190)
value = 190

[state ]
type = helper
trigger1 = !numhelper(1500000)
helpertype = player
name = "konsen"
ID = 1500000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = numhelper(1500000)
trigger1 = numhelper(1510000) < 1
helpertype = player
name = "target"
ID = 1510000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = !numhelper(1520000)
helpertype = player
name = "konsen2"
ID = 1520000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = numhelper(1520000)
trigger1 = numhelper(1530000) < 1
helpertype = player
name = "target2"
ID = 1530000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = !numhelper(1540000)
helpertype = player
name = "konsen3"
ID = 1540000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = numhelper(1540000)
trigger1 = numhelper(1550000) < 1
helpertype = player
name = "target3"
ID = 1550000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = !numhelper(1560000)
helpertype = player
name = "konsen4"
ID = 1560000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = numhelper(1560000)
trigger1 = numhelper(1570000) < 1
helpertype = player
name = "target4"
ID = 1570000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = !numhelper(1580000)
helpertype = player
name = "konsen5"
ID = 1580000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = numhelper(1580000)
trigger1 = numhelper(1590000) < 1
helpertype = player
name = "target5"
ID = 1590000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = !numhelper(1591000)
helpertype = player
name = "konsen6"
ID = 1591000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = numhelper(1591000)
trigger1 = numhelper(1592000) < 1
helpertype = player
name = "target6"
ID = 1592000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = !numhelper(1593000)
helpertype = player
name = "konsen7"
ID = 1593000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = numhelper(1593000)
trigger1 = numhelper(1594000) < 1
helpertype = player
name = "target7"
ID = 1594000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = !numhelper(1595000)
helpertype = player
name = "konsen8"
ID = 1595000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = numhelper(1595000)
trigger1 = numhelper(1596000) < 1
helpertype = player
name = "target8"
ID = 1596000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = numhelper(1510000)
trigger1 = numhelper(1530000)
trigger1 = numhelper(1550000)
trigger1 = numhelper(1570000)
trigger1 = numhelper(1590000)
trigger1 = numhelper(1592000)
trigger1 = numhelper(1594000)
trigger1 = numhelper(1596000)
trigger1 = numhelper+enemy,numhelper<48+numhelper(1500000)+numhelper(1520000)+numhelper(1540000)+numhelper(1560000)+numhelper(1580000)+numhelper(1591000)+numhelper(1593000)+numhelper(1595000)
helpertype = player
persistent = 1
name = "senyu"
ID = 1600000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = varadd
trigger1 = !time
var(5) = 1
absolute = 1
ignorehitpause = 1

[state ]
type = changestate
trigger1 = var(5) >= 56
trigger1 = numhelper+enemy,numhelper = 56
value = 191

[state ]
type = changestate
trigger1 = var(5) < 56
trigger2 = numhelper+enemy,numhelper < 56
value = 190

;---------------------------------------------------------------------------
; Intro (override this state to give character an intro)
[statedef 191]
type = S
ctrl = 0

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state ]
type = varset
trigger1 = !time
var(5) = 0
ignorehitpause = 1

[state ]
type = playsnd
trigger1 = !time
value = 190,0
volume = 255
freqmul = 1.15

[state 191, 1]
type = changestate
trigger1 = !time
value = 0

;---------------------------------------------------------------------------
; hitg_SHAke
[statedef 5000]
type    = S
movetype= H
physics = n
velset = 0,0

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 5000, 1] ;anim for hit_LIgHt to hit_HArd
type = changeanim
trigger1 = time = 0
trigger1 = gethitvar(animtype) != [3,5]
value = ifelse((gethitvar(groundtype) = 1),5000,5010) + gethitvar(animtype)

[state 5000, 2] ;anim for hit_bACk
type = changeanim
trigger1 = time = 0
trigger1 = gethitvar(animtype) = [3,5]
value = 5030

[state 5000, 3] ;anim for hit_Up/hit_dIAgUp (only if it exists)
type = changeanim
trigger1 = time = 0
trigger1 = (gethitvar(animtype) = [4,5]) && (Selfanimexist(5047 + gethitvar(animtype)))
value = 5047 + gethitvar(animtype) ;5051 - 4 + type

[state 5000, 4] ;freeze anim
type = changeanim
trigger1 = time > 0
value = anim

[state 5000, 5] ;state type gets set to aerial if getting hit up
type = statetypeset
trigger1 = time = 0
trigger1 = gethitvar(yvel) != 0 || gethitvar(fall)
trigger2 = pos y != 0
statetype = a

[state 5000, 6]
type = changestate
trigger1 = hitShakeover
trigger1 = gethitvar(yvel) = 0 && !gethitvar(fall)
value = 5001 ;hitg_SLIde

[state 5000, 7]
type = changestate
trigger1 = hitShakeover
value = 5030

[state 5000, ffb Light]
type = forcefeedback
trigger1 = anim = 5000
trigger2 = anim = 5010
persistent = 0
time = 6
waveform = square

[state 5000, ffb medium]
type = forcefeedback
trigger1 = anim = 5001
trigger2 = anim = 5011
persistent = 0
time = 8
waveform = sinesquare
ampl = 110,-1,-.3

[state 5000, ffb Hard]
type = forcefeedback
trigger1 = anim = 5012
trigger2 = anim = 5002
trigger3 = anim = 5030
persistent = 0
time = 15
waveform = sinesquare
ampl = 140

;---------------------------------------------------------------------------
; hitg_SLIde
[statedef 5001]
type    = S
movetype= H
physics = S

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 5001, 1]
type = hitvelset
trigger1 = time = 0
x = 1

[state 5001, 2]
type = changeanim
trigger1 = animtime = 0
value = 5005 + gethitvar(animtype) + (gethitvar(groundtype)=2)*10

[state 5001, 3] ;Stop sliding back
type = velmul
trigger1 = time >= gethitvar(slidetime)
x = .6

[state 5001, 4]
type = velset
trigger1 = hitover
x = 0

[state 5001, 5]
type = defencemulset
trigger1 = hitover
value = 1

[state 5001, 6]
type = changestate
trigger1 = hitover
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; hitC_SHAke
[statedef 5010]
type    = C
movetype= H
physics = n
velset = 0,0

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 5010, 1] ;anim for hit_LIgHt to hit_HArd
type = changeanim
trigger1 = time = 0
trigger1 = gethitvar(animtype) != [3,5]
value = 5020 + gethitvar(animtype)

[state 5010, 2] ;anim for hit_bACk
type = changeanim
trigger1 = time = 0
trigger1 = gethitvar(animtype) = [3,5]
value = 5030

[state 5010, 3] ;anim for hit_Up/hit_dIAgUp (only if it exists)
type = changeanim
trigger1 = time = 0
trigger1 = (gethitvar(animtype) = [4,5]) && (Selfanimexist(5047 + gethitvar(animtype)))
value = 5047 + gethitvar(animtype) ;5051 - 4 + type

[state 5010, 4] ;freeze anim
type = changeanim
trigger1 = time > 0
value = anim

[state 5010, 5] ;state type gets set to aerial if getting hit up
type = statetypeset
triggerall = time = 0
trigger1 = gethitvar(yvel) != 0 || gethitvar(fall)
trigger2 = pos y != 0
statetype = a

[state 5010, 6]
type = changestate
trigger1 = hitShakeover
trigger1 = gethitvar(yvel) = 0 && !gethitvar(fall)
value = 5011 ;hitC_SLIde

[state 5010, 7]
type = changestate
trigger1 = hitShakeover
value = 5030

[state 5010, ffb Light]
type = forcefeedback
trigger1 = anim = 5020
persistent = 0
time = 6
waveform = square

[state 5010, ffb medium]
type = forcefeedback
trigger1 = anim = 5021
persistent = 0
time = 8
waveform = sinesquare
ampl = 110,-1,-.3

[state 5010, ffb Hard]
type = forcefeedback
trigger1 = anim = 5022
persistent = 0
time = 15
waveform = sinesquare
ampl = 140

;---------------------------------------------------------------------------
; hitC_SLIde
[statedef 5011]
type    = C
movetype= H
physics = C

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 5011, 1]
type = hitvelset
trigger1 = time = 0
x = 1

[state 5011, 2]
type = changeanim
trigger1 = animtime = 0
value = 5025 + gethitvar(animtype)

[state 5011, 3] ;Stop sliding back
type = velmul
trigger1 = time >= gethitvar(slidetime)
x = .6

[state 5011, 4]
type = velset
trigger1 = hitover
x = 0

[state 5011, 5]
type = defencemulset
trigger1 = hitover
value = 1

[state 5011, 6]
type = changestate
trigger1 = hitover
value = 11
ctrl = 1


;---------------------------------------------------------------------------
; hitA_SHAke
[statedef 5020]
type    = A
movetype= H
physics = n
velset = 0,0

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 5020, 1] ;anim for hit_LIgHt to hit_HArd
type = changeanim
trigger1 = time = 0
trigger1 = gethitvar(animtype) != [3,5]
value = ifelse((gethitvar(airtype) = 1),5000,5010) + gethitvar(animtype)

[state 5020, 2] ;anim for hit_bACk
type = changeanim
trigger1 = time = 0
trigger1 = gethitvar(animtype) = [3,5]
value = 5030

[state 5020, 3] ;anim for hit_Up/hit_dIAgUp (only if it exists)
type = changeanim
trigger1 = time = 0
trigger1 = (gethitvar(animtype) = [4,5]) && (Selfanimexist(5047 + gethitvar(animtype)))
value = 5047 + gethitvar(animtype) ;5051 - 4 + type

[state 5020, 4] ;freeze anim
type = changeanim
trigger1 = time > 0
value = anim

[state 5020, 5]
type = changestate
trigger1 = hitShakeover
value = 5030

[state 5020, ffb Light]
type = forcefeedback
trigger1 = anim = 5000
trigger2 = anim = 5010
persistent = 0
time = 6
waveform = square

[state 5020, ffb medium]
type = forcefeedback
trigger1 = anim = 5001
trigger2 = anim = 5011
persistent = 0
time = 8
waveform = sinesquare
ampl = 110,-1,-.3

[state 5020, ffb Hard]
type = forcefeedback
trigger1 = anim = 5012
trigger2 = anim = 5002
trigger3 = anim = 5030
trigger4 = anim = [5051,5059]
persistent = 0
time = 15
waveform = sinesquare
ampl = 140

;---------------------------------------------------------------------------
; hitA_Up (initial going up)
[statedef 5030]
type    = A
movetype= H
physics = n
ctrl = 0

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 5030, 1]
type = veladd;gravity
trigger1 = 1
y = gethitvar(yaccel)

[state 5030, 2]
type = hitvelset
trigger1 = time = 0
x = 1
y = 1

[state 5030, 3]
type = changestate
triggerall = !hitfall
trigger1 = hitover
trigger2 = vel y > 0    ;hit ground
trigger2 = pos y >= 10  ;.
value = 5040 ;hitA_reCov

[state 5030, 4]
type = changestate
triggerall = hitfall
trigger1 = hitover
trigger2 = vel y > 0    ;hit ground
trigger2 = pos y >= 10  ;.
value = 5050 ;hitA_fALL

[state 5030, 5]
type = changestate
trigger1 = animtime = 0
value = 5035 ;hitA_Up (transition)

;---------------------------------------------------------------------------
; hitA_Up_t (transition)
[statedef 5035]
type    = A
movetype= H
physics = n

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 5035, 1]
type = changeanim
trigger1 = time = 0
trigger1 = Selfanimexist(5035)
trigger1 = anim != [5051,5059] ;not if in hit up anim
trigger1 = anim != 5090 ;not if hit off ground anim
value = 5035

[state 5035, 2]
type = veladd
trigger1 = 1
y = gethitvar(yaccel)

[state 5035, 3]
type = changestate
triggerall = !hitfall
trigger1 = hitover  ;hit is over
trigger2 = animtime = 0 ;animation over
trigger3 = vel y > 0    ;hit ground
trigger3 = pos y >= 10  ;.
trigger4 = time = 0     ;no transition anim
trigger4 = anim != 5035 ;.
value = 5040 ;hitA_reCov

[state 5035, 4]
type = changestate
triggerall = hitfall
trigger1 = hitover  ;hit is over
trigger2 = animtime = 0 ;anim is over
trigger3 = vel y > 0    ;hit ground
trigger3 = pos y >= 10  ;.
trigger4 = time = 0     ;no transition anim
trigger4 = anim != 5035 ;.
value = 5050 ;hitA_fALL

;---------------------------------------------------------------------------
; hitA_reCov (recovering in air, not falling)
[statedef 5040]
type    = A
movetype= H
physics = n

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 5040, 1]
type = changestate
trigger1 = !Alive
value = 5050

[state 5040, 2]
type = changeanim
trigger1 = animtime = 0
trigger1 = anim != 5040
trigger2 = time = 0
trigger2 = anim != 5035
value = 5040

[state 5040, 3]
type = Ctrlset
trigger1 = hitover
value = 1

[state 5040, 4]
type = statetypeset
trigger1 = hitover
movetype = I

[state 5040, 5]
type = veladd
trigger1 = 1
y = gethitvar(yaccel)

[state 5040, 6]
type = changestate
trigger1 = vel y > 0
trigger1 = pos y >= 0
value = 52 ;jUmpLAnd

;---------------------------------------------------------------------------
; hitA_fALL (knocked up, falling)
[statedef 5050]
type    = A
movetype= H
physics = n

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 5050, 1] ;change anim when done with transition
type = changeanim
trigger1 = animtime = 0
trigger1 = anim = 5035
trigger2 = time = 0     ;If no transition anim
trigger2 = anim != 5035
trigger2 = (anim != [5051, 5059]) && (anim != [5061, 5069])
trigger2 = anim != 5090 ;not if hit off ground anim
value = 5050

[state 5050, 2] ;Coming down anim
type = changeanim
trigger1 = anim = [5050,5059]
trigger1 = vel y >= ifelse(anim = 5050, 1, -2)
trigger1 = Selfanimexist(anim+10)
value = anim+10
persistent = 0

[state 5050, 3] ;gravity
type = veladd
trigger1 = 1
y = gethitvar(yaccel)

[state 5050, 4] ;recover near ground
type = changestate
triggerall = vel y > 0
triggerall = pos y >= -20
triggerall = alive
triggerall = Canrecover
trigger1 = Command = "recovery"
value = 5200 ;hitfALL_reCover

[state 5050, 5]; recover in mid air
type = changestate
triggerall = vel y > -1
triggerall = alive
triggerall = Canrecover
trigger1 = Command = "recovery"
value = 5210 ;hitfALL_AIrreCover

[state 5050, 6]
type = changestate
trigger1 = vel y > 0
trigger1 = pos y >= ifelse((anim = [5051,5059]) || (anim = [5061,5069]), 0, 25)
value = 5100 ;hit_boUnCe

;---------------------------------------------------------------------------
; hit_trIp (shaking)
[statedef 5070]
type    = A
movetype= H
physics = n
velset = 0,0

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 5070, 1]
type = changeanim 
trigger1 = 1
value = 5070

[state 5070, 2]
type = changestate
trigger1 = hitShakeover
value = 5071

[state 5070, 3]
type = forcefeedback
trigger1 = time = 0
time = 12
waveform = sinesquare
ampl = 140

;---------------------------------------------------------------------------
; hit_trIp2 (fall through air)
[statedef 5071]
type    = A
movetype= H
physics = n

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 5071, 1]
type = hitvelset
trigger1 = time = 0
x = 1
y = 1

[state 5071, 2] ;Acceleration
type = veladd
trigger1 = 1
y = gethitvar(yaccel)

[state 5071, 3] ;hit ground
trigger1 = vel y > 0
trigger1 = pos y >= 15
type = changestate
value = 5110

;---------------------------------------------------------------------------
; hitL_SHAke
[statedef 5080]
type    = L
movetype= H
physics = n
velset = 0,0

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 5080, 1] ;set default anim
type = varset
trigger1 = time = 0
sysvar(2) = ifelse (gethitvar(yvel) = 0, 5080, 5090)

[state 5080, 2]
type = varadd
trigger1 = time = 0
trigger1 = (anim = [5081,5089]) || (anim = [5111,5119])
trigger1 = Selfanimexist(sysvar(2) + (anim % 10))
sysvar(2) = anim % 10

[state 5080, 3] ;If 5090 doesn't exist, default to 5030
type = varset
trigger1 = time = 0
trigger1 = sysvar(2) = 5090
trigger1 = !Selfanimexist(5090)
sysvar(2) = 5030

[state 5080, 3] ;freeze
type = changeanim
trigger1 = 1
value = sysvar(2)

[state 5080, 4]
type = changestate
trigger1 = hitShakeover
trigger1 = gethitvar(yvel) = 0
value = 5081 ;hitL_SLIde

[state 5080, 5]
type = changestate
trigger1 = hitShakeover
trigger1 = gethitvar(yvel) != 0
value = 5030 ;hitA_Up

;---------------------------------------------------------------------------
; hitL_SLIde
[statedef 5081]
type    = L
movetype= H
physics = C

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 5081, 1]
type = hitvelset
trigger1 = time = 0
x = 1

[state 5081, 2]
type = velset
trigger1 = hitover
x = 0

[state 5081, 3] ;don't show hit ground frame
type = varset
trigger1 = time = 0
sysvar(0) = 1

[state 5081, 4]
type = changestate
trigger1 = hitover
value = 5110 ;hit_LIedown

;---------------------------------------------------------------------------
; hit_boUnCe (hit ground)
[statedef 5100]
type    = L
movetype= H
physics = n
[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 5100, 1]
type = velset
trigger1 = time = 0
trigger1 = gethitvar(fall.yvel) = 0
trigger1 = vel x > 1
x = 1

[state 5100, envShake]
type = fallenvShake
trigger1 = time = 0

[state 5100, var] ;Save fall velocity
type = varset
trigger1 = time = 0
sysvar(1) = floor(vel y)

[state 5100, 2] ;hit ground anim (normal)
type = changeanim
triggerall = time = 0
trigger1 = (anim != [5051,5059]) && (anim != [5061,5069])
trigger2 = !Selfanimexist(5100 + (anim % 10))
value = 5100

[state 5100, 3] ;hit ground anim (for hit up)
type = changeanim
trigger1 = time = 0
trigger1 = (anim = [5051,5059]) || (anim = [5061,5069])
trigger1 = Selfanimexist(5100 + (anim % 10))
value = 5100 + (anim % 10)

[state 5100, 4]
type = posset
trigger1 = time = 0
y = 0

[state 5100, 5]
type = velset
trigger1 = time = 0
y = 0

[state 5100, 6] ;reduce speed
type = velmul
trigger1 = time = 0
x = 0.75

[state 5100, 7]
type = changestate
trigger1 = time = 0
trigger1 = gethitvar(fall.yvel) = 0
value = 5110 ;hit_LIedown

[state 5100, 8]
type = gamemakeanim
trigger1 = time = 1
value = 60 + (sysvar(1) > 5) + (sysvar(1) > 14)
pos = 0, 0
under = sysvar(1) <= 14

[state 5100, 10]
type = playSnd
trigger1 = time = 1
value = f7, (sysvar(1) > 5) + (sysvar(1) > 14)

[state 5100, 11]
type = posfreeze
trigger1 = 1

[state 5100, 12]
type = changestate
trigger1 = animtime = 0
value = 5101

[state 5100, 13]
type = forcefeedback
trigger1 = time = 0
waveform = sinesquare
ampl = 128,-3,-.2,.005
time = 20

;---------------------------------------------------------------------------
; hit_boUnCe (bounce into air)
[statedef 5101]
type    = L
movetype= H
physics = n

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 5101, 1] ;Coming hit ground anim (normal)
type = changeanim
triggerall = time = 0
trigger1 = anim != [5101,5109]
trigger2 = !Selfanimexist(5160 + (anim % 10))
value = 5160

[state 5101, 2] ;Coming hit ground anim (for hit up)
type = changeanim
triggerall = time = 0
trigger1 = anim = [5101,5109]
trigger1 = Selfanimexist(5160 + (anim % 10))
value = 5160 + (anim % 10)

[state 5101, 3]
type = hitfallvel
trigger1 = time = 0

[state 5101, 4]
type = posset
trigger1 = time = 0
y = 20

[state 5101, 5] ;Acceleration
type = veladd
trigger1 = 1
y = .4

[state 5101, 6] ;hit ground
trigger1 = vel y > 0
trigger1 = pos y >= 12
type = changestate
value = 5110

;---------------------------------------------------------------------------
; hit_LIedown
[statedef 5110]
type    = L
movetype= H
physics = n

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 5110, envShake]
type = fallenvShake
trigger1 = time = 0

[state 5110, 1] ;for hit up/up-diag type (from state 5081)
type = changeanim
persistent = 0
trigger1 = Selfanimexist(5110 + (anim % 10))
trigger1 = anim = [5081,5089]
value = 5110 + (anim % 10)

[state 5110, 2] ;hit ground anim (normal)
type = changeanim
triggerall = time = 0
triggerall = anim != [5110,5119] ;not already changed anim
trigger1 = anim != [5161,5169]
trigger2 = !Selfanimexist(5170 + (anim % 10))
value = 5170

[state 5110, 3] ;hit ground anim (for hit up)
type = changeanim
triggerall = time = 0
triggerall = anim != [5110,5119] ;not already changed anim
trigger1 = anim = [5161,5169]
trigger1 = Selfanimexist(5170 + (anim % 10))
value = 5170 + (anim % 10)

[state ]
type = hitfalldamage
trigger1 = !ishelper
trigger1 = !time
ignorehitpause = 1

[state 5110, 5]
type = posset
trigger1 = time = 0
y = 0

[state 5110, var] ;get fall velocity
type = varset
trigger1 = time = 0
trigger1 = gethitvar(fall.yvel) != 0
sysvar(1) = floor(vel y)

[state 5110, 6]
type = playSnd
trigger1 = time = 0
trigger1 = !Sysvar(0)
value = f7, (sysvar(1) > 5) + (sysvar(1) > 14)

[state 5110, 7]
type = gamemakeanim
trigger1 = time = 0
trigger1 = !Sysvar(0)
value = 60 + (sysvar(1) > 5) + (sysvar(1) > 14)
pos = 0, 0
under = sysvar(1) <= 14

[state 5110, 8]
type = velset
trigger1 = time = 0
y = 0

[state 5110, 9] ;for hit up type
type = changeanim
persistent = 0
triggerall = anim = [5171,5179]
triggerall = Selfanimexist(5110 + (anim % 10))
trigger1 = animtime = 0
trigger2 = Sysvar(0) ;Sysvar(0) = 1 avoids hit ground anim
value = 5110 + (anim % 10)

[state 5110, 10] ;for normal
type = changeanim
persistent = 0
triggerall = anim != [5111,5119]
trigger1 = animtime = 0
trigger2 = Sysvar(0) ;Sysvar(0) = 1 avoids hit ground frame
value = 5110

[state 5110, 11] ;If just died
type = changestate
triggerall = !alive
trigger1 = animtime = 0
trigger2 = Sysvar(0) ;Sysvar(0) = 1 avoids hit ground frame
trigger3 = anim = [5110,5119]
value = 5150

[state 5110, 12]
type = varset
trigger1 = Sysvar(0)
trigger1 = time = 0
sysvar(0) = 0

[state 5110, 13] ;friction
type = velmul
trigger1 = 1
x = 0.85

[state 5110, 14]
type = forcefeedback
trigger1 = alive
trigger1 = time = 0
time = 8
ampl = 240
waveform = sine

[state 5110, 15]
type = forcefeedback
trigger1 = !alive
trigger1 = time = 0
ampl = 200, 7, -.467
time = 30
waveform = sine

;---------------------------------------------------------------------------
; hit_getUp
[statedef 5120]
type    = L
movetype= I
physics = n

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 5120, 1a] ;get up anim (normal)
type = changeanim
triggerall = time = 0
trigger1 = anim != [5111,5119]
trigger2 = !Selfanimexist(5120 + (anim % 10))
value = 5120

[state 5120, 1b] ;get up anim (for hit up/diag-up)
type = changeanim
triggerall = time = 0
trigger1 = anim = [5111,5119]
trigger1 = Selfanimexist(5120 + (anim % 10))
value = 5120 + (anim % 10)

[state 5120, 2]
type = velset
trigger1 = time = 0
x = 0

[state 5120, 3]
type = nothitby
trigger1 = 1
value = SCA
time = 1

[state 5120, 4]
type = hitfallset
trigger1 = animtime = 0
value = 1

[state 5120, 5] ;Can't be thrown right after getting up
type = nothitby
trigger1 = animtime = 0
value = , nt,St,Ht
time = 12

[state 5120, 6] ;Can't be hit right after getting up (short time)
type = nothitby
trigger1 = animtime = 0
value2 = SCA
time = 3

[state 5120, 7]
type = changestate
trigger1 = animtime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; hit_LIedeAd
[statedef 5150]
type = S
movetype = H
physics = N
sprpriority = -3

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changeanim
trigger1 = !ishelper
trigger1 = name = "xamiel"
trigger1 = !time
value = 5150
ignorehitpause = 1
supermovetime = 9999999999
pausemovetime = 9999999999

[state ]
type = velset
trigger1 = !ishelper
trigger1 = name = "xamiel"
x = 0
y = 0
ignorehitpause = 1

[state ]
type = playsnd
trigger1 = !ishelper
trigger1 = !alive
trigger1 = !time
value = 11,ifelse(random%2=0,0,1)
volume = 255
persistent = 0
freqmul = 1.15
supermovetime = 9999999999
pausemovetime = 9999999999

[state ]
type = nothitby
trigger1 = 1
value = SCA
time = 1
ignorehitpause = 1

[state ]
type = changeanim
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5030
ignorehitpause = 1
supermovetime = 9999999999
pausemovetime = 9999999999

[state ]
type = lifeset
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 0
ignorehitpause = 1

[state ]
type = powerset
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 0
ignorehitpause = 1

;---------------------------------------------------------------------------
; hit_fALLreCover (still falling)
[statedef 5200]
type    = A
movetype= H
physics = n

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 5200, 1] ;change anim if done with transition
type = changeanim
trigger1 = anim = 5035
trigger1 = animtime = 0
value = 5050

[state 5200, 2]
type = veladd
trigger1 = 1
y = gethitvar(yaccel)

[state 5200, 3]
type = Selfstate
trigger1 = vel y > 0
trigger1 = pos y >= 10
value = 5201

;---------------------------------------------------------------------------
; hit_fALLreCover (on the ground)
[statedef 5201]
type    = A
movetype= H
physics = A
anim = 5200

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 5201, 1] ;turn if not facing opponent
type = turn
trigger1 = time = 0
trigger1 = p2dist x < -5

[state 5201, 2]
type = velset
trigger1 = time = 0
x = -.15
y = -3.5

[state 5201, 3]
type = posset
trigger1 = time = 0
y = 0

[state 5201, 4]
type = nothitby
trigger1 = 1
value = SCA
time = 1

[state 5201, 5] ;blink white
type = palfx
trigger1 = time = 0
time = 3
add = 128,128,128 ;256,256,256

[state 5201, 6]
type = gamemakeanim
trigger1 = time = 1
value = 60
pos = 0, 0
under = 1

;---------------------------------------------------------------------------
; hit_AIrfALLreCover
[statedef 5210]
type    = A
movetype= I
physics = n
anim = 5210
ctrl = 0

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 5210, 1] ;blink white
type = palfx
trigger1 = time = 0
time = 3
add = 128,128,128 ;256,256,256

[state 5210, 1]
type = posfreeze
trigger1 = time = 0
value = 4

[state 5210, 2] ;turn if not facing opponent
type = turn
trigger1 = time = 0
trigger1 = p2dist x < -20

[state 5210, 1] 
type = velmul
trigger1 = time = 4
x = .8
y = .8

[state 5210, 1]
type = veladd
trigger1 = time = 4
y = -4.5

[state 5210, 1] 
type = velmul
trigger1 = time = 4
trigger1 = vel y > 0
y = .5

[state 5210, 1]
type = veladd
trigger1 = time = 4
trigger1 = vel y > -3
y = -2

[state 5210, 1]
type = veladd
trigger1 = time = 4
trigger1 = vel y > -2
y = -1

[state 5210, 2] ;go up
type = veladd
trigger1 = time = 4
trigger1 = Command = "holdup"
y = -2

[state 5210, 2] ;go down
type = veladd
trigger1 = time = 4
trigger1 = Command = "holddown"
y = 1.5

[state 5210, 2] ;go fwd
type = velmul
trigger1 = time = 4
trigger1 = Command = "holdfwd"
x = 1

[state 5210, 2] ;go back
type = veladd
trigger1 = time = 4
trigger1 = Command = "holdback"
x = -1

[state 5210, 3]
type = nothitby
trigger1 = time = 0
value = SCA
time = 15

[state 5210, 4]
type = Ctrlset
trigger1 = time = 20
value = 1

[state 5210, 5]
type = veladd;gravity
trigger1 = time >= 4
y = .35

[state 5210, 5] ;Land on ground
type = changestate
trigger1 = vel y > 0
trigger1 = pos y >= 0
value = 52 ;jUmp_LAnd
ctrl = 1

;---------------------------------------------------------------------------
; Continue?
[statedef 5500]
type = S
ctrl = 0
anim = 5300
velset = 0,0

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state 5500, 1] ;Use continue animation if available
type = changeanim
trigger1 = time = 0
trigger1 = Selfanimexist(5500)
value = 5500

;---------------------------------------------------------------------------
; Initialize (at the start of the round)
[statedef 5900]
type = S

[state ]
type = destroyself
trigger1 = ishelper
ignorehitpause = 1

[state ]
type = changestate
trigger1 = !ishelper
trigger1 = name != "xamiel"
value = 5150
ctrl = 0
ignorehitpause = 1

[state ]
type = changestate
trigger1 = roundno = 1
value = 190

[state ]
type = playsnd
trigger1 = !time
trigger1 = var(5) = 1
value = 5900,0
volume = 255
freqmul = 1.15

[state ]
type = helper
trigger1 = !numhelper(1500000)
helpertype = player
name = "konsen"
ID = 1500000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = numhelper(1500000)
trigger1 = numhelper(1510000) < 1
helpertype = player
name = "target"
ID = 1510000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = !numhelper(1520000)
helpertype = player
name = "konsen2"
ID = 1520000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = numhelper(1520000)
trigger1 = numhelper(1530000) < 1
helpertype = player
name = "target2"
ID = 1530000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = !numhelper(1540000)
helpertype = player
name = "konsen3"
ID = 1540000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = numhelper(1540000)
trigger1 = numhelper(1550000) < 1
helpertype = player
name = "target3"
ID = 1550000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = !numhelper(1560000)
helpertype = player
name = "konsen4"
ID = 1560000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = numhelper(1560000)
trigger1 = numhelper(1570000) < 1
helpertype = player
name = "target4"
ID = 1570000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = !numhelper(1580000)
helpertype = player
name = "konsen5"
ID = 1580000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = numhelper(1580000)
trigger1 = numhelper(1590000) < 1
helpertype = player
name = "target5"
ID = 1590000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = !numhelper(1591000)
helpertype = player
name = "konsen6"
ID = 1591000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = numhelper(1591000)
trigger1 = numhelper(1592000) < 1
helpertype = player
name = "target6"
ID = 1592000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = !numhelper(1593000)
helpertype = player
name = "konsen7"
ID = 1593000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = numhelper(1593000)
trigger1 = numhelper(1594000) < 1
helpertype = player
name = "target7"
ID = 1594000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = !numhelper(1595000)
helpertype = player
name = "konsen8"
ID = 1595000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = numhelper(1595000)
trigger1 = numhelper(1596000) < 1
helpertype = player
name = "target8"
ID = 1596000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = helper
trigger1 = numhelper(1510000)
trigger1 = numhelper(1530000)
trigger1 = numhelper(1550000)
trigger1 = numhelper(1570000)
trigger1 = numhelper(1590000)
trigger1 = numhelper(1592000)
trigger1 = numhelper(1594000)
trigger1 = numhelper(1596000)
trigger1 = numhelper+enemy,numhelper<48+numhelper(1500000)+numhelper(1520000)+numhelper(1540000)+numhelper(1560000)+numhelper(1580000)+numhelper(1591000)+numhelper(1593000)+numhelper(1595000)
helpertype = player
persistent = 1
name = "senyu"
ID = 1600000
stateno = 150
pos = 0,0
postype = p1
keyctrl = 0
ownpal = 1
facing = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = varadd
trigger1 = !time
var(5) = 1
absolute = 1
ignorehitpause = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = changestate
trigger1 = var(5) >= 56
trigger1 = numhelper+enemy,numhelper = 56
value = 0
ignorehitpause = 1
supermovetime = 9999999
pausemovetime = 9999999

[state ]
type = changestate
trigger1 = var(5) < 56
trigger2 = numhelper+enemy,numhelper < 56
value = 5900
ignorehitpause = 1
supermovetime = 9999999
pausemovetime = 9999999

