;--------------------------------------------------------------------------
;AI-Fantasyft
;--------------------------------------------------------------------------
[statedef 96600]
anim = 9998
ctrl = 0

[state 825]
type = assertspecial
trigger1 = 1
flag = invisible

[state 96600]
type = selfstate
trigger1 = !ishelper
value = 0

[state 96600]
type = varset
trigger1 = command="up" && root,command="up"
trigger2 = command="down" && root,command="down"
trigger3 = command="back" && root,command="back"
trigger4 = command="fwd" && root,command="fwd"
trigger5 = command="a" && root,command="a"
trigger6 = command="b" && root,command="b"
trigger7 = command="c" && root,command="c"
trigger8 = command="x" && root,command="x"
trigger9 = command="y" && root,command="y"
trigger10 = command="z" && root,command="z"
trigger11 = command="start" && root,command="start"
var(50) = -1

[state 96600]
type = destroyself
triggerall = ishelper
trigger1 = root,var(50) || var(50)=-1
trigger2 = command="up" && root,command="up"
trigger3 = command="down" && root,command="down"
trigger4 = command="back" && root,command="back"
trigger5 = command="fwd" && root,command="fwd"
trigger6 = command="a" && root,command="a"
trigger7 = command="b" && root,command="b"
trigger8 = command="c" && root,command="c"
trigger9 = command="x" && root,command="x"
trigger10 = command="y" && root,command="y"
trigger11 = command="z" && root,command="z"
trigger12 = command="start" && root,command="start"

[state 96600]
type = varset
triggerall = var(50)!=-1
trigger1 = root,command="up"
trigger2 = root,command="down"
trigger3 = root,command="back"
trigger4 = root,command="fwd"
trigger5 = root,command="a"
trigger6 = root,command="b"
trigger7 = root,command="c"
trigger8 = root,command="x"
trigger9 = root,command="y"
trigger10 = root,command="z"
trigger11 = root,command="start"
var(50) = 1

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

[State 40, 1]
type = changestate
triggerall = var(50)
trigger1 = !time
value = 0
ctrl = 1

[State 10, 1]
type = VelMul
trigger1 = Time = 0
x = .75

[State 10, 2]
type = ChangeState
trigger1 = AnimTime = 0
value = 11

;---------------------------------------------------------------------------
; Walk
[Statedef 20]
type    = S
physics = S
sprpriority = 0

[State 20, 1]
type = VelSet
trigger1 = !var(50)
trigger1 = command = "holdfwd"
trigger2 = var(50)
trigger2 = p2bodydist x>=10
x = const(velocity.walk.fwd.x)

[State 20, 2]
type = VelSet
trigger1 = !var(50)
trigger1 = command = "holdback"
trigger2 = var(50)
trigger2 = p2bodydist x<10 || p2bodydist x<=50 && p2statetype=A && p2movetype=A && p2stateno>=1000
trigger3 = var(50) && !var(55)
trigger3 = p2bodydist x>=10 && var(54)<=80
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

;---------------------------------------------------------------------------
; GUARD (start)
[Statedef 120]
type = U    ;Leave state type unchanged
physics = U ;Leave physics unchanged

[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 = !var(50)
trigger1 = statetype = S && command = "holddown"
trigger2 = var(50)
trigger2 = statetype!=A
trigger2 = (p2statetype!=A || enemynear(var(51)),hitdefattr=SC) && p2movetype=A
statetype = C
physics = C

[State 120, Lo to Hi]
type = StateTypeSet
trigger1 = !var(50)
trigger1 = statetype = C && command != "holddown"
trigger2 = var(50)
trigger2 = statetype!=A
trigger2 = (p2statetype=A || enemynear(var(51)),hitdefattr=A) && p2movetype=A
statetype = S
physics = S

[State 120, Hi to Lo]
type = StateTypeSet
trigger1 = var(50)
trigger1 = statetype!=A
trigger1 = p2movetype!=A && enemynear(var(51)),numproj
statetype = C
physics = C

[State 120, 5]
type = ChangeState
trigger1 = AnimTime = 0
value = 130 + (statetype = C) + (statetype = A)*2

[State 120, Stop Guarding]
type = ChangeState
trigger1 = !var(50)
trigger1 = command != "holdback"
trigger2 = !var(50)
trigger2 = !inguarddist
trigger3 = statetype!=A
trigger3 = var(50)
trigger3 = p2movetype!=A
trigger4 = var(50)
trigger4 = !inguarddist
trigger4 = statetype!=A
value = 140

;---------------------------------------------------------------------------
; STAND GUARD (guarding)
[Statedef 130]
type    = S
physics = S

[State 130, 1]
type = ChangeAnim
trigger1 = Anim != 130
value = 130

[State 130, Hi to Lo]
type = ChangeState
trigger1 = !var(50)
trigger1 = command = "holddown"
trigger2 = var(50)
trigger2 = statetype!=A
trigger2 = (p2statetype!=A || enemynear(var(51)),hitdefattr=SC) && p2movetype=A
value = 131

[State 120, Hi to Lo]
type = ChangeState
trigger1 = var(50)
trigger1 = statetype!=A
trigger1 = p2movetype!=A && enemynear(var(51)),numproj
value = 131

[State 130, Stop Guarding]
type = ChangeState
trigger1 = !var(50)
trigger1 = command != "holdback"
trigger2 = !var(50)
trigger2 = !inguarddist
trigger3 = statetype!=A
trigger3 = var(50)
trigger3 = p2movetype!=A
trigger4 = var(50)
trigger4 = !inguarddist
trigger4 = statetype!=A
value = 140

;---------------------------------------------------------------------------
; CROUCH GUARD (guarding)
[Statedef 131]
type    = C
physics = C

[State 131, 1]
type = ChangeAnim
trigger1 = Anim != 131
value = 131

[State 131, Lo to Hi]
type = ChangeState
trigger1 = !var(50)
trigger1 = command != "holddown"
trigger2 = var(50)
trigger2 = statetype!=A
trigger2 = (p2statetype=A || enemynear(var(51)),hitdefattr=A) && p2movetype=A
value = 130

[State 131, Stop Guarding]
type = ChangeState
trigger1 = !var(50)
trigger1 = command != "holdback"
trigger2 = !var(50)
trigger2 = !inguarddist
trigger3 = statetype!=A
trigger3 = var(50)
trigger3 = p2movetype!=A
trigger4 = var(50)
trigger4 = !inguarddist
trigger4 = statetype!=A
value = 140

;---------------------------------------------------------------------------
; AIR GUARD (guarding)
[Statedef 132]
type    = A
physics = N

[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 = !var(50)
trigger1 = sysvar(0)
trigger1 = command = "holdback"
trigger1 = inguarddist
trigger2 = var(50)
trigger2 = sysvar(0)
trigger2 = p2movetype=A
trigger2 = inguarddist
value = 130

[State 132, 7]
type = ChangeState
trigger1 = sysvar(0)
value = 52

[State 132, Stop Guarding]
type = ChangeState
trigger1 = !var(50)
trigger1 = command != "holdback"
trigger2 = !var(50)
trigger2 = !inguarddist
trigger3 = statetype=A
trigger3 = var(50)
trigger3 = p2movetype!=A
trigger4 = var(50)
trigger4 = !inguarddist
trigger4 = statetype=A
value = 140

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

[State 140, 1]
type = ChangeAnim
trigger1 = Time = 0
value = 140 + (statetype = C) + (statetype = A)*2

[State 140, 2]
type = StateTypeSet
trigger1 = Time = 0 && statetype = S
physics = S

[State 140, 3]
type = StateTypeSet
trigger1 = Time = 0 && statetype = C
physics = C

[State 140, 4]
type = StateTypeSet
trigger1 = Time = 0 && statetype = A
physics = A

[State 140, Hi to Lo]
type = StateTypeSet
trigger1 = !var(50)
trigger1 = statetype = S && command = "holddown"
trigger2 = var(50)
trigger2 = statetype!=A
trigger2 = (p2statetype!=A || enemynear(var(51)),hitdefattr=SC) && p2movetype=A
statetype = C
physics = C

[State 140, Lo to Hi]
type = StateTypeSet
trigger1 = !var(50)
trigger1 = statetype = C && command != "holddown"
trigger2 = var(50)
trigger2 = statetype!=A
trigger2 = (p2statetype=A || enemynear(var(51)),hitdefattr=A) && p2movetype=A
statetype = S
physics = S

[State 140, Hi to Lo]
type = StateTypeSet
trigger1 = var(50)
trigger1 = statetype!=A
trigger1 = p2movetype!=A && enemynear(var(51)),numproj
statetype = C
physics = C

;[State 140, 5] ;Implemented within engine
;type = ChangeState
;trigger1 = AnimTime = 0
;value = (statetype = C)*11 + (statetype = A)*51

;---------------------------------------------------------------------------
; SGUARDHIT (shaking)
[Statedef 150]
type    = S
movetype= H
physics = N
velset = 0,0

[State 150, 1]
type = ChangeAnim
trigger1 = 1
value = 150

[State 150, 2]
type = ChangeState
trigger1 = HitShakeOver
value = 151 + 2*(command = "holddown")

[State 150, Hi to Lo]
type = StateTypeSet
trigger1 = !var(50)
trigger1 = statetype = S && command = "holddown"
trigger2 = var(50)
trigger2 = statetype!=A
trigger2 = (p2statetype!=A || enemynear(var(51)),hitdefattr=SC) && p2movetype=A
statetype = C
physics = C

[State 150, Lo to Hi]
type = StateTypeSet
trigger1 = !var(50)
trigger1 = statetype = C && command != "holddown"
trigger2 = var(50)
trigger2 = statetype!=A
trigger2 = (p2statetype=A || enemynear(var(51)),hitdefattr=A) && p2movetype=A
statetype = S
physics = S

[State 150, Hi to Lo]
type = StateTypeSet
trigger1 = var(50)
trigger1 = statetype!=A
trigger1 = p2movetype!=A && enemynear(var(51)),numproj
statetype = C
physics = C

[State 150, 3]
type = ForceFeedback
trigger1 = time = 0
waveform = square
time = 3

;---------------------------------------------------------------------------
; SGUARDHIT2 (knocked back)
[Statedef 151]
type    = S
movetype= H
physics = S
anim = 150

[State 151, 1]
type = HitVelSet
trigger1 = Time = 0
x = 1

[State 151, 2]
type = VelSet
trigger1 = Time = GetHitVar(slidetime)
trigger2 = HitOver
x = 0

[State 151, 3]
type = CtrlSet
trigger1 = Time = GetHitVar(ctrltime)
value = 1

[State 151, Hi to Lo]
type = StateTypeSet
trigger1 = !var(50)
trigger1 = statetype = S && command = "holddown"
trigger2 = var(50)
trigger2 = statetype!=A
trigger2 = (p2statetype!=A || enemynear(var(51)),hitdefattr=SC) && p2movetype=A
statetype = C
physics = C

[State 151, Lo to Hi]
type = StateTypeSet
trigger1 = !var(50)
trigger1 = statetype = C && command != "holddown"
trigger2 = var(50)
trigger2 = statetype!=A
trigger2 = (p2statetype=A || enemynear(var(51)),hitdefattr=A) && p2movetype=A
statetype = S
physics = S

[State 150, Hi to Lo]
type = StateTypeSet
trigger1 = var(50)
trigger1 = statetype!=A
trigger1 = p2movetype!=A && enemynear(var(51)),numproj
statetype = C
physics = C

[State 151, 4]
type = ChangeState
trigger1 = HitOver
value = 130
ctrl = 1

;---------------------------------------------------------------------------
; CGUARDHIT (shaking)
[Statedef 152]
type    = C
movetype= H
physics = N
velset = 0,0

[State 152, 1]
type = ChangeAnim
trigger1 = 1
value = 151

[State 152, 3]
type = ChangeState
trigger1 = HitShakeOver
value = 151 + 2*(command = "holddown")

[State 152, Hi to Lo]
type = StateTypeSet
trigger1 = !var(50)
trigger1 = statetype = S && command = "holddown"
trigger2 = var(50)
trigger2 = statetype!=A
trigger2 = (p2statetype!=A || enemynear(var(51)),hitdefattr=SC) && p2movetype=A
statetype = C
physics = C

[State 152, Lo to Hi]
type = StateTypeSet
trigger1 = !var(50)
trigger1 = statetype = C && command != "holddown"
trigger2 = var(50)
trigger2 = statetype!=A
trigger2 = (p2statetype=A || enemynear(var(51)),hitdefattr=A) && p2movetype=A
statetype = S
physics = S

[State 150, Hi to Lo]
type = StateTypeSet
trigger1 = var(50)
trigger1 = statetype!=A
trigger1 = p2movetype!=A && enemynear(var(51)),numproj
statetype = C
physics = C

[State 152, 4]
type = ForceFeedback
trigger1 = time = 0
waveform = square
time = 4

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

[State 153, 1]
type = HitVelSet
trigger1 = Time = 0
x = 1

[State 153, 2]
type = VelSet
trigger1 = Time = GetHitVar(slidetime)
trigger2 = HitOver
x = 0

[State 153, 3]
type = CtrlSet
trigger1 = Time = GetHitVar(ctrltime)
value = 1

[State 153, Hi to Lo]
type = StateTypeSet
trigger1 = !var(50)
trigger1 = statetype = S && command = "holddown"
trigger2 = var(50)
trigger2 = statetype!=A
trigger2 = (p2statetype!=A || enemynear(var(51)),hitdefattr=SC) && p2movetype=A
statetype = C
physics = C

[State 153, Lo to Hi]
type = StateTypeSet
trigger1 = !var(50)
trigger1 = statetype = C && command != "holddown"
trigger2 = var(50)
trigger2 = statetype!=A
trigger2 = (p2statetype=A || enemynear(var(51)),hitdefattr=A) && p2movetype=A
statetype = S
physics = S

[State 150, Hi to Lo]
type = StateTypeSet
trigger1 = var(50)
trigger1 = statetype!=A
trigger1 = p2movetype!=A && enemynear(var(51)),numproj
statetype = C
physics = C

[State 153, 4]
type = ChangeState
trigger1 = HitOver
value = 131
ctrl = 1

;---------------------------------------------------------------------------
; AGUARDHIT (shaking)
[Statedef 154]
type    = A
movetype= H
physics = N
velset = 0,0

[State 154, 1]
type = ChangeAnim
trigger1 = 1
value = 152

[State 154, 2]
type = ChangeState
trigger1 = HitShakeOver
value = 155 ;AGUARDHIT2

[State 154, 3]
type = ForceFeedback
trigger1 = time = 0
waveform = square
time = 4

;---------------------------------------------------------------------------
; AGUARDHIT2 (knocked away)
[Statedef 155]
type    = A
movetype= H
physics = N
anim = 152

[State 155, 1]
type = HitVelSet
trigger1 = Time = 0
x = 1
y = 1

[State 155, 2]
type = VelAdd
trigger1 = 1
y = Const(movement.yaccel)

[State 155, 3]
type = CtrlSet
trigger1 = Time = GetHitVar(ctrltime)
value = 1

[State 155, 4]
type = VarSet
trigger1 = 1
sysvar(0) = (pos y >= 0) && (vel y > 0)

[State 155, 5]
type = VelSet
trigger1 = sysvar(0)
y = 0

[State 155, 6]
type = PosSet
trigger1 = sysvar(0)
y = 0

[State 155, 6]
type = ChangeState
trigger1 = !var(50)
trigger1 = sysvar(0)
trigger1 = command = "holdback"
trigger1 = inguarddist
trigger2 = var(50)
trigger2 = sysvar(0)
trigger2 = p2movetype=A
trigger2 = inguarddist
value = 130

[State 155, 7]
type = ChangeState
trigger1 = sysvar(0)
value = 52

;--------------------------------------------------------------------------
;   AI action
;--------------------------------------------------------------------------
[statedef -3]
;------------------------------------
[state -3]
type = varset
trigger1 = 1
var(51) = 0	
ignorehitpause = 1

[state -3]
type = varset
triggerall = var(50)
triggerall = numenemy=2
trigger1 = !enemynear,alive
var(51) = 1	
ignorehitpause = 1 
;------------------------------------
[state -3]
type = varset
triggerall = var(50)
trigger1 = stateno=5120
var(52) = 12	
ignorehitpause = 1 

[state -3]
type = varadd
trigger1 = var(52)
var(52) = -1
ignorehitpause = 1

[state -3]
type = varset
trigger1 = var(52)<0
var(52) = 0
ignorehitpause = 1 
;-------------------------------------------------
[State -3]
type = VarSet
trigger1 = p2stateno=5120
var(53) = 13
ignorehitpause = 1 

[State -3]
type = Varadd
trigger1 = var(53)
var(53)=-1
ignorehitpause = 1 

[State -3]
type = VarSet
trigger1 = var(53)<=0
var(53) = 0
ignorehitpause = 1 
;--------------------------------
[state -3]
type = varset
trigger1 = !(gametime%60)
var(54) = random	
ignorehitpause = 1
;--------------------------------
[state -3]
type = varset
triggerall = !var(55)
triggerall = p2statetype!=A
trigger1 = numprojid(1000)
trigger2 = projcontacttime(1000)=[1,20]
var(55) = 1
ignorehitpause = 1

[state -3]
type = varset
triggerall = var(55)
trigger1 = p2statetype=A
trigger2 = !numprojid(1000)
trigger2 = projcontacttime(1000)!=[1,20]
var(55) = 0
ignorehitpause = 1
;--------------------------------
[state -3]
type = varset
trigger1 = stateno=[700,710]
var(56) = 8
ignorehitpause = 1

[state -3]
type = varadd
trigger1 = var(56)
var(56) = -1
ignorehitpause = 1
;==============================================================
;[state -3]
;type = displaytoclipboard
;trigger1 = 1
;text="p2bodydist x=%d,p2dist y=%d,pos y=%d"
;params = floor(p2bodydist x),floor(p2dist y),floor(pos y)
;ignorehitpause = 1

;==============================================================
[state -3]     
type = helper
trigger1 = !numhelper(96600)          
trigger1 = roundstate=2
trigger1 = alive
trigger1 = !var(50)
trigger1 = (prevstateno=[191,194])||prevstateno=5900            
trigger1 = ctrl&&stateno=0
helpertype = normal
name = "AI"
stateno = 96600
ID = 96600
pos = 9999,9999            
keyctrl = 1                
pausemovetime = 2147483647          
supermovetime = 2147483647           
persistent = 0               


[state -3]
type=changestate                  
trigger1 = ishelper(96600)        
trigger1 = stateno!=96600
value = 96600

[state -3]  
type = varset
triggerall = !var(50)
triggerall = roundstate = [1,2]      
trigger1  = command = "AI0"  || command = "AI1"  || command = "AI2"
trigger2  = command = "AI3"  || command = "AI4"  || command = "AI5"
trigger3  = command = "AI6"  || command = "AI7"  || command = "AI8"
trigger4  = command = "AI9"  || command = "AI10" || command = "AI11"
trigger5  = command = "AI12" || command = "AI13" || command = "AI14"
trigger6  = command = "AI15" || command = "AI16" || command = "AI17"
trigger7  = command = "AI18" || command = "AI19" || command = "AI20"
trigger8  = command = "AI21" || command = "AI22" || command = "AI23"
trigger9  = command = "AI24" || command = "AI25" || command = "AI26"
trigger10 = command = "AI27" || command = "AI28" || command = "AI29"
trigger11 = command = "AI30" || command = "AI31" || command = "AI32"
trigger12 = command = "AI33" || command = "AI34" || command = "AI35"
trigger13 = command = "AI36" || command = "AI37" || command = "AI38"
trigger14 = numhelper(96600)               
trigger14 = helper(96600),var(50)          
var(50) = 1             
ignorehitpause = 1

[state -3]
type = changestate
value = 0
triggerall = var(50) && statetype!=A && ctrl
trigger1 = win = 1
;==========================================
[state -3]
type = changestate
value = 1550
triggerall = var(50)
triggerall = statetype!=A
trigger1 = stateno=1510 && animelem=6,2

[state -3]
type = changestate
value = 1555
triggerall = var(50)
trigger1 = stateno=1550 && time>=16
trigger1 = enemynear(var(51)),vel y>0 && enemynear(var(51)),pos y=[-80,-60]

[state -3]
type = changestate
value = 330
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype!=A
trigger1 = stateno=245 && movecontact=1

[state -3]
type = changestate
value = 3005
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype!=A
triggerall = movehit=1
trigger1 = stateno=3000

[state -3]
type = changestate
value = 3010
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype!=A
triggerall = movehit=1
trigger1 = stateno=3005

[state -3]
type = changestate
value = 3015
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype!=A
triggerall = movehit=1
trigger1 = stateno=3010

[state -3]
type = changestate
value = 3020
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype!=A
triggerall = movehit=1
trigger1 = stateno=3015

[state -3]
type = changestate
value = 3025
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype!=A
triggerall = movehit=1
trigger1 = stateno=3020

[state -3]
type = changestate
value = 3030
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype!=A
triggerall = movehit=1
trigger1 = stateno=3025

[state -3]
type = changestate
value = 3035
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype!=A
triggerall = movehit=1
trigger1 = stateno=3030

[state -3]
type = changestate
value = 3040
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype!=A
triggerall = movehit=1
trigger1 = stateno=3035

[state -3]
type = changestate
value = 3050
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype!=A
triggerall = movehit=1
trigger1 = stateno=3040
;==========================================
[state -3]
type = changestate
value = 315
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype=S
triggerall = movecontact=1
trigger1 = stateno=215
trigger2 = stateno=245
trigger3 = stateno=410

[state -3]
type = changestate
value = 3000
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype!=A || stateno=2100
triggerall = power>=2000
triggerall = movehit=1
trigger1 = stateno=205 && p2bodydist x<=40 && random<=200
trigger2 = stateno=215 && random<=200
trigger3 = stateno=245 && random<=200
trigger4 = stateno=400 && p2bodydist x<=40 && random<=200
trigger5 = stateno=430 && p2bodydist x<=40 && random<=200
trigger6 = stateno=410 && random<=200
trigger7 = stateno=315 && random<=250
trigger8 = stateno=330 && random<=250
trigger9 = stateno=1150 && random<=300
trigger10 = stateno=2100 && random<=400 && animelem=10,>=0 && animelem=11,<=1

[state -3]
type = changestate
value = 2600
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype!=A
triggerall = power>=2000
triggerall = movehit=1
trigger1 = stateno=205 && p2bodydist x<=40 && random<=200
trigger2 = stateno=215 && random<=200
trigger3 = stateno=245 && random<=200
trigger4 = stateno=400 && p2bodydist x<=40 && random<=200
trigger5 = stateno=430 && p2bodydist x<=40 && random<=200
trigger6 = stateno=410 && random<=200
trigger7 = stateno=315 && random<=250
trigger8 = stateno=330 && random<=250
trigger9 = stateno=1150 && random<=300
trigger10 = stateno=2100 && random<=400 && animelem=10,>=0 && animelem=11,<=1

[state -3]
type = changestate
value = 2500
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype!=A
triggerall = power>=2000
triggerall = movehit=1
triggerall = p2bodydist x<=30
trigger1 = stateno=215 && random<=200
trigger2 = stateno=245 && random<=200
trigger3 = stateno=410 && random<=200
trigger4 = stateno=315 && random<=250
trigger5 = stateno=330 && random<=250
trigger6 = stateno=1150 && random<=300
trigger7 = stateno=2100 && random<=400 && animelem=10,>=0 && animelem=11,<=1

[state -3]
type = changestate
value = 2100
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype!=A
triggerall = power>=1000
triggerall = movehit=1
trigger1 = stateno=205 && p2bodydist x<=40 && random<=150
trigger2 = stateno=215 && random<=150
trigger3 = stateno=245 && random<=150
trigger4 = stateno=400 && p2bodydist x<=40 && random<=150
trigger5 = stateno=430 && p2bodydist x<=40 && random<=150
trigger6 = stateno=410 && random<=150
trigger7 = stateno=315 && random<=200
trigger8 = stateno=330 && random<=200
trigger9 = stateno=1150 && random<=250

[state -3]
type = changestate
value = 2000
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype!=A
triggerall = power>=1000
triggerall = movehit=1
triggerall = p2bodydist x<=20
trigger1 = stateno=215 && random<=150
trigger2 = stateno=245 && random<=150
trigger3 = stateno=410 && random<=150
trigger4 = stateno=315 && random<=200
trigger5 = stateno=330 && random<=200
trigger6 = stateno=1150 && random<=250

[state -3]
type = changestate
value = 1250
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype!=A && p2bodydist x<=20 && random<=400 || p2statetype=A && p2bodydist x<=20
triggerall = movehit=1
trigger1 = stateno=205
trigger2 = stateno=400
trigger3 = stateno=430
trigger4 = stateno=215
trigger5 = stateno=245
trigger6 = stateno=410
trigger7 = stateno=315
trigger8 = stateno=330

[state -3]
type = changestate
value = 1100
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype!=A
triggerall = movehit=1
trigger1 = stateno=205
trigger2 = stateno=400
trigger3 = stateno=430

[state -3]
type = changestate
value = 1150
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype!=A
triggerall = movehit=1
trigger1 = stateno=215
trigger2 = stateno=245
trigger3 = stateno=410
trigger4 = stateno=315
trigger5 = stateno=330

[state -3]
type = changestate
value = 1350
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype!=A
triggerall = movecontact=1
triggerall = random<=333
trigger1 = stateno=215
trigger2 = stateno=245
trigger3 = stateno=410
trigger4 = stateno=315
trigger5 = stateno=330

[state -3]
type = changestate
value = 1000
triggerall = var(50)
triggerall = !numprojid(1000)
triggerall = statetype!=A
triggerall = p2statetype!=A
triggerall = movecontact=1
trigger1 = stateno=205 && random<=555
trigger2 = stateno=400 && random<=555
trigger3 = stateno=430 && random<=555
trigger4 = stateno=215
trigger5 = stateno=245
trigger6 = stateno=410
trigger7 = stateno=315
trigger8 = stateno=330
;==========================================
[state -3]
type = changestate
value = 100
triggerall = var(50)
triggerall = statetype!=A
triggerall = ctrl
triggerall = stateno!=40
triggerall = stateno!=100 && stateno!=20
triggerall = prevstateno!=100 && prevstateno!=20
triggerall = p2stateno!=5120
triggerall = !enemynear(var(51)),numproj
trigger1 = var(55) && p2bodydist x>150

[state -3]
type = changestate
value = 40
triggerall = var(50)
triggerall = ctrl
triggerall = statetype!=A
triggerall = p2statetype!=A
trigger1 = var(55) && p2bodydist x=[20,150]

[state -3]
type = changestate
value = 800
triggerall = var(50)&&!var(53)&&!var(56)
triggerall = statetype!=A
triggerall = p2statetype!=A
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = p2bodydist x<=15 && p2dist x>0
triggerall = p2movetype!=H
triggerall = p2stateno!=40
triggerall = p2stateno!=[120,159]
triggerall = p2movetype!=I || (p2stateno!=[200,699]) && p2stateno<1000
trigger1 = p2bodydist x<0
trigger2 = p2bodydist x=0 && random<=333
trigger3 = p2stateno=52 && random<=333

[state -3]
type = changestate
value = 430
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype=S
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = p2bodydist x<=45
triggerall = !enemynear(var(51)),numproj || !var(52)
trigger1 = p2stateno=[120,159]

[state -3]
type = changestate
value = 2000
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype=A
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = power>=1000;***********
triggerall = p2bodydist x<=45 && p2dist x>0 && enemynear(var(51)),vel x=0 || (p2bodydist x=[0,60]) && enemynear(var(51)),vel x=(0,6]
triggerall = p2movetype!=H
triggerall = !enemynear(var(51)),numproj;**
triggerall = random<=333
trigger1 = (enemynear(var(51)),vel y=[-6,0)) && enemynear(var(51)),pos y>=-40

[state -3]
type = changestate
value = 2500
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype=A
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = power>=2000;***********
triggerall = p2bodydist x<=45 && p2dist x>0 && enemynear(var(51)),vel x=0 || (p2bodydist x=[0,60]) && enemynear(var(51)),vel x=(0,6]
triggerall = p2movetype!=H
triggerall = !enemynear(var(51)),numproj;**
triggerall = random<=333
trigger1 = (enemynear(var(51)),vel y=[-7,0)) && enemynear(var(51)),pos y>=-35

[state -3]
type = changestate
value = 2100
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype!=A
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = p2bodydist x<=120
triggerall = power>=1000
triggerall = !enemynear(var(51)),numproj
triggerall = random<=444
trigger1 = projhittime(1000)=[1,10]

[state -3]
type = changestate
value = 1500
triggerall = var(50)&&!var(53)
triggerall = statetype!=A
triggerall = p2statetype!=A
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = p2bodydist x<=40
triggerall = p2bodydist x>=0
triggerall = enemynear(var(51)),animtime<=-4 || p2movetype!=A
triggerall = enemynear(var(51)),hitdefattr=SCA,NA,NT,NP,SA,ST,SP || p2movetype!=A || random<=444
triggerall = !enemynear(var(51)),numproj
triggerall = p2stateno!=40
triggerall = p2movetype!=H && p2stateno!=[120,159]
trigger1 = p2movetype=A && p2stateno<700 && random<=333
trigger2 = p2movetype=I && p2stateno<200 && random<=80
trigger3 = p2movetype=A && p2stateno>=1000 && random<=300 && enemynear(var(51)),time>5
trigger4 = p2movetype=A && enemynear(var(51)),vel x>=3 && random<=300

[state -3]
type = changestate
value = 1400
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype=S
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = p2bodydist x<=55
triggerall = p2bodydist x>=0
triggerall = enemynear(var(51)),time<=5
triggerall = enemynear(var(51)),hitdefattr=SA,AA
triggerall = !enemynear(var(51)),numproj
triggerall = p2stateno!=40
triggerall = p2stateno!=[700,999]
trigger1 = p2movetype=A && p2stateno<700 && random<=333
trigger2 = p2movetype=A && p2stateno>=1000 && random<=222
trigger3 = p2movetype=A && enemynear(var(51)),vel x>=3 && random<=333

[state -3]
type = changestate
value = 1450
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype=C
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = p2bodydist x<=55
triggerall = p2bodydist x>=0
triggerall = enemynear(var(51)),time<=5
triggerall = enemynear(var(51)),hitdefattr=SC,AA
triggerall = !enemynear(var(51)),numproj
triggerall = p2stateno!=40
triggerall = p2stateno!=[700,999]
trigger1 = p2movetype=A && p2stateno<700 && random<=333
trigger2 = p2movetype=A && p2stateno>=1000 && random<=222
trigger3 = p2movetype=A && enemynear(var(51)),vel x>=3 && random<=333

[state -3]
type = changestate
value = 1400
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype=A
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = enemynear(var(51)),hitdefattr=SA,AA
triggerall = enemynear(var(51)),time<=10
triggerall = p2bodydist x<=30 && p2dist x>0 && enemynear(var(51)),vel x=0 || (p2bodydist x=[0,40]) && enemynear(var(51)),vel x=(0,6]
triggerall = p2movetype=A
triggerall = !enemynear(var(51)),numproj;**
trigger1 = enemynear(var(51)),vel y>=0 && enemynear(var(51)),pos y=[-65,-40]

[state -3]
type = changestate
value = 1150
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype!=A
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = p2bodydist x<=150
triggerall = !enemynear(var(51)),numproj
trigger1 = random<=400 && projhittime(1000)=[1,10]

[state -3]
type = changestate
value = 1100
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype!=A
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = p2bodydist x=[100,130]
triggerall = enemynear(var(51)),animtime<=-11 || p2movetype!=A
triggerall = enemynear(var(51)),hitdefattr=SCA,NA,NT,NP || p2movetype!=A
triggerall = !enemynear(var(51)),numproj
triggerall = p2stateno!=40
triggerall = p2stateno!=[700,999]
trigger1 = p2movetype=A && p2stateno<700 && random<=200
trigger2 = p2movetype=I && p2stateno<200 && random<=100

[state -3]
type = changestate
value = 1000
triggerall = var(50)
triggerall = statetype!=A
triggerall = !numprojid(1000)
triggerall = ctrl
triggerall = p2bodydist x>=120
triggerall = enemynear(var(51)),hitdefattr=SCA,NA,NT,NP || p2movetype!=A || random<=333
triggerall = enemynear(var(51)),vel x<=0 || p2statetype!=A
triggerall = !enemynear(var(51)),numproj
triggerall = p2stateno!=40
triggerall = p2stateno!=[700,999]
trigger1 = p2movetype=H && p2statetype=A && enemynear(var(51)),vel y>0 && enemynear(var(51)),pos y>=-40
trigger2 = p2movetype=A && p2stateno<700 && random<=200 && p2statetype!=A
trigger3 = p2movetype=A && p2stateno>=1000 && random<=200 && p2statetype!=A
trigger4 = p2movetype=I && p2stateno<200 && random<=80 && p2statetype!=A
trigger5 = projcontacttime(1000)=[1,20]

[state -3]
type = changestate
value = 1200
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype!=A
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = p2bodydist x<=30
triggerall = p2bodydist x>=0
triggerall = enemynear(var(51)),animtime<=-2
triggerall = enemynear(var(51)),hitdefattr=SCA,NA,NT,NP || random<=333
triggerall = !enemynear(var(51)),numproj
triggerall = p2stateno!=40
triggerall = p2stateno!=[700,999]
trigger1 = p2movetype=A && p2stateno<700 && random<=400
trigger2 = p2movetype=A && p2stateno>=1000 && random<=333 && enemynear(var(51)),time>5
trigger73 = p2movetype=A && enemynear(var(51)),vel x>=3 && random<=333

[state -3]
type = changestate
value = 1250
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype=A
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = (p2bodydist x=[0,50]) && enemynear(var(51)),vel x=0 || (p2bodydist x=[10,60]) && enemynear(var(51)),vel x=(0,6]
triggerall = p2movetype=A
triggerall = !enemynear(var(51)),numproj;**
trigger1 = (enemynear(var(51)),vel y=[-6,0)) && enemynear(var(51)),pos y>=-40
trigger2 = enemynear(var(51)),vel y>=0 && enemynear(var(51)),pos y=[-140,-40]

[state -3]
type = changestate
value = 320
triggerall = var(50)
triggerall = statetype!=A
triggerall = ctrl
triggerall = p2bodydist x=[80,110]
triggerall = !enemynear(var(51)),numproj
trigger1 = p2stateno=5120 && enemynear(var(51)),animtime=[-18,-15]

[state -3]
type = changestate
value = 240
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype=A
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = p2bodydist x=[40,70]
triggerall = p2movetype!=H
triggerall = !enemynear(var(51)),numproj;**
trigger1 = (enemynear(var(51)),vel y=[-6,0)) && enemynear(var(51)),pos y>=-30
trigger2 = enemynear(var(51)),vel y>=0 && enemynear(var(51)),pos y=[-90,-40]

[state -3]
type = changestate
value = 410
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype=A
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = p2bodydist x<=30 && p2dist x>0 && enemynear(var(51)),vel x=0 || (p2bodydist x=[10,50]) && enemynear(var(51)),vel x=(0,6]
triggerall = p2movetype!=H
triggerall = p2bodydist x<=15
triggerall = !enemynear(var(51)),numproj;**
trigger1 = (enemynear(var(51)),vel y=[-6,0)) && enemynear(var(51)),pos y>=-40
trigger2 = enemynear(var(51)),vel y>=0 && enemynear(var(51)),pos y=[-100,-50]

[state -3]
type = changestate
value = 200
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype=A
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = p2bodydist x<=55 && p2dist x>0 && enemynear(var(51)),vel x=0 || (p2bodydist x=[0,65]) && enemynear(var(51)),vel x=(0,6]
triggerall = p2bodydist x>=20 
triggerall = !enemynear(var(51)),numproj;**
trigger1 = (enemynear(var(51)),vel y=[-6,0)) && enemynear(var(51)),pos y>=-20

[state -3]
type = changestate
value = 230
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype!=A
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = p2bodydist x=[40,60]
triggerall = enemynear(var(51)),animtime<=-5
triggerall = enemynear(var(51)),hitdefattr=SCA,NA,NT,NP || random<=200
triggerall = !enemynear(var(51)),numproj || !var(52)
triggerall = p2stateno!=40
trigger1 = p2stateno=100 || p2stateno=52 && random<=333
trigger2 = p2movetype=H && random<=444
trigger3 = p2movetype=I && p2stateno>=200 && random<=444
trigger4 = p2movetype=A && p2stateno<700 && random<=300
trigger5 = p2movetype=I && p2stateno<200 && random<=100
trigger6 = p2movetype=A && p2stateno>=1000 && random<=222 && enemynear(var(51)),time>5
trigger7 = p2movetype=A && enemynear(var(51)),vel x>=3 && random<=111

[state -3]
type = changestate
value = 245
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype!=A
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = p2bodydist x<=25
triggerall = p2bodydist x>=0
triggerall = enemynear(var(51)),animtime<=-11
triggerall = enemynear(var(51)),hitdefattr=SCA,NA,NT,NP || p2movetype!=A
triggerall = !enemynear(var(51)),numproj
triggerall = p2stateno!=40
triggerall = p2stateno!=[700,999]
trigger1 = p2movetype=H
trigger2 = p2movetype=I && p2stateno>=200
trigger3 = p2movetype=A && p2stateno<700 && random<=300

[state -3]
type = changestate
value = 205
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype=S
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = p2bodydist x<=20
triggerall = !enemynear(var(51)),numproj || !var(52)
trigger1 = p2stateno=100 || p2stateno=52 && random<=333
trigger2 = p2movetype=H
trigger3 = p2movetype=I && p2stateno>=200
trigger4 = p2movetype=A && p2stateno<700 && random<=400
trigger5 = p2movetype=I && p2stateno<200 && random<=400
trigger6 = p2movetype=A && p2stateno>=1000 && random<=333 && enemynear(var(51)),time>5
trigger7 = p2movetype=A && enemynear(var(51)),vel x>=3 && random<=333

[state -3]
type = changestate
value = 400
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype!=A
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = p2bodydist x<=50
triggerall = !enemynear(var(51)),numproj || !var(52)
trigger1 = p2stateno=100 || p2stateno=52 && random<=333
trigger2 = p2movetype=H
trigger3 = p2movetype=I && p2stateno>=200
trigger4 = p2movetype=A && p2stateno<700 && random<=400
trigger5 = p2movetype=I && p2stateno<200 && random<=400
trigger6 = p2movetype=A && p2stateno>=1000 && random<=333 && enemynear(var(51)),time>5
trigger7 = p2movetype=A && enemynear(var(51)),vel x>=3 && random<=333

[state -3]
type = changestate
value = 640
triggerall = var(50)
triggerall = statetype=A
triggerall = p2statetype!=A
triggerall = ctrl
triggerall = p2bodydist x<=100
trigger1 = vel y>0 && pos y=[-80,-20]
trigger2 = var(4) && vel y>=-0.6

[state -3]
type = changestate
value = 640
triggerall = var(50)
triggerall = statetype=A
triggerall = p2statetype=A
triggerall = ctrl
triggerall = p2bodydist x<=75
triggerall = random<=666
trigger1 = vel y<0 && p2dist y=[-60,30]
trigger2 = vel y>0 && p2dist y=[0,90]

[state -3]
type = changestate
value = 630
triggerall = var(50)
triggerall = statetype=A
triggerall = p2statetype=A
triggerall = ctrl
triggerall = p2bodydist x<=80
trigger1 = vel y<0 && p2dist y=[-60,20]
trigger2 = vel y>0 && p2dist y=[-30,50]
;==========================================
[state -3]
type = changestate
value = 120
triggerall = var(50)
triggerall = ctrl
trigger1 = enemynear(var(51)),numproj && var(52)

[state -3]
type = changestate
value = 100
triggerall = var(50)
triggerall = statetype!=A
triggerall = ctrl
triggerall = stateno!=40
triggerall = stateno!=100 && stateno!=20
triggerall = prevstateno!=100 && prevstateno!=20
triggerall = p2stateno!=5120
triggerall = !enemynear(var(51)),numproj
triggerall = p2movetype!=A || !inguarddist
trigger1 = p2bodydist x>=60 && p2movetype!=A && p2stateno>=200 && random<=200
trigger2 = p2bodydist x>=60 && p2movetype!=A && p2stateno<200 && random<=100
trigger3 = !inguarddist && p2movetype=A && random<=80

[state -3]
type = changestate
value = 40
triggerall = var(50)&&!var(55)
triggerall = ctrl
triggerall = statetype!=A
trigger1 = p2stateno=52 && (p2dist x=[0,40]) && random<=100
trigger2 = p2bodydist x<=40 && random<=100 && p2stateno=5120 && enemynear(var(51)),time>=3
trigger3 = (p2bodydist x=[40,100]) && random<=60 && p2movetype!=A && p2statetype!=A && p2statetype!=L
trigger4 = (p2bodydist x=[0,80]) && (p2stateno=[0,699])&& p2movetype=A && random<=100 && p2statetype=C
trigger5 = backedgebodydist<=30 && p2stateno=5120 && (p2bodydist x=[0,30])
trigger6 = p2bodydist x>=100 && p2movetype=A && random<=222 && p2stateno>=1000

[state -3]
type = changestate
value = 700
triggerall = var(50)
triggerall = p2statetype!=L && p2stateno!=5120
triggerall = statetype!=A
triggerall = stateno!=[150,151]
triggerall = ctrl
trigger1 = p2movetype=A && (p2bodydist x=[20,100]) && enemynear(var(51)),time<=5 && p2statetype!=A
trigger1 = p2stateno<700 && random<=40 || p2stateno>=1000 && random<=50 || enemynear(var(51)),numproj && random<=70
trigger2 = p2bodydist x>100 && p2movetype=A && random<=50 && p2statetype!=A
trigger3 = p2movetype=A && (p2bodydist x=[20,100]) && enemynear(var(51)),animtime<=-30 && random<=100

[state -3]
type = changestate
value = 120
triggerall = var(50)
triggerall = ctrl
trigger1 = p2dist y>=-100 && inguarddist
trigger1 = p2statetype=A && enemynear(var(51)),vel y>=0 && p2movetype=A
trigger2 = enemynear(var(51)),numproj>0
trigger3 = p2movetype=A 
trigger3 = inguarddist

[state -3]
type = changestate
value = 800
triggerall = var(50)&&!var(56)
triggerall = !var(53)
triggerall = statetype!=A
triggerall = ctrl
triggerall = p2statetype!=A && p2statetype!=L && p2stateno!=5200 && p2stateno!=5201
triggerall = p2bodydist x<=10 && p2dist x>0
triggerall = p2movetype!=H
triggerall = p2stateno!=52 && p2stateno!=40
triggerall = p2stateno!=[120,159]
triggerall = p2movetype!=I || (p2stateno!=[200,699]) && p2stateno<1000
trigger1 = p2movetype=A
trigger1 = random<=400
trigger2 = p2stateno=100 || p2stateno=52 || p2bodydist x<=0

[state -3]
type = changestate
value = 710
triggerall = var(50)
triggerall = p2statetype!=A
triggerall = statetype!=A
triggerall = stateno!=[150,151]
triggerall = !enemynear(var(51)),numproj
triggerall = ctrl
triggerall = backedgebodydist>20
trigger1 = p2movetype=I && p2bodydist x<60 && random<=60 && p2stateno<200 && p2statetype!=A
trigger2 = p2statetype!=A && p2movetype=A && p2bodydist x<60 && random<=80 && enemynear(var(51)),time>5
trigger2 = !enemynear(var(51)),vel x || enemynear(var(51)),vel x && p2stateno>=1000

[state -3]
type = changestate
value = 20
triggerall = var(50)
triggerall = statetype!=A
triggerall = ctrl
triggerall = stateno!=100 && stateno!=20
triggerall = prevstateno!=100 && prevstateno!=20
triggerall = p2stateno!=5120 && p2statetype!=L
triggerall = random<=900
trigger1 = p2bodydist x>=20 && p2movetype!=A
trigger2 = p2movetype=A && p2bodydist x>=40

[state -3]
type = changestate
value = 105
triggerall = var(50)
triggerall = statetype!=A 
triggerall = ctrl
triggerall = backedgebodydist>20
trigger1 = p2stateno=5120 || p2statetype=L || p2stateno=5201 || p2stateno=5200
trigger1 = p2bodydist x=[-50,50]
trigger2 = numenemy=2 && enemynear(0),p2bodydist x=[-60,60]
trigger2 = enemynear(1),stateno=5120 || enemynear(0),stateno=5120
trigger2 = backedgedist>60

[state -3]
type = changestate
value = 52000
triggerall = var(50)
triggerall = vel y>0
triggerall = alive
trigger1 = pos y>=-20
trigger1 = stateno=5050
trigger1 = canrecover

[state -3]
type = changestate
value = 300
triggerall = var(50)
triggerall = power>=1000
triggerall = statetype!=A
triggerall = p2bodydist x=[0,40]
trigger1 = p2movetype=A
trigger1 = stateno=150 || stateno=152
trigger1 = random<=40
trigger1 = p2stateno<700
