[Remap]
x = x
y = y
z = z
a = a
b = b
c = c
s = s

[Defaults]
command.time = 15
command.buffer.time = 1

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

[Command]
name = "DoubleDragon"
command = ~D, DF, F, c+z

[Command]
name = "DoubleDragonCounter"
command = ~B, DB, D, c+z
time = 10

[Command]
name = "DoubleDragonCross"
command = ~D, DB, B, c+z
time = 15

[Command]
name = "H-ETackle"
command = ~D, DF, F, x+y

[Command]
name = "H-ETackle"
command = ~D, DF, F, x+z

[Command]
name = "H-ETackle"
command = ~D, DF, F, y+z

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

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

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

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

[Command]
name = "CODE_T002"
command = ~D, DB, B, b+c

[Command]
name = "CODE_T002"
command = ~D, DB, B, a+c

;--------------------------------
;Counter 1 & Recovery Roll (BACK)
[Command]
name = "Counter1"
command = ~B, DB, D, z
time = 15

[Command]
name = "Counter1"
command = ~B, DB, D, y
time = 15

[Command]
name = "Counter1"
command = ~B, DB, D, x
time = 15

;Counter 2 & Recovery Roll (Foward)
[Command]
name = "Counter2"
command = ~B, DB, D, c
time = 15

[Command]
name = "Counter2"
command = ~B, DB, D, b
time = 15

[Command]
name = "Counter2"
command = ~B, DB, D, a
time = 15

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

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

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

[Command]
name = "upper_z"
command = ~F, D, DF, z

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

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

[Command]
name = "QCF_Z"
command = ~D, DF, F, z

[Command]
name = "QCB_z"
command = ~D, DB, B, z

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

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

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

[Command]
name = "corvo_B"
command = ~D, DF, F, b

[Command]
name = "hunter_C"
command = ~D, DF, F, c

[Command]
name = "zumbi_A"
command = ~D, DB, B, a

[Command]
name = "zumbi_B"
command = ~D, DB, B, b

[Command]
name = "zumbi_C"
command = ~D, DB, B, c

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

[Command]
name = "CPU1"
command = D, D, U, U, D, U
time = 1

[Command]
name = "CPU2"
command = D, U, U, D, D, U
time = 1

[Command] 
name = "CPU3"
command = U, D, D, U, U, D
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

;-| MvC S-Jump |------------
[Command]
name = "DU"
command = D, U
time = 15

[Command]
name = "DUF"
command = D, UF
time = 15

[Command]
name = "DUB"
command = D, UB
time = 15

[Command]
name = "ChargedDU"
command = ~10$D, $U

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

[Command]
name = "recovery";Required (do not remove)
command = x+z
time = 1

[Command]
name = "recovery";Required (do not remove)
command = z+y
time = 1

[Command]
name = "3P"
command = x+y+z
time = 1

[Command]
name = "3K"
command = a+b+c
time = 1

;-| PartnerChange |-----------------------------------------------
[Command]
name = "troca"
command = z+c
time = 1

[Command] 
name = "Assist"
command = y+b
time = 1

;-| ADVGUARD |------------
[Command] 
name = "AdvGuard"
command = y+z
time = 10

[Command] 
name = "AdvGuard"
command = x+y
time = 10

[Command] 
name = "AdvGuard"
command = x+z
time = 10

;-| Dir + Button |------------
[Command]
name = "fwd_b"
command = /F,b
time = 1

[Command]
name = "fwd_c"
command = /F,c
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_y"
command = /F,y
time = 1

[Command]
name = "fwd_z"
command = /F,z
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

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

[Command]
name = "hold-start"
command = /s
time = 1

[Command]
name = "release-start"
command = ~s
time = 1

;-| Hold Dir |------------
[Command]
name = "holdfwd"
command = /$F
time = 1

[Command]
name = "holdback"
command = /$B
time = 1

[Command]
name = "holdup"
command = /$U
time = 1

[Command]
name = "holddown"
command = /$D
time = 1

[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

;---------------------------------------------------------------------------
[Statedef -1]

;Recovery Roll
[State -1, Falling]
type = VarSet
trigger1 = command = "Counter2" ^^ command = "Counter1"
triggerall = alive && life!=0
triggerall = roundstate = 2
triggerall = (stateno = 5050) || (stateno = 5071) || (stateno = 5100)
var(3) = 1 + (command = "Counter2")

[State -1, Rolling]
type = ChangeState
value = 8123
triggerall = Var(3) != 0 && alive && life!=0
triggerall = roundstate = 2
triggerall = (canrecover && ((stateno = 5050) || (stateno = 5071))) || (stateno = 5100)
trigger1 = (Pos Y >= 0) && (Vel Y > 0)

;--------------------------------
;AI AIR Combo
[State -1];	fracos areos
type = ChangeState
value = 600 + 30 * (P2bodyDist x > 40 || var(3) > 1 || const(size.mid.pos.y) < enemynear,const(size.head.pos.y))
triggerall = roundstate = 2
triggerall = var(20) = 1 && random > life && time % 4
triggerall = (!movecontact && ctrl)
trigger1 = statetype = A && var(3) < 3
trigger1 = P2BodyDist X <= 62 + vel x * 3
trigger1 = abs(p2bodydist Y) < abs(const(size.head.pos.y))
trigger2 = stateno= 8850 || (stateno= 8800 && p2movetype=H)
ignorehitpause=1

[State -1];	mdios areos
type = ChangeState
value = 610 + 30 * (P2bodyDist x > 48 || var(3) >= 7)
triggerall = var(20) = 1 && random > life && time % 4
triggerall = statetype = A && var(3) < 12 && roundstate = 2
triggerall = (!movecontact && ctrl) 
trigger1 = P2BodyDist X <= 71 + vel x * 3
trigger1 = abs(p2bodydist Y) < abs(const(size.head.pos.y))
trigger2 = stateno = 600 || stateno = 630
trigger2 = var(3) >= 3
ignorehitpause=1

[State -1];	Fortes areos
type = ChangeState
value = 620 + 30 * (P2bodyDist x > 60)
triggerall = var(20) = 1 && random > life && time % 4
triggerall = statetype = A && var(3) < 16 && roundstate = 2
triggerall = stateno != 620 && stateno < 650 && (!movecontact && ctrl) 
trigger1 = P2BodyDist X <= 77 + vel x * 3
trigger1 = abs(p2bodydist Y) < abs(const(size.head.pos.y))
trigger2 = var(3) >= 12 && stateno = [600,640]
ignorehitpause=1

;AI Ground Combo 1
[State -1];	fracos em p
type = ChangeState
value = 200 + 30 * (P2StateType != A || var(3) > 1)
triggerall = roundstate = 2 && var(20) = 1 && time > 7
triggerall = random > life && time % 4 && ctrl
trigger1 = StateType != A && P2Movetype != A
trigger1 = P2StateType != C && p2bodydist Y > -20
trigger1 = P2BodyDist X <= 72
ignorehitpause=1

[State -1];	fracos abaixados
type = ChangeState
value = 430 - 30 * (P2StateType = A || var(3) > 1)
triggerall = var(20) = 1 && P2BodyDist X <= 52
triggerall = random > life && time % 4 && ctrl
triggerall = roundstate = 2 && stateno = 100
trigger1 = P2Movetype != A && P2StateType != A
trigger2 = P2Movetype = A && P2StateType = S
trigger2 = P2life < life
ignorehitpause=1

[State -1];	mdios abaixados
type = ChangeState
value = 440 - (P2Movetype != A || var(3) >= 7) * 30
triggerall = roundstate = 2 && var(20) = 1
triggerall = stateno = 400 || stateno = 430 || stateno = 200 || stateno = 230
trigger1 = movecontact || ctrl
trigger1 = random > life && time % 4 && P2BodyDist X <= 75
trigger2 = P2Dist Y <= -88
trigger3 = stateno = 430 && movehit
ignorehitpause=1

[State -1];	mdios em p
type = ChangeState
value = 240 - 30 * (p2statetype != C || var(3) >= 7 || P2BodyDist X >= 63)
triggerall = var(20) = 1 && random > life && time % 4
triggerall = statetype != C && roundstate = 2
triggerall = movecontact || ctrl
triggerall = P2BodyDist X <= 83
trigger1 = stateno = 100
trigger2 = stateno = 400 || stateno = 430
trigger3 = stateno = 200 || stateno = 230
ignorehitpause=1

[State -1];	gancho abaixado / rasteira
type = ChangeState
value = 420 + (enemynear,statetype=A || P2BodyDist X >= 45) * 30
triggerall = roundstate = 2 && StateType != A
triggerall = var(20) = 1 && random > life && time % 4
triggerall = (movecontact || ctrl) && stateno< 450
triggerall = P2BodyDist X <= 148;70
trigger1 = stateno != 420 && var(3) >= 12 && stateno = [400,440]
trigger2 = stateno != 220 && var(3) >= 12 && stateno = [200,240]
trigger3 = var(6) != 0
ignorehitpause=1

[State -1];	fortes em p
type = ChangeState
value = 220 + 30 * (P2BodyDist X > 75 && P2Dist y != 0)
triggerall = roundstate = 2
triggerall = var(20) = 1 && random > life && time % 4
triggerall = movecontact || ctrl
triggerall = P2StateType != C && StateType != A
triggerall = P2BodyDist X <= 110
trigger1 = stateno != 420 && var(3) >= 12 && stateno = [400,440]
trigger2 = stateno != 220 && var(3) >= 12 && stateno = [200,240]
ignorehitpause=1

;--------------------------------
;S-Jump UP/FWD
[State -1];Aerial Rave Follow-Jump
type = ChangeState
value = 8800
trigger1 = (Command = "holdup" || command = "3K") && movehit
trigger1 = stateno = 420
trigger2 = statetype != A && ctrl
trigger2 = command = "DU" || command = "DUF"

[State -1]; a.i.
type = ChangeState
value = 8800
triggerall = roundstate = 2 && StateType != A; && P2MoveType!=A
triggerall = var(20) = 1 && random > life && time % 4
trigger1 = ctrl && p2bodydist Y < 1.66 * (const(size.head.pos.y))
trigger2 = ctrl && p2StateNo >= 5000 && (enemynear, vel y < -5)
trigger3 = stateno = 420 && movehit
trigger4 = ctrl && P2BodyDist X > 120 && stateno = [150,151]
trigger4 = (var(6) != 0) || p2stateno = [3000,4000]

;S-Jump BWD
[State -1]
type = ChangeState
value = 8900
triggerall = statetype = S
triggerall = ctrl
trigger1 = command = "DUB"

;-------------------------------
;Normal Jump
[State -1]
type = ChangeState
value = 40
trigger1 = (stateno=100 ||stateno=20||Command = "holdfwd") && statetype!=A && ctrl
trigger1 = var(6) != 0
triggerall = var(20) = 1 && random > life && time % 5
trigger1 = p2bodydist X > 220

;--------------------------------
;Double Hyper Combo
[State -1]
type = ChangeState
value = 4460
triggerall = Numpartner = 1 && var(38)!=0 && var(38)!=5
triggerall = power >= 2000
triggerall = command = "DoubleDragon"
triggerall = Roundstate = 2
trigger1 = (partner, stateno = 4404) && statetype != A && ctrl
trigger2 = (partner, stateno = 4404) && stateno = [3000,4400]
trigger3 = (partner, stateno = 4404) && stateno = [4500,4999]
trigger4 = (partner, stateno = 4404) && statetype !=A && stateno = [200,1200]
trigger5 = (partner, alive=1) && statetype !=A && stateno = [1600,2000]
ignorehitpause=1

;Double Dragon Counter
[State -1]
type = ChangeState
value = 4420
triggerall = Numpartner = 1 && var(37)!=0
triggerall = command = "DoubleDragonCounter"
triggerall = Roundstate = 2 && statetype !=A && power >= 1000 
trigger1 = (partner, stateno = 4404) && StateNo = [150,151]
ignorehitpause=1

; Double Dragon Cross
[State -1]
type = ChangeState
value = 4490
triggerall = Numpartner = 1 && var(38)!=0 && var(38)!=5
triggerall = power >= 2000
triggerall = command = "DoubleDragonCross"
triggerall = Roundstate = 2
trigger1 = (partner, stateno = 4404) && statetype != A && ctrl
trigger2 = (partner, stateno = 4404) && stateno = [3000,4400]
trigger3 = (partner, stateno = 4404) && stateno = [4500,4999]
trigger4 = (partner, stateno = 4404) && statetype !=A && stateno = [200,1200]
trigger5 = (partner, alive=1) && statetype !=A && stateno = [1600,2000]
ignorehitpause=1

;partner Change
[State -1]
type = ChangeState
value = 4410
triggerall = Numpartner = 1 && var(37)!=0
triggerall = command = "troca"
triggerall = Roundstate = 2 && statetype !=A
trigger1 = statetype != A
trigger1 = (partner, stateno = 4404) && ctrl

;partner Assist
[State -1]
type = ChangeState
value = 4480
triggerall = Numpartner = 1 && var(37)!=0
triggerall = command = "Assist"
triggerall = Roundstate = 2 && statetype !=A
trigger1 = (partner, stateno = 4404) && ctrl

;Double Hyper Combo (AI)
[State -1]
type = ChangeState
value = 4460
triggerall = Numpartner = 1 && var(38)=1 && var(37)!=0
triggerall = var(20)=1 && power >= 2000 && numtarget!=0
triggerall = stateno != [4400,4499]
triggerall = Roundstate = 2 && stateno != [800,999]
trigger1 = life < var(33) && ctrl && enemynear, movetype = H && p2bodydist y < 0
trigger1 = partner, stateno = 4404
trigger1 = partner, life = var(34) 
trigger3 = life < partner, life && stateno = [3000,4999]
trigger3 = partner, stateno = 4404
trigger3 = partner, life = var(34) 
trigger4 = statetype !=A && stateno < 3000
trigger4 = partner, stateno = 4404
trigger4 = partner, life = var(34) 
trigger5 = statetype !=A && enemynear, movetype = H
trigger5 = partner, stateno = 4404
trigger5 = partner, life = var(34) 
ignorehitpause=1

;Double Dragon Counter (AI)
[State -1]
type = ChangeState
value = 4420
triggerall = power>=1000 && numpartner!=0
triggerall = statetype != A  && roundstate=2
triggerall = stateno = [150,152]
trigger1 = var(34) = (partner, life) && (partner, life)!=0
trigger1 = var(20) = 1 && var(33) > life && time % 4
trigger1 = partner, stateno = 4404
ignorehitpause=1

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

; Counter: Ground / anti-Air
[State -1]
type = ChangeState
value = 8300 + 10 * (command="Counter2")
triggerall = power>=1000
triggerall = statetype != A && var(38) != 3
trigger1 = var(20) = 0 && (command="Counter1" || command="Counter2")
triggerall = stateno = [150,152]
trigger2 = var(20) = 1 && P2life > (life*1.5) && time % 4
ignorehitpause=1

;--------------------------------
; AUTO AI

[State -1, Activate AI] 
type = VarSet 
triggerall = var(20) != 1 
trigger1 = IsHomeTeam = 1 && matchno > 1
trigger2 = command = "CPU1" || command = "CPU2" || command = "CPU3"
var(20) = 1
ignorehitpause=1

; Reset Air combo

[State -1, reset] 
type = VarSet 
trigger1 = var(3) != 0 && statetype != A
trigger1 = stateNo != [5000,5125]
trigger1 = stateNo != [200,670]
var(3) = 0

;===========================================================================
;RunFwd
[State -1]
type = ChangeState
value = 100
triggerall = statetype != A && ctrl && anim!=100 && numexplod(8450)=0
triggerall = roundstate = 2 && numexplod(101)=0
trigger1 = command = "FF"
trigger2 = (P2Movetype = H || var(6)=0) && P2BodyDist X = [70,170]
trigger2 = pos y =0 && var(20) = 1 && random > life && time % 4
trigger2 = stateno != 100 && (enemynear, alive = 1)
trigger3 = var(20) = 1 && p2life > life && p2StateNo = [5100,5110]
trigger3 = stateno != 100 && (enemynear, alive = 1)
; -- correr aps state 1000
trigger4 = anim=1000 && var(6)=0 && animtime = 0 
trigger4 = var(20) = 1 && random > life && time % 4
; -- correr aps zumbi
trigger5 = var(20) = 1 && (numhelper(2630)=1 || numhelper(2640)=1)
trigger5 = P2Movetype = H && stateno != 100
; -- correr aps co
trigger6 = var(20) = 1 && P2Movetype = H
trigger6 = var(23) = 1 && var(30)=facing && var(21)>backedgedist
; -- correr aps corvo
trigger7 = var(20) = 1 && P2Movetype = H
trigger7 = var(26) = 1 && var(31)=facing && var(24)>backedgedist

;RunBack
[State -1]
type = ChangeState
value = 105
trigger1 = command = "BB"
triggerall = statetype != A && numexplod(8450)=0
triggerall = roundstate = 2 && numexplod(101)=0
triggerall = ctrl
trigger2 = stateno = 150 && P2Movetype = A && P2life < life
trigger2 = pos y =0 && var(20) = 1

; AUTO AI

[State -1, Activate AI] 
type = VarSet 
triggerall = var(20) != 1 
trigger1 = IsHomeTeam = 1 && matchno > 1
trigger2 = command = "CPU1" || command = "CPU2" || command = "CPU3"
v = 20
value = 1
ignorehitpause=1

; Reset Air combo

[State -1, reset] 
type = null;VarSet 
trigger1 = var(3) != 0 && statetype != A
trigger1 = stateNo != [5000,5125]
v = 3
value = 0
;====================================

; Hyper Rocket Launcher
[State -1]
type = ChangeState
value = 4000
trigger1 = command = "RCKLaucher" 
triggerall = power >= 1000 && var(38) != 3 && stateno < 3000
triggerall = statetype != A && NumHelper(3600) = 0
triggerall = (stateno != [800,999]) && (stateno != [3000,4000])
triggerall = var(20)=0 || (var(20)=1 && stateno!=420)
trigger1 = ctrl || (movecontact && stateno = [200,450])
trigger2 = command = "RCKLaucher"
trigger3 = ((stateno = 1500||stateno = 2000)&& var(20)=0)||(var(20)=1 &&(stateno = 1505||(stateno=2000&&time>40)))
;trigger2 = stateno = 1500 || stateno = 2000 || (!movecontact && stateno = 1400)
trigger3 = MoveContact && var(20)=1 && random > life && (time % 4)=0
trigger3 = numpartner=0 || (numpartner=1 && life < p2life) && random>500
ignorehitpause=1
trigger4 = hitdefattr = SC, NA, SA, HA && command = "RCKLaucher"
trigger4 = movecontact
trigger5 = hitdefattr = SC, NA, SA, HA 
trigger5 = movecontact && p2life!=0 && p2bodydist x < 100 && p2bodydist y > -80
trigger5 = (var(20)=1 && animtime=0 && (random + p2life) > life)
trigger5 = numpartner=0 || (numpartner=1 && life < p2life) && random>500
trigger5 = ((stateno = 1500||stateno = 2000)&& var(20)=0)||(var(20)=1 &&(stateno = 1505||(stateno=2000&&time>40)))

; Hyper "CODE_T002"
[State -1]
type = ChangeState
value = 3500
trigger1 = command = "CODE_T002"
triggerall = power >= 1000 && var(38) != 3 && stateno < 3000
triggerall = (stateno != [800,999]) && (stateno != [3000,4000]) && (stateno != 1400)
triggerall = statetype != A && NumHelper(3600) = 0
triggerall = var(20)=0 || (var(20)=1 && p2statetype!=A && p2dist x = [61,125])
trigger1 = ctrl || (stateno = [200,450])
trigger2 = command = "CODE_T002"
;trigger3 = !movecontact && stateno = 1400
trigger4 = MoveContact && var(20)=1 && random > life && time % 4
trigger4 = numpartner=0 || (numpartner=1 && life < p2life)
trigger4 = ((stateno = 1500||stateno = 2000)&& var(20)=0)||(var(20)=1 &&(stateno = 1505||(stateno=2000&&time>40)))
ignorehitpause=1

; Hyper Elbow Tackle
[State -1]
type = ChangeState
value = 3000
trigger1 = command = "H-ETackle" 
triggerall = power >= 1000 && var(38) != 3 && stateno < 3000
triggerall = NumHelper(3600) = 0 && roundstate = 2
triggerall = (stateno != [800,999]) && (stateno != [3000,4000]) && (stateno != 1400)
triggerall = var(20)=0 || (var(20)=1 && stateno!=420)
trigger1 = ctrl || (movecontact && stateno = [200,650])
trigger2 = command = "H-ETackle" 
trigger3 = ((stateno = 1500||stateno = 2000)&& var(20)=0)||(var(20)=1 &&(stateno=1505||(stateno=2000 && time>40)))
trigger3 = var(20)=1 && time=0 && stateno = 1505 && p2life > life 
trigger3 = numpartner=0 || (numpartner=1 && life < p2life)
ignorehitpause=1

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

;Grenade Launcher
[State -1]
type = ChangeState
value = 2020 - 5*(command = "upper_y")- 5*(command = "upper_x")
triggerall = statetype != A && NumHelper(2000) = 0 && stateno < 2000
triggerall = ctrl || stateno = [200,450]
triggerall = var(20)=0 || (var(20)=1 && stateno!=420)
trigger1 = (command = "upper_x")^^(command = "upper_y")^^(command = "upper_z")
trigger2 = var(20) = 1 && P2StateType = A && random > life
trigger2 = (enemynear, vel y < 2) && p2bodydist y < const(size.mid.pos.y)
trigger3 = var(20) = 1 && P2StateType != A && movecontact && P2BodyDist Y < -50
trigger3 = P2BodyDist x > 150 ;(const(size.head.pos.y))
ignorehitpause=1

;--------------------------------
; Bereta Counter
[State -1]
type = ChangeState
value = 1400
triggerall = statetype!=A
triggerall = ctrl || (movecontact && stateno = [200,450])
triggerall = var(20)=0 || (var(20)=1 && stateno!=420 && p2movetype!=H)
trigger1 = command = "QCB_x" ^^ command = "QCB_y" ^^ command = "QCB_z"
trigger2 = var(20)=1 && random > life && time % 4 && p2bodydist x=[0,60]
trigger2 = p2stateno>=200 && p2stateno<=650
ignorehitpause=1

;--------------------------------
; Elbow Tackle (charge)
[State -1]
type = varset
triggerall = var(8)!=1
trigger1 = command = "QCF_Z"
trigger1 = ctrl || (stateno != 1500 && stateno = [200,2540])
trigger2 = MoveContact && var(20)=1 && random > life && time % 4
trigger2 = stateno = [200,650]
trigger3 = ctrl && statetype = A && var(20)=1
trigger3 = hitdefattr = SC, NA, SA, HA 
var(8)=1
ignorehitpause=1

[State -1]
type = Varset
trigger1 = command = "hold_z" && var(8)>0
trigger2 = var(20)=1 && var(8)>0 && stateno !=1500
trigger3 = stateno = [3000,4999]
var(9) = var(9) * (stateno != [3000,4999]) + ((gametime%60)=0) * var(8)
ignorehitpause=1

[State -1]
type = explod
trigger1 = var(8)>0 && (gametime%20)=0 && stateno != 1500 && roundstate=2
pos = 0, Const(size.mid.pos.y)-(Const(size.mid.pos.y)*(statetype=c||stateno=5110)/2)
postype = p1 
bindtime = -1 
sprpriority = 2 
anim = 1025
id=1025
removetime = -2
ignorehitpause=1
ownpal=1

[State -1]
type = ChangeState
value = 1525
triggerall = ctrl || (stateno = [195,650])
trigger1 = var(20)=0 && command != "hold_z" && var(8)>0
trigger2 = Var(20)=1 && var(9)>1 && (stateno=220||stateno=420||stateno=620)
ignorehitpause=1

[State -1]
type = Varset
triggerall = var(8)!=0
trigger1 = command!= "hold_z" && var(20)=0 
trigger3 = stateno = [3000,4999]
trigger2 = (stateno=220||stateno=420||stateno=620) && var(20)=1
var(8) = 0
ignorehitpause=1

[State -1]
type = Varset
trigger1 = var(8)=0 && stateno!=1500
var(9)=0
ignorehitpause=1

[State -1]
type = PalFX
triggerall = stateno!=3500
trigger1 = var(9)>0 && (Time%30)=0 && roundstate=2
time = var(9)
sinadd = 0,0,255, 10
add = 0,0,255
ignorehitpause=1

; Elbow Tackle
[State -1]
type = ChangeState
value = 1510 + 5 * (command = "QCF_Y")
triggerall = var(20)=0 || (var(20)=1 && (stateno!=420&&statetype!=A)||(statetype=A&&var(3)!=[1,14]))
trigger1 = command = "QCF_X" ^^ command = "QCF_Y"
trigger1 = ctrl || (Movecontact && stateno = [200,650])
trigger2 = MoveContact && var(20)=1 && random > life && (time % 4)=0
trigger2 = stateno = [200,650]
ignorehitpause=1

;--------------------------------
; Chama co
[State -1]
type = ChangeState
value = 2505
triggerall = ctrl || (movecontact && stateno = [200,450])
triggerall = statetype!=A && NumHelper(2600)=0
triggerall = roundstate = 2 && p2life != 0
triggerall = var(20)=0 || (var(20)=1 && stateno!=420)
trigger1 = command = "Dog_A"
trigger2 = var(20)=1 && random > life && time % 4 
trigger2 = backedgebodydist < abs(random/6) && stateno != 100
trigger2 = (var(6) != 0 || frontedgedist > 150) || p2movetype = A
ignorehitpause=1

; Chama corvo
[State -1]
type = ChangeState
value = 2510
triggerall = ctrl || (movecontact && stateno = [200,450])
triggerall = statetype!=A && NumHelper(2620)=0
triggerall = roundstate = 2 && p2life!=0
trigger1 = command = "corvo_B"
trigger2 = var(20)=1 && random > life && time % 4
trigger2 = backedgebodydist < abs(random/6) && stateno != 100
trigger2 = var(6) != 0 || p2bodydist y < -80
ignorehitpause=1

;--------------------------------
; Invoca Hunter
[State -1]
type = ChangeState
value = 2515
triggerall = ctrl || (movecontact && stateno = [200,450])
triggerall = statetype!=A && NumHelper(2660)=0
triggerall = roundstate = 2 && p2life!=0
trigger1 = command = "hunter_C"
trigger2 = var(20)=1 && random > life && time % 4
trigger2 = backedgebodydist < abs(random/5) && stateno != 100
trigger2 = var(6) != 0 || p2bodydist y < -80 || p2stateno = 5030
trigger3 = var(20)=1 && random > life && time % 4 && stateno != 100
trigger3 = backedgebodydist < abs(random/5) && p2movetype = A
trigger3 = (enemy, vel y < -5); || (p2bodydist y < -100 && (enemy, vel y > -5) && stateno = 2000 && animtime =0)
ignorehitpause=1

; Chama Zumbi agarrador & Flamejante (a.i.)
[State -1]
type = ChangeState
value = 2540 + 5 * (ceil(random / 499))
triggerall = var(20) = 1 && stateno != 100 && stateno!=420
triggerall = statetype!=A && NumHelper(2630)=0 && NumHelper(2640)=0
triggerall = ctrl && random > life && roundstate = 2 && p2life!=0
triggerall = numexplod(2531)=0
ignorehitpause=1
trigger1 = p2bodydist y < -120 || p2StateNo = [5100,5120]

; Chama Zumbis
[State -1]
type = ChangeState
value = 2540 + 5*(command = "zumbi_B") + 10*(command = "zumbi_C")
trigger1 = command = "zumbi_A" ^^ command = "zumbi_B" ^^ command = "zumbi_C"
triggerall = statetype!=A && NumHelper(2630)=0 && NumHelper(2640)=0 && p2life!=0
triggerall = ctrl || (movecontact && stateno = [200,450])
triggerall = var(20)=0 || (var(20)=1 && stateno!=420)
triggerall = numexplod(2531)=0
trigger2 = var(20)=1 && random > life && time % 4
ignorehitpause=1

;-------------
;Herb
[State -1]
type = ChangeState
value = 1000
triggerall = ctrl && numpartner = 0
triggerall = Roundstate = 2 && statetype !=A
triggerall = var(20)=0 || (var(20)=1 && stateno!=420)
trigger1 = command = "Assist" && var(20)=0
trigger2 = var(20)=1 && p2life > (life + 80)
trigger2 = numhelper > 1 && backedgebodydist < 60

;--------------------------------
;Stand/Air_Throw
;--------------------------------
[State -1]
type = ChangeState
value = 800
triggerall = stateno != 100 && p2bodydist X <= 10 && ctrl
trigger1 = command = "fwd_z"
trigger2 = command = "fwd_y"
trigger3 = command = "back_z"
trigger4 = command = "back_y"

;--------------------------------
; Ground basics
;--------------------------------
;Crounch Light Punch
[State -1, Crounch Light Punch]
type = ChangeState
value = 200 + 200 * (command = "holddown")
triggerall = roundstate = 2
triggerall = command = "x"
triggerall = (statetype != A) && var(3) < 3
trigger1 = ctrl
trigger2 = (stateno = 230) && movecontact
trigger3 = (stateno = 430) && movecontact
trigger4 = (stateno = 200 || stateno = 400) && time > 7
ignorehitpause=1

;--------------------------------
;Crounch Light Kick
[State -1, Crounch Light Kick]
type = ChangeState
value = 230 + 200 * (command = "holddown")
triggerall = roundstate = 2
triggerall = command = "a"
triggerall = (statetype != A) && var(3) < 3
trigger1 = ctrl
trigger2 = (stateno = 200) && movecontact
trigger3 = (stateno = 400) && movecontact
trigger4 = (stateno = 230 || stateno = 430) && time > 7
ignorehitpause=1

;--------------------------------
;Crounch Medium Punch
[State -1, Crounch Medium Punch]
type = ChangeState
value = 210 + 200 * (command = "holddown")
triggerall = roundstate = 2
triggerall = command = "y"
triggerall = (statetype != A) && var(3) < 12
trigger1 = ctrl
trigger2 = (stateno = 200) && movecontact
trigger3 = movecontact && stateno = [230,240]
trigger4 = movecontact && stateno = [430,440]
trigger5 = (stateno = 400) && movecontact
ignorehitpause=1

;--------------------------------
;Crounch Medium Kick
[State -1, Crounch Medium Kick]
type = ChangeState
value = 240 + 200 * (command = "holddown")
triggerall = roundstate = 2
triggerall = command = "b"
triggerall = (statetype != A) && var(3) < 12
trigger1 = ctrl
trigger2 = movecontact && stateno = [200,210]
trigger3 = movecontact && stateno = 230
trigger4 = movecontact && stateno = [400,410]
trigger5 = movecontact && stateno = 430
ignorehitpause=1

;--------------------------------
;Crounch Strong Punch
[State -1, Crounch Strong Punch]
type = ChangeState
value = 220 + 200 * (command = "holddown")
triggerall = roundstate = 2
triggerall = command = "z"
trigger1 = (statetype != A)
trigger1 = ctrl
trigger2 = movecontact && stateno = [400,410]
trigger3 = movecontact && stateno = [430,440]
trigger5 = movecontact && stateno = [200,210]
trigger4 = movecontact && stateno = [230,240]
ignorehitpause=1

;--------------------------------
;Crounch Strong Kick
[State -1, Crounch Strong Kick]
type = ChangeState
value = 250 + 200 * (command = "holddown")
triggerall = roundstate = 2
triggerall = command = "c"
trigger1 = (statetype != A)
trigger1 = ctrl
trigger2 = movecontact && stateno = [400,410]
trigger3 = movecontact && stateno = [430,440]
trigger5 = movecontact && stateno = [200,210]
trigger4 = movecontact && stateno = [230,240]
ignorehitpause=1

;--------------------------------
; Air basics
;--------------------------------
;Jump Light Punch
[State -1, Jump Light Punch]
type = ChangeState
value = 600
triggerall = command = "x"
triggerall = statetype = A && var(3) < 3
trigger1 = ctrl
trigger2 = stateno = 8800 && var(20)=1 && P2MoveType=H
trigger3 = (stateno = 630) && movecontact
ignorehitpause=1

;--------------------------------
;Jump Light Kick
[State -1, Jump Light Kick]
type = ChangeState
value = 630
triggerall = command = "a"
triggerall = statetype = A  && var(3) < 3
trigger1 = ctrl
trigger2 = (stateno = 600) && movecontact
trigger3 = stateno = 8800 && var(20)=1 && P2MoveType=H
ignorehitpause=1

;--------------------------------
;Jump Medium Kick
[State -1, Jump Medium Kick]
type = ChangeState
value = 640
triggerall = command = "b"
triggerall = statetype = A && var(3) < 12
trigger1 = ctrl
trigger2 = movecontact && stateno = [600,610]
trigger3 = movecontact && stateno = 630
ignorehitpause=1

;--------------------------------
;Jump Medium Punch
[State -1, Jump Medium Punch]
type = ChangeState
value = 610
triggerall = command = "y"
triggerall = statetype = A && var(3) < 12
trigger1 = ctrl
trigger2 = (stateno = 600) && movecontact
trigger3 = movecontact && stateno = [630,640]
ignorehitpause=1

;--------------------------------
;Jump Strong Punch
[State -1, Jump Strong Punch]
type = ChangeState
value = 620
triggerall = command = "z"
trigger1 = statetype = A && var(3) < 16
trigger1 = ctrl
trigger2 = movecontact && stateno = [600,610]
trigger3 = movecontact && stateno = [630,640]
ignorehitpause=1

;--------------------------------
;Jump Strong Kick
[State -1, Jump Strong Kick]
type = ChangeState
value = 650
triggerall = command = "c"
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = movecontact && stateno = [600,610]
trigger3 = movecontact && stateno = [630,640]
ignorehitpause=1

;--------------------------------
;Taunt
[State -1, Taunt]
type = ChangeState
value = 195
triggerall = command = "start"
triggerall = statetype != A && ctrl
trigger1 = var(20) != 1
trigger2 = random < life && var(20)=1


; AI Standing Guard
; ==========================
[State -1]
type = ChangeState
triggerall = var(20) = 1
triggerall = Statetype != A
triggerall = P2statetype != C
triggerall = Statetype = S
triggerall = P2Movetype = A
triggerall = Pos Y != [-1,-999]
triggerall = ctrl
triggerall = facing != (enemynear, facing)
trigger1 = random > (enemynear, movecontact)*500
value = 130 ;Default standing guard state


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


; AI Crouching Guard
; =============================
[State -1]
type = ChangeState
triggerall = var(20) = 1
triggerall = StateType != A
triggerall = P2statetype = C
triggerall = P2Movetype = A
triggerall = Pos Y != [-1,-999]
triggerall = ctrl
triggerall = facing != (enemynear, facing)
trigger1 = random > (enemynear, movecontact)*500
value = 131


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


; AI Aerial Guard
; =============================
[State -1]
type = ChangeState
triggerall = var(20) = 1
triggerall = Statetype = A
triggerall = P2Movetype = A
triggerall = ctrl
triggerall = facing != (enemynear, facing)
trigger1 = random > life
value = 132

[State -1]
type = destroyself
triggerall=ishelper
trigger1 = stateno = 0 || anim = 0
