; The CMD file.
;
; Two parts: 1. Command definition and  2. State entry
; (state entry is after the commands def section)
;
; 1. Command definition
; ---------------------

;-| 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 = 15

; Default value for the "buffer.time" parameter of a Command. Minimum 1,
; maximum 30.
command.buffer.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 = "start"
command = s
time = 1

;-| Hold Dir |--------------------------------------------------------------
[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

;-| Hold Button |----------------------------------------------------------

[Command]
name = "holda"
command = /a
time = 1

[Command]
name = "holdb"
command = /b
time = 1

[Command]
name = "holdc"
command = /c
time = 1

[Command]
name = "holdx"
command = /x
time = 1

[Command]
name = "holdy"
command = /y
time = 1

[Command]
name = "holdz"
command = /z
time = 1

[Command]
name = "holdstart"
command = /s
time = 1


;--- None of your own command definitions should be above this line. ---
;***************************************************************************
; CMD
;***************************************************************************

;-| CPU |--------------------------------------------------------------

[Command]
name = "cpu0"
command = B+D+F+U,~U,~32222U,a+b+c+x+y+z+s
time = -2

[Command]
name = "cpu1"
command = B+D+F+U,~U,~32222U,a+b+c+x+y+z+s
time = -2

[Command]
name = "cpu2"
command = B+D+F+U,~U,~32222U,a+b+c+x+y+z+s
time = -2

[Command]
name = "cpu3"
command = B+D+F+U,~U,~32222U,a+b+c+x+y+z+s
time = -2

[Command]
name = "cpu4"
command = B+D+F+U,~U,~32222U,a+b+c+x+y+z+s
time = -2

[Command]
name = "cpu5"
command = B+D+F+U,~U,~32222U,a+b+c+x+y+z+s
time = -2

[Command]
name = "cpu6"
command = B+D+F+U,~U,~32222U,a+b+c+x+y+z+s
time = -2

[Command]
name = "cpu7"
command = B+D+F+U,~U,~32222U,a+b+c+x+y+z+s
time = -2

[Command]
name = "cpu8"
command = B+D+F+U,~U,~32222U,a+b+c+x+y+z+s
time = -2

[Command]
name = "cpu9"
command = B+D+F+U,~U,~32222U,a+b+c+x+y+z+s
time = -2

; Add more as desired.  The greater the number of uniquely-named CPU-only
; commands you use, the faster the AI will tend to activate.  Mugen allows up
; to 128 total unique command names.
; Note that the command input strings do not need to be unique, but the command
; names do.  Having 32 commands named "cpu" won't make the computer any more
; likely to choose one of them than having a single "cpu" command would.




;-| Super Motions |--------------------------------------------------------

[Command]
name = "BBK"
command = ~D, DF, F, x+y+z

[Command]
name = "UFMS"
command = ~D, DF, F, a+b+c

[Command]
name = "SSP"
command = ~D, DF, F, a+b

[Command]
name = "warpk"
command = ~D, DF, F, x+y

[Command]
name = "warpm"
command = ~D, DB, B, a+b

;-| Special Motions |------------------------------------------------------

[Command]
name = "QCF_a"
command = ~D, DF, F, a

[Command]
name = "upper_x"
command = ~F, D, DF, x

[Command]
name = "upper_y"
command = ~F, D, DF, y

[Command]
name = "upper_xy"
command = ~F, D, DF, x+y

[Command]
name = "QCF_x"
command = ~D, DF, F, x

[Command]
name = "QCF_y"
command = ~D, DF, F, y

[Command]
name = "QCF_xy"
command = ~D, DF, F, x+y

[Command]
name = "QCB_x"
command = ~D, DB, B, x

[Command]
name = "QCB_y"
command = ~D, DB, B, y

[Command]
name = "QCB_xy"
command = ~D, DB, B, x+y

[Command]
name = "ab"
command = x+y

[Command]
name = "DU"  
command = $D, $U
time = 10


;-| 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

[Command]
name = "DD"     ;Required (do not remove)
command = D, D
time = 10

[Command]
name = "UU"     ;Required (do not remove)
command = U, U
time = 10


;-| 2/3 Button Combination |-----------------------------------------------
[Command]
name = "recovery";Required (do not remove)
command = x+y
time = 1

;-| Dir + Button |---------------------------------------------------------
[Command]
name = "down_a"
command = /$D,a
time = 1

[Command]
name = "down_b"
command = /$D,b
time = 1

;---------------------------------------------------------------------------
; 2. State entry
; --------------
; This is where you define what commands bring you to what states.
;
; Don't remove the following line. It's required by the CMD standard.
[Statedef -1]

; The main purpose of having these next two controllers here at the top of
; StateDef -1 is to make sure the AI helper never changes to a different state,
; nor encounters any VarSets within State -1.
; But they also improve efficiency by preventing Mugen from wasting time
; processing the entire State -1 for the helper.
[State -1, AI Helper Check]
type = ChangeState
trigger1 = IsHelper(9741)
value = 9741

[State -1, AI Helper Check 2]
type = ChangeState
trigger1 = IsHelper(9742)
value = 9742

; This is generally the best place to put most of your AI directives.  For
; example, this controller would only be executed when the CPU is in control:
;
; [State -1, Haha!]
; type = ChangeState
; trigger1 = var(0) ; (Or use "var(58)>0" if you've chosen not to
;                   ; use the Simplifier variable/controller.)
; trigger1 = ctrl
; trigger1 = StateType = S
; trigger1 = MoveType = I
; trigger1 = P2MoveType = H
; trigger1 = NumEnemy = 1
; trigger1 = Enemy,GetHitVar(HitTime) > 60
; trigger1 = PrevStateNo != 195
; trigger1 = Random < 99
; value = 195

; And of course, most human-only command-based ChangeStates also belong
; in State -1.  For example, this move would only be performable by a human:
;
; [State -1, Death Before Dishonor]
; type = ChangeState
; trigger1 = command = "suicide"
; trigger1 = !var(0) ; (Or use "var(58)<1" if you've chosen not to
;                    ; use the Simplifier variable/controller.)
; trigger1 = ctrl
; trigger1 = StateType != A
; trigger1 = MoveType = I
; value = {suicide state number}



;===========================================================================
;---------------------------------------------------------------------------
;BBK
[State -1, BBK]
type = ChangeState
value = 3403
triggerall = !var(0)
triggerall = var(9) != 1
triggerall = stateno != [11000,12000]
triggerall = command = "BBK"
triggerall = power >= 3000
triggerall = statetype != A
trigger1 = ctrl
trigger2 = hitdefattr = SC, NA, SA, HA
trigger2 = stateno != 3403
trigger2 = movecontact
trigger3 = stateno = 2000
trigger4 = stateno = 3011
trigger4 = statetime >= 30


;---------------------------------------------------------------------------
;UMFS
[State -1, UFMS]
type = ChangeState
value = 11000
triggerall = !var(0)
triggerall = stateno != [11000,12000]
triggerall = var(9) != 1
triggerall = command = "UFMS"
triggerall = power >= 2000
trigger1 = ctrl
trigger2 = hitdefattr = SC, NA, SA, HA
trigger2 = stateno != [11000,11000]
trigger2 = movecontact
trigger3 = stateno = 2000
trigger4 = stateno = 255
trigger4 = movecontact
trigger5 = stateno = 275
trigger5 = movecontact
;---------------------------------------------------------------------------
;SSP
[State -1, SSP]
type = ChangeState
value = 3015
triggerall = !var(0)
triggerall = var(9) != 1
triggerall = pos y = 0
triggerall = stateno != [11000,12000]
triggerall = command = "SSP"
triggerall = power >= 2000
triggerall = statetype != A
trigger1 = ctrl
trigger2 = hitdefattr = SC, NA, SA, HA
trigger2 = stateno != [3015,3028]
trigger2 = movecontact
trigger3 = stateno = 2000


;---------------------------------------------------------------------------
;Warp Rush
[State -1, Warp Rush]
type = ChangeState
value = 3010
triggerall = !var(0)
triggerall = var(9) != 1
triggerall = stateno != [11000,12000]
triggerall = command = "warpm"
triggerall = power >= 2000
trigger1 = ctrl
trigger2 = hitdefattr = SC, NA, SA, HA
trigger2 = stateno != [3010,3015]
trigger2 = movecontact
trigger3 = stateno = 2000
trigger4 = stateno = 255
trigger4 = movecontact

;---------------------------------------------------------------------------
;Warp K
[State -1, Warp Kamehameha]
type = ChangeState
value = 3000
triggerall = !var(0)
triggerall = command = "warpk"
triggerall = power >= 1000
triggerall = var(9) != 1
triggerall = stateno != [11000,12000]
trigger1 = ctrl && statetype != A
trigger2 = hitdefattr = SC, NA, SA, HA
trigger2 = stateno != [3000,3001]
trigger2 = movecontact
trigger3 = stateno = 2000
trigger4 = statetype = A
trigger4 = ctrl
trigger5 = stateno = 600 || stateno = 630 || stateno = 640 || stateno = 610
trigger5 = movecontact
trigger6 = stateno = 255
trigger6 = movecontact


;===========================================================================
;This is not a move, but it sets up var(1) to be 1 if conditions are right
;for a combo into a special move (used below).
;Since a lot of special moves rely on the same conditions, this reduces
;redundant logic.
[State -1, Combo condition Reset]
type = VarSet
trigger1 = 1
var(1) = 0

[State -1, Combo condition Check]
type = VarSet
trigger1 = statetype != A
trigger1 = ctrl
trigger2 = (stateno = [200,299]) || (stateno = [400,499])
trigger2 = stateno != 440 && stateno != 255
trigger2 = movecontact
var(1) = 1

;---------------------------------------------------------------
[State -1, Drill Attack]
type = ChangeState
value = 255
triggerall = !var(0)
triggerall = command = "QCF_a"
trigger1 = var(1) ;Use combo condition (above)
trigger2 = statetype = S || statetype = A
trigger2 = ctrl
trigger3 = stateno = 2000
trigger4 = stateno = 1070 || stateno = 1075 || stateno = 1050 || stateno = 1055 
trigger4 = time > 10

;---------------------------------------------------------------
[State -1, Spinball]
type = ChangeState
value = 275
triggerall = !var(0)
triggerall = command = "QCB_x"
trigger1 = var(1) ;Use combo condition (above)
trigger2 = statetype = S || statetype = A
trigger2 = ctrl
trigger3 = stateno = 2000
trigger4 = stateno = 1070 || stateno = 1075 || stateno = 1050 || stateno = 1055 
trigger4 = time > 10
trigger5 = stateno = 255
trigger5 = movecontact

;---------------------------------------------------------------------------
[State -1, Invisible Breath]
type = ChangeState
value = 1090
triggerall = !var(0)
triggerall = command = "QCB_y"
triggerall = power >= 50
trigger1 = var(1) ;Use combo condition (above)
trigger2 = statetype = S
trigger2 = ctrl
trigger3 = stateno = 2000
trigger4 = stateno = 1070 || stateno = 1075 || stateno = 1050 || stateno = 1055 
trigger4 = time > 10

;---------------------------------------------------------------------------
[State -1, Spark Blast]
type = ChangeState
value = 1070
triggerall = !var(0)
triggerall = command = "QCF_y"
triggerall = power >= 300
trigger1 = var(1) ;Use combo condition (above)
trigger2 = statetype = S
trigger2 = ctrl
trigger3 = stateno = 2000
trigger4 = stateno = 1070 || stateno = 1075 || stateno = 1050 || stateno = 1055 
trigger4 = time > 10

;---------------------------------------------------------------------------
[State -1, 3 Kamehamehas]
type = ChangeState
value = 1050
triggerall = !var(0)
triggerall = command = "QCF_x"
triggerall = power >= 300
trigger1 = var(1) ;Use combo condition (above)
trigger2 = statetype = S
trigger2 = ctrl
trigger3 = stateno = 2000
trigger4 = stateno = 1050
trigger4 = time > 14


;========================================================================

[State -1]
type = ChangeState
value = 3005
triggerall = !var(0)
triggerall = command = "ab" && alive = 1
trigger1 = ctrl
trigger1 = stateno >= 150        
trigger2 = Stateno <= 153
trigger3 = stateno = 5000       
trigger4 = stateno = 5001
trigger5 = stateno = 5002
trigger6 = stateno = 5010
trigger7 = stateno = 5011
trigger8 = stateno = 5012
trigger9 = stateno = 5020
trigger10 = stateno = 5021
trigger11 = stateno = 5022
trigger12 = stateno = 5110
trigger13 = stateno = 5120
trigger14 = stateno = 5110
trigger15 = stateno = 5035
trigger16 = stateno = 5030
trigger17 = stateno = 5050
trigger18 = stateno = 5040
trigger19 = stateno = 5071

;Warp 
[State -1]
type = ChangeState
value = 3005
triggerall = !var(0)
triggerall = command = "ab"
triggerall = statetype = S
trigger1 = ctrl = 1
trigger2 = stateno = 2000

;---------------------------------------------------------------------------
;Fireball
;Jt[˂ij
[State -1, Fireball]
type = ChangeState
value = 1000
triggerall = !var(0)
triggerall = command = "c"
trigger1 = var(1) ;Use combo condition (above)
trigger2 = statetype = S
trigger2 = ctrl
trigger3 = stateno = 2000
trigger4 = stateno = 1000
trigger4 = time > 13

;---------------------------------------------------------------------------
;Strong Kung Fu Blow
;[State -1, Strong Kung Fu Blow]
;type = null;ChangeState
;value = 1210
;triggerall = !var(0)
;triggerall = command = "QCB_y"
;trigger1 = var(1) ;Use combo condition (above)

;===========================================================================
;---------------------------------------------------------------------------
;Run Fwd
;_bV
[State -1, Run Fwd]
type = ChangeState
value = 100
triggerall = !var(0)
trigger1 = command = "FF"
trigger1 = statetype = S
trigger1 = ctrl

;---------------------------------------------------------------------------
;Run Back
;ރ_bV
[State -1, Run Back]
type = ChangeState
value = 105
triggerall = !var(0)
trigger1 = command = "BB"
trigger1 = statetype = S
trigger1 = ctrl

;===========================================================================
;Super Jump
[State -1, Super Jump]
type =  ChangeState
value = 7000
triggerall = !var(0)
triggerall = command = "DU"
triggerall = statetype != A
trigger1 = ctrl

;---------------------------------------------------------------------------
;Kung Fu Throw
;
[State -1, Kung Fu Throw]
type = ChangeState
value = 800
triggerall = !var(0)
triggerall = command = "y"
triggerall = statetype = S
triggerall = ctrl
triggerall = stateno != 100
trigger1 = command = "holdfwd"
trigger1 = p2bodydist X < 10
trigger1 = (p2statetype = S) || (p2statetype = C)
trigger1 = p2movetype != H
trigger2 = command = "holdback"
trigger2 = p2bodydist X < 10
trigger2 = (p2statetype = S) || (p2statetype = C)
trigger2 = p2movetype != H


;---------------------------------------------------------------------------
;Launcher
;LbN
[State -1, Launcher]
type = ChangeState
value = 250
triggerall = !var(0)
triggerall = command = "b" && command = "y"
triggerall = command != "holddown"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = var(1) ;Use combo condition (above)
trigger3 = stateno = 2000

;===========================================================================
;---------------------------------------------------------------------------
;Stand Light Punch
;p`
[State -1, Stand Light Punch]
type = ChangeState
value = 200
triggerall = !var(0)
triggerall = command = "x"
triggerall = command != "holddown"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = stateno = 200
trigger2 = time > 3
trigger3 = stateno = 2000
trigger4 = var(1) ;Use combo condition (above)

;---------------------------------------------------------------------------
;Stand Strong Punch
;p`
[State -1, Stand Strong Punch]
type = ChangeState
value = 210
triggerall = !var(0)
triggerall = command = "y"
triggerall = command != "holddown"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = var(1) ;Use combo condition (above)
trigger3 = stateno = 2000

;---------------------------------------------------------------------------
;Stand Light Kick
;LbN
[State -1, Stand Light Kick]
type = ChangeState
value = 230
triggerall = !var(0)
triggerall = command = "a"
triggerall = command != "holddown"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = var(1) ;Use combo condition (above)
trigger3 = stateno = 2000
trigger4 = stateno = 230
trigger4 = time > 3
;---------------------------------------------------------------------------
;Standing Strong Kick
;LbN
[State -1, Standing Strong Kick]
type = ChangeState
value = 240
triggerall = !var(0)
triggerall = command = "b"
triggerall = command != "holddown"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = var(1) ;Use combo condition (above)
trigger3 = stateno = 2000

;-------------------------------------------
[State -1, Charge]
type = ChangeState
value = 730
triggerall = !var(0) ;This is for if you have an AI variable
triggerall = Power < 3000
triggerall = command = "holdz" ;Choose whatever commands you have available
trigger1 = ctrl = 1
trigger1 = statetype = S
trigger2 = stateno = 2000 ;This is for a flying state if you have one

;---------------------------------------------------------------------------
;Fly Up Air Command
[State -1]
type = ChangeState
value = 2000
triggerall = var(58) != 1
triggerall = command = "start"
trigger1 = statetype = A
trigger1 = ctrl = 1

;Fly up
[State -1]
type = ChangeState
value = 1999
triggerall = var(58) != 1
trigger1 = command = "start"
trigger1 = statetype != A
trigger1 = ctrl = 1

;Taunt
;
[State -1, Taunt]
type =null; ChangeState
value = 195
triggerall = !var(0)
triggerall = command = "start"
trigger1 = statetype != A
trigger1 = ctrl

;---------------------------------------------------------------------------
;Crouching Light Punch
;Ⴊݎp`
[State -1, Crouching Light Punch]
type = ChangeState
value = 400
triggerall = !var(0)
triggerall = command = "x"
triggerall = command = "holddown"
trigger1 = statetype = C
trigger1 = ctrl

;---------------------------------------------------------------------------
;Crouching Strong Punch
;Ⴊ݋p`
[State -1, Crouching Strong Punch]
type = ChangeState
value = 410
triggerall = !var(0)
triggerall = command = "y"
triggerall = command = "holddown"
trigger1 = statetype = C
trigger1 = ctrl
trigger2 = var(1) ;Use combo condition (above)

;---------------------------------------------------------------------------
;Crouching Light Kick
;ႪݎLbN
[State -1, Crouching Light Kick]
type = ChangeState
value = 430
triggerall = !var(0)
triggerall = command = "a"
triggerall = command = "holddown"
trigger1 = statetype = C
trigger1 = ctrl
trigger2 = var(1) ;Use combo condition (above)

;---------------------------------------------------------------------------
;Crouching Strong Kick
;Ⴊ݋LbN
[State -1, Crouching Strong Kick]
type = ChangeState
value = 440
triggerall = !var(0)
triggerall = command = "b"
triggerall = command = "holddown"
trigger1 = statetype = C
trigger1 = ctrl
trigger2 = var(1) ;Use combo condition (above)

;---------------------------------------------------------------------------
;Jump Light Punch
;󒆎p`
[State -1, Jump Light Punch]
type = ChangeState
value = 600
triggerall = !var(0)
triggerall = command = "x"
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 600
trigger2 = statetime >= 2
trigger3 = stateno = 1350 ;Air blocking
trigger4 = stateno = 600 || stateno = 630 ;jump_x or jump_a
trigger4 = movecontact

;---------------------------------------------------------------------------
;Jump Strong Punch
[State -1, Jump Strong Punch]
type = ChangeState
value = 610
triggerall = !var(0)
triggerall = command = "y"
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 600 || stateno = 630 || stateno = 640;jump_x or jump_a
trigger2 = movecontact
trigger3 = stateno = 1350 ;Air blocking

;---------------------------------------------------------------------------
;Jump Light Kick
[State -1, Jump Light Kick]
type = ChangeState
value = 630
triggerall = !var(0)
triggerall = command = "a"
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 1350 ;Air blocking
trigger3 = stateno = 600
trigger3 = statetime >= 2
trigger4 = stateno = 630
trigger4 = statetime >= 2
trigger5 = stateno = 600 || stateno = 630 ;jump_x or jump_a
trigger5 = movecontact
;---------------------------------------------------------------------------
;Jump Strong Kick
;󒆋LbN
[State -1, Jump Strong Kick]
type = ChangeState
value = 640
triggerall = !var(0)
triggerall = command = "b"
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 600 || stateno = 630 ;jump_x or jump_a
trigger2 = movecontact
trigger3 = stateno = 1350 ;Air blocking





;---------------------------------------------------------------------------
;CPU Commands
;===========================================================================




[State -1,warp counter]
type = ChangeState
value = 3005
triggerall = stateno != 3403
triggerall = var(0) = 1
triggerall = alive = 1
trigger1 = stateno = 5000       
trigger2 = stateno = 5001
trigger3 = stateno = 5002
trigger4 = stateno = 5010
trigger5 = stateno = 5011
trigger6 = stateno = 5012
trigger7 = stateno = 5020
trigger8 = stateno = 5021
trigger9 = stateno = 5022
trigger10 = stateno = 5110
trigger11 = stateno = 5120
trigger12 = stateno = 5110
trigger13 = stateno = 5035
trigger14 = stateno = 5030
trigger15 = stateno = 5050
trigger16 = stateno = 5040
trigger17 = stateno = 5071


[State -1, AI BBK]
type = ChangeState
value = 3403
triggerall = var(0)
triggerall = var(9) != 1
triggerall = stateno != [11000,12000]
triggerall = power >= 3000
triggerall = statetype != A
trigger1 = ctrl
trigger1 = p2bodydist x >= 40
trigger1 = p2bodydist y = [-80,80]
trigger1 = random < 300
trigger2 = hitdefattr = SC, NA, SA
trigger2 = stateno != 3403
trigger2 = movecontact && random < 10
trigger3 = stateno = 2000
trigger3 = p2bodydist x >= 30
trigger3 = p2bodydist y = [-70,70]
trigger3 = random < 300
trigger4 = stateno = 3011
trigger4 = statetime >= 30
trigger4 = movehit != 1
trigger5 = ctrl || stateno = 2000
trigger5 = p2bodydist x >= 30
trigger5 = p2bodydist y = [-90,90]
trigger5 = p2movetype = A 






[State -1, AI Stand Light Punch]
type = ChangeState
value = 200
triggerall = var(0) = 1
trigger1 = p2bodydist x = [0,50]
trigger1 = p2bodydist y = [-5,5]
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = p2bodydist x = [0,50]
trigger2 = p2bodydist y = [-5,5]
trigger2 = stateno = 2000
trigger3 = stateno = 240
trigger3 = movecontact ;hitcount <= 4
trigger3 = random < 800

[State -1, UFMS]
type = ChangeState
value = 11000
triggerall = var(0)
triggerall = stateno != [11000,12000]
triggerall = stateno != 3403
triggerall = var(9) != 1
triggerall = power >= 2000
trigger1 = hitdefattr = SC, NA, SA
trigger1 = stateno != [11000,11000]
trigger1 = movecontact && random < 300
trigger2 = stateno = 255
trigger2 = hitcount > 3 && random < 500
trigger3 = stateno = 275
trigger3 = hitcount > 3 && random < 500


[State -1, AI SSP]
type = ChangeState
value = 3015
triggerall = var(0)
triggerall = var(9) != 1
triggerall = stateno != 3403
triggerall = pos y = 0 
triggerall = p2bodydist y = 0
triggerall = p2bodydist x = [0,200]
triggerall = stateno != [11000,12000]
triggerall = power >= 2000
triggerall = statetype != A && stateno != 3011
trigger1 = ctrl && random < 300
trigger2 = hitdefattr = SC, NA, SA
trigger2 = stateno != [3015,3028]
trigger2 = movecontact && random < 200
trigger3 = p2movetype = A
trigger3 = ctrl && random < 350



[State -1,AI Dash kick]
type = ChangeState
value = 255
triggerall = var(0) = 1
trigger1 = stateno = 275
trigger1 = movecontact
trigger1 = random < 500 
trigger2 = p2movetype = A && statetype = S && ctrl
trigger2 = p2bodydist x = [40,69]
trigger2 = p2bodydist y = [-5,5]
trigger3 = p2movetype = A
trigger3 = random < 999 
trigger3 = p2bodydist x = [30,82]
trigger3 = p2bodydist y = [-5,5]
trigger3 = statetype = S
trigger3 = ctrl



[State -1, AI Run Fwd]
type = ChangeState
value = 100
triggerall = var(0) = 1
triggerall = stateno != 3403
triggerall = stateno != 100 && prevstateno != 100
trigger1 = statetype = S && ctrl
trigger1 = p2bodydist x < 70
trigger1 = p2bodydist y = [-5,5]
trigger2 = statetype = S && ctrl
trigger2 = P2Movetype = I
trigger2 = P2Movetype != A
trigger2 = p2bodydist x > 10


[State -1, AI Warp Rush]
type = ChangeState
value = 3010
triggerall = var(0)
triggerall = stateno != 3403
triggerall = var(9) != 1
triggerall = stateno != [11000,12000]
triggerall = power >= 2000
trigger1 = ctrl && random < 20
trigger2 = stateno = 2000 && random < 20
trigger2 = p2bodydist y = [-500,500]


[State -1, AI Run Fwd Stop]
type = ChangeState
triggerall = var(0) = 1
triggerall = stateno = 100
;trigger1 = p2bodydist x = [10,50]
trigger1 = P2movetype = A
value = 0
ctrl = 1


[State -1, AI R Knee]
type = ChangeState
value = 275
triggerall = var(0) = 1
trigger1 = statetype = S
trigger1 = ctrl
trigger1 = p2bodydist x = [9,10]
trigger1 = p2bodydist y <= -8



[State -1, AI Fireball]
type = changestate
value = 1050
triggerall = var(0) = 1 && movetype != A
triggerall = stateno != 3403
triggerall = p2movetype != A
triggerall = power = [500, 999]
trigger1 = p2bodydist x = [80, 300] 
trigger1 = random < 800
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = stateno = 2000 && p2bodydist x = [80, 300] 
trigger2 = random < 800

[State -1, AI Fireball]
type = changestate
value = 1000
triggerall = var(0) = 1 && movetype != A
triggerall = stateno != 3403
triggerall = var(32) != 1
triggerall = p2movetype != A
triggerall = power = [500, 999] 
trigger1 = p2bodydist x = [80, 300] 
trigger1 = random < 800
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = stateno = 2000 && p2bodydist x = [80, 300] 
trigger2 = random < 800

[State -1, AI Fireball]
type = changestate
value = 1000
triggerall = var(0) = 1 && movetype != A
triggerall = stateno != 3403
triggerall = var(32) != 1
triggerall = p2movetype != A
triggerall = power = [50, 499] 
trigger1 = statetype = S
trigger1 = ctrl
trigger1 = p2bodydist x = [80, 300] 
trigger1 = random < 700
trigger2 = stateno = 2000 && p2bodydist x = [80, 300] 
trigger2 = random < 700


[State -1, AI Warp Kamehameha]
type = ChangeState
value = 3000
triggerall = var(0)
triggerall = power = [1000,2000]
triggerall = stateno != 3403
triggerall = var(9) != 1
triggerall = stateno != [11000,12000]
trigger1 = ctrl && statetype = S && random < 80
trigger1 = p2bodydist y = [-200,50]
trigger1 = p2bodydist x = [-10,100]
trigger2 = statetype = A
trigger2 = ctrl && random < 80
trigger2 = p2bodydist y = [-50,50]
trigger2 = p2bodydist x = [-10,100]
trigger3 = stateno = 600 || stateno = 630 || stateno = 640 || stateno = 610
trigger3 = movecontact && random < 80
trigger4 = stateno = 255
trigger4 = movecontact && random < 80


[State -1, AI Crouch Light Punch]
type = ChangeState
value = 400
triggerall = var(0) = 1
triggerall = P2MoveType != A
trigger1 = p2bodydist x = [10,40]
trigger1 = p2bodydist y = [-5,5]
trigger1 = statetype = S
trigger1 = ctrl
trigger1 = random < 999 
trigger2 = p2bodydist x = [10,40]
trigger2 = p2bodydist y = [-5,5]
trigger2 = statetype = C
trigger2 = ctrl
trigger2 = random < 999 
trigger3 = stateno = 200 
trigger3 = moveguarded
trigger3 = pos y = 0
trigger3 = random < 999 
trigger4 = stateno = 440
trigger4 = hitcount <= 6
trigger4 = random < 999 

[State -1,AI Crouch Weak Kick]
type = ChangeState
value = 430
triggerall = var(0) = 1
trigger1 = stateno = 400 
trigger1 = movehit
trigger1 = random < 999 
trigger2 = p2bodydist x = [10,40]
trigger2 = p2bodydist y = [-5,5]
trigger2 = random <= 700 && statetype = S && ctrl
trigger2 = p2stateno = 5120

[State -1,AI Crouch Strong Punch]
type = ChangeState
value = 410
triggerall = var(0) = 1
trigger1 = stateno = 430
trigger1 = movecontact
trigger1 = random < 999 

[State -1,AI Crouch Strong Kick]
type = ChangeState
value = 440
triggerall = var(0) = 1
trigger1 = stateno = 410
trigger1 = moveguarded
trigger1 = random < 999 

[State -1,AI Stand Strong Punch]
type = ChangeState
value = 210
triggerall = var(0) = 1
trigger1 = stateno = 200 
trigger1 = movehit

[State -1,AI Stand Light Kick]
type = ChangeState
value = 230
triggerall = var(0) = 1
trigger1 = stateno = 210 
trigger1 = movehit

[State -1, AI Standing Strong Kick]
type = ChangeState
value = 240
triggerall = var(0) = 1
trigger1 = stateno = 230
trigger1 = movecontact

[State -1,warp]
type = ChangeState
value = 3005
triggerall = var(0) = 1
triggerall = stateno != 3403
triggerall = statetype = S
triggerall = MoveType != H 
triggerall = Life != 0 && P2Life != 0  && ctrl
triggerall = stateno != 3005 && prevstateno != 3007
trigger1 = p2bodydist x > 80
trigger1 = movetype !=A 
trigger1 = random < 800 && p2movetype = A && ctrl = 1 


[State -1,AI Hypermove]
type = ChangeState
value = 1090
triggerall = var(0) = 1
triggerall = stateno != 3403
triggerall = power >= 50
triggerall = p2movetype != A
trigger1 = p2bodydist x = [60,69]
trigger1 = p2bodydist y = [-5,5]
trigger1 = statetype = S
trigger1 = ctrl && random < 100
trigger2 = p2bodydist x = [60,69]
trigger2 = p2bodydist y = [-5,5]
trigger2 = stateno = 2000 && random < 200

[State -1,AI Hypermove 2]
type = ChangeState
value = 1090
triggerall = var(0) = 1
triggerall = stateno != 3403
triggerall = power >= 50
triggerall = p2movetype != A
trigger1 = random < 100
trigger1 = p2bodydist x = [70,82]
trigger1 = p2bodydist y = [-5,5]
trigger1 = statetype = S
trigger1 = ctrl

[State -1, AI Handattack]
type = ChangeState
value = 250
triggerall = var(0) = 1
trigger1 = stateno = 240 
trigger1 = hitcount >= 7
trigger1 = random < 500

[State -1, AI Kung Fu Throw]
type = ChangeState
value = 800
triggerall = var(0) = 1 
triggerall = statetype = S
triggerall = ctrl
triggerall = p2bodydist y = [-4,4]
triggerall = stateno != 100
trigger1 = p2bodydist X < 8
trigger1 = (p2statetype = S) || (p2statetype = C)
trigger1 = p2movetype != H
trigger2 = p2bodydist X < 10
trigger2 = (p2statetype = S) || (p2statetype = C)
trigger2 = p2movetype != H
trigger3 = stateno = 210 || stateno = 230 || stateno = 240 
trigger3 = moveguarded
trigger3 = p2bodydist x = [5,69]
trigger4 = stateno = 740
trigger4 = p2movetype = A
trigger4 = p2bodydist X < 5


[State -1,AI charge]
type = ChangeState
value = 730
triggerall = var(0) = 1 && Life != 0 && P2Life != 0 && power < 3000 && StateNo != 105 
triggerall = stateno != 730 && stateno != 735 && stateno != 3005 && stateno != 3007
triggerall = p2movetype != A && statetype = S && movetype != A && movetype != H
trigger1 = p2stateno = 5150 && random < 999 && p2bodydist x > 60 && ctrl
trigger2 = p2movetype = H && movetype != A && p2bodydist x > 60 
trigger2 = ctrl || stateno = 2000

[State -1,AI.Sair.do.Charge]
type = ChangeState
triggerall = var(0) = 1 
triggerall = stateno = 735 || stateno = 730 
trigger1 = p2movetype != H 
trigger2 = p2movetype = A
trigger3 = power >= 3000 
value = 0
ctrl = 1

[State -1, AI Jump Light Punch]
type = ChangeState
value = 600
triggerall = p2life != 0 && var(0) = 1 && stateno != 2001
trigger1 = p2bodydist x = [0,30]
trigger1 = P2BodyDist Y = [-30, 30]
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 250
trigger2 = hitcount > 4
trigger3 = stateno = 255
trigger3 = movecontact
trigger4 = stateno = 1040 
trigger4 = movehit && animtime = 0
trigger4 = p2bodydist x = [0,30]
trigger4 = p2bodydist y = [-5,5]
trigger4 = pos y < 0

[State -1, AI Jump Light Punch]
type = ChangeState
value = 600
triggerall = p2life != 0 && var(0) = 1 && stateno != 2001
trigger1 = p2bodydist x = [0,30]
trigger1 = P2BodyDist Y = [-10, 10]
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 250
trigger2 = hitcount > 4
trigger3 = stateno = 255
trigger3 = movecontact
trigger4 = stateno = 1040 
trigger4 = movehit && animtime = 0
trigger4 = p2bodydist x = [0,30]
trigger4 = p2bodydist y = [-5,5]
trigger4 = pos y < 0

[State -1, AI Jump Strong Punch]
type = ChangeState
value = 610
triggerall = p2life != 0 && var(0) = 1 && stateno != 2001
trigger1 = stateno = 600
trigger1 = movecontact
trigger1 = random < 999

[State -1, AI Jump light likck]
type = ChangeState
value = 630
triggerall = p2life != 0 && var(0) = 1 
trigger1 = stateno = 610
trigger1 = movecontact
trigger1 = random < 999

[State -1, AI Jump strong likck]
type = ChangeState
value = 640
triggerall = p2life != 0 && var(0) = 1 
trigger1 = stateno = 630
trigger1 = movecontact
trigger1 = random < 999 

[State -1, Jump]
type = ChangeState
value = 40
triggerall = p2life != 0 && var(0) = 1 && stateno != 641
triggerall = P2MoveType != A
trigger1 = statetype = S
trigger1 = ctrl = 1  
trigger1 = p2bodydist x = [20, 40]
trigger1=  p2bodydist y = 0

[State -1, Fly]
type = ChangeState
triggerall = var(0) = 1
triggerall = P2Life > 0
triggerall = MoveType != H
triggerall = MoveType != A 
triggerall = P2MoveType != A
triggerall = random < 999
triggerall = StateNo != [3000, 4100]
triggerall = Pos Y >= 0
trigger1 = P2Name = "Goku-n-hd by EmuBoarding"
trigger1 = P2StateNo = 1500
trigger2 = P2Name = "Mystic Gohan by Zero_X"
trigger2 = P2StateNo = 2000
trigger3 = P2Name = "Freeza by OverMind"
trigger3 = P2StateNo = 3001
trigger4 = P2Name = "Kurilin by EmuBoarding"
trigger4 = P2StateNo = 1500
trigger5 = P2Name = "Trunks por ssonic"
trigger5 = P2StateNo = 1900
trigger6 = P2Name = "Vegeta Super Sayjin 4 by EB and BS"
trigger6 = P2StateNo = 1500
trigger7 = P2Name = "N-Trunks by EmuBoarding"
trigger7 = P2StateNo = 1500
trigger8 = P2Name = "Mr.Boo by OverMind"
trigger8 = P2StateNo = 3001
trigger9 = P2Name = "Vegeta by OverMind"
trigger9 = P2StateNo = 3001
trigger10 = P2Name = "Broli Remix ver1.2"
trigger10 = P2StateNo = 2000
trigger11 = P2Name = "Mew Two"
trigger11 = P2StateNo = 1051
trigger12 = P2Name = "Raditz"
trigger12 = P2StateNo = 1510
trigger13 = P2Name = "C-Trunks by EmuBoarding"
trigger13 = P2StateNo = 1500
trigger14 = P2Name = "Piccolo por Ssonic"
trigger14 = P2StateNo = 1900
trigger15 = P2Name = "M. Bison"
trigger15 = P2StateNo = 89598
trigger16 = P2Name = "Cell por Ssonic"
trigger16 = P2StateNo = 1900
trigger17 = P2Name = "Recoom by Lucifer"
trigger17 = P2StateNo = 1500
trigger18 = P2Name = "Vegetto EX by Shishi-Ryu"
trigger18 = P2StateNo = 2000
trigger19 = P2Name = "Goku Super Sayajin 2 by ribeiro"
trigger19 = P2StateNo = 2000
trigger20 = P2Name = "Pan Dragonball GT por Ssonic"  
trigger20 = P2StateNo = 1900
trigger21 = P2Name = "The Necromancer"
trigger21 = P2StateNo = 2000
trigger22 = P2StateType = S
trigger22 = P2MoveType != H
trigger22 = P2BodyDist Y < -1
value = 1999

[State -1,AI.Sair.do.Voa]
type = ChangeState
triggerall = var(0) = 1
triggerall = stateno = 2000
triggerall = MoveType != A 
trigger1 = p2statetype = S
trigger1 = p2bodydist Y > 30
value = 50
ctrl = 1


[State -1, AI Standing Guard]
type = ChangeState
triggerall = var(0) = 1  
triggerall = Statetype != A 
triggerall = P2statetype != C 
triggerall = Statetype = S 
triggerall = P2Movetype = A 
triggerall = Pos Y != [-1,-999]
triggerall = ctrl = 1
trigger1 = random <= 800
value = 130 

[State -1, AI Stand to Crouch Guard Transition]
type = ChangeState
triggerall = var(0) = 1 
triggerall = StateType != A
triggerall = P2statetype = C
triggerall = P2Movetype = A
triggerall = Pos Y != [-1,-999]
trigger1 = stateno = 150
trigger1 = 1
value = 152

[State -1, AI Crouching Guard]
type = ChangeState
triggerall = var(0) = 1 
triggerall = StateType != A
triggerall = P2statetype = C
triggerall = P2Movetype = A
triggerall = Pos Y != [-1,-999]
triggerall = ctrl = 1
trigger1 = random <= 800
value = 131

[State -1, AI Crouch to Stand Guard Transition]
type = ChangeState
triggerall = var(0) = 1 
triggerall = Statetype != A
triggerall = P2statetype != C
triggerall = P2Movetype = A
trigger1 = 1
trigger1 = stateno = 152
value = 150

[State -1,AI Aerial Guard]
type = ChangeState
triggerall = var(0) = 1 
triggerall = Statetype = A
triggerall = P2Movetype = A
triggerall = ctrl = 1
trigger1 = random <= 800
value = 132



