;---------------------------------------------------------------------------
; States that are always checked (use -2) :
;---------------------------------------------------------------------------
;---------------------------------------------------------------------------
[Statedef -2]

[State 0, One stomp to dearh]
type = VarSet
trigger1 = 1
var(4) = 0    ;0 off 1 on
ignorehitpause = 1

[State 0, Jump Invincibility]
type = VarSet
trigger1 = 1
var(5) = 0    ;0 off 1 on
ignorehitpause = 1

[State 0, 12p Defeat Level]
type = VarSet
trigger1 = 1
var(6) = 0    ;0 normal 1 Just like G-Orochi no helper.
ignorehitpause = 1

[State -2, AI Grow Level]
type = VarSet
trigger1 = 1
var(20) = 2 
ignorehitpause = 1
;0 AI Will nothing to Grow
;1 AI Grow Random
;2 AI Always Grow

[State 0, Auto AI]
type = VarSet
trigger1 = 1
var(59) = 1    ;0 off 1 on
ignorehitpause = 1

;---------------------------------------------------------------------------
[State -2, 1]
type = VarSet 
trigger1 = !var(1)
v = 1
value = 2
ignorehitpause = 1
[State -2, 3] ;Go fwd
type = VelAdd
trigger1 = !var(8)
trigger1 = stateno = [200,299]
trigger1 = Pos Y < 50
trigger1 = Vel X < 3
trigger1 = Command = "holdfwd"
x = .1
ignorehitpause = 1
[State -2, 4] ;Go back
type = VelAdd
trigger1 = !var(8)
trigger1 = stateno = [200,299]
trigger1 = Pos Y < 50
trigger1 = Vel X > -3
trigger1 = Command = "holdback"
x = -.1
ignorehitpause = 1
[State -2, 3] ;AI Go fwd
type = VelAdd
trigger1 = var(8)
trigger1 = stateno = [200,299]
trigger1 = Pos Y < 50
trigger1 = Vel X < 3
trigger1 = P2Dist X >= 30
x = .1
ignorehitpause = 1
[State -2, 4] ;AI Go back
type = VelAdd
trigger1 = var(8)
trigger1 = stateno = [200,299]
trigger1 = Pos Y < 50
trigger1 = Vel X > -3
trigger1 = P2Dist X <= -30
x = -.1
ignorehitpause = 1
[State -2, 3] ;AI Go fwd
type = VelAdd
trigger1 = var(8) 
trigger1 = stateno = [200,299]
trigger1 = Pos Y < 50
trigger1 = Vel X < 1
trigger1 = P2Dist X >= 0
x = .1
ignorehitpause = 1
[State -2, 4] ;AI Go back
type = VelAdd
trigger1 = var(8)
trigger1 = stateno = [200,299]
trigger1 = Pos Y < 50
trigger1 = Vel X > -1
trigger1 = P2Dist X <= -1
x = -.1
ignorehitpause = 1
[State -2, 5]
type = AssertSpecial
trigger1 = 1
flag  = nostandguard
flag2 = nocrouchguard
flag3 = noairguard

[State -2, noautoturn]
type = AssertSpecial
trigger1 = 1
flag = noautoturn
flag2 = noshadow

[State -2, 6]
type = HitOverride
trigger1 = !var(3)
attr = SCA, AA, AT, AP
stateno = ifelse(var(1)=2,4000,4001)
ignorehitpause = 1

[State 0, ChangeState]
type = SelfState
triggerall = !alive
trigger1 = !(stateno=5150||stateno=[4001,4002])
value = 4001
ignorehitpause = 1

[State -2, 8] ;Invincibility
type = AssertSpecial
trigger1 = var(3)
trigger1 = Time % 4 = [0,1]
trigger1 = Anim != 4000
flag = invisible
ignorehitpause = 1

[State -2, 9] ;Invincibility
type = NotHitBy
trigger1 = var(3)
trigger2 = var(5)&&movetype=a
value = SCA
ignorehitpause = 1

[State -2, 10] ;Invincibility
type = PlayerPush
trigger1 = var(3)
value = 0
ignorehitpause = 1

[State -2, 11] ;Invincibility
type = VarAdd
trigger1 = var(3)
trigger1 = Anim != 4000
v = 3
value = -1
ignorehitpause = 1

[State -2]
type = AttackMulSet
trigger1 = 1
value = palno
ignorehitpause = 1
[State 0, DefenceMulSet]
type = DefenceMulSet
trigger1 = PalNo<7 
value = palno
ignorehitpause = 1
[State 0, LifeSet]
type = LifeSet
trigger1 = 1
value = lifemax-sysvar(3)
ignorehitpause = 1
[State 0, VarAdd]
type = VarAdd
trigger1 = roundstate=2
trigger1 = palno<7
trigger1 = gethitvar(damage)>0
sysvar(3) = gethitvar(damage)
ignorehitpause = 1
[State 0, VarAdd]
type = VarAdd
trigger1 = roundstate=2
trigger1 = palno=[7,11]
trigger1 = gethitvar(damage)>0
sysvar(3) = (lifemax*(((life>=0)*0.002)+((life>=lifemax*0.02)*0.004)+((life>=lifemax*0.1)*0.01)+((life>=lifemax*0.2)*0.065)))
ignorehitpause = 1
[State 0, VarAdd]
type = VarAdd
trigger1 = roundstate=2
trigger1 = palno=12
trigger1 = gethitvar(damage)<=sysvar(2)
trigger1 = gethitvar(damage)>0
sysvar(3) = (lifemax*(((life>=0)*(0.001+(0.001*0)))+((life>=lifemax*0.02)*(0.002+(0.001*0)))+((life>=lifemax*0.1)*(0.005+(0.004*0)))+((life>=lifemax*0.2)*(0.01+(0.045*0)))))
ignorehitpause = 1
[State 0, VarSet]
type = VarSet
trigger1 = palno=12&&gametime%60=1
sysvar(2)=1+random%75
ignorehitpause = 1
[State 0, VarSet]
type = VarSet
trigger1 = palno=12
trigger1 = alive&&roundstate>2
sysvar(3) = 0    
ignorehitpause = 1
[State 0, AssertSpecial]
type = AssertSpecial
triggerall = alive
trigger1 = roundstate>2
trigger2 = sysvar(4)!=gametime*75&&sysvar(3)<lifemax&&MoveReversed
trigger3 = gethitvar(fall.damage)
trigger4 = sysvar(0)!=stateno
flag = Noko
ignorehitpause = 1
[State 0, SelfState]
type = SelfState
triggerall=alive
trigger1 = sysvar(4)!=gametime*75
value = sysvar(0)
ignorehitpause = 1
[Statedef -3]
[State 0, VarSet]
type = VarSet
trigger1 = 1
Sysvar(4) = gametime*75    
ignorehitpause = 1
