; The CMD file.
;
; Two parts: 1. Command definition and 2. State entry
; (state entry is after the commands def section)
;
; 1. Command definition
; ---------------------
; Note: The commands are CASE-SENSITIVE, and so are the command names.
; The eight directions are:
; B, DB, D, DF, F, UF, U, UB (all CAPS)
; corresponding to back, down-back, down, downforward, etc.
; The six buttons are:
; a, b, c, x, y, z (all lower case)
; In default key config, abc are are the bottom, and xyz are on the
; top row. For 2 button characters, we recommend you use a and b.
; For 6 button characters, use abc for kicks and xyz for punches.
;
; Each [Command] section defines a command that you can use for
; state entry, as well as in the CNS file.
; The command section should look like:
;
; [Command]
; name = some_name
; command = the_command
; time = time (optional -- defaults to 15 if omitted)
;
; - some_name
; A name to give that command. You'll use this name to refer to
; that command in the state entry, as well as the CNS. It is case-
; sensitive (QCB_a is NOT the same as Qcb_a or QCB_A).
;
; - command
; list of buttons or directions, separated by commas.
; Directions and buttons can be preceded by special characters:
; slash (/) - means the key must be held down
; egs. command = /D ;hold the down direction
; command = /DB, a ;hold down-back while you press a
; tilde (~) - to detect key releases
; egs. command = ~a ;release the a button
; command = ~D, F, a ;release down, press fwd, then a
; If you want to detect "charge moves", you can specify
; the time the key must be held down for (in game-ticks)
; egs. command = ~30a ;hold a for at least 30 ticks, then release
; dollar ($) - Direction-only: detect as 4-way
; egs. command = $D ;will detect if D, DB or DF is held
; command = $B ;will detect if B, DB or UB is held
; plus (+) - Buttons only: simultaneous press
; egs. command = a+b ;press a and b at the same time
; command = x+y+z ;press x, y and z at the same time
; You can combine them:
; eg. command = ~30$D, a+b ;hold D, DB or DF for 30 ticks, release,
; ;then press a and b together
; It's recommended that for most "motion" commads, eg. quarter-circle-fwd,
; you start off with a "release direction". This matches the way most
; popular fighting games implement their command detection.
;
; - time (optional)
; Time allowed to do the command, given in game-ticks. Defaults to 15
; if omitted
;
; If you have two or more commands with the same name, all of them will
; work. You can use it to allow multiple motions for the same move.
;
; Some common commands examples are given below.
;
; [Command] ;Quarter circle forward + x
; name = "QCF_x"
; command = ~D, DF, F, x
;
; [Command] ;Half circle back + a
; name = "HCB_a"
; command = ~F, DF, D, DB, B, a
;
; [Command] ;Two quarter circles forward + y
; name = "2QCF_y"
; command = ~D, DF, F, D, DF, F, y
;
; [Command] ;Tap b rapidly
; name = "5b"
; command = b, b, b, b, b
; time = 30
;
; [Command] ;Charge back, then forward + z
; name = "charge_B_F_z"
; command = ~60$B, F, z
; time = 10
;
; [Command] ;Charge down, then up + c
; name = "charge_D_U_c"
; command = ~60$D, U, c
; time = 10
;
;-| 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 = "okay"
command = ~D,DF,F,a+b
time = 15
[command]
name = "okay again"
command = ~D,DB,B,a+b
time = 15
[command]
name = "qcbsuper"
command = ~D,DB,B,x+y
time = 15
[command]
name = "dpsuper"
command = ~F,D,DF,~z
time = 15
[command]
name = "qcfsuper"
command = ~D,DF,F,~z
time = 15
[command]
name = "rdpsuper"
command = ~D,DF,F,a+x
time = 15
[command]
name = "qcbsuper"
command = ~D,DB,B,z
time = 15
[command]
name = "dpsuper"
command = ~F,D,DF,z
time = 15
[command]
name = "qcfsuper"
command = ~D,DF,F,z
time = 15
;-| Special Motions |------------------------------------------------------
[Command]
name = "KF Palm"
command = ~D, DF, F, x
time = 15
[Command]
name = "KF Palm"
command = ~D, DF, F, ~x
time = 15
[Command]
name = "KF Palm2"
command = ~D, DF, F, y
time = 15
[Command]
name = "KF Palm2"
command = ~D, DF, F, ~y
time = 15
[Command]
name = "KF Palm3"
command = ~D, DF, F, z
time = 15
[Command]
name = "KF Palm3"
command = ~D, DF, F, ~z
time = 15
[Command]
name = "EX KF Palm"
command = ~F, D, DF, x+y
time = 15
[Command]
name = "EX KF Palm"
command = ~F, D, DF, y+z
time = 15
[Command]
name = "EX KF Palm"
command = ~F, D, DF, x+z
time = 15
;-| Special Motions |------------------------------------------------------
[command]
name = "ddk"
command = ~D,D,~b
time = 15
[command]
name = "ddk2"
command = ~D,D,~a
time = 15
[command]
name = "ddk"
command = ~D,D,b
time = 15
[command]
name = "ddk2"
command = ~D,D,a
time = 15
[command]
name = "qcfk"
command = ~D,DF,F,~b
time = 15
[command]
name = "qcfk2"
command = ~D,DF,F,~a
time = 15
[command]
name = "qcfk"
command = ~D,DF,F,b
time = 15
[command]
name = "qcfk2"
command = ~D,DF,F,a
time = 15
[command]
name = "qcbk"
command = ~F,D,B,~b
time = 15
[command]
name = "qcbk"
command = ~F,D,B,a+b
time = 15
[command]
name = "rdp"
command = ~B,D,DB,~y
time = 15
[command]
name = "rdp2"
command = ~B,D,DB,~x
time = 15
[command]
name = "rdp"
command = ~B,D,DB,y
time = 15
[command]
name = "rdp2"
command = ~B,D,DB,x
time = 15
[command]
name = "dpk"
command = ~F,D,DF,b
time = 15
[command]
name = "dpk3"
command = ~F,D,DF,a+b
time = 15
[command]
name = "dpk2"
command = ~F,D,DF,a
time = 15
[command]
name = "dpk"
command = ~F,D,DF,b
time = 15
[command]
name = "dpk2"
command = ~F,D,DF,a
time = 15
[command]
name = "dp"
command = ~F,D,DF,x+y
time = 15
[command]
name = "dp2"
command = ~F,D,DF,y
time = 15
[command]
name = "dp"
command = ~F,D,DF,y
time = 15
[command]
name = "dp2"
command = ~F,D,DF,x
time = 15
[command]
name = "dp3"
command = ~F,D,DF,x+y
time = 15
[command]
name = "qcfpex"
command = ~D,DF,F,x+y
time = 15
[command]
name = "qcfp3"
command = ~D,DF,F,x
time = 15
[command]
name = "qcfp4"
command = ~D,DF,F,y
time = 15
[command]
name = "qcfp2"
command = ~D,DF,F,z
time = 15
[command]
name = "qcfp"
command = ~D,DF,F,z
time = 15
[command]
name = "qcfp2"
command = ~D,DF,F,y+z
time = 15
[command]
name = "ring throw"
command = ~D,DF,F,a
time = 15
[command]
name = "ring throw"
command = ~D,DF,F,b
time = 15
[command]
name = "ddp"
command = ~D,D,y
time = 15
[Command]
name = "412p" ;Zero Counter
command = ~B, DB, D, x
time = 16
[Command]
name = "412p" ;Zero Counter
command = ~B, DB, D, y
time = 16
[Command]
name = "412p" ;Zero Counter
command = ~B, DB, D, z
time = 16
[Command]
name = "412p" ;Zero Counter
command = ~B, DB, D, ~x
time = 16
[Command]
name = "412p" ;Zero Counter
command = ~B, DB, D, ~y
time = 16
[Command]
name = "412p" ;Zero Counter
command = ~B, DB, D, ~z
time = 16
[Command]
name = "412k" ;Zero Counter
command = ~B, DB, D, a
time = 16
[Command]
name = "412k" ;Zero Counter
command = ~B, DB, D, b
time = 16
[Command]
name= "412k" ;Zero Counter
command = ~B, DB, D, c
time = 16
[Command]
name = "412k" ;Zero Counter
command = ~B, DB, D, ~a
time = 16
[Command]
name = "412k" ;Zero Counter
command = ~B, DB, D, ~b
time = 16
[Command]
name = "412k" ;Zero Counter
command = ~B, DB, D, ~c
time = 16
;-| 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+x
time = 1
[Command]
name = "pp"
command = x+y
time = 1
[Command]
name = "pp"
command = x+z
time = 1
[Command]
name = "pp"
command = y+z
time = 1
[Command]
name = "kk"
command = a+b
time = 1
[Command]
name = "kk"
command = a+c
time = 1
[Command]
name = "kk"
command = b+c
time = 1
[Command]
name = "a+x"
command = a+x
time=1
[Command]
name = "b+y"
command = b+y
time = 1
[Command]
name = "c+z"
command = c+z
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
;---------------------------------------------------------------------------
;Release Direction
[Command]
name = "rlsfwd"
command = ~$F
time = 1
[Command]
name = "rlsback"
command = ~$B
time = 1
[Command]
name = "rlsup"
command = ~$U
time = 1
[Command]
name = "rlsdown"
command = ~$D
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
;---------------------------------------------------------------------------
; 2. State entry
; --------------
; This is where you define what commands bring you to what states.
;
; Each state entry block looks like:
; [State -1, Label] ;Change Label to any name you want to use to
; ;identify the state with.
; type = ChangeState ;Don't change this
; value = new_state_number
; trigger1 = command = command_name
; . . . (any additional triggers)
;
; - new_state_number is the number of the state to change to
; - command_name is the name of the command (from the section above)
; - Useful triggers to know:
; - statetype
; S, C or A : current state-type of player (stand, crouch, air)
; - ctrl
; 0 or 1 : 1 if player has control. Unless "interrupting" another
; move, you'll want ctrl = 1
; - stateno
; number of state player is in - useful for "move interrupts"
; - movecontact
; 0 or 1 : 1 if player's last attack touched the opponent
; useful for "move interrupts"
;
; Note: The order of state entry is important.
; State entry with a certain command must come before another state
; entry with a command that is the subset of the first.
; For example, command "fwd_a" must be listed before "a", and
; "fwd_ab" should come before both of the others.
;
; For reference on triggers, see CNS documentation.
;
; Just for your information (skip if you're not interested):
; This part is an extension of the CNS. "State -1" is a special state
; that is executed once every game-tick, regardless of what other state
; you are in.
; Don't remove the following line. It's required by the CMD standard.
[Statedef -1]
[State -1, AI ON] ; Turn the AI on when
Type = VarSet
TriggerAll = Var(59) < 1 ; it is not on yet and
TriggerAll = RoundState = 2 ; the fight has started and is not over yet and
Trigger1 = AILevel > 0 ; the computer is playing the character
v = 59
value = 1 ; value of 1 will mean the AI is on
Ignorehitpause=1
[State -1, AI OFF] ; Turn the AI off when
Type = VarSet
Trigger1 = var(59) > 0 ; it is on and
Trigger1 = RoundState != 2 ; the round is not started yet or is already over
Trigger2 = !IsHelper ; OR if we are a player, but
Trigger2 = AILevel = 0 ; the computer is not in control
v = 59
value = 0 ; value of 0 will mean the AI is off. values other than 0 and 1 are not used in this example, we have only one AI mode, the normal one.
Ignorehitpause = 1
[State -1]
Type = VarSet
Trigger1 = 1
var(58) = (AILevel=1)*3+(AILevel=2)*7+(AILevel=3)*16+(AILevel=4)*30+(AILevel=5)*58+(AILevel=6)*90+ (AILevel=7)*150+(AILevel=8)*300
; AI stuff:
[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"
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 Walk Forward: Poke Range]
type = VelSet
triggerall = var(59) = 1 && statetype = S && ctrl
trigger1 = p2dist x > 50
x = 4.33
[State -1, AI Backstep Footsies: Spacing]
type = VelSet
triggerall = var(59) = 1 && statetype = S && ctrl
trigger1 = p2dist x < 49
trigger1 = p2movetype != H
x = -3.67
[State -1, AI Walk Parry]
type = ChangeState
value = 760
triggerall = var(59) = 1 && statetype = S && ctrl
triggerall = prevstateno != 760
triggerall = time > 1
trigger1 = (p2movetype = A && p2dist x < 80) || numproj > 0
trigger1 = random < 700
[State -1, AI Standing Parry]
type = ChangeState
value = 760
triggerall = var(59) = 1
triggerall = StateType = S && Ctrl
triggerall = var(31) <= 0
triggerall = PrevStateNo != 760 && StateNo != 760
triggerall = time > 20
trigger1 = EnemyNear, MoveType = A
trigger1 = P2BodyDist X < 30
trigger1 = abs(P2BodyDist Y) < 40
trigger1 = Random < 600
trigger2 = numhelper(33333333)
trigger2 = helper(33333333), var(4) > 0
trigger2 = p2dist x < 70
trigger2 = Random < 850
[State -1, AI Crouch Parry]
type = ChangeState
value = 761
triggerall = var(59) = 1
triggerall = StateType = C && Ctrl
triggerall = var(31) <= 0
triggerall = PrevStateNo != 761 && StateNo != 761
triggerall = time > 20
trigger1 = EnemyNear, MoveType = A
trigger1 = P2BodyDist X < 25
trigger1 = P2BodyDist Y <= 0
trigger1 = Random < 600
trigger2 = numhelper(33333333)
trigger2 = helper(33333333), var(4) > 0
trigger2 = p2dist x < 60
trigger2 = Random < 850
[State -1, AI Air Parry]
type = ChangeState
value = 762
triggerall = var(59) = 1
triggerall = StateType = A && Ctrl
triggerall = Vel Y > 0
triggerall = var(31) <= 0
triggerall = PrevStateNo != 762 && StateNo != 762
triggerall = time > 20
trigger1 = EnemyNear, MoveType = A
trigger1 = P2BodyDist X < 35
trigger1 = abs(P2BodyDist Y) < 50
trigger1 = Random < 600
trigger2 = numhelper(33333333)
trigger2 = helper(33333333), var(4) > 0
trigger2 = p2dist x < 80
trigger2 = Random < 880
[State -1, AI Anti-Proj: High Jump Over]
type = ChangeState
value = 40
triggerall = var(59) = 1
triggerall = statetype != A && ctrl
triggerall = (NumProj > 0) || (EnemyNear, NumHelper > 0 && P2MoveType = A) || (numhelper(33333333) && helper(33333333),var(4) > 0)
triggerall = p2dist x = [100, 250]
trigger1 = random < 700
trigger1 = p2movetype != H
[State -1, AI Anti-Proj: Air Dash Over]
type = ChangeState
value = 110
triggerall = var(59) = 1
triggerall = statetype = A && ctrl
triggerall = vel y < 0
triggerall = (NumProj > 0) || (EnemyNear, NumHelper > 0) || (numhelper(33333333) && helper(33333333),var(4) > 0)
triggerall = p2dist x > 60
trigger1 = random < 900
[State -1, AI Anti-Proj: Follow up 640]
type = ChangeState
value = 640
triggerall = var(59) = 1
triggerall = stateno = 110
triggerall = p2dist x < 65
trigger1 = 1
[State -1, AI Parry Punish: Ground]
type = ChangeState
value = 200
triggerall = var(59) = 1
triggerall = ctrl && statetype != A
triggerall = prevstateno = [760, 761]
triggerall = P2MoveType != A
triggerall = EnemyNear, NumProj = 0
triggerall = p2dist x < 50
trigger1 = power < 500
trigger2 = power >= 500 && random < 600
trigger2 = 1
[State -1, AI Parry Punish: Anti-Air]
type = ChangeState
value = 1110
triggerall = var(59) = 1
triggerall = ctrl && statetype != A
triggerall = prevstateno = [760, 761]
triggerall = P2StateType = A
triggerall = P2MoveType != A
triggerall = p2dist x < 60
trigger1 = 1
[State -1, AI Parry Escape: Air]
type = ChangeState
value = 112
triggerall = var(59) = 1
triggerall = statetype = A && ctrl
triggerall = prevstateno = 762
trigger1 = 1
[State -1, AI Wakeup Panic Parry]
type = ChangeState
value = 760
triggerall = var(59) = 1
triggerall = StateNo = 5120
triggerall = Ctrl
triggerall = EnemyNear, NumProj > 0
triggerall = P2Dist X < 100
trigger1 = 1
[State -1, Punish Chain: 210]
type = ChangeState
value = 210
triggerall = var(59) = 1
triggerall = stateno = 200 && movehit
trigger1 = 1
[State -1, Punish Chain: EX Finish]
type = ChangeState
value = 1000
triggerall = var(59) = 1
triggerall = stateno = 210 && movehit
triggerall = power >= 500 && var(47) <= 0
triggerall = random < 600
trigger1 = 1
[State -1, Punish Chain: Normal Finish]
type = ChangeState
value = 1001
triggerall = var(59) = 1
triggerall = stateno = 210 && movehit
trigger1 = 1
[State -1, AI Reversal Orb Close]
type = ChangeState
value = 12553
triggerall = var(59) = 1
triggerall = var(45) = 0
triggerall = statetype != A
triggerall = power >= 1000
triggerall = statetype = S
triggerall = ctrl
triggerall = P2MoveType = A
triggerall = P2Dist X < 70
triggerall = abs(P2Dist Y) < 50
trigger1 = Random < 400
trigger1 = p2statetype != L
[State -1, AI Wakeup Orb Close]
type = ChangeState
value = 12553
triggerall = var(59) = 1
triggerall = var(45) = 0
triggerall = statetype != A
triggerall = power >= 1000
triggerall = stateno = 5120
triggerall = P2Dist X < 70
triggerall = P2MoveType = A
trigger1 = Random < 500
[State -1, AI Pressure Break Orb]
type = ChangeState
value = 12553
triggerall = var(59) = 1
triggerall = var(45) = 0
triggerall = statetype != A
triggerall = power >= 1000
triggerall = var(40) <= 0
trigger1 = stateno = [150, 153]
trigger1 = P2MoveType = A
trigger1 = p2dist x < 60
trigger1 = Random < 300
trigger2 = ctrl
trigger2 = P2MoveType = A
trigger2 = p2dist x < 75
trigger2 = EnemyNear, NumProj = 0
trigger2 = Random < 400
trigger3 = BackEdgeBodyDist < 20
trigger3 = p2dist x < 90
trigger3 = ctrl || stateno = [150, 153]
trigger3 = Random < 500
[State -1, AI Wakeup: Anti-Proj Parry]
type = ChangeState
value = 760
triggerall = var(59) = 1
triggerall = stateno = 5120
triggerall = EnemyNear, NumProj > 0
triggerall = p2dist x > 60
trigger1 = 1
[State -1, AI Wakeup: Anti-Proj Jump]
type = ChangeState
value = 40
triggerall = var(59) = 1
triggerall = stateno = 5120
triggerall = EnemyNear, NumProj > 0
triggerall = p2dist x < 60
trigger1 = random < 400
[State -1, AI Crouch LK Poke]
type = ChangeState
value = 430
triggerall = var(59) = 1 && statetype = S && ctrl
trigger1 = p2bodydist x <= 50
trigger1 = p2statetype != A
triggerall = p2statetype != L
triggerall = p2stateno != [5100, 5110]
trigger1 = random < 500
[State -1, AI Crouch LK to Spindash]
type = ChangeState
value = 1450
triggerall = var(59) = 1
triggerall = stateno = 430
trigger1 = movehit
trigger1 = animelemtime(3) > 0
trigger1 = 1
[State -1, AI Spindash to Orb]
type = ChangeState
value = 12553
triggerall = var(59) = 1
triggerall = (stateno = 1451) || (stateno = 1452)
triggerall = power >= 1000
trigger1 = movecontact = 1
trigger1 = (stateno = 1451 && time > 2) || (stateno = 1452 && time < 5)
trigger1 = random < 1000
[State -1, AI Spindash]
type = ChangeState
value = 1450
triggerall = var(59) = 1
triggerall = stateno = 210
triggerall = power >= 1000
trigger1 = movehit
trigger1 = animelemtime(4) > 0
trigger1 = p2bodydist x < 60
trigger1 = 1
[State -1, AI Supersonic]
type = ChangeState
value = 3200
triggerall = var(59) = 1
triggerall = power >= 3000
trigger1 = stateno = 1451 && movecontact
trigger2 = ctrl && EnemyNear, NumProj > 0
trigger3 = ctrl && P2MoveType = A
ignorehitpause = 1
type = ChangeState
value = 1450
triggerall = var(59) = 1
triggerall = stateno = 210
triggerall = movecontact
trigger1 = 1
[State -1, AI MP: Link]
type = ChangeState
value = 210
triggerall = var(59) = 1
triggerall = stateno = 200
triggerall = movehit
trigger1 = 1
[State -1, AI LP: Starter]
type = ChangeState
value = 200
triggerall = var(59) = 1
triggerall = var(45) = 0
triggerall = ctrl
triggerall = statetype != A
triggerall = p2statetype != A
triggerall = p2statetype != L
triggerall = p2bodydist x < 20
triggerall = stateno != [200, 210]
triggerall = stateno != [1450, 1452]
trigger1 = 1
[State -1, AI Supersonic: Anti-Projectile]
type = ChangeState
value = 3200
triggerall = var(59) = 1
triggerall = power >= 3000
triggerall = ctrl
triggerall = EnemyNear, NumProj > 0
trigger1 = 1
[State -1, AI Supersonic: Reversal]
type = ChangeState
value = 3200
triggerall = var(59) = 1
triggerall = power >= 3000
triggerall = ctrl
triggerall = P2MoveType = A
trigger1 = 1
[State -1, AI Supersonic: Combo Finish]
type = ChangeState
value = 3200
triggerall = var(59) = 1
triggerall = power >= 3000
triggerall = stateno = 1410
triggerall = movecontact
trigger1 = 1
[State -1, AI Tornado: Anti-Projectile & Anti-Air]
type = ChangeState
value = 3300
triggerall = var(59) = 1
triggerall = power >= 2000
triggerall = ctrl || (stateno = 1450 && movecontact)
triggerall = statetype != A
trigger1 = (numhelper(33333333) && helper(33333333), var(4) > 0)
trigger1 = p2dist x < 150
trigger1 = random < 400
trigger2 = p2statetype = A
trigger2 = p2dist x < 100
trigger2 = p2dist y < -20
trigger2 = random < 600
trigger3 = stateno = 1450 && movecontact
trigger3 = p2dist x < 60
trigger3 = random < 800
[State -1, AI Tornado: SpinDash Follow-up]
type = ChangeState
value = 3300
triggerall = var(59) = 1
triggerall = power >= 2000
triggerall = stateno = 1410
triggerall = movecontact
trigger1 = 1
[State -1, AI Tails: Anti-Projectile]
type = ChangeState
value = 3100
triggerall = var(59) = 1
triggerall = power >= 1000
triggerall = power < 3000
triggerall = ctrl
triggerall = statetype != A
trigger1 = (EnemyNear, NumProj > 0) || (numhelper(33333333) && helper(33333333),var(4) > 0)
trigger1 = random < 400
[State -1, AI Speeddash: Anti-Projectile]
type = ChangeState
value = 1300
triggerall = var(59) = 1
triggerall = power >= 500
triggerall = ctrl
triggerall = statetype != A
triggerall = P2Statetype != A
triggerall = P2Statetype != L
triggerall = P2MoveType != H
triggerall = p2dist x > 100
triggerall = prevstateno != 1300
trigger1 = (EnemyNear, NumProj > 0) || (numhelper(33333333) && helper(33333333),var(4) > 0)
trigger1 = random < 600
[State -1, AI Combo Opener 200]
type = ChangeState
value = 200
triggerall = var(59) = 1 && statetype = S && ctrl
triggerall = p2statetype != L && p2statetype != A
triggerall = power >= 1000
trigger1 = p2bodydist x <= 20
trigger1 = random < 500
[State -1, AI Combo: Starter LP]
type = ChangeState
value = 200
triggerall = var(59) = 1
triggerall = ctrl && statetype != A
triggerall = P2Statetype != A && p2statetype != L
triggerall = p2bodydist x < 30
trigger1 = random < 500
[State -1, AI Combo: LP to MP]
type = ChangeState
value = 210
triggerall = var(59) = 1 && stateno = 200
trigger1 = movehit
trigger1 = animelemtime(2) > 0
[State -1, AI Spindash Follow-up]
type = ChangeState
value = 1450
triggerall = var(59) = 1
triggerall = power >= 1000
trigger1 = stateno = 210 && movehit
trigger1 = random < 800
trigger2 = ctrl && statetype != A
trigger2 = p2dist x = [60, 150]
trigger2 = random < 100
[State -1, AI Link Spindash to Super]
type = ChangeState
value = 12553
triggerall = var(59) = 1
triggerall = (stateno = 1451) || (stateno = 1452)
triggerall = power >= 1000
trigger1 = movehit = 1
trigger1 = (stateno = 1451 && time > 2) || (stateno = 1452 && time < 5)
[State -1, AI Combo: MP to Spinning Ball (Without bar)]
type = ChangeState
value = 1001
triggerall = var(59) = 1 && stateno = 210
trigger1 = movehit
trigger1 = power < 1000
trigger2 = movehit
trigger2 = random >= 700
[State -1, AI Dodge: Anti-Projectile Only]
type = ChangeState
value = 700
triggerall = var(59) = 1
triggerall = ctrl
triggerall = statetype != A
triggerall = (EnemyNear, NumProj > 0) || (numhelper(33333333) && helper(33333333),var(4) > 0)
triggerall = p2movetype = A
triggerall = p2dist x < 160
trigger1 = 1
[State -1, AI Roll: Forward]
type = ChangeState
value = 710
triggerall = var(59) = 1
triggerall = ctrl
triggerall = statetype != A
triggerall = numproj > 0
triggerall = p2statetype != L
trigger1 = p2dist x < 100
trigger1 = 1
[State -1, AI Roll: Back]
type = ChangeState
value = 715
triggerall = var(59) = 1
triggerall = ctrl
triggerall = statetype != A
triggerall = BackEdgeBodyDist < 30
triggerall = p2dist x < 50
triggerall = p2movetype = A
trigger1 = 1
[State -1, AI Sonic Slash: Reversal]
type = ChangeState
value = 1110
triggerall = var(59) = 1
triggerall = ctrl && statetype != A
triggerall = p2statetype != L
trigger1 = p2statetype = A
trigger1 = p2dist x < 65
trigger1 = p2dist y < -20
trigger1 = random < 800
trigger2 = p2movetype = A
trigger2 = p2dist x < 70
trigger2 = random < 700
[State -1, AI EX Sonic Slash: Reversal]
type = ChangeState
value = 1100
triggerall = var(59) = 1
triggerall = power >= 500
triggerall = statetype != A
triggerall = ctrl
trigger1 = p2movetype = A
trigger1 = p2dist x < 65
trigger1 = random < 700
trigger2 = backedgebodydist < 20
trigger2 = p2movetype = A
trigger2 = p2dist x < 80
trigger2 = random < 900
[State -1, AI EX Sonic Slash: Anti-Air]
type = ChangeState
value = 1100
triggerall = var(59) = 1
triggerall = power >= 500
triggerall = statetype != A
triggerall = ctrl
triggerall = P2Statetype = A
triggerall = p2dist x < 70
trigger1 = 1
[State -1, AI EX DP: MAX Mode Combo]
type = ChangeState
value = 1100
triggerall = var(59) = 1
triggerall = var(20) > 0
triggerall = stateno = 210
triggerall = movehit
trigger1 = 1
[State -1, AI Throw: Absolute Punish]
type = ChangeState
value = 800
triggerall = var(59) = 1
triggerall = ctrl
triggerall = statetype != A
triggerall = p2bodydist x < 15
triggerall = p2statetype != A
triggerall = p2stateno != [5100, 5110]
triggerall = p2stateno != 5120
trigger1 = p2movetype = A || p2movetype = I
trigger1 = 1
[State -1, AI Power Charge: Safe Distance]
type = ChangeState
value = 730
triggerall = var(59) = 1
triggerall = var(20) <= 0
triggerall = RoundState = 2
triggerall = statetype != A
triggerall = power < powermax
triggerall = !var(20)
triggerall = ctrl
triggerall = p2dist x > 160
triggerall = p2movetype != A
triggerall = EnemyNear, NumProj = 0
trigger1 = 1
[State -1, AI MAX Mode: Activation]
type = ChangeState
value = 770
triggerall = var(59) = 1
triggerall = RoundState = 2
triggerall = statetype != A
triggerall = var(20) <= 0
triggerall = power >= 1000
triggerall = ctrl
trigger1 = p2stateno = [2150, 2159]
trigger2 = p2dist x > 100 && random < 200
trigger3 = movehit && stateno = 210
[State -1, AI Speeddash: Use]
type = ChangeState
value = 1300
triggerall = var(59) = 1
triggerall = ctrl && statetype != A
triggerall = p2stateno != [13571,13572]
triggerall = p2statetype != L
trigger1 = var(20) <= 0 && power >= 500
trigger1 = (EnemyNear, NumProj > 0 && p2dist x > 120) || p2dist x > 200
trigger1 = random < 200
trigger2 = var(20) > 0
trigger2 = (EnemyNear, NumProj > 0 && p2dist x > 100) || p2dist x > 180
trigger2 = random < 300
trigger2 = prevstateno != 1300
[State -1, AI Item Okizeme]
type = ChangeState
value = 1360
triggerall = var(59) = 1
triggerall = var(22) = 0
triggerall = var(45) <= 0
triggerall = statetype != A
triggerall = ctrl
trigger1 = enemynear, statetype = L
trigger1 = p2dist x = [60, 160]
trigger1 = random < 600
trigger2 = enemynear, stateno = 5120
trigger2 = p2dist x = [40, 140]
trigger2 = random < 400
trigger2 = var(55) = 1 && p2dist x > 200
trigger3 = p2dist x > 150
trigger3 = p2movetype != H
trigger3 = 1
[State -1, AI Air Dash Rushdown]
type = ChangeState
value = 110
triggerall = var(59) = 1
triggerall = var(45) = 0
triggerall = statetype = A && ctrl
triggerall = pos y <= -35
triggerall = p2statetype != L
trigger1 = p2dist x > 70
trigger1 = p2stateno = [2150, 2159]
trigger2 = enemynear, movetype = H
trigger2 = p2dist x > 30
trigger2 = 1
[State -1, AI Air Dash Safety Parry]
type = ChangeState
value = 762
triggerall = var(59) = 1
triggerall = stateno = 110
trigger1 = (p2movetype = A && p2dist x < 80) || numproj > 0
trigger1 = random < 800
[State -1, AI Air Dash Attack]
type = ChangeState
value = 640
triggerall = var(59) = 1
triggerall = stateno = 110
triggerall = p2dist x < 40
trigger1 = 1
[State -1, AI Air Dash Back]
type = ChangeState
value = 112
triggerall = var(59) = 1
triggerall = statetype = A && ctrl
triggerall = p2dist x < 60
triggerall = p2statetype = L || p2stateno = [5100, 5110]
triggerall = random < 250
trigger1 = 1
[State -1, AI Jump]
type = ChangeState
value = 40
triggerall = var(59) = 1
triggerall = statetype = S && ctrl
triggerall = roundstate = 2
trigger1 = var(55) = 1
trigger1 = p2dist x > 100
trigger1 = random < 800
trigger2 = enemynear, statetype = C
trigger2 = p2dist x < 70
trigger2 = enemynear, movetype = A
trigger2 = random < 500
trigger3 = p2dist x = [80, 180]
trigger3 = p2statetype != A
trigger3 = enemynear, movetype != A
trigger3 = random < 150
trigger4 = frontedgedist < 50
trigger4 = p2dist x < 60
trigger4 = random < 300
[State -1, AI Air Dash]
type = ChangeState
value = 110
triggerall = var(59) = 1
triggerall = StateType = A
triggerall = Ctrl
triggerall = Pos Y <= -35
triggerall = PrevStateNo != 110
trigger1 = var(55) = 1
trigger1 = EnemyNear, NumProj > 0
trigger1 = EnemyNear, Facing != Facing
trigger1 = P2Dist X > 90
trigger1 = Random < 650
trigger2 = EnemyNear, MoveType = H
trigger2 = P2Dist X = [40, 180]
trigger2 = Random < 850
trigger3 = EnemyNear, MoveType = A
trigger3 = EnemyNear, HitDefAttr != SCA,NA
trigger3 = EnemyNear, AnimTime < 0
trigger3 = P2Dist X > 100
trigger3 = Random < 500
trigger4 = P2Dist X > 200
trigger4 = EnemyNear, MoveType != A
trigger4 = Random < 120
[State -1, AI Air Dash Attack]
type = ChangeState
value = 640
triggerall = var(59) = 1
triggerall = StateNo = 110
triggerall = P2Dist X < 45
trigger1 = EnemyNear, MoveType != A
trigger1 = EnemyNear, Ctrl = 0
trigger1 = Random < 900
trigger2 = EnemyNear, MoveType = H
trigger2 = 1
[State -1, AI Combo: EX Spinning Ball]
type = ChangeState
value = 1000
triggerall = var(59) = 1
triggerall = var(47) <= 0
triggerall = power >= 500
triggerall = stateno = 210 && movehit
trigger1 = 1
[State -1, AI MAX Mode: EX Spinning Ball]
type = ChangeState
value = 1000
triggerall = var(59) = 1
triggerall = var(20) > 0
triggerall = var(47) <= 0
triggerall = stateno = 210 && movehit
trigger1 = 1
[State -1, AI Corner Escape: Jump Over]
type = ChangeState
value = 40
triggerall = var(59) = 1
triggerall = statetype != A && ctrl
triggerall = BackEdgeBodyDist < 30
triggerall = p2dist x < 60
trigger1 = p2statetype = L || p2movetype = H
trigger1 = random < 800
trigger2 = p2movetype != A
trigger2 = random < 400
[State -1, AI Corner Escape: Air Dash Forward]
type = ChangeState
value = 110
triggerall = var(59) = 1
triggerall = stateno = 40 || (statetype = A && ctrl)
triggerall = BackEdgeBodyDist < 50
triggerall = p2dist x < 0
trigger1 = 1
;AI stuff end.
;supersonic
[State -1, supersonic]
type = ChangeState
value = 3200
triggerall = !var(59)
triggerall = command = "rdpsuper"
triggerall = numhelper(7040) = 0
triggerall = power >= 3000
trigger1 = (statetype != A) && ctrl
trigger2 = stateno = 200 && movecontact
trigger3 = stateno = 210 && movecontact
trigger4 = stateno = 230 && movecontact
trigger5 = stateno = 240 && movecontact
trigger6 = stateno = 400 && movecontact
trigger7 = stateno = 411 && movecontact
trigger8 = stateno = 430 && movecontact
trigger9 = stateno = 1400 && movecontact
trigger10 = stateno = 1410 && movecontact
trigger11 = stateno = 1420 && movecontact
trigger12 = stateno = 1450 && movecontact
trigger13 = stateno = 1451 && movecontact
trigger14 = stateno = 1452 && movecontact
trigger15 = (statetype = A) && ctrl
trigger16 = stateno = 1110 && movecontact
trigger17 = stateno = 1100 && movecontact
trigger18 = stateno = 600 && movecontact
trigger19 = stateno = 610 && movecontact
trigger20 = stateno = 630 && movecontact
trigger21 = stateno = 1600 && movecontact
trigger22 = stateno = 1620 && movecontact
trigger23 = stateno = 1621 && movecontact
;--- Blue Tornado (Super Move) ---
[State -1, tornado]
type = ChangeState
value = 3300
triggerall = !var(59)
triggerall = command = "dpsuper"
; Run if the hose itself (3310) is not on the screen:
triggerall = numhelper(3310) = 0
; Input condition for 2 Bar (2000 Power) consumption:
triggerall = power >= 2000
; Situations in which the move can be performed (Combo and Idle):
trigger1 = (statetype != A) && ctrl
trigger2 = stateno = 200 && movecontact
trigger3 = stateno = 210 && movecontact
trigger4 = stateno = 230 && movecontact
trigger5 = stateno = 240 && movecontact
trigger6 = stateno = 400 && movecontact
trigger7 = stateno = 411 && movecontact
trigger8 = stateno = 430 && movecontact
trigger9 = stateno = 1400 && movecontact
trigger10 = stateno = 1410 && movecontact
trigger11 = stateno = 1420 && movecontact
trigger12 = stateno = 1450 && movecontact
trigger13 = stateno = 1451 && movecontact
trigger14 = stateno = 1452 && movecontact
;tails
[State -1, tails]
type = ChangeState
value = 3100
triggerall = !var(59)
triggerall = command = "okay"
triggerall = numhelper(7040) = 0
triggerall = power >= 1000
trigger1 = (statetype != A) && ctrl
trigger2 = stateno = 200 && movecontact
trigger3 = stateno = 210 && movecontact
trigger4 = stateno = 230 && movecontact
trigger5 = stateno = 240 && movecontact
trigger6 = stateno = 400 && movecontact
trigger7 = stateno = 411 && movecontact
trigger8 = stateno = 430 && movecontact
[State -1, spinball]
type = ChangeState
value = 3000
triggerall = !var(59)
triggerall = command = "okay again"
triggerall = power >= 1000
triggerall = numhelper(7050) != 0
trigger1 = (statetype = A) && ctrl
trigger2 = stateno = 200 && movecontact
trigger3 = stateno = 210 && movecontact
trigger4 = stateno = 230 && movecontact
trigger5 = stateno = 240 && movecontact
trigger6 = stateno = 400 && movecontact
trigger7 = stateno = 411 && movecontact
trigger8 = stateno = 430 && movecontact
;shieldsuper3
[State -1, shieldsuper]
type = ChangeState
value = 3520
triggerall = !var(59)
triggerall = command = "qcfsuper"
triggerall = power >= 1000
triggerall = numhelper(7007) != 0
trigger1 = (statetype != A) && ctrl
trigger2 = stateno = 200 && movecontact
trigger3 = stateno = 210 && movecontact
trigger4 = stateno = 230 && movecontact
trigger5 = stateno = 240 && movecontact
trigger6 = stateno = 400 && movecontact
trigger7 = stateno = 411 && movecontact
trigger8 = stateno = 430 && movecontact
trigger9 = stateno = 1400 && movecontact
trigger10 = stateno = 1410 && movecontact
trigger11 = stateno = 1420 && movecontact
trigger12 = stateno = 1450 && movecontact
trigger13 = stateno = 1451 && movecontact
trigger14 = stateno = 1452 && movecontact
;shieldsuper2
[State -1, shieldsuper]
type = ChangeState
value = 3510
triggerall = !var(59)
triggerall = command = "qcfsuper"
triggerall = power >= 1000
triggerall = numhelper(7010) != 0
trigger1 = (statetype != A) && ctrl
trigger2 = (statetype = A) && ctrl
trigger3 = stateno = 200 && movecontact
trigger4 = stateno = 210 && movecontact
trigger5 = stateno = 230 && movecontact
trigger6 = stateno = 240 && movecontact
trigger7 = stateno = 400 && movecontact
trigger8 = stateno = 411 && movecontact
trigger9 = stateno = 430 && movecontact
trigger10 = stateno = 600 && movecontact
trigger11 = stateno = 610 && movecontact
trigger12 = stateno = 630 && movecontact
trigger13 = stateno = 1110 && movecontact
trigger14 = stateno = 1100 && movecontact
trigger15 = stateno = 1400 && movecontact
trigger16 = stateno = 1410 && movecontact
trigger17 = stateno = 1420 && movecontact
trigger18 = stateno = 1450 && movecontact
trigger19 = stateno = 1451 && movecontact
trigger20 = stateno = 1452 && movecontact
trigger21 = stateno = 1600 && movecontact
trigger22 = stateno = 1620 && movecontact
trigger23 = stateno = 1621 && movecontact
;shieldsuper
[State -1, shieldsuper]
type = ChangeState
value = 3500
triggerall = !var(59)
triggerall = command = "qcfsuper"
triggerall = power >= 1000
triggerall = numhelper(7009) != 0
trigger1 = (statetype != A) && ctrl
trigger2 = stateno = 200 && movecontact
trigger3 = stateno = 210 && movecontact
trigger4 = stateno = 230 && movecontact
trigger5 = stateno = 240 && movecontact
trigger6 = stateno = 400 && movecontact
trigger7 = stateno = 411 && movecontact
trigger8 = stateno = 430 && movecontact
trigger9 = stateno = 1400 && movecontact
trigger10 = stateno = 1410 && movecontact
trigger11 = stateno = 1420 && movecontact
trigger12 = stateno = 1450 && movecontact
trigger13 = stateno = 1451 && movecontact
trigger14 = stateno = 1452 && movecontact
;--- Normal Oyuncu ン輅n Speeddash ---
[State -1, speeddash]
type = ChangeState
value = 1300
triggerall = !var(59)
triggerall = command = "qcbk"
triggerall = p2stateno != [13571,13572]
trigger1 = (statetype != A) && ctrl
;[State 0, DefenceMulSet]
;type = DefenceMulSet
;trigger1 =
;value = 1
;ignorehitpause =
;persistent =
;spinball
[State -1, spinball]
type = ChangeState
value = 12553
triggerall = !var(59)
triggerall = command = "qcbsuper"
triggerall = numhelper(7040) = 0
triggerall = power >= 1000
trigger1 = (statetype != A) && ctrl
trigger2 = stateno = 200 && movecontact
trigger3 = stateno = 210 && movecontact
trigger4 = stateno = 230 && movecontact
trigger5 = stateno = 240 && movecontact
trigger6 = stateno = 400 && movecontact
trigger7 = stateno = 411 && movecontact
trigger8 = stateno = 430 && movecontact
trigger9 = stateno = 1400 && movecontact
trigger10 = stateno = 1410 && movecontact
trigger11 = stateno = 1420 && movecontact
trigger12 = stateno = 1450 && movecontact
trigger13 = stateno = 1451 && movecontact
trigger14 = stateno = 1452 && movecontact
;airjump
[State -1, airjump]
type = ChangeState
value = 45
triggerall = !var(59)
triggerall = command = "up"
triggerall = numhelper(7009) != 0
triggerall = pos y <= -40
triggerall = var(24) = 0
trigger1 = (statetype = A) && ctrl
;bounce
[State -1, bounce]
type = ChangeState
value = 1610
triggerall = !var(59)
triggerall = command = "qcfk" || command = "qcfk2"
triggerall = numhelper(7008) != 0
triggerall = pos y <= -60
triggerall = var(41) < 3
trigger1 = (statetype = A) && ctrl
trigger2 = stateno = 1611 && time > 10
trigger3 = stateno = 600 && movecontact
trigger4 = stateno = 610 && movecontact
trigger5 = stateno = 630 && movecontact
;dash
[State -1, dash]
type = ChangeState
value = 1600
triggerall = !var(59)
triggerall = command = "qcfk" || command = "qcfk2"
triggerall = numhelper(7010) != 0
trigger1 = (statetype = A) && ctrl
trigger2 = stateno = 600 && movecontact
trigger3 = stateno = 610 && movecontact
trigger4 = stateno = 630 && movecontact
[State -1, item]
type = ChangeState
value = 1360
triggerall = !var(59)
triggerall = command = "ring throw"
triggerall = var(45) <= 0 ; SADECE SAYAヌ 0 ンSE ヌALI゙IR
triggerall = var(22) = 0
trigger1 = (statetype != A) && ctrl
;airspin4
[State -1, airspin4]
type = ChangeState
value = 1002
triggerall = !var(59)
triggerall = command = "qcfpex"
triggerall = pos y <= -50
trigger1 = (statetype = A) && ctrl
trigger2 = stateno = 600 && movecontact
trigger3 = stateno = 610 && movecontact
trigger4 = stateno = 630 && movecontact
;airspin4
[State -1, airspin4]
type = ChangeState
value = 1003
triggerall = !var(59)
triggerall = command = "qcfp3"
triggerall = pos y <= -50
trigger1 = (statetype = A) && ctrl
trigger2 = stateno = 600 && movecontact
trigger3 = stateno = 610 && movecontact
trigger4 = stateno = 630 && movecontact
;airspin4
[State -1, airspin4]
type = ChangeState
value = 1003
triggerall = !var(59)
triggerall = command = "qcfp"
triggerall = pos y <= -50
trigger1 = (statetype = A) && ctrl
trigger2 = stateno = 600 && movecontact
trigger3 = stateno = 610 && movecontact
trigger4 = stateno = 630 && movecontact
;airspin3
[State -1, airspin3]
type = ChangeState
value = 1003
triggerall = !var(59)
triggerall = command = "qcfp2"
triggerall = pos y <= -50
trigger1 = (statetype = A) && ctrl
trigger2 = stateno = 600 && movecontact
trigger3 = stateno = 610 && movecontact
trigger4 = stateno = 630 && movecontact
;airspin2
[State -1, airspin2]
type = ChangeState
value = 1000
triggerall = !var(59)
triggerall = var(47) <= 0
triggerall = command = "dp3"
trigger1 = (statetype != A) && ctrl
trigger2 = stateno = 200 && movecontact
trigger3 = stateno = 210 && movecontact
trigger4 = stateno = 230 && movecontact
trigger5 = stateno = 240 && movecontact
trigger6 = stateno = 400 && movecontact
trigger7 = stateno = 411 && movecontact
trigger8 = stateno = 430 && movecontact
;airspin1
[State -1, airspin1]
type = ChangeState
value = 1001
triggerall = !var(59)
triggerall = command = "dp"
trigger1 = (statetype != A) && ctrl
trigger2 = stateno = 200 && movecontact
trigger3 = stateno = 210 && movecontact
trigger4 = stateno = 230 && movecontact
trigger5 = stateno = 240 && movecontact
trigger6 = stateno = 400 && movecontact
trigger7 = stateno = 411 && movecontact
trigger8 = stateno = 430 && movecontact
;airspin1
[State -1, airspin1]
type = ChangeState
value = 1001
triggerall = !var(59)
triggerall = command = "dp2"
trigger1 = (statetype != A) && ctrl
trigger2 = stateno = 200 && movecontact
trigger3 = stateno = 210 && movecontact
trigger4 = stateno = 230 && movecontact
trigger5 = stateno = 240 && movecontact
trigger6 = stateno = 400 && movecontact
trigger7 = stateno = 411 && movecontact
trigger8 = stateno = 430 && movecontact
;aaspin2
[State -1, airspin2]
type = ChangeState
value = 1100
triggerall = !var(59)
triggerall = command = "dpk3"
trigger1 = (statetype != A) && ctrl
trigger2 = stateno = 200 && movecontact
trigger3 = stateno = 210 && movecontact
trigger4 = stateno = 230 && movecontact
trigger5 = stateno = 240 && movecontact
trigger6 = stateno = 400 && movecontact
trigger7 = stateno = 411 && movecontact
trigger8 = stateno = 430 && movecontact
;aaspin
[State -1, airspin]
type = ChangeState
value = 1110
triggerall = !var(59)
triggerall = command = "dpk"
trigger1 = (statetype != A) && ctrl
trigger2 = stateno = 200 && movecontact
trigger3 = stateno = 210 && movecontact
trigger4 = stateno = 230 && movecontact
trigger5 = stateno = 240 && movecontact
trigger6 = stateno = 400 && movecontact
trigger7 = stateno = 411 && movecontact
trigger8 = stateno = 430 && movecontact
;aaspin2
[State -1, airspin2]
type = ChangeState
value = 1110
triggerall = !var(59)
triggerall = command = "dpk2"
trigger1 = (statetype != A) && ctrl
trigger2 = stateno = 200 && movecontact
trigger3 = stateno = 210 && movecontact
trigger4 = stateno = 230 && movecontact
trigger5 = stateno = 240 && movecontact
trigger6 = stateno = 400 && movecontact
trigger7 = stateno = 411 && movecontact
trigger8 = stateno = 430 && movecontact
;arch2
[State -1, arch2]
type = ChangeState
value = 1621
triggerall = !var(59)
triggerall = command = "qcfk"
triggerall = numhelper(7009) != 0
trigger1 = (statetype != A) && ctrl
trigger2 = stateno = 200 && movecontact
trigger3 = stateno = 210 && movecontact
trigger4 = stateno = 230 && movecontact
trigger5 = stateno = 240 && movecontact
trigger6 = stateno = 400 && movecontact
trigger7 = stateno = 411 && movecontact
trigger8 = stateno = 430 && movecontact
;arch
[State -1, arch]
type = ChangeState
value = 1620
triggerall = !var(59)
triggerall = command = "qcfk2"
triggerall = numhelper(7009) != 0
trigger1 = (statetype != A) && ctrl
trigger2 = stateno = 200 && movecontact
trigger3 = stateno = 210 && movecontact
trigger4 = stateno = 230 && movecontact
trigger5 = stateno = 240 && movecontact
trigger6 = stateno = 400 && movecontact
trigger7 = stateno = 411 && movecontact
trigger8 = stateno = 430 && movecontact
;spindash2
[State -1, spindash2]
type = ChangeState
value = 1450
triggerall = !var(59)
triggerall = command = "qcfp3"
trigger1 = (statetype != A) && ctrl
trigger2 = stateno = 200 && movecontact
trigger3 = stateno = 210 && movecontact
trigger4 = stateno = 230 && movecontact
trigger5 = stateno = 240 && movecontact
trigger6 = stateno = 400 && movecontact
trigger7 = stateno = 411 && movecontact
trigger8 = stateno = 430 && movecontact
;spindash2
[State -1, spindash2]
type = ChangeState
value = 1450
triggerall = !var(59)
triggerall = command = "qcfp4"
trigger1 = (statetype != A) && ctrl
trigger2 = stateno = 200 && movecontact
trigger3 = stateno = 210 && movecontact
trigger4 = stateno = 230 && movecontact
trigger5 = stateno = 240 && movecontact
trigger6 = stateno = 400 && movecontact
trigger7 = stateno = 411 && movecontact
trigger8 = stateno = 430 && movecontact
;spindash2
[State -1, spindash2]
type = ChangeState
value = 1400
triggerall = !var(59)
triggerall = command = "qcfp2"
trigger1 = (statetype != A) && ctrl
trigger2 = stateno = 200 && movecontact
trigger3 = stateno = 210 && movecontact
trigger4 = stateno = 230 && movecontact
trigger5 = stateno = 240 && movecontact
trigger6 = stateno = 400 && movecontact
trigger7 = stateno = 411 && movecontact
trigger8 = stateno = 430 && movecontact
[State -1, EX KF Palm]
type = ChangeState
value = 4552
triggerall = !var(59)
triggerall = command = "EX KF Palm"
triggerall = RoundState = 2 && StateType != A
triggerall = ifelse(var(20) <= 0, power >= 500, power >= 0)
trigger1 = ctrl || StateNo = 40 || StateNo = 52 || (StateNo = [100,101])
trigger2 = var(5)
;launch
[State -1, upfwd]
Type = changestate
value = 40000
triggerall = !var(59)
triggerall = command = "upfwd" || command = "up"
triggerall = var(59) = 0
trigger1 = (StateNo = 440)
trigger1 = movehit
[State -1, Zero Counter]
type = ChangeState
value = 750
triggerall = !var(59)
trigger1 = StateNo = 150 || StateNo = 152
trigger1 = command = "412p" || command = "412k"
trigger1 = RoundState = 2 && StateType != A
trigger1 = power >= 1000 && !var(20)
[State -1, Roll Forward]
type = ChangeState
value = 710
triggerall = !var(59)
triggerall = command = "a+x"
triggerall = RoundState = 2 && StateType != A
trigger1 = (ctrl || (StateNo = [100,101])) && command = "holdfwd"
[State -1, Roll Back]
type = ChangeState
value = 715
triggerall = !var(59)
triggerall = command = "a+x"
triggerall = RoundState = 2 && StateType != A
trigger1 = (ctrl || (StateNo = [100,101])) && command = "holdback"
[State -1, Dodge]
type = ChangeState
value = 700
triggerall = !var(59)
triggerall = command = "a+x"
triggerall = RoundState = 2 && StateType != A
trigger1 = (ctrl || (StateNo = [100,101]))
;throw
[state -1, throw]
Type = changestate
value = 800
triggerall = !var(59)
trigger1 = (command = "holdfwd" || command = "holdback") && command = "pp"
trigger1 = (statetype != a) && ctrl
[State -1, Power Charge]
type = ChangeState
value = 730
triggerall = !var(59)
trigger1 = command = "hold_b" && command = "hold_y"
trigger1 = RoundState = 2 && StateType != A
trigger1 = power < const(data.power) && power < PowerMax && !var(20)
trigger1 = ctrl || (StateNo = [100,101])
[State -1, MAX Mode]
type = ChangeState
value = 770
triggerall = !var(59)
triggerall = command = "c+z"
triggerall = RoundState = 2 && StateType != A
triggerall = var(20) <= 0 && Power >= 1000
trigger1 = ctrl || (Stateno = [100,101])
;===========================================================================
;---------------------------------------------------------------------------
;===========================================================================
;---------------------------------------------------------------------------
; Air Dash
[State -1, Air Dash]
type = ChangeState
value = 110
triggerall = !var(59)
triggerall = pos y <= -35
triggerall = stateno != 111
triggerall = stateno != 113
trigger1 = command = "FF"
trigger1 = statetype = a
trigger1 = ctrl
; Air Dash B
[State -1, Air Dash B]
type = ChangeState
value = 112
triggerall = !var(59)
triggerall = pos y <= -35
triggerall = stateno != 111
triggerall = stateno != 113
trigger1 = command = "BB"
trigger1 = statetype = a
trigger1 = ctrl
; Run Fwd
[State -1, Run Fwd]
type = ChangeState
value = 100
triggerall = !var(59)
trigger1 = command = "FF"
trigger1 = statetype = S
trigger1 = ctrl
;---------------------------------------------------------------------------
; Run Back
[State -1, Run Back]
type = ChangeState
value = 105
triggerall = !var(59)
trigger1 = command = "BB"
trigger1 = statetype = S
trigger1 = ctrl
;---------------------------------------------------------------------------
;===========================================================================
;---------------------------------------------------------------------------
; Taunt
[State -1, Taunt]
type = ChangeState
value = 195
triggerall = !var(59)
triggerall = command = "s"
trigger1 = statetype != A
trigger1 = ctrl
;---------------------------------------------------------------------------
; Stand Light Punch
[State -1, Stand Light Punch]
type = ChangeState
value = 200
triggerall = !var(59)
triggerall = command = "x"
triggerall = command != "holddown"
trigger1 = statetype != A
trigger1 = ctrl || (stateno=[100,101])
trigger2 = stateno = 200 && time >= 6
;---------------------------------------------------------------------------
;Stand Strong Punch
[State -1, Stand Strong Punch]
type = ChangeState
value = 210
triggerall = !var(59)
triggerall = command = "y"
triggerall = command != "holddown"
trigger1 = statetype != A
trigger1 = ctrl || (stateno=[100,101])
trigger2 = stateno = 200 && movecontact
trigger3 = stateno = 230 && movecontact
trigger4 = stateno = 400 && movecontact
trigger5 = stateno = 430 && movecontact
trigger6 = stateno = 205 && movecontact
trigger7 = stateno = 235 && movecontact
trigger8 = stateno = 245 && movecontact
;---------------------------------------------------------------------------
; Stand Light Kick
[State -1, Stand Light Kick]
type = ChangeState
value = 230
triggerall = !var(59)
triggerall = command = "a"
triggerall = command != "holddown"
trigger1 = statetype != A
trigger1 = ctrl || (stateno=[100,101])
;---------------------------------------------------------------------------
; Standing Strong Kick
[State -1, Standing Strong Kick]
type = ChangeState
value = 240
triggerall = !var(59)
triggerall = command = "b"
triggerall = command != "holddown"
trigger1 = statetype != A
trigger1 = ctrl || (stateno=[100,101])
trigger2 = stateno = 200 && movecontact
trigger3 = stateno = 230 && movecontact
trigger4 = stateno = 400 && movecontact
trigger5 = stateno = 430 && movecontact
trigger6 = stateno = 235 && movecontact
trigger7 = stateno = 205 && movecontact
;---------------------------------------------------------------------------
; Crouching Light Punch
[State -1, Crouching Light Punch]
type = ChangeState
value = 400
triggerall = !var(59)
triggerall = command = "x"
triggerall = command = "holddown"
trigger1 = statetype != A
trigger1 = ctrl || (stateno=[100,101])
trigger2 = stateno = 400 && time >= 6
;---------------------------------------------------------------------------
; Crouching Strong Punch 2
[State -1, Crouching Strong Punch 2]
type = ChangeState
value = 411
triggerall = !var(59)
triggerall = command = "holddown"
triggerall = statetype != A
trigger1 = (stateno=[100,101])
;---------------------------------------------------------------------------
; Crouching Strong Punch
[State -1, Crouching Strong Punch]
type = ChangeState
value = 410
triggerall = !var(59)
triggerall = command = "y"
triggerall = command = "holddown"
trigger1 = statetype != A
trigger1 = ctrl || (stateno=[100,101])
trigger2 = stateno = 200 && movecontact
trigger3 = stateno = 230 && movecontact
trigger4 = stateno = 400 && movecontact
trigger5 = stateno = 430 && movecontact
trigger6 = stateno = 235 && movecontact
trigger7 = stateno = 205 && movecontact
;---------------------------------------------------------------------------
; Crouching Light Kick
[State -1, Crouching Light Kick]
type = ChangeState
value = 430
triggerall = !var(59)
triggerall = command = "a"
triggerall = command = "holddown"
trigger1 = statetype != A
trigger1 = ctrl || (stateno=[100,101])
trigger2 = stateno = 430 && time >= 8
;---------------------------------------------------------------------------
; Crouching Strong Kick
[State -1, Crouching Strong Kick]
type = ChangeState
value = 440
triggerall = !var(59)
triggerall = command = "b"
triggerall = command = "holddown"
trigger1 = statetype != A
trigger1 = ctrl || (stateno=[100,101])
trigger2 = stateno = 200 && movecontact
trigger3 = stateno = 230 && movecontact
trigger4 = stateno = 400 && movecontact
trigger5 = stateno = 430 && movecontact
trigger6 = stateno = 235 && movecontact
trigger7 = stateno = 240 && movecontact
trigger8 = stateno = 210 && movecontact
trigger9 = stateno = 211 && movecontact
trigger10 = stateno = 205 && movecontact
;---------------------------------------------------------------------------
;Jump Strong Punch 2
[State -1, Jump Strong Punch 2]
type = ChangeState
value = 620
triggerall = !var(59)
triggerall = command = "y" && command = "holddown"
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 600 && movecontact
trigger3 = stateno = 630 && movecontact
trigger4 = stateno = 610 && movecontact
;---------------------------------------------------------------------------
; Jump Light Punch
[State -1, Jump Light Punch]
type = ChangeState
value = 600
triggerall = !var(59)
triggerall = command = "x"
trigger1 = statetype = A
trigger1 = ctrl
;---------------------------------------------------------------------------
;Jump Strong Punch
[State -1, Jump Strong Punch]
type = ChangeState
value = 610
triggerall = !var(59)
triggerall = command = "y"
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 600 && movecontact
trigger3 = stateno = 630 && movecontact
;---------------------------------------------------------------------------
; Jump Light Kick
[State -1, Jump Light Kick]
type = ChangeState
value = 630
triggerall = !var(59)
triggerall = command = "a"
trigger1 = statetype = A
trigger1 = ctrl
;---------------------------------------------------------------------------
; Jump Strong Kick
[State -1, Jump Strong Kick]
type = ChangeState
value = 640
triggerall = !var(59)
triggerall = command = "b"
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 600 && movecontact
trigger3 = stateno = 630 && movecontact
trigger4 = stateno = 610 && movecontact
;---------------------------------------------------------------------------