; slash (/) - means the key must be held down
; tilde (~) - to detect key releases
; dollar ($) - Direction-only: detect as 4-way
; plus (+) - Buttons only: simultaneous press
; greater-than (>) - means there must be no other keys pressed or released
; between the previous and the current symbol.
;-| Button Remapping |-----------------------------------------------------
[Remap]
x = x
y = y
z = z
a = a
b = b
c = c
s = s
;-| Default Values |-------------------------------------------------------
[Defaults]
command.time = 15
command.buffer.time = 1
;-| AI |------------------------------------------------------
[Command]
name = "cpu01"
command = ~U+a+b+c+x+y+z+s,DF, F, D,DF, F,x,x,x,x,x,F,F,F,F,F,F,F,U,c,c,F,U,c,c,F,U,c,c,F,U,c,c,F,U,c,c,F,U,c,c,F,U,c,c,F,U,c,c,F,U,c,c,F,U,c,c
time = 1
[Command]
name = "cpu02"
command = ~U+a+b+c+x+y+z+s,DF, F, D,DF, F,y,y,y,x,x,x,x,x,x,x,x,x,x,x,x,x,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,U
time = 1
[Command]
name = "cpu03"
command = ~U+a+b+c+x+y+z+s,DF, F, D,DF, F,z,z,z,x,x,F,U,B,B,B,B,B,U,U,U,U,B,B,B,B,D,D,D,D,D,D,D,D,D,D,D,D,D
time = 1
[Command]
name = "cpu04"
command = ~U+a+b+c+x+y+z+s,DF, F, D,DF, F,a,a,a,x,x,F+U+D+B+a+b+c+x+y+z,F,D,U,B,a,b,c,x,y,z,s,a,a,a,x,x,F+U+D+B+a+b+c+x+y+z,F,D,U,B,a,b,c,x,y,z,s
time = 1
[Command]
name = "cpu05"
command = ~U+a+b+c+x+y+z+s,DF, F, D,DF, F,b,b,b,x,x,U,s,U,c,c,a,s,s,U,s,U,c,c,a,s,s,U,s,U,c,c,a,s,s,U,s,U,c,c,a,s,s,U,s,U,c,c,a,s,s
time = 1
;===================================================;
; Super Moves ;
;===================================================;
[Command]
name = "Lets Kart Krash"
command = ~D, DF, F, x+z
time = 25
[Command]
name = "Origami Punch"
command = ~D, DF, F, x+y
time = 25
[Command]
name = "Thunder"
command = ~D, D, a+b
time = 25
[Command]
name = "Pal Pills"
command = ~D, D, x+y
time = 25
;===================================================;
; Special Moves ;
;===================================================;
[Command]
name = "Regular Mushroom"
command = ~D,DF,F,B,a
time = 25
[Command]
name = "Super Mushroom"
command = ~D,DF,F,B,b
time = 25
[Command]
name = "Hammer_x"
command = ~D, DF, F, x
time = 25
[Command]
name = "Hammer_y"
command = ~D, DF, F, y
time = 25
[Command]
name = "Stache_x"
command = ~D, DB, B, x
time = 25
[Command]
name = "Stache_y"
command = ~D, DB, B, y
time = 25
[Command]
name = "HomingLikeLeap_a"
command = ~D, DF, F, a
time = 25
[Command]
name = "HomingLikeLeap_b"
command = ~D, DF, F, b
time = 25
;===================================================;
; 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 to 3 Combination ;
;===================================================;
[Command]
name = "recovery";Required (do not remove)
command = x+y
time = 1
;===================================================;
; Direction + Button ;
;===================================================;
[Command]
name = "down_a"
command = /$D,a
time = 1
[Command]
name = "down_b"
command = /$D,b
time = 1
;===================================================;
; Single Buttons ;
;===================================================;
[Command]
name = "fwd" ;Required (do not remove)
command = F
time = 1
[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 = "start"
command = s
time = 1
;===================================================;
; Hold Direction ;
;===================================================;
[Command]
name = "SuperJump"
command = ~D, U
time = 50
[Command]
name = "SuperJump"
command = ~D, UF
time = 50
[Command]
name = "SuperJump"
command = ~D, UB
time = 50
[Command]
name = "holdfwd";Required (do not remove)
command = /$F
time = 1
[Command]
name = "holdback";Required (do not remove)
command = /$B
time = 1
[Command]
name = "holdup" ;Required (do not remove)
command = /$U
time = 1
[Command]
name = "holddown";Required (do not remove)
command = /$D
time = 1
;---------------------------------------------------------------------------
;State entry
[Statedef -1]
;===========================================================================
; AI Begin
;===========================================================================
[state -2, AI Memory Helper]
type = helper
;triggerall = ailevel
triggerall = roundstate = 2
trigger1 = !numhelper(18000)
name = "AI Memory Helper"
ID = 18000
stateno = 18000
postype = p1
ownpal = 1
keyctrl = 0
supermovetime = 2147483647
pausemovetime = 2147483647
ignorehitpause = 1
[state -2, AI Helper]
type = helper
triggerall = ailevel
triggerall = roundstate = 2
trigger1 = !numhelper(15900)
name = "AI Helper"
ID = 15900
stateno = 15900
postype = p1
ownpal = 1
keyctrl = 0
supermovetime = 2147483647
pausemovetime = 2147483647
ignorehitpause = 1
[state -3, AI Detect Projectile System]
type = helper
trigger1 = ailevel ;M.U.G.E.N 1.0+
;trigger1 = var(59) = 1 ;M.U.G.E.N below 1.0 that uses Winane's AI Activation Method.
trigger1 = !numhelper(33333333)
name = "AI Detect Projectile System"
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 -3, Simul/Tag]
Type = varset
triggerall = !ishelper
trigger1 = numenemy = 1
var(57) = 0
ignorehitpause = 1
[State -3, Simul/Tag]
Type = varset
triggerall = !ishelper
trigger1 = numenemy = 2
trigger1 = enemynear(0),alive
trigger1 = enemynear(1),alive
var(57) = IfElse(((Abs(Pos X - EnemyNear(0),Pos X)) < (Abs(Pos X - EnemyNear(1),Pos X))),0,1)
ignorehitpause = 1
[State -3, Simul/Tag]
Type = varset
triggerall = !ishelper
trigger1 = numenemy = 2
trigger1 = !enemynear(0),Alive || !enemynear(1),Alive
var(57) = IfElse(EnemyNear(0),Alive,0,1)
ignorehitpause = 1
[State 0, P2Bodydist X]
type = Null
triggerall = !ishelper
triggerall = 1||fvar(0):=facing*(enemynear(var(57)),pos x-(pos x+facing*(cond(statetype = A, const(size.air.front),const(size.ground.front)))))
trigger1 = enemynear(var(57)),facing != facing && fvar(0)>=0 || enemynear(var(57)),facing = facing && fvar(0)<0
trigger1 = 1||fvar(0):=(fvar(0)-cond(enemynear(var(57)),statetype = A, enemynear(var(57)),const(size.air.front), enemynear(var(57)),const(size.ground.front)))
trigger2 = 1||fvar(0):=(fvar(0)-cond(enemynear(var(57)),statetype = A, enemynear(var(57)),const(size.air.back), enemynear(var(57)),const(size.ground.back)))
ignorehitpause = 1
[State 0, P2Bodydist Y]
type = Null
triggerall = !ishelper
trigger1 = 1||fvar(1):=enemynear(var(57)),pos y-pos y
ignorehitpause = 1
[State -3, Blocking Methods]
type = VarSet
triggerall = AILevel
trigger1 = 1
var(37) = 0
ignorehitpause = 1
[State -3, Blocking Methods]
type = VarSet
triggerall = AILevel
triggerall = numhelper(15900)
trigger1 = enemynear(var(57)),stateno != helper(15900),var(10)
trigger1 = enemynear(var(57)),stateno != helper(15900),var(11)
trigger1 = enemynear(var(57)),stateno != helper(15900),var(12)
trigger1 = enemynear(var(57)),stateno != helper(15900),var(13)
trigger1 = enemynear(var(57)),stateno != helper(15900),var(14)
trigger1 = enemynear(var(57)),stateno != helper(15900),var(15)
trigger1 = (enemynear(var(57)),HitDefAttr = C,AA,AP) || enemynear(var(57)),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 = enemynear(var(57)),stateno = helper(15900),var(0) || enemynear(var(57)),stateno = helper(15900),var(1) || enemynear(var(57)),stateno = helper(15900),var(2) || enemynear(var(57)),stateno = helper(15900),var(3)
var(37) = 1
ignorehitpause = 1
[State -3, Check Frame Advantage]
type = VarSet
triggerall = AILevel
triggerall = var(38) > 0
trigger1 = enemynear(var(57)),stateno != var(39)
trigger1 = 1 || var(39):= 0
var(38) = 0
[State -3, Check Frame Advantage]
type = VarSet
triggerall = AILevel && RoundState = 2
triggerall = enemynear(var(57)),movetype = A
triggerall = enemynear(var(57)),movecontact
triggerall = ctrl && enemynear(var(57)),ctrl = 0
trigger1 = 1 || var(39):= enemynear(var(57)),stateno
var(38) = -(enemynear(var(57)),animtime)
;=============================================================================================================
; Special States
;=============================================================================================================
[State -1, Parry]
type = HitOverride
triggerall = AILevel && RoundState = 2
trigger1 = ctrl
attr = SCA,AA,AP
stateno = 390
time = 15
[State 5050, 4]
type = ChangeState
triggerall = StateNo = 5050
triggerall = Vel Y > 0
triggerall = Pos Y >= -20
triggerall = alive
triggerall = AILevel
triggerall = CanRecover
trigger1 = fvar(0) >= 50 || fvar(1) < -50 || (enemynear(var(57)),ctrl = 0 && enemynear(var(57)),movetype != A)
trigger2 = enemynear(var(57)),hitdefattr = SCA,AA,AT,AP
trigger2 = enemynear(var(57)),animtime <= -15
value = 5200 ;HITFALL_RECOVER
[State 5050, 4]
type = ChangeState
triggerall = StateNo = 5050
triggerall = AILevel
triggerall = alive
triggerall = Vel Y > -1
triggerall = CanRecover
trigger1 = fvar(0) >= 50 || (enemynear(var(57)),ctrl = 0 && enemynear(var(57)),movetype != A)
trigger2 = enemynear(var(57)),hitdefattr = SCA,AA,AT,AP
trigger2 = enemynear(var(57)),animtime <= -15
value = 5210
[State 5050, 4]
type = ChangeState
triggerall = AILevel && RoundState = 2
triggerall = alive > 0
triggerall = stateno = 5110
trigger1 = time > 0
value = 5120
;=============================================================================================================
; Supers
;=============================================================================================================
[State LV 2 Super: Not Mario Kart. Paperized edition]
type = ChangeState
value = 3100
triggerall = AILevel && RoundState = 2
triggerall = ctrl || (stateno = 1000 && animelem = 5,>=0)
triggerall = fvar(0) = [-10,120]
triggerall = fvar(1) = [-100,100]
triggerall = power >= 2000
triggerall = random <= 100+ceil(power/5) || power >= powermax
trigger1 = enemynear(var(57)),ctrl = 0
trigger1 = enemynear(var(57)),stateno != [120,159]
trigger1 = enemynear(var(57)),stateno >= 100
trigger1 = random <= 250 + (250 * (enemynear(var(57)),vel x > 0 || enemynear(var(57)),backedgebodydist <= 30 || backedgebodydist <= 30))
trigger2 = enemynear(var(57)),statetype = L || enemynear(var(57)),movetype = H || (enemynear(var(57)),stateno = [5200,5210])
trigger2 = enemynear(var(57)),stateno != [120,159]
trigger2 = stateno != 400
[State LV 1 Super: Origami Punch]
type = ChangeState
value = 3000
triggerall = AILevel && RoundState = 2
triggerall = ctrl || (stateno = 1000 && animelem = 5,>=0)
triggerall = enemynear(var(57)),statetype != L
triggerall = enemynear(var(57)),stateno != [120,159]
triggerall = enemynear(var(57)),ctrl = 0
triggerall = fvar(0) >= 0
triggerall = fvar(1) = [-50,50]
triggerall = power >= 1000
trigger1 = enemynear(var(57)),hitdefattr = SCA,AA,AP,AT || inguarddist
[State LV 1 Super: Pal Pills]
type = ChangeState
value = 370
triggerall = AILevel && RoundState = 2
triggerall = ctrl
triggerall = (var(58) = 0) || (var(58) = 3)
triggerall = numhelper(3015) <= 0
triggerall = numhelper(350) <= 0
triggerall = power >= 1000
triggerall = !inguarddist || enemynear(var(57)),facing = facing || enemynear(var(57)),movetype = H
triggerall = enemynear(var(57)),movetype != H || stateno != 400
triggerall = enemynear(var(57)),pos y >= -200
triggerall = random <= 100+ceil(power/5) || power >= powermax
trigger1 = fvar(0) >= 120 || (fvar(1) != [-120,120])
trigger1 = enemynear(var(57)),ctrl = 0
trigger1 = enemynear(var(57)),stateno >= 100
trigger1 = random <= 250+ceil(fvar(0)*0.25)
trigger2 = fvar(0) >= 80|| (fvar(1) != [-80,80])
trigger2 = enemynear(var(57)),statetype = L || (enemynear(var(57)),movetype = H && enemynear(var(57)),statetype = A) || (enemynear(var(57)),stateno = [5200,5210])
trigger2 = random <= 500+ceil(fvar(0)*0.5) || enemynear(var(57)),hitfall = 1 || enemynear(var(57)),statetype = L
trigger3 = enemynear(var(57)),movetype = H
trigger3 = enemynear(var(57)),stateno = [802,803]
[State LV 1 Super: Thunder]
type = ChangeState
value = 350
triggerall = AILevel && RoundState = 2
triggerall = ctrl || (stateno = 1000 && animelem = 5,>=0)
triggerall = !inguarddist || enemynear(var(57)),facing = facing
triggerall = enemynear(var(57)),vel x <= 0 || fvar(0) >= 120 || enemynear(var(57)),hitfall = 1
triggerall = fvar(0) >= 60 || (fvar(1) != [-120,120]) || enemynear(var(57)),hitfall = 1
triggerall = power >= 1000
triggerall = random <= 100+ceil(power/5) || power >= powermax || enemynear(var(57)),hitfall = 1
trigger1 = enemynear(var(57)),ctrl = 0
trigger1 = enemynear(var(57)),stateno >= 100
trigger1 = random <= 500+(250*(numhelper(3015) >= 0))+ceil(fvar(0)*0.5)
trigger2 = enemynear(var(57)),statetype = L || (enemynear(var(57)),movetype = H && enemynear(var(57)),statetype = A) || (enemynear(var(57)),stateno = [5200,5210])
trigger3 = enemynear(var(57)),hitfall = 1
;=============================================================================================================
; Combos
;=============================================================================================================
[State -3, Combo Variable Off]
type = VarSet
triggerall = var(50) > 0
trigger1 = enemynear(var(57)),movetype != H
trigger2 = stateno != 41
trigger2 = statetype != A
var(50) = 0
[State -1, Ground Combo Tree]
type = ChangeState
value = var(52)
triggerall = AILevel && RoundState = 2
triggerall = movecontact
trigger1 = stateno = 400 && fvar(12) <= 0.1
trigger1 = var(52):= 410 || 1
trigger2 = stateno = 410
trigger2 = var(52):= cond(moveguarded && numhelper(1000) <= 0, 1000, 420) || 1
trigger3 = stateno = 420 && moveguarded && numhelper(1000) <= 0
trigger3 = var(52):= 1000 || 1
trigger4 = stateno = 420 && movehit
trigger4 = var(52):= 41 || 1
[State -1, Air Combo Tree]
type = ChangeState
value = var(52)
triggerall = AILevel && RoundState = 2
triggerall = movecontact
trigger1 = stateno = 600
trigger1 = var(52):= 610 || 1
trigger2 = stateno = 610
trigger2 = var(52):= 640 || 1
trigger3 = stateno = 640
trigger3 = var(52):= 650 || 1
;=============================================================================================================
; Counter Hits
;=============================================================================================================
[State -1, Air Light Punch]
type = ChangeState
value = 600
triggerall = AILevel && RoundState = 2
triggerall = statetype = A && ctrl
triggerall = fvar(0) = [0,25+6*(vel x+enemynear(var(57)),vel x)*facing*enemynear(var(57)),facing*-1]
triggerall = fvar(1) - 6 * vel y + 6 * enemynear(var(57)),vel y = [-30,30]
triggerall = pos y + 6 * vel y + const(movement.yaccel)*6*8/2 < 0
trigger1 = enemynear(var(57)),stateno = helper(18000),var(58)
trigger1 = enemynear(var(57)),time < helper(18000),var(59)-6
trigger2 = var(38) > 0
[State Basic: C.L.P]
type = ChangeState
value = 400
triggerall = AILevel && RoundState = 2
triggerall = statetype != A && ctrl
triggerall = enemynear(var(57)),statetype != L || (enemynear(var(57)),stateno = 5120 && enemynear(var(57)),animtime >= -2)
triggerall = fvar(0) = [-5,20+4*(enemynear(var(57)),vel x)*facing*enemynear(var(57)),facing*-1]
triggerall = fvar(1) >= 0+4*(enemynear(var(57)),vel y*-1)
triggerall = numhelper(18000)
trigger1 = enemynear(var(57)),stateno = helper(18000),var(58)
trigger1 = enemynear(var(57)),time < helper(18000),var(59)-4
trigger2 = var(38) > 0
;=============================================================================================================
; General
;=============================================================================================================
[State -1, AI Roll past Projectile]
type = ChangeState
value = 70
triggerall = AILevel && RoundState = 2
triggerall = statetype != A && ctrl || stateno = 103
triggerall = enemynear(var(57)),ctrl = 0 || fvar(0) >= 150
triggerall = fvar(0) >= 100 || (fvar(0) >= 30 && enemynear(var(57)),animtime <= -15)
trigger1 = PlayerIdExist(helper(33333333),var(4))
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) < 15
[State -1, AI Roll Fwd]
type = ChangeState
value = 70
triggerall = AILevel && RoundState = 2
triggerall = statetype != A && ctrl || stateno = 101
triggerall = enemynear(var(57)),facing != facing
triggerall = enemynear(var(57)),animtime <= -15
triggerall = enemynear(var(57)),vel x >= 0
triggerall = frontedgedist >= 50 || fvar(0) >= 50-frontedgedist
triggerall = fvar(0) = [0,90+3*(enemynear(var(57)),vel x)]
triggerall = fvar(1) >= -80+3*(enemynear(var(57)),vel y*-1)
trigger1 = enemynear(var(57)),hitdefattr = SCA,AA,AP
[State -1, AI Roll Back]
type = ChangeState
value = 71
triggerall = AILevel && RoundState = 2
triggerall = statetype != A && ctrl || stateno = 101
triggerall = enemynear(var(57)),facing != facing
triggerall = enemynear(var(57)),animtime <= -15
triggerall = enemynear(var(57)),vel x <= 0
triggerall = backedgedist >= 50
triggerall = fvar(0) = [0,90+3*(enemynear(var(57)),vel x)]
triggerall = fvar(1) >= -80+3*(enemynear(var(57)),vel y*-1)
trigger1 = enemynear(var(57)),hitdefattr = SCA,AA,AP
[State Misc: Grab]
type = ChangeState
value = 800
triggerall = AILevel && RoundState = 2
triggerall = ctrl || (stateno = [100,119]) || ((stateno = [150,159]) && power >= 50)
triggerall = enemynear(var(57)),statetype != L
triggerall = enemynear(var(57)),prevstateno != 5120 || enemynear(var(57)),time >= 12
triggerall = enemynear(var(57)),movetype != H || (enemynear(var(57)),stateno = [120,159])
triggerall = p2bodydist x < 42 || statetype != A
triggerall = fvar(0) < 42
triggerall = fvar(1) = [-40,40]
trigger1 = (enemynear(var(57)),stateno = [120,159]) || (enemynear(var(57)),prevstateno = [120,159])
trigger2 = enemynear(var(57)),facing = facing && enemynear(var(57)),vel x <= 0
trigger3 = enemynear(var(57)),ctrl = 0
trigger3 = enemynear(var(57)),movetype = A || enemynear(var(57)),hitdefattr = SCA,AA,AP,AT || stateno = [120,159]
trigger4 = fvar(0) <= 0 || enemynear(var(57)),backedgedist <= 20
[State Special: Didn't bonk you hard enough?]
type = ChangeState
value = 1010
triggerall = AILevel && RoundState = 2
triggerall = ctrl
triggerall = numhelper(1010) <= 0
triggerall = !inguarddist || enemynear(var(57)),facing = facing
triggerall = enemynear(var(57)),statetype != L || (enemynear,stateno = 5120 && enemynear,animtime <= -(16+((P2BodyDist X)/14)))
triggerall = enemynear(var(57)),statetype != C || statetype != A
triggerall = enemynear(var(57)),movetype != H || enemynear(var(57)),statetype = L || enemynear(var(57)),stateno = [120,159]
triggerall = random <= 500 || numhelper(1000) > 0
triggerall = fvar(0) = [50-(50*(enemynear(var(57)),statetype = L)),200]
triggerall = fvar(1) = [-40,40]
trigger1 = random <= 250 + (250 * (enemynear(var(57)),ctrl = 0))
trigger2 = enemynear(var(57)),stateno = 5120
[State Special: Didn't bonk you hard enough?]
type = ChangeState
value = 1000
triggerall = AILevel && RoundState = 2
triggerall = ctrl
triggerall = numhelper(1000) <= 0
triggerall = !inguarddist || enemynear(var(57)),facing = facing
triggerall = enemynear(var(57)),statetype != L || (enemynear(var(57)),stateno = 5120 && enemynear(var(57)),animtime <= -(16+((P2BodyDist X)/14)))
triggerall = enemynear(var(57)),statetype != C || statetype != A
triggerall = fvar(0) >= 50-(50*(enemynear(var(57)),statetype = L))
triggerall = fvar(1) = [-60,20]
trigger1 = random <= 100+ceil(fvar(0)*0.1)
trigger2 = enemynear(var(57)),ctrl = 0 || enemynear(var(57)),backedgebodydist <= 30
trigger2 = random <= 250+ceil(fvar(0)*0.1)
trigger3 = enemynear(var(57)),stateno = 5120
[State -1, Air Light Punch]
type = ChangeState
value = 600
triggerall = AILevel && RoundState = 2
triggerall = statetype = A && ctrl
triggerall = enemynear(var(57)),hitdefattr != SCA,AA || enemynear(var(57)),facing = facing
triggerall = fvar(0) = [0,25+6*(vel x+enemynear(var(57)),vel x)]
triggerall = fvar(1) - 6 * vel y + 6 * enemynear(var(57)),vel y = [-30,30]
triggerall = pos Y + 6 * vel y + const(movement.yaccel)*6*8/2 < 0
trigger1 = enemynear(var(57)),statetype = A
[State -1, Air Heavy Punch]
type = ChangeState
value = 620
triggerall = AILevel && RoundState = 2
triggerall = statetype = A && ctrl
triggerall = enemynear(var(57)),hitdefattr != SCA,AA || enemynear(var(57)),facing = facing
triggerall = fvar(0) = [0,35+5*(vel x+enemynear(var(57)),vel x)]
triggerall = fvar(1) - 5 * vel y + 5 * enemynear(var(57)),vel y = [-40,40]
triggerall = pos Y + 5 * vel y + const(movement.yaccel)*5*8/2 < 0
trigger1 = vel y >= 0
[State Basic: C.L.P]
type = ChangeState
value = 400
triggerall = AILevel && RoundState = 2
triggerall = statetype != A && ctrl
triggerall = enemynear(var(57)),statetype != L || (enemynear(var(57)),stateno = 5120 && enemynear(var(57)),animtime >= -2)
triggerall = fvar(0) = [-5,20+4*(enemynear(var(57)),vel x)*facing*enemynear(var(57)),facing*-1]
triggerall = fvar(1) >= 0+4*(enemynear(var(57)),vel y*-1)
trigger1 = !inguarddist || enemynear(var(57)),facing = facing
[State Special: Mushroom]
type = ChangeState
value = 355+1*(power >= 150 && random <= floor(power/4))
triggerall = AILevel && RoundState = 2
triggerall = ctrl
triggerall = enemynear(var(57)),vel x <= 0
triggerall = enemynear(var(57)),movetype != H || enemynear(var(57)),statetype = A || enemynear(var(57)),statetype = L || (enemynear(var(57)),stateno = [120,159])
triggerall = !(inguarddist || enemy,numproj)
triggerall = !playeridexist(helper(33333333),var(4))
triggerall = life != lifemax
triggerall = power >= 100
triggerall = life <= (lifemax * 0.25 || 100) || enemynear(var(57)),life-200 >= life || random <= (250+(1 - (((Life*0.1)/(LifeMax*0.1))))*250)+floor(power/5)
trigger1 = fvar(0) >= 120 || fvar(1) >= 120
trigger1 = random <= ceil(20+fvar(0)*0.5)
trigger2 = fvar(0) >= 50 || fvar(1) >= 75
trigger2 = enemynear(var(57)),statetype = L || enemynear(var(57)),hitfall = 1 || (enemynear(var(57)),stateno = [120,159])
trigger2 = enemynear(var(57)),stateno != 5120
trigger3 = fvar(0) >= 50 || fvar(1) >= 75
trigger3 = enemynear(var(57)),anim = 5300
trigger3 = enemynear(var(57)),ctrl = 0
trigger4 = enemynear(var(57)),movetype = H
trigger4 = enemynear(var(57)),stateno = [802,803]
;=============================================================================================================
; Misc.
;=============================================================================================================
[State -1, AI Jump]
type = ChangeState
value = 39+2*(fvar(1) <= -140)
triggerall = AILevel && RoundState = 2
triggerall = statetype != A && ctrl
triggerall = stateno != 39
triggerall = stateno != 41
triggerall = enemynear(var(57)),statetype != L
triggerall = enemynear(var(57)),stateno != 105
triggerall = enemynear(var(57)),hitfall = 0
triggerall = (enemynear(var(57)),stateno != [802,803]) || enemynear(var(57)),movetype != H
triggerall = !inguarddist || enemynear(var(57)),facing = facing
triggerall = (fvar(0) = [-20,120]) && (fvar(1) = [-200,0])
trigger1 = enemynear(var(57)),statetype != A
trigger1 = enemynear(var(57)),hitdefattr = SC,AT
trigger2 = enemynear(var(57)),statetype = A || (enemynear(var(57)),pos y < 0 && enemynear(var(57)),vel y < 0)
trigger2 = random <= (100 + (100 * (enemynear(var(57)),vel y < 0 || enemynear(var(57)),prevstateno = 52)))
trigger3 = enemynear(var(57)),statetype = A
trigger3 = enemynear(var(57)),movetype = H || (enemynear(var(57)),stateno = [5200,5210])
trigger3 = random <= (200 + (200 * (enemynear(var(57)),time <= 4 || enemynear(var(57)),backedgedist < 50)))
[State -1, AI Back Dash]
type = ChangeState
value = 105
triggerall = AILevel && RoundState = 2
triggerall = statetype != A && ctrl
triggerall = enemynear(var(57)),movetype != H || enemynear(var(57)),statetype = L
triggerall = enemynear(var(57)),stateno != [120,159]
triggerall = backedgedist >= 50
triggerall = fvar(0) > 0
trigger1 = prevstateno != 105 || inguarddist
trigger1 = fvar(0) <= 90+(enemynear(var(57)),const(velocity.run.fwd.x)*enemynear(var(57)),vel x)
trigger1 = random <= 15+(ceil(enemynear(var(57)),vel x * 10))
[State -1, AI Running]
type = ChangeState
value = 100
triggerall = AILevel && RoundState = 2
triggerall = statetype != A && ctrl
triggerall = !inguarddist || enemynear(var(57)),facing = facing
triggerall = stateno != 100
triggerall = fvar(0) >= 0
trigger1 = random <= ceil((fvar(0)*0.5)+25*cond(enemynear(var(57)),vel x < 0, 2, 1))
trigger2 = enemynear(var(57)),movetype = H || enemynear(var(57)),ctrl = 0
trigger3 = enemynear(var(57)),vel x < -const(velocity.run.fwd.x)
[State -1, AI Walking]
type = ChangeState
value = 21
triggerall = AILevel && RoundState = 2
triggerall = !inguarddist
triggerall = statetype != A
triggerall = stateno != 100
trigger1 = ctrl
ctrl = 1
[State -3, AI Guard]
type = ChangeState
triggerall = AILevel && RoundState = 2
triggerall = inguarddist
triggerall = enemynear(var(57)),facing != facing
triggerall = enemynear(var(57)),hitdefattr != SCA,AT
triggerall = stateno != [120,159]
trigger1 = ctrl
value = 120
[State -3, Taunt]
type = ChangeState
value = 195
triggerall = AILevel
triggerall = statetype != A
triggerall = roundstate = 3
triggerall = win || winko
triggerall = time = [0,120]
triggerall = stateno != [195,197]
triggerall = prevstateno != [195,197]
trigger1 = ctrl
[State -3, AssertSpecial]
type = AssertSpecial
trigger1 = AILevel
flag = nowalk
[State -3, AssertSpecial]
type = AssertSpecial
trigger1 = AILevel
flag = nostandguard
flag2 = noairguard
flag3 = nocrouchguard
;=============================================================================================================
; AI End
;=============================================================================================================
[State Misc: Go]
type = DestroySelf
trigger1 = IsHelper
trigger1 = movereversed = 1
;===================================================;
; SUPER/HYPER MOVES ;
;===================================================;
[State LV 2 Super: Not Mario Kart. Paperized edition]
type = ChangeState
value = 3100
triggerall = !AILevel
triggerall = command = "Lets Kart Krash"
triggerall = power >= 2000
trigger1 = ctrl
trigger2 = stateno = 100
trigger3 = (stateno = [200,499]) && movecontact
trigger4 = (stateno = [1000,2999]) && movecontact
trigger5 = stateno = 1000 && animelem = 5,>=0
[State LV 1 Super: Origami Punch]
type = ChangeState
value = 3000
triggerall = !AILevel
triggerall = command = "Origami Punch"
triggerall = power >= 1000
trigger1 = ctrl
trigger2 = stateno = 100
trigger3 = (stateno = [200,499]) && movecontact
trigger4 = (stateno = [1000,2999]) && movecontact
trigger5 = stateno = 1000 && animelem = 5,>=0
[State LV 1 Super: Thunder]
type = ChangeState
value = 350
triggerall = !AILevel
triggerall = command = "Thunder"
triggerall = power >= 1000
trigger1 = ctrl
trigger2 = stateno = 100
trigger3 = (stateno = [200,499]) && movecontact
trigger4 = (stateno = [1000,2999]) && movecontact
trigger5 = stateno = 1000 && animelem = 5,>=0
[State LV 1 Super: Pal Pills]
type = ChangeState
value = 370
triggerall = !AILevel
triggerall = (var(58) = 0)||(var(58) = 3)
triggerall = command = "Pal Pills"
triggerall = numhelper(3015)<=0
triggerall = numhelper(350)<=0
triggerall = power >= 1000
trigger1 = ctrl
trigger2 = stateno = 100
trigger3 = (stateno = [200,699]) && movecontact
trigger4 = (stateno = [1000,2999]) && movecontact
;===================================================;
; SPECIAL MOVES ;
;===================================================;
[State Special: Regular Mushroom]
type = ChangeState
value = 355
triggerall = !AILevel
triggerall = command = "Regular Mushroom"
triggerall = life != Lifemax
triggerall = power >= 100
trigger1 = ctrl
trigger2 = stateno = 100
trigger3 = (stateno = [200,699]) && movecontact
[State Special: Super Mushroom]
type = ChangeState
value = 356
triggerall = !AILevel
triggerall = command = "Super Mushroom"
triggerall = life != Lifemax
triggerall = power >= 150
trigger1 = ctrl
trigger2 = stateno = 100
trigger3 = (stateno = [200,699]) && movecontact
[State Special: The Side Special from SSB]
type = ChangeState
value = 1005
triggerall = !AILevel
triggerall = command = "HomingLikeLeap_a" || command = "HomingLikeLeap_b"
trigger1 = ctrl
trigger2 = stateno = 100
trigger3 = (stateno = [200,699]) && movecontact
[State Special: Didn't bonk you hard enough?]
type = ChangeState
value = 1010
triggerall = !AILevel
triggerall = numhelper(1010)<=0
triggerall = command = "Stache_x" || command = "Stache_y"
trigger1 = ctrl
trigger2 = stateno = 100
trigger3 = (stateno = [200,699]) && movecontact
[State Special: Didn't bonk you hard enough?]
type = ChangeState
value = 1000
triggerall = !AILevel
triggerall = numhelper(1000)<=0
triggerall = command = "Hammer_x" || command = "Hammer_y"
trigger1 = ctrl
trigger2 = stateno = 100
trigger3 = (stateno = [200,699]) && movecontact
;===================================================;
; NORMAL MOVES ;
;===================================================;
[State MISC: Parry]
type = HitOverride
triggerall = !AILevel
triggerall = command = "fwd"
trigger1 = ctrl
trigger2 = stateno = [100,199]
trigger2 = stateno = 390
trigger2 = stateno = [40,59]
trigger2 = stateno = 5120
trigger2 = stateno = 5200
trigger2 = stateno = 5201
trigger2 = stateno = 5210
attr = SCA,AA,AP
time = 15
stateno = 390
[State MISC: Grab (AIR)]
type = ChangeState
value = 800
triggerall = !AILevel
triggerall = command = "y" || command = "z"
triggerall = ctrl
triggerall = stateno != 100
trigger1 = command = "holdfwd"
trigger1 = p2bodydist X < 42
trigger1 = p2movetype != H
trigger2 = command = "holdback"
trigger2 = p2bodydist X < 42
trigger2 = p2movetype != H
[State Misc: Grab]
type = ChangeState
value = 800
triggerall = !AILevel
triggerall = command = "a" && command = "c"
triggerall = statetype !=A
trigger1 = Ctrl || (stateno = [100,119])
trigger2 = power >= 50
trigger2 = stateno = [150,159]
[State Misc: DodgeFWD]
type = ChangeState
value = 70
triggerall = !AILevel
triggerall = command = "c"
trigger1 = command != "holddown"
triggerall = command != "holdfwd"
triggerall = command != "holdback"
triggerall = statetype != A
trigger1 = Ctrl || (stateno = [100,119])
trigger2 = power >= 50
trigger2 = stateno = [150,159]
[State Misc: DodgeFWD]
type = ChangeState
value = 70
triggerall = !AILevel
triggerall = command = "c"
trigger1 = command != "holddown"
triggerall = command = "holdfwd"
triggerall = command != "holdback"
triggerall = statetype != A
trigger1 = Ctrl || (stateno = [100,119])
trigger2 = power >= 50
trigger2 = stateno = [150,159]
[State Misc: DodgeBack]
type = ChangeState
value = 71
triggerall = !AILevel
triggerall = command = "c"
trigger1 = command != "holddown"
triggerall = command != "holdfwd"
triggerall = command = "holdback"
triggerall = statetype != A
trigger1 = Ctrl || (stateno = [100,119])
trigger2 = power >= 50
trigger2 = stateno = [150,159]
[State Misc: DodgeFWD]
type = ChangeState
value = 70
triggerall = !AILevel
triggerall = command = "c"
trigger1 = command = "holddown"
triggerall = command != "holdfwd"
triggerall = command != "holdback"
triggerall = statetype != A
trigger1 = Ctrl || (stateno = [100,119])
trigger2 = power >= 50
trigger2 = stateno = [150,159]
[State Misc: DodgeFWD]
type = ChangeState
value = 70
triggerall = !AILevel
triggerall = command = "c"
trigger1 = command = "holddown"
triggerall = command = "holdfwd"
triggerall = command != "holdback"
triggerall = statetype != A
trigger1 = Ctrl || (stateno = [100,119])
trigger2 = power >= 50
trigger2 = stateno = [150,159]
[State Misc: DodgeBack]
type = ChangeState
value = 71
triggerall = !AILevel
triggerall = command = "c"
trigger1 = command = "holddown"
triggerall = command != "holdfwd"
triggerall = command = "holdback"
triggerall = statetype != A
trigger1 = Ctrl || (stateno = [100,119])
trigger2 = power >= 50
trigger2 = stateno = [150,159]
;===================================================;
; STANDING ATTACKS ;
;===================================================;
;-----------------------------------------------------------------------------------
[State Basic: S.L.P]
type = ChangeState
value = 200
triggerall = !AILevel
triggerall = command = "x"
triggerall = command != "holddown"
triggerall = statetype != A
trigger1 = ctrl
[State Basic: S.S.P]
type = ChangeState
value = 210
triggerall = !AILevel
triggerall = command = "y"
triggerall = command != "holddown"
triggerall = statetype != A
trigger1 = ctrl
trigger2 = stateno = 200 && Movecontact
[State Basic: S.L.K]
type = ChangeState
value = 230
triggerall = !AILevel
triggerall = command = "a"
triggerall = command != "holddown"
triggerall = statetype != A
trigger1 = ctrl
trigger2 = stateno = 200 && Movecontact
trigger3 = stateno = 210 && Movecontact
[State Basic: S.S.K]
type = ChangeState
value = 240
triggerall = !AILevel
triggerall = command = "b"
triggerall = command != "holddown"
triggerall = statetype != A
trigger1 = ctrl
trigger2 = stateno = 200 && Movecontact
trigger3 = stateno = 210 && Movecontact
trigger4 = stateno = 230 && Movecontact
;===================================================;
; CROUCHING ATTACKS ;
;===================================================;
[State Basic: C.L.P]
type = ChangeState
value = 400
triggerall = !AILevel
triggerall = command = "x"
triggerall = command = "holddown"
triggerall = statetype != A
trigger1 = ctrl
trigger2 = (stateno = [200,299]) && Movecontact
[State Basic: C.M.P]
type = ChangeState
value = 410
triggerall = !AILevel
triggerall = command = "y"
triggerall = command = "holddown"
triggerall = statetype != A
trigger1 = ctrl
trigger2 = (stateno = [200,299]) && Movecontact
trigger3 = stateno = 400 && Movecontact
[State Basic: C.S.P]
type = ChangeState
value = 420
triggerall = !AILevel
triggerall = command = "z"
triggerall = command = "holddown"
triggerall = statetype != A
trigger1 = ctrl
trigger2 = (stateno = [200,299]) && Movecontact
trigger3 = stateno = 400 && Movecontact
trigger4 = stateno = 410 && Movecontact
[State Basic: C.L.K]
type = ChangeState
value = 430
triggerall = !AILevel
triggerall = command = "a"
triggerall = command = "holddown"
triggerall = statetype != A
trigger1 = ctrl
trigger2 = (stateno = [200,299]) && Movecontact
trigger3 = stateno = 400 && Movecontact
trigger4 = stateno = 410 && Movecontact
[State Basic: C.S.K]
type = ChangeState
value = 440
triggerall = !AILevel
triggerall = command = "b"
triggerall = command = "holddown"
triggerall = statetype != A
trigger1 = ctrl
trigger2 = (stateno = [200,299]) && Movecontact
trigger3 = stateno = 400 && Movecontact
trigger4 = stateno = 410 && Movecontact
trigger5 = stateno = 430 && Movecontact
;===================================================;
; Aerial ATTACKS ;
;===================================================;
[State Basic: A.L.P]
type = ChangeState
value = 600
triggerall = !AILevel
triggerall = command = "x"
triggerall = statetype = A
trigger1 = Ctrl || (stateno = [100,119])
[State Basic: A.M.P]
type = ChangeState
value = 610
triggerall = !AILevel
triggerall = command = "y"
triggerall = statetype = A
trigger1 = Ctrl || (stateno = [100,119])
trigger2 = stateno = 600 && Movecontact
[State Basic: A.S.P]
type = ChangeState
value = 620
triggerall = !AILevel
triggerall = command = "z"
triggerall = statetype = A
trigger1 = Ctrl || (stateno = [100,119])
trigger2 = stateno = 600 && Movecontact
trigger3 = stateno = 610 && Movecontact
[State Basic: A.L.K]
type = ChangeState
value = 630
triggerall = !AILevel
triggerall = command = "a"
triggerall = statetype = A
trigger1 = Ctrl || (stateno = [100,119])
trigger2 = stateno = 600 && Movecontact
trigger3 = stateno = 610 && Movecontact
[State Basic: A.M.K]
type = ChangeState
value = 640
triggerall = !AILevel
triggerall = command = "b"
triggerall = statetype = A
trigger1 = Ctrl || (stateno = [100,119])
trigger2 = stateno = 600 && Movecontact
trigger3 = stateno = 610 && Movecontact
trigger4 = stateno = 630 && Movecontact
[State Basic: A.S.K]
type = ChangeState
value = 650
triggerall = !AILevel
triggerall = command = "c"
triggerall = statetype = A
trigger1 = Ctrl || (stateno = [100,119])
trigger2 = stateno = 600 && Movecontact
trigger3 = stateno = 610 && Movecontact
trigger4 = stateno = 630 && Movecontact
trigger5 = stateno = 640 && Movecontact
;===================================================;
; MISCELLANEOUS MOVES ;
;===================================================;
[State Misc: Super Jump Up]
type = ChangeState
value = 41
triggerall = var(59) <= 0
triggerall = command = "SuperJump" && ctrl
trigger1 = statetype = S && statetype != A
trigger2 = stateno = 10
[State Misc: Launcher]
type = ChangeState
value = 41
triggerall = var(59) <= 0
triggerall = Command = "holdup"
trigger1 = stateno = 420 && movehit
[State Misc: Taunt]
type = ChangeState
value = 195
triggerall = !AILevel
triggerall = command = "start"
trigger1 = statetype != A
trigger1 = ctrl
[State Misc: Run Fwd]
type = ChangeState
value = 100
triggerall = !AILevel
triggerall = command = "FF"
triggerall = statetype != A
trigger1 = ctrl
[State Misc: Run Back]
type = ChangeState
value = 105
triggerall = !AILevel
triggerall = command = "BB"
triggerall = statetype != A
trigger1 = ctrl