;-| Button Remapping |-----------------------------------------------------
; This section lets you remap the player's buttons (to easily change the
; button configuration). The format is:
; old_button = new_button
; If new_button is left blank, the button cannot be pressed.
[Remap]
x = x
y = y
z = z
a = a
b = b
c = c
s = s
;-| Default Values |-------------------------------------------------------
[Defaults]
; Default value for the "time" parameter of a Command. Minimum 1.
command.time = 30
; Default value for the "buffer.time" parameter of a Command. Minimum 1,
; maximum 30.
command.buffer.time = 1
;-| Super Motions |--------------------------------------------------------
[command]
name = "Super Tail Attack"
command = a+x
time = 10
[command]
name = "Super Tail Attack"
command = a+y
time = 10
[command]
name = "Super Tail Attack"
command = a+z
time = 10
[command]
name = "Super Fireball"
command = b+x
time = 15
[command]
name = "Super Fireball"
command = b+y
time = 15
[command]
name = "Super Fireball"
command = b+z
time = 15
;-| Special Motions |------------------------------------------------------
[Command]
name = "Throw"
command = x+y
[Command]
name = "Throw"
command = y+x
;-| Double Tap |-----------------------------------------------------------
[Command]
name = "FF" ;Required (do not remove)
command = F, F
time = 10
[Command]
name = "BB" ;Required (do not remove)
command = B, B
time = 10
;-| 2/3 Button Combination |-----------------------------------------------
[Command]
name = "recovery" ;Required (do not remove)
command = x+y
time = 1
[Command]
name = "recovery"
command = y+z
time = 1
[Command]
name = "recovery"
command = x+z
time = 1
[Command]
name = "recovery"
command = a+b
time = 1
[Command]
name = "recovery"
command = b+c
time = 1
[Command]
name = "recovery"
command = a+c
time = 1
;-| Dir + Button |---------------------------------------------------------
[Command]
name = "back_x"
command = /$B,x
time = 1
[Command]
name = "back_y"
command = /$B,y
time = 1
[Command]
name = "back_z"
command = /$B,z
time = 1
[Command]
name = "down_x"
command = /$D,x
time = 1
[Command]
name = "down_y"
command = /$D,y
time = 1
[Command]
name = "down_z"
command = /$D,z
time = 1
[Command]
name = "fwd_x"
command = /$F,x
time = 1
[Command]
name = "fwd_y"
command = /$F,y
time = 1
[Command]
name = "fwd_z"
command = /$F,z
time = 1
[Command]
name = "up_x"
command = /$U,x
time = 1
[Command]
name = "up_y"
command = /$U,y
time = 1
[Command]
name = "up_z"
command = /$U,z
time = 1
[Command]
name = "back_a"
command = /$B,a
time = 1
[Command]
name = "back_b"
command = /$B,b
time = 1
[Command]
name = "back_c"
command = /$B,c
time = 1
[Command]
name = "down_a"
command = /$D,a
time = 1
[Command]
name = "down_b"
command = /$D,b
time = 1
[Command]
name = "down_c"
command = /$D,c
time = 1
[Command]
name = "fwd_a"
command = /$F,a
time = 1
[Command]
name = "fwd_b"
command = /$F,b
time = 1
[Command]
name = "fwd_c"
command = /$F,c
time = 1
[Command]
name = "up_a"
command = /$U,a
time = 1
[Command]
name = "up_b"
command = /$U,b
time = 1
[Command]
name = "up_c"
command = /$U,c
time = 1
;-| Single Button |---------------------------------------------------------
[Command]
name = "a"
command = a
time = 1
[Command]
name = "b"
command = b
time = 1
[Command]
name = "c"
command = c
time = 1
[Command]
name = "x"
command = x
time = 1
[Command]
name = "y"
command = y
time = 1
[Command]
name = "z"
command = z
time = 1
[Command]
name = "s"
command = s
time = 1
;-| Single Dir |------------------------------------------------------------
[Command]
name = "fwd" ;Required (do not remove)
command = $F
time = 1
[Command]
name = "downfwd"
command = $DF
time = 1
[Command]
name = "down" ;Required (do not remove)
command = $D
time = 1
[Command]
name = "downback"
command = $DB
time = 1
[Command]
name = "back" ;Required (do not remove)
command = $B
time = 1
[Command]
name = "upback"
command = $UB
time = 1
[Command]
name = "up" ;Required (do not remove)
command = $U
time = 1
[Command]
name = "upfwd"
command = $UF
time = 1
;-| Hold Button |--------------------------------------------------------------
[Command]
name = "hold_x"
command = /x
time = 1
[Command]
name = "hold_y"
command = /y
time = 1
[Command]
name = "hold_z"
command = /z
time = 1
[Command]
name = "hold_a"
command = /a
time = 1
[Command]
name = "hold_b"
command = /b
time = 1
[Command]
name = "hold_c"
command = /c
time = 1
[Command]
name = "hold_s"
command = /s
time = 1
;-| Hold Dir |--------------------------------------------------------------
[Command]
name = "holdfwd" ;Required (do not remove)
command = /$F
time = 1
[Command]
name = "holddownfwd"
command = /$DF
time = 1
[Command]
name = "holddown" ;Required (do not remove)
command = /$D
time = 1
[Command]
name = "holddownback"
command = /$DB
time = 1
[Command]
name = "holdback" ;Required (do not remove)
command = /$B
time = 1
[Command]
name = "holdupback"
command = /$UB
time = 1
[Command]
name = "holdup" ;Required (do not remove)
command = /$U
time = 1
[Command]
name = "holdupfwd"
command = /$UF
time = 1
[Command]
name = "charge1"
command = /c
time = 1
;---------------------------------------------------------------------------
[Statedef -1]
;===========================================================================
; AI
;===========================================================================
; Diffculty Configuration
[State Scale AI with In-Game Settings]
type = Null
triggerall = AILevel > 0
trigger1 = e || fvar(12):= cond(AILevel >= 8, 1.00, (1.00 * (AILevel ** 2 / 64.0))) ; AI Level Scale (0.00-1.00)
trigger1 = e || fvar(13):= cond(AILevel >= 8, 1.00, (1.00 * (AILevel ** 2 / 64.0))) ; AI Defense Scale (0.00-1.00)
ignorehitpause = 1
;==============================================================================================
; AI Setup
;==============================================================================================
;=============================================
; Helpers
;=============================================
[state -1, AI Detect Projectile System]
type = helper
trigger1 = ailevel ;M.U.G.E.N 1.0+
trigger1 = !numhelper(33333333)
name = "AI Detect Projectile System (Helper)"
ID = 33333333
stateno = 33333333
postype = p1
ownpal = 1
keyctrl = 0
size.xscale = 1.0
size.yscale = 1.0
supermovetime = 2147483647
pausemovetime = 2147483647
ignorehitpause = 1
[state -1, AI Detect Projectile System]
type = helper
trigger1 = ailevel ;M.U.G.E.N 1.0+
trigger1 = !numhelper(33333333)
name = "AI Detect Projectile System (sctrl)"
ID = 33333332
stateno = 75475890
postype = p1
ownpal = 1
keyctrl = 0
size.xscale = 1.0
size.yscale = 1.0
supermovetime = 2147483647
pausemovetime = 2147483647
ignorehitpause = 1
[state -1, AI Blocking Helper]
type = helper
triggerall = ailevel
trigger1 = !numhelper(15900)
name = "AI Blocking Helper"
ID = 15900
stateno = 15900
postype = p1
ownpal = 1
keyctrl = 0
supermovetime = 2147483647
pausemovetime = 2147483647
ignorehitpause = 1
[state -1, AI Memory Helper]
type = helper
triggerall = ailevel
trigger1 = !numhelper(18000)
name = "AI Memory Helper"
ID = 18000
stateno = 18000
postype = p1
ownpal = 1
keyctrl = 0
supermovetime = 2147483647
pausemovetime = 2147483647
ignorehitpause = 1
[state -1, AI Memory Helper]
type = helper
triggerall = ailevel
trigger1 = !numhelper(18100)
name = "AI Right Bound"
ID = 18100
stateno = 18100
pos = 0,0
ownpal = 1
keyctrl = 0
supermovetime = 2147483647
pausemovetime = 2147483647
ignorehitpause = 1
[state -1, AI Memory Helper]
type = helper
triggerall = ailevel
trigger1 = !numhelper(18200)
name = "AI Left Bound"
ID = 18200
stateno = 18100
pos = 0,0
ownpal = 1
keyctrl = 0
supermovetime = 2147483647
pausemovetime = 2147483647
ignorehitpause = 1
;==============================================================================================
; Variables
;==============================================================================================
[State 0, Enemy Detection]
type = Null
triggerall = !ishelper
trigger1 = numenemy = 1
trigger1 = var(58):= 0 || 1
trigger2 = numenemy = 2
trigger2 = enemynear(0),alive
trigger2 = enemynear(1),alive
trigger2 = var(58):= cond(((abs(pos x - enemynear(0),pos x)) < (abs(pos x - enemynear(1),pos x))),0,1) || 1
trigger3 = numenemy = 2
trigger3 = !enemynear(0),alive || !enemynear(1),alive
trigger3 = var(58):= cond(enemynear(0),alive,0,1) || 1
ignorehitpause = 1
[State -1, Yaccel Set]
type = varset
triggerall = fvar(19) != enemynear(var(58)),const(movement.yaccel)
trigger1 = enemynear(var(58)),stateno != [5000,5210]
fvar(19) = enemynear(var(58)),const(movement.yaccel)
ignorehitpause = 1
[State -1, Yaccel Set]
type = varset
triggerall = fvar(19) != enemynear(var(58)),gethitvar(yaccel)
trigger1 = enemynear(var(58)),stateno = [5000,5210]
fvar(19) = enemynear(var(58)),gethitvar(yaccel)
ignorehitpause = 1
[state -1, Enemy X-Velocity]
type = varset
triggerall = !ishelper
triggerall = facing != enemynear(var(58)),facing
trigger1 = fvar(35) != enemynear(var(58)),vel x
fvar(35) = enemynear(var(58)),vel x
ignorehitpause = 1
[state -1, Enemy X-Velocity]
type = varset
triggerall = !ishelper
triggerall = facing = enemynear(var(58)),facing
trigger1 = fvar(35) != enemynear(var(58)),vel x
fvar(35) = -enemynear(var(58)),vel x
ignorehitpause = 1
[State ]
type = varset
triggerall = !ishelper
triggerall = fvar(35) != 0
trigger1 = enemynear(var(58)),vel x = 0
fvar(35) = 0
ignorehitpause = 1
[state -1, Enemy X-Velocity]
type = varset
triggerall = !ishelper
triggerall = facing != enemynear(var(58)),facing
trigger1 = fvar(36) != enemynear(var(58)),gethitvar(xvel)
fvar(36)=((enemynear(var(58)),gethitvar(xvel))*(enemynear(var(58)),facing)*cond(enemynear(var(58)),statetype = C,enemynear(var(58)),const(movement.crouch.friction),cond(enemynear(var(58)),statetype = A, 1, enemynear(var(58)),const(movement.stand.friction))))
ignorehitpause = 1
[state -1, Enemy X-Velocity]
type = varset
triggerall = !ishelper
triggerall = facing = enemynear(var(58)),facing
trigger1 = fvar(36) != enemynear(var(58)),gethitvar(xvel)
fvar(36)=-((enemynear(var(58)),gethitvar(xvel))*(enemynear(var(58)),facing)*cond(enemynear(var(58)),statetype = C,enemynear(var(58)),const(movement.crouch.friction),cond(enemynear(var(58)),statetype = A, 1, enemynear(var(58)),const(movement.stand.friction))))
ignorehitpause = 1
[State ]
type = varset
triggerall = !ishelper
triggerall = fvar(36) != 0
trigger1 = enemynear(var(58)),gethitvar(xvel) = 0
fvar(36) = 0
ignorehitpause = 1
[State 0, VarSet]
type = VarSet
triggerall = var(56) != 0
trigger1 = stateno != [20,29]
var(56) = 0
[State 0, VarSet]
type = VarSet
triggerall = var(28) != 0
triggerall = stateno != [40,49]
trigger1 = statetype != A || movetype = H
var(28) = 0
[State 0, P2BodyDist]
type = Null
triggerall = !ishelper
; X Distance
trigger1 = 1 || fvar(8):= cond(enemynear(var(58)),statetype != A, cond(pos x <= enemynear(var(58)),pos x ^^ enemynear(var(58)),facing = 1, enemynear(var(58)),const(size.ground.front), enemynear(var(58)),const(size.ground.back)),0)
trigger1 = 1 || fvar(8):= cond(enemynear(var(58)),statetype = A, cond(pos x <= enemynear(var(58)),pos x ^^ enemynear(var(58)),facing = 1, enemynear(var(58)),const(size.air.front), enemynear(var(58)),Const(size.air.back)), fvar(8))
trigger1 = 1 || fvar(7):= (pos x - enemynear(var(58)),pos x)*facing*-1
trigger1 = 1 || fvar(7):= (fvar(7)-(fvar(8)*cond(fvar(7) > 0, 1, -1)))
trigger1 = 1 || fvar(7):= (fvar(7)-cond(statetype = A, const(size.air.front), const(size.ground.front)))
; Y Distance
trigger1 = 1 || fvar(8):= (enemynear(var(58)),pos y - pos y)
ignorehitpause = 1
[State -3, Blocking Methods]
type = VarSet
triggerall = AILevel
trigger1 = helper(15900),var(41) != 2 || !numhelper(15900)
var(47) = 1
ignorehitpause = 1
[State -3, Blocking Methods]
type = VarSet
triggerall = AILevel
trigger1 = enemynear(var(58)),hitdefattr = A,AA,AP,AT || enemynear(var(58)),statetype = A
trigger2 = PlayerIdExist(helper(33333333),var(4))
trigger2 = PlayerID(helper(33333333),var(4)), statetype = A
trigger3 = PlayerIdExist(helper(33333333),var(4))
trigger3 = PlayerID(helper(33333333),var(4)), hitdefattr = A,AA,AP
trigger4 = numhelper(15900)
trigger4 = helper(15900),var(41) = 2
var(47) = 0
ignorehitpause = 1
[State -3, Blocking Methods]
type = VarSet
triggerall = AILevel
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
trigger1 = enemynear(var(58)),hitdefattr = C,AA,AP,AT || enemynear(var(58)),statetype = C
trigger2 = PlayerIdExist(helper(33333333),var(4))
trigger2 = PlayerID(helper(33333333),var(4)), statetype = C
trigger3 = PlayerIdExist(helper(33333333),var(4))
trigger3 = PlayerID(helper(33333333),var(4)), hitdefattr = C,AA,AP
trigger4 = numhelper(15900)
trigger4 = helper(15900),var(41) = 1
var(47) = 1
ignorehitpause = 1
[State -1, Default Guarding Disabled]
type = AssertSpecial
trigger1 = AILevel
flag = nostandguard
flag2 = nocrouchguard
flag3 = noairguard
ignorehitpause = 1
[State -1, Default Walking Disabled]
type = AssertSpecial
trigger1 = AILevel
flag = nowalk
ignorehitpause = 1
;==============================================================================================
; AI High Priority
;==============================================================================================
[State 5050, AI Wake Up]
type = SelfState
value = var(52)
triggerall = AILevel && RoundState = 2 && alive > 0
triggerall = (stateno = [5110,5111]) && time >= 0
triggerall = random <= 700 || (fvar(7) != [-100,100]) || helper(18100),var(11) >= const(data.liedown.time) || time >= const(data.liedown.time) || stateno != 5111
; Wake-Up
trigger1 = (!inguarddist && (!numhelper(15900) || (!helper(15900),inguarddist && !helper(15900),var(50) > 0 && !helper(15900),var(52)>0)))
trigger1 = var(52):= 5120 || 1
trigger2 = enemynear(var(58)),hitdefattr != SCA,HA,HP,HT
trigger2 = enemynear(var(58)),stateno != 0
trigger2 = enemynear(var(58)),stateno != [3000,4999]
trigger2 = enemynear(var(58)),stateno = helper(18000),var(58)
trigger2 = helper(18000),var(0) >= -15 || helper(18000),var(5) > 0 || helper(18000),fvar(8) > 0
trigger2 = var(52):= 5120 || 1
trigger3 = !helper(15900),var(50) > 0
trigger3 = fvar(7) > enemynear(var(58)),const(size.attack.dist)
trigger3 = var(52):= 5120 || 1
trigger4 = (stateno = [5110,5111])
trigger4 = helper(18100),var(11) >= const(data.liedown.time) || time >= const(data.liedown.time)
trigger4 = var(52):= 5120 || 1
; Lay Down
trigger5 = helper(18100),var(11) < const(data.liedown.time) || time < const(data.liedown.time)
trigger5 = stateno != 5111
trigger5 = var(52):= 5111 || 1
;==============================================================================================
; AI Counters
;==============================================================================================
[State -1 c.LP]
type = ChangeState
value = 400
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = statetype != A
triggerall = ctrl || (stateno = [21,29]) || (stateno = [100,104]) || (stateno = [120,149])
triggerall = enemynear(var(58)),statetype != L || (enemynear(var(58)),stateno = 5120 && helper(18000),fvar(11) >= -6)
triggerall = enemynear(var(58)),stateno != 5210 || enemynear(var(58)),time-15 >= 6 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 6 * enemynear(var(58)),vel y + fvar(19)*6*8/2 >= 0)
triggerall = (enemynear(var(58)),stateno != [5200,5209]) || enemynear(var(58)),animtime >= -6 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 6 * enemynear(var(58)),vel y + fvar(19)*6*8/2 >= 0)
triggerall = fvar(7) = [-10,60+floor(6*(fvar(35)))]
triggerall = fvar(8) >= -20-(6*(enemynear(var(58)),vel y)+(6*(6+1)/2)*fvar(19))
triggerall = helper(18200),var(11) = 0
triggerall = var(10) = 0 && var(11) != 1
trigger1 = enemynear(var(58)),stateno != 0
trigger1 = enemynear(var(58)),stateno = helper(18000),var(58)
trigger1 = enemynear(var(58)),time <= helper(18000),var(59)-6 || helper(18000),var(0) >= 0 || helper(18000),var(5) > 0 || helper(18000),fvar(8) > 0
[State -1 c.LK]
type = ChangeState
value = 430
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = statetype != A
triggerall = ctrl || (stateno = [21,29]) || (stateno = [100,104]) || (stateno = [120,149])
triggerall = enemynear(var(58)),statetype != L || (enemynear(var(58)),stateno = 5120 && helper(18000),fvar(11) >= -5)
triggerall = enemynear(var(58)),stateno != 5210 || enemynear(var(58)),time-15 >= 5 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 5 * enemynear(var(58)),vel y + fvar(19)*5*8/2 >= 0)
triggerall = (enemynear(var(58)),stateno != [5200,5209]) || enemynear(var(58)),animtime >= -5 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 5 * enemynear(var(58)),vel y + fvar(19)*5*8/2 >= 0)
triggerall = fvar(7) = [-10,80+floor(5*(fvar(35)))]
triggerall = fvar(8) >= -20-(5*(enemynear(var(58)),vel y)+(5*(5+1)/2)*fvar(19))
triggerall = helper(18200),var(11) = 0
trigger1 = enemynear(var(58)),stateno != 0
trigger1 = enemynear(var(58)),stateno = helper(18000),var(58)
trigger1 = enemynear(var(58)),time <= helper(18000),var(59)-5 || helper(18000),var(0) >= 0 || helper(18000),var(5) > 0 || helper(18000),fvar(8) > 0
[State -1 s.LP]
type = ChangeState
value = 200
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = statetype != A
triggerall = ctrl || (stateno = [21,29]) || (stateno = [100,104]) || (stateno = [120,149])
triggerall = enemynear(var(58)),statetype != L || (enemynear(var(58)),stateno = 5120 && helper(18000),fvar(11) >= -5)
triggerall = enemynear(var(58)),stateno != 5210 || enemynear(var(58)),time-15 >= 5 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 5 * enemynear(var(58)),vel y + fvar(19)*5*8/2 >= 0)
triggerall = (enemynear(var(58)),stateno != [5200,5209]) || enemynear(var(58)),animtime >= -5 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 5 * enemynear(var(58)),vel y + fvar(19)*5*8/2 >= 0)
triggerall = enemynear(var(58)),const(size.head.pos.y) <= -(40 * cond(enemynear(var(58)),statetype = C, 2, 1))
triggerall = fvar(7) = [-10,50+floor(5*(fvar(35)))]
triggerall = fvar(8) >= -60-(5*(enemynear(var(58)),vel y)+(5*(5+1)/2)*fvar(19))
triggerall = helper(18200),var(11) = 0
triggerall = var(8) = 0 && var(9) = 0
triggerall = random <= 500
trigger1 = enemynear(var(58)),stateno != 0
trigger1 = enemynear(var(58)),stateno = helper(18000),var(58)
trigger1 = enemynear(var(58)),time <= helper(18000),var(59)-5 || helper(18000),var(0) >= 0 || helper(18000),var(5) > 0 || helper(18000),fvar(8) > 0
[State -1 s.LK]
type = ChangeState
value = 230
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = statetype != A
triggerall = ctrl || (stateno = [21,29]) || (stateno = [100,104]) || (stateno = [120,149])
triggerall = enemynear(var(58)),statetype != L || (enemynear(var(58)),stateno = 5120 && helper(18000),fvar(11) >= -6)
triggerall = enemynear(var(58)),stateno != 5210 || enemynear(var(58)),time-15 >= 6 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 6 * enemynear(var(58)),vel y + fvar(19)*6*8/2 >= 0)
triggerall = (enemynear(var(58)),stateno != [5200,5209]) || enemynear(var(58)),animtime >= -6 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 6 * enemynear(var(58)),vel y + fvar(19)*6*8/2 >= 0)
triggerall = fvar(7) = [-10,55+floor(6*(fvar(35)))]
triggerall = fvar(8) >= -50-(6*(enemynear(var(58)),vel y)+(6*(6+1)/2)*fvar(19))
triggerall = helper(18200),var(11) = 0
triggerall = var(8) = 0 && var(9) = 0
triggerall = random >= 500
trigger1 = enemynear(var(58)),stateno != 0
trigger1 = enemynear(var(58)),stateno = helper(18000),var(58)
trigger1 = enemynear(var(58)),time <= helper(18000),var(59)-6 || helper(18000),var(0) >= 0 || helper(18000),var(5) > 0 || helper(18000),fvar(8) > 0
[State -1 c.HK]
type = ChangeState
value = 440
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = statetype != A
triggerall = ctrl || (stateno = [21,29]) || (stateno = [100,104]) || (stateno = [120,149])
triggerall = enemynear(var(58)),statetype != L || (enemynear(var(58)),stateno = 5120 && helper(18000),fvar(11) >= -11)
triggerall = enemynear(var(58)),stateno != 5210 || enemynear(var(58)),time-15 >= 11 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 11 * enemynear(var(58)),vel y + fvar(19)*11*8/2 >= 0)
triggerall = (enemynear(var(58)),stateno != [5200,5209]) || enemynear(var(58)),animtime >= -11 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 11 * enemynear(var(58)),vel y + fvar(19)*11*8/2 >= 0)
triggerall = fvar(7) = [80,150]
triggerall = fvar(8) >= -20
triggerall = helper(18200),var(11) = 0
triggerall = var(8) = 0 && var(9) = 0
triggerall = random <= 500
trigger1 = enemynear(var(58)),stateno != 0
trigger1 = enemynear(var(58)),stateno = helper(18000),var(58)
trigger1 = enemynear(var(58)),time <= helper(18000),var(59)-11 || helper(18000),var(0) >= 0 || helper(18000),var(5) > 0 || helper(18000),fvar(8) > 0
;==============================================================================================
; AI Reversals
;==============================================================================================
[State -1, c.HP Counter]
type = ChangeState
value = 410
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = statetype != A
triggerall = ctrl || (stateno = [21,29]) || (stateno = [100,104]) || (stateno = [120,149])
triggerall = enemynear(var(58)),statetype = A
triggerall = enemynear(var(58)),statetype != L
triggerall = enemynear(var(58)),pos y < -30-(9*(enemynear(var(58)),vel y)+(9*(9+1)/2)*fvar(19))
triggerall = enemynear(var(58)),stateno != 0
triggerall = fvar(7) = [-10,80+(9*(fvar(35)))]
triggerall = fvar(8) >= -100-(9*(enemynear(var(58)),vel y)+(9*(9+1)/2)*fvar(19))
triggerall = random <= 500
trigger1 = enemynear(var(58)),stateno != helper(18000),var(58)
trigger1 = enemynear(var(58)),movetype = A
trigger1 = enemynear(var(58)),time <= 9
trigger2 = enemynear(var(58)),stateno != 0
trigger2 = enemynear(var(58)),stateno = helper(18000),var(58)
trigger2 = enemynear(var(58)),time <= helper(18000),var(59)-9 || helper(18000),var(0) >= 0 || helper(18000),var(5) > 0 || helper(18000),fvar(8) > 0
trigger3 = helper(18100),var(10) >= 6
[State -1, Super Tail Attack]
type = ChangeState
value = 3000
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = statetype != A && power > 1000
triggerall = ctrl || (stateno = [21,29]) || (stateno = [100,104]) || (stateno = [120,149]) || ((stateno = [200,640]) && movecontact)
triggerall = enemynear(var(58)),stateno != 5120 || (enemynear(var(58)),stateno = 5120 && helper(18000),fvar(11) >= -1)
triggerall = enemynear(var(58)),stateno != 5210 || enemynear(var(58)),time-15 >= 1 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 1 * enemynear(var(58)),vel y + fvar(19)*1*8/2 >= 0)
triggerall = (enemynear(var(58)),stateno != [5200,5209]) || enemynear(var(58)),animtime >= -1 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 1 * enemynear(var(58)),vel y + fvar(19)*1*8/2 >= 0)
triggerall = enemynear(var(58)),movetype = A || enemynear(var(58)),hitdefattr = SCA,AA,AP,AT || inguarddist || helper(15900),inguarddist
triggerall = enemynear(var(58)),life <= floor(96/(enemynear(var(58)),const(data.defence)/100)) || (enemynear(var(58)),stateno != [120,159])
triggerall = enemynear(var(58)),life <= floor(96/(enemynear(var(58)),const(data.defence)/100)) || enemynear(var(58)),ctrl = 0
triggerall = fvar(7) = [-10,90+(1*(fvar(35)))]
triggerall = fvar(8) >= -70-(1*(enemynear(var(58)),vel y)+(1*(1+1)/2)*fvar(19))
trigger1 = random <= 200 || enemynear(var(58)),life <= floor(560/(enemynear(var(58)),const(data.defence)/100))
[State -1, Tail Attack (Ground)]
type = ChangeState
value = 1010
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = statetype != A
triggerall = ctrl || (stateno = [21,29]) || (stateno = [100,104]) || (stateno = [120,149]) || ((stateno = [200,640]) && movecontact)
triggerall = enemynear(var(58)),stateno != 5120 || (enemynear(var(58)),stateno = 5120 && helper(18000),fvar(11) >= -13)
triggerall = enemynear(var(58)),stateno != 5210 || enemynear(var(58)),time-15 >= 13 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 13 * enemynear(var(58)),vel y + fvar(19)*13*8/2 >= 0)
triggerall = (enemynear(var(58)),stateno != [5200,5209]) || enemynear(var(58)),animtime >= -13 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 13 * enemynear(var(58)),vel y + fvar(19)*13*8/2 >= 0)
triggerall = enemynear(var(58)),movetype = A || enemynear(var(58)),hitdefattr = SCA,AA,AP,AT || inguarddist || helper(15900),inguarddist
triggerall = enemynear(var(58)),animtime <= -12-1 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 13 * enemynear(var(58)),vel y + fvar(19)*13*8/2 < 0)
triggerall = enemynear(var(58)),life <= floor(7/(enemynear(var(58)),const(data.defence)/100)) || (enemynear(var(58)),stateno != [120,159])
triggerall = enemynear(var(58)),ctrl = 0
triggerall = fvar(7) = [-10,90+(13*(fvar(35)))]
triggerall = fvar(8) >= -70-(13*(enemynear(var(58)),vel y)+(13*(13+1)/2)*fvar(19))
trigger1 = random <= 500 || !ctrl || (prevstateno = [5000,5270])
trigger1 = var(6):= 1 || 1
[State -1, Tail Attack (Air)]
type = ChangeState
value = 1010
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = statetype = A
triggerall = ctrl || (stateno = [120,149]) || ((stateno = [200,640]) && movecontact)
triggerall = enemynear(var(58)),stateno != 5120 || (enemynear(var(58)),stateno = 5120 && helper(18000),fvar(11) >= -13)
triggerall = enemynear(var(58)),stateno != 5210 || enemynear(var(58)),time-15 >= 13 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 13 * enemynear(var(58)),vel y + fvar(19)*13*8/2 >= 0)
triggerall = (enemynear(var(58)),stateno != [5200,5209]) || enemynear(var(58)),animtime >= -13 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 13 * enemynear(var(58)),vel y + fvar(19)*13*8/2 >= 0)
triggerall = enemynear(var(58)),movetype = A || enemynear(var(58)),hitdefattr = SCA,AA,AP,AT || inguarddist || helper(15900),inguarddist
triggerall = enemynear(var(58)),animtime <= -12-1 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 13 * enemynear(var(58)),vel y + fvar(19)*13*8/2 < 0)
triggerall = enemynear(var(58)),life <= floor(7/(enemynear(var(58)),const(data.defence)/100)) || (enemynear(var(58)),stateno != [120,159])
triggerall = enemynear(var(58)),ctrl = 0
triggerall = fvar(38):= cond(enemynear(var(58)),statetype = C, -(const(size.head.pos.y)*0.5), -const(size.head.pos.y)) || 1
triggerall = fvar(38):= cond(fvar(38) <= 70, 70, fvar(38)) || 1
triggerall = fvar(7) = [-20,90+(13*(fvar(35))+(13*(vel x)))]
triggerall = fvar(8) = [-70-(13*(enemynear(var(58)),vel y)+(13*(13+1)/2)*fvar(19)-floor(4*vel y)-(4*(4+1)/2)*const(movement.yaccel)),fvar(38)-(13*(enemynear(var(58)),vel y)+(13*(13+1)/2)*fvar(19)-floor(13*vel y)-(13*(13+1)/2)*const(movement.yaccel))]
trigger1 = random <= 500 || !ctrl || (prevstateno = [5000,5270])
trigger1 = var(6):= 1 || 1
;==============================================================================================
; AI Combos
;==============================================================================================
[State 0, VarSet]
type = VarSet
triggerall = AILevel > 0
trigger1 = enemynear(var(58)),statetype != L
trigger1 = enemynear(var(58)),stateno != [120,159]
trigger1 = enemynear(var(58)),movetype = H
trigger1 = enemynear(var(58)),backedgebodydist <= 10
trigger2 = stateno = 410 && movecontact
var(9) = 1
ignorehitpause = 1
[State Tracker]
type = null
triggerall = AILevel > 0
trigger1 = enemynear(var(58)),ctrl > 0 || enemynear(var(58)),movetype != H
trigger1 = var(8):= 0 || 1
trigger1 = var(9):= 0 || 1
ignorehitpause = 1
[State Tracker]
type = null
triggerall = AILevel > 0
trigger1 = enemynear(var(58)),statetype = L || (enemynear(var(58)),stateno = [120,159])
trigger1 = var(9):= 0 || 1
ignorehitpause = 1
; Chains
[State Throw]
type = ChangeState
value = 800
triggerall = ailevel > 0
triggerall = roundstate = 2
triggerall = (stateno = [200,440]) && movecontact
triggerall = enemynear(var(58)),movetype != H
trigger1 = fvar(7) = [-10,40]
trigger1 = fvar(8) >= -70
[State Air Combos]
type = ChangeState
value = var(52)
triggerall = ailevel > 0
triggerall = roundstate = 2
triggerall = (stateno = [600,630]) && movecontact
; Kick
trigger1 = stateno = 600
trigger1 = var(52):= 630 || 1
; Punch
trigger2 = stateno = 630
trigger2 = var(8):= (var(8) + 1) || 1
trigger2 = var(52):= 610 || 1
; Strong Kick
trigger3 = var(9) > 0 || var(8) >= 4
trigger3 = var(52):= 640 || 1
[State Crouch Combo Tree]
type = ChangeState
value = var(52)
triggerall = ailevel > 0
triggerall = roundstate = 2
triggerall = stateno = [200,430]
triggerall = movecontact
; Light Kick
trigger1 = stateno = 400 || ((stateno = 200 || stateno = 230) && ((enemynear(var(58)),stateno = [120,159]) && enemynear(var(58)),statetype != C))
trigger1 = fvar(7) = [-10,80+(5*(fvar(36)))]
trigger1 = fvar(8) >= -10-(5*(enemynear(var(58)),vel y)+(5*(5+1)/2)*fvar(19))
trigger1 = var(52):= 430 || 1
; Strong Kick
trigger2 = stateno = 400 || stateno = 430 || ((stateno = 200 || stateno = 230) && ((enemynear(var(58)),stateno = [120,159]) && enemynear(var(58)),statetype != C))
trigger2 = fvar(7) > 80+(9*(fvar(36))) || ((stateno = 200 || stateno = 230) && ((enemynear(var(58)),stateno = [120,159]) && enemynear(var(58)),statetype != C))
trigger2 = fvar(8) >= -20-(11*(enemynear(var(58)),vel y)+(11*(11+1)/2)*fvar(19))
trigger2 = var(52):= 440 || 1
[State Stand Combo Tree]
type = ChangeState
value = var(52)
triggerall = ailevel > 0
triggerall = roundstate = 2
triggerall = stateno = [200,230]
triggerall = movecontact
; Light Kick
trigger1 = stateno = 200
trigger1 = fvar(7) = [-10,30+(6*(fvar(36)))]
trigger1 = fvar(8) >= -50-(6*(enemynear(var(58)),vel y)+(6*(6+1)/2)*fvar(19))
trigger1 = var(52):= 230 || 1
; Strong Punch
trigger2 = stateno = 200 || stateno = 230
trigger2 = fvar(7) = [-10,60+(11*(fvar(36)))]
trigger2 = fvar(8) >= -60-(11*(enemynear(var(58)),vel y)+(11*(11+1)/2)*fvar(19))
trigger2 = var(52):= 210 || 1
; Strong Kick
trigger3 = stateno = 200 || stateno = 210 || stateno = 230
trigger3 = fvar(7) = [-10,50+(5*(fvar(36)))]
trigger3 = fvar(8) >= -70-(5*(enemynear(var(58)),vel y)+(5*(5+1)/2)*fvar(19))
trigger3 = var(52):= 240 || 1
[State Ground Combo Finisher]
type = ChangeState
value = var(52)
triggerall = ailevel > 0
triggerall = roundstate = 2
triggerall = (stateno = [200,440]) && movecontact
; Tail Attack (Side Switch)
trigger1 = stateno != 410
trigger1 = !moveguarded
trigger1 = backedgebodydist <= 50 || (helper(18000),fvar(0) <= 0 && random < 333)
trigger1 = fvar(7) = [-10,90+(13*(fvar(36)))]
trigger1 = var(6):= 3 || 1
trigger1 = var(52):= 1010 || 1
; Launcher
trigger2 = stateno != 410
trigger2 = stateno != 440
trigger2 = enemynear(var(58)),statetype = A || !moveguarded
trigger2 = fvar(7) = [-10,80+(9*(fvar(36)))]
trigger2 = var(52):= 410 || 1
; Throw
trigger3 = moveguarded || enemynear(var(58)),movetype != H || (enemynear(var(58)),stateno = [120,159])
trigger3 = fvar(7) = [-10,40]
trigger3 = fvar(8) >= -70
trigger3 = var(52):= 800 || 1
; Tail Attack (High/Low)
trigger4 = moveguarded || (enemynear(var(58)),stateno = [120,159]) || enemynear(var(58)),statetype = L
trigger4 = fvar(7) = [-10,90+(13*(fvar(36)))]
trigger4 = var(6):= 2 || 1
trigger4 = var(52):= 1010 || 1
[State Sweep Finisher]
type = ChangeState
value = var(52)
triggerall = ailevel > 0
triggerall = roundstate = 2
triggerall = stateno = 440 && movecontact
; Throw
trigger1 = !moveguarded
trigger1 = backedgebodydist <= 50 || (helper(18000),fvar(0) <= 0 && random < 333)
trigger1 = var(52):= 800 || 1
; Super Tail Attack
trigger2 = power > 1000
trigger2 = movehit && (enemynear(var(58)),stateno != [120,159])
trigger2 = random <= floor(power/3)
trigger2 = var(52):= 3000 || 1
; Tail Attack
trigger3 = !moveguarded
trigger3 = enemynear(var(58)),stateno != [120,159]
trigger3 = var(6):= 4 || 1
trigger3 = var(52):= 1010 || 1
[State Jump]
type = ChangeState
value = 43
triggerall = ailevel > 0
triggerall = roundstate = 2
trigger1 = stateno = 410 && movehit
; Loops
[State Finisher]
type = ChangeState
value = var(52)
triggerall = ailevel > 0
triggerall = roundstate = 2
triggerall = statetype != A
triggerall = ctrl || (stateno = [20,29]) || (stateno = [100,102]) || (stateno = [120,149])
triggerall = enemynear(var(58)),movetype = H
triggerall = enemynear(var(58)),statetype != L
triggerall = enemynear(var(58)),stateno != [120,159]
triggerall = enemynear(var(58)),ctrl = 0
triggerall = var(8) > 0
; Super Tail Attack
trigger1 = power > 1000
trigger1 = fvar(7) = [-20,90+floor(1*(fvar(35)))]
trigger1 = fvar(8) >= -50-(1*(enemynear(var(58)),vel y)+(1*(1+1)/2)*fvar(19))
trigger1 = 1 || var(8):= 0
trigger1 = var(52):= 3000 || 1
; Super Fireball
trigger2 = power > 1000
trigger2 = fvar(7) >= 0
trigger2 = fvar(7) > 90+floor(1*(fvar(35))) || !var(9)
trigger2 = fvar(8) >= -70-(1*(enemynear(var(58)),vel y)+(1*(1+1)/2)*fvar(19))
trigger2 = 1 || var(8):= 0
trigger2 = var(52):= 3010+(1*(fvar(8) >= -45-(1*(enemynear(var(58)),vel y)+(1*(1+1)/2)*fvar(19)))) || 1
; Tail Attack
trigger3 = power <= 1000
trigger3 = fvar(7) = [-10,90+(13*(fvar(36)))]
trigger3 = fvar(8) >= -50-(13*(enemynear(var(58)),vel y)+(13*(13+1)/2)*fvar(19))
trigger3 = var(6):= 1 || 1
trigger3 = 1 || var(8):= 0
trigger3 = var(52):= 1010 || 1
; Fireball
trigger4 = power <= 1000
trigger4 = fvar(7) >= 0
trigger4 = fvar(7) > 90+(13*(fvar(36))) || !var(9)
trigger4 = enemynear(var(58)),vel y > 0
trigger4 = numhelper(1003) < 1
trigger4 = 1 || var(8):= 0
trigger4 = var(52):= 1000 || 1
[State Jump]
type = ChangeState
value = 43
triggerall = ailevel > 0
triggerall = roundstate = 2
triggerall = statetype != A
triggerall = ctrl || (stateno = [20,29]) || (stateno = [100,102]) || (stateno = [120,149])
triggerall = fvar(7) = [-20,80]
triggerall = fvar(8) >= -150
trigger1 = enemynear(var(58)),statetype = A
trigger1 = enemynear(var(58)),vel y > 0
trigger1 = var(8) > 0 || var(9) > 0
trigger1 = var(8) < 4 && var(9) > 0
[State -1, Jump Light Punch]
type = ChangeState
value = 600
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = statetype = A
triggerall = ctrl || (stateno = [120,149])
triggerall = fvar(7) = [-20,30+(4*(fvar(35))+(4*(vel x)))]
triggerall = fvar(8) = [-50-(4*(enemynear(var(58)),vel y)+(4*(4+1)/2)*fvar(19)-floor(4*vel y)-(4*(4+1)/2)*const(movement.yaccel)),50-(4*(enemynear(var(58)),vel y)+(4*(4+1)/2)*fvar(19)-floor(4*vel y)-(4*(4+1)/2)*const(movement.yaccel))]
triggerall = pos Y + 4 * vel y + const(movement.yaccel)*4*8/2 < 0
trigger1 = enemynear(var(58)),statetype = A
trigger1 = enemynear(var(58)),movetype = H
[State -1, Jump Light Kick]
type = ChangeState
value = 630
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = statetype = A
triggerall = ctrl || (stateno = [120,149])
triggerall = fvar(7) = [-20,35+(4*(fvar(35))+(4*(vel x)))]
triggerall = fvar(8) = [-50-(4*(enemynear(var(58)),vel y)+(4*(4+1)/2)*fvar(19)-floor(4*vel y)-(4*(4+1)/2)*const(movement.yaccel)),50-(4*(enemynear(var(58)),vel y)+(4*(4+1)/2)*fvar(19)-floor(4*vel y)-(4*(4+1)/2)*const(movement.yaccel))]
triggerall = pos Y + 4 * vel y + const(movement.yaccel)*4*8/2 < 0
trigger1 = enemynear(var(58)),statetype = A
trigger1 = enemynear(var(58)),movetype = H
[State -1, Crouching Light Kick]
type = ChangeState
value = 430
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = statetype != A
triggerall = ctrl || (stateno = [20,29]) || (stateno = [100,102]) || (stateno = [120,149])
triggerall = fvar(7) = [-10,80+floor(5*(fvar(35)))]
triggerall = fvar(8) >= -20-(5*(enemynear(var(58)),vel y)+(5*(5+1)/2)*fvar(19))
triggerall = var(8) > 0 && var(8) < 4
trigger1 = enemynear(var(58)),statetype = L
trigger1 = enemynear(var(58)),stateno != [5110,5120]
trigger1 = var(8):= (var(8) + 1) || 1
[State AI Run]
type = ChangeState
value = 101
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = enemynear(var(58)),hitdefattr = SCA,AT || (!inguarddist && !helper(15900),inguarddist)
triggerall = enemynear(var(58)),hitdefattr = SCA,AT || (!helper(15900),var(50) > 0 && !helper(15900),var(52) > 0)
triggerall = statetype != A
triggerall = ctrl || (stateno = [20,29]) || (stateno = [120,149])
triggerall = fvar(7) >= 0
trigger1 = enemynear(var(58)),movetype = H
trigger1 = var(8) < 4 || var(9) > 0
trigger1 = var(8) > 0 || var(9) > 0
;==============================================================================================
; AI General
;==============================================================================================
; Normal Moves
[State -1, Throw]
type = ChangeState
value = 800
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = statetype != A
triggerall = ctrl || (stateno = [21,29]) || (stateno = [100,104]) || (stateno = [120,149])
triggerall = enemynear(var(58)),statetype != L
triggerall = enemynear(var(58)),movetype != H || (enemynear(var(58)),stateno = [120,159])
triggerall = numhelper(18000) > 0
triggerall = helper(18000),var(0) >= 0 || (enemynear(var(58)),stateno != [2000,4999])
triggerall = helper(18000),fvar(9) <= 0
triggerall = helper(18200),var(11) <= 0 || helper(18200),var(12) <= 0
triggerall = fvar(7) = [-const(size.ground.back),50]
triggerall = fvar(8) = [enemynear(var(58)),const(size.mid.pos.y),-enemynear(var(58)),const(size.mid.pos.y)]
trigger1 = random <= floor((helper(18200),fvar(28)*0.5))
trigger2 = enemynear(var(58)),stateno = [120,159]
trigger2 = fvar(7) < 0 || (prevstateno = [200,699])
trigger2 = enemynear(var(58)),stateno >= 200
trigger2 = enemynear(var(58)),movetype = I
trigger2 = enemynear(var(58)),ctrl = 0
trigger2 = helper(18100),var(2) = 0
trigger3 = helper(18200),var(11) > 0
[State -1, Anti Airs]
type = ChangeState
value = var(52)
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = statetype != A
triggerall = ctrl || (stateno = [21,29]) || (stateno = [100,104]) || (stateno = [120,149])
triggerall = enemynear(var(58)),statetype = A
triggerall = enemynear(var(58)),statetype != L
triggerall = enemynear(var(58)),stateno != 105
triggerall = enemynear(var(58)),movetype != H || (enemynear(var(58)),stateno = [120,159])
triggerall = enemynear(var(58)),pos y <= -50 || enemynear(var(58)),vel y < 0
triggerall = random <= ceil((100*(helper(18000),fvar(24)))*cond(enemynear(var(58)),vel y > 0, 2, 1))
; s.HK
trigger1 = enemynear(var(58)),hitdefattr = SCA,AT || (!inguarddist && !helper(15900),inguarddist) || helper(18100),var(10) >= 5
trigger1 = enemynear(var(58)),hitdefattr = SCA,AT || (!helper(15900),var(50) > 0 && !helper(15900),var(52) > 0) || helper(18100),var(10) >= 5
trigger1 = cond(helper(18000),fvar(28) >= 1000, 0, random > floor(helper(18000),fvar(28))) || (enemynear(var(58)),stateno != [120,159])
trigger1 = fvar(7) = [-10,80+(5*(fvar(35)))]
trigger1 = fvar(8) >= -80-(5*(enemynear(var(58)),vel y)+(5*(5+1)/2)*fvar(19))
trigger1 = random < 500
trigger1 = var(52):= 240 || 1
; c.HP
trigger2 = enemynear(var(58)),hitdefattr = SCA,AT || (!inguarddist && !helper(15900),inguarddist) || helper(18100),var(10) >= 9
trigger2 = enemynear(var(58)),hitdefattr = SCA,AT || (!helper(15900),var(50) > 0 && !helper(15900),var(52) > 0) || helper(18100),var(10) >= 9
trigger2 = fvar(7) = [-10,80+(9*(fvar(35)))]
trigger2 = fvar(8) >= -100-(9*(enemynear(var(58)),vel y)+(9*(9+1)/2)*fvar(19))
trigger2 = random >= 500 || (enemynear(var(58)),stateno = [120,159]) || cond(helper(18000),fvar(28) >= 1000, 1, random <= floor(helper(18000),fvar(28)))
trigger2 = var(52):= 410 || 1
[State -1 c.LK]
type = ChangeState
value = 430
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = statetype != A
triggerall = ctrl || (stateno = [21,29]) || (stateno = [100,104]) || (stateno = [120,149]) || (((stateno = 400) || (stateno = 430)) && time > 9)
triggerall = enemynear(var(58)),statetype != L || (enemynear(var(58)),stateno = 5120 && helper(18000),fvar(11) >= -5)
triggerall = enemynear(var(58)),stateno != 5210 || enemynear(var(58)),time-15 >= 5 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 5 * enemynear(var(58)),vel y + fvar(19)*5*8/2 >= 0)
triggerall = (enemynear(var(58)),stateno != [5200,5209]) || enemynear(var(58)),animtime >= -5 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 5 * enemynear(var(58)),vel y + fvar(19)*5*8/2 >= 0)
triggerall = fvar(7) = [60,80+floor(5*(fvar(35)))]
triggerall = fvar(8) >= -20-(5*(enemynear(var(58)),vel y)+(5*(5+1)/2)*fvar(19))
triggerall = helper(18200),var(11) = 0
triggerall = var(8) = 0 && var(9) = 0
triggerall = cond((enemynear(var(58)),statetype = C || enemynear(var(58)),const(size.head.pos.y) >= -40 || (enemynear(var(58)),statetype != C && enemynear(var(58)),stateno != [120,159])), random <= 500, random < 334)
trigger1 = enemynear(var(58)),hitdefattr = SCA,AT || (!inguarddist && !helper(15900),inguarddist) || helper(18100),var(10) >= 5
trigger1 = enemynear(var(58)),hitdefattr = SCA,AT || (!helper(15900),var(50) > 0 && !helper(15900),var(52) > 0) || helper(18100),var(10) >= 5
[State -1 c.LP]
type = ChangeState
value = 400
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = statetype != A
triggerall = ctrl || (stateno = [21,29]) || (stateno = [100,104]) || (stateno = [120,149])
triggerall = enemynear(var(58)),statetype != L || (enemynear(var(58)),stateno = 5120 && helper(18000),fvar(11) >= -6)
triggerall = enemynear(var(58)),stateno != 5210 || enemynear(var(58)),time-15 >= 6 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 6 * enemynear(var(58)),vel y + fvar(19)*6*8/2 >= 0)
triggerall = (enemynear(var(58)),stateno != [5200,5209]) || enemynear(var(58)),animtime >= -6 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 6 * enemynear(var(58)),vel y + fvar(19)*6*8/2 >= 0)
triggerall = fvar(7) = [-10,60+floor(6*(fvar(35)))]
triggerall = fvar(8) >= -20-(6*(enemynear(var(58)),vel y)+(6*(6+1)/2)*fvar(19))
triggerall = helper(18200),var(11) = 0
triggerall = var(8) = 0 && var(9) = 0
triggerall = cond((enemynear(var(58)),statetype = C || enemynear(var(58)),const(size.head.pos.y) >= -40 || (enemynear(var(58)),statetype != C && enemynear(var(58)),stateno != [120,159])), random <= 500, random < 334)
trigger1 = enemynear(var(58)),hitdefattr = SCA,AT || (!inguarddist && !helper(15900),inguarddist) || helper(18100),var(10) >= 6
trigger1 = enemynear(var(58)),hitdefattr = SCA,AT || (!helper(15900),var(50) > 0 && !helper(15900),var(52) > 0) || helper(18100),var(10) >= 6
[State -1 s.LP]
type = ChangeState
value = 200
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = statetype != A
triggerall = ctrl || (stateno = [21,29]) || (stateno = [100,104]) || (stateno = [120,149])
triggerall = enemynear(var(58)),statetype != L || (enemynear(var(58)),stateno = 5120 && helper(18000),fvar(11) >= -5)
triggerall = enemynear(var(58)),stateno != 5210 || enemynear(var(58)),time-15 >= 5 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 5 * enemynear(var(58)),vel y + fvar(19)*5*8/2 >= 0)
triggerall = (enemynear(var(58)),stateno != [5200,5209]) || enemynear(var(58)),animtime >= -5 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 5 * enemynear(var(58)),vel y + fvar(19)*5*8/2 >= 0)
triggerall = enemynear(var(58)),const(size.head.pos.y) <= -(40 * cond(enemynear(var(58)),statetype = C, 2, 1))
triggerall = fvar(7) = [-10,50+floor(5*(fvar(35)))]
triggerall = fvar(8) >= -60-(5*(enemynear(var(58)),vel y)+(5*(5+1)/2)*fvar(19))
triggerall = helper(18200),var(11) = 0
triggerall = var(8) = 0 && var(9) = 0
triggerall = random <= 500
trigger1 = enemynear(var(58)),hitdefattr = SCA,AT || (!inguarddist && !helper(15900),inguarddist) || helper(18100),var(10) >= 5
trigger1 = enemynear(var(58)),hitdefattr = SCA,AT || (!helper(15900),var(50) > 0 && !helper(15900),var(52) > 0) || helper(18100),var(10) >= 5
[State -1 s.LK]
type = ChangeState
value = 230
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = statetype != A
triggerall = ctrl || (stateno = [21,29]) || (stateno = [100,104]) || (stateno = [120,149])
triggerall = enemynear(var(58)),statetype != L || (enemynear(var(58)),stateno = 5120 && helper(18000),fvar(11) >= -6)
triggerall = enemynear(var(58)),stateno != 5210 || enemynear(var(58)),time-15 >= 6 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 6 * enemynear(var(58)),vel y + fvar(19)*6*8/2 >= 0)
triggerall = (enemynear(var(58)),stateno != [5200,5209]) || enemynear(var(58)),animtime >= -6 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 6 * enemynear(var(58)),vel y + fvar(19)*6*8/2 >= 0)
triggerall = fvar(7) = [-10,55+floor(6*(fvar(35)))]
triggerall = fvar(8) >= -50-(6*(enemynear(var(58)),vel y)+(6*(6+1)/2)*fvar(19))
triggerall = helper(18200),var(11) = 0
triggerall = var(8) = 0 && var(9) = 0
triggerall = random >= 500
trigger1 = enemynear(var(58)),hitdefattr = SCA,AT || (!inguarddist && !helper(15900),inguarddist) || helper(18100),var(10) >= 6
trigger1 = enemynear(var(58)),hitdefattr = SCA,AT || (!helper(15900),var(50) > 0 && !helper(15900),var(52) > 0) || helper(18100),var(10) >= 6
[State -1 c.HK]
type = ChangeState
value = 440
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = statetype != A
triggerall = ctrl || (stateno = [21,29]) || (stateno = [100,104]) || (stateno = [120,149])
triggerall = enemynear(var(58)),statetype != L || (enemynear(var(58)),stateno = 5120 && helper(18000),fvar(11) >= -11)
triggerall = enemynear(var(58)),stateno != 5210 || enemynear(var(58)),time-15 >= 11 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 11 * enemynear(var(58)),vel y + fvar(19)*11*8/2 >= 0)
triggerall = (enemynear(var(58)),stateno != [5200,5209]) || enemynear(var(58)),animtime >= -11 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 11 * enemynear(var(58)),vel y + fvar(19)*11*8/2 >= 0)
triggerall = fvar(7) = [80,150]
triggerall = fvar(8) >= -20
triggerall = helper(18200),var(11) = 0
triggerall = var(8) = 0 && var(9) = 0
triggerall = random <= 100
trigger1 = enemynear(var(58)),hitdefattr = SCA,AT || (!inguarddist && !helper(15900),inguarddist) || helper(18100),var(10) >= 11
trigger1 = enemynear(var(58)),hitdefattr = SCA,AT || (!helper(15900),var(50) > 0 && !helper(15900),var(52) > 0) || helper(18100),var(10) >= 11
trigger2 = enemynear(var(58)),hitdefattr = SCA,AP
; Air Moves
[State AI j.HK]
type = ChangeState
value = 640
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = statetype = A
triggerall = ctrl || (stateno = [120,149])
triggerall = enemynear(var(58)),statetype != L || (enemynear(var(58)),stateno = 5120 && helper(18000),fvar(11) >= -4)
triggerall = enemynear(var(58)),stateno != 5210 || enemynear(var(58)),time-15 >= 4 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 4 * enemynear(var(58)),vel y + fvar(19)*4*8/2 >= 0)
triggerall = (enemynear(var(58)),stateno != [5200,5209]) || enemynear(var(58)),animtime >= -4 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 4 * enemynear(var(58)),vel y + fvar(19)*4*8/2 >= 0)
triggerall = var(9) = 0 || enemynear(var(58)),movetype != H
triggerall = enemynear(var(58)),statetype != A || vel y > 0 || vel x < 0 || random % 2 = 0
triggerall = fvar(38):= cond(enemynear(var(58)),statetype = C, -(const(size.head.pos.y)*0.5), -const(size.head.pos.y)) || 1
triggerall = fvar(38):= cond(fvar(38) <= 50, 50, fvar(38)) || 1
triggerall = fvar(7) = [-40,50+(4*(fvar(35))+(4*(vel x)))]
triggerall = fvar(8) = [-90-(4*(enemynear(var(58)),vel y)+(4*(4+1)/2)*fvar(19)-floor(4*vel y)-(4*(4+1)/2)*const(movement.yaccel)),(fvar(38))-(4*(enemynear(var(58)),vel y)+(4*(4+1)/2)*fvar(19)-floor(4*vel y)-(4*(4+1)/2)*const(movement.yaccel))]
triggerall = pos Y + 4 * vel y + const(movement.yaccel)*4*8/2 < 0
triggerall = random <= 500
trigger1 = enemynear(var(58)),hitdefattr = SCA,AT || enemynear(var(58)),hitdefattr != SCA,AA || (!inguarddist && !helper(15900),inguarddist)
trigger1 = enemynear(var(58)),hitdefattr = SCA,AT || enemynear(var(58)),hitdefattr != SCA,AA || (!helper(15900),var(50) > 0 && !helper(15900),var(52) > 0)
trigger2 = enemynear(var(58)),stateno != 0
trigger2 = enemynear(var(58)),stateno = helper(18000),var(58)
trigger2 = enemynear(var(58)),time <= helper(18000),var(59)-4 || helper(18000),var(0) >= 0 || helper(18000),var(5) > 0 || helper(18000),fvar(8) > 0
trigger3 = helper(18100),var(10) >= 4
[State AI j.HP]
type = ChangeState
value = 610
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = statetype = A
triggerall = ctrl || (stateno = [120,149])
triggerall = enemynear(var(58)),statetype != L || (enemynear(var(58)),stateno = 5120 && helper(18000),fvar(11) >= -4)
triggerall = enemynear(var(58)),stateno != 5210 || enemynear(var(58)),time-15 >= 4 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 4 * enemynear(var(58)),vel y + fvar(19)*4*8/2 >= 0)
triggerall = (enemynear(var(58)),stateno != [5200,5209]) || enemynear(var(58)),animtime >= -4 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 4 * enemynear(var(58)),vel y + fvar(19)*4*8/2 >= 0)
triggerall = var(9) = 0 || enemynear(var(58)),movetype != H
triggerall = enemynear(var(58)),statetype != A || vel y > 0 || vel x < 0 || random % 2 = 0
triggerall = fvar(38):= cond(enemynear(var(58)),statetype = C, -(const(size.head.pos.y)*0.5), -const(size.head.pos.y)) || 1
triggerall = fvar(38):= cond(fvar(38) <= 70, 70, fvar(38)) || 1
triggerall = fvar(7) = [-20,45+(7*(fvar(35))+(7*(vel x)))]
triggerall = fvar(8) = [-110-(7*(enemynear(var(58)),vel y)+(7*(7+1)/2)*fvar(19)-floor(7*vel y)-(7*(7+1)/2)*const(movement.yaccel)),(fvar(38))-(7*(enemynear(var(58)),vel y)+(7*(7+1)/2)*fvar(19)-floor(7*vel y)-(7*(7+1)/2)*const(movement.yaccel))]
triggerall = pos Y + 7 * vel y + const(movement.yaccel)*7*8/2 < 0
triggerall = random >= 500
trigger1 = enemynear(var(58)),hitdefattr = SCA,AT || enemynear(var(58)),hitdefattr != SCA,AA || (!inguarddist && !helper(15900),inguarddist)
trigger1 = enemynear(var(58)),hitdefattr = SCA,AT || enemynear(var(58)),hitdefattr != SCA,AA || (!helper(15900),var(50) > 0 && !helper(15900),var(52) > 0)
trigger2 = enemynear(var(58)),stateno != 0
trigger2 = enemynear(var(58)),stateno = helper(18000),var(58)
trigger2 = enemynear(var(58)),time <= helper(18000),var(59)-7 || helper(18000),var(0) >= 0 || helper(18000),var(5) > 0 || helper(18000),fvar(8) > 0
trigger3 = helper(18100),var(10) >= 7
[State AI j.LP]
type = ChangeState
value = 600
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = statetype = A
triggerall = ctrl || (stateno = [120,149])
triggerall = enemynear(var(58)),statetype != L || (enemynear(var(58)),stateno = 5120 && helper(18000),fvar(11) >= -4)
triggerall = enemynear(var(58)),stateno != 5210 || enemynear(var(58)),time-15 >= 4 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 4 * enemynear(var(58)),vel y + fvar(19)*4*8/2 >= 0)
triggerall = (enemynear(var(58)),stateno != [5200,5209]) || enemynear(var(58)),animtime >= -4 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 4 * enemynear(var(58)),vel y + fvar(19)*4*8/2 >= 0)
triggerall = enemynear(var(58)),statetype = A
triggerall = fvar(38):= cond(enemynear(var(58)),statetype = C, -(const(size.head.pos.y)*0.5), -const(size.head.pos.y)) || 1
triggerall = fvar(38):= cond(fvar(38) <= 50, 50, fvar(38)) || 1
triggerall = fvar(7) = [-20,30+(4*(fvar(35))+(4*(vel x)))]
triggerall = fvar(8) = [-75-(4*(enemynear(var(58)),vel y)+(4*(4+1)/2)*fvar(19)-floor(4*vel y)-(4*(4+1)/2)*const(movement.yaccel)),(fvar(38))-(4*(enemynear(var(58)),vel y)+(4*(4+1)/2)*fvar(19)-floor(4*vel y)-(4*(4+1)/2)*const(movement.yaccel))]
triggerall = pos Y + 4 * vel y + const(movement.yaccel)*4*8/2 < 0
triggerall = random <= 500
trigger1 = enemynear(var(58)),hitdefattr = SCA,AT || enemynear(var(58)),hitdefattr != SCA,AA || (!inguarddist && !helper(15900),inguarddist)
trigger1 = enemynear(var(58)),hitdefattr = SCA,AT || enemynear(var(58)),hitdefattr != SCA,AA || (!helper(15900),var(50) > 0 && !helper(15900),var(52) > 0)
trigger2 = enemynear(var(58)),stateno != 0
trigger2 = enemynear(var(58)),stateno = helper(18000),var(58)
trigger2 = enemynear(var(58)),time <= helper(18000),var(59)-4 || helper(18000),var(0) >= 0 || helper(18000),var(5) > 0 || helper(18000),fvar(8) > 0
trigger3 = helper(18100),var(10) >= 4
[State AI j.LK]
type = ChangeState
value = 630
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = statetype = A
triggerall = ctrl || (stateno = [120,149])
triggerall = enemynear(var(58)),statetype != L || (enemynear(var(58)),stateno = 5120 && helper(18000),fvar(11) >= -4)
triggerall = enemynear(var(58)),stateno != 5210 || enemynear(var(58)),time-15 >= 4 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 4 * enemynear(var(58)),vel y + fvar(19)*4*8/2 >= 0)
triggerall = (enemynear(var(58)),stateno != [5200,5209]) || enemynear(var(58)),animtime >= -4 || (enemynear(var(58)),statetype = A && enemynear(var(58)),pos Y + 4 * enemynear(var(58)),vel y + fvar(19)*4*8/2 >= 0)
triggerall = enemynear(var(58)),statetype = A
triggerall = var(9) = 0 || enemynear(var(58)),movetype != H
triggerall = fvar(38):= cond(enemynear(var(58)),statetype = C, -(const(size.head.pos.y)*0.5), -const(size.head.pos.y)) || 1
triggerall = fvar(38):= cond(fvar(38) <= 50, 50, fvar(38)) || 1
triggerall = fvar(7) = [-20,40+(4*(fvar(35))+(4*(vel x)))]
triggerall = fvar(8) = [-90-(4*(enemynear(var(58)),vel y)+(4*(4+1)/2)*fvar(19)-floor(4*vel y)-(4*(4+1)/2)*const(movement.yaccel)),(fvar(38))-(4*(enemynear(var(58)),vel y)+(4*(4+1)/2)*fvar(19)-floor(4*vel y)-(4*(4+1)/2)*const(movement.yaccel))]
triggerall = pos Y + 4 * vel y + const(movement.yaccel)*4*8/2 < 0
triggerall = random >= 500
trigger1 = enemynear(var(58)),hitdefattr = SCA,AT || enemynear(var(58)),hitdefattr != SCA,AA || (!inguarddist && !helper(15900),inguarddist)
trigger1 = enemynear(var(58)),hitdefattr = SCA,AT || enemynear(var(58)),hitdefattr != SCA,AA || (!helper(15900),var(50) > 0 && !helper(15900),var(52) > 0)
trigger2 = enemynear(var(58)),stateno != 0
trigger2 = enemynear(var(58)),stateno = helper(18000),var(58)
trigger2 = enemynear(var(58)),time <= helper(18000),var(59)-4 || helper(18000),var(0) >= 0 || helper(18000),var(5) > 0 || helper(18000),fvar(8) > 0
trigger3 = helper(18100),var(10) >= 4
; Zoning
[State -1 Throw Super Fireball (Ground)]
type = ChangeState
value = var(52)
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = statetype != A && power >= 1000
triggerall = ctrl || (stateno = [21,29]) || (stateno = [100,104]) || (stateno = [120,149])
triggerall = enemynear(var(58)),life <= floor(30/(enemynear(var(58)),const(data.defence)/100)) || enemynear(var(58)),ctrl = 0
triggerall = enemynear(var(58)),life <= floor(30/(enemynear(var(58)),const(data.defence)/100)) || (enemynear(var(58)),stateno != [120,159])
triggerall = enemynear(var(58)),movetype != H || enemynear(var(58)),statetype = L || (enemynear(var(58)),stateno = [120,159]) || !numtarget || fvar(7) >= 160
triggerall = enemynear(var(58)),statetype != L || (enemynear(var(55)),stateno = 5120 && helper(18000),fvar(11) >= -1) || random <= floor(5*(enemynear(var(58)),time)) || fvar(7) >= 160
triggerall = (enemynear(var(55)),stateno != [5200,5209]) || enemynear(var(55)),animtime >= -1 || (enemynear(var(55)),statetype = A && enemynear(var(55)),pos Y + 1 * enemynear(var(55)),vel y + fvar(19)*1*8/2 >= 0) || fvar(7) >= 160
triggerall = numhelper(3012) < 1
triggerall = fvar(7) >= 80
triggerall = fvar(8) >= -90
triggerall = random <= ceil(20+((fvar(7)*0.1))*(helper(18000),fvar(22)))
trigger1 = enemynear(var(58)),statetype = C || enemynear(var(58)),statetype = L || enemynear(var(58)),const(size.head.pos.y) >= -40
trigger1 = random <= 500
trigger1 = var(52):= 3011 || 1
trigger2 = fvar(8) >= -40
trigger2 = enemynear(var(58)),vel y > 0
trigger2 = random <= 200
trigger2 = var(52):= 3011 || 1
trigger3 = var(52):= 3010 || 1
[State -1 Throw Fireball (Ground)]
type = ChangeState
value = var(52)
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = statetype != A
triggerall = ctrl || (stateno = [21,29]) || (stateno = [100,104]) || (stateno = [120,149])
triggerall = enemynear(var(58)),hitdefattr = SCA,AT || (!inguarddist && !helper(15900),inguarddist) || (enemynear(var(58)),stateno != 0 && enemynear(var(58)),stateno = helper(18000),var(58) && (enemynear(var(58)),time <= helper(18000),var(59)-7 || helper(18000),var(0) >= 0 || helper(18000),var(5) > 0 || helper(18000),fvar(8) > 0))
triggerall = enemynear(var(58)),hitdefattr = SCA,AT || (!helper(15900),var(50) > 0 && !helper(15900),var(52) > 0) || (enemynear(var(58)),stateno != 0 && enemynear(var(58)),stateno = helper(18000),var(58) && (enemynear(var(58)),time <= helper(18000),var(59)-7 || helper(18000),var(0) >= 0 || helper(18000),var(5) > 0 || helper(18000),fvar(8) > 0))
triggerall = enemynear(var(58)),movetype != H || enemynear(var(58)),statetype = L || (enemynear(var(58)),stateno = [120,159]) || !numtarget || fvar(7) >= 160
triggerall = enemynear(var(58)),statetype != L || (enemynear(var(55)),stateno = 5120 && helper(18000),fvar(11) >= -7) || random <= floor(5*(enemynear(var(58)),time)) || fvar(7) >= 160
triggerall = (enemynear(var(55)),stateno != [5200,5209]) || enemynear(var(55)),animtime >= -7 || (enemynear(var(55)),statetype = A && enemynear(var(55)),pos Y + 7 * enemynear(var(55)),vel y + fvar(19)*7*8/2 >= 0) || fvar(7) >= 160
triggerall = numhelper(1003) < 1
triggerall = fvar(7) >= 80
triggerall = fvar(8) >= -70
triggerall = random <= ceil((50+(fvar(7)*0.1))*(helper(18000),fvar(22)))
trigger1 = enemynear(var(58)),statetype = C || enemynear(var(58)),statetype = L || enemynear(var(58)),const(size.head.pos.y) >= -40
trigger1 = random <= 500
trigger1 = var(52):= 1001 || 1
trigger2 = fvar(8) >= -40
trigger2 = enemynear(var(58)),vel y > 0
trigger2 = random <= 200
trigger2 = var(52):= 1001 || 1
trigger3 = var(52):= 1000 || 1
[State -1 Throw Fireball (Air)]
type = ChangeState
value = 1000
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = statetype = A
triggerall = ctrl || (stateno = [21,29]) || (stateno = [120,149])
triggerall = enemynear(var(58)),hitdefattr = SCA,AT || enemynear(var(58)),hitdefattr != SCA,AA || (!inguarddist && !helper(15900),inguarddist) || (enemynear(var(58)),stateno != 0 && enemynear(var(58)),stateno = helper(18000),var(58) && (enemynear(var(58)),time <= helper(18000),var(59)-7 || helper(18000),var(0) >= 0 || helper(18000),var(5) > 0 || helper(18000),fvar(8) > 0))
triggerall = enemynear(var(58)),hitdefattr = SCA,AT || enemynear(var(58)),hitdefattr != SCA,AA || (!helper(15900),var(50) > 0 && !helper(15900),var(52) > 0) || (enemynear(var(58)),stateno != 0 && enemynear(var(58)),stateno = helper(18000),var(58) && (enemynear(var(58)),time <= helper(18000),var(59)-7 || helper(18000),var(0) >= 0 || helper(18000),var(5) > 0 || helper(18000),fvar(8) > 0))
triggerall = enemynear(var(58)),movetype != H || enemynear(var(58)),statetype = L || (enemynear(var(58)),stateno = [120,159])
triggerall = enemynear(var(58)),statetype = A || pos y < -enemynear(var(58)),const(size.head.pos.y)
triggerall = fvar(7) > 0
triggerall = random < ceil((fvar(7)+(fvar(8)))*0.25)
; Forward Jump
trigger1 = vel x > 0
trigger1 = vel y < 0 || enemynear(var(58)),vel x < 0
trigger1 = enemynear(var(58)),movetype != H || enemynear(var(58)),statetype = L
trigger1 = fvar(7) >= 100
; Backjump
trigger2 = vel x <= 0
trigger2 = vel x < 0 || fvar(7) >= 60
;==============================================================================================
; AI Anti-Projectile
;==============================================================================================
[State AI Projectile Jump]
type = ChangeState
value = 38
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = helper(18000),fvar(15) >= 1 || random <= ceil(1000*(helper(18000),fvar(15)))
triggerall = statetype != A
triggerall = ctrl || (stateno = [21,29]) || (stateno = [100,104]) || (stateno = [120,149])
triggerall = PlayerIdExist(helper(33333333),var(4))
triggerall = PlayerID(helper(33333333),var(4)), vel x != 0
triggerall = PlayerID(helper(33333333),var(4)), pos y >= -100 || PlayerID(helper(33333333),var(4)), vel y > 0
triggerall = PlayerID(helper(33333333),var(4)), movetype = A
triggerall = cond(numhelper(33333333),helper(33333333), cond(1, var(20) := 1, 0), 0)
triggerall = cond(helper(33333333),numexplod((helper(33333333),var(20)*100000000)+PlayerID(helper(33333333),var(4)),stateno) = 0, 1, helper(33333333),numexplod((helper(33333333),var(20)*100000000)+abs(floor(PlayerID(helper(33333333),var(4)),vel x))) = 0)
triggerall = floor(5*random/1000.0) = 0
trigger1 = cond(helper(33333333),numexplod((helper(33333333),var(20)*100000000)+PlayerID(helper(33333333),var(4)),stateno) = 0, 1, helper(33333333),numexplod((helper(33333333),var(20)*100000000)+abs(floor(PlayerID(helper(33333333),var(4)),vel x))) = 0)
trigger1 = ceil(((PlayerID(helper(33333333),var(4)), pos x - pos x )* facing) / PlayerID(helper(33333333),var(4)), vel x) = floor(abs((const(velocity.jump.y)) * abs(const(velocity.jump.fwd.x)) / const(movement.yaccel)))
[State AI Projectile Jump]
type = ChangeState
value = 38
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = helper(18000),fvar(15) >= 1 || random <= ceil(1000*(helper(18000),fvar(15)))
triggerall = statetype != A
triggerall = ctrl || (stateno = [21,29]) || (stateno = [100,104]) || (stateno = [120,149])
triggerall = PlayerIdExist(helper(33333333),var(4))
triggerall = PlayerID(helper(33333333),var(4)), vel x != 0
triggerall = PlayerID(helper(33333333),var(4)), pos y >= -100 || PlayerID(helper(33333333),var(4)), vel y > 0
triggerall = PlayerID(helper(33333333),var(4)), movetype = A
triggerall = cond(numhelper(33333333),helper(33333333), cond(1, var(20) := 2, 0), 0)
triggerall = cond(helper(33333333),numexplod((helper(33333333),var(20)*100000000)+PlayerID(helper(33333333),var(4)),stateno) = 0, 1, helper(33333333),numexplod((helper(33333333),var(20)*100000000)+abs(floor(PlayerID(helper(33333333),var(4)),vel x))) = 0)
triggerall = floor(5*random/1000.0) = 1
trigger1 = cond(helper(33333333),numexplod((helper(33333333),var(20)*100000000)+PlayerID(helper(33333333),var(4)),stateno) = 0, 1, helper(33333333),numexplod((helper(33333333),var(20)*100000000)+abs(floor(PlayerID(helper(33333333),var(4)),vel x))) = 0)
trigger1 = ceil(((PlayerID(helper(33333333),var(4)), pos x - pos x )* facing) / PlayerID(helper(33333333),var(4)), vel x ) = floor(abs(const(velocity.jump.y)) / const(movement.yaccel))
[State AI Slide]
type = ChangeState
value = 440
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = helper(18000),fvar(15) >= 1 || random <= ceil(1000*(helper(18000),fvar(15)))
triggerall = statetype != A
triggerall = ctrl || (stateno = [21,29]) || (stateno = [100,104]) || (stateno = [120,149])
triggerall = PlayerIdExist(helper(33333333),var(4))
triggerall = PlayerID(helper(33333333),var(4)), vel x != 0
triggerall = PlayerID(helper(33333333),var(4)), pos y >= -100 || PlayerID(helper(33333333),var(4)), vel y > 0
triggerall = PlayerID(helper(33333333),var(4)), movetype = A
triggerall = cond(numhelper(33333333),helper(33333333), cond(1, var(20) := 3, 0), 0)
triggerall = cond(helper(33333333),numexplod((helper(33333333),var(20)*100000000)+PlayerID(helper(33333333),var(4)),stateno) = 0, 1, helper(33333333),numexplod((helper(33333333),var(20)*100000000)+abs(floor(PlayerID(helper(33333333),var(4)),vel x))) = 0)
triggerall = floor(5*random/1000.0) = 2
trigger1 = (PlayerId(helper(33333333),var(4)), p2bodydist x) / (PlayerId(helper(33333333),var(4)), vel x) > 1
trigger1 = (PlayerId(helper(33333333),var(4)), p2bodydist x) / (PlayerId(helper(33333333),var(4)), vel x) < 28
[State AI Fireball]
type = ChangeState
value = var(52)
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = helper(18000),fvar(15) >= 1 || random <= ceil(1000*(helper(18000),fvar(15)))
triggerall = statetype != A
triggerall = ctrl || (stateno = [21,29]) || (stateno = [100,104]) || (stateno = [120,149])
triggerall = PlayerIdExist(helper(33333333),var(4))
triggerall = PlayerID(helper(33333333),var(4)), vel x != 0
triggerall = PlayerID(helper(33333333),var(4)), movetype = A
triggerall = (((PlayerID(helper(33333333),var(4)), pos x - pos x )* facing) - const(size.ground.front) - PlayerID(helper(33333333),var(4)),const(size.ground.front)) / (PlayerId(helper(33333333),var(4)),vel x) >= 7
triggerall = cond(numhelper(33333333),helper(33333333), cond(1, var(20) := 4, 0), 0)
triggerall = cond(helper(33333333),numexplod((helper(33333333),var(20)*100000000)+PlayerID(helper(33333333),var(4)),stateno) = 0, 1, helper(33333333),numexplod((helper(33333333),var(20)*100000000)+abs(floor(PlayerID(helper(33333333),var(4)),vel x))) = 0)
triggerall = floor(5*random/1000.0) = 3
trigger1 = PlayerID(helper(33333333),var(4)), pos y >= -70
trigger1 = var(52):= 1000 || 1
trigger2 = PlayerID(helper(33333333),var(4)), pos y >= -40
trigger2 = var(52):= 1001 || 1
;==============================================================================================
; AI Low Priority
;==============================================================================================
; Movement
[State AI Back Dash (Oki)]
type = ChangeState
value = 105
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = enemynear(var(58)),hitdefattr = SCA,AT || (!inguarddist && !helper(15900),inguarddist)
triggerall = enemynear(var(58)),hitdefattr = SCA,AT || (!helper(15900),var(50) > 0 && !helper(15900),var(52) > 0)
triggerall = statetype != A
triggerall = ctrl || (stateno = [20,29]) || (stateno = [100,104]) || (stateno = [120,149])
triggerall = enemynear(var(58)),statetype = L
triggerall = enemynear(var(58)),facing != facing
triggerall = random <= 500
trigger1 = fvar(7) < 0
trigger2 = fvar(7) = [-50,50]
trigger2 = enemynear(var(58)),movetype != H
trigger2 = (prevstateno = [1000,1999]) || (prevstateno = [200,499])
[State AI Run (Oki)]
type = ChangeState
value = 103
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = enemynear(var(58)),hitdefattr = SCA,AT || (!inguarddist && !helper(15900),inguarddist)
triggerall = enemynear(var(58)),hitdefattr = SCA,AT || (!helper(15900),var(50) > 0 && !helper(15900),var(52) > 0)
triggerall = statetype != A
triggerall = ctrl || (stateno = [20,29]) || (stateno = [120,149])
triggerall = random >= 500
triggerall = fvar(7) >= 40
trigger1 = enemynear(var(58)),statetype = L
trigger1 = enemynear(var(58)),stateno != 5120
[State AI Run (Opening)]
type = ChangeState
value = 102
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = statetype != A
triggerall = ctrl || (stateno = [20,29]) || (stateno = [120,149])
triggerall = enemynear(var(58)),ctrl = 0
triggerall = enemynear(var(58)),numproj <= 0
triggerall = !playeridexist(helper(33333333),var(4)) || (playeridexist(helper(33333333),var(4)) && (playerid(helper(33333333),var(4)),p2dist x <= -50 || playerid(helper(33333333),var(4)),p2dist y <= -100))
triggerall = fvar(7) >= 0
trigger1 = enemynear(var(58)),hitdefattr = SCA,NT
trigger1 = fvar(7) >= 140 || enemynear(var(58)),time - abs(enemynear(var(58)),animtime) > 0
trigger2 = enemynear(var(58)),stateno != 0
trigger2 = enemynear(var(58)),stateno = helper(18000),var(58)
trigger2 = helper(18000),var(0) >= 0 || helper(18000),var(5) > 0 || helper(18000),fvar(8) > 0
trigger3 = helper(18100),var(10) > 0
trigger4 = helper(18200),var(11) > 0 || helper(18200),var(12) > 0
[State AI Run]
type = ChangeState
value = 101
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = enemynear(var(58)),hitdefattr = SCA,AT || (!inguarddist && !helper(15900),inguarddist)
triggerall = enemynear(var(58)),hitdefattr = SCA,AT || (!helper(15900),var(50) > 0 && !helper(15900),var(52) > 0)
triggerall = statetype != A
triggerall = ctrl || (stateno = [20,29]) || (stateno = [120,149])
triggerall = fvar(7) > 0
trigger1 = random <= floor(fvar(7)*0.1)
trigger2 = enemynear(var(58)),vel x < -const(velocity.walk.fwd.x)
trigger2 = random <= 10+floor(fvar(7)*0.15)
trigger3 = fvar(7) >= 100 || enemynear(var(58)),vel x <= -const(velocity.run.fwd.x)
trigger3 = random <= 50+floor(fvar(7)*0.2)
[State AI Back Dash]
type = ChangeState
value = 105
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = enemynear(var(58)),hitdefattr = SCA,AT || (!inguarddist && !helper(15900),inguarddist)
triggerall = enemynear(var(58)),hitdefattr = SCA,AT || (!helper(15900),var(50) > 0 && !helper(15900),var(52) > 0)
triggerall = statetype != A
triggerall = ctrl || (stateno = [20,29]) || (stateno = [100,104]) || (stateno = [120,149])
triggerall = backedgebodydist >= 60
triggerall = enemynear(var(58)),facing != facing
triggerall = enemynear(var(58)),movetype != H || enemynear(var(58)),statetype = L || enemynear(var(58)),ctrl > 0
triggerall = enemynear(var(58)),movetype != A || helper(18000),var(0) < 0 || helper(18000),var(5) <= 0 || enemynear(var(58)),ctrl > 0
trigger1 = enemynear(var(58)),vel x >= 0
trigger1 = fvar(7) = [-10,150]
trigger1 = random <= floor(50/(helper(18000),fvar(22)))
trigger2 = enemynear(var(58)),vel x > 0
trigger2 = enemynear(var(58)),statetype = A || enemynear(var(58)),ctrl = 0 || random < 100
trigger2 = fvar(7) < 0
trigger2 = random <= 250
trigger3 = fvar(7) = [-30,120]
trigger3 = fvar(8) >= const(size.head.pos.y)
trigger3 = (prevstateno = [150,159]) || (prevstateno = [5000,5270])
trigger3 = random <= 500
[State -1, Random Backdash Aerial]
type = ChangeState
value = cond(random <= 500, 630, 600)+((random%2)*10)
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = stateno = 105
triggerall = enemynear(var(58)),hitdefattr = SCA,AT || (!inguarddist && !helper(15900),inguarddist)
triggerall = enemynear(var(58)),hitdefattr = SCA,AT || (!helper(15900),var(50) > 0 && !helper(15900),var(52) > 0)
trigger1 = random <= 20
[State AI Walk]
type = ChangeState
value = 21
triggerall = AILevel && RoundState = 2
triggerall = fvar(12) >= 1 || random <= ceil(1000*fvar(12))
triggerall = enemynear(var(58)),hitdefattr = SCA,AT || (!inguarddist && !helper(15900),inguarddist)
triggerall = enemynear(var(58)),hitdefattr = SCA,AT || (!helper(15900),var(50) > 0 && !helper(15900),var(52) > 0)
triggerall = statetype != A
triggerall = stateno != [100,105]
trigger1 = ctrl || (stateno = [120,149])
; Blocking
[State -1, AI Guard]
type = ChangeState
value = 120
triggerall = AILevel && RoundState = 2
triggerall = fvar(13) >= 1 || random <= ceil(1000*fvar(13))
triggerall = ctrl || (stateno = [21,29]) || (stateno = [100,104]) || (stateno = [120,149])
triggerall = enemynear(var(58)),hitdefattr != SCA,AT
trigger1 = inguarddist || helper(15900),inguarddist || helper(15900),var(50) > 0 || helper(15900),var(52) > 0
;==============================================================================================
; AI Misc.
;==============================================================================================
[State -3, Taunt]
type = ChangeState
value = 195
triggerall = AILevel
triggerall = statetype != A
triggerall = roundstate = [2,3]
triggerall = win || winko
triggerall = time = [0,120]
triggerall = stateno != [195,196]
triggerall = prevstateno != [195,196]
trigger1 = ctrl || (stateno = [21,29]) || (stateno = [120,149])
[State -1, AI Do Nothing]
type = ChangeState
value = 0
triggerall = AILevel && RoundState = 2
triggerall = ctrl
trigger1 = statetype != A
;==============================================================================================
; End AI
;==============================================================================================
;---------------------------------------------------------------------------
; Super Fireball
[State -1, Fireball]
type = ChangeState
value = 3010
triggerall = !AILevel
triggerall = NumHelper(3012) < 1
triggerall = command != "holddown"
triggerall = command = "Super Fireball"
triggerall = power>1000
trigger1 = statetype = S || statetype = A
trigger1 = ctrl
trigger2 = (stateno = 200) && movecontact
trigger3 = (stateno = 210) && movecontact
trigger4 = (stateno = 230) && movecontact
trigger5 = (stateno = 240) && movecontact
trigger6 = (stateno = 400) && movecontact
trigger7 = (stateno = 410) && movecontact
trigger8 = (stateno = 430) && movecontact
trigger9 = (stateno = 440) && movecontact
;---------------------------------------------------------------------------
; Super Fireball
[State -1, Fireball]
type = ChangeState
value = 3011
triggerall = !AILevel
triggerall = NumHelper(3012) < 1
triggerall = command = "holddown"
triggerall = command = "Super Fireball"
triggerall = power>1000
trigger1 = statetype = C
trigger1 = ctrl
trigger2 = (stateno = 200) && movecontact
trigger3 = (stateno = 210) && movecontact
trigger4 = (stateno = 230) && movecontact
trigger5 = (stateno = 240) && movecontact
trigger6 = (stateno = 400) && movecontact
trigger7 = (stateno = 410) && movecontact
trigger8 = (stateno = 430) && movecontact
trigger9 = (stateno = 440) && movecontact
;---------------------------------------------------------------------------
; Super Tail Attack
[State -1, Super Tail Attack]
type = ChangeState
value = 3000
triggerall = !AILevel
triggerall = command = "Super Tail Attack"
triggerall = power>1000
trigger1 = statetype != A
trigger1 = ctrl
trigger2 = (stateno = 200) && movecontact
trigger3 = (stateno = 210) && movecontact
trigger4 = (stateno = 230) && movecontact
trigger5 = (stateno = 240) && movecontact
trigger6 = (stateno = 400) && movecontact
trigger7 = (stateno = 410) && movecontact
trigger8 = (stateno = 430) && movecontact
trigger9 = (stateno = 440) && movecontact
;---------------------------------------------------------------------------
; Tail Attack
[State -1, Tail Attack]
type = ChangeState
value = 1010
triggerall = !AILevel
triggerall = command = "c"
trigger1 = statetype = S || statetype = C || statetype = A
trigger1 = ctrl
trigger2 = (stateno = 200) && movecontact && time > 2
trigger3 = (stateno = 210) && movecontact && time > 2
trigger4 = (stateno = 230) && movecontact && time > 2
trigger5 = (stateno = 240) && movecontact && time > 2
trigger6 = (stateno = 400) && movecontact && time > 2
trigger7 = (stateno = 410) && movecontact && time > 2
trigger8 = (stateno = 430) && movecontact && time > 2
trigger9 = (stateno = 440) && movecontact && time > 2
trigger10 = (stateno = 600) && movecontact && time > 2
trigger11 = (stateno = 610) && movecontact && time > 2
trigger12 = (stateno = 630) && movecontact && time > 2
trigger13 = (stateno = 640) && movecontact && time > 2
;---------------------------------------------------------------------------
; Throw
[State -1, Throw]
type = ChangeState
value = 800
triggerall = !AILevel
triggerall = command = "Throw"
trigger1 = statetype != A
trigger1 = ctrl
trigger2 = (stateno = 200) && movecontact && time > 2
trigger3 = (stateno = 210) && movecontact && time > 2
trigger4 = (stateno = 230) && movecontact && time > 2
trigger5 = (stateno = 240) && movecontact && time > 2
trigger6 = (stateno = 400) && movecontact && time > 2
trigger7 = (stateno = 410) && movecontact && time > 2
trigger8 = (stateno = 430) && movecontact && time > 2
trigger9 = (stateno = 440) && movecontact && time > 2
;---------------------------------------------------------------------------
; Run Fwd
[State -1, Run Fwd]
type = ChangeState
value = 100
triggerall = !AILevel
trigger1 = command = "FF"
trigger1 = statetype = S
trigger1 = ctrl
;---------------------------------------------------------------------------
; Run Back
[State -1, Run Back]
type = ChangeState
value = 105
triggerall = !AILevel
trigger1 = command = "BB"
trigger1 = statetype = S
trigger1 = ctrl
;===========================================================================
;---------------------------------------------------------------------------
; Taunt
[State -1, Taunt]
type = ChangeState
value = 195
triggerall = command = "s"
trigger1 = statetype != A
trigger1 = ctrl
trigger1 = Anim != 195
;---------------------------------------------------------------------------
; Stand Light Punch
[State -1, Stand Light Punch]
type = ChangeState
value = 200
triggerall = !AILevel
triggerall = command = "x"
triggerall = command != "holddown"
trigger1 = statetype = S
trigger1 = ctrl
;---------------------------------------------------------------------------
; Stand Medium Punch
[State -1, Stand Medium Punch]
type = ChangeState
value = 210
triggerall = !AILevel
triggerall = command = "y"
triggerall = command != "holddown"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = movecontact
trigger2 = (stateno = 200) && movecontact
trigger3 = (stateno = 230) && movecontact
;---------------------------------------------------------------------------
;Stand Light Kick
[State -1, Stand Light Kick]
type = ChangeState
value = 230
triggerall = command = "a"
triggerall = command != "holddown"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = (stateno = 200) && movecontact
;---------------------------------------------------------------------------
; Stand Strong Kick
[State -1, Stand Strong Kick]
type = ChangeState
value = 240
triggerall = command = "b"
triggerall = command != "holddown"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = (stateno = 200) && movecontact
trigger3 = (stateno = 210) && movecontact
trigger4 = (stateno = 230) && movecontact
;---------------------------------------------------------------------------
; Crouching Light Punch
[State -1, Crouching Light Punch]
type = ChangeState
value = 400
triggerall = !AILevel
triggerall = command = "x"
triggerall = command = "holddown"
trigger1 = statetype = C
trigger1 = ctrl
trigger2 = (stateno = 200) && movecontact
trigger3 = (stateno = 230) && movecontact
;---------------------------------------------------------------------------
; Crouching Medium Punch
[State -1, Crouching Medium Punch]
type = ChangeState
value = 410
triggerall = !AILevel
triggerall = command = "y"
triggerall = command = "holddown"
trigger1 = statetype = C
trigger1 = ctrl
trigger2 = movecontact
trigger2 = (stateno = 400) && movecontact
trigger3 = (stateno = 430) && movecontact
trigger4 = (stateno = 200) && movecontact
trigger5 = (stateno = 210) && movecontact
trigger6 = (stateno = 230) && movecontact
trigger7 = (stateno = 240) && movecontact
;---------------------------------------------------------------------------
; Crouching Medium Punch jump
[State -1, Crouching Medium Punch jump]
type = ChangeState
value = 40
triggerall = !AILevel
triggerall = command = "holdup"
trigger1 = statetype = C
trigger1 = ctrl
trigger2 = (stateno = 410) && movecontact
;---------------------------------------------------------------------------
;Crouching Light Kick
[State -1, Crouching Light Kick]
type = ChangeState
value = 430
triggerall = !AILevel
triggerall = command = "a"
triggerall = command = "holddown"
trigger1 = statetype = C
trigger1 = ctrl
trigger2 = (stateno = 200) && movecontact
trigger3 = (stateno = 230) && movecontact
trigger4 = (stateno = 400) || (stateno = 430)
trigger4 = (time > 9) || movecontact
;---------------------------------------------------------------------------
;Crouching Medium Kick
[State -1, Crouching Medium Kick]
type = ChangeState
value = 440
triggerall = !AILevel
triggerall = command = "b"
triggerall = command = "holddown"
trigger1 = statetype = C
trigger1 = ctrl
trigger2 = (stateno = 200) && movecontact
trigger3 = (stateno = 210) && movecontact
trigger4 = (stateno = 230) && movecontact
trigger5 = (stateno = 240) && movecontact
trigger6 = (stateno = 400) || (stateno = 430)
trigger6 = (time > 2) || movecontact
;---------------------------------------------------------------------------
; Jump Light Punch
[State -1, Jump Light Punch]
type = ChangeState
value = 600
triggerall = !AILevel
triggerall = command = "x"
trigger1 = statetype = A
trigger1 = ctrl
;---------------------------------------------------------------------------
; Jump Medium Punch
[State -1, Jump Medium Punch]
type = ChangeState
value = 610
triggerall = !AILevel
triggerall = command = "y"
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 600 || stateno = 630
trigger2 = movecontact
;---------------------------------------------------------------------------
; Jump Light Kick
[State -1, Jump Light Kick]
type = ChangeState
value = 630
triggerall = !AILevel
triggerall = command = "a"
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = movecontact
trigger2 = stateno = 600
;---------------------------------------------------------------------------
; Jump Medium Kick
[State -1, Jump Medium Kick]
type = ChangeState
value = 640
triggerall = !AILevel
triggerall = command = "b"
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = movecontact
trigger2 = stateno = 600
trigger3 = movecontact
trigger3 = stateno = 610
trigger4 = movecontact
trigger4 = stateno = 630
;---------------------------------------------------------------------------
; Fireball
[State -1, Fireball Down]
type = ChangeState
value = 1001
triggerall = !AILevel
triggerall = NumHelper(1003) < 1
triggerall = command = "holddown"
triggerall = command = "z"
trigger1 = statetype = C
trigger1 = ctrl
;---------------------------------------------------------------------------
; Fireball
[State -1, Fireball]
type = ChangeState
value = 1000
triggerall = !AILevel
triggerall = NumHelper(1003) < 1
triggerall = command != "holddown"
triggerall = command = "z"
trigger1 = statetype = S || statetype = A
trigger1 = ctrl