;-| Button Remapping |-----------------------------------------------------
[Remap]
a = a
b = b
c = c
x = x
y = y
z = z
s = s

;-| Default Values |-------------------------------------------------------
[Defaults]
command.time = 15
command.buffer.time = 1

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

[Command]
name = "Parasol Twirl"
command = /$b
time = 1

[Command]
name = "Guard"
command = /$c
time = 1

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


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


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

[Command]
name = "down_b"
command = /$D,b
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

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

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

[Statedef -1]

;===========================================================================
;---------------------------------------------------------------------------

;---------------------------------------------------------------------------
;
[State -1,Hadouken??]
Type = ChangeState
Triggerall = Command = "x";  && command !="holdup"
triggerall = power >= 1000
Trigger1 = ctrl = 1
trigger2 = stateno = 605
Value = 3000

;---------------------------------------------------------------------------
; Normal Shoot
[state -1, Normal Shoot]
type = changestate
value = 2000;+((command = "holdfwd")*5);1000
triggerall = command = "b"
triggerall = command != "holddown" &&  command !="holddown" &&  command !="holdup"
triggerall = NumProjID(2002) < 2
trigger1 = ctrl

;---------------------------------------------------------------------------
; Use Weapon
[state -1, Use Weapon]
type = changestate
value = 2100
triggerall = command = "b" && command = "holddown"
triggerall = NumHelper(2100) <1 && fvar(10) >0 && NumHelper(2310) <1
trigger1 = ctrl
trigger2 = stateno = 200
trigger2 = movecontact
trigger3 = stateno = 250
trigger3 = movecontact
trigger4 = stateno = [300,360]
trigger4 = movecontact
trigger5 = stateno = [500, 505]
trigger5 = movecontact
trigger6 = stateno = [100,105]
trigger6 = time >= 4
trigger7 = movecontact && (Var(15) > 0)

;---------------------------------------------------------------------------
; FlipTop
[State -1, FliTop]
type = ChangeState
value = 2010
triggerall = Var(16)
triggerall = statetype != A && !NumHelper(2011)
triggerall = stateno != 100 && ctrl
triggerall = !var(17)
trigger1 = command = "a" &&  command ="holdup"

;-----------------------------------------------------------------------
; Rolling Mini Upper
[State -1,Rolling Mini Upper]
type = ChangeState
value = 750
triggerall = command = "b" && command ="holdup"
triggerall = StateType != A
Trigger1 = ctrl = 1
trigger2 = StateNo = 100


;---------------------------------------------------------------------------
; Jump
[State -1, Jump]
type = ChangeState
value = IfElse(StateType = S, 41, 45)
triggerall = command = "a"
trigger1 = statetype = S || statetype = A
trigger1 = ctrl || StateNo = 100
trigger2 = stateno = 605

;---------------------------------------------------------------------------
; Sliding
[State -1,Sliding]
type = ChangeState
value = 200
triggerall = command = "a"
trigger1 = statetype = C
trigger1 = ctrl


;---------------------------------------------------------------------------
; Guard
[State -1, Guard]
type = ChangeState
value = 150
triggerall = command = "Guard"
trigger1 = statetype = S || statetype = C
trigger1 = ctrl
trigger2 = StateNo = 100

; Dash
[State -1, Dash]
type = ChangeState
value = 100
trigger1 = command = "FF" || command = "BB"
trigger1 = statetype = S
trigger1 = ctrl
