;---------------------------------------------------------------------------
[StateDef 14]
type = C
physics = C
moveType = I
velSet = 0,0
sprPriority = 0

[State 10, ChangeAnim]
type = ChangeAnim
trigger1 = !Time && Anim = 12
value = 10
elem = 3 - AnimElemNo(0)

[State 10, ChangeAnim]
type = ChangeAnim
trigger1 = Anim != 10
value = 10

[State 10, End]
type = ChangeState
trigger1 = !AnimTime
value = 15


[StateDef 15]
type = C
physics = C
moveType = I
anim = 11
velSet = 0,0
sprPriority = 0

[State 11, ChangeAnim]
type = ChangeAnim
trigger1 = Anim = 6 && !AnimTime
value = 11

;---------------------------------------------------------------------------
[Statedef 21]
type = S
physics = N
sprpriority = 0
ctrl = 0
facep2 = 1

[State 21, Pos Fix]
type = PosSet
trigger1 = !time
y = 0
persistent = 0

[State 21, Var(45) Clear]
type = VarSet
trigger1 = !time
var(45) = -1
persistent = 0

[State 21, Get Random Walk]
type = VarSet
trigger1 = !time
trigger1 = Random < 400
var(45) = 1

[State 21, Vel]
type = VarSet
triggerall = !time
trigger1 = enemynear,backedgebodydist <= 30 && !(enemynear, prevstateno = [5100, 5120])
trigger2 = (enemynear, stateno = [5100, 5120]) && p2bodydist x >= 75
trigger3 = numenemy && p2dist x >= 0
trigger4 = backedgebodydist <= 30
trigger5 = numenemy && (p2dist x = [0,160])
var(45) = 0

[State 21, Vel]
type = VarSet
triggerall = !time
trigger1 = backedgebodydist >= 60 && ((enemynear, stateno = [5100, 5120]) || (enemynear, prevstateno = [5100, 5120]))
trigger2 = numenemy && p2dist x >= 0 && enemynear, vel x >= 3
trigger3 = frontedgebodydist <= 30
trigger4 = prevstateno = 105 || prevstateno = 715
var(45) = -1

[State 21, Force Walk Forward]
type = VarSet
triggerall = var(45) != 0 && time
trigger1 = backedgebodydist <= 30
var(45) = 0

[State 21, Force Walk Backward]
type = VarSet
triggerall = var(45) != -1 && time
trigger1 = p2bodydist x <= 40
trigger1 = (enemynear, stateno = [5100, 5120]) || (enemynear, prevstateno = [5100, 5120])
trigger2 = frontedgebodydist <= 30
var(45) = -1

[State 21, Walk Forward]
type = VelSet
trigger1 = !time && var(45) = 0
trigger2 = anim = 21 && var(45) = 0
x = const(velocity.walk.fwd.x)

[State 21, Walk Backward]
type = VelSet
trigger1 = !time && var(45) = -1
trigger2 = anim = 20 && var(45) = -1
x = const(velocity.walk.back.x)

[State 21, Anim]
type = ChangeAnim
triggerall = vel x > 0
trigger1 = Anim != 20 && Anim != 5
trigger2 = Anim = 5 && AnimElemTime(1) >= 1
value = 20

[State 21, Anim]
type = ChangeAnim
triggerall = vel x < 0
trigger1 = Anim != 21 && Anim != 5
trigger2 = Anim = 5 && AnimElemTime(1) >= 1
value = 21

[State 21, Change To Stand]
type = ChangeState
trigger1 = p2dist x <= 0
trigger2 = inguarddist
trigger3 = time && vel x >= 0 && frontedgebodydist <= 30 && anim = 20
trigger4 = time && vel x <= 0 && backedgebodydist <= 30 && anim = 21
trigger5 = roundstate != 2
value = 0
ctrl = 1
IgnoreHitPause = 1

;---------------------------------------------------------------------------
[StateDef 41]
type = S
physics = S
moveType = I
anim = 40
ctrl = 0
velSet = 0,0
sprPriority = 1
faceP2 = 1

[State 41, Direction]
type = varset
trigger1 = AIlevel
sysvar(1) = 1

[State 41, High Jump]
type = varset
trigger1 = !time && AIlevel
var(3) = 3
[State 41, High Jump]
type = varset
trigger1 = !time && prevstateno = 100
var(3) = 3

[State 41, Snd]
type = playsnd
trigger1 = !animtime
value = ifelse((var(3) = [2, 3]), 41, 40), 0
[State 41, Dust]
type = helper
trigger1 = !animtime
helpertype = normal
stateno = 8100
ID = 8100
name = "Jump Dust"
postype = p1
ownpal = 1

[State 41, Vel Normal]
type = velset
trigger1 = !animtime
x = ifelse(!sysvar(1), const(velocity.jump.neu.x), ifelse(sysvar(1) = 1, const(velocity.jump.fwd.x), const(velocity.jump.back.x)))
y = const(velocity.jump.y)
[State 41, Vel Short]
type = velset
trigger1 = !animtime && var(3) = 1
x = ifelse(!sysvar(1), const(velocity.jump.neu.x), ifelse(sysvar(1) = 1, const(velocity.jump.fwd.x), const(velocity.jump.back.x)))
y = 0.76 * const(velocity.jump.y)
[State 41, Vel Medium]
type = velset
trigger1 = !animtime && var(3) = 2
x = ifelse(!sysvar(1), const(velocity.jump.neu.x), ifelse(sysvar(1) = 1, const(velocity.runjump.fwd.x), const(velocity.runjump.back.x)))
y = 0.76 * const(velocity.jump.y)
[State 41, Vel Long]
type = velset
trigger1 = !animtime && var(3) = 3
x = ifelse(!sysvar(1), const(velocity.jump.neu.x), ifelse(sysvar(1) = 1, const(velocity.runjump.fwd.x), const(velocity.runjump.back.x)))
y = ifelse(!sysvar(1), const(velocity.runjump.y), const(velocity.jump.y))


[State 41, End]
type = ChangeState
trigger1 = !AnimTime
value = 50
ctrl = 1

[State 41, Change To Stand]
type = ChangeState
triggerall = AILevel
trigger1 = (enemynear, stateno = [5100, 5120]) && p2dist x <= 0
trigger2 = enemynear, hitfall && p2dist x >= 0 && !(enemynear, statetype = L)
value = 0
ctrl = 1
IgnoreHitPause = 1

;---------------------------------------------------------------------------
[StateDef 42]
type = S
physics = S
moveType = I
anim = 40
ctrl = 0
velSet = 0,0
sprPriority = 1
faceP2 = 1

[State 42, Direction]
type = varset
trigger1 = AIlevel
sysvar(1) = 1

[State 42, Low Jump]
type = varset
trigger1 = AIlevel && (var(3) != [1, 2])
var(3) = ifelse(p2dist x > 180, 2, 1)

[State 42, Snd]
type = playsnd
trigger1 = !animtime
value = ifelse((var(3) = [2, 3]), 41, 40), 0
[State 42, Dust]
type = helper
trigger1 = !animtime
helpertype = normal
stateno = 8100
ID = 8100
name = "Jump Dust"
postype = p1
ownpal = 1

[State 42, Vel Normal]
type = velset
trigger1 = !animtime
x = ifelse(!sysvar(1), const(velocity.jump.neu.x), ifelse(sysvar(1) = 1, const(velocity.jump.fwd.x), const(velocity.jump.back.x)))
y = const(velocity.jump.y)
[State 42, Vel Short]
type = velset
trigger1 = !animtime && var(3) = 1
x = ifelse(!sysvar(1), const(velocity.jump.neu.x), ifelse(sysvar(1) = 1, const(velocity.jump.fwd.x), const(velocity.jump.back.x)))
y = 0.76 * const(velocity.jump.y)
[State 42, Vel Medium]
type = velset
trigger1 = !animtime && var(3) = 2
x = ifelse(!sysvar(1), const(velocity.jump.neu.x), ifelse(sysvar(1) = 1, const(velocity.runjump.fwd.x), const(velocity.runjump.back.x)))
y = 0.76 * const(velocity.jump.y)
[State 42, Vel Long]
type = velset
trigger1 = !animtime && var(3) = 3
x = ifelse(!sysvar(1), const(velocity.jump.neu.x), ifelse(sysvar(1) = 1, const(velocity.runjump.fwd.x), const(velocity.runjump.back.x)))
y = ifelse(!sysvar(1), const(velocity.runjump.y), const(velocity.jump.y))


[State 42, End]
type = ChangeState
trigger1 = !AnimTime
value = 50
ctrl = 1

[State 42, Change To Stand]
type = ChangeState
triggerall = AILevel
trigger1 = (enemynear, stateno = [5100, 5120]) && p2dist x <= 0
trigger2 = enemynear, hitfall && p2dist x >= 0 && !(enemynear, statetype = L)
value = 0
ctrl = 1
IgnoreHitPause = 1

;---------------------------------------------------------------------------
[Statedef 1430]
type = S
movetype = A
physics = S
anim = 1430
ctrl = 0
velset = 0,0
poweradd = 70 * !var(20)
sprpriority = 2
facep2 = 1

[State 1200, Voice]
type = PlaySnd
trigger1 = Time = 0
value = 0,18
channel = 0

[State 1200, Swing Snd]
type = PlaySnd
trigger1 = AnimElem = 8
value = 1, 3
channel = 1

[State 1200, Auto Guard]
type = ReversalDef
trigger1 = AnimElem = 2 || AnimElem = 3 || AnimElem = 4 
reversal.attr = SCA, NA, SA, AP
pauseTime = 10,12
sparkNo = -1 + 0 * (var(33) := 8001)
sparkXY = -10 + 0 * (var(35) := 40), (var(36) := -71)
hitSound = S130,0
numHits = 0
p1stateno = 1440

[State 1200, Hit]
type = HitDef
trigger1 = !var(16) && var(15) < 1
trigger1 = AnimElem = 9
attr = S, SA
damage = ceil(ifElse(fvar(11) * 85 < 7, 7, fvar(11) * 85)), 8
priority = 4, hit
animtype = Hard
getpower = 70 * !var(20), 30 * !var(20)
givepower = 35, 35
guardflag = M
hitflag = MAF
hitsound = S2,2
guardsound = S130,0
pausetime = 20,20
guard.pausetime = 12,12
sparkNo = -1 + 0 * (var(33) := 8013)
guard.sparkNo = -1 + 0 * (var(34) := 8001)
sparkXY = -10 + 0 * (var(35) := 60), var(36) := -65
air.animtype = DiagUp
fall.animtype = Diagup
ground.type = Low
air.type = Low
ground.slidetime = 18
ground.hittime  = 18
guard.hittime = 18
ground.velocity = -6, -9
air.velocity = -6,-8
guard.velocity = -10
;airguard.velocity = -5, -3.5
;airguard.ctrlTime = 16
ground.cornerPush.velOff = 0
guard.cornerPush.velOff = 0
air.cornerPush.velOff = 0
yaccel = .58
fall = 1
air.fall = 1
fall.recover = 0
forcestand = 1
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48
envshake.time = 18
envshake.ampl = 7
envShake.freq = 120
id = 1420
;nochainid = 1

[State 1200, StateTypeSet: Idle]
type = StateTypeSet
trigger1 = AnimElemTime(10) >= 0
movetype = I

[State 1200, End]
type = ChangeState
trigger1 = !AnimTime 
value = 0
ctrl = 1

[State 1200, End]
type = ChangeState
triggerall = NumTarget(1420)
triggerAll = Target, StateNo = [5000,5999]
trigger1 = Movehit
trigger1 = AnimElem = 11
value = 1401
ctrl = 0


[Statedef 1440]
type = S
movetype = A
physics = S
anim = 1440
ctrl = 0
velset = 0,0
poweradd = 70 * !var(20)
sprpriority = 2
facep2 = 1

[State 1200, Hit]
type = HitDef
trigger1 = !var(16) && var(15) < 1
attr = S, SA
damage = ceil(ifElse(fvar(11) * 85 < 7, 7, fvar(11) * 85)), 8
priority = 4, hit
animtype = Hard
getpower = 70 * !var(20), 30 * !var(20)
givepower = 35, 35
guardflag = M
hitflag = MAF
hitsound = S2,2
guardsound = S130,0
pausetime = 20,20
guard.pausetime = 12,12
sparkNo = -1 + 0 * (var(33) := 8013)
guard.sparkNo = -1 + 0 * (var(34) := 8001)
sparkXY = -10 + 0 * (var(35) := 60), var(36) := -65
air.animtype = DiagUp
fall.animtype = Diagup
ground.type = Low
air.type = Low
ground.slidetime = 18
ground.hittime  = 18
guard.hittime = 18
ground.velocity = -6, -9
air.velocity = -6,-8
guard.velocity = -10
;airguard.velocity = -5, -3.5
;airguard.ctrlTime = 16
ground.cornerPush.velOff = 0
guard.cornerPush.velOff = 0
air.cornerPush.velOff = 0
yaccel = .58
fall = 1
air.fall = 1
fall.recover = 0
forcestand = 1
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48
envshake.time = 18
envshake.ampl = 7
envShake.freq = 120
id = 1420
;nochainid = 1

;[State 1200, StateTypeSet: Idle]
;type = StateTypeSet
;trigger1 = AnimElemTime(10) >= 0
;movetype = I

[State 1200, End]
type = ChangeState
trigger1 = !AnimTime 
value = 0
ctrl = 1

[State 1200, End]
type = ChangeState
triggerall = NumTarget(1420)
triggerAll = Target, StateNo = [5000,5999]
trigger1 = Movehit
trigger1 = AnimElem = 7
value = 1401
ctrl = 0