[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

;---------------------------------------------------------------------------
;Artificial Intelligence
;---------------------------------------------------------------------------
[Command]
name = "AI_1"
command = a, x, F, D, a, a, D
time = 1

[Command]
name = "AI_2"
command = a, a, a, a, a, a, b
time = 1

[Command]
name = "AI_3"
command = a, a, b, D, F, b, x
time = 1

;-------------------------------------------------------------------------
;-Commands----------------------------------------------------------------
;=Finishers=
;
[Command]
name = "NoMercyShrinker"
command = B,DB,D,DF,F,B, x;[QP] 
[Command]
name = "NoMercyShrinker"
command = a+x+y;[QP] 

[Command]
name = "Lawnmower"
command = F,DF,D,DB,B,F, y;[MP] -+ 3 Bar Blocks +-

[Command]
name = "ShadowMove"
command = F,DF,D,DB,B,F, z;[FP] -+ 3 Bar Blocks +-
;
[Command]
name = "ShadowMove"
command = a+c+z;[FP] -+ 3 Bar Blocks +-
;
;-------------------------------------------
[Command]
name = "UltimateElephant" ;no animation
command = F,DF,D,DB,B,F, a;[QK]
[Command]
name = "SuperFlipKicks"
command = F,DF,D,DB,B,F, b;[MK] -+ 3 Bar Blocks +-

[Command]
name = "TreeCutter"
command = F,DF,D,DB,B,F, c;[FK] -+ 6 Bar Blocks +-

[Command]
name = "UltraBreaker"
command = F,DF,D,DB,B,B,F, c;[FK] ;-+ 6 Bar Blocks +-

;-------------------------------------------
;-------------------------------------------

[Command]
name = "Ultra Combo"
command = ~30$F,B, c;[FK]

[Command]
name = "Assault"
command = ~30$F,B, z;[FP]; 
;


;-------------------------------------------
[Command]
name = "JungleLeapA" ;air
command = ~30$B,F, a;[QK/FK]
[Command]
name = "JungleLeapC"
command = ~30$B,F, c;[QK/FK]

[Command]
name = "FlipKick"
command = ~30$B,F, b ;[MK]

;-------------------------------------------
[Command]
name = "CobraBite"
command = ~30$B,F, x;[QP]
[Command]
name = "SavageBlades"
command = ~30$B,F, y;[MP]
[Command]
name = "Mantis"
command = ~30$B,F, z;[FP]     -=Can be done after jungle leap=-
;-----------------------
[Command]
name = "AirMantis"
command = ~2F,B, z;[FP]; 
;
;-------------------------------------------
[Command]
name = "Blades"
command = ~30$B,F, x 
[Command]
name = "Blades"
command = ~30$B,F, y
[Command]
name = "Blades"
command = ~30$B,F, z 
;------------------------ 
[Command]
name = "Blades"
command = ~30$B,F, a 
[Command]
name = "Blades"
command = ~30$B,F, b
[Command]
name = "Blades"
command = ~30$B,F, c 
;-------------------------------------------

;-------------------------------------------
[Command]
name = "ComboBreakerX"
command = B,F, x;[P/K]
[Command]
name = "ComboBreakerY"
command = B,F, y;[P/K]
[Command]
name = "ComboBreakerZ"
command = B,F, z;[P/K]
;--------------------------
[Command]
name = "ComboBreakerA"
command = B,F, a;[P/K]
[Command]
name = "ComboBreakerA"
command = ~2B,F, a;[P/K]
[Command]
name = "ComboBreakerB"
command = B,F, b;[P/K]
[Command]
name = "ComboBreakerC"
command = B,F, c;[P/K]
;-------------------------------------------

[Command]
name = "RecoveryMove"
command = B,F, x;[QP]

;-------------------------------------------
[Command]
name = "AirCombo"
command = F,B, a;[K]
[Command]
name = "AirCombo"
command = F,B, b;[K]
[Command]
name = "AirCombo"
command = F,B, c;[K]
[Command]
name = "AirMantis"
command = F,B, z;[FP]

;-------------------------------------------
[Command]
name = "PressureMove"  ;anim = 1600
command =  F,c;[FK]
[Command]
name = "Throw"
command =  F,z;[FP]
[Command]
name = "Reversal"
command =  B,z;[FP]
[Command]
name = "CounterMove"
command =  B,x;[QP]
;

 
;-| Special Motions |------------------------------------------------------
[Command]
name = "blocking"
command = $F,x
time = 3

[Command]
name = "blocking" ;Same name as above (buttons in opposite order)
command = x,$F
time = 3


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

;-| Dir + Button |---------------------------------------------------------

;---------------------------------------------------------------------------------------------
;Dir + button
[Command]
name = "down_a"
command = /$D,a
time = 1
[Command]
name = "down_b"
command = /$D,b
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 = "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_c"
command = /$U,c
time = 1
;-----------------------------
[Command]
name = "back_a"        ;Alternative button command
command = /$B,a
time = 1
[Command]
name = "back_b"        ;Alternative button command
command = /$B,b
time = 1
[Command]
name = "back_c"        ;Alternative button command
command = /$B,c
time = 1
[Command]
name = "back_x"        ;Alternative button command
command = /$B,x
time = 1
[Command]
name = "back_y"        ;Alternative button command
command = /$B,y
time = 1
[Command]
name = "back_z"        ;Alternative button command
command = /$B,z
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

;---------------------------------------------------------------------------
;Artificial Intelligence
;---------------------------------------------------------------------------

;none 

[Statedef -1] 

;---------------------------------------------------------------------------
;======Ultra Moves==========================================================
;---------------------------------------------------------------------------

;-----------------------------
[State 3000, No Mercy]
type = ChangeState
value = 3000
triggerall = command = "NoMercyShrinker" 
triggerall = (Power = 3000); && (RoundState = 2)
trigger1 = Statetype != A && ctrl
trigger2 = (StateType != A) && (HitdefAttr = SC, NA) && (MoveContact)

;---------------------------------------------------------------------------
;======Hyper Moves==========================================================
;---------------------------------------------------------------------------
;-----------------------------

[State 2800, ShadowMove]
type = ChangeState
value = 2800
triggerall = command = "ShadowMove"
triggerall = stateno !=[3500,3510]
trigger1 = Statetype != A && ctrl
trigger2 = (StateType != A) && (HitdefAttr = SC, NA) && (MoveContact)

;---------------------------------------------------------------------------
;======Special Moves========================================================
;---------------------------------------------------------------------------

;-----------------------------
[State 1000, JungleLeapA]
type = ChangeState
value = 1000
triggerall = command = "JungleLeapA"
triggerall = stateno !=[3500,3510]
trigger1 = Statetype != A && ctrl
trigger2 = (StateType != A) && (HitdefAttr = SC, NA) && (MoveContact)

;-----------------------------

[State 1010, AirJungleLeapA]
type = ChangeState
value = 1010
triggerall = command = "ComboBreakerA"
triggerall = stateno !=[3500,3510]
trigger1 = Statetype = A && ctrl 
trigger2 = stateno = 1200 && time > 21 && time < 58

;-----------------------------

[State 1100, FlipKick]
type = ChangeState
value = 1100
triggerall = command = "FlipKick"
triggerall = stateno !=[3500,3510]
trigger1 = Statetype != A && ctrl
trigger2 = (StateType != A) && (HitdefAttr = SC, NA) && (MoveContact)

;-----------------------------

[State 1200, JungleLeapC]
type = ChangeState
value = 1200
triggerall = command = "JungleLeapC"
triggerall = stateno !=[3500,3510]
trigger1 = Statetype != A && ctrl
trigger2 = (StateType != A) && (HitdefAttr = SC, NA) && (MoveContact)

;-----------------------------;-----------------------------

[State 1500, CobraBite]
type = ChangeState
value = 1500
triggerall = command = "CobraBite"
triggerall = stateno !=[3500,3510]
trigger1 = Statetype != A && ctrl
trigger2 = (StateType != A) && (HitdefAttr = SC, NA) && (MoveContact)

;-----------------------------

[State 1600, PressureMove]
type = ChangeState
value = 1600
triggerall = command = "PressureMove"
triggerall = stateno !=[3500,3510]
trigger1 = Statetype != A && ctrl
trigger2 = (StateType != A) && (HitdefAttr = SC, NA) && (MoveContact)

;-----------------------------

[State 1700, SavageBlades]
type = ChangeState
value = 1700
triggerall = command = "SavageBlades"
triggerall = stateno !=[3500,3510]
trigger1 = Statetype != A && ctrl
trigger2 = (StateType != A) && (HitdefAttr = SC, NA) && (MoveContact)

;-----------------------------

[State 1800, Mantis]
type = ChangeState
value = 1800
triggerall = command = "Mantis"
triggerall = stateno !=[3500,3510]
trigger1 = Statetype != A && ctrl
trigger2 = (StateType != A) && (HitdefAttr = SC, NA) && (MoveContact)

;-----------------------------

[State 1810, AirMantis]
type = ChangeState
value = 1810
triggerall = command = "AirMantis"
triggerall = stateno !=[3500,3510]
trigger1 = Statetype = A && ctrl 
trigger2 = stateno = 1200 && time > 21 && time < 58

;-----------------------------

;---------------------------------------------------------------------------
;=======Basics==============================================================
;---------------------------------------------------------------------------
;Run Fwd
[State 100, Run Fwd]
type = ChangeState
value = 100
trigger1 = command = "FF"
trigger1 = statetype = S
trigger1 = ctrl

;---------------------------------------------------------------------------
;Run Back
[State 105, Run Back]
type = ChangeState
value = 105
trigger1 = command = "BB"
trigger1 = statetype = S
trigger1 = ctrl

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

;-----------------------------
;=======Air=================== 
;-----------------------------
[State 600, Air X]
type = ChangeState
value = 600
triggerall = command = "x"
trigger1 = Statetype = A && ctrl
trigger2 = stateno = 105 && time > 4
trigger3 = stateno = (1202) && time > 2 ;&& (Movecontact)

;-----------------------------

[State 610, Air Y]
type = ChangeState
value = 610
triggerall = command = "y"
trigger1 = Statetype = A && ctrl
trigger2 = (StateNo = 600) && (Movecontact) && time > 2
trigger3 = (StateNo = 630) && (Movecontact) && time > 2
trigger4 = stateno = 105 && time > 4
trigger5 = stateno = (1202) && time > 2 ;&& (Movecontact)

;-----------------------------

[State 620, Air Z]
type = ChangeState
value = 620
triggerall = command = "z"
trigger1 = Statetype = A && ctrl
trigger2 = (StateNo = 600) && (Movecontact) && time > 2
trigger3 = (StateNo = 630) && (Movecontact) && time > 2
trigger4 = (StateNo = [610,611]) && (Movecontact) && time > 2
trigger5 = (StateNo = 640) && (Movecontact) && time > 2
trigger6 = stateno = 105 && time > 4
trigger7 = stateno = (1202) && time > 2 ;&& (Movecontact)

;-----------------------------

[State 630, Air A]
type = ChangeState
value = 630
triggerall = command = "a"
trigger1 = Statetype = A && ctrl
trigger2 = (StateNo = 600) && (Movecontact)
trigger3 = stateno = 105 && time > 4

;-----------------------------

[State 640, Air B]
type = ChangeState
value = 640
triggerall = command = "b"
trigger1 = Statetype = A && ctrl
trigger2 = (StateNo = 600) && (Movecontact)
trigger3 = (StateNo = 610) && (Movecontact)
trigger4 = (StateNo = 620) && (Movecontact)
trigger5 = (StateNo = 630) && (Movecontact)
trigger6 = stateno = 105 && time > 4

;-----------------------------

[State 650, Air C]
type = ChangeState
value = 650
triggerall = command = "c"
trigger1 = Statetype = A && ctrl
trigger2 = (StateNo = 600) && (Movecontact)
trigger3 = (StateNo = [610,611]) && (Movecontact)
trigger4 = (StateNo = 620) && (Movecontact)
trigger5 = (StateNo = 630) && (Movecontact)
trigger6 = (StateNo = 640) && (Movecontact)
trigger7 = stateno = 105 && time > 4


;-----------------------------
;=======Crouching============= 
;-----------------------------
[State 400, X low]
type = ChangeState
value = 400
triggerall = Command = "x"
triggerall = Command = "holddown"
trigger1 = (StateType != A) && (Ctrl)
trigger2 = (StateNo = 200) && (Movecontact)
trigger3 = (StateNo = 230) && (Movecontact)
 
;-----------------------------

[State 410, Y low]
type = ChangeState
value = 410
triggerall = Command = "y"
triggerall = Command = "holddown"
trigger1 = (StateType != A) && (Ctrl)
trigger2 = (StateNo = 200) && (Movecontact)
trigger3 = (StateNo = 230) && (Movecontact)
trigger4 = (StateNo = 400) && (Movecontact)
trigger5 = (StateNo = 430) && (Movecontact)
trigger6 = (StateNo = 210) && (Movecontact)
trigger7 = (StateNo = 201) && (Movecontact)

;-----------------------------

[State 420, Z low]
type = ChangeState
value = 420
triggerall = Command = "z"
triggerall = Command = "holddown"
trigger1 = (StateType != A) && (Ctrl)
trigger2 = (StateNo = 200) && (Movecontact)
trigger3 = (StateNo = 230) && (Movecontact)
trigger4 = (StateNo = 400) && (Movecontact)
trigger5 = (StateNo = 430) && (Movecontact)
trigger6 = (StateNo = 210) && (Movecontact)
trigger7 = (StateNo = 211) && (Movecontact)
trigger8 = (StateNo = 240) && (Movecontact)
trigger9 = (StateNo = 241) && (Movecontact)
trigger10 = (StateNo = 220) && (Movecontact)
trigger11 = (StateNo = 221) && (Movecontact)
trigger12 = (StateNo = 410) && (Movecontact)
trigger13 = (StateNo = 440) && (Movecontact)
trigger14 = (StateNo = 201) && (Movecontact)

;-----------------------------

[State 430, A low kick]
type = ChangeState
value = 430
triggerall = Command = "a"
triggerall = Command = "holddown"
trigger1 = (StateType != A) && (Ctrl)
trigger2 = (Stateno = 200) && (Movecontact)
trigger3 = (Stateno = 230) && (Movecontact)
trigger4 = (Stateno = 400) && (Movecontact)
trigger5 = (StateNo = 201) && (Movecontact)

;-----------------------------

[State 440, B low]
type = ChangeState
value = 440
triggerall = Command = "b"
triggerall = Command = "holddown"
trigger1 = (StateType != A) && (Ctrl)
trigger2 = (StateNo = 200) && (Movecontact)
trigger3 = (StateNo = 230) && (Movecontact)
trigger4 = (StateNo = 400) && (Movecontact)
trigger5 = (StateNo = 430) && (Movecontact)
trigger6 = (StateNo = 210) && (Movecontact)
trigger7 = (StateNo = 211) && (Movecontact)
trigger8 = (StateNo = 240) && (Movecontact)
trigger9 = (StateNo = 241) && (Movecontact)
trigger10 = (StateNo = 220) && (Movecontact)
trigger11 = (StateNo = 221) && (Movecontact)
trigger12 = (StateNo = 410) && (Movecontact)
trigger13 = (StateNo = 201) && (Movecontact)

 ;-----------------------------

[State 450, C low]
type = ChangeState
value = 450
triggerall = Command = "c"
triggerall = Command = "holddown"
trigger1 = (StateType != A) && (Ctrl)
trigger2 = (StateNo = [200,242]) && (Movecontact)
trigger3 = (StateNo = [400,440]) && (Movecontact)


;-----------------------------
;=======Stand================= 
;-----------------------------
[State 205, Forward + X]
type = ChangeState
value = 205
triggerall = Command = "fwd_x"
triggerall = Command != "holddown"
trigger1 = (StateType = S) && (Ctrl)

;-----------------------------

[State 200, X]
type = ChangeState
value = 200
triggerall = Command = "x"
triggerall = Command != "holddown"
trigger1 = (StateType = S) && (Ctrl)

;-----------------------------

[State 212, Forward + Y]
type = ChangeState
value = 212
triggerall = Command = "fwd_y"
triggerall = Command != "holddown"
trigger1 = (StateType = S) && (Ctrl)
trigger2 = (StateNo = 200) && (Movecontact) && time > 3
trigger3 = (StateNo = 230) && (Movecontact) && time > 3
trigger4 = (StateNo = 210) && (Movecontact) && time > 3
trigger5 = (StateNo = 240) && (Movecontact) && time > 3
trigger6 = (StateNo = 241) && (Movecontact) && time > 3
trigger7 = (StateNo = 242) && (Movecontact)
trigger8 = (StateNo = 201) && (Movecontact)

;-----------------------------

[State 225, Back + Y]
type = ChangeState
value = 225
triggerall = Command = "back_y"
triggerall = Command != "holddown"
trigger1 = (StateType = S) && (Ctrl)
trigger2 = (StateNo = 200) && (Movecontact) && time > 3
trigger3 = (StateNo = 230) && (Movecontact) && time > 3
trigger4 = (StateNo = 210) && (Movecontact) && time > 3
trigger5 = (StateNo = 240) && (Movecontact) && time > 3
trigger6 = (StateNo  = 241) && (Movecontact) && time > 3
trigger7 = (StateNo = 242) && (Movecontact)
trigger8 = (StateNo = 201) && (Movecontact)

;-----------------------------

[State 210, Y]
type = ChangeState
value = 210
triggerall = Command = "y"
triggerall = Command != "holddown"
trigger1 = (StateType = S) && (Ctrl)
trigger2 = (StateNo = 200) && (Movecontact) && time > 3
trigger3 = (StateNo = 230) && (Movecontact) && time > 3
trigger4 = (StateNo = 201) && (Movecontact)

;-----------------------------

[State 228, Back + Z]
type = ChangeState
value = 228
triggerall = Command = "back_z"
triggerall = Command != "holddown"
trigger1 = (StateType = S) && (Ctrl)
trigger2 = (StateNo = 200) && (Movecontact) && time > 3
trigger3 = (StateNo = 230) && (Movecontact) && time > 3
trigger4 = (StateNo = 210) && (Movecontact) && time > 3
trigger5 = (StateNo = 211) && (Movecontact) && time > 3
trigger6 = (StateNo = 240) && (Movecontact) && time > 3
trigger7 = (StateNo = 241) && (Movecontact) && time > 3
trigger8 = (StateNo = 221) && (Movecontact) && time > 3
trigger9 = (StateNo = 242) && (Movecontact)
trigger10 = (StateNo = 201) && (Movecontact)

;-----------------------------

[State 220, Z]
type = ChangeState
value = 220
triggerall = Command = "z"
triggerall = Command != "holddown"
trigger1 = (StateType = S) && (Ctrl)
trigger2 = (StateNo = 200) && (Movecontact) && time > 3
trigger3 = (StateNo = 230) && (Movecontact) && time > 3
trigger4 = (StateNo = 210) && (Movecontact) && time > 3
trigger5 = (StateNo = 211) && (Movecontact) && time > 3
trigger6 = (StateNo = 240) && (Movecontact) && time > 3
trigger7 = (StateNo = 241) && (Movecontact) && time > 3
trigger8 = (StateNo = 242) && (Movecontact)
trigger9 = (StateNo = 201) && (Movecontact)

;-----------------------------

[State 230, A]
type = ChangeState
value = 230
triggerall = Command = "a"
triggerall = Command != "holddown"
triggerall = stateno != 100
trigger1 = (StateType = S) && (Ctrl)
trigger2 = (Stateno = 200) && (Movecontact)
trigger3 = (StateNo = 201) && (Movecontact)

;-----------------------------

[State 240, B]
type = ChangeState
value = 240
triggerall = Command = "b"
triggerall = Command != "holddown"
trigger1 = (StateType = S) && (Ctrl)
trigger2 = (StateNo = 200) && (Movecontact)
trigger3 = (StateNo = 230) && (Movecontact)
trigger4 = (StateNo = 210) && (Movecontact)
trigger5 = (StateNo = 211) && (Movecontact)
trigger6 = (StateNo = 201) && (Movecontact)

;-----------------------------

[State 1600, PressureMove] ;Forward + C
type = ChangeState
value = 1600
triggerall = command = "PressureMove"
triggerall = stateno !=[3500,3510]
trigger1 = Statetype != A && ctrl
trigger2 = (StateType != A) && (HitdefAttr = SC, NA) && (MoveContact)

;-----------------------------

[State 229, Back + C]
type = ChangeState
value = 259;IfElse(P2BodyDist X > 28,250,251)
triggerall = Command = "back_c"
triggerall = Command != "holddown"
trigger1 = (StateType = S) && (Ctrl)
trigger2 = (StateNo = [200,242]) && (Movecontact)

;-----------------------------

[State 250, C]
type = ChangeState
value = 250;IfElse(P2BodyDist X > 28,250,251)
triggerall = Command = "c"
triggerall = Command != "holddown"
trigger1 = (StateType = S) && (Ctrl)
trigger2 = (StateNo = [200,242]) && (Movecontact)

;------------------------------------------------------------------------

 
;---------------------------------------------------------------------------
;Taunt
[State 195, Taunt]
type = ChangeState
value = 195
triggerall = command = "start"
trigger1 = statetype != A
trigger1 = ctrl 