[StateDef -3]   

[State -2, Reset Combo Var]
type = VarSet
trigger1 = P2StateNo != [5000,5199]
v = 7
value = 0
[State 0, VarSet]
type = VarSet
trigger1 = numhelper(1011) = 0
v = 10    ;fv = 10
value = 0

[State 0, VarSet]
type = VarSet
trigger1 = numhelper(1011) >= 1
v = 10    ;fv = 10
value = 1


[State -3]
type = helper
trigger1 = !numhelper(33000)
helpertype = normal
name = "AIconfig"
ID = 33000
stateno = 33000
postype = p1
pos = 0,0
facing = -1
ownpal = 1
Ignorehitpause = 1
pausemovetime=2147483647
supermovetime=2147483647
SprPriority = 7
persistent = 0

[State -3]
type = changestate
Trigger1= ishelper(33000)&&stateno != 33000
value = 33000


;Counter
[State -1, Stand Weak]
type = ChangeState
value = 200
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 3*enemynear,vel y + helper(33000),fvar(39)*3*4*0.5 >= -175
triggerall = p2movetype = A && p2stateno=helper(33000),var(2) && enemynear,time < helper(33000),var(3)-3
triggerall = enemynear,time >= 60-8*AILevel && random <= 75*AILevel
triggerall = p2bodydist x-3*(vel x+enemynear,vel x) = [13,116]
triggerall = !numhelper(33000) || helper(33000),var(16) <= -59
triggerall = 1
triggerall = 1
trigger1 = Statetype != A
trigger1 = ctrl
trigger2 = stateno = 200
trigger2 = time > 6



[State -1, Stand Mid]
type = ChangeState
value = 210
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 2*enemynear,vel y + helper(33000),fvar(39)*2*3*0.5 >= -82
triggerall = p2movetype = A && p2stateno=helper(33000),var(2) && enemynear,time < helper(33000),var(3)-2
triggerall = enemynear,time >= 60-8*AILevel && random <= 75*AILevel
triggerall = p2bodydist x-2*(vel x+enemynear,vel x) = [9,60]
triggerall = 1
triggerall = 1
trigger1 = Statetype != A
trigger1 = ctrl
trigger2 = stateno = 200
trigger2 = time > 6



[State -1, Stand Strong]
type = ChangeState
value = 220
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 3*enemynear,vel y + helper(33000),fvar(39)*3*4*0.5 >= -111
triggerall = p2movetype = A && p2stateno=helper(33000),var(2) && enemynear,time < helper(33000),var(3)-3
triggerall = enemynear,time >= 60-8*AILevel && random <= 75*AILevel
triggerall = p2bodydist x-3*(vel x+enemynear,vel x) = [12,139]
triggerall = !numhelper(33000) || helper(33000),var(16) <= -35
triggerall = 1
triggerall = 1
trigger1 = Statetype != A
trigger1 = ctrl
trigger2 = (stateno = 200) && time > 2
trigger3 = (stateno = 210) && time > 3



[State -1, Crouch Weak]
type = ChangeState
value = 400
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 3*enemynear,vel y + helper(33000),fvar(39)*3*4*0.5 >= -139
triggerall = p2movetype = A && p2stateno=helper(33000),var(2) && enemynear,time < helper(33000),var(3)-3
triggerall = enemynear,time >= 60-8*AILevel && random <= 75*AILevel
triggerall = p2bodydist x-3*(vel x+enemynear,vel x) = [12,98]
triggerall = !numhelper(33000) || helper(33000),var(16) <= -45
triggerall = 1
triggerall = 1
trigger1 = Statetype != A
trigger1 = ctrl
trigger2 = stateno = 400
trigger2 = time > 6



[State -1, Crouch Mid]
type = ChangeState
value = 410
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 3*enemynear,vel y + helper(33000),fvar(39)*3*4*0.5 >= -139
triggerall = p2movetype = A && p2stateno=helper(33000),var(2) && enemynear,time < helper(33000),var(3)-3
triggerall = enemynear,time >= 60-8*AILevel && random <= 75*AILevel
triggerall = p2bodydist x-3*(vel x+enemynear,vel x) = [12,98]
triggerall = !numhelper(33000) || helper(33000),var(16) <= -45
triggerall = 1
triggerall = 1
trigger1 = Statetype != A
trigger1 = ctrl
trigger2 = stateno = 400
trigger2 = time > 6



[State -1, Crouch Strong]
type = ChangeState
value = 420
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 4*enemynear,vel y + helper(33000),fvar(39)*4*5*0.5 >= -54
triggerall = p2movetype = A && p2stateno=helper(33000),var(2) && enemynear,time < helper(33000),var(3)-4
triggerall = enemynear,time >= 60-8*AILevel && random <= 75*AILevel
triggerall = p2dist x >= (p2statetype=A||statetype=A)*4*(vel x+enemynear,vel x) && p2bodydist x <= 92+4*(vel x+enemynear,vel x)
triggerall = 1
triggerall = 1
trigger1 = Statetype != A
trigger1 = ctrl
trigger2 = (stateno = 400) && time > 2
trigger3 = (stateno = 410) && time > 3



[State -1, Air Weak]
type = ChangeState
value = 600
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y - 5*(vel y - enemynear,vel y) + (helper(33000),fvar(39)-helper(33000),fvar(37))*5*6*0.5 = [-78,12]
triggerall = p2movetype = A && p2stateno=helper(33000),var(2) && enemynear,time < helper(33000),var(3)-5
triggerall = enemynear,time >= 60-8*AILevel && random <= 75*AILevel
triggerall = p2bodydist x-5*(vel x+enemynear,vel x) = [12,80]
triggerall = 1
triggerall = 1
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 600
trigger2 = time > 6



[State -1, Air Mid]
type = ChangeState
value = 610
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y - 5*(vel y - enemynear,vel y) + (helper(33000),fvar(39)-helper(33000),fvar(37))*5*6*0.5 = [-101,-24]
triggerall = p2movetype = A && p2stateno=helper(33000),var(2) && enemynear,time < helper(33000),var(3)-5
triggerall = enemynear,time >= 60-8*AILevel && random <= 75*AILevel
triggerall = p2bodydist x-5*(vel x+enemynear,vel x) = [19,117]
triggerall = 1
triggerall = 1
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 600
trigger2 = time > 6



[State -1, Air Strong]
type = ChangeState
value = 620
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y - 3*(vel y - enemynear,vel y) + (helper(33000),fvar(39)-helper(33000),fvar(37))*3*4*0.5 = [-92,-11]
triggerall = p2movetype = A && p2stateno=helper(33000),var(2) && enemynear,time < helper(33000),var(3)-3
triggerall = enemynear,time >= 60-8*AILevel && random <= 75*AILevel
triggerall = p2bodydist x-3*(vel x+enemynear,vel x) = [9,101]
triggerall = 1
triggerall = 1
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = (stateno = 600) && time > 2
trigger3 = (stateno = 610) && time > 3



[State -1, Throw]
type = ChangeState
value = 800
triggerall = AILevel > 0 && roundstate = 2
triggerall = 1
triggerall = p2statetype != A
triggerall = p2movetype = A && p2stateno=helper(33000),var(2) && enemynear,time < helper(33000),var(3)-5
triggerall = enemynear,time >= 60-8*AILevel && random <= 75*AILevel
triggerall = helper(33000),var(18) <= 0
triggerall = p2bodydist x-5*(vel x+enemynear,vel x) = [18,91]
triggerall = Statetype != A
triggerall = ctrl
trigger1 = 1
trigger1 = p2bodydist X < 3
trigger1 = (p2Statetype != A) || (p2Statetype != A)
trigger1 = p2movetype != H
trigger2 = 1
trigger2 = p2bodydist X < 5
trigger2 = (p2Statetype != A) || (p2Statetype != A)
trigger2 = p2movetype != H




[State -1, What a Raid]
type = ChangeState
value = 900
triggerall = p2bodydist y + 10*enemynear,vel y + helper(33000),fvar(39)*10*11*0.5 >= -222
triggerall = p2movetype = A && p2stateno=helper(33000),var(2) && enemynear,time < helper(33000),var(3)-10
triggerall = enemynear,time >= 60-8*AILevel && random <= 75*AILevel
triggerall = p2bodydist x-10*enemynear,vel x = [15,85]
triggerall = !numhelper(33000) || helper(33000),var(16) <= -68
triggerall = AILevel > 0 && roundstate = 2
triggerall = 1
trigger1 = ctrl
trigger1 = Statetype != A



[State -1, What a Raid]
type = ChangeState
value = 900
triggerall = p2bodydist y + 10*enemynear,vel y + helper(33000),fvar(39)*10*11*0.5 >= -222
triggerall = p2movetype = A && p2stateno=helper(33000),var(2) && enemynear,time < helper(33000),var(3)-10
triggerall = enemynear,time >= 60-8*AILevel && random <= 75*AILevel
triggerall = p2bodydist x-10*enemynear,vel x = [15,85]
triggerall = !numhelper(33000) || helper(33000),var(16) <= -68
triggerall = AILevel > 0 && roundstate = 2
trigger1 = 1
trigger2 = 1
triggerall = 1
triggerall = statetype != A
triggerall = ctrl



[State -1, Gohadoken]
type = ChangeState
value = 1000
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 9*enemynear,vel y + helper(33000),fvar(39)*9*10*0.5 >= -121
triggerall = p2movetype = A && p2stateno=helper(33000),var(2) && enemynear,time < helper(33000),var(3)-9
triggerall = enemynear,time >= 60-8*AILevel && random <= 75*AILevel
triggerall = p2bodydist x-9*enemynear,vel x = [-4,102]
triggerall = var(5) = 0
triggerall = 1
trigger1 = ctrl
trigger1 = var(1) 
trigger1 = statetype != A



[State -1, The Adamant]
type = ChangeState
value = 1010
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 6*enemynear,vel y + helper(33000),fvar(39)*6*7*0.5 >= -219
triggerall = p2movetype = A && p2stateno=helper(33000),var(2) && enemynear,time < helper(33000),var(3)-6
triggerall = enemynear,time >= 60-8*AILevel && random <= 75*AILevel
triggerall = p2dist x >= (p2statetype=A||statetype=A)*6*(vel x+enemynear,vel x) && p2bodydist x <= 112+6*(vel x+enemynear,vel x)
triggerall = var(5) = 0
triggerall = 1
trigger1 = ctrl
trigger1 = var(1) 
trigger1 = statetype != A



[State -1, Gohadoken]
type = ChangeState
value = 1015
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 6*enemynear,vel y + helper(33000),fvar(39)*6*7*0.5 >= -219
triggerall = p2movetype = A && p2stateno=helper(33000),var(2) && enemynear,time < helper(33000),var(3)-6
triggerall = enemynear,time >= 60-8*AILevel && random <= 75*AILevel
triggerall = p2dist x >= (p2statetype=A||statetype=A)*6*(vel x+enemynear,vel x) && p2bodydist x <= 112+6*(vel x+enemynear,vel x)
triggerall = var(5) = 1
triggerall = 1
trigger1 = ctrl
trigger1 = var(1) 
trigger1 = statetype != A



[State -1, The Adamant EX]
type = ChangeState
value = 1015
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 6*enemynear,vel y + helper(33000),fvar(39)*6*7*0.5 >= -219
triggerall = p2movetype = A && p2stateno=helper(33000),var(2) && enemynear,time < helper(33000),var(3)-6
triggerall = enemynear,time >= 60-8*AILevel && random <= 75*AILevel
triggerall = p2dist x >= (p2statetype=A||statetype=A)*6*(vel x+enemynear,vel x) && p2bodydist x <= 112+6*(vel x+enemynear,vel x)
triggerall = 1
triggerall = power >= 500
trigger1 = ctrl
trigger1 = var(1) 
trigger1 = statetype != A



[State -1, Zanku Hadoken]
type = ChangeState
value = 1030
triggerall = AILevel > 0 && roundstate = 2
triggerall = var(5) = 0
triggerall = p2bodydist y - 5*(vel y - enemynear,vel y) + (helper(33000),fvar(39)-helper(33000),fvar(37))*5*6*0.5 = [-106,9]
triggerall = p2movetype = A && p2stateno=helper(33000),var(2) && enemynear,time < helper(33000),var(3)-5
triggerall = enemynear,time >= 60-8*AILevel && random <= 75*AILevel
triggerall = p2dist x >= (p2statetype=A||statetype=A)*5*(vel x+enemynear,vel x) && p2bodydist x <= 95+5*(vel x+enemynear,vel x)
triggerall = 1
triggerall = 1
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 610



[State -1, Gohadoken]
type = ChangeState
value = 1035
triggerall = AILevel > 0 && roundstate = 2
triggerall = var(5) = 1
triggerall = 1
triggerall = p2bodydist y - 7*(vel y - enemynear,vel y) + (helper(33000),fvar(39)-helper(33000),fvar(37))*7*8*0.5 = [-106,9]
triggerall = p2movetype = A && p2stateno=helper(33000),var(2) && enemynear,time < helper(33000),var(3)-7
triggerall = enemynear,time >= 60-8*AILevel && random <= 75*AILevel
triggerall = p2dist x >= (p2statetype=A||statetype=A)*7*enemynear,vel x && p2bodydist x <= 99+7*enemynear,vel x
triggerall = pos Y+7*vel y+const(movement.yaccel)*7*8*0.5 < 0
triggerall = 1
trigger2 = stateno = 610
trigger1 = statetype = A



[State -1, Zanku Hadoken EX]
type = ChangeState
value = 1035
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y - 7*(vel y - enemynear,vel y) + (helper(33000),fvar(39)-helper(33000),fvar(37))*7*8*0.5 = [-106,9]
triggerall = p2movetype = A && p2stateno=helper(33000),var(2) && enemynear,time < helper(33000),var(3)-7
triggerall = enemynear,time >= 60-8*AILevel && random <= 75*AILevel
triggerall = p2dist x >= (p2statetype=A||statetype=A)*7*enemynear,vel x && p2bodydist x <= 99+7*enemynear,vel x
triggerall = pos Y+7*vel y+const(movement.yaccel)*7*8*0.5 < 0
triggerall = 1
triggerall = 1
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 610



[State -1, No Heaven]
type = ChangeState
value = 1040
triggerall = p2statetype != A || p2bodydist y = [-223,14]
triggerall = p2movetype = A && !enemynear,hitdefattr = sca,aa,ap,at
triggerall = p2stateno < 2000 || p2stateno = helper(33000),var(2)
triggerall = enemynear,time >= 60-8*AILevel && random <= 75*AILevel
triggerall = p2bodydist x = [-5,39]
triggerall = AILevel > 0 && roundstate = 2
triggerall = 1
trigger1 = ctrl
trigger1 = var(1) 
trigger1 = statetype != A



[State -1, Shun Goku Satsu]
type = ChangeState
value = 3000
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2statetype != A
triggerall = p2movetype = A && p2stateno=helper(33000),var(2) && enemynear,time < helper(33000),var(3)-3
triggerall = enemynear,time >= 60-8*AILevel && random <= 75*AILevel
triggerall = helper(33000),var(18) <= 0
triggerall = p2bodydist x-3*enemynear,vel x = [-9,61]
triggerall = 1
triggerall = power >= 1000
trigger1 = ctrl
trigger1 = statetype != A
trigger2 = hitdefattr = SC, NA, SA, HA
trigger2 = movecontact
trigger3 = stateno = [200,299]



[State -1, The Warth of Shun Goku Satsu]
type = ChangeState
value = 3005
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2statetype != A
triggerall = p2movetype = A && p2stateno=helper(33000),var(2) && enemynear,time < helper(33000),var(3)-3
triggerall = enemynear,time >= 60-8*AILevel && random <= 75*AILevel
triggerall = helper(33000),var(18) <= 0
triggerall = p2bodydist x-3*enemynear,vel x = [-9,61]
triggerall = 1
triggerall = power >= 2000
trigger1 = ctrl
trigger1 = statetype != A
trigger2 = hitdefattr = SC, NA, SA, HA
trigger2 = movecontact
trigger3 = stateno = [200,299]



[State -1, Metsu Shoryuken]
type = ChangeState
value = 3012
triggerall = AILevel > 0 && roundstate = 2
triggerall = var(5) = 0
triggerall = p2bodydist y + 7*enemynear,vel y + helper(33000),fvar(39)*7*8*0.5 >= -138
triggerall = p2movetype = A && p2stateno=helper(33000),var(2) && enemynear,time < helper(33000),var(3)-7
triggerall = enemynear,time >= 60-8*AILevel && random <= 75*AILevel
triggerall = p2bodydist x-7*enemynear,vel x = [11,66]
triggerall = !numhelper(33000) || helper(33000),var(16) <= -45
triggerall = 1
triggerall = power >= 3000
trigger1 = ctrl
trigger1 = statetype != A
trigger2 = hitdefattr = SC, NA, SA, HA
trigger2 = movecontact
trigger3 = stateno = [200,299]



[State -1, Misogi]
type = ChangeState
value = 3020
triggerall = AILevel > 0 && roundstate = 2
triggerall = var(5) = 1
triggerall = p2bodydist y + 5*enemynear,vel y + helper(33000),fvar(39)*5*6*0.5 >= -537
triggerall = p2movetype = A && p2stateno=helper(33000),var(2) && enemynear,time < helper(33000),var(3)-5
triggerall = enemynear,time >= 60-8*AILevel && random <= 75*AILevel
triggerall = p2bodydist x-5*enemynear,vel x = [-337,425]
triggerall = 1
triggerall = power >= 1000
trigger1 = ctrl
trigger1 = statetype != A
trigger2 = hitdefattr = SC, NA, SA, HA
trigger2 = movecontact
trigger3 = stateno = [200,299]



[State -1,Unamed Triple Punch]
type = ChangeState
value = 3030
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 8*enemynear,vel y + helper(33000),fvar(39)*8*9*0.5 >= -216
triggerall = p2movetype = A && p2stateno=helper(33000),var(2) && enemynear,time < helper(33000),var(3)-8
triggerall = enemynear,time >= 60-8*AILevel && random <= 75*AILevel
triggerall = p2bodydist x-8*enemynear,vel x = [16,108]
triggerall = 1
triggerall = power >= 1000
trigger1 = ctrl
trigger1 = statetype != A
trigger2 = hitdefattr = SC, NA, SA, HA
trigger2 = movecontact
trigger3 = stateno = [200,299]





;Guard
[State -3,Guard]
type = changestate
value = 120
triggerall = AILevel > 0 && roundstate=2 && random <= 250*AILevel
triggerall = ctrl || stateno = [0,20]
triggerall = helper(33000),var(1) <= 1 || helper(33000),var(18) < 0 || random%6=0 || (prevstateno != [120,155]) || stateno != [120,155]
trigger1 = inguarddist
trigger2 = numhelper(33000)&& helper(33000),inguarddist


;Chance
[State -1, Stand Weak]
type = ChangeState
value = 200
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 3*enemynear,vel y + helper(33000),fvar(39)*3*4*0.5 >= -175
triggerall = p2movetype = A || p2movetype = I
triggerall = p2statetype != L && !enemynear,ctrl && enemynear,animtime < -3
triggerall = !inguarddist || helper(33000),var(1) > 1 && (p2statetype != A || prevstateno = [120,159]) && random%3 < 2
triggerall = random <= 113*AILevel
triggerall = random%2=0 || enemynear,time+enemynear,animtime >= 0 || enemynear,animtime <= -4
triggerall = p2bodydist x-3*(vel x+enemynear,vel x) = [13,116]
triggerall = !numhelper(33000) || helper(33000),var(16) <= -59
triggerall = 1
triggerall = 1
trigger1 = Statetype != A
trigger1 = ctrl
trigger2 = stateno = 200
trigger2 = time > 6



[State -1, Stand Mid]
type = ChangeState
value = 210
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 2*enemynear,vel y + helper(33000),fvar(39)*2*3*0.5 >= -82
triggerall = p2movetype = A || p2movetype = I && p2stateno > 160
triggerall = p2statetype != L && !enemynear,ctrl && enemynear,animtime < -2
triggerall = !inguarddist || helper(33000),var(1) > 1 && (p2statetype != A || prevstateno = [120,159]) && random%3 < 2
triggerall = random <= 113*AILevel
triggerall = random%2=0 || enemynear,time+enemynear,animtime >= 0 || enemynear,animtime <= -3
triggerall = p2bodydist x-2*(vel x+enemynear,vel x) = [9,60]
triggerall = 1
triggerall = 1
trigger1 = Statetype != A
trigger1 = ctrl
trigger2 = stateno = 200
trigger2 = time > 6



[State -1, Stand Strong]
type = ChangeState
value = 220
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 3*enemynear,vel y + helper(33000),fvar(39)*3*4*0.5 >= -111
triggerall = p2movetype = A || p2movetype = I && p2stateno > 160
triggerall = p2statetype != L && !enemynear,ctrl && enemynear,animtime < -3
triggerall = !inguarddist || helper(33000),var(1) > 1 && (p2statetype != A || prevstateno = [120,159]) && random%3 < 2
triggerall = random <= 113*AILevel
triggerall = random%2=0 || enemynear,time+enemynear,animtime >= 0 || enemynear,animtime <= -4
triggerall = p2bodydist x-3*(vel x+enemynear,vel x) = [12,139]
triggerall = !numhelper(33000) || helper(33000),var(16) <= -35
triggerall = 1
triggerall = 1
trigger1 = Statetype != A
trigger1 = ctrl
trigger2 = (stateno = 200) && time > 2
trigger3 = (stateno = 210) && time > 3



[State -1, Crouch Weak]
type = ChangeState
value = 400
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 3*enemynear,vel y + helper(33000),fvar(39)*3*4*0.5 >= -139
triggerall = p2movetype = A || p2movetype = I
triggerall = p2statetype != L && !enemynear,ctrl && enemynear,animtime < -3
triggerall = !inguarddist || helper(33000),var(1) > 1 && (p2statetype != A || prevstateno = [120,159]) && random%3 < 2
triggerall = random <= 113*AILevel
triggerall = random%2=0 || enemynear,time+enemynear,animtime >= 0 || enemynear,animtime <= -4
triggerall = p2bodydist x-3*(vel x+enemynear,vel x) = [12,98]
triggerall = !numhelper(33000) || helper(33000),var(16) <= -45
triggerall = 1
triggerall = 1
trigger1 = Statetype != A
trigger1 = ctrl
trigger2 = stateno = 400
trigger2 = time > 6



[State -1, Crouch Mid]
type = ChangeState
value = 410
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 3*enemynear,vel y + helper(33000),fvar(39)*3*4*0.5 >= -139
triggerall = p2movetype = A || p2movetype = I
triggerall = p2statetype != L && !enemynear,ctrl && enemynear,animtime < -3
triggerall = !inguarddist || helper(33000),var(1) > 1 && (p2statetype != A || prevstateno = [120,159]) && random%3 < 2
triggerall = random <= 113*AILevel
triggerall = random%2=0 || enemynear,time+enemynear,animtime >= 0 || enemynear,animtime <= -4
triggerall = p2bodydist x-3*(vel x+enemynear,vel x) = [12,98]
triggerall = !numhelper(33000) || helper(33000),var(16) <= -45
triggerall = 1
triggerall = 1
trigger1 = Statetype != A
trigger1 = ctrl
trigger2 = stateno = 400
trigger2 = time > 6



[State -1, Crouch Strong]
type = ChangeState
value = 420
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 4*enemynear,vel y + helper(33000),fvar(39)*4*5*0.5 >= -54
triggerall = p2movetype = A || p2movetype = I && p2stateno > 160
triggerall = p2statetype != L && !enemynear,ctrl && enemynear,animtime < -4
triggerall = !inguarddist || helper(33000),var(1) > 1 && (p2statetype != A || prevstateno = [120,159]) && random%3 < 2
triggerall = random <= 113*AILevel
triggerall = random%2=0 || enemynear,time+enemynear,animtime >= 0 || enemynear,animtime <= -5
triggerall = p2dist x >= (p2statetype=A||statetype=A)*4*(vel x+enemynear,vel x) && p2bodydist x <= 92+4*(vel x+enemynear,vel x)
triggerall = 1
triggerall = 1
trigger1 = Statetype != A
trigger1 = ctrl
trigger2 = (stateno = 400) && time > 2
trigger3 = (stateno = 410) && time > 3



[State -1, Air Weak]
type = ChangeState
value = 600
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y - 5*(vel y - enemynear,vel y) + (helper(33000),fvar(39)-helper(33000),fvar(37))*5*6*0.5 = [-78,12]
triggerall = p2movetype = A || p2movetype = I
triggerall = p2statetype != L && !enemynear,ctrl && enemynear,animtime < -5
triggerall = !inguarddist || helper(33000),var(1) > 1 && (p2statetype != A || prevstateno = [120,159]) && random%3 < 2
triggerall = random <= 113*AILevel
triggerall = random%2=0 || enemynear,time+enemynear,animtime >= 0 || enemynear,animtime <= -6
triggerall = p2bodydist x-5*(vel x+enemynear,vel x) = [12,80]
triggerall = 1
triggerall = 1
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 600
trigger2 = time > 6



[State -1, Air Mid]
type = ChangeState
value = 610
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y - 5*(vel y - enemynear,vel y) + (helper(33000),fvar(39)-helper(33000),fvar(37))*5*6*0.5 = [-101,-24]
triggerall = p2movetype = A || p2movetype = I
triggerall = p2statetype != L && !enemynear,ctrl && enemynear,animtime < -5
triggerall = !inguarddist || helper(33000),var(1) > 1 && (p2statetype != A || prevstateno = [120,159]) && random%3 < 2
triggerall = random <= 113*AILevel
triggerall = random%2=0 || enemynear,time+enemynear,animtime >= 0 || enemynear,animtime <= -6
triggerall = p2bodydist x-5*(vel x+enemynear,vel x) = [19,117]
triggerall = 1
triggerall = 1
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 600
trigger2 = time > 6



[State -1, Air Strong]
type = ChangeState
value = 620
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y - 3*(vel y - enemynear,vel y) + (helper(33000),fvar(39)-helper(33000),fvar(37))*3*4*0.5 = [-92,-11]
triggerall = p2movetype = A || p2movetype = I
triggerall = p2statetype != L && !enemynear,ctrl && enemynear,animtime < -3
triggerall = !inguarddist || helper(33000),var(1) > 1 && (p2statetype != A || prevstateno = [120,159]) && random%3 < 2
triggerall = random <= 113*AILevel
triggerall = random%2=0 || enemynear,time+enemynear,animtime >= 0 || enemynear,animtime <= -4
triggerall = p2bodydist x-3*(vel x+enemynear,vel x) = [9,101]
triggerall = 1
triggerall = 1
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = (stateno = 600) && time > 2
trigger3 = (stateno = 610) && time > 3



[State -1, Throw]
type = ChangeState
value = 800
triggerall = AILevel > 0 && roundstate = 2
triggerall = 1
triggerall = p2statetype != A
triggerall = p2movetype = A || p2movetype = I
triggerall = p2statetype != L && !enemynear,ctrl && enemynear,animtime < -5
triggerall = !inguarddist || helper(33000),var(1) > 1 && (p2statetype != A || prevstateno = [120,159]) && random%3 < 2
triggerall = helper(33000),var(18) <= 0
triggerall = random <= 113*AILevel
triggerall = random%2=0 || enemynear,time+enemynear,animtime >= 0 || enemynear,animtime <= -6
triggerall = p2bodydist x-5*(vel x+enemynear,vel x) = [18,91]
triggerall = Statetype != A
triggerall = ctrl
trigger1 = 1
trigger1 = p2bodydist X < 3
trigger1 = (p2Statetype != A) || (p2Statetype != A)
trigger1 = p2movetype != H
trigger2 = 1
trigger2 = p2bodydist X < 5
trigger2 = (p2Statetype != A) || (p2Statetype != A)
trigger2 = p2movetype != H




[State -1, What a Raid]
type = ChangeState
value = 900
triggerall = p2bodydist y + 10*enemynear,vel y + helper(33000),fvar(39)*10*11*0.5 >= -222
triggerall = p2movetype = A || p2movetype = I && p2stateno > 160
triggerall = p2statetype != L && !enemynear,ctrl && enemynear,animtime < -10
triggerall = !inguarddist || helper(33000),var(1) > 1 && (p2statetype != A || prevstateno = [120,159]) && random%3 < 2
triggerall = random <= 113*AILevel
triggerall = random%2=0 || enemynear,time+enemynear,animtime >= 0 || enemynear,animtime <= -11
triggerall = p2bodydist x-10*enemynear,vel x = [15,85]
triggerall = !numhelper(33000) || helper(33000),var(16) <= -68
triggerall = AILevel > 0 && roundstate = 2
triggerall = 1
trigger1 = ctrl
trigger1 = Statetype != A



[State -1, What a Raid]
type = ChangeState
value = 900
triggerall = p2bodydist y + 10*enemynear,vel y + helper(33000),fvar(39)*10*11*0.5 >= -222
triggerall = p2movetype = A || p2movetype = I && p2stateno > 160
triggerall = p2statetype != L && !enemynear,ctrl && enemynear,animtime < -10
triggerall = !inguarddist || helper(33000),var(1) > 1 && (p2statetype != A || prevstateno = [120,159]) && random%3 < 2
triggerall = random <= 113*AILevel
triggerall = random%2=0 || enemynear,time+enemynear,animtime >= 0 || enemynear,animtime <= -11
triggerall = p2bodydist x-10*enemynear,vel x = [15,85]
triggerall = !numhelper(33000) || helper(33000),var(16) <= -68
triggerall = AILevel > 0 && roundstate = 2
trigger1 = 1
trigger2 = 1
triggerall = 1
triggerall = statetype != A
triggerall = ctrl



[State -1, Gohadoken]
type = ChangeState
value = 1000
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 9*enemynear,vel y + helper(33000),fvar(39)*9*10*0.5 >= -121
triggerall = p2movetype = A || p2movetype = I && p2stateno > 160
triggerall = p2statetype != L && !enemynear,ctrl && enemynear,animtime < -9
triggerall = !inguarddist || helper(33000),var(1) > 1 && (p2statetype != A || prevstateno = [120,159]) && random%3 < 2
triggerall = random <= 113*AILevel
triggerall = random%2=0 || enemynear,time+enemynear,animtime >= 0 || enemynear,animtime <= -10
triggerall = p2bodydist x-9*enemynear,vel x = [-4,102]
triggerall = var(5) = 0
triggerall = 1
trigger1 = ctrl
trigger1 = var(1) 
trigger1 = statetype != A



[State -1, Gohadoken]
type = ChangeState
value = 1005
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 21*enemynear,vel y + helper(33000),fvar(39)*21*22*0.5 >= -124
triggerall = p2movetype = A || p2movetype = I && p2stateno > 160
triggerall = p2statetype != L && !enemynear,ctrl && enemynear,animtime < -21
triggerall = !inguarddist || helper(33000),var(1) > 1 && (p2statetype != A || prevstateno = [120,159]) && random%3 < 2
triggerall = random <= 113*AILevel
triggerall = random%2=0 || enemynear,time+enemynear,animtime >= 0 || enemynear,animtime <= -22
triggerall = p2bodydist x-21*enemynear,vel x = [-13,186]
triggerall = var(5) = 1
triggerall = 1
trigger1 = ctrl
trigger1 = var(1) 
trigger1 = statetype != A



[State -1, Gohadoken EX]
type = ChangeState
value = 1005
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 21*enemynear,vel y + helper(33000),fvar(39)*21*22*0.5 >= -124
triggerall = p2movetype = A || p2movetype = I && p2stateno > 160
triggerall = p2statetype != L && !enemynear,ctrl && enemynear,animtime < -21
triggerall = !inguarddist || helper(33000),var(1) > 1 && (p2statetype != A || prevstateno = [120,159]) && random%3 < 2
triggerall = random <= 113*AILevel
triggerall = random%2=0 || enemynear,time+enemynear,animtime >= 0 || enemynear,animtime <= -22
triggerall = p2bodydist x-21*enemynear,vel x = [-13,186]
triggerall = 1
triggerall = power >= 500
trigger1 = ctrl
trigger1 = var(1) 
trigger1 = statetype != A



[State -1, The Adamant]
type = ChangeState
value = 1010
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 6*enemynear,vel y + helper(33000),fvar(39)*6*7*0.5 >= -219
triggerall = p2movetype = A || p2movetype = I && p2stateno > 160
triggerall = p2statetype != L && !enemynear,ctrl && enemynear,animtime < -6
triggerall = !inguarddist || helper(33000),var(1) > 1 && (p2statetype != A || prevstateno = [120,159]) && random%3 < 2
triggerall = random <= 113*AILevel
triggerall = random%2=0 || enemynear,time+enemynear,animtime >= 0 || enemynear,animtime <= -7
triggerall = p2dist x >= (p2statetype=A||statetype=A)*6*(vel x+enemynear,vel x) && p2bodydist x <= 112+6*(vel x+enemynear,vel x)
triggerall = var(5) = 0
triggerall = 1
trigger1 = ctrl
trigger1 = var(1) 
trigger1 = statetype != A



[State -1, Gohadoken]
type = ChangeState
value = 1015
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 6*enemynear,vel y + helper(33000),fvar(39)*6*7*0.5 >= -219
triggerall = p2movetype = A || p2movetype = I && p2stateno > 160
triggerall = p2statetype != L && !enemynear,ctrl && enemynear,animtime < -6
triggerall = !inguarddist || helper(33000),var(1) > 1 && (p2statetype != A || prevstateno = [120,159]) && random%3 < 2
triggerall = random <= 113*AILevel
triggerall = random%2=0 || enemynear,time+enemynear,animtime >= 0 || enemynear,animtime <= -7
triggerall = p2dist x >= (p2statetype=A||statetype=A)*6*(vel x+enemynear,vel x) && p2bodydist x <= 112+6*(vel x+enemynear,vel x)
triggerall = var(5) = 1
triggerall = 1
trigger1 = ctrl
trigger1 = var(1) 
trigger1 = statetype != A



[State -1, The Adamant EX]
type = ChangeState
value = 1015
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 6*enemynear,vel y + helper(33000),fvar(39)*6*7*0.5 >= -219
triggerall = p2movetype = A || p2movetype = I && p2stateno > 160
triggerall = p2statetype != L && !enemynear,ctrl && enemynear,animtime < -6
triggerall = !inguarddist || helper(33000),var(1) > 1 && (p2statetype != A || prevstateno = [120,159]) && random%3 < 2
triggerall = random <= 113*AILevel
triggerall = random%2=0 || enemynear,time+enemynear,animtime >= 0 || enemynear,animtime <= -7
triggerall = p2dist x >= (p2statetype=A||statetype=A)*6*(vel x+enemynear,vel x) && p2bodydist x <= 112+6*(vel x+enemynear,vel x)
triggerall = 1
triggerall = power >= 500
trigger1 = ctrl
trigger1 = var(1) 
trigger1 = statetype != A



[State -1, Zanku Hadoken]
type = ChangeState
value = 1030
triggerall = AILevel > 0 && roundstate = 2
triggerall = var(5) = 0
triggerall = p2bodydist y - 5*(vel y - enemynear,vel y) + (helper(33000),fvar(39)-helper(33000),fvar(37))*5*6*0.5 = [-106,9]
triggerall = p2movetype = A || p2movetype = I
triggerall = p2statetype != L && !enemynear,ctrl && enemynear,animtime < -5
triggerall = !inguarddist || helper(33000),var(1) > 1 && (p2statetype != A || prevstateno = [120,159]) && random%3 < 2
triggerall = random <= 113*AILevel
triggerall = random%2=0 || enemynear,time+enemynear,animtime >= 0 || enemynear,animtime <= -6
triggerall = p2dist x >= (p2statetype=A||statetype=A)*5*(vel x+enemynear,vel x) && p2bodydist x <= 95+5*(vel x+enemynear,vel x)
triggerall = 1
triggerall = 1
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 610



[State -1, Gohadoken]
type = ChangeState
value = 1035
triggerall = AILevel > 0 && roundstate = 2
triggerall = var(5) = 1
triggerall = 1
triggerall = p2bodydist y - 7*(vel y - enemynear,vel y) + (helper(33000),fvar(39)-helper(33000),fvar(37))*7*8*0.5 = [-106,9]
triggerall = p2movetype = A || p2movetype = I && p2stateno > 160
triggerall = p2statetype != L && !enemynear,ctrl && enemynear,animtime < -7
triggerall = !inguarddist || helper(33000),var(1) > 1 && (p2statetype != A || prevstateno = [120,159]) && random%3 < 2
triggerall = random <= 113*AILevel
triggerall = random%2=0 || enemynear,time+enemynear,animtime >= 0 || enemynear,animtime <= -8
triggerall = p2dist x >= (p2statetype=A||statetype=A)*7*enemynear,vel x && p2bodydist x <= 99+7*enemynear,vel x
triggerall = pos Y+7*vel y+const(movement.yaccel)*7*8*0.5 < 0
triggerall = 1
trigger2 = stateno = 610
trigger1 = statetype = A



[State -1, Zanku Hadoken EX]
type = ChangeState
value = 1035
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y - 7*(vel y - enemynear,vel y) + (helper(33000),fvar(39)-helper(33000),fvar(37))*7*8*0.5 = [-106,9]
triggerall = p2movetype = A || p2movetype = I && p2stateno > 160
triggerall = p2statetype != L && !enemynear,ctrl && enemynear,animtime < -7
triggerall = !inguarddist || helper(33000),var(1) > 1 && (p2statetype != A || prevstateno = [120,159]) && random%3 < 2
triggerall = random <= 113*AILevel
triggerall = random%2=0 || enemynear,time+enemynear,animtime >= 0 || enemynear,animtime <= -8
triggerall = p2dist x >= (p2statetype=A||statetype=A)*7*enemynear,vel x && p2bodydist x <= 99+7*enemynear,vel x
triggerall = pos Y+7*vel y+const(movement.yaccel)*7*8*0.5 < 0
triggerall = 1
triggerall = 1
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 610



[State -1, No Heaven]
type = ChangeState
value = 1040
triggerall = p2statetype != A || p2bodydist y = [-223,14]
triggerall = p2movetype = A || p2movetype = I && p2stateno > 160
triggerall = p2statetype != L && !enemynear,ctrl && enemynear,animtime < -0
triggerall = !inguarddist || helper(33000),var(1) > 1 && (p2statetype != A || prevstateno = [120,159]) && random%3 < 2
triggerall = random <= 113*AILevel
triggerall = random%2=0 || enemynear,time+enemynear,animtime >= 0 || enemynear,animtime <= -1
triggerall = p2bodydist x = [-5,39]
triggerall = AILevel > 0 && roundstate = 2
triggerall = 1
trigger1 = ctrl
trigger1 = var(1) 
trigger1 = statetype != A



[State -1, Shun Goku Satsu]
type = ChangeState
value = 3000
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2statetype != A
triggerall = p2movetype = A || p2movetype = I && p2stateno > 160
triggerall = p2statetype != L && !enemynear,ctrl && enemynear,animtime < -3
triggerall = !inguarddist || helper(33000),var(1) > 1 && (p2statetype != A || prevstateno = [120,159]) && random%3 < 2
triggerall = helper(33000),var(18) <= 0
triggerall = random <= 113*AILevel
triggerall = random%2=0 || enemynear,time+enemynear,animtime >= 0 || enemynear,animtime <= -4
triggerall = p2bodydist x-3*enemynear,vel x = [-9,61]
triggerall = 1
triggerall = power >= 1000
trigger1 = ctrl
trigger1 = statetype != A
trigger2 = hitdefattr = SC, NA, SA, HA
trigger2 = movecontact
trigger3 = stateno = [200,299]



[State -1, The Warth of Shun Goku Satsu]
type = ChangeState
value = 3005
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2statetype != A
triggerall = p2movetype = A || p2movetype = I && p2stateno > 160
triggerall = p2statetype != L && !enemynear,ctrl && enemynear,animtime < -3
triggerall = !inguarddist || helper(33000),var(1) > 1 && (p2statetype != A || prevstateno = [120,159]) && random%3 < 2
triggerall = helper(33000),var(18) <= 0
triggerall = random <= 113*AILevel
triggerall = random%2=0 || enemynear,time+enemynear,animtime >= 0 || enemynear,animtime <= -4
triggerall = p2bodydist x-3*enemynear,vel x = [-9,61]
triggerall = 1
triggerall = power >= 2000
trigger1 = ctrl
trigger1 = statetype != A
trigger2 = hitdefattr = SC, NA, SA, HA
trigger2 = movecontact
trigger3 = stateno = [200,299]



[State -1, Metsu Shoryuken]
type = ChangeState
value = 3012
triggerall = AILevel > 0 && roundstate = 2
triggerall = var(5) = 0
triggerall = p2bodydist y + 7*enemynear,vel y + helper(33000),fvar(39)*7*8*0.5 >= -138
triggerall = p2movetype = A || p2movetype = I && p2stateno > 160
triggerall = p2statetype != L && !enemynear,ctrl && enemynear,animtime < -7
triggerall = !inguarddist || helper(33000),var(1) > 1 && (p2statetype != A || prevstateno = [120,159]) && random%3 < 2
triggerall = random <= 113*AILevel
triggerall = random%2=0 || enemynear,time+enemynear,animtime >= 0 || enemynear,animtime <= -8
triggerall = p2bodydist x-7*enemynear,vel x = [11,66]
triggerall = !numhelper(33000) || helper(33000),var(16) <= -45
triggerall = 1
triggerall = power >= 3000
trigger1 = ctrl
trigger1 = statetype != A
trigger2 = hitdefattr = SC, NA, SA, HA
trigger2 = movecontact
trigger3 = stateno = [200,299]



[State -1, Misogi]
type = ChangeState
value = 3020
triggerall = AILevel > 0 && roundstate = 2
triggerall = var(5) = 1
triggerall = p2bodydist y + 5*enemynear,vel y + helper(33000),fvar(39)*5*6*0.5 >= -537
triggerall = p2movetype = A || p2movetype = I && p2stateno > 160
triggerall = p2statetype != L && !enemynear,ctrl && enemynear,animtime < -5
triggerall = !inguarddist || helper(33000),var(1) > 1 && (p2statetype != A || prevstateno = [120,159]) && random%3 < 2
triggerall = random <= 113*AILevel
triggerall = random%2=0 || enemynear,time+enemynear,animtime >= 0 || enemynear,animtime <= -6
triggerall = p2bodydist x-5*enemynear,vel x = [-337,425]
triggerall = 1
triggerall = power >= 1000
trigger1 = ctrl
trigger1 = statetype != A
trigger2 = hitdefattr = SC, NA, SA, HA
trigger2 = movecontact
trigger3 = stateno = [200,299]



[State -1,Unamed Triple Punch]
type = ChangeState
value = 3030
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 8*enemynear,vel y + helper(33000),fvar(39)*8*9*0.5 >= -216
triggerall = p2movetype = A || p2movetype = I && p2stateno > 160
triggerall = p2statetype != L && !enemynear,ctrl && enemynear,animtime < -8
triggerall = !inguarddist || helper(33000),var(1) > 1 && (p2statetype != A || prevstateno = [120,159]) && random%3 < 2
triggerall = random <= 113*AILevel
triggerall = random%2=0 || enemynear,time+enemynear,animtime >= 0 || enemynear,animtime <= -9
triggerall = p2bodydist x-8*enemynear,vel x = [16,108]
triggerall = 1
triggerall = power >= 1000
trigger1 = ctrl
trigger1 = statetype != A
trigger2 = hitdefattr = SC, NA, SA, HA
trigger2 = movecontact
trigger3 = stateno = [200,299]





;Combo
[State -1, Stand Weak]
type = ChangeState
value = 200
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2statetype != A || p2bodydist y + 3*enemynear,vel y + helper(33000),fvar(39)*3*4*0.5 = [-175,0)
triggerall = enemynear,animtime <= -3 && !enemynear,canrecover && helper(33000),var(17) = 0 || helper(33000),var(17) >= 3
triggerall = (!inguarddist || !ctrl) && enemynear,alive && p2movetype = H && p2statetype != L
triggerall = random%10<9 || p2stateno != [120,159]
triggerall = random <= (80+(helper(33000),var(17)<=4)*70)*AILevel
triggerall = p2bodydist x-3*(vel x+enemynear,vel x) = [13,116]
triggerall = !numhelper(33000) || helper(33000),var(16) <= -59
triggerall = 1
triggerall = 1
trigger1 = Statetype != A
trigger1 = ctrl
trigger2 = stateno = 200
trigger2 = time > 6



[State -1, Stand Mid]
type = ChangeState
value = 210
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2statetype != A || p2bodydist y + 2*enemynear,vel y + helper(33000),fvar(39)*2*3*0.5 = [-82,0)
triggerall = enemynear,animtime <= -2 && !enemynear,canrecover && helper(33000),var(17) = 0 || helper(33000),var(17) >= 2
triggerall = (!inguarddist || !ctrl) && enemynear,alive && p2movetype = H && p2statetype != L
triggerall = random%10<9 || p2stateno != [120,159]
triggerall = random <= (80+(helper(33000),var(17)<=3)*70)*AILevel
triggerall = p2bodydist x-2*(vel x+enemynear,vel x) = [9,60]
triggerall = 1
triggerall = 1
trigger1 = Statetype != A
trigger1 = ctrl
trigger2 = stateno = 200
trigger2 = time > 6



[State -1, Stand Strong]
type = ChangeState
value = 220
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2statetype != A || p2bodydist y + 3*enemynear,vel y + helper(33000),fvar(39)*3*4*0.5 = [-111,0)
triggerall = enemynear,animtime <= -3 && !enemynear,canrecover && helper(33000),var(17) = 0 || helper(33000),var(17) >= 3
triggerall = (!inguarddist || !ctrl) && enemynear,alive && p2movetype = H && p2statetype != L
triggerall = random%10<9 || p2stateno != [120,159]
triggerall = random <= (80+(helper(33000),var(17)<=4)*70)*AILevel
triggerall = p2bodydist x-3*(vel x+enemynear,vel x) = [12,139]
triggerall = !numhelper(33000) || helper(33000),var(16) <= -35
triggerall = 1
triggerall = 1
trigger1 = Statetype != A
trigger1 = ctrl
trigger2 = (stateno = 200) && time > 2
trigger3 = (stateno = 210) && time > 3



[State -1, Crouch Weak]
type = ChangeState
value = 400
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2statetype != A || p2bodydist y + 3*enemynear,vel y + helper(33000),fvar(39)*3*4*0.5 = [-139,0)
triggerall = enemynear,animtime <= -3 && !enemynear,canrecover && helper(33000),var(17) = 0 || helper(33000),var(17) >= 3
triggerall = (!inguarddist || !ctrl) && enemynear,alive && p2movetype = H && p2statetype != L
triggerall = random%10<9 || p2stateno != [120,159]
triggerall = random <= (80+(helper(33000),var(17)<=4)*70)*AILevel
triggerall = p2bodydist x-3*(vel x+enemynear,vel x) = [12,98]
triggerall = !numhelper(33000) || helper(33000),var(16) <= -45
triggerall = 1
triggerall = 1
trigger1 = Statetype != A
trigger1 = ctrl
trigger2 = stateno = 400
trigger2 = time > 6



[State -1, Crouch Mid]
type = ChangeState
value = 410
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2statetype != A || p2bodydist y + 3*enemynear,vel y + helper(33000),fvar(39)*3*4*0.5 = [-139,0)
triggerall = enemynear,animtime <= -3 && !enemynear,canrecover && helper(33000),var(17) = 0 || helper(33000),var(17) >= 3
triggerall = (!inguarddist || !ctrl) && enemynear,alive && p2movetype = H && p2statetype != L
triggerall = random%10<9 || p2stateno != [120,159]
triggerall = random <= (80+(helper(33000),var(17)<=4)*70)*AILevel
triggerall = p2bodydist x-3*(vel x+enemynear,vel x) = [12,98]
triggerall = !numhelper(33000) || helper(33000),var(16) <= -45
triggerall = 1
triggerall = 1
trigger1 = Statetype != A
trigger1 = ctrl
trigger2 = stateno = 400
trigger2 = time > 6



[State -1, Crouch Strong]
type = ChangeState
value = 420
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2statetype != A || p2bodydist y + 4*enemynear,vel y + helper(33000),fvar(39)*4*5*0.5 = [-54,0)
triggerall = enemynear,animtime <= -4 && !enemynear,canrecover && helper(33000),var(17) = 0 || helper(33000),var(17) >= 4
triggerall = (!inguarddist || !ctrl) && enemynear,alive && p2movetype = H && p2statetype != L
triggerall = random%10<9 || p2stateno != [120,159]
triggerall = random <= (80+(helper(33000),var(17)<=5)*70)*AILevel
triggerall = p2dist x >= (p2statetype=A||statetype=A)*4*(vel x+enemynear,vel x) && p2bodydist x <= 92+4*(vel x+enemynear,vel x)
triggerall = 1
triggerall = 1
trigger1 = Statetype != A
trigger1 = ctrl
trigger2 = (stateno = 400) && time > 2
trigger3 = (stateno = 410) && time > 3



[State -1, Air Weak]
type = ChangeState
value = 600
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y - 5*(vel y - enemynear,vel y) + (helper(33000),fvar(39)-helper(33000),fvar(37))*5*6*0.5 = [-78,12]
triggerall = enemynear,animtime <= -5 && !enemynear,canrecover && helper(33000),var(17) = 0 || helper(33000),var(17) >= 5
triggerall = (!inguarddist || !ctrl) && enemynear,alive && p2movetype = H && p2statetype != L
triggerall = random%10<9 || p2stateno != [120,159]
triggerall = random <= (80+(helper(33000),var(17)<=6)*70)*AILevel
triggerall = p2bodydist x-5*(vel x+enemynear,vel x) = [12,80]
triggerall = 1
triggerall = 1
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 600
trigger2 = time > 6



[State -1, Air Mid]
type = ChangeState
value = 610
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y - 5*(vel y - enemynear,vel y) + (helper(33000),fvar(39)-helper(33000),fvar(37))*5*6*0.5 = [-101,-24]
triggerall = enemynear,animtime <= -5 && !enemynear,canrecover && helper(33000),var(17) = 0 || helper(33000),var(17) >= 5
triggerall = (!inguarddist || !ctrl) && enemynear,alive && p2movetype = H && p2statetype != L
triggerall = random%10<9 || p2stateno != [120,159]
triggerall = random <= (80+(helper(33000),var(17)<=6)*70)*AILevel
triggerall = p2bodydist x-5*(vel x+enemynear,vel x) = [19,117]
triggerall = 1
triggerall = 1
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 600
trigger2 = time > 6



[State -1, Air Strong]
type = ChangeState
value = 620
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y - 3*(vel y - enemynear,vel y) + (helper(33000),fvar(39)-helper(33000),fvar(37))*3*4*0.5 = [-92,-11]
triggerall = enemynear,animtime <= -3 && !enemynear,canrecover && helper(33000),var(17) = 0 || helper(33000),var(17) >= 3
triggerall = (!inguarddist || !ctrl) && enemynear,alive && p2movetype = H && p2statetype != L
triggerall = random%10<9 || p2stateno != [120,159]
triggerall = random <= (80+(helper(33000),var(17)<=4)*70)*AILevel
triggerall = p2bodydist x-3*(vel x+enemynear,vel x) = [9,101]
triggerall = 1
triggerall = 1
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = (stateno = 600) && time > 2
trigger3 = (stateno = 610) && time > 3



[State -1, What a Raid]
type = ChangeState
value = 900
triggerall = p2statetype != A || p2bodydist y + 10*enemynear,vel y + helper(33000),fvar(39)*10*11*0.5 = [-222,0)
triggerall = enemynear,animtime <= -10 && !enemynear,canrecover && helper(33000),var(17) = 0 || helper(33000),var(17) >= 10
triggerall = (!inguarddist || !ctrl) && enemynear,alive && p2movetype = H && p2statetype != L
triggerall = random%10<9 || p2stateno != [120,159]
triggerall = random <= (80+(helper(33000),var(17)<=11)*70)*AILevel
triggerall = p2bodydist x-10*enemynear,vel x = [15,85]
triggerall = !numhelper(33000) || helper(33000),var(16) <= -68
triggerall = AILevel > 0 && roundstate = 2
triggerall = 1
trigger1 = ctrl
trigger1 = Statetype != A



[State -1, What a Raid]
type = ChangeState
value = 900
triggerall = p2statetype != A || p2bodydist y + 10*enemynear,vel y + helper(33000),fvar(39)*10*11*0.5 = [-222,0)
triggerall = enemynear,animtime <= -10 && !enemynear,canrecover && helper(33000),var(17) = 0 || helper(33000),var(17) >= 10
triggerall = (!inguarddist || !ctrl) && enemynear,alive && p2movetype = H && p2statetype != L
triggerall = random%10<9 || p2stateno != [120,159]
triggerall = random <= (80+(helper(33000),var(17)<=11)*70)*AILevel
triggerall = p2bodydist x-10*enemynear,vel x = [15,85]
triggerall = !numhelper(33000) || helper(33000),var(16) <= -68
triggerall = AILevel > 0 && roundstate = 2
trigger1 = 1
trigger2 = 1
triggerall = 1
triggerall = statetype != A
triggerall = ctrl



[State -1, Gohadoken]
type = ChangeState
value = 1000
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2statetype != A || p2bodydist y + 9*enemynear,vel y + helper(33000),fvar(39)*9*10*0.5 = [-121,0)
triggerall = enemynear,animtime <= -9 && !enemynear,canrecover && helper(33000),var(17) = 0 || helper(33000),var(17) >= 9
triggerall = (!inguarddist || !ctrl) && enemynear,alive && p2movetype = H && p2statetype != L
triggerall = random%10<9 || p2stateno != [120,159]
triggerall = random <= (80+(helper(33000),var(17)<=10)*70)*AILevel
triggerall = p2bodydist x-9*enemynear,vel x = [-4,102]
triggerall = var(5) = 0
triggerall = 1
trigger1 = ctrl
trigger1 = var(1) 
trigger1 = statetype != A



[State -1, Gohadoken]
type = ChangeState
value = 1005
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2statetype != A || p2bodydist y + 21*enemynear,vel y + helper(33000),fvar(39)*21*22*0.5 = [-124,0)
triggerall = enemynear,animtime <= -21 && !enemynear,canrecover && helper(33000),var(17) = 0 || helper(33000),var(17) >= 21
triggerall = (!inguarddist || !ctrl) && enemynear,alive && p2movetype = H && p2statetype != L
triggerall = random%10<9 || p2stateno != [120,159]
triggerall = random <= (80+(helper(33000),var(17)<=22)*70)*AILevel
triggerall = p2bodydist x-21*enemynear,vel x = [-13,186]
triggerall = var(5) = 1
triggerall = 1
trigger1 = ctrl
trigger1 = var(1) 
trigger1 = statetype != A



[State -1, Gohadoken EX]
type = ChangeState
value = 1005
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2statetype != A || p2bodydist y + 21*enemynear,vel y + helper(33000),fvar(39)*21*22*0.5 = [-124,0)
triggerall = enemynear,animtime <= -21 && !enemynear,canrecover && helper(33000),var(17) = 0 || helper(33000),var(17) >= 21
triggerall = (!inguarddist || !ctrl) && enemynear,alive && p2movetype = H && p2statetype != L
triggerall = random%10<9 || p2stateno != [120,159]
triggerall = random <= (80+(helper(33000),var(17)<=22)*70)*AILevel
triggerall = p2bodydist x-21*enemynear,vel x = [-13,186]
triggerall = 1
triggerall = power >= 500
trigger1 = ctrl
trigger1 = var(1) 
trigger1 = statetype != A



[State -1, The Adamant]
type = ChangeState
value = 1010
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2statetype != A || p2bodydist y + 6*enemynear,vel y + helper(33000),fvar(39)*6*7*0.5 = [-219,0)
triggerall = enemynear,animtime <= -6 && !enemynear,canrecover && helper(33000),var(17) = 0 || helper(33000),var(17) >= 6
triggerall = (!inguarddist || !ctrl) && enemynear,alive && p2movetype = H && p2statetype != L
triggerall = random%10<9 || p2stateno != [120,159]
triggerall = random <= (80+(helper(33000),var(17)<=7)*70)*AILevel
triggerall = p2dist x >= (p2statetype=A||statetype=A)*6*(vel x+enemynear,vel x) && p2bodydist x <= 112+6*(vel x+enemynear,vel x)
triggerall = var(5) = 0
triggerall = 1
trigger1 = ctrl
trigger1 = var(1) 
trigger1 = statetype != A



[State -1, Gohadoken]
type = ChangeState
value = 1015
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2statetype != A || p2bodydist y + 6*enemynear,vel y + helper(33000),fvar(39)*6*7*0.5 = [-219,0)
triggerall = enemynear,animtime <= -6 && !enemynear,canrecover && helper(33000),var(17) = 0 || helper(33000),var(17) >= 6
triggerall = (!inguarddist || !ctrl) && enemynear,alive && p2movetype = H && p2statetype != L
triggerall = random%10<9 || p2stateno != [120,159]
triggerall = random <= (80+(helper(33000),var(17)<=7)*70)*AILevel
triggerall = p2dist x >= (p2statetype=A||statetype=A)*6*(vel x+enemynear,vel x) && p2bodydist x <= 112+6*(vel x+enemynear,vel x)
triggerall = var(5) = 1
triggerall = 1
trigger1 = ctrl
trigger1 = var(1) 
trigger1 = statetype != A



[State -1, The Adamant EX]
type = ChangeState
value = 1015
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2statetype != A || p2bodydist y + 6*enemynear,vel y + helper(33000),fvar(39)*6*7*0.5 = [-219,0)
triggerall = enemynear,animtime <= -6 && !enemynear,canrecover && helper(33000),var(17) = 0 || helper(33000),var(17) >= 6
triggerall = (!inguarddist || !ctrl) && enemynear,alive && p2movetype = H && p2statetype != L
triggerall = random%10<9 || p2stateno != [120,159]
triggerall = random <= (80+(helper(33000),var(17)<=7)*70)*AILevel
triggerall = p2dist x >= (p2statetype=A||statetype=A)*6*(vel x+enemynear,vel x) && p2bodydist x <= 112+6*(vel x+enemynear,vel x)
triggerall = 1
triggerall = power >= 500
trigger1 = ctrl
trigger1 = var(1) 
trigger1 = statetype != A



[State -1, Ashura Senku F]
type = ChangeState
value = 1020
triggerall = p2statetype != A || p2bodydist y + 62*enemynear,vel y + helper(33000),fvar(39)*62*63*0.5 = [-219,0)
triggerall = enemynear,animtime <= -62 && !enemynear,canrecover && helper(33000),var(17) = 0 || helper(33000),var(17) >= 62
triggerall = (!inguarddist || !ctrl) && enemynear,alive && p2movetype = H && p2statetype != L
triggerall = random%10<9 || p2stateno != [120,159]
triggerall = random <= (80+(helper(33000),var(17)<=63)*70)*AILevel
triggerall = p2dist x >= (p2statetype=A||statetype=A)*62*enemynear,vel x && p2bodydist x <= 112+62*enemynear,vel x
triggerall = AILevel > 0 && roundstate = 2
triggerall = 1
trigger1 = ctrl
trigger1 = statetype != A



[State -1, Ashura Senku B]
type = ChangeState
value = 1025
triggerall = p2statetype != A || p2bodydist y + 62*enemynear,vel y + helper(33000),fvar(39)*62*63*0.5 = [-219,0)
triggerall = enemynear,animtime <= -62 && !enemynear,canrecover && helper(33000),var(17) = 0 || helper(33000),var(17) >= 62
triggerall = (!inguarddist || !ctrl) && enemynear,alive && p2movetype = H && p2statetype != L
triggerall = random%10<9 || p2stateno != [120,159]
triggerall = random <= (80+(helper(33000),var(17)<=63)*70)*AILevel
triggerall = p2dist x >= (p2statetype=A||statetype=A)*62*enemynear,vel x && p2bodydist x <= 112+62*enemynear,vel x
triggerall = AILevel > 0 && roundstate = 2
triggerall = 1
trigger1 = ctrl
trigger1 = statetype != A



[State -1, Zanku Hadoken]
type = ChangeState
value = 1030
triggerall = AILevel > 0 && roundstate = 2
triggerall = var(5) = 0
triggerall = p2bodydist y - 5*(vel y - enemynear,vel y) + (helper(33000),fvar(39)-helper(33000),fvar(37))*5*6*0.5 = [-106,9]
triggerall = enemynear,animtime <= -5 && !enemynear,canrecover && helper(33000),var(17) = 0 || helper(33000),var(17) >= 5
triggerall = (!inguarddist || !ctrl) && enemynear,alive && p2movetype = H && p2statetype != L
triggerall = random%10<9 || p2stateno != [120,159]
triggerall = random <= (80+(helper(33000),var(17)<=6)*70)*AILevel
triggerall = p2dist x >= (p2statetype=A||statetype=A)*5*(vel x+enemynear,vel x) && p2bodydist x <= 95+5*(vel x+enemynear,vel x)
triggerall = 1
triggerall = 1
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 610



[State -1, Gohadoken]
type = ChangeState
value = 1035
triggerall = AILevel > 0 && roundstate = 2
triggerall = var(5) = 1
triggerall = 1
triggerall = p2bodydist y - 7*(vel y - enemynear,vel y) + (helper(33000),fvar(39)-helper(33000),fvar(37))*7*8*0.5 = [-106,9]
triggerall = enemynear,animtime <= -7 && !enemynear,canrecover && helper(33000),var(17) = 0 || helper(33000),var(17) >= 7
triggerall = (!inguarddist || !ctrl) && enemynear,alive && p2movetype = H && p2statetype != L
triggerall = random%10<9 || p2stateno != [120,159]
triggerall = random <= (80+(helper(33000),var(17)<=8)*70)*AILevel
triggerall = p2dist x >= (p2statetype=A||statetype=A)*7*enemynear,vel x && p2bodydist x <= 99+7*enemynear,vel x
triggerall = pos Y+7*vel y+const(movement.yaccel)*7*8*0.5 < 0
triggerall = 1
trigger2 = stateno = 610
trigger1 = statetype = A



[State -1, Zanku Hadoken EX]
type = ChangeState
value = 1035
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y - 7*(vel y - enemynear,vel y) + (helper(33000),fvar(39)-helper(33000),fvar(37))*7*8*0.5 = [-106,9]
triggerall = enemynear,animtime <= -7 && !enemynear,canrecover && helper(33000),var(17) = 0 || helper(33000),var(17) >= 7
triggerall = (!inguarddist || !ctrl) && enemynear,alive && p2movetype = H && p2statetype != L
triggerall = random%10<9 || p2stateno != [120,159]
triggerall = random <= (80+(helper(33000),var(17)<=8)*70)*AILevel
triggerall = p2dist x >= (p2statetype=A||statetype=A)*7*enemynear,vel x && p2bodydist x <= 99+7*enemynear,vel x
triggerall = pos Y+7*vel y+const(movement.yaccel)*7*8*0.5 < 0
triggerall = 1
triggerall = 1
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 610



[State -1, No Heaven]
type = ChangeState
value = 1040
triggerall = p2statetype != A || p2bodydist y = [-223,14]
triggerall = enemynear,animtime <= -0 && !enemynear,canrecover && helper(33000),var(17) = 0 || helper(33000),var(17) >= 0
triggerall = (!inguarddist || !ctrl) && enemynear,alive && p2movetype = H && p2statetype != L
triggerall = p2stateno != [120,159]
triggerall = random <= (80+(helper(33000),var(17)<=1)*70)*AILevel
triggerall = p2bodydist x = [-5,39]
triggerall = AILevel > 0 && roundstate = 2
triggerall = 1
trigger1 = ctrl
trigger1 = var(1) 
trigger1 = statetype != A



[State -1, Metsu Shoryuken]
type = ChangeState
value = 3012
triggerall = AILevel > 0 && roundstate = 2
triggerall = var(5) = 0
triggerall = p2statetype != A || p2bodydist y + 7*enemynear,vel y + helper(33000),fvar(39)*7*8*0.5 = [-138,0)
triggerall = enemynear,animtime <= -7 && !enemynear,canrecover && helper(33000),var(17) = 0 || helper(33000),var(17) >= 7
triggerall = (!inguarddist || !ctrl) && enemynear,alive && p2movetype = H && p2statetype != L
triggerall = p2stateno != [120,159]
triggerall = random <= (80+(helper(33000),var(17)<=8)*70)*AILevel
triggerall = p2bodydist x-7*enemynear,vel x = [11,66]
triggerall = !numhelper(33000) || helper(33000),var(16) <= -45
triggerall = 1
triggerall = power >= 3000
trigger1 = ctrl
trigger1 = statetype != A
trigger2 = hitdefattr = SC, NA, SA, HA
trigger2 = movecontact
trigger3 = stateno = [200,299]



[State -1, Misogi]
type = ChangeState
value = 3020
triggerall = AILevel > 0 && roundstate = 2
triggerall = var(5) = 1
triggerall = p2statetype != A || p2bodydist y + 5*enemynear,vel y + helper(33000),fvar(39)*5*6*0.5 = [-537,0)
triggerall = enemynear,animtime <= -5 && !enemynear,canrecover && helper(33000),var(17) = 0 || helper(33000),var(17) >= 5
triggerall = (!inguarddist || !ctrl) && enemynear,alive && p2movetype = H && p2statetype != L
triggerall = random%10<9 || p2stateno != [120,159]
triggerall = random <= (80+(helper(33000),var(17)<=6)*70)*AILevel
triggerall = p2bodydist x-5*enemynear,vel x = [-337,425]
triggerall = 1
triggerall = power >= 1000
trigger1 = ctrl
trigger1 = statetype != A
trigger2 = hitdefattr = SC, NA, SA, HA
trigger2 = movecontact
trigger3 = stateno = [200,299]



[State -1,Unamed Triple Punch]
type = ChangeState
value = 3030
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2statetype != A || p2bodydist y + 8*enemynear,vel y + helper(33000),fvar(39)*8*9*0.5 = [-216,0)
triggerall = enemynear,animtime <= -8 && !enemynear,canrecover && helper(33000),var(17) = 0 || helper(33000),var(17) >= 8
triggerall = (!inguarddist || !ctrl) && enemynear,alive && p2movetype = H && p2statetype != L
triggerall = random%10<9 || p2stateno != [120,159]
triggerall = random <= (80+(helper(33000),var(17)<=9)*70)*AILevel
triggerall = p2bodydist x-8*enemynear,vel x = [16,108]
triggerall = 1
triggerall = power >= 1000
trigger1 = ctrl
trigger1 = statetype != A
trigger2 = hitdefattr = SC, NA, SA, HA
trigger2 = movecontact
trigger3 = stateno = [200,299]





;Throw
[State -1, Shun Goku Satsu]
type = ChangeState
value = 3000
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2statetype != A
triggerall = p2movetype != H
triggerall = !inguarddist && p2statetype != L
triggerall = random <= 37*AILevel
triggerall = helper(33000),var(18) <= 0
triggerall = p2bodydist x-3*enemynear,vel x = [-9,61]
triggerall = 1
triggerall = power >= 1000
trigger1 = ctrl
trigger1 = statetype != A
trigger2 = hitdefattr = SC, NA, SA, HA
trigger2 = movecontact
trigger3 = stateno = [200,299]



[State -1, The Warth of Shun Goku Satsu]
type = ChangeState
value = 3005
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2statetype != A
triggerall = p2movetype != H
triggerall = !inguarddist && p2statetype != L
triggerall = random <= 37*AILevel
triggerall = helper(33000),var(18) <= 0
triggerall = p2bodydist x-3*enemynear,vel x = [-9,61]
triggerall = 1
triggerall = power >= 2000
trigger1 = ctrl
trigger1 = statetype != A
trigger2 = hitdefattr = SC, NA, SA, HA
trigger2 = movecontact
trigger3 = stateno = [200,299]



[State -1, Throw]
type = ChangeState
value = 800
triggerall = AILevel > 0 && roundstate = 2
triggerall = 1
triggerall = p2statetype != A
triggerall = p2movetype != H
triggerall = !inguarddist && p2statetype != L
triggerall = random <= 25*AILevel
triggerall = helper(33000),var(18) <= 0
triggerall = p2bodydist x-5*(vel x+enemynear,vel x) = [18,91]
triggerall = Statetype != A
triggerall = ctrl
trigger1 = 1
trigger1 = p2bodydist X < 3
trigger1 = (p2Statetype != A) || (p2Statetype != A)
trigger1 = p2movetype != H
trigger2 = 1
trigger2 = p2bodydist X < 5
trigger2 = (p2Statetype != A) || (p2Statetype != A)
trigger2 = p2movetype != H





;Fight
[State -1, Stand Weak]
type = ChangeState
value = 200
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 3*enemynear,vel y + helper(33000),fvar(39)*3*4*0.5 >= -175
triggerall = p2movetype != H || p2stateno = [120,159]
triggerall = !inguarddist && !helper(33000),inguarddist && p2statetype != L
triggerall = random <= 36*AILevel
triggerall = p2bodydist x-3*(vel x+enemynear,vel x) = [13,116]
triggerall = !numhelper(33000) || helper(33000),var(16) <= -59
triggerall = 1
triggerall = 1
trigger1 = Statetype != A
trigger1 = ctrl
trigger2 = stateno = 200
trigger2 = time > 6



[State -1, Stand Mid]
type = ChangeState
value = 210
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 2*enemynear,vel y + helper(33000),fvar(39)*2*3*0.5 >= -82
triggerall = p2movetype != H || p2stateno = [120,159]
triggerall = !inguarddist && !helper(33000),inguarddist && p2statetype != L
triggerall = random <= 22*AILevel
triggerall = p2bodydist x-2*(vel x+enemynear,vel x) = [9,60]
triggerall = 1
triggerall = 1
trigger1 = Statetype != A
trigger1 = ctrl
trigger2 = stateno = 200
trigger2 = time > 6



[State -1, Stand Strong]
type = ChangeState
value = 220
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 3*enemynear,vel y + helper(33000),fvar(39)*3*4*0.5 >= -111
triggerall = p2movetype != H || p2stateno = [120,159]
triggerall = !inguarddist && !helper(33000),inguarddist && p2statetype != L
triggerall = random <= 22*AILevel
triggerall = p2bodydist x-3*(vel x+enemynear,vel x) = [12,139]
triggerall = !numhelper(33000) || helper(33000),var(16) <= -35
triggerall = 1
triggerall = 1
trigger1 = Statetype != A
trigger1 = ctrl
trigger2 = (stateno = 200) && time > 2
trigger3 = (stateno = 210) && time > 3



[State -1, Crouch Weak]
type = ChangeState
value = 400
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 3*enemynear,vel y + helper(33000),fvar(39)*3*4*0.5 >= -139
triggerall = p2movetype != H || p2stateno = [120,159]
triggerall = !inguarddist && !helper(33000),inguarddist && p2statetype != L
triggerall = random <= 41*AILevel
triggerall = p2bodydist x-3*(vel x+enemynear,vel x) = [12,98]
triggerall = !numhelper(33000) || helper(33000),var(16) <= -45
triggerall = 1
triggerall = 1
trigger1 = Statetype != A
trigger1 = ctrl
trigger2 = stateno = 400
trigger2 = time > 6



[State -1, Crouch Mid]
type = ChangeState
value = 410
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 3*enemynear,vel y + helper(33000),fvar(39)*3*4*0.5 >= -139
triggerall = p2movetype != H || p2stateno = [120,159]
triggerall = !inguarddist && !helper(33000),inguarddist && p2statetype != L
triggerall = random <= 41*AILevel
triggerall = p2bodydist x-3*(vel x+enemynear,vel x) = [12,98]
triggerall = !numhelper(33000) || helper(33000),var(16) <= -45
triggerall = 1
triggerall = 1
trigger1 = Statetype != A
trigger1 = ctrl
trigger2 = stateno = 400
trigger2 = time > 6



[State -1, Crouch Strong]
type = ChangeState
value = 420
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 4*enemynear,vel y + helper(33000),fvar(39)*4*5*0.5 >= -54
triggerall = p2movetype != H || p2stateno = [120,159]
triggerall = !inguarddist && !helper(33000),inguarddist && p2statetype != L
triggerall = random <= 18*AILevel
triggerall = p2dist x >= (p2statetype=A||statetype=A)*4*(vel x+enemynear,vel x) && p2bodydist x <= 92+4*(vel x+enemynear,vel x)
triggerall = 1
triggerall = 1
trigger1 = Statetype != A
trigger1 = ctrl
trigger2 = (stateno = 400) && time > 2
trigger3 = (stateno = 410) && time > 3



[State -1, Air Weak]
type = ChangeState
value = 600
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y - 5*(vel y - enemynear,vel y) + (helper(33000),fvar(39)-helper(33000),fvar(37))*5*6*0.5 = [-78,12]
triggerall = p2movetype != H || p2stateno = [120,159]
triggerall = !inguarddist && !helper(33000),inguarddist && p2statetype != L
triggerall = random <= 49*AILevel
triggerall = p2bodydist x-5*(vel x+enemynear,vel x) = [12,80]
triggerall = 1
triggerall = 1
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 600
trigger2 = time > 6



[State -1, Air Mid]
type = ChangeState
value = 610
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y - 5*(vel y - enemynear,vel y) + (helper(33000),fvar(39)-helper(33000),fvar(37))*5*6*0.5 = [-101,-24]
triggerall = p2movetype != H || p2stateno = [120,159]
triggerall = !inguarddist && !helper(33000),inguarddist && p2statetype != L
triggerall = random <= 52*AILevel
triggerall = p2bodydist x-5*(vel x+enemynear,vel x) = [19,117]
triggerall = 1
triggerall = 1
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 600
trigger2 = time > 6



[State -1, Air Strong]
type = ChangeState
value = 620
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y - 3*(vel y - enemynear,vel y) + (helper(33000),fvar(39)-helper(33000),fvar(37))*3*4*0.5 = [-92,-11]
triggerall = p2movetype != H || p2stateno = [120,159]
triggerall = !inguarddist && !helper(33000),inguarddist && p2statetype != L
triggerall = random <= 38*AILevel
triggerall = p2bodydist x-3*(vel x+enemynear,vel x) = [9,101]
triggerall = 1
triggerall = 1
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = (stateno = 600) && time > 2
trigger3 = (stateno = 610) && time > 3



[State -1, What a Raid]
type = ChangeState
value = 900
triggerall = p2bodydist y + 10*enemynear,vel y + helper(33000),fvar(39)*10*11*0.5 >= -222
triggerall = p2movetype != H || p2stateno = [120,159]
triggerall = !inguarddist && !helper(33000),inguarddist && p2statetype != L
triggerall = random <= 15*AILevel
triggerall = p2bodydist x-10*enemynear,vel x = [15,85]
triggerall = !numhelper(33000) || helper(33000),var(16) <= -68
triggerall = AILevel > 0 && roundstate = 2
triggerall = 1
trigger1 = ctrl
trigger1 = Statetype != A



[State -1, What a Raid]
type = ChangeState
value = 900
triggerall = p2bodydist y + 10*enemynear,vel y + helper(33000),fvar(39)*10*11*0.5 >= -222
triggerall = p2movetype != H || p2stateno = [120,159]
triggerall = !inguarddist && !helper(33000),inguarddist && p2statetype != L
triggerall = random <= 15*AILevel
triggerall = p2bodydist x-10*enemynear,vel x = [15,85]
triggerall = !numhelper(33000) || helper(33000),var(16) <= -68
triggerall = AILevel > 0 && roundstate = 2
trigger1 = 1
trigger2 = 1
triggerall = 1
triggerall = statetype != A
triggerall = ctrl



[State -1, Gohadoken]
type = ChangeState
value = 1000
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 9*enemynear,vel y + helper(33000),fvar(39)*9*10*0.5 >= -121
triggerall = p2movetype != H || p2stateno = [120,159]
triggerall = !inguarddist && !helper(33000),inguarddist && p2statetype != L
triggerall = random <= 12*AILevel
triggerall = p2bodydist x-9*enemynear,vel x = [-4,102]
triggerall = var(5) = 0
triggerall = 1
trigger1 = ctrl
trigger1 = var(1) 
trigger1 = statetype != A



[State -1, Gohadoken]
type = ChangeState
value = 1005
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 21*enemynear,vel y + helper(33000),fvar(39)*21*22*0.5 >= -124
triggerall = p2movetype != H || p2stateno = [120,159]
triggerall = !inguarddist && !helper(33000),inguarddist && p2statetype != L
triggerall = random <= 4*AILevel
triggerall = p2bodydist x-21*enemynear,vel x = [-13,186]
triggerall = var(5) = 1
triggerall = 1
trigger1 = ctrl
trigger1 = var(1) 
trigger1 = statetype != A



[State -1, Gohadoken EX]
type = ChangeState
value = 1005
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 21*enemynear,vel y + helper(33000),fvar(39)*21*22*0.5 >= -124
triggerall = p2movetype != H || p2stateno = [120,159]
triggerall = !inguarddist && !helper(33000),inguarddist && p2statetype != L
triggerall = random <= 4*AILevel
triggerall = p2bodydist x-21*enemynear,vel x = [-13,186]
triggerall = 1
triggerall = power >= 500
trigger1 = ctrl
trigger1 = var(1) 
trigger1 = statetype != A



[State -1, The Adamant]
type = ChangeState
value = 1010
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 6*enemynear,vel y + helper(33000),fvar(39)*6*7*0.5 >= -219
triggerall = p2movetype != H || p2stateno = [120,159]
triggerall = !inguarddist && !helper(33000),inguarddist && p2statetype != L
triggerall = random <= 12*AILevel
triggerall = p2dist x >= (p2statetype=A||statetype=A)*6*(vel x+enemynear,vel x) && p2bodydist x <= 112+6*(vel x+enemynear,vel x)
triggerall = var(5) = 0
triggerall = 1
trigger1 = ctrl
trigger1 = var(1) 
trigger1 = statetype != A



[State -1, Gohadoken]
type = ChangeState
value = 1015
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 6*enemynear,vel y + helper(33000),fvar(39)*6*7*0.5 >= -219
triggerall = p2movetype != H || p2stateno = [120,159]
triggerall = !inguarddist && !helper(33000),inguarddist && p2statetype != L
triggerall = random <= 6*AILevel
triggerall = p2dist x >= (p2statetype=A||statetype=A)*6*(vel x+enemynear,vel x) && p2bodydist x <= 112+6*(vel x+enemynear,vel x)
triggerall = var(5) = 1
triggerall = 1
trigger1 = ctrl
trigger1 = var(1) 
trigger1 = statetype != A



[State -1, The Adamant EX]
type = ChangeState
value = 1015
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 6*enemynear,vel y + helper(33000),fvar(39)*6*7*0.5 >= -219
triggerall = p2movetype != H || p2stateno = [120,159]
triggerall = !inguarddist && !helper(33000),inguarddist && p2statetype != L
triggerall = random <= 6*AILevel
triggerall = p2dist x >= (p2statetype=A||statetype=A)*6*(vel x+enemynear,vel x) && p2bodydist x <= 112+6*(vel x+enemynear,vel x)
triggerall = 1
triggerall = power >= 500
trigger1 = ctrl
trigger1 = var(1) 
trigger1 = statetype != A



[State -1, Ashura Senku F]
type = ChangeState
value = 1020
triggerall = p2bodydist y + 62*enemynear,vel y + helper(33000),fvar(39)*62*63*0.5 >= -219
triggerall = p2movetype != H || p2stateno = [120,159]
triggerall = !inguarddist && !helper(33000),inguarddist && p2statetype != L
triggerall = random <= 3*AILevel
triggerall = p2dist x >= (p2statetype=A||statetype=A)*62*enemynear,vel x && p2bodydist x <= 112+62*enemynear,vel x
triggerall = AILevel > 0 && roundstate = 2
triggerall = 1
trigger1 = ctrl
trigger1 = statetype != A



[State -1, Ashura Senku B]
type = ChangeState
value = 1025
triggerall = p2bodydist y + 62*enemynear,vel y + helper(33000),fvar(39)*62*63*0.5 >= -219
triggerall = p2movetype != H || p2stateno = [120,159]
triggerall = !inguarddist && !helper(33000),inguarddist && p2statetype != L
triggerall = random <= 3*AILevel
triggerall = p2dist x >= (p2statetype=A||statetype=A)*62*enemynear,vel x && p2bodydist x <= 112+62*enemynear,vel x
triggerall = AILevel > 0 && roundstate = 2
triggerall = 1
trigger1 = ctrl
trigger1 = statetype != A



[State -1, Zanku Hadoken]
type = ChangeState
value = 1030
triggerall = AILevel > 0 && roundstate = 2
triggerall = var(5) = 0
triggerall = p2bodydist y - 5*(vel y - enemynear,vel y) + (helper(33000),fvar(39)-helper(33000),fvar(37))*5*6*0.5 = [-106,9]
triggerall = p2movetype != H || p2stateno = [120,159]
triggerall = !inguarddist && !helper(33000),inguarddist && p2statetype != L
triggerall = random <= 37*AILevel
triggerall = p2dist x >= (p2statetype=A||statetype=A)*5*(vel x+enemynear,vel x) && p2bodydist x <= 95+5*(vel x+enemynear,vel x)
triggerall = 1
triggerall = 1
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 610



[State -1, Gohadoken]
type = ChangeState
value = 1035
triggerall = AILevel > 0 && roundstate = 2
triggerall = var(5) = 1
triggerall = 1
triggerall = p2bodydist y - 7*(vel y - enemynear,vel y) + (helper(33000),fvar(39)-helper(33000),fvar(37))*7*8*0.5 = [-106,9]
triggerall = p2movetype != H || p2stateno = [120,159]
triggerall = !inguarddist && !helper(33000),inguarddist && p2statetype != L
triggerall = random <= 13*AILevel
triggerall = p2dist x >= (p2statetype=A||statetype=A)*7*enemynear,vel x && p2bodydist x <= 99+7*enemynear,vel x
triggerall = pos Y+7*vel y+const(movement.yaccel)*7*8*0.5 < 0
triggerall = 1
trigger2 = stateno = 610
trigger1 = statetype = A



[State -1, Zanku Hadoken EX]
type = ChangeState
value = 1035
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y - 7*(vel y - enemynear,vel y) + (helper(33000),fvar(39)-helper(33000),fvar(37))*7*8*0.5 = [-106,9]
triggerall = p2movetype != H || p2stateno = [120,159]
triggerall = !inguarddist && !helper(33000),inguarddist && p2statetype != L
triggerall = random <= 13*AILevel
triggerall = p2dist x >= (p2statetype=A||statetype=A)*7*enemynear,vel x && p2bodydist x <= 99+7*enemynear,vel x
triggerall = pos Y+7*vel y+const(movement.yaccel)*7*8*0.5 < 0
triggerall = 1
triggerall = 1
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 610



[State -1, No Heaven]
type = ChangeState
value = 1040
triggerall = p2statetype != A || p2bodydist y = [-223,14]
triggerall = p2movetype != H || p2stateno = [120,159]
triggerall = !inguarddist && !helper(33000),inguarddist && p2statetype != L
triggerall = random <= 17*AILevel
triggerall = p2bodydist x = [-5,39]
triggerall = AILevel > 0 && roundstate = 2
triggerall = 1
trigger1 = ctrl
trigger1 = var(1) 
trigger1 = statetype != A



[State -1, Misogi]
type = ChangeState
value = 3020
triggerall = AILevel > 0 && roundstate = 2
triggerall = var(5) = 1
triggerall = p2bodydist y + 5*enemynear,vel y + helper(33000),fvar(39)*5*6*0.5 >= -537
triggerall = p2movetype != H || p2stateno = [120,159]
triggerall = !inguarddist && !helper(33000),inguarddist && p2statetype != L
triggerall = random <= 6*AILevel
triggerall = p2bodydist x-5*enemynear,vel x = [-337,425]
triggerall = 1
triggerall = power >= 1000
trigger1 = ctrl
trigger1 = statetype != A
trigger2 = hitdefattr = SC, NA, SA, HA
trigger2 = movecontact
trigger3 = stateno = [200,299]



[State -1,Unamed Triple Punch]
type = ChangeState
value = 3030
triggerall = AILevel > 0 && roundstate = 2
triggerall = p2bodydist y + 8*enemynear,vel y + helper(33000),fvar(39)*8*9*0.5 >= -216
triggerall = p2movetype != H || p2stateno = [120,159]
triggerall = !inguarddist && !helper(33000),inguarddist && p2statetype != L
triggerall = random <= 6*AILevel
triggerall = p2bodydist x-8*enemynear,vel x = [16,108]
triggerall = 1
triggerall = power >= 1000
trigger1 = ctrl
trigger1 = statetype != A
trigger2 = hitdefattr = SC, NA, SA, HA
trigger2 = movecontact
trigger3 = stateno = [200,299]





;Move and other
[State -1, Run Fwd]
type = ChangeState
value = 100
triggerall = p2bodydist x > 100 || p2bodydist x > 60 && enemynear,vel x < 0 && p2movetype = H && p2stateno != [120,159]
triggerall = p2statetype != L || p2bodydist x > 140
triggerall = !inguarddist
triggerall = AILevel > 0 && roundstate = 2 && random <= 13*AILevel && stateno != [100,102]
trigger1 = 1
trigger1 = statetype != A
trigger1 = ctrl



[State -1, Run Back]
type = ChangeState
value = 105
triggerall = p2bodydist x = [0,80]
triggerall = p2statetype != L && !inguarddist
triggerall = p2movetype != H || p2stateno = [120,159]
triggerall = AILevel > 0 && roundstate = 2 && random <= 3*AILevel && stateno != [105,106]
trigger1 = 1
trigger1 = statetype != A
trigger1 = ctrl





;AIhelper
[Statedef 33000]
Ctrl = 0

[State 33000]
type=selfstate
trigger1=!ishelper
value=0

[State 33000]
Type = AssertSpecial
Trigger1 = IsHelper
flag = invisible

[State 33000]
type = nothitby
trigger1 = 1
value = sca

[STATE 超必殺判定]
type = VarSet
triggerall = Time
trigger1 = var(10)>enemy,power
var(9) = (var(10)-enemy,power)

[STATE 超必殺判定(リセット)]
type = VarSet
triggerall = Time
trigger1 = enemynear,movetype=H
trigger2 = enemynear,stateno=[0,105]
trigger3 = enemynear,stateno=[120,155]
trigger4 = enemynear,stateno=[5000,5210]
var(9) = 0

[STATE ENEMY,POWER]
type = VarSet
trigger1 = Time
var(10) = enemynear,power

;めくりガード対応ヘルパー
[State 4444]
Type = PosSet
Trigger1 = 1
X = Ceil(EnemyNear,Pos X)-10*Facing
Y = Ceil(EnemyNear,Pos Y)
IgnoreHitPause = 1
SuperMoveTime = 9999
PauseMoveTime = 9999

[State 4444]
Type = Turn
Trigger1 = Facing = EnemyNear,Facing
IgnoreHitPause = 1
SuperMoveTime = 9999
PauseMoveTime = 9999

;相手がAIか判別

[state -2,ai]
type = varset
trigger1 = roundstate < 2
var(4) = 0

[state -2,ai]
type = varset
trigger1 = abs(var(4)) > 10
var(4) = ifelse(var(4) > 0,10,-10)

[state -2,ai]
type = varadd
trigger1 = (enemynear,stateno=[120,132])&&(enemynear,prevstateno!=[120,155])
trigger1 = enemynear,time <= 1
trigger1 = enemynear,command!="holdback"
var(4) = 1

[state -2,ai]
type = varadd
trigger1 = (enemynear,stateno=[120,132])&&(enemynear,prevstateno!=[120,155])
trigger1 = enemynear,time <= 1
trigger1 = enemynear,command="holdback"
var(4) = -1

[State -1, 直前行動]
type = VarSet
trigger1 = root,movetype = H
trigger1 = root,prevstateno != [5000,5799]
trigger1 = root,stateno != [120,159]
var(13) = root,prevstateno

[State -1, 直前行動]
type = VarSet
trigger1 = root,movetype = A 
var(14) = root,stateno

[State -1, Preview State]
type = VarSet
trigger1 = var(14) != 0
trigger1 = enemynear,movetype != H || enemynear,stateno = [150,159]
var(14) = 0

[State 32000]
type = varset
trigger1 = var(15) != 0
trigger1 = enemynear,movetype != H && root,movetype != A
var(15) = 0

[State 32000]
type = varset
trigger1 = var(15) = 0
trigger1 = enemynear,movetype = H || root,hitdefattr = sca,at
var(15) = root,time

[State 32000]
type = varset
trigger1 = enemynear,statetype = S || enemynear,statetype = L
var(16) = enemynear,const(size.head.pos.y)

[State 32000]
type = varset
trigger1 = enemynear,statetype = C
var(16) = enemynear,const(size.mid.pos.y)

[State 32000]
type = varset
trigger1 = enemynear,statetype = A
var(16) = -99

[State -2,recover]
type=varadd
trigger1=var(17)>0
var(17)=-1
ignorehitpause=1

[State -2,recover]
type=varset
triggerall=var(17)>0
trigger1=enemynear,movetype!=H
var(17)=0

[State -2,ガード硬直]
type=varset
triggerall=enemynear,movetype=H
triggerall=enemynear,stateno<200
triggerall=enemynear,statetype=A
trigger1=!enemynear,gethitvar(fall)
trigger1=!(enemynear,hitshakeover)
trigger1=enemynear,time=1||var(17)=0
var(17)=enemynear,gethitvar(ctrltime)+enemynear,gethitvar(hitshaketime)+1
ignorehitpause=1

[State -2,ガード硬直]
type=varset
triggerall=enemynear,movetype=H
triggerall=enemynear,stateno<200
triggerall=enemynear,statetype!=A
trigger1=!enemynear,gethitvar(fall)
trigger1=!(enemynear,hitshakeover)
trigger1=enemynear,time=1||var(17)=0
var(17)=ifelse(enemynear,gethitvar(ctrltime)<enemynear,gethitvar(hittime),enemynear,gethitvar(ctrltime),enemynear,gethitvar(hittime))+enemynear,gethitvar(hitshaketime)+1
ignorehitpause=1

[State -2,のけぞり時間]
type=varset
triggerall=enemynear,movetype=H
triggerall=enemynear,stateno>199
trigger1=!enemynear,gethitvar(fall)
trigger1=!(enemynear,hitshakeover)
trigger1=enemynear,time=1
var(17)=enemynear,gethitvar(hittime)+enemynear,gethitvar(hitshaketime)+1
ignorehitpause=1

[State -2,受身不能時間]
type=varset
triggerall=enemynear,stateno>199
triggerall=enemynear,movetype=H
triggerall=enemynear,statetype!=L
trigger1=enemynear,gethitvar(fall)
trigger1=!(enemynear,hitshakeover)
trigger1=enemynear,time=1
var(17)=enemynear,gethitvar(fall.recovertime)-1
ignorehitpause=1

[State -2,受身不能時間]
type=varset
triggerall=numenemy>=2
triggerall=enemynear,stateno>199
triggerall=enemynear,movetype=H
triggerall=enemynear,statetype!=L
trigger1=enemynear,gethitvar(fall)
trigger1=var(17)<enemynear,gethitvar(fall.recovertime)-100
var(17)=enemynear,gethitvar(fall.recovertime)-100
ignorehitpause=1

[State -2,受身不能時間]
type=varset
triggerall=enemynear,stateno>199
triggerall=enemynear,movetype=H
triggerall=enemynear,statetype!=L
trigger1=!enemynear,gethitvar(fall.recover)
trigger1=enemynear,gethitvar(fall)
trigger2=enemynear,stateno=5070
var(17)=999
ignorehitpause=1

[State -3,up]
type = varset
trigger1 = var(18) <= 0
trigger1 = enemynear,statetype = L
var(18) = 15

[State -3,up]
type = varset
trigger1 = var(18) = 0
trigger1 = root,statetype = L
var(18) = -15

[State -3,up]
type = varadd
triggerall = var(18) != 0
trigger1 = var(18) > 0
trigger1 = enemynear,statetype != L
trigger2 = var(18) < 0
trigger2 = root,statetype != L
var(18) = ifelse(var(18) > 0,-1,1)

;相手のヘルパー数調べ
[state -1];ヘルパー数調べの準備
type=varset
trigger1 = roundstate!=2
var(19)=9999
supermove = 1
ignorehitpause = 1
pausemovetime = 99999
supermovetime = 99999


[state -1];ヘルパー数を調べる
type=varset
var(19)=enemynear,numhelper
trigger1 = roundstate=2
trigger1 = enemynear,ctrl=1
trigger1 = var(19)>=enemynear,numhelper
trigger2 = enemynear,movetype != A
trigger2 = root,inguarddist = 0
trigger2 = (enemynear,stateno =[5000,5999]) || enemynear,stateno = [50,200)
trigger2 = root,stateno != [120,162]
trigger2 = root,stateno != [5000,5300]
trigger2 = root,movetype != H
trigger2 = root,hitpausetime = 0 && enemynear,hitpausetime = 0
ignorehitpause = 1

[state -1]
type=varset
triggerall = var(20) != 0
trigger1 = root,movetype = A
trigger2 = root,movetype = H && root,stateno != [120,159]
var(20)=0
ignorehitpause = 1

[state -1]
type=varadd
trigger1 = root,movetype = H && !root,ctrl && root,stateno = [150,159]
var(20)=1
ignorehitpause = 1

[state -1]
type=varadd
trigger1 = var(20) > 0
trigger1 = root,movetype != H
var(20)=-1
ignorehitpause = 1

[state -1]
type=varset
trigger1 = root,movehit = 1
var(21)=ceil(root,p2bodydist y)
ignorehitpause = 1

[State -3]
Type = VarSet
Trigger1 = enemynear,movetype = A
Trigger1 = enemynear,time <= 1
trigger2 = enemynear,movetype != A
var(0) = 0
IgnoreHitPause = 1

[State -2,time]
Type = VarSet
Trigger1 = enemynear,movetype = A
Trigger1 = enemynear,hitdefattr = sca,aa,ap,at
trigger1 = var(0) = 0
var(0) = enemynear,time
IgnoreHitPause = 1

[State -3]
Type = VarSet
Trigger1 = enemynear,movetype = A
Trigger1 = enemynear,time <= 1
trigger2 = enemynear,movetype != A
var(8) = 0
IgnoreHitPause = 1

[State -3]
Type = VarSet
Trigger1 = enemynear,movetype = A
Trigger1 = root,movetype = H
trigger1 = root,time <= 1
trigger1 = var(8) = 0
var(8) = enemynear,time
IgnoreHitPause = 1

[State 7777,shield]
Type = VarSet
triggerall = var(1) != 0
Trigger1 = EnemyNear,time < 1
trigger2 = enemynear,movetype != A
trigger3 = var(7) = 1
var(1)=0
IgnoreHitPause=1

[State 7777,shield]
Type = VarAdd
Trigger1 = EnemyNear,MoveType=A
Trigger1 = EnemyNear,HitDefAttr = SCA,AA,AP,AT
var(1)=1
IgnoreHitPause=1

[State 7777,shield]
Type = Varset
triggerall = var(7) != 1
Trigger1 = EnemyNear,time <= 1
Trigger1 = EnemyNear,HitDefAttr = SCA,AA,AP
var(7)=1
IgnoreHitPause=1

[State 7777,shield]
Type = Varset
triggerall = var(7) != 0
Trigger1 = EnemyNear,HitDefAttr = SCA,AA,AP,AT
trigger1 = root,movetype = H || enemynear,movecontact || enemynear,movereversed
trigger2 = enemynear,movetype != A
trigger3 = !enemynear,hitdefattr = sca,aa,ap
var(7)=0
IgnoreHitPause=1

[State -2,stateno1]
Type = Varset
TriggerAll = Enemy,TeamMode = Single || Enemy,TeamMode = Turns
Trigger1 = enemynear,movetype != A
V = 2
value = 0
IgnoreHitPause = 1

[State -2,time]
Type = VarSet
TriggerAll = Enemy,TeamMode = Single || Enemy,TeamMode = Turns
Trigger1 = enemynear,movetype != A
V = 3
value = 0
IgnoreHitPause = 1

[State 33000,time]
Type = Null
TriggerAll = Enemy,TeamMode = Single || Enemy,TeamMode = Turns
TriggerAll = Var(2) != Enemynear,Stateno
Trigger1 = floor(fvar(0)) = Enemynear,Stateno
trigger1 = var(2) := floor(fvar(0)) || 1
trigger1 = var(3) := floor(1000*(fvar(0)-floor(fvar(0))))
Trigger2 = floor(fvar(1)) = Enemynear,Stateno
trigger2 = var(2) := floor(fvar(1)) || 1
trigger2 = var(3) := floor(1000*(fvar(1)-floor(fvar(1))))
Trigger3 = floor(fvar(2)) = Enemynear,Stateno
trigger3 = var(2) := floor(fvar(2)) || 1
trigger3 = var(3) := floor(1000*(fvar(2)-floor(fvar(2))))
Trigger4 = floor(fvar(3)) = Enemynear,Stateno
trigger4 = var(2) := floor(fvar(3)) || 1
trigger4 = var(3) := floor(1000*(fvar(3)-floor(fvar(3))))
Trigger5 = floor(fvar(4)) = Enemynear,Stateno
trigger5 = var(2) := floor(fvar(4)) || 1
trigger5 = var(3) := floor(1000*(fvar(4)-floor(fvar(4))))
Trigger6 = floor(fvar(5)) = Enemynear,Stateno
trigger6 = var(2) := floor(fvar(5)) || 1
trigger6 = var(3) := floor(1000*(fvar(5)-floor(fvar(5))))
Trigger7 = floor(fvar(6)) = Enemynear,Stateno
trigger7 = var(2) := floor(fvar(6)) || 1
trigger7 = var(3) := floor(1000*(fvar(6)-floor(fvar(6))))
Trigger8 = floor(fvar(7)) = Enemynear,Stateno
trigger8 = var(2) := floor(fvar(7)) || 1
trigger8 = var(3) := floor(1000*(fvar(7)-floor(fvar(7))))
Trigger9 = floor(fvar(8)) = Enemynear,Stateno
trigger9 = var(2) := floor(fvar(8)) || 1
trigger9 = var(3) := floor(1000*(fvar(8)-floor(fvar(8))))
Trigger10 = floor(fvar(9)) = Enemynear,Stateno
trigger10 = var(2) := floor(fvar(9)) || 1
trigger10 = var(3) := floor(1000*(fvar(9)-floor(fvar(9))))
Trigger11 = floor(fvar(10)) = Enemynear,Stateno
trigger11 = var(2) := floor(fvar(10)) || 1
trigger11 = var(3) := floor(1000*(fvar(10)-floor(fvar(10))))
Trigger12 = floor(fvar(11)) = Enemynear,Stateno
trigger12 = var(2) := floor(fvar(11)) || 1
trigger12 = var(3) := floor(1000*(fvar(11)-floor(fvar(11))))
Trigger13 = floor(fvar(12)) = Enemynear,Stateno
trigger13 = var(2) := floor(fvar(12)) || 1
trigger13 = var(3) := floor(1000*(fvar(12)-floor(fvar(12))))
Trigger14 = floor(fvar(13)) = Enemynear,Stateno
trigger14 = var(2) := floor(fvar(13)) || 1
trigger14 = var(3) := floor(1000*(fvar(13)-floor(fvar(13))))
Trigger15 = floor(fvar(14)) = Enemynear,Stateno
trigger15 = var(2) := floor(fvar(14)) || 1
trigger15 = var(3) := floor(1000*(fvar(14)-floor(fvar(14))))
Trigger16 = floor(fvar(15)) = Enemynear,Stateno
trigger16 = var(2) := floor(fvar(15)) || 1
trigger16 = var(3) := floor(1000*(fvar(15)-floor(fvar(15))))
Trigger17 = floor(fvar(16)) = Enemynear,Stateno
trigger17 = var(2) := floor(fvar(16)) || 1
trigger17 = var(3) := floor(1000*(fvar(16)-floor(fvar(16))))
Trigger18 = floor(fvar(17)) = Enemynear,Stateno
trigger18 = var(2) := floor(fvar(17)) || 1
trigger18 = var(3) := floor(1000*(fvar(17)-floor(fvar(17))))
Trigger19 = floor(fvar(18)) = Enemynear,Stateno
trigger19 = var(2) := floor(fvar(18)) || 1
trigger19 = var(3) := floor(1000*(fvar(18)-floor(fvar(18))))
Trigger20 = floor(fvar(19)) = Enemynear,Stateno
trigger20 = var(2) := floor(fvar(19)) || 1
trigger20 = var(3) := floor(1000*(fvar(19)-floor(fvar(19))))
Trigger21 = floor(fvar(20)) = Enemynear,Stateno
trigger21 = var(2) := floor(fvar(20)) || 1
trigger21 = var(3) := floor(1000*(fvar(20)-floor(fvar(20))))
Trigger22 = floor(fvar(21)) = Enemynear,Stateno
trigger22 = var(2) := floor(fvar(21)) || 1
trigger22 = var(3) := floor(1000*(fvar(21)-floor(fvar(21))))
Trigger23 = floor(fvar(22)) = Enemynear,Stateno
trigger23 = var(2) := floor(fvar(22)) || 1
trigger23 = var(3) := floor(1000*(fvar(22)-floor(fvar(22))))
Trigger24 = floor(fvar(23)) = Enemynear,Stateno
trigger24 = var(2) := floor(fvar(23)) || 1
trigger24 = var(3) := floor(1000*(fvar(23)-floor(fvar(23))))
Trigger25 = floor(fvar(24)) = Enemynear,Stateno
trigger25 = var(2) := floor(fvar(24)) || 1
trigger25 = var(3) := floor(1000*(fvar(24)-floor(fvar(24))))
Trigger26 = floor(fvar(25)) = Enemynear,Stateno
trigger26 = var(2) := floor(fvar(25)) || 1
trigger26 = var(3) := floor(1000*(fvar(25)-floor(fvar(25))))
Trigger27 = floor(fvar(26)) = Enemynear,Stateno
trigger27 = var(2) := floor(fvar(26)) || 1
trigger27 = var(3) := floor(1000*(fvar(26)-floor(fvar(26))))
Trigger28 = floor(fvar(27)) = Enemynear,Stateno
trigger28 = var(2) := floor(fvar(27)) || 1
trigger28 = var(3) := floor(1000*(fvar(27)-floor(fvar(27))))
Trigger29 = floor(fvar(28)) = Enemynear,Stateno
trigger29 = var(2) := floor(fvar(28)) || 1
trigger29 = var(3) := floor(1000*(fvar(28)-floor(fvar(28))))
Trigger30 = floor(fvar(29)) = Enemynear,Stateno
trigger30 = var(2) := floor(fvar(29)) || 1
trigger30 = var(3) := floor(1000*(fvar(29)-floor(fvar(29))))
Trigger31 = floor(fvar(30)) = Enemynear,Stateno
trigger31 = var(2) := floor(fvar(30)) || 1
trigger31 = var(3) := floor(1000*(fvar(30)-floor(fvar(30))))
Trigger32 = floor(fvar(31)) = Enemynear,Stateno
trigger32 = var(2) := floor(fvar(31)) || 1
trigger32 = var(3) := floor(1000*(fvar(31)-floor(fvar(31))))
Trigger33 = floor(fvar(32)) = Enemynear,Stateno
trigger33 = var(2) := floor(fvar(32)) || 1
trigger33 = var(3) := floor(1000*(fvar(32)-floor(fvar(32))))
Trigger34 = floor(fvar(33)) = Enemynear,Stateno
trigger34 = var(2) := floor(fvar(33)) || 1
trigger34 = var(3) := floor(1000*(fvar(33)-floor(fvar(33))))
Trigger35 = floor(fvar(34)) = Enemynear,Stateno
trigger35 = var(2) := floor(fvar(34)) || 1
trigger35 = var(3) := floor(1000*(fvar(34)-floor(fvar(34))))
Trigger36 = floor(fvar(35)) = Enemynear,Stateno
trigger36 = var(2) := floor(fvar(35)) || 1
trigger36 = var(3) := floor(1000*(fvar(35)-floor(fvar(35))))
IgnoreHitPause = 1


[State -2,pointer]
Type = VarAdd
TriggerAll = Enemy,TeamMode = Single || Enemy,TeamMode = Turns
triggerall = var(6) < 35
Trigger1 = var(5) > 0 && var(0) != 0
var(6) = 1
IgnoreHitPause = 1

[State -2,reset]
Type = VarSet
Trigger1 = Var(5) > 0 && var(0) != 0
var(5) = 0
IgnoreHitPause = 1

[State -2,stateno3]
Type = VarSet
TriggerAll = Enemy,TeamMode = Single || Enemy,TeamMode = Turns
TriggerAll = enemynear,movetype = A
TriggerAll = Var(2) != enemynear,stateno
Trigger1 = var(0) != 0
var(2) = enemynear,stateno
IgnoreHitPause = 1

[State -2,time]
Type = VarSet
TriggerAll = Enemy,TeamMode = Single || Enemy,TeamMode = Turns
TriggerAll = enemynear,movetype = A
TriggerAll = Var(2) = enemynear,stateno
Trigger1 = var(0) != 0
var(3) = var(0)
IgnoreHitPause = 1

[State -2,max]
Type = Varset
Trigger1 = var(3) > 999
var(3) = 999
IgnoreHitPause = 1

[State -2,pointer]
Type = VarSet
TriggerAll = Enemy,TeamMode = Single || Enemy,TeamMode = Turns
TriggerAll = enemynear,movetype = A && var(0) != 0
TriggerAll = Var(6) <= 35
TriggerAll = floor(fvar(0)) != var(2)
TriggerAll = floor(fvar(1)) != var(2)
TriggerAll = floor(fvar(2)) != var(2)
TriggerAll = floor(fvar(3)) != var(2)
TriggerAll = floor(fvar(4)) != var(2)
TriggerAll = floor(fvar(5)) != var(2)
TriggerAll = floor(fvar(6)) != var(2)
TriggerAll = floor(fvar(7)) != var(2)
TriggerAll = floor(fvar(8)) != var(2)
TriggerAll = floor(fvar(9)) != var(2)
TriggerAll = floor(fvar(10)) != var(2)
TriggerAll = floor(fvar(11)) != var(2)
TriggerAll = floor(fvar(12)) != var(2)
TriggerAll = floor(fvar(13)) != var(2)
TriggerAll = floor(fvar(14)) != var(2)
TriggerAll = floor(fvar(15)) != var(2)
TriggerAll = floor(fvar(16)) != var(2)
TriggerAll = floor(fvar(17)) != var(2)
TriggerAll = floor(fvar(18)) != var(2)
TriggerAll = floor(fvar(19)) != var(2)
TriggerAll = floor(fvar(20)) != var(2)
TriggerAll = floor(fvar(21)) != var(2)
TriggerAll = floor(fvar(22)) != var(2)
TriggerAll = floor(fvar(23)) != var(2)
TriggerAll = floor(fvar(24)) != var(2)
TriggerAll = floor(fvar(25)) != var(2)
TriggerAll = floor(fvar(26)) != var(2)
TriggerAll = floor(fvar(27)) != var(2)
TriggerAll = floor(fvar(28)) != var(2)
TriggerAll = floor(fvar(29)) != var(2)
TriggerAll = floor(fvar(30)) != var(2)
TriggerAll = floor(fvar(31)) != var(2)
TriggerAll = floor(fvar(32)) != var(2)
TriggerAll = floor(fvar(33)) != var(2)
TriggerAll = floor(fvar(34)) != var(2)
TriggerAll = floor(fvar(35)) != var(2)
TriggerAll = var(5) = 0
Triggerall = Enemynear,Prevstateno != Enemynear,Stateno
trigger1 = enemynear,hitdefattr = sca,na,sa,np,sp,nt,st
var(5) = 1
IgnoreHitPause = 1

[State -2,record]
Type = VarSet
TriggerAll = Enemy,TeamMode = Single || Enemy,TeamMode = Turns
Trigger1 = var(5) = 1
FV = Var(6)
Value = Var(2)+0.001*Var(3)
IgnoreHitPause = 1

[State -2, 判定用Var]
Type = VarSet
triggerall = var(50)
trigger1 = root,movetype != H && root,stateno != [120,155]
trigger2 = root,statetype = A && root,stateno = [120,155]
trigger3 = enemynear,movetype != A && root,movetype != H
var(50) = 0
IgnoreHitPause = 1

[State -2, 判定用Var]
Type = VarSet
trigger1 = root,stateno = [120,155]
trigger1 = root,statetype = C
var(50) = 1
IgnoreHitPause = 1

[State -2, 判定用Var]
Type = VarSet
trigger1 = root,stateno = [120,155]
trigger1 = root,statetype = S
var(50) = 2
IgnoreHitPause = 1

[State -2, 判定用Varのリセット]
Type = VarSet
TriggerAll = Enemy,TeamMode = Single || Enemy,TeamMode = Turns
triggerall = var(22)
triggerall = Root,StateNo != [120,155]
triggerall = Root,MoveType != H
trigger1 = Root,Ctrl || Root,StateNo < 200
trigger2 = Root,MoveType = A
V = 22
Value = 0
IgnoreHitPause = 1

[State -2, 下段(立ちガード不可攻撃)判定]
Type = VarSet
TriggerAll = RoundState = 2 && Var(22) = 0
TriggerAll = root,StateNo != [120,155]
TriggerAll = root,prevStateNo != [5000,5099]
TriggerAll = enemynear,movetype = A
TriggerAll = EnemyNear,StateType = S
TriggerAll = root,movetype = H
triggerall = !enemynear,hitdefattr = sca,at
Trigger1 = root,PrevStateNo = 130 || var(50) = 2
V = 22
Value = 1
IgnoreHitPause = 1

[State -2, 中段(屈みガード不可攻撃)判定]
Type = VarSet
TriggerAll = RoundState = 2 && Var(22) = 0
TriggerAll = root,StateNo != [120,155]
TriggerAll = root,prevStateNo != [5000,5099]
TriggerAll = enemynear,movetype = A
TriggerAll = EnemyNear,StateType = S
TriggerAll = root,movetype = H
triggerall = !enemynear,hitdefattr = sca,at
Trigger1 = root,PrevStateNo = 131 || var(50) = 1
V = 22
Value = 2
IgnoreHitPause = 1

[State 60000,Reset]
type = VarSet
triggerall = var(11) != 0
trigger1 = enemynear,stateno != var(30)
trigger1 = enemynear,stateno != var(31)
trigger1 = enemynear,stateno != var(32)
trigger1 = enemynear,stateno != var(33)
trigger1 = enemynear,stateno != var(34)
trigger1 = enemynear,stateno != var(35)
trigger1 = enemynear,stateno != var(36)
trigger1 = enemynear,stateno != var(37)
trigger1 = enemynear,stateno != var(38)
trigger1 = enemynear,stateno != var(39)
trigger1 = enemynear,stateno != var(40)
trigger1 = enemynear,stateno != var(41)
trigger1 = enemynear,stateno != var(42)
trigger1 = enemynear,stateno != var(43)
trigger2 = enemynear,movetype != A
var(11) = 0
ignorehitpause = 1

[State 60000,下段]
type = VarSet
triggerall = var(11) != 1
trigger1 = var(30) > 0
trigger1 = enemynear,stateno = var(30)
trigger2 = var(31) > 0
trigger2 = enemynear,stateno = var(31)
trigger3 = var(32) > 0
trigger3 = enemynear,stateno = var(32)
var(11) = 1
ignorehitpause = 1

[State 60000,中段]
type = VarSet
triggerall = var(11) != 2
trigger1 = var(33) > 0
trigger1 = enemynear,stateno = var(33)
trigger2 = var(34) > 0
trigger2 = enemynear,stateno = var(34)
trigger3 = var(35) > 0
trigger3 = enemynear,stateno = var(35)
var(11) = 2
ignorehitpause = 1

[State 60000,投]
type = VarSet
triggerall = var(11) != 3
trigger1 = var(36) > 0
trigger1 = enemynear,stateno = var(36)
trigger2 = var(37) > 0
trigger2 = enemynear,stateno = var(37)
trigger3 = var(38) > 0
trigger3 = enemynear,stateno = var(38)
trigger4 = var(39) > 0
trigger4 = enemynear,stateno = var(39)
trigger5 = var(40) > 0
trigger5 = enemynear,stateno = var(40)
trigger6 = var(41) > 0
trigger6 = enemynear,stateno = var(41)
var(11) = 3
ignorehitpause = 1

[State 60000,不可防]
type = VarSet
triggerall = var(11) != 4
trigger1 = var(42) > 0
trigger1 = enemynear,stateno = var(42)
trigger2 = var(43) > 0
trigger2 = enemynear,stateno = var(43)
var(11) = 4
ignorehitpause = 1

[State 60000,下段学習]
type = VarSet
trigger1 = enemynear,movetype = A
trigger1 = var(22) = 1
trigger1 = Enemy,TeamMode = Single || Enemy,TeamMode = Turns || Enemy,TeamMode = Simul && (Enemy(0),Alive && !Enemy(NumEnemy=2),Alive || !Enemy(0),Alive && Enemy(NumEnemy=2),Alive)
trigger1 = !var(30)
trigger1 = !var(42)||var(42)&&var(42)!=EnemyNear,StateNo
trigger1 = !var(43)||var(43)&&var(43)!=EnemyNear,StateNo
var(30) = EnemyNear,StateNo
ignorehitpause = 1

[State 60000,下段学習2]
type = VarSet
trigger1 = enemynear,movetype = A
trigger1 = var(22) = 1
trigger1 = Enemy,TeamMode = Single || Enemy,TeamMode = Turns || Enemy,TeamMode = Simul && (Enemy(0),Alive && !Enemy(NumEnemy=2),Alive || !Enemy(0),Alive && Enemy(NumEnemy=2),Alive)
trigger1 = var(30)
trigger1 = !var(31)
trigger1 = !var(42)||var(42)&&var(42)!=EnemyNear,StateNo
trigger1 = !var(43)||var(43)&&var(43)!=EnemyNear,StateNo
trigger1 = enemynear,stateno != var(30)
var(31) = EnemyNear,StateNo
ignorehitpause = 1

[State 60000,下段学習3]
type = VarSet
trigger1 = enemynear,movetype = A
trigger1 = var(22) = 1
trigger1 = Enemy,TeamMode = Single || Enemy,TeamMode = Turns || Enemy,TeamMode = Simul && (Enemy(0),Alive && !Enemy(NumEnemy=2),Alive || !Enemy(0),Alive && Enemy(NumEnemy=2),Alive)
trigger1 = var(31)
trigger1 = !var(32)
trigger1 = !var(42)||var(42)&&var(42)!=EnemyNear,StateNo
trigger1 = !var(43)||var(43)&&var(43)!=EnemyNear,StateNo
trigger1 = enemynear,stateno != var(30)
trigger1 = enemynear,stateno != var(31)
var(32) = EnemyNear,StateNo
ignorehitpause = 1

[State 60000,中段学習]
type = VarSet
trigger1 = enemynear,movetype = A
trigger1 = var(22) = 2
trigger1 = Enemy,TeamMode = Single || Enemy,TeamMode = Turns || Enemy,TeamMode = Simul && (Enemy(0),Alive && !Enemy(NumEnemy=2),Alive || !Enemy(0),Alive && Enemy(NumEnemy=2),Alive)
trigger1 = !var(33)
trigger1 = !var(42)||var(42)&&var(42)!=EnemyNear,StateNo
trigger1 = !var(43)||var(43)&&var(43)!=EnemyNear,StateNo
var(33) = EnemyNear,StateNo
ignorehitpause = 1

[State 60000,中段学習2]
type = VarSet
trigger1 = enemynear,movetype = A
trigger1 = var(22) = 2
trigger1 = Enemy,TeamMode = Single || Enemy,TeamMode = Turns || Enemy,TeamMode = Simul && (Enemy(0),Alive && !Enemy(NumEnemy=2),Alive || !Enemy(0),Alive && Enemy(NumEnemy=2),Alive)
trigger1 = var(33)
trigger1 = !var(34)
trigger1 = !var(42)||var(42)&&var(42)!=EnemyNear,StateNo
trigger1 = !var(43)||var(43)&&var(43)!=EnemyNear,StateNo
trigger1 = enemynear,stateno != var(33)
var(34) = EnemyNear,StateNo
ignorehitpause = 1

[State 60000,中段学習3]
type = VarSet
trigger1 = enemynear,movetype = A
trigger1 = var(22) = 2
trigger1 = Enemy,TeamMode = Single || Enemy,TeamMode = Turns || Enemy,TeamMode = Simul && (Enemy(0),Alive && !Enemy(NumEnemy=2),Alive || !Enemy(0),Alive && Enemy(NumEnemy=2),Alive)
trigger1 = var(34)
trigger1 = !var(35)
trigger1 = !var(42)||var(42)&&var(42)!=EnemyNear,StateNo
trigger1 = !var(43)||var(43)&&var(43)!=EnemyNear,StateNo
trigger1 = enemynear,stateno != var(33)
trigger1 = enemynear,stateno != var(34)
var(35) = EnemyNear,StateNo
ignorehitpause = 1

[State 60000,投]
type = VarSet
trigger1 = enemynear,movetype = A
trigger1 = Enemy,TeamMode = Single || Enemy,TeamMode = Turns || Enemy,TeamMode = Simul && (Enemy(0),Alive && !Enemy(NumEnemy=2),Alive || !Enemy(0),Alive && Enemy(NumEnemy=2),Alive)
trigger1 = enemynear,hitdefattr = sc,nt,st,ht,at
trigger1 = !var(36)
var(36) = enemynear,stateno
ignorehitpause = 1

[State 60000,投2]
type = VarSet
trigger1 = enemynear,movetype = A
trigger1 = Enemy,TeamMode = Single || Enemy,TeamMode = Turns || Enemy,TeamMode = Simul && (Enemy(0),Alive && !Enemy(NumEnemy=2),Alive || !Enemy(0),Alive && Enemy(NumEnemy=2),Alive)
trigger1 = enemynear,hitdefattr = sc,nt,st,ht,at
trigger1 = !var(37) && var(36)
trigger1 = enemynear,stateno != var(36)
var(37) = enemynear,stateno
ignorehitpause = 1

[State 60000,投3]
type = VarSet
trigger1 = enemynear,movetype = A
trigger1 = Enemy,TeamMode = Single || Enemy,TeamMode = Turns || Enemy,TeamMode = Simul && (Enemy(0),Alive && !Enemy(NumEnemy=2),Alive || !Enemy(0),Alive && Enemy(NumEnemy=2),Alive)
trigger1 = enemynear,hitdefattr = sc,nt,st,ht,at
trigger1 = !var(38) && var(37)
trigger1 = enemynear,stateno != var(36)
trigger1 = enemynear,stateno != var(37)
var(38) = enemynear,stateno

[State 60000,投4]
type = VarSet
trigger1 = enemynear,movetype = A
trigger1 = Enemy,TeamMode = Single || Enemy,TeamMode = Turns || Enemy,TeamMode = Simul && (Enemy(0),Alive && !Enemy(NumEnemy=2),Alive || !Enemy(0),Alive && Enemy(NumEnemy=2),Alive)
trigger1 = enemynear,hitdefattr = sca,nt,st,ht,at
trigger1 = !var(39) && var(38)
trigger1 = enemynear,stateno != var(36)
trigger1 = enemynear,stateno != var(37)
trigger1 = enemynear,stateno != var(38)
var(39) = enemynear,stateno

[State 60000,投5]
type = VarSet
trigger1 = enemynear,movetype = A
trigger1 = Enemy,TeamMode = Single || Enemy,TeamMode = Turns || Enemy,TeamMode = Simul && (Enemy(0),Alive && !Enemy(NumEnemy=2),Alive || !Enemy(0),Alive && Enemy(NumEnemy=2),Alive)
trigger1 = enemynear,hitdefattr = sca,nt,st,ht,at
trigger1 = !var(40) && var(39)
trigger1 = enemynear,stateno != var(36)
trigger1 = enemynear,stateno != var(37)
trigger1 = enemynear,stateno != var(38)
trigger1 = enemynear,stateno != var(39)
var(40) = enemynear,stateno

[State 60000,投6]
type = VarSet
trigger1 = enemynear,movetype = A
trigger1 = Enemy,TeamMode = Single || Enemy,TeamMode = Turns || Enemy,TeamMode = Simul && (Enemy(0),Alive && !Enemy(NumEnemy=2),Alive || !Enemy(0),Alive && Enemy(NumEnemy=2),Alive)
trigger1 = enemynear,hitdefattr = sca,nt,st,ht,at
trigger1 = !var(41) && var(40)
trigger1 = enemynear,stateno != var(36)
trigger1 = enemynear,stateno != var(37)
trigger1 = enemynear,stateno != var(38)
trigger1 = enemynear,stateno != var(39)
trigger1 = enemynear,stateno != var(40)
var(41) = enemynear,stateno

[State 60000,ガード不能学習]
type = VarSet
triggerall = !var(42)
trigger1 = var(30)>0
trigger1 = var(30) = var(33) || var(30) = var(34) || var(30) = var(35)
var(42) = var(10)
ignorehitpause = 1

[State 60000,ガード不能学習]
type = VarSet
triggerall = !var(42)
trigger1 = var(31)>0
trigger1 = var(31) = var(33) || var(31) = var(34) || var(31) = var(35)
var(42) = var(31)
ignorehitpause = 1

[State 60000,ガード不能学習]
type = VarSet
triggerall = !var(42)
trigger1 = var(32)>0
trigger1 = var(32) = var(33) || var(32) = var(34) || var(32) = var(35)
var(42) = var(32)
ignorehitpause = 1

[State 60000,ガード不能学習]
type = VarSet
triggerall = var(30)
trigger1 = var(42) = var(30)
var(30) = 0
ignorehitpause = 1

[State 60000,ガード不能学習]
type = VarSet
triggerall = var(31)
trigger1 = var(42) = var(31)
var(31) = 0
ignorehitpause = 1

[State 60000,ガード不能学習]
type = VarSet
triggerall = var(32)
trigger1 = var(42) = var(32)
var(32) = 0
ignorehitpause = 1

[State 60000,ガード不能学習]
type = VarSet
triggerall = var(33)
trigger1 = var(42) = var(33)
var(33) = 0
ignorehitpause = 1

[State 60000,ガード不能学習]
type = VarSet
triggerall = var(34)
trigger1 = var(42) = var(34)
var(34) = 0
ignorehitpause = 1

[State 60000,ガード不能学習]
type = VarSet
triggerall = var(35)
trigger1 = var(42) = var(35)
var(35) = 0
ignorehitpause = 1

[State 60000,ガード不能学習2]
type = VarSet
triggerall = !var(43)
triggerall = var(42)
trigger1 = var(30)>0
trigger1 = var(30) = var(33) || var(30) = var(34) || var(30) = var(35)
var(43) = ifelse(var(30)!=var(42),var(30),0)
ignorehitpause = 1

[State 60000,ガード不能学習2]
type = VarSet
triggerall = !var(43)
triggerall = var(42)
trigger1 = var(31)>0
trigger1 = var(31) = var(33) || var(31) = var(34) || var(31) = var(35)
var(43) = ifelse(var(30)!=var(42),var(31),0)
ignorehitpause = 1

[State 60000,ガード不能学習2]
type = VarSet
triggerall = !var(43)
triggerall = var(42)
trigger1 = var(32)>0
trigger1 = var(32) = var(33) || var(32) = var(34) || var(32) = var(35)
var(43) = ifelse(var(30)!=var(42),var(32),0)
ignorehitpause = 1

[State 60000,ガード不能学習]
type = VarSet
triggerall = var(30)
trigger1 = var(43) = var(30)
var(30) = 0
ignorehitpause = 1

[State 60000,ガード不能学習]
type = VarSet
triggerall = var(31)
trigger1 = var(43) = var(31)
var(31) = 0
ignorehitpause = 1

[State 60000,ガード不能学習]
type = VarSet
triggerall = var(32)
trigger1 = var(43) = var(32)
var(32) = 0
ignorehitpause = 1

[State 60000,ガード不能学習]
type = VarSet
triggerall = var(33)
trigger1 = var(43) = var(33)
var(33) = 0
ignorehitpause = 1

[State 60000,ガード不能学習]
type = VarSet
triggerall = var(34)
trigger1 = var(43) = var(34)
var(34) = 0
ignorehitpause = 1

[State 60000,ガード不能学習]
type = VarSet
triggerall = var(35)
trigger1 = var(43) = var(35)
var(35) = 0
ignorehitpause = 1

[STATE yaccel]
type = VarSet
trigger1 = 1
fvar(37) = ifelse(enemynear,movetype = H && !enemynear,hitshakeover && root,statetype = A,root,const(movement.yaccel),root,vel y-fvar(36))

[STATE eyaccel]
type = VarSet
trigger1 = 1
fvar(39) = ifelse(enemynear,movetype = H && !enemynear,hitshakeover && enemynear,statetype = A,enemynear,gethitvar(yaccel),enemynear,vel y-fvar(38))

[STATE vely]
type = VarSet
trigger1 = 1
fvar(36) = root,vel y

[STATE evely]
type = VarSet
trigger1 = 1
fvar(38) = enemynear,vel y