
;--------------------------------------------------------------------------
[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(30)=-1

[State 96600]
Type = DestroySelf
TriggerAll=isHelper
Trigger1=root,var(30)||var(30)=-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(30)!=-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(30)=1

;============================================
[StateDef -3]
;--------------------------------------------------------------------------
;   AI action
;--------------------------------------------------------------------------
;-------------------------------------------------
[State -2, 3001]
type = VarSet
trigger1 = var(30)
trigger1 = p2stateno=5120
var(31) = 13
ignorehitpause = 1 

[State -2, 3001]
type = Varadd
trigger1 = var(31)>0
var(31)=-1
ignorehitpause = 1 

[State -2, 3001]
type = VarSet
trigger1 = var(31)<=0
var(31) = 0
ignorehitpause = 1 

;=====================================================
;Modified it a bit for special throws
[State -2, throwa]
type = VarSet
trigger1 = MoveGuarded
trigger2 = (StateNo = [600,699]) && MoveContact
trigger3 = (StateNo = [600,699]) && MoveGuarded
var(32) = 21	
ignorehitpause = 1 

[State -2, throwb]
type = VarAdd
trigger1 = var(32) >= 1
var(32) = -1
ignorehitpause = 1

[State -2, throwa]
type = VarSet
trigger1 = (StateNo != [600,699]) && MoveHit
var(32) = 0
ignorehitpause = 1 

;==============================================================
[State -2, throwa]
type = VarSet
trigger1 = stateno=5120
var(33) = 12	
ignorehitpause = 1 

[State -2, throwb]
type = VarAdd
trigger1 = var(33) >= 1
var(33) = -1
ignorehitpause = 1

[State -2, throwa]
type = VarSet
trigger1 = var(33)<0
var(33) = 0
ignorehitpause = 1 

;==============================================================
[State -2, 3001]
type = DisplayToClipboard
trigger1 = 1
text="The value of var(34) is %d"
params = var(34)
ignorehitpause = 1

;==============================================================
[State -3, AI]     
type=helper
Trigger1=!NumHelper(96600)          
Trigger1=RoundState=2
Trigger1=alive
Trigger1=var(30)=0
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,96600]
type=changestate                  
Trigger1= ishelper(96600)        
Trigger1= stateno!=96600
value=96600

[State -2, 0]  
type = varset
TriggerAll = !var(30)
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(30)          
var(30) = 1             
ignorehitpause = 1

; win, stop moving
[State -2]
type = ChangeState
value = 0
triggerall = var(30) && statetype!=A && ctrl
trigger1 = Win = 1

;==============================================================
;max
[State -2]
type = changestate
value = 3900
triggerall = var(30)
triggerall = statetype!=A
triggerall = power>=3000 || life<=500 && power>=2000
trigger1 = stateno=3110 && movehit && animelem=6,0

[State -2]
type = changestate
value = 3600
triggerall = var(30)
triggerall = statetype!=A
triggerall = power>=2000
trigger1 = stateno=3110 && movehit && animelem=6,0 && p2statetype!=A

[State -2]
type = changestate
value = 3500
triggerall = var(30)
triggerall = statetype!=A
triggerall = power>=2000
trigger1 = stateno=3110 && movehit && animelem=6,0
;==============================================================
;1400
[State -2]
type = changestate
value = 3500
triggerall = var(30)
triggerall = statetype!=A
triggerall = power>=2000
triggerall = p2statetype=A && p2movetype=H
trigger1 = stateno=1450 && animelem=6,8

[State -2]
type = changestate
value = 3000
triggerall = var(30)
triggerall = statetype!=A
triggerall = power>=1000
triggerall = p2statetype=A && p2movetype=H
trigger1 = stateno=1450 && animelem=6,8

[State -2]
type = changestate
value = 1500
triggerall = var(30)
triggerall = statetype!=A
triggerall = p2statetype=A && p2movetype=H
trigger1 = stateno=1450 && animelem=5,2 && power<1000

;==============================================================
;1100
[State -2]
type = changestate
value = 3500
triggerall = var(30)
triggerall = statetype!=A
triggerall = power>=2000
triggerall = p2statetype=A
trigger1 = stateno=1150 && animelem=8,0 && movehit

[State -2]
type = changestate
value = 3000
triggerall = var(30)
triggerall = statetype!=A
triggerall = power>=1000
triggerall = p2statetype=A
trigger1 = stateno=1150 && animelem=8,0 && movehit

[State -2]
type = changestate
value = 3900
triggerall = var(30)
triggerall = statetype!=A
triggerall = power>=3000 || life<=500 && power>=2000
trigger1 = stateno=1150 && animelem=8,0 && movehit

[State -2]
type = changestate
value = 3600
triggerall = var(30)
triggerall = statetype!=A
triggerall = power>=2000
trigger1 = stateno=1150 && animelem=8,0 && movehit

[State -2]
type = changestate
value = 15555
triggerall = var(30)
triggerall = statetype!=A
triggerall = power>=3000
trigger1 = P2BodyDist X = [220,420]
trigger2 = P2BodyDist Y <-1

[State -2]
type = changestate
value = 3100
triggerall = var(30)
triggerall = statetype!=A
triggerall = power>=1000
trigger1 = stateno=1150 && animelem=8,0 && movehit
;==============================================================
;250
[State -2]
type = changestate
value = 1010
triggerall = var(30)
triggerall = statetype!=A
triggerall = p2bodydist x<=42
trigger1 = stateno=250 && movecontact && power<1000
trigger2 = stateno=250 && movecontact && power>=1000 && power<2000 && random<=333

[State -2]
type = changestate
value = 1500
triggerall = var(30)
triggerall = statetype!=A
triggerall = p2statetype=A
trigger1 = stateno=250 && movecontact

[State -2]
type = changestate
value = 1400
triggerall = var(30)
triggerall = statetype!=A
trigger1 = stateno=250 && movehit && power<1000
trigger2 = stateno=250 && movehit && power>=1000 && power<3000 && random<=500

[State -2]
type = changestate
value = 1100
triggerall = var(30)
triggerall = statetype!=A
trigger1 = stateno=250 && movehit && power>=1000
;==============================================================
;C
[State -2]
type = changestate
value = 1010
triggerall = var(30)
triggerall = statetype!=A
triggerall = p2bodydist x<=40
triggerall = p2statetype!=A
trigger1 = stateno=210 && movehit && power<1000 && random<=666
trigger2 = stateno=210 && moveguarded

[State -2]
type = changestate
value = 250
triggerall = var(30)
triggerall = statetype!=A
triggerall = p2bodydist x<=42
trigger1 = stateno=210 && movehit

[State -2]
type = changestate
value = 3000
triggerall = var(30)
triggerall = statetype!=A
triggerall = power>=1000
triggerall = p2statetype=A
trigger1 = stateno=210 && movecontact

[State -2]
type = changestate
value = 1500
triggerall = var(30)
triggerall = statetype!=A
triggerall = p2statetype=A
trigger1 = stateno=210 && movehit

[State -2]
type = changestate
value = 1100
triggerall = var(30)
triggerall = statetype!=A
trigger1 = stateno=210 && movehit && power>=1000 && random<=600

[State -2]
type = changestate
value = 1400
triggerall = var(30)
triggerall = statetype!=A
trigger1 = stateno=210 && movecontact
;==============================================================
;C
[State -2]
type = changestate
value = 3000
triggerall = var(30)
triggerall = statetype!=A
triggerall = power>=1000
triggerall = p2statetype=A
trigger1 = stateno=410 && movecontact && random<=500

[State -2]
type = changestate
value = 1500
triggerall = var(30)
triggerall = statetype!=A
triggerall = p2statetype=A
trigger1 = stateno=410 && movecontact

[State -2]
type = changestate
value = 1010
triggerall = var(30)
triggerall = statetype!=A
triggerall = p2bodydist x<=40
triggerall = p2statetype!=A
trigger1 = stateno=410 && movehit && power<1000 && random<=666
trigger2 = stateno=410 && moveguarded

[State -2]
type = changestate
value = 250
triggerall = var(30)
triggerall = statetype!=A
triggerall = p2bodydist x<=42
trigger1 = stateno=410 && movehit

[State -2]
type = changestate
value = 1100
triggerall = var(30)
triggerall = statetype!=A
trigger1 = stateno=410 && movehit && power>=1000 && random<=600

[State -2]
type = changestate
value = 1400
triggerall = var(30)
triggerall = statetype!=A
trigger1 = stateno=410 && movecontact
;==============================================================
;A
[State -2]
type = changestate
value = 3000
triggerall = var(30)
triggerall = statetype!=A
triggerall = p2statetype=A
trigger1 = stateno=400 && movecontact && power>=1000

[State -2]
type = changestate
value = 1300
triggerall = var(30)
triggerall = statetype!=A
triggerall = p2statetype=A
trigger1 = stateno=400 && movecontact

[State -2]
type = changestate
value = 3600
triggerall = var(30)
triggerall = statetype!=A
triggerall = p2bodydist x<=52
triggerall = power>=2000 && random<=600
trigger1 = stateno=400 && movehit

[State -2]
type = changestate
value = 3100
triggerall = var(30)
triggerall = statetype!=A
triggerall = p2bodydist x<=52
trigger1 = stateno=400 && movehit && (power>=2000 || (power=[1000,2000)) && random<=600)

[State -2]
type = changestate
value = 1010
triggerall = var(30)
triggerall = statetype!=A
;triggerall = p2bodydist x<=38
trigger1 = stateno=400 && movecontact
;==============================================================
;B
[State -2]
type = changestate
value = 430
triggerall = var(30)
triggerall = statetype!=A
trigger1 = stateno=430 && movecontact && p2bodydist x<=30

[State -2]
type = changestate
value = 400
triggerall = var(30)
triggerall = statetype!=A
trigger1 = stateno=430 && movecontact && p2bodydist x<=55
;==============================================================
;ͨ
;ץͶ
[State -2]
type = changestate
value = 1700
triggerall = var(30)
triggerall = !var(31) && !var(32)
triggerall = statetype!=A
triggerall = p2statetype!=A && p2statetype!=L && (p2stateno!=[5040,5999])
triggerall = ctrl
triggerall = p2bodydist x<=27
trigger1 = var(33)<8 && p2dist x<=0
trigger2 = p2stateno=52 && random<=500 || p2stateno=100 && random<=300
trigger3 = p2movetype=I && random<=300

[State -2]
type = changestate
value = 200
triggerall = var(30)
triggerall = statetype!=A
triggerall = p2statetype!=A && p2statetype!=L && p2stateno!=5120
triggerall = ctrl
triggerall = p2bodydist x=[50,80]
trigger1 = p2movetype=I && random<=100

[State -2]
type = changestate
value = 430
triggerall = var(30)
triggerall = statetype!=A
triggerall = p2statetype!=A && p2statetype!=L && p2stateno!=5120
triggerall = ctrl
triggerall = p2bodydist x<=45
trigger1 = p2statetype=S && (p2stateno=[120,169])

[State -2]
type = changestate
value = 210
triggerall = var(30)
triggerall = statetype!=A
triggerall = p2statetype!=A && p2statetype!=L && p2stateno!=5120
triggerall = ctrl
triggerall = p2bodydist x<=35
trigger1 = var(33)>=11 && (p2movetype=A || p2movetype=I)
trigger2 = (p2stateno=52 || p2stateno=100) && enemy,time<=1
trigger3 = p2movetype=A && p2stateno<1000 && random<=500
trigger4 = p2movetype=H

[State -2]
type = changestate
value = 430
triggerall = var(30)
triggerall = statetype!=A
triggerall = p2statetype!=A && p2statetype!=L && p2stateno!=5120
triggerall = ctrl
triggerall = p2bodydist x<=45
trigger1 = p2stateno=100
trigger2 = p2movetype=A && p2stateno<1000 && random<=400
trigger3 = p2movetype=H
trigger4 = p2movetype=A && p2stateno>=1000 && random<=200 && enemy,time>=12

[State -2]
type = changestate
value = 400
triggerall = var(30)
triggerall = statetype!=A
triggerall = p2statetype!=A && p2statetype!=L && p2stateno!=5120
triggerall = ctrl
triggerall = p2bodydist x<=60
trigger1 = p2movetype=I && random<=200

[State -2]
type = changestate
value = 410
triggerall = var(30)
triggerall = statetype!=A
triggerall = p2statetype=A
triggerall = ctrl
triggerall = p2bodydist x=[30,50]
triggerall = p2dist y=[-50,-25]
trigger1 = p2movetype=A
trigger2 = p2movetype!=A && random<=400

[State -2]
type = changestate
value = 1500
triggerall = var(30)
triggerall = statetype!=A
triggerall = p2statetype=A
triggerall = ctrl
triggerall = p2bodydist x=[60,120]
triggerall = p2dist y>=-30
triggerall = enemy,vel y<=0
trigger1 = p2movetype=I && random<=200
trigger2 = p2movetype=A || p2movetype=H

[State -2]
type = changestate
value = 1600
triggerall = var(30)
triggerall = statetype!=A
triggerall = ctrl
triggerall = p2bodydist x>=80
triggerall = !numproj
trigger1 = p2statetype=L && random<=200
trigger2 = p2statetype=A && enemy,vel x<=0 && enemy,vel y<=0 && random<=200
trigger3 = projhittime(1650)=2 && random<=400

[State -2]
type = changestate
value = 100
triggerall = var(30)
triggerall = statetype!=A
triggerall = ctrl
triggerall = p2bodydist x>=30
triggerall = p2statetype!=A
triggerall = stateno!=100 && stateno!=20
trigger1 = numprojID(1650) && random<=400

[State -2]
type = changestate
value = 3100
triggerall = var(30)
triggerall = statetype!=A
triggerall = ctrl
triggerall = p2bodydist x<=55
triggerall = p2statetype=S || p2statetype=C
triggerall = power>=1000
trigger1 = var(33)>=11 && p2movetype=A && p2stateno<1000 && random<=400
trigger2 = var(33)<11 && p2movetype=A && p2stateno<1000 && random<=200 && enemy,time<=1

[State -2]
type = changestate
value = 610
triggerall = var(30)
triggerall = statetype=A
triggerall = ctrl
triggerall = p2statetype!=A
triggerall = p2bodydist x<=55
triggerall = p2dist y=[-40,-10]
trigger1 = 1

[State -2]
type = changestate
value = 630
triggerall = var(30)
triggerall = statetype=A
triggerall = ctrl
triggerall = p2statetype!=A && p2statetype!=L && p2stateno!=5120
triggerall = p2bodydist x<=40
triggerall = p2dist y=[10,30]
triggerall = vel y>=0
trigger1 = 1

[State -2]
type = changestate
value = 1800
triggerall = var(30)
triggerall = statetype=A
triggerall = ctrl
triggerall = p2statetype=A
triggerall = p2bodydist x<=60
triggerall = p2dist y=[-100,30]
trigger1 = 1

;=======================================================
;
[State -1,]
type = ChangeState
value = 120
triggerall = var(30)
triggerall = ctrl
triggerall = statetype != A
Trigger1 = enemy,NumProj && var(33)

[State -2,jump]
type = ChangeState
value = 40
triggerall = var(30)
triggerall = ctrl
triggerall = statetype!=A
triggerall = enemy,NumProj<=1
trigger1 = (p2stateno=100 || p2stateno=52) && (p2dist x=[0,40])
trigger2 = p2bodydist x<=40 && random<=200 && p2stateno=5120 && enemy,time>=3
trigger3 = p2bodydist x>=40 && random<=30 && p2movetype!=A && p2statetype!=A && p2statetype!=L
trigger4 = (p2bodydist x=[0,60]) && random<=50 && frontedgedist<=70 && p2stateno=5201
trigger5 = (p2bodydist x=[0,60]) && random<=50 && backedgedist<=70 && p2stateno=5201
trigger6 = (p2bodydist x=[0,80]) && (p2stateno=[0,699])&& p2movetype=A && random<=50 && p2statetype=C
trigger7 = backedgedist<=50 && p2stateno=5120 && (p2bodydist x=[0,30])


[State -1]
type = ChangeState
value = 100
triggerall = var(30)
triggerall = statetype!=A
triggerall = ctrl
triggerall = stateno!=40
triggerall = stateno!=100 && stateno!=20
triggerall = p2stateno!=5120
triggerall = enemy,NumProj=0
triggerall = p2statetype!=A
trigger1 = p2bodydist X >=160 && p2movetype=H && random <= 80
trigger2 = p2bodydist X >=60 && p2movetype!=A && (P2StateNo = [0,4999]) && random <= 120
trigger3 = p2bodydist X >=60 && p2movetype=I && P2StateNo>=6000 && random <= 100 && p2statetype!=A
trigger4 = p2statetype=L && random<=200

[State -1,]
type = ChangeState
value = 120
triggerall = var(30)
triggerall = ctrl
triggerall = statetype != A
Trigger1 = (p2bodydist x=[0,40]) && p2dist y>=-100
Trigger1 = p2statetype=A && enemy,vel y>=0 && p2movetype=A
Trigger2 = enemy,NumProj>0
Trigger2 = InGuardDist
Trigger3 = (p2bodydist x=[0,80]) && p2movetype=A && random<=500
Trigger3 = InGuardDist

[State -1]
type = ChangeState
value = 80
triggerall = var(30)
triggerall = p2StateType!=L && p2StateType!=A
triggerall = StateType!=A
triggerall = P2Stateno!=[5030,5999]
triggerall = StateNo!=[150,151]
trigger1 = (p2stateno=[0,699]) && (p2bodydist x=[20,70])
trigger1 = ctrl && random<=200 && p2movetype=A && enemy,animtime>=34 && p2statetype!=A
trigger2 = ctrl && enemy,numproj && p2movetype=A && p2dist x<=100 && enemy,animtime>=34 && random<=300
trigger3 = ctrl && enemy,numproj && p2movetype=A && p2dist x>100 && enemy,animtime<34 && random<=50
trigger4 = (p2stateno=[0,699]) && (p2bodydist x=[20,70])
trigger4 = ctrl && random<=80 && p2movetype=A && (enemy,animtime=[23,34]) && p2statetype!=A

[State -1]
type = ChangeState
value = 20
triggerall = var(30)
triggerall = statetype!=A
triggerall = ctrl
triggerall = stateno!=100 && stateno!=20
triggerall = prevstateno!=100
triggerall = p2stateno!=5120 && p2statetype!=L && p2statetype!=A
triggerall = enemy,NumProj<=1
trigger1 = p2bodydist x >=40 && p2movetype!=A && (p2stateno=[0,4999])
trigger2 = p2movetype!=A && p2bodydist x >=20

[State -1]
type = ChangeState
value = 850
triggerall = var(30)
triggerall = !var(31) && !var(32)
triggerall = statetype=S || statetype=C
triggerall = ctrl
triggerall = p2statetype!=A && p2statetype!=L
triggerall = p2stateno!=[5030,5999]
triggerall = p2stateno!=[150,155]
triggerall = p2bodydist x=[0,12]
trigger1 = backedgedist<=80
trigger1 = p2movetype=A
trigger1 = random<=400
trigger2 = backedgedist<=80
trigger2 = p2stateno=100 || p2stateno=52 || p2bodydist x<=0

[State -1]
type = ChangeState
value = 800
triggerall = var(30)
triggerall = !var(31) && !var(32)
triggerall = statetype=S || statetype=C
triggerall = ctrl
triggerall = p2statetype!=A && p2statetype!=L
triggerall = p2stateno!=[5030,5999]
triggerall = p2stateno!=[150,155]
triggerall = p2bodydist x=[0,12]
trigger1 = frontedgedist<=80
trigger1 = p2movetype=A
trigger1 = random<=400
trigger2 = frontedgedist<=80
trigger2 = p2stateno=100 || p2stateno=52 || p2bodydist x<=0

[State -1]
type = ChangeState
value = 105
triggerall = var(30)
triggerall = statetype!=A 
triggerall = ctrl
trigger1 = p2stateno=5120 || p2statetype=L || p2stateno=5201
trigger1 = p2bodydist x=[-40,40]
trigger2 = numenemy=2 && ((enemynear(0),p2bodydist X)=[-50,50])
trigger2 = enemynear(1),stateno=5120 || enemynear(0),stateno=5120
trigger2 = backedgedist>60

[State -1,AB]
type = ChangeState
value = 5200
triggerall = var(30)
triggerall = vel Y>0
triggerall = alive
trigger1 = pos y>=-10
trigger1 = stateno=5050
trigger1 = canrecover
trigger2 = pos y>=-20
trigger2 = stateno=5071

[State -1]
type = ChangeState
value = 720
triggerall = p2bodydist x=[0,50]
triggerall = var(30)
triggerall = power>=1000
triggerall = statetype!=A
trigger1 = prevstateno=150 || prevstateno=152
trigger1 = random<=60
trigger1 = p2stateno=[0,699]
trigger1 = backedgedist<=80 || frontedgedist<=100
