; BlazeKori's constants.
; Format (case insensitive):
;  [groupname]        
;  constname = value  

[Data]
life = 1000          ;Amount of life to start with
attack = 100         ;100% attack power (more is stronger)
defence = 100         ;100% defensive power (more is stronger)
fall.defence_up = 45 ;Def goes up by 50% everytime player is hit on ground
liedown.time = 36    ;Time player takes before getting up from HIT_LIEDOWN
airjuggle = 15       ;Can do 15 points of juggling
sparkno = 2        ;Default spark number
guard.sparkno = 40 ;Default guard spark number
KO.echo = 1          ;1 to enable echo on KO
volume = 0           ;Volume offset (negative for softer)

[Size]
xscale = 1           ;Horizontal scaling factor.
yscale = 1           ;Vertical scaling factor.
ground.back = 11     ;Player width (back, ground)
ground.front = 11    ;Player width (front, ground)
height = 60          ;Height of Player (for opponent to jump over)
air.back = 10        ;Player width (back, air)
air.front = 10       ;Player width (front, air)
z.width = 3          ;Player width (into and out)
attack.width = 4,4   ;Default attack width: back, front
attack.dist = 160    ;Default attack distance
proj.attack.dist = 90 ;Default attack distance for projectiles
proj.doscale = 0     ;Set to 1 to scale projectiles too   
head.pos = 0, -60
mid.pos = 0, -30

[Velocity]
walk.fwd  = 2.3      ;Walk forward
walk.back = -2.2     ;Walk backward
run.fwd  = 5, 0    ;Run forward (x, y)  - if y<0, player will hop
run.back = -5,-4 ;Run backward (x, y) - if y=0, player will run
jump.neu = 0,-9    ;Neutral jumping velocity (x, y)
jump.back = -2.7   ;Jump back Speed (x, y)
jump.fwd = 2.8       ;Jump forward Speed (x, y)
runjump.back = -3,-5.2 ;Running jump speeds (opt)
runjump.fwd = 4,-9      ;.
airjump.neu = 0,-7      ;.
airjump.back = -2,-7 ;Air jump speeds (opt)
airjump.fwd = 2,-7    ;.

[Movement]
airjump.num = 0    ;Number of air jumps allowed (opt)
airjump.height = 25  ;Minimum distance from ground before you can air jump (opt)
yaccel = .43         ;Vertical acceleration
stand.friction = .85  ;Friction coefficient when standing
crouch.friction = .82 ;Friction coefficient when crouching

;---------------------------------------------------------------------------
; Format:
; [Statedef STATENO]
; type = ?      S/C/A/L  stand/crouch/air/liedown
; movetype = ?  I/A/H    idle/attack/gethit
; physics = ?   S/C/A/N  stand/crouch/air/none
; juggle = ?             air juggle points move requires
;
; [State STATENO, ?]     ? - any number you choose
; type = ?
; ...

;---------------------------------------------------------------------------
; Stand
[Statedef 0]
type = S
physics = S
sprpriority = 0

[State 0, 1a]
type = ChangeAnim
trigger1 = Anim != 0 && Anim != 5
trigger2 = Anim = 5 && AnimTime = 0 ;Turn anim over
value = 0

[State 0, 2]
type = VelSet
trigger1 = Time = 0
y = 0

[State 0, 3] ;Stop moving if low velocity or 4 ticks pass
type = VelSet
trigger1 = abs(vel x) < 2
trigger2 = Time = 4
x = 0

;---------------------------------------------------------------------------
; TURNING_STAND
[Statedef 5]
type = S
physics = S

[State 5, 1]
type = ChangeAnim
trigger1 = Time = 0
value = 5

[State 5, 2]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
;---------------------------------------------------------------------------
; TURNING_CROUCH
[Statedef 6]
type = C
physics = C

[State 6, 1]
type = ChangeAnim
trigger1 = Time = 0
value = 6

[State 6, 2]
type = ChangeState
trigger1 = AnimTime = 0
value = 11
ctrl = 1

;---------------------------------------------------------------------------
; Jump Start
[Statedef 40]
type    = S
physics = S
anim = 40
ctrl = 0

[State 40, 0.0]
type = VarSet
trigger1 = Time = 0
var(8) = 0

[State 40, 0.1]
type = VarSet
trigger1 = command = "holdfwd"
trigger1 = var(8) != 2
var(8) = 1

[State 40, 0.2]
type = VarSet
trigger1 = command = "holdback"
trigger1 = var(8) != -2
var(8) = -1

[State 40, 0.1b]
type = VarSet
triggerall = Time = 0
triggerall = command = "holdfwd"
trigger1 = command = "longjump"
trigger2 = prevstateno = 100 ;RUN_FWD
var(8) = 2

[State 40, 0.2b]
type = VarSet
trigger1 = Time = 0
trigger1 = command = "holdback"
trigger1 = command = "longjump"
var(8) = -2

[State 40, 4]
type = ChangeState
triggerall = AnimTime = 0
trigger1 = var(8) != 0
trigger1 = var(8) != 1
trigger1 = var(8) != -1
trigger1 = command = "holdup"
trigger2 = command != "holdup"
value = 2041

[State 40, 5]
type = VelSet
trigger1 = AnimTime = 0
x = ifelse(var(8)=0, const(velocity.jump.neu.x), ifelse(var(8)>0, const(velocity.jump.fwd.x), const(velocity.jump.back.x)))
y = const(velocity.jump.y)

[State 40, 6]
type = ChangeState
trigger1 = AnimTime = 0
value = 50
ctrl = 1


;---------------------------------------------------------------------------
; Jump Up
[Statedef 50]
type    = A
physics = A

; Este state verifica se o variável do Sankaku Tobi está ligado!!!
; Se for 1, o char fez um Sankaku Tobi, então não haverá som do Jump!!!
; Se for 0, o char executou um salto normal parado ou em qualquer direção, então haverá o som!!!!
[State 50, 0]
type = PlaySnd
triggerall = Var(29) != 1
trigger1 = Time = 0
value = 40,0

[State 50, 1]
type = VarSet
trigger1 = Time = 0
sysvar(1) = 0

; Agora desligo o State para que aquela regra acima funcione!!!!
[State 50, Var_OFF]
type = VarSet
trigger1 = Time = 1
v = 29
value = 0

[State 50, 2]
type = ChangeAnim
trigger1 = Time = 0
value = ifelse((vel x)=0, 41, ifelse((vel x)>0, 42, 43))

[State 50, 3]
type = ChangeAnim
trigger1 = Vel y > -2
trigger1 = SelfAnimExist(anim + 3)
persistent = 0
value = Anim + 3

;---------------------------------------------------------------------------
; Jump Start(short)
[Statedef 2041]
type    = A
physics = A
velset = 0, -6.4
ctrl = 1

[State 2041, 1a] ; Play sound when jumping (normal)
type = PlaySnd
trigger1 = Time = 0
trigger1 = var(8) != -2
trigger1 = var(8) != 2
value = 40,0

[State 2041, 1b] ; Play sound when jumping (long)
type = PlaySnd
triggerall = Time = 0
trigger1 = var(8) = -2
trigger2 = var(8) = 2
value = 40,1

[State 2041, -0.1] ;Holding up?
type = VelSet
trigger1 = Time = 0
trigger1 = command = "holdup"
y = -9

[State 2041, 0.1]
type = VelSet
trigger1 = Time = 0
trigger1 = Var(8) = 1
x = 2.6

[State 2041, 0.1b]
type = VelSet
trigger1 = Time = 0
trigger1 = Var(8) = 2
x = 3.8

[State 2041, 0.2]
type = VelSet
trigger1 = Time = 0
trigger1 = Var(8) = -1
x = -2.7

[State 2041, 0.2b]
type = VelSet
trigger1 = Time = 0
trigger1 = Var(8) = -2
x = -3.9

[State 2041, 1.1]
type = ChangeAnim
trigger1 = Time = 0
trigger1 = Vel X = 0
trigger1 = command = "holdup"
value = 41

[State 2041, 1.2] ;Short
type = ChangeAnim
trigger1 = Time = 0
trigger1 = Vel X = 0
trigger1 = command != "holdup"
value = 48

[State 2041, 2.1]
type = ChangeAnim
trigger1 = Time = 0
trigger1 = Vel X > 0
trigger1 = command = "holdup"
value = 42

[State 2041, 2.2] ;Short
type = ChangeAnim
trigger1 = Time = 0
trigger1 = Vel X > 0
trigger1 = command != "holdup"
value = 48

[State 2041, 3.1]
type = ChangeAnim
trigger1 = Time = 0
trigger1 = Vel X < 0
trigger1 = command = "holdup"
value = 43

[State 2041, 3.2] ;Short
type = ChangeAnim
trigger1 = Time = 0
trigger1 = Vel X < 0
trigger1 = command != "holdup"
value = 48

;---------------------------------------------------------------
; Run Forward
[Statedef 100]
type    = S
physics = S
anim = 100
sprpriority = 1

[State 100, 1a]
type = PlaySnd
trigger1 = AnimElem = 2
trigger2 = AnimElem = 5
value = 99,0
volume = 0

[State 100, xplod1]
type = Explod
trigger1 = AnimElem = 3
postype = p1
pos = -25,0
ontop = 1
anim = 101
ID = 101
removetime = 8

[State 100, xplod2]
type = Explod
trigger1 = AnimElem = 6
postype = p1
pos = -25,0
ontop = 1
anim = 101
ID = 102
removetime = 8

[State 100, 1b]
type = VelSet
trigger1 = 1
x = const(velocity.run.fwd.x)

[State 100, 2] ;Prevent run from canceling into walk
type = AssertSpecial
trigger1 = 1
flag = NoWalk

[State 100, 3] ;Prevent from turning
type = AssertSpecial
trigger1 = 1
flag = NoAutoTurn

[State 100, 4]
type = ChangeState
trigger1 = command != "holdfwd"
value = 0

;---------------------------------------------------------------------------
; Backdash (launch)
[Statedef 105]
type = S
movetype = I
physics = S
anim = 105
velset = 0
ctrl = 0

[State 105, 1]
type = ChangeState
trigger1 = AnimTime = 0
value = 106
;---------------------------------------------------------------------------
; Backdash (in the air)
[Statedef 106]
type = A
movetype = I
physics = N
anim = 106

[State 105, 1]
type = VelSet
trigger1 = Time = 0
x = const(velocity.run.back.x)
y = const(velocity.run.back.y)

[State 106, 1]
type = PlaySnd
trigger1 = Time = 0
value = 105,0

[State 106, 2]
type = VelAdd
trigger1 = Time > 0
y = .4

[State 106, 3]
type = ChangeState
trigger1 = Pos Y >= 0
trigger1 = Vel Y > 0
value = 107
;---------------------------------------------------------------------------
; Backdash (landing)
[Statedef 107]
type = S
movetype = I
physics = S
anim = 107
velset = 0,0

[State 107, 1]
type = PosSet
trigger1 = Time = 0
y = 0

[State 107, 2]
type = PlaySnd
trigger1 = Time = 0
value = 52,0

[State 107, 3]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
;---------------------------------------------------------------
; LOSE (Time over)
[Statedef 170]
type = S
ctrl = 0
anim = 170
velset = 0,0,0

[State 170, 1]
type = NotHitBy
trigger1 = Time >= 0
value = SCA
time = 1

;---------------------------------------------------------------------------
; WIN
[Statedef 180]
type = S
ctrl = 0

[State 180, 1]
type = VarRandom
trigger1 = Time = 0
v = 1
range = 0,100

[State 180, 1]
type = ChangeState
trigger1 = Var(1) = [ 0, 50]
value = 181

[State 180, 2]
type = ChangeState
trigger1 = Var(1) = [ 51, 100]
value = 182

;---------------------------------------------------------------------------
; WIN 1
[Statedef 181]
type = S
anim = 181
ctrl = 0

[State 181, 1]
type = PlaySnd
trigger1 = AnimElem = 2
channel = 0
value = 181,0

[State 181, 2]
type = NotHitBy
trigger1 = Time >= 0
value = SCA
time = 1

;---------------------------------------------------------------------------
; WIN 2
[Statedef 182]
type = S
anim = 182
ctrl = 0

[State 181, 1]
type = PlaySnd
trigger1 = AnimElem = 3
channel = 0
value = 181,0

[State 181, 2]
type = NotHitBy
trigger1 = Time >= 0
value = SCA
time = 1

;---------------------------------------------------------------------------
; INTRO
[Statedef 191]
type = S
ctrl = 0

[State 180, 1]
type = VarRandom
trigger1 = Time = 0
v = 9
range = 0,100

[State 180, 2]
type = ChangeState
triggerall = P2name != "Mercedes Benz"
triggerall = P2name != "SS1 Bonus"
trigger1 = Var(9) = [ 0, 50]
value = 192

[State 180, 3]
type = ChangeState
triggerall = P2name != "Mercedes Benz"
triggerall = P2name != "SS1 Bonus"
trigger1 = Var(9) = [ 51, 100]
value = 192

[State 180, 3]
type = ChangeState
trigger1 = P2name = "Mercedes Benz"
trigger2 = P2name = "SS1 Bonus"
value = 199

;---------------------------------------------------------------------------
; INTRO
[Statedef 192]
type = S
ctrl = 0
velset = 0,0,0
anim = 191

[State 191, PlaySnd1]
type = PlaySnd
trigger1 = Time = 20
channel = 0
value = 191,0

[State 191, PlaySnd2]
type = PlaySnd
trigger1 = Time = 101
channel = 1
value = 191,1

[State 191, 1] ;Fogo
type = Explod
trigger1 = Time = 20
anim = 190
removetime = 91
pos = -13,-53
postype = p1
ontop = 1

[State 191, 2];Tempo
type = AssertSpecial
trigger1 = Time = [0, 141]
flag = Intro

[State 191, 3] 
type = ChangeState
trigger1 = AnimTime = 0
value = 0

;---------------------------------------------------------------------------
; INTRO (Mercedes Benz)
[Statedef 199]
type = S
ctrl = 0
anim = 0
velset = 0,0,0

[State 199, Final]
type = ChangeState
trigger1 = AnimTime = 0
value = 0

;---------------------------------------------------------------------------
; PROVOCATE
[Statedef 390]
type = S
movetype = I
ctrl = 0

[State 390, 1]
type = ChangeAnim
trigger1 = Var(2)!= 1
trigger1 = Time = 0
value = 390

[State 390, 2]
type = VarSet
trigger1 = Anim = 390
trigger1 = Var(2)!= 1
v = 2
value = 1

[State 390, Acres1]
type = PowerAdd
trigger1 = Time = 0
value = 600

[State 390, 3]
type = ChangeState
trigger1 = Anim = 390
trigger1 = AnimTime = 0
value = 0
ctrl = 1

[State 390, SNd]
type = PlaySnd
trigger1 = AnimElem = 2
value = 1,0
channel = 0

;---------------------------------------------------------------------------
; STAND_LIGHT_PUNCH
[Statedef 200]
type = S
movetype = A
physics = S
anim = 200
poweradd = 5
velset = 0
ctrl = 0

[State 200, 1]
type = PlaySnd
trigger1 = Time = 0
value = 0,0

[State 200, 2]
type = PlaySnd
trigger1 = Time = 0
trigger1 = Random < 500
value = 1,0

[State 200, 3]
type = HitDef
trigger1 = AnimElem = 2
attr = S, NA
animtype = Light
damage = 10, 1
getpower = 20, 10
givepower = 10, 5
guardflag = M
pausetime = 8,9
sparkxy = -19,-37
sparkno = 0
hitsound = S2,0
guardsound = 6,0
ground.type = High
ground.slidetime = 8
ground.hittime = 8
ground.velocity = -3.5
air.velocity = -2,-3
airguard.velocity = -3,-2.5

[State 200, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; STAND_FIERCE_PUNCH (close)
[Statedef 210]
type = S
movetype = A
physics = S
anim = 210
poweradd = 30
velset = 0
ctrl = 0

[State 210, 1]
type = PlaySnd
trigger1 = Time = 0
value = 0,2

[State 210, 2]
type = PlaySnd
trigger1 = Time = 0
trigger1 = Random < 500
value = 1,1

[State 210, 3]
type = HitDef
trigger1 = AnimElem = 3
attr = S, NA
animtype = Hard
getpower = 40, 20
givepower = 20, 10
damage = 20, 2
guardflag = M
pausetime = 12,12
sparkno = 2
sparkxy = -39,-35
hitsound = S2,2
guardsound = 6,0
ground.type = High
ground.slidetime = 13
ground.hittime = 18
ground.velocity = -6.5
air.velocity = -4,-2.5

[State 210, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; STAND_FIERCE_PUNCH
[Statedef 215]
type = S
movetype = A
physics = S
anim = 215
poweradd = 30
velset = 0
ctrl = 0

[State 210, 1]
type = PlaySnd
trigger1 = Time = 0
value = 0,2

[State 210, 2]
type = PlaySnd
trigger1 = Time = 0
trigger1 = Random < 500
value = 1,1

[State 210, 3]
type = HitDef
trigger1 = AnimElem = 2
attr = S, NA
animtype = Hard
getpower = 40, 20
givepower = 20, 10
damage = 20, 2
guardflag = M
pausetime = 12,12
sparkno = 2
sparkxy = -39,-35
hitsound = S2,2
guardsound = 6,0
ground.type = High
ground.slidetime = 13
ground.hittime = 18
ground.velocity = -6.5
air.velocity = -4,-2.5

[State 210, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; STAND LIGHT KICK
[Statedef 220]
type = S
movetype = A
physics = S
anim = 220
poweradd = 20
juggle = 8
velset = 0
ctrl = 0

[State 220, 1]
type = PlaySnd
trigger1 = AnimELem = 2
value = 0,0
channel = 0

[State 220, 2]
type = PlaySnd
trigger1 = AnimElem = 3
trigger1 = Random < 500
value = 1,0
channel = 1

[State 220, 3]
type = HitDef
trigger1 = AnimElem = 3
attr = S, NA
animtype = Light
damage = 10, 1
guardflag = M
getpower = 25, 12
givepower = 12, 6
pausetime = 10,10
sparkxy = -39,-42
hitsound = S2,0
guardsound = 6,0
ground.type = Low
ground.slidetime = 5
ground.hittime = 15
ground.velocity = -4
air.velocity = -1.3,-1

[State 220, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; STAND HIGH KICK
[Statedef 230]
type = S
movetype = A
physics = S
anim = 230
poweradd = 30
ctrl = 0
velset = 0

[State 230, Fix1]
type = VarSet
trigger1 = Time = 0
V = 1
value = 0

[State 230, 2]
type = PlaySnd
trigger1 = AnimElem = 3
value = 0,1

[State 230, 3]
type = PlaySnd
trigger1 = AnimElem = 2
trigger1 = Random < 500
value = 1,1

[State 230, 4]
type = HitDef
trigger1 = AnimElem = 4
attr = S, NA
animtype = Medium
damage = 15,2
getpower = 32, 16
givepower = 16, 8
guardflag = M
pausetime = 12,12
sparkno = 1
sparkxy = -27,-34
hitsound = S2,1
guardsound = 6,0
ground.type = High
ground.slidetime = 20
ground.hittime = 23
ground.velocity = -5
air.velocity = -3.5,-3

[State 1000, Command]
type = ChangeState
trigger1 = Var(1) = 1
trigger1 = AnimElem = 4, 1
value = 236

[State 230, 5]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

; INAZUMA KAKATO WARI (shortcut)
[Statedef 236]
type = S
movetype = A
physics = S
anim = 236
poweradd = 30
ctrl = 0
velset = 0

[State 236, Fix1]
type = VarSet
trigger1 = Time = 0
V = 1
value = 0

[State 235, Pos]
type = PosAdd
trigger1 = AnimElem = 2
trigger2 = AnimElem = 3
x = 4

[State 230, 2b]
type = PlaySnd
trigger1 = AnimElem = 2
value = 1,1
channel = 0

[State 230, 3]
type = PlaySnd
trigger1 = AnimElem = 2
value = 0,2
channel = 1

[State 235, 2a]
type = HitDef
trigger1 = AnimElem = 3
attr = S, NA
animtype  = Heavy
guardflag = MA
damage = 10, 1
pausetime = 10,10
getpower = 12, 6
givepower = 6, 3
sparkxy = 14,-17
sparkno = 2
hitsound   = S2,1
guardsound = 6,0
ground.type = High
ground.slidetime = 4
ground.hittime  = 4
ground.velocity = -5.96
air.velocity = -5.96,-1.40

[State 235, 2b]
type = HitDef
trigger1 = AnimElem = 4
attr = S, NA
animtype  = Heavy
guardflag = MA
damage = 15, 2
pausetime = 10,10
getpower = 12, 6
givepower = 6, 3
sparkxy = 14,-17
sparkno = 2
hitsound   = S2,2
guardsound = 6,0
ground.type = High
ground.slidetime = 12
ground.hittime  = 12
ground.velocity = -5.96
air.velocity = -5.96,-1.40

[State 235, 5]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; INAZUMA KAKATO WARI
[Statedef 235]
type = S
movetype = A
physics = S
anim = 235
poweradd = 30
ctrl = 0
velset = 0

[State 235, Pos]
type = PosAdd
trigger1 = AnimElem = 5
trigger2 = AnimElem = 6
x = 4

[State 230, 2a]
type = PlaySnd
trigger1 = AnimElem = 2
value = 1,0
channel = 0

[State 230, 2b]
type = PlaySnd
trigger1 = AnimElem = 5
value = 1,1
channel = 0

[State 230, 3]
type = PlaySnd
trigger1 = AnimElem = 5
value = 0,2
channel = 1

[State 235, 2a]
type = HitDef
trigger1 = AnimElem = 6
attr = S, NA
animtype  = Heavy
guardflag = MA
damage = 10, 1
pausetime = 10,10
getpower = 12, 6
givepower = 6, 3
sparkxy = 14,-17
sparkno = 2
hitsound   = S2,1
guardsound = 6,0
ground.type = High
ground.slidetime = 4
ground.hittime  = 4
ground.velocity = -5.96
air.velocity = -5.96,-1.40

[State 235, 2b]
type = HitDef
trigger1 = AnimElem = 7
attr = S, NA
animtype  = Heavy
guardflag = MA
damage = 15, 2
pausetime = 10,10
getpower = 12, 6
givepower = 6, 3
sparkxy = 14,-17
sparkno = 2
hitsound   = S2,2
guardsound = 6,0
ground.type = High
ground.slidetime = 12
ground.hittime  = 12
ground.velocity = -5.96
air.velocity = -5.96,-1.40

[State 235, 5]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; KNOCKDOWN_ATTACK
[Statedef 240]
type    = S
movetype= A
physics = S
juggle  = 2
poweradd = 40
ctrl = 0
velset = 0,0
anim = 240

[State 240, Pos]
type = PosAdd
trigger1 = AnimElem = 2
trigger2 = AnimElem = 3
trigger3 = AnimElem = 4
x = 3

[State 240, 1]
type = PlaySnd
trigger1 = AnimElem = 3
value = 0, 2

[State 240, 2]
type = PlaySnd
trigger1 = Random < 200
trigger1 = AnimElem = 2
value = 1,2

[State 240, 4]
type = HitDef
trigger1 = AnimElem = 4
attr = S, NA
animtype = DiagUp
damage = 40, 3
getpower = 25, 12
givepower = 12, 6
guardflag = M
pausetime = 12,12
sparkno = 2
sparkxy = -35,-12
hitsound = S2,4
guardsound = 6,0
ground.type = High
ground.slidetime = 20
ground.hittime = 23
ground.velocity = -4,-4
air.velocity = -3.5,-4
fall = ifelse(p2name = "Mercedes Benz",0, 1)

[State 240, Change]
type = Changestate
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; Stand Dodge
[Statedef 254]
type = S
physics = S
ctrl = 0
velset = 0,0
anim = 254

[State 254, ImageA]
type = AfterImage
trigger1 = Time = 0
time = 2
palcolor = 256
palinvertall = 0
palbright = 0,0,0
palcontrast = 255,255,255
palpostbright = 0,0,0

[State 254, ImageB]
type = AfterImageTime
trigger1 = Time = [1,21]
time = 2

[State 254, 2]
type = PlaySnd
trigger1 = Time = 1
value = 1,0

[State 254, 3]
type = SprPriority
trigger1 = Time = 0
value = -1

[State 254, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
;CROUCH_LIGHT_PUNCH
[Statedef 400]
type    = C
movetype= A
physics = C
juggle  = 7
poweradd = 5
ctrl = 0
anim = 400

[State 400, 1]
type = PlaySnd
trigger1 = Time = 0
value = 0,0

[State 400, 2]
type = PlaySnd
trigger1 = Time = 0
trigger1 = Random < 500
value = 1,0

[State 400, 3]
type = HitDef
trigger1 = AnimElem = 2
attr = C, NA
animtype = Light
damage = 10, 1
getpower = 20, 10
givepower = 10, 5
guardflag = M
pausetime = 8,9
sparkxy = -22,-24
sparkno = 0
hitsound = S2,0
guardsound = 6,0
ground.type = High
ground.slidetime = 8
ground.hittime = 8
ground.velocity = -3.5
air.velocity = -2,-3
airguard.velocity = -3,-2.5

[State 400, 3b]
type = CtrlSet
trigger1 = Time = 9
value = 1

[State 400, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 11

;---------------------------------------------------------------------------
;CROUCH_HARD_PUNCH
[Statedef 410]
type    = C
movetype= A
physics = C
juggle  = 10
poweradd = 30
ctrl = 0
anim = 410

[State 410, 1]
type = PlaySnd
trigger1 = Animelem = 3
value = 0,1

[State 410, 2]
type = PlaySnd
trigger1 = Animelem = 3
trigger1 = Random < 500
value = 1,1

[State 410, 3]
type = HitDef
trigger1 = AnimElem = 3
attr = C, NA
animtype = Hard
getpower = 40, 20
givepower = 20, 10
damage = 20, 2
guardflag = M
pausetime = 12,12
sparkno = 2
sparkxy = -31,-24
hitsound = S2,2
guardsound = 6,0
ground.type = High
ground.slidetime = 13
ground.hittime = 18
ground.velocity = -6.5
air.velocity = -4,-2.5

[State 410, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 11
ctrl = 1

;---------------------------------------------------------------------------
;CROUCH_HARD_UPPERCUT
[Statedef 415]
type    = C
movetype= A
physics = C
juggle  = 10
poweradd = 30
ctrl = 0
anim = 415

[State 415, 1]
type = PlaySnd
trigger1 = Animelem = 2
value = 0,2

[State 415, 2]
type = PlaySnd
trigger1 = Animelem = 3
trigger1 = Random < 500
value = 1,1

[State 415, 3]
type = HitDef
trigger1 = AnimElem = 3
attr = C, NA
animtype = Hard
getpower = 40, 20
givepower = 20, 10
damage = 20, 2
guardflag = M
pausetime = 12,12
sparkno = 2
sparkxy = -31,-24
hitsound = S2,2
guardsound = 6,0
ground.type = High
ground.slidetime = 13
ground.hittime = 18
ground.velocity = -3,-5
air.velocity = -3,-5

[State 415, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 11
ctrl = 1

;---------------------------------------------------------------------------
;CROUCH_LIGHT_KICK
[Statedef 420]
type    = C
movetype= A
physics = C
juggle  = 8
poweradd= 20
ctrl = 0
anim = 420

[State 420, 1]
type = PlaySnd
trigger1 = Time = 0
value = 0,0

[State 420, 2]
type = PlaySnd
trigger1 = Time = 0
trigger1 = Random < 500
value = 1,0

[State 420, 3]
type = HitDef
trigger1 = AnimElem = 2
attr = C, NA
animtype = Light
damage = 10, 1
guardflag = M
getpower = 25, 12
givepower = 12, 6
pausetime = 10,10
sparkxy = -27,-5
hitsound = S2,0
guardsound = 6,0
ground.type = Low
ground.slidetime = 5
ground.hittime = 15
ground.velocity = -4
air.velocity = -1.3,-1

[State 420, 3b]
type = CtrlSet
trigger1 = Time = 9
value = 1

[State 420, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 11

;---------------------------------------------------------------------------
;CROUCH_MEDIUM_KICK
[Statedef 425]
type    = C
movetype= A
physics = C
juggle  = 8
poweradd= 20
ctrl = 0
anim = 425

[State 420, 1]
type = PlaySnd
trigger1 = Time = 0
value = 0,0

[State 420, 2]
type = PlaySnd
trigger1 = Time = 0
trigger1 = Random < 500
value = 1,0

[State 420, 3]
type = HitDef
trigger1 = AnimElem = 3
attr = C, NA
animtype = Medium
damage = 15, 1
guardflag = M
getpower = 25, 12
givepower = 12, 6
pausetime = 10,10
sparkxy = -27,-5
hitsound = S2,1
guardsound = 6,0
ground.type = Low
ground.slidetime = 5
ground.hittime = 15
ground.velocity = -4
air.velocity = -1.3,-1

[State 420, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 11
ctrl = 1
;---------------------------------------------------------------------------
;CROUCH_SWEEP_KICK
[Statedef 430]
type    = C
movetype= A
physics = C
juggle  = 15
poweradd= 30
ctrl = 0
anim = 430

[State 430, 2]
type = PlaySnd
trigger1 = Time = 0
value = 0,2

[State 430, 3]
type = PlaySnd
trigger1 = AnimElem = 2
trigger1 = Random < 500
value = 1,1

[State 430, 3]
type = HitDef
trigger1 = AnimElem = 2
attr = C, NA
damage   = 20, 2
getpower = 30, 15
givepower = 15, 7
guardflag = L
pausetime = 11,12
sparkno = 2
sparkxy = -40,-13
hitsound   = S2,2
guardsound = 6,0
ground.type = Trip
ground.slidetime = 18
ground.hittime  = 25
guard.hittime = 36
guard.ctrltime = 36
ground.velocity = -2,-4
guard.velocity = -6
air.velocity = -2.4,-3.5
airguard.velocity = -3,-3
fall = ifelse(p2name = "Mercedes Benz",0, 1)

[State 430, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 11
ctrl = 1

;---------------------------------------------------------------------------
;JUMP_LIGHT_PUNCH
[Statedef 600]
type    = A
movetype= A
physics = A
juggle  = 4
poweradd= 20
ctrl = 0
anim = 600

[State 600, 1]
type = PlaySnd
trigger1 = Time = 3
value = 0,0

[State 600, 2]
type = PlaySnd
trigger1 = Time = 4
trigger1 = Random < 500
value = 1,0

[State 600, 3]
type = HitDef
trigger1 = AnimElem = 2
attr = A, NA
animtype = Light
damage = 10, 1
guardflag = HA
getpower = 20, 10
givepower = 10, 5
pausetime = 8,9
sparkxy = -32,-52
sparkno = 0
hitsound = S2,0
guardsound = 6,0
ground.type = High
ground.slidetime = 8
ground.hittime = 8
ground.velocity = -1.6
air.velocity = -1.2,-1.9
airguard.velocity = -2,-2
guard.velocity = -2

[State 600, 3]
type = CtrlSet
trigger1 = Time = 10
value = 1

[State 600, 4]
type = ChangeState
trigger1 = Vel Y > 0 
trigger1 = Pos Y >= 0
value = 50

;---------------------------------------------------------------------------
;JUMP_HARD_PUNCH
[Statedef 610]
type    = A
movetype= A
physics = A
juggle  = 8
poweradd= 30
ctrl = 0
anim = 610

[State 610, 1]
type = PlaySnd
trigger1 = Time = 0
value = 0,1

[State 610, 2]
type = PlaySnd
trigger1 = AnimElem = 2
trigger1 = Random < 500
value = 1,1
volume = 0

[State 610, 2]
type = HitDef
trigger1 = AnimElem = 2
attr = A, NA
animtype  = Hard
damage    = 20, 2
priority = 4
hitflag = MA
guardflag = HA
getpower = 30, 15
givepower = 15, 7
pausetime = 9,9
sparkno = 1
sparkxy = -28,-27
hitsound   = S2,1
guardsound = 6,0
ground.type = Low
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = -5
air.velocity = -2.5,-3

[State 610, 3]
type = ChangeState
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = 50
ctrl = 1

;---------------------------------------------------------------------------
;JUMP_LIGHT_KICK (move)
[Statedef 620]
type    = A
movetype= A
physics = A
juggle  = 6
poweradd= 20
ctrl = 0
anim = 620

[State 620, 1]
type = PlaySnd
trigger1 = AnimELem = 2
value = 0,0

[State 620, 2]
type = PlaySnd
trigger1 = AnimElem = 3
trigger1 = Random < 500
value = 1,0

[State 620, 3a]
type = HitDef
trigger1 = AnimElem = 3
attr = A, NA
animtype = Light
damage = 10, 1
guardflag = HA
getpower = 25, 12
givepower = 12, 6
pausetime = 5,5
sparkxy = -7,-33
sparkno = 0
hitsound = S2,0
guardsound = 6,0
ground.type = High
ground.slidetime = 25
ground.hittime = 19
ground.velocity = -3.5
air.velocity = -2,-3
airguard.velocity = -3,-2.5

[State 620, 3c]
type = ChangeState
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = 50

;---------------------------------------------------------------------------
;JUMP_LIGHT_KICK (stand)
[Statedef 625]
type    = A
movetype= A
physics = A
juggle  = 7
poweradd= 20
ctrl = 0
anim = 625

[State 625, 1]
type = PlaySnd
trigger1 = Time = 3
value = 0,0

[State 625, 2]
type = PlaySnd
trigger1 = AnimElem = 2
trigger1 = Random < 500
value = 1,0
volume = 0

[State 625, 3]
type = HitDef
trigger1 = AnimElem = 2
attr = A, NA
animtype  = Medium
damage    = 10, 1
priority = 4
hitflag = MA
guardflag = HA
getpower = 25, 12
givepower = 12, 6
pausetime = 9,9
sparkno = 2
sparkxy = -16,-58
hitsound   = S2,1
guardsound = 6,0
ground.type = High
ground.slidetime = 12
ground.hittime = 19
ground.velocity = -1,-5
air.velocity = -4,-3

[State 625, 4]
type = ChangeState
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = 50
ctrl = 1

;---------------------------------------------------------------------------
;JUMP_HEAVY_KICK (move)
[Statedef 630]
type    = A
movetype= A
physics = A
juggle  = 10
poweradd= 30
ctrl = 0
anim = 630

[State 630, 1]
type = PlaySnd
trigger1 = AnimElem = 2
value = 0,1

[State 630, 2]
type = PlaySnd
trigger1 = AnimElem = 3
trigger1 = Random < 500
value = 1,1
volume = 0

[State 630, 3]
type = HitDef
trigger1 = AnimElem = 3
attr = A, NA
animtype  = Heavy
damage    = 15, 2
priority = 4
hitflag = MA
guardflag = HA
getpower = 35, 17
givepower = 17, 8
pausetime = 9,9
sparkno = 2
sparkxy = -43,-31
hitsound   = S2,2
guardsound = 6,0
ground.type = Low
ground.slidetime = 12
ground.hittime = 19
ground.velocity = -1
air.velocity = -4,3

[State 630, 4]
type = ChangeState
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = 50
ctrl = 1

;---------------------------------------------------------------------------
;JUMP_HEAVY_KICK (stand)
[Statedef 635]
type    = A
movetype= A
physics = A
juggle  = 10
poweradd= 30
ctrl = 0
anim = 635

[State 630, 1]
type = PlaySnd
trigger1 = AnimElem = 3
value = 0,1

[State 630, 2]
type = PlaySnd
trigger1 = AnimElem = 4
trigger1 = Random < 500
value = 1,1
volume = 0

[State 630, 3]
type = HitDef
trigger1 = AnimElem = 4
attr = A, NA
animtype  = Heavy
damage    = 15, 2
priority = 4
hitflag = MA
guardflag = HA
getpower = 35, 17
givepower = 17, 8
pausetime = 9,9
sparkno = 2
sparkxy = -43,-31
hitsound   = S2,2
guardsound = 6,0
ground.type = Low
ground.slidetime = 12
ground.hittime = 19
ground.velocity = -1
air.velocity = -4,3

[State 630, 4]
type = ChangeState
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = 50
ctrl = 1

;---------------------------------------------------------------------------
;JUMP_CRUSH_KICK
[Statedef 640]
type    = A
movetype= A
physics = A
juggle  = 10
poweradd= 40
ctrl = 0
anim = 640

[State 640, 1]
type = PlaySnd
trigger1 = Time = 0
value = 0,2

[State 640, 2]
type = PlaySnd
trigger1 = AnimElem = 2
trigger1 = Random < 500
value = 1,2
volume = 0

[State 640, 3]
type = HitDef
trigger1 = AnimElem = 2
attr = A, NA
animtype  = Heavy
damage    = 30, 3
priority = 4
hitflag = MA
guardflag = HA
getpower = 40,20
givepower = 20,10
pausetime = 12,12
sparkno = 2
sparkxy = -43,-31
hitsound   = S2,4
guardsound = 6,0
ground.type = Low
ground.slidetime = 12
ground.hittime = 19
ground.velocity = -6
air.velocity = -6,-2
fall = ifelse(p2name = "Mercedes Benz",0, 1)
air.fall = 1

[State 630, 4]
type = ChangeState
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = 50
ctrl = 1

;---------------------------------------------------------------------------
; THROW_FWD+Y
[Statedef 800]
type = S
movetype = A
physics = S
ctrl = 0
anim = 800

[State 800, NotHitBy]
type = NotHitBy
trigger1 = Time = 0
value = SCA
time = 3

[State 800, 1]
type = HitDef
trigger1 = Time = 1
attr = S, NT
hitflag = M
priority = 1
getpower = 40,20
givepower = 20,10
snap = 26, 0, 0, 1
sparkno = -1
p2facing = -1
p1stateno = 810
p2stateno = 805
p2getp1state = 1
fall.damage = 0

[State 800, 2]
type = ChangeState
trigger1 = MoveContact = 1
value = 810

[State 800, 3]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

[State 800, 4]
type = ChangeState
trigger1 = MoveContact = 0
trigger1 = AnimTime = 2
value = 230

; THROWN_BY_THROW_Y
[Statedef 805]
type = A
movetype = H
physics = N
ctrl = 0
velset = 0
sprpriority = 2

[State 805, 1]
type = ChangeAnim2
trigger1 = Time = 0
value = ifelse(var(6),806,805)

[State 805, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 806

; THROWN_BY_THROW_Y (Effects)
[Statedef 806]
type    = A
movetype= H; Está apanhando!!!
physics = N
velset = 3,-2.5
anim = ifelse(var(6),10050,5050)

[State 806, 1] ;Gravity
type = VelAdd
Trigger1 = Time >= 5
y = .5

[State 806, 2] ; Recover near ground (use ChangeState)
type = ChangeState
triggerall = Vel Y > 0
triggerall = Pos Y >= -20
triggerall = alive
triggerall = CanRecover
trigger1 = Command = "recovery"
value = 5200 ;HITFALL_RECOVER

[State 806, 3] ; Recover in mid air (use SelfState)
type = SelfState
triggerall = Vel Y > 0
triggerall = alive
triggerall = CanRecover
trigger1 = Command = "recovery"
value = 5210 ;HITFALL_AIRRECOVER

[State 806, 4] ;Hit ground
type = SelfState
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = 5100 ;Hit ground

; THROW_Y (Sucess)
[Statedef 810]
type = S
movetype = A
physics = S
anim = 810
poweradd =10
sprpriority = 4

[State 810, Grab]
type = PlaySnd
trigger1 = Time = 0
value = 800,0
channel = 0

[State 810, Voice]
type = PlaySnd
trigger1 = AnimElem = 4
value = 1,1
channel = 1

[State 810, 1]
type = TargetLifeAdd
trigger1 = AnimElem = 5
value = -60

[State 810, 2a]
type = TargetBind
trigger1 = AnimElem = 1
pos = -30,-43

[State 810, 2b]
type = TargetBind
trigger1 = AnimElem = 2
pos = -18,-42

[State 810, 2c]
type = TargetBind
trigger1 = AnimElem = 3
pos = -3,-49

[State 810, 2d]
type = TargetBind
trigger1 = AnimElem = 4
pos = 15,-46

[State 810, 2e]
type = TargetBind
trigger1 = AnimElem = 5
pos = 37,-47

[State 810, Width Char]
type = Width
trigger1 = AnimElem = 1 || AnimElem = 2 || AnimElem = 3 || AnimElem = 4
value = 30,0

[State 810, Change]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; SPECIAL_ATTACKS
;---------------------------------------------------------------------------
; FIRE_BALL_SLOW
[Statedef 1000]
type = S
movetype = A
physics = S
ctrl = 0
anim = 1000
poweradd = 50

[State 1000, Sound]
type = PlaySnd
trigger1 = AnimElem = 3
value = 1,2
channel = 0

[State 1000, Sound2]
type = PlaySnd
trigger1 = AnimElem = 4
value = 1000,0
channel = 1

[State 1000, Ken]
type = Projectile
trigger1 = AnimElem = 4
projanim = 1001
projhitanim = 1002
projremanim = 1002
projcancelanim = 1002
projshadow = -1
projpriority = 2
projremovetime = 100
projID = 1001
velocity = 4
offset = 52,-21
attr = S, SP
damage = 23,6
animtype = Hard
getpower = 25,12
givepower = 12,6
guardflag = MA
hitflag = MAFP
pausetime = 10,10
hitsound = S1000,3
volume = 0
sparkno = -1
sparkxy = 6,-5
guardsound = S1000,2
ground.type = Low
ground.slidetime = 1
ground.hittime = 10
ground.velocity = ifelse(p2Bodydist X < 25,-4.5, -3)
air.fall = 1
fall = ifelse(p2Bodydist X<30,1, 0)
air.animtype = Low
air.velocity = -1,-3
air.juggle = 2
palfx.time = 15
palfx.mul = 240,220,128
palfx.sinadd = 32,128,220,16
palfx.add = 190,180,84

[State 1001, xp1]
type = Explod
trigger1 = ProjHit1001 = 1
trigger1 = NumExplod(1003) < 8
trigger1 = Random < 300
anim = 1003
ID = 1003
sprpriority = 5
postype = p2
pos = 0,-20
random = 100,100
bindtime = 1
ignorehitpause = 1

[State 1000, end!!]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; FIRE_BALL_FAST
[Statedef 1010]
type = S
movetype = A
physics = S
ctrl = 0
anim = 1010
poweradd = 75

[State 1010, Sound]
type = PlaySnd
trigger1 = AnimElem = 3
value = 1,2
channel = 0

[State 1010, Sound2]
type = PlaySnd
trigger1 = AnimElem = 4
value = 1000,0
channel = 1

[State 1010, Ken]
type = Projectile
trigger1 = AnimElem = 4
projanim = 1011
projhitanim = 1012
projremanim = 1012
projcancelanim = 1002
projshadow = -1
projpriority = 2
projremovetime = 100
projID = 1011
velocity = 5
offset = 52,-21
attr = S, SP
damage = 34,10
animtype = Hard
getpower = 25,12
givepower = 12,6
guardflag = MA
hitflag = MAFP
pausetime = 12,12
hitsound = S1000,3
volume = 0
sparkno = -1
sparkxy = 6,-5
guardsound = S1000,2
ground.type = Low
ground.slidetime = 1
ground.hittime = 15
ground.velocity = ifelse(p2Bodydist X<25,-6, -3)
air.fall = 1
fall = ifelse(p2Bodydist X<30,1, 0)
air.animtype = Low
air.velocity = -1,-4
air.juggle = 2
palfx.time = 18
palfx.mul = 240,220,128
palfx.sinadd = 32,128,220,16
palfx.add = 190,180,84

[State 1011, xp1]
type = Explod
trigger1 = ProjHit1011 = 1
trigger1 = NumExplod(1003) < 8
trigger1 = Random < 300
anim = 1003
ID = 1013
sprpriority = 5
postype = p2
pos = 0,-20
random = 100,100
bindtime = 1
ignorehitpause = 1

[State 1010, end!!]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; Agradeço a Shinobu por me deixar usar o seu Shoryuken do seu char Ryu!!!
; Muito Obrigado!!!
;---------------------------------------------------------------------------
; SHO RYU KEN (weak - on the ground)
[Statedef 1020]
type    = A
movetype= A
juggle  = 5
poweradd = 50
;<-- physics defaults to "none"

[State 1020, 0]
type = CtrlSet
trigger1 = Time = 0
value = 0

[State 1020, 1]
type = VelSet
trigger1 = Time = 0
x = 0
y = 0
z = 0

[State 1020, 2]
type = ChangeAnim
trigger1 = Time = 0
value = 1020

[State 1020, 3]; Voice
type = PlaySnd
trigger1 = Time = 2
value = 1,0
volume = 0

[State 1020, 3b]; Wind of move
type = PlaySnd
trigger1 = Time = 2
value = 0,1
volume = 0

[State 1020, 4]
type = PosAdd
trigger1 = Time = 0
x = 10

[State 1020, 5]
type = HitDef
trigger1 = AnimElem = 3
attr = S, SA
priority = 5
damage    = 50, 22
animtype  = Medium
getpower  = 30, 15
givepower = 15, 7
hitflag = MAF
guardflag = MA
pausetime = 15,15
sparkxy = -9,-34
sparkno = 1
hitsound   = S1000,1
guardsound = S1000,2
ground.type = High
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = -2.2,-6
guard.velocity = -7
air.velocity = -2.2,-6
fall = ifelse(p2name = "Mercedes Benz",0, 1)

[State 1020, 6]
type = NotHitBy
trigger1 = Time = 2
value = , N, S
time = 7

[State 1020, 7]
type = PosAdd
trigger1 = Time = 9
x = 5

[State 1020, 8]
type = VelSet
trigger1 = Time = 9
x = 3.2
y = -7.8

[State 1020, 9]
type = VelMul
trigger1 = Time >= 13
x = .45

[State 1020, 10] ;Gravity
type = VelAdd
trigger1 = Time >= 9
y = .45

[State 1020, 11] ;Change to coming down animation
type = ChangeAnim
trigger1 = Vel Y > -2
trigger1 = Time > 9
value = 1021
persistent = 0

[State 1020, 12] ;Hit ground
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
trigger1 = Time > 9
type = PosSet
y = 0

[State 1020, 13] ;Hit ground
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
trigger1 = time > 9
type = ChangeState
value = 1021

;---------------------------------------------------------------------------
; SHO RYU KEN (weak - land on ground)
[Statedef 1021]
type    = S
movetype= A
physics = S

[State 1021, 0]
type = PlaySnd
trigger1 = Time = 0
value = 52,0

[State 1021, 1]
type = ChangeAnim
trigger1 = Time = 0
value = 1022

[State 1021, 2]
type = VelSet
trigger1 = Time = 0
x = 0
y = 0

[State 1021, 3]
type = PosSet
trigger1 = Time = 0
y = 0

[State 1021, 4]
type = CtrlSet
trigger1 = Time = 3
value = 1

[State 1021, 5]
type = ChangeState
trigger1 = Time = 3
value = 0
;---------------------------------------------------------------------------
; SHO RYU KEN (strong - on the ground)
[Statedef 1030]
type    = A
movetype= A
juggle  = 5
poweradd= 100
;<-- physics defaults to "none"

[State 1030, 0]
type = CtrlSet
trigger1 = Time = 0
value = 0

[State 1030, 1]
type = VelSet
trigger1 = Time = 0
x = 0
y = 0
z = 0

[State 1030, 2]
type = ChangeAnim
trigger1 = Time = 0
value = 1020

[State 1030, 3]; Voice
type = PlaySnd
trigger1 = Time = 2
value = 1, 1
volume = 0

[State 1030, 3b]; Wind of move
type = PlaySnd
trigger1 = Time = 2
value = 0,2
volume = 0

[State 1030, 4]
type = PosAdd
trigger1 = Time = 0
x = 15

[State 1030, 4b]
type = PosAdd
triggerall = Anim = 1020
trigger1 = AnimElem = 2
trigger2 = AnimElem = 3
trigger3 = AnimElem = 4,= 0
x = 9

[State 1030, 5]
type = HitDef
trigger1 = AnimElem = 2
attr = S, SA
priority = 5
damage    = 20, 9
animtype  = Hard
getpower  = 20, 10
givepower = 10, 5
hitflag = MAF
guardflag = MA
pausetime = 10, 10
sparkxy = -9,-34
sparkno = 2
hitsound   = S1000,1
guardsound = S1000,2
ground.type = High
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = -0.1,-6
guard.velocity = -3
air.velocity = -0.1,-6

[State 1030, 5b]
type = HitDef
trigger1 = AnimElem = 3
attr = S, SA
priority = 5
damage    = 20, 9
animtype  = Hard
getpower  = 20, 10
givepower = 10, 5
hitflag = MAF
guardflag = MA
pausetime = 10, 10
sparkxy = -4,-58
sparkno = 2
hitsound   = S1000,1
guardsound = S1000,2
ground.type = High
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = 1,-6
guard.velocity = -2
air.velocity = 0,-6

[State 1030, 5c]
type = HitDef
trigger1 = AnimElem = 4
attr = A, SA
priority = 5
damage    = 35, 10
animtype  = Hard
getpower  = 25, 12
givepower = 12, 6
hitflag = MAF
guardflag = MA
pausetime = 15, 15
sparkxy = -3,-96
sparkno = 2
hitsound   = S1000,3
guardsound = S1000,2
ground.type = High
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = -2.2,-6
guard.velocity = -7
air.velocity = -2.2,-6
fall = ifelse(p2name = "Mercedes Benz",0, 1)
air.fall = 1
palfx.time = 20
palfx.mul = 240,220,128
palfx.sinadd = 32,128,220,16
palfx.add = 190,180,84

[State 1031, xp1]
type = Explod
trigger1 = MoveHit = 1
trigger1 = NumExplod(1003) < 2
trigger1 = Random < 500
trigger1 = Time < 29
anim = 1003
ID = 1035
sprpriority = 5
postype = p2
pos = 0,-20
random = 100,100
bindtime = 1
ignorehitpause = 1

[State 1030, 6]
type = NotHitBy
trigger1 = Time = 2
value = , N, S
time = 7

[State 1030, 7]
type = VelSet 
trigger1 = Time = 10
x = 3.2
y = -9.8

[State 1030, 8]
type = PosAdd
trigger1 = Time = 10
x = 10

[State 1030, 9]
type = VelMul
trigger1 = Time >= 19
x = .45

[State 1030, 10] ;Gravity
type = VelAdd
trigger1 = Time >= 10
y = .45


[State 1030, 11] ;Change to coming down animation
type = ChangeAnim
trigger1 = Vel Y > -2
trigger1 = time > 10
value = 1021
persistent = 0

[State 1030, 12] ;Hit ground
trigger1 = Vel Y > 0
trigger1 = Pos Y >= -5
trigger1 = time > 10
type = ChangeState
value = 1031


;---------------------------------------------------------------------------
; SHO RYU KEN (strong - land on ground)
[Statedef 1031]
type    = S
movetype= A
physics = S

[State 1031, 0]
type = PlaySnd
trigger1 = Time = 0
value = 52,0

[State 1031, 1]
type = ChangeAnim
trigger1 = Time = 0
value = 1022

[State 1031, 2]
type = VelSet
trigger1 = Time = 0
x = 0
y = 0

[State 1031, 3]
type = PosSet
trigger1 = Time = 0
y = 0

[State 1031, 4]
type = CtrlSet
trigger1 = Time = 7
value = 1

[State 1031, 5]
type = ChangeState
trigger1 = Time = 7
value = 0
;-------------------------------------------------------------------------
; SEN PUU KYAKU B(Ground)
[Statedef 1060]
type = S
movetype = I
physics = S
poweradd = 30
anim = 1060
ctrl = 0
juggle = 0

[State 1060, Snd]
type = PlaySnd
trigger1 = Time = 0
value = 1,2
channel = 1

[State 1060, Snd2]
type = PlaySnd
trigger1 = AnimElem = 3
value = 40,0
channel = 2

[State 1060, ChangeSt]
type = ChangeState
trigger1 = AnimTime = 0
value = 1061

;-------------------------------------------------------------------------
; SEN PUU KYAKU B (Air)
[Statedef 1061]
type = A
movetype = A
physics = N
ctrl = 0
anim = 1061
juggle = 0

[State 1061, Inv Proj]
type = NotHitBy
trigger1 = Time = 0
value = , NA, AP
time = 19

[State 1061, Pos]
type = PosSet
trigger1 = Time = 0
y = -0.01

[State 1061, Vel]
type = VelSet
trigger1 = Time = 0
x = 2.5
y = -1.5

[State 1061, Vel2]
type = VelSet
trigger1 = Time = 10
x = 2.5
y = 0

[State 1061, Vel3]
type = VelAdd
trigger1 = Time >= 59
y = .5

[State 1201, Sound]
type = PlaySnd
trigger1 = AnimElem = 6
trigger2 = AnimElem = 10
trigger3 = AnimElem = 14
value = 0,2
channel = 0

[State 1061, Hit Front]
type = HitDef
trigger1 = AnimElem = 4
trigger2 = AnimElem = 8
attr = A, SA
damage = 12,3
animtype = Medium
getpower = 20,10
givepower = 10,5
guardflag = MA
pausetime = 9,9
sparkxy = -12,-19
hitsound = S2,2
guardsound = S1000,2
ground.type = High
ground.slidetime = 10
ground.hittime = 16
ground.Vel = -1
air.Vel = -1,-.5
air.fall = 1

[State 1061, Hit Back]
type = HitDef
trigger1 = AnimElem = 6
trigger2 = AnimElem = 10
attr = A, SA
damage = 12,3
animtype = Medium
getpower = 20,10
givepower = 10,5
guardflag = MA
pausetime = 9,9
sparkxy = -12,-19
hitsound = S2,2
guardsound = S1000,2
ground.type = High
ground.slidetime = 10
ground.hittime = 16
ground.Vel = 5
air.Vel = -5,-2
air.fall = 1

[State 1061, Final Hit]
type = HitDef
trigger1 = AnimElem = 12
attr = S, SA
damage = 15,3
animtype = Hard
getpower = 20,10
givepower = 10,5
guardflag = MA
pausetime = 9,9
sparkxy = -12,-19
hitsound = S2,2
guardsound = S1000,2
ground.type = High
ground.slidetime = 10
ground.hittime = 16
ground.Vel = -3,-4
air.velocity = -3,-4
air.fall = 1

[State 1061, Lay]
type = ChangeState
trigger1 = Vel Y >0
trigger1 = Pos Y >= 0
value = 52
ctrl = 1

;-------------------------------------------------------------------------
; SEN PUU KYAKU Y(Ground)
[Statedef 1070]
type = S
movetype = I
physics = S
poweradd = 50
anim = 1070
ctrl = 0
juggle = 0

[State 1070, Snd]
type = PlaySnd
trigger1 = Time = 0
value = 1,2
channel = 1

[State 1070, Snd2]
type = PlaySnd
trigger1 = AnimElem = 3
value = 40,0
channel = 2

[State 1070, ChangeSt]
type = ChangeState
trigger1 = AnimTime = 0
value = 1071

;-------------------------------------------------------------------------
; SEN PUU KYAKU Y (Air)
[Statedef 1071]
type = A
movetype = A
physics = N
ctrl = 0
anim = 1071
juggle = 0

[State 1071, Inv Proj]
type = NotHitBy
trigger1 = Time = 0
value = , NA, AP
time = 13

[State 1061, Pos]
type = PosSet
trigger1 = Time = 0
y = -0.01

[State 1061, Vel]
type = VelSet
trigger1 = Time = 0
x = 3
y = -1.5

[State 1061, Vel2]
type = VelSet
trigger1 = Time = 10
x = 3
y = 0

[State 1061, Vel3]
type = VelAdd
trigger1 = Time >= 46
y = .5

[State 1201, Sound]
type = PlaySnd
trigger1 = AnimElem = 6
trigger2 = AnimElem = 10
trigger3 = AnimElem = 14
trigger4 = AnimElem = 18
trigger5 = AnimElem = 22
value = 0,2
channel = 0

[State 1061, Hit Front]
type = HitDef
trigger1 = AnimElem = 4
trigger2 = AnimElem = 8
trigger3 = AnimElem = 12
trigger4 = AnimElem = 16
attr = A, SA
damage = 10, 2
animtype = Hard
getpower = 20,10
givepower = 10,5
guardflag = MA
pausetime = 9,9
sparkxy = -12,-19
hitsound = S2,2
guardsound = S1000,2
ground.type = High
ground.slidetime = 6
ground.hittime = 8
ground.Vel = -1
air.Vel = -1,-.5
air.fall = 1

[State 1061, Hit Back]
type = HitDef
trigger1 = AnimElem = 6
trigger2 = AnimElem = 10
trigger3 = AnimElem = 14
trigger4 = AnimElem = 18
attr = A, SA
damage = 10, 2
animtype = Hard
getpower = 20,10
givepower = 10,5
guardflag = MA
pausetime = 9,9
sparkxy = -12,-19
hitsound = S2,2
guardsound = S1000,2
ground.type = High
ground.slidetime = 6
ground.hittime = 8
ground.Vel = 5
air.Vel = -5,-2
air.fall = 1

[State 1061, Final Hit]
type = HitDef
trigger1 = AnimElem = 20
attr = S, SA
damage = 15,3
animtype = Heavy
getpower = 20,10
givepower = 10,5
guardflag = MA
pausetime = 9,9
sparkxy = -12,-19
hitsound = S2,2
guardsound = S1000,2
ground.type = High
ground.slidetime = 10
ground.hittime = 16
ground.Vel = -4,-4
air.velocity = -4,-4
air.fall = 1

[State 1061, Lay]
type = ChangeState
trigger1 = Vel Y >0
trigger1 = Pos Y >= 0
value = 52
ctrl = 1

;---------------------------------------------------------------------------
; ZENPOU TENSHIN (Backward - close)
[Statedef 1100]
type = S
movetype = I
physics = N
juggle = 0
velset = 0,0
poweradd = 25
anim = 1100
ctrl = 0

[State 1100, Voice]
type = PlaySnd
trigger1 = Time = 0
value = 1,0

[State 1100, Pos]
type = PosSet
trigger1 = Time = 0
y = 0

[State 1100, Vel]
type = VelSet
trigger1 = AnimElem = 3
x = -3

[State 1100, NH]
type = NotHitBy
trigger1 = Time = 8
value = SC, NA, NT, ST
time = 32

[State 1100, Push]
type = PlayerPush
trigger1 = Time >= 8 && Time <= 40
value = 0

[State 1100, Brake]
type = VelSet
trigger1 = AnimElem = 11
x = 0
y = 0

[State 1100, Change]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; ZENPOU TENSHIN (Forward - close)
[Statedef 1105]
type = S
movetype = I
physics = N
juggle = 0
velset = 0,0
poweradd = 25
anim = 1105
ctrl = 0

[State 1100, Voice]
type = PlaySnd
trigger1 = Time = 0
value = 1,0

[State 1100, NH]
type = NotHitBy
trigger1 = Time = 6
value = SC, NA, NT, ST
time = 38

[State 1100, Pos]
type = PosSet
trigger1 = Time = 0
y = 0

[State 1100, Add]
type = PosAdd
trigger1 = Time = 0
x = 10

[State 1100, Vel]
type = VelSet
trigger1 = AnimElem = 2
x = 2.8

[State 1100, Push]
type = PlayerPush
trigger1 = Time >= 6 && Time <= 45
value = 0

[State 1100, Brake]
type = VelSet
trigger1 = AnimElem = 12
x = 0
y = 0

[State 1100, Change]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; ZENPOU TENSHIN (Backward - far)
[Statedef 1110]
type = S
movetype = I
physics = N
juggle = 0
velset = 0,0
poweradd = 25
anim = 1110
ctrl = 0

[State 1100, Voice]
type = PlaySnd
trigger1 = Time = 0
value = 1,0

[State 1100, Pos]
type = PosSet
trigger1 = Time = 0
y = 0

[State 1100, Vel]
type = VelSet
trigger1 = AnimElem = 3
x = -3.4

[State 1100, NH]
type = NotHitBy
trigger1 = Time = 8
value = SC, NA, NT, ST
time = 48

[State 1100, Push]
type = PlayerPush
trigger1 = Time >= 8 && Time <= 55
value = 0

[State 1100, Brake]
type = VelSet
trigger1 = AnimElem = 19
x = 0
y = 0

[State 1100, Change]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; ZENPOU TENSHIN (Forward - far)
[Statedef 1115]
type = S
movetype = I
physics = N
juggle = 0
velset = 0,0
poweradd = 25
anim = 1115
ctrl = 0

[State 1100, Voice]
type = PlaySnd
trigger1 = Time = 0
value = 1,0

[State 1100, NH]
type = NotHitBy
trigger1 = Time = 6
value = SC, NA, NT, ST
time = 54

[State 1100, Pos]
type = PosSet
trigger1 = Time = 0
y = 0

[State 1100, Add]
type = PosAdd
trigger1 = Time = 0
x = 10

[State 1100, Vel]
type = VelSet
trigger1 = AnimElem = 2
x = 3

[State 1100, Push]
type = PlayerPush
trigger1 = Time >= 6 && Time <= 60
value = 0

[State 1100, Brake]
type = VelSet
trigger1 = AnimElem = 20
x = 0
y = 0

[State 1100, Change]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; HYPER MOTIONS
;---------------------------------------------------------------------------
; SUPER FIRE BALL (DM)
[Statedef 3000]
type    = S
movetype= A
physics = S
juggle  = 0
velset = 0,0
anim = 3000
ctrl = 0

[State 3000, Super A]
type = SuperPause
trigger1 = Time = 0
pos = 5,-25
anim = 100

[State 3000, Super B]
type = PlaySnd
trigger1 = Time = 0
value = 3000,0

[State 3000, Super C]
type = PowerAdd
trigger1 = Time = 0
value = -1000

[State 3000, Super D]
type = AfterImage
trigger1 = Time = 2
time = 2

[State 3000, Super E]
type = AfterImageTime
trigger1 = Time = [2,61]
time = 2

[State 3000, Super F] ;Invunerable to normal and special attacks for a bit
type = NotHitBy
trigger1 = Time = 2
value = , NA, SA, AT
time = 12

[State 3000, Super F] ;Invunerable to normal and special attacks for a bit
type = NotHitBy
trigger1 = Time = 2
value = , NA, SA, AT
time = 12

[State 3000, Voice1]
type = PlaySnd
trigger1 = Time = 0
value = 1, 1
chanel = 0

[State 3000, Voice2]
type = PlaySnd
trigger1 = AnimElem = 3
value = 1, 2
chanel = 0

[State 3000, Ball]
type = PlaySnd
trigger1 = AnimElem = 4
value = 1000,0
channel = 1

[State 3000, Ken]
type = Projectile
trigger1 = AnimElem = 6
projhits = 4
projanim = 3001
projhitanim = 1002
projshadow = -1
projpriority = 4
projmisstime = 5
projremovetime = 60
projid = 3001
velocity = 4
offset = 47,-19
attr = S, HP
damage = 63, 10
animtype = DiagUp
getpower = 0, 0
givepower = 12, 6
guardflag = MA
hitflag = MAFP
pausetime = 1,1
hitsound = S1000,3
sparkno = -1
sparkxy = 6,-5
envshake.time = 16
guardsound = S1000,2
ground.type = Low
ground.slidetime = 3
ground.hittime = 15
ground.velocity = -3,-1.5
air.animtype = Low
air.velocity = -3,-1.5
air.juggle = 2
air.fall = 1
fall = ifelse(p2name = "Mercedes Benz",0, 1)
fall.recover = 0
palfx.time = 15
palfx.mul = 240,220,128
palfx.sinadd = 32,128,220,16
palfx.add = 190,180,84

[State 3001, Snd]
type = PlaySnd
trigger1 = WinKO = 1
ignorehitpause = 1
persistent = 0
value = 9000,0
volume = 255

[State 3001, Screen]
type = EnvColor
trigger1 = WinKO = 1
value = 255,255,255
ignorehitpause = 1
persistent = 0
under = 1
time = 20

[State 3001, Chars]
type = PalFX
trigger1 = WinKO = 1
ignorehitpause = 1
persistent = 0
value = 0,0,0
mul = 0,0,0
time = 20

[State 1001, xp1]
type = Explod
trigger1 = ProjHit3001 = 1
trigger1 = NumExplod(1003) < 6
trigger1 = Random < 300
anim = 1003
ID = 1003
sprpriority = 5
postype = p2
pos = 0,-20
random = 100,100
bindtime = 1
ignorehitpause = 1

[State 3000, 2]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
;---------------------------------------------------------------------------
; SUPER FIRE BALL (SDM)
[Statedef 3010]
type    = S
movetype= A
physics = S
juggle  = 0
velset = 0,0
anim = 3000
ctrl = 0

[State 3000, Super A]
type = SuperPause
trigger1 = Time = 0
pos = 5,-25
anim = 101

[State 3000, Super B]
type = PlaySnd
trigger1 = Time = 0
value = 3000,1

[State 3000, Super C]
type = PowerAdd
trigger1 = Time = 0
value = -2000

[State 3000, Super D]
type = AfterImage
trigger1 = Time = 2
paladd = 200, 15,15
palmul = .75,.65,.65
time = 2

[State 3000, Super E]
type = AfterImageTime
trigger1 = Time = [2,61]
time = 2

[State 3000, Super F] ;Invunerable to normal and special attacks for a bit
type = NotHitBy
trigger1 = Time = 2
value = , NA, SA, AT
time = 12

[State 3000, Super F] ;Invunerable to normal and special attacks for a bit
type = NotHitBy
trigger1 = Time = 2
value = , NA, SA, AT
time = 12

[State 3000, Voice1]
type = PlaySnd
trigger1 = Time = 0
value = 1, 1
chanel = 0

[State 3000, Voice2]
type = PlaySnd
trigger1 = AnimElem = 3
value = 1, 2
chanel = 0

[State 3000, Ball]
type = PlaySnd
trigger1 = AnimElem = 4
value = 1000,0
channel = 1

[State 3010, Ken]
type = Projectile
trigger1 = AnimElem = 6
projhits = 8
projanim = 3011
projhitanim = 3012
projshadow = -1
projpriority = 5
projmisstime = 3
projremovetime = 60
projid = 3011
velocity = 5
offset = 47,-19
attr = S, HP
damage = 50, 10
animtype = DiagUp
getpower = 0, 0
givepower = 12, 6
guardflag = MA
hitflag = MAFP
pausetime = 1,1
hitsound = S1000,3
sparkno = -1
sparkxy = 6,-5
guardsound = S1000,2
ground.type = Low
ground.slidetime = 3
ground.hittime = 15
ground.velocity = -3,-1
air.animtype = Low
air.velocity = -3,-1
air.juggle = 2
envshake.time = 24
air.fall = 1
fall = ifelse(p2name = "Mercedes Benz",0, 1)
fall.recover = 0
palfx.time = 15
palfx.mul = 240,220,128
palfx.sinadd = 32,128,220,16
palfx.add = 190,180,84

[State 3001, Super_Snd1]
type = PlaySnd
trigger1 = WinKO = 1
ignorehitpause = 1
persistent = 0
value = 9000,1
volume = 255

[State 3001, Super_Screen]
type = EnvColor
trigger1 = WinKO = 1
value = 255,0,0
ignorehitpause = 1
persistent = 0
under = 1
time = 20

[State 3001, Super_Chars]
type = PalFX
trigger1 = WinKO = 1
ignorehitpause = 1
persistent = 0
value = 0,0,0
mul = 0,0,0
time = 20

[State 1001, xp1]
type = Explod
trigger1 = ProjHit3001 = 1
trigger1 = NumExplod(1003) < 6
trigger1 = Random < 300
anim = 1003
ID = 1003
sprpriority = 5
postype = p2
pos = 0,-20
random = 100,100
bindtime = 1
ignorehitpause = 1

[State 3000, 2]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
;---------------------------------------------------------------------------
; SHIN RYUU KEN (DM - ground)
[Statedef 3020]
type = S
movetype = A
physics = S
ctrl = 0
anim = 3020
poweradd = -1000

[State 3000, Super A]
type = SuperPause
trigger1 = Time = 0
pos = 5,-20
time = 45
anim = 100

[State 3000, Super B]
type = PlaySnd
trigger1 = Time = 0
volume = 0
value = 3000, 0 ;Play fight sound of super

[State 3000, Super D]
type = AfterImage
trigger1 = Time = 0
time = 2

[State 3000, Super E]
type = AfterImageTime
trigger1 = Time = [2,14]
time = 2

[State 3000, Super F] ;Invunerable to normal and special attacks for a bit
type = NotHitBy
trigger1 = Time = 2
value = SCA
time = 12

[State 1030, 0]
type = PlaySnd
trigger1 = AnimElem = 2
value = 1,2
volume = 0
channel = 0

[State 1030, 1]
type = PosAdd
trigger1 = AnimElem = 2
trigger2 = AnimElem = 3
trigger3 = AnimElem = 4
x = 3     

[State 1030, 5]
type = HitDef
trigger1 = AnimElem = 3
attr = S, SA
priority = 5
damage    = 41, 10
animtype  = Hard
getpower  = 0, 10
givepower = 0, 5
hitflag = MAF
guardflag = MA
pausetime = 10, 10
sparkxy = -9,-34
sparkno = 2
hitsound   = S1000,1
guardsound = S1000,2
ground.type = High
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = -0.1,-6
ground.cornerpush.veloff = 0
guard.velocity = -3
air.velocity = -0.1,-6
palfx.time = 8
palfx.add = 255, 255,255
palfx.mul = 255, 255,255

[State 1030, 5b]
type = HitDef
trigger1 = AnimElem = 4
attr = S, SA
priority = 5
damage    = 41, 10
animtype  = Hard
getpower  = 0, 10
givepower = 0, 5
hitflag = MAF
guardflag = MA
pausetime = 10, 10
sparkxy = -4,-58
sparkno = 2
hitsound   = S1000,1
guardsound = S1000,2
ground.type = High
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = 1.5,-6.5
ground.cornerpush.veloff = 0
guard.velocity = -2
air.velocity = 0,-6
palfx.time = 8
palfx.add = 255, 255,255
palfx.mul = 255, 255,255

[State 3020, VarHit]
type = VarSet
trigger1 = Time = 0
v = 30
value = 0

[State 3021, Add]
type = VarAdd
triggerall = Time >= 0
trigger1 = command = "b" || command = "y"
v = 30
value = 1

[State 3001, Snd]
type = PlaySnd
trigger1 = WinKO = 1
ignorehitpause = 1
persistent = 0
value = 9000,0
volume = 255

[State 3001, Screen]
type = EnvColor
trigger1 = WinKO = 1
value = 255,255,255
ignorehitpause = 1
persistent = 0
under = 1
time = 20

[State 3001, Chars]
type = PalFX
trigger1 = WinKO = 1
ignorehitpause = 1
persistent = 0
value = 0,0,0
mul = 0,0,0
time = 20

[State 1030, 3]
type = ChangeState
trigger1 = AnimTime = 0
value = 3021

;------------------------------------------------------------------------
; SHIN RYUU KEN (DM - air)
[Statedef 3021]
type = A
movetype = A
physics = N
ctrl = 0
anim = 3021

[State 3021, Add]
type = VarAdd
triggerall = Time <= 34
trigger1 = command = "b" || command = "y"
v = 30
value = 1

[State 3000, Super D]
type = AfterImage
trigger1 = Time = 0
time = 2

[State 3000, Super E]
type = AfterImageTime
trigger1 = Time = [2,60]
time = 2

[State 3001, Pos]
type = PosSet
trigger1 = Time = 0
y = -0.1

[State 3001, Pos2]
type = PosAdd
trigger1 = Time = 0
y = -10

[State 3001, Vel]
type = VelSet
trigger1 = Time = 1
x = 0
y = -9

[State 3001, Gravity]
type = VelAdd
trigger1 = Time >= 6
y = .5

[State 3001, Attack]
type = PlaySnd
trigger1 = AnimElem = 1
trigger2 = AnimElem = 3
trigger3 = AnimElem = 5
trigger4 = AnimElem = 7
volume = 50
value = 0, 2

[State 1031, Hit_1]
type = HitDef
trigger1 = AnimElem = 1
attr = A, HA
damage = 41, 10
animtype = Hard
getpower = 0, 5
givepower = 0, 2
guardflag = MA
pausetime = 8,8
sparkno = 2
sparkxy = -17,-32
hitsound   = S1000,1
guardsound = S1000,2
ground.type = High
ground.slidetime = 1
ground.hittime = 8
ground.velocity = .6,-10
guard.velocity = -3
air.velocity = .6,-10
palfx.time = 8
palfx.add = 255, 0,0
palfx.mul = 255, 0,0

[State 1031, Hit_2]
type = HitDef
trigger1 = Var(30) > 7
trigger1 = AnimElem = 2
attr = A, HA
damage = 7, 2
animtype = Hard
getpower = 0, 5
givepower = 0, 2
guardflag = MA
pausetime = 8,8
sparkno = 2
sparkxy = -17,-32
hitsound   = S1000,1
guardsound = S1000,2
ground.type = High
ground.slidetime = 1
ground.hittime = 8
ground.velocity = .6,-10
guard.velocity = -3
air.velocity = .6,-10
palfx.time = 8
palfx.add = 255, 0,0
palfx.mul = 255, 0,0

[State 1031, Hit_3]
type = HitDef
trigger1 = AnimElem = 3
attr = A, HA
damage = 41, 10
animtype = Hard
getpower = 0, 5
givepower = 0, 2
guardflag = MA
pausetime = 8,8
sparkno = 2
sparkxy = -17,-32
hitsound   = S1000,1
guardsound = S1000,2
ground.type = High
ground.slidetime = 1
ground.hittime = 8
ground.velocity = .6,-9
guard.velocity = -3
air.velocity = .6,-9
palfx.time = 8
palfx.add = 255, 0,0
palfx.mul = 255, 0,0

[State 1031, Hit_4]
type = HitDef
trigger1 = Var(30) > 7
trigger1 = AnimElem = 4
attr = A, HA
damage = 7, 2
animtype = Hard
getpower = 0, 5
givepower = 0, 2
guardflag = MA
pausetime = 8,8
sparkno = 2
sparkxy = -17,-32
hitsound   = S1000,1
guardsound = S1000,2
ground.type = High
ground.slidetime = 1
ground.hittime = 8
ground.velocity = .6,-8
guard.velocity = -3
air.velocity = .6,-8
palfx.time = 8
palfx.add = 255, 0,0
palfx.mul = 255, 0,0

[State 1031, Hit_5]
type = HitDef
trigger1 = AnimElem = 5
attr = A, HA
damage = 41, 10
animtype = Hard
getpower = 0, 5
givepower = 0, 2
guardflag = MA
pausetime = 8,8
sparkno = 2
sparkxy = -17,-32
hitsound   = S1000,1
guardsound = S1000,2
ground.type = High
ground.slidetime = 1
ground.hittime = 8
ground.velocity = .9,-8
guard.velocity = -3
air.velocity = .9,-8
air.fall = 1
fall = ifelse(p2name = "Mercedes Benz",0, 1)
palfx.time = 8
palfx.add = 255, 0,0
palfx.mul = 255, 0,0

[State 1031, Hit_6]
type = HitDef
trigger1 = AnimElem = 6
attr = A, HA
damage = 41, 10
animtype = Hard
getpower = 0, 5
givepower = 0, 2
guardflag = MA
pausetime = 8,8
sparkno = 2
sparkxy = -17,-32
hitsound   = S1000,1
guardsound = S1000,2
ground.type = High
ground.slidetime = 1
ground.hittime = 8
ground.velocity = .9,-7
guard.velocity = -3
air.velocity = .9,-7
fall = ifelse(p2name = "Mercedes Benz",0, 1)
air.fall = 1
palfx.time = 8
palfx.add = 255, 0,0
palfx.mul = 255, 0,0

[State 1031, Hit_7]
type = HitDef
trigger1 = Var(30) > 7
trigger1 = AnimElem = 7
attr = A, HA
damage = 7, 2
animtype = Hard
getpower = 0, 5
givepower = 0, 2
guardflag = MA
pausetime = 8,8
sparkno = 2
sparkxy = -17,-32
hitsound   = S1000,1
guardsound = S1000,2
ground.type = High
ground.slidetime = 1
ground.hittime = 8
ground.velocity = .9,-7
guard.velocity = -3
air.velocity = .9,-7
palfx.time = 12
palfx.add = 255, 0,0
palfx.mul = 255, 0,0
fall = ifelse(p2name = "Mercedes Benz",0, 1)
air.fall = 1
air.juggle = 15

[State 1031, Hit_8]
type = HitDef
trigger1 = AnimElem = 8
attr = A, HA
damage = 41, 10
animtype = Hard
getpower = 0, 5
givepower = 0, 2
guardflag = MA
pausetime = 8,8
sparkno = 2
sparkxy = -17,-32
hitsound   = S1000,1
guardsound = S1000,2
ground.type = High
ground.slidetime = 1
ground.hittime = 8
ground.velocity = .6,-6
guard.velocity = -3
air.velocity = .6,-6
palfx.time = 12
palfx.add = 255, 0,0
palfx.mul = 255, 0,0
fall = ifelse(p2name = "Mercedes Benz",0, 1)
air.fall = 1
air.juggle = 15

[State 3020, VarSet]
type = VarSet
trigger1 = Time = 35
v = 30
value = 0

[State 3001, Snd]
type = PlaySnd
triggerall = Var(59) != 1
trigger1 = WinKO = 1
ignorehitpause = 1
persistent = 0
value = 9000,0
volume = 255

[State 3001, Screen]
type = EnvColor
triggerall = Var(59) != 1
trigger1 = WinKO = 1
value = 255,255,255
ignorehitpause = 1
persistent = 0
under = 1
time = 20

[State 3001, Chars]
type = PalFX
triggerall = Var(59) != 1
trigger1 = WinKO = 1
ignorehitpause = 1
persistent = 0
value = 0,0,0
mul = 0,0,0
time = 20

[State 3001, end]
type = ChangeState
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = 3022

;---------------------------------------------------------------------------
; SHIN RYUU KEN (weak - land on ground)
[Statedef 3022]
type    = S
movetype= A
physics = S

[State 1021, 0]
type = PlaySnd
trigger1 = Time = 0
value = 52,0

[State 1021, 1]
type = ChangeAnim
trigger1 = Time = 0
value = 3022

[State 1021, 2]
type = VelSet
trigger1 = Time = 0
x = 0
y = 0

[State 1021, 3]
type = PosSet
trigger1 = Time = 0
y = 0

[State 1021, 5]
type = ChangeState
trigger1 = AnimTIme = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; SHIN RYUU KEN (SDM - ground)
[Statedef 3030]
type = S
movetype = A
physics = S
ctrl = 0
anim = 3020
poweradd = -2000

[State 3000, Super A]
type = SuperPause
trigger1 = Time = 0
pos = 5,-20
time = 45
anim = 101

[State 3000, Super B]
type = PlaySnd
trigger1 = Time = 0
volume = 0
value = 3000, 1 ;Play fight sound of super

[State 3000, Super D]
type = AfterImage
trigger1 = Time = 0
paladd = 200, 15,15
palmul = .75,.65,.65
time = 2

[State 3000, Super E]
type = AfterImageTime
trigger1 = Time = [2,14]
time = 2

[State 3000, Super F] ;Invunerable to normal and special attacks for a bit
type = NotHitBy
trigger1 = Time = 2
value = SCA
time = 12

[State 1030, 0]
type = PlaySnd
trigger1 = AnimElem = 2
value = 1,2
volume = 0
channel = 0

[State 1030, 1]
type = PosAdd
trigger1 = AnimElem = 2
trigger2 = AnimElem = 3
trigger3 = AnimElem = 4
x = 3     

[State 1030, 5]
type = HitDef
trigger1 = AnimElem = 3
attr = S, SA
priority = 5
damage    = 40, 8
animtype  = Hard
getpower  = 0, 10
givepower = 0, 5
hitflag = MAF
guardflag = MA
pausetime = 10, 10
sparkxy = -9,-34
sparkno = 2
hitsound   = S1000,1
guardsound = S1000,2
ground.type = High
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = -0.5,-6
ground.cornerpush.veloff = 0
guard.velocity = -3
air.velocity = -0.1,-6
palfx.time = 8
palfx.add = 255, 0,0
palfx.mul = 255, 0,0

[State 1030, 5b]
type = HitDef
trigger1 = AnimElem = 4
attr = S, SA
priority = 5
damage    = 40, 8
animtype  = Hard
getpower  = 0, 10
givepower = 0, 5
hitflag = MAF
guardflag = MA
pausetime = 10, 10
sparkxy = -4,-58
sparkno = 2
hitsound   = S1000,1
guardsound = S1000,2
ground.type = High
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = 1.5,-6.5
ground.cornerpush.veloff = 0
guard.velocity = -2
air.velocity = 0,-6
palfx.time = 8
palfx.add = 255, 0,0
palfx.mul = 255, 0,0


[State 3020, VarHit]
type = VarSet
trigger1 = Time = 0
v = 30
value = 0

[State 3021, Add]
type = VarAdd
triggerall = Time >= 0
trigger1 = command = "b" || command = "y"
v = 30
value = 1

[State 3001, Snd]
type = PlaySnd
trigger1 = WinKO = 1
ignorehitpause = 1
persistent = 0
value = 9000,1
volume = 255

[State 3001, Screen]
type = EnvColor
trigger1 = WinKO = 1
value = 255,0,0
ignorehitpause = 1
persistent = 0
under = 1
time = 20

[State 3001, Chars]
type = PalFX
trigger1 = WinKO = 1
ignorehitpause = 1
persistent = 0
value = 0,0,0
mul = 0,0,0
time = 20

[State 1030, 3]
type = ChangeState
trigger1 = AnimTime = 0
value = 3031

;------------------------------------------------------------------------
; SHIN RYUU KEN (SDM - air)
[Statedef 3031]
type = A
movetype = A
physics = N
ctrl = 0
anim = 3031

[State 3000, Super D]
type = AfterImage
trigger1 = Time = 0
paladd = 200, 15,15
palmul = .75,.65,.65
time = 2

[State 3000, Super E]
type = AfterImageTime
trigger1 = Time = [2,80]
time = 2

[State 3031, Add]
type = VarAdd
triggerall = Time <= 59
trigger1 = command = "b" || command = "y"
v = 30
value = 1

[State 3001, Pos]
type = PosSet
trigger1 = Time = 0
y = -0.1

[State 3001, Pos]
type = PosAdd
trigger1 = Time = 0
y = -10

[State 3001, Vel]
type = VelSet
trigger1 = Time = 1
x = 0
y = -4

[State 3001, Gravity]
type = VelAdd
trigger1 = Time >= 32
y = .3

[State 3001,Attack]
type = PlaySnd
trigger1 = AnimElem = 1
trigger2 = AnimElem = 3
trigger3 = AnimElem = 5
trigger4 = AnimElem = 7
trigger5 = AnimElem = 9
trigger6 = AnimElem = 11
trigger7 = AnimElem = 13
value = 0, 2
volume = 50

[State 1031, Hit_1]
type = HitDef
trigger1 = AnimElem = 1
attr = A, HA
damage = 40, 8
animtype = Hard
getpower = 0, 5
givepower = 0, 2
guardflag = MA
pausetime = 6,6
sparkno = 2
sparkxy = -17,-32
hitsound   = S1000,1
guardsound = S1000,2
ground.type = High
ground.slidetime = 1
ground.hittime = 8
ground.velocity = .6,-10
guard.velocity = -3
air.velocity = .6,-10
palfx.time = 8
palfx.add = 255, 255,255
palfx.mul = 255, 255,255

[State 1031, Hit_2]
type = HitDef
trigger1 = Var(30) > 7
trigger1 = AnimElem = 2
attr = A, HA
damage = 7, 2
animtype = Hard
getpower = 0, 5
givepower = 0, 2
guardflag = MA
pausetime = 6,6
sparkno = 2
sparkxy = -17,-32
hitsound   = S1000,1
guardsound = S1000,2
ground.type = High
ground.slidetime = 1
ground.hittime = 8
ground.velocity = .6,-10
guard.velocity = -3
air.velocity = .6,-10
palfx.time = 8
palfx.add = 255, 255,255
palfx.mul = 255, 255,255

[State 1031, Hit_3]
type = HitDef
trigger1 = AnimElem = 3
attr = A, HA
damage = 40, 8
animtype = Hard
getpower = 0, 5
givepower = 0, 2
guardflag = MA
pausetime = 6,6
sparkno = 2
sparkxy = -17,-32
hitsound   = S1000,1
guardsound = S1000,2
ground.type = High
ground.slidetime = 1
ground.hittime = 8
ground.velocity = .6,-9
guard.velocity = -3
air.velocity = .6,-9
palfx.time = 8
palfx.add = 255, 255,255
palfx.mul = 255, 255,255

[State 1031, Hit_4]
type = HitDef
trigger1 = Var(30) > 7
trigger1 = AnimElem = 4
attr = A, HA
damage = 7, 2
animtype = Hard
getpower = 0, 5
givepower = 0, 2
guardflag = MA
pausetime = 6,6
sparkno = 2
sparkxy = -17,-32
hitsound   = S1000,1
guardsound = S1000,2
ground.type = High
ground.slidetime = 1
ground.hittime = 8
ground.velocity = .6,-7
guard.velocity = -3
air.velocity = .6,-7
palfx.time = 8
palfx.add = 255, 255,255
palfx.mul = 255, 255,255

[State 1031, Hit_5]
type = HitDef
trigger1 = AnimElem = 5
attr = A, HA
damage = 40, 8
animtype = Hard
getpower = 0, 5
givepower = 0, 2
guardflag = MA
pausetime = 6,6
sparkno = 2
sparkxy = -17,-32
hitsound   = S1000,1
guardsound = S1000,2
ground.type = High
ground.slidetime = 1
ground.hittime = 8
ground.velocity = .6,-6
guard.velocity = -3
air.velocity = .6,-6
palfx.time = 8
palfx.add = 255, 255,255
palfx.mul = 255, 255,255

[State 1031, Hit_6]
type = HitDef
trigger1 = AnimElem = 6
attr = A, HA
damage = 40, 8
animtype = Hard
getpower = 0, 5
givepower = 0, 2
guardflag = MA
pausetime = 6,6
sparkno = 2
sparkxy = -17,-32
hitsound   = S1000,1
guardsound = S1000,2
ground.type = High
ground.slidetime = 1
ground.hittime = 8
ground.velocity = .3,-3
guard.velocity = -3
air.velocity = .3,-3
palfx.time = 8
palfx.add = 255, 255,255
palfx.mul = 255, 255,255

[State 1031, Hit_7]
type = HitDef
trigger1 = Var(30) > 7
trigger1 = AnimElem = 7
attr = A, HA
damage = 7, 2
animtype = Hard
getpower = 0, 5
givepower = 0, 2
guardflag = MA
pausetime = 6,6
sparkno = 2
sparkxy = -17,-32
hitsound   = S1000,1
guardsound = S1000,2
ground.type = High
ground.slidetime = 1
ground.hittime = 8
ground.velocity = .3,-4
guard.velocity = -3
air.velocity = .3,-4
palfx.time = 8
palfx.add = 255, 255,255
palfx.mul = 255, 255,255

[State 1031, Hit_8]
type = HitDef
trigger1 = AnimElem = 8
attr = A, HA
damage = 40, 8
animtype = Hard
getpower = 0, 5
givepower = 0, 2
guardflag = MA
pausetime = 6,6
sparkno = 2
sparkxy = -17,-32
hitsound   = S1000,1
guardsound = S1000,2
ground.type = High
ground.slidetime = 1
ground.hittime = 8
ground.velocity = .3,-2
guard.velocity = -3
air.velocity = .3,-2
palfx.time = 8
palfx.add = 255, 255,255
palfx.mul = 255, 255,255

[State 1031, Hit_9]
type = HitDef
trigger1 = Var(30) > 7
trigger1 = AnimElem = 9
attr = A, HA
damage = 7, 2
animtype = Hard
getpower = 0, 5
givepower = 0, 2
guardflag = MA
pausetime = 6,6
sparkno = 2
sparkxy = -17,-32
hitsound   = S1000,1
guardsound = S1000,2
ground.type = High
ground.slidetime = 1
ground.hittime = 8
ground.velocity = .3,-4
guard.velocity = -3
air.velocity = .3,-4
palfx.time = 8
palfx.add = 255, 255,255
palfx.mul = 255, 255,255

[State 1031, Hit_10]
type = HitDef
trigger1 = AnimElem = 10
attr = A, HA
damage = 40, 8
animtype = Hard
getpower = 0, 5
givepower = 0, 2
guardflag = MA
pausetime = 6,6
sparkno = 2
sparkxy = -17,-32
hitsound   = S1000,1
guardsound = S1000,2
ground.type = High
ground.slidetime = 1
ground.hittime = 8
ground.velocity = .3,-2
guard.velocity = -3
air.velocity = .3,-2
palfx.time = 8
palfx.add = 255, 255,255
palfx.mul = 255, 255,255

[State 1031, Hit_11]
type = HitDef
trigger1 = AnimElem = 11
attr = A, HA
damage = 40, 8
animtype = Hard
getpower = 0, 5
givepower = 0, 2
guardflag = MA
pausetime = 6,6
sparkno = 2
sparkxy = -17,-32
hitsound   = S1000,1
guardsound = S1000,2
ground.type = High
ground.slidetime = 1
ground.hittime = 8
ground.velocity = .3,-2
guard.velocity = -3
air.velocity = .3,-2
palfx.time = 8
palfx.add = 255, 255,255
palfx.mul = 255, 255,255

[State 1031, Hit_12]
type = HitDef
trigger1 = Var(30) > 7
trigger1 = AnimElem = 12
attr = A, HA
damage = 7, 2
animtype = Hard
getpower = 0, 5
givepower = 0, 2
guardflag = MA
pausetime = 6,6
sparkno = 2
sparkxy = -17,-32
hitsound   = S1000,1
guardsound = S1000,2
ground.type = High
ground.slidetime = 1
ground.hittime = 8
ground.velocity = .3,-4
guard.velocity = -3
air.velocity = .3,-4
palfx.time = 8
palfx.add = 255, 255,255
palfx.mul = 255, 255,255

[State 1031, Hit_13]
type = HitDef
trigger1 = AnimElem = 13
attr = A, HA
damage = 40, 8
animtype = Hard
getpower = 0, 5
givepower = 0, 2
guardflag = MA
pausetime = 6,6
sparkno = 2
sparkxy = -17,-32
hitsound   = S1000,1
guardsound = S1000,2
ground.type = High
ground.slidetime = 1
ground.hittime = 8
ground.velocity = .3,-2
guard.velocity = -3
air.velocity = .3,-2
palfx.time = 12
palfx.add = 255, 255,255
palfx.mul = 255, 255,255
fall = ifelse(p2name = "Mercedes Benz",0, 1)
air.fall = 1
air.juggle = 15

[State 3020, VarSet]
type = VarSet
trigger1 = Time = 60
v = 30
value = 0

[State 3001, Snd]
type = PlaySnd
trigger1 = WinKO = 1
ignorehitpause = 1
persistent = 0
value = 9000,1
volume = 255

[State 3001, Screen]
type = EnvColor
trigger1 = WinKO = 1
value = 255,0,0
ignorehitpause = 1
persistent = 0
under = 1
time = 20

[State 3001, Chars]
type = PalFX
trigger1 = WinKO = 1
ignorehitpause = 1
persistent = 0
value = 0,0,0
mul = 0,0,0
time = 20

[State 3001, end]
type = ChangeState
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = 3022

;================================================================
;GET_HIT/RECOVER/DAMAGE STATES
;================================================================
; HITG_SHAKE
[Statedef 5000]
type    = S
movetype= H
physics = N
velset = 0,0

[State 5000, 1] ;Anim for HIT_LIGHT to HIT_HARD
type = ChangeAnim
trigger1 = Time = 0
trigger1 = GetHitVar(animtype) != [3,5]
value = ifelse((GetHitVar(groundtype) = 1),5000,5010) + GetHitVar(animtype)

[State 5000, 2] ;Anim for HIT_BACK
type = ChangeAnim
trigger1 = Time = 0
trigger1 = GetHitVar(animtype) = [3,5]
value = 5030

[State 5000, 3] ;Anim for HIT_UP/HIT_DIAGUP (only if it exists)
type = ChangeAnim
trigger1 = Time = 0
trigger1 = (GetHitVar(animtype) = [4,5]) && (SelfAnimExist(5047 + GetHitVar(animtype)))
value = 5047 + GetHitVar(animtype) ;5051 - 4 + type

[State 5000, 4] ;Freeze anim
type = ChangeAnim
trigger1 = Time > 0
value = anim

[State 5000, 5] ;State type gets set to aerial if getting hit up
type = StateTypeSet
trigger1 = Time = 0
trigger1 = GetHitVar(yvel) != 0 && GetHitVar(fall)
trigger2 = Pos Y != 0
type = a

[State 5000, 6]
type = ChangeState
trigger1 = HitShakeOver
trigger1 = GetHitVar(yvel) = 0
value = 5001 ;HITG_SLIDE

[State 5000, 7]
type = ChangeState
trigger1 = HitShakeOver
value = 5030

[State 5000, FFB Light]
type = ForceFeedback
trigger1 = anim = 5000
trigger2 = anim = 5010
persistent = 0
time = 6
waveform = square

[State 5000, FFB Medium]
type = ForceFeedback
trigger1 = anim = 5001
trigger2 = anim = 5011
persistent = 0
time = 8
waveform = sinesquare
ampl = 110,-1,-.3

[State 5000, FFB Hard]
type = ForceFeedback
trigger1 = anim = 5012
trigger2 = anim = 5002
trigger3 = anim = 5030
persistent = 0
time = 15
waveform = sinesquare
ampl = 140

;---------------------------------------------------------------------------
; HITG_SLIDE
[Statedef 5001]
type    = S
movetype= H
physics = S

[State 5001, 1]
type = HitVelSet
trigger1 = Time = 0
x = 1

[State 5001, 2]
type = ChangeAnim
trigger1 = AnimTime = 0
value = 5005 + GetHitVar(animtype) + (GetHitVar(groundtype)=2)*10

[State 5001, 3] ;Stop sliding back
type = VelMul
trigger1 = Time >= GetHitVar(slidetime)
x = .6

[State 5001, 4]
type = VelSet
trigger1 = HitOver
x = 0

[State 5001, 5]
type = DefenceMulSet
trigger1 = HitOver
value = 1

[State 5001, 6]
type = ChangeState
trigger1 = HitOver
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; HITC_SHAKE
[Statedef 5010]
type    = C
movetype= H
physics = N
velset = 0,0

[State 5010, 1] ;Anim for HIT_LIGHT to HIT_HARD
type = ChangeAnim
trigger1 = Time = 0
trigger1 = GetHitVar(animtype) != [3,5]
value = 5020 + GetHitVar(animtype)

[State 5010, 2] ;Anim for HIT_BACK
type = ChangeAnim
trigger1 = Time = 0
trigger1 = GetHitVar(animtype) = [3,5]
value = 5030

[State 5010, 3] ;Anim for HIT_UP/HIT_DIAGUP (only if it exists)
type = ChangeAnim
trigger1 = Time = 0
trigger1 = (GetHitVar(animtype) = [4,5]) && (SelfAnimExist(5047 + GetHitVar(animtype)))
value = 5047 + GetHitVar(animtype) ;5051 - 4 + type

[State 5010, 4] ;Freeze anim
type = ChangeAnim
trigger1 = Time > 0
value = anim

[State 5010, 5]
type = ChangeState
trigger1 = HitShakeOver
trigger1 = GetHitVar(yvel) = 0
value = 5011 ;HITC_SLIDE

[State 5010, 6]
type = ChangeState
trigger1 = HitShakeOver
value = 5030

[State 5010, FFB Light]
type = ForceFeedback
trigger1 = anim = 5020
persistent = 0
time = 6
waveform = square

[State 5010, FFB Medium]
type = ForceFeedback
trigger1 = anim = 5021
persistent = 0
time = 8
waveform = sinesquare
ampl = 110,-1,-.3

[State 5010, FFB Hard]
type = ForceFeedback
trigger1 = anim = 5022
persistent = 0
time = 15
waveform = sinesquare
ampl = 140

;---------------------------------------------------------------------------
; HITC_SLIDE
[Statedef 5011]
type    = C
movetype= H
physics = C

[State 5011, 1]
type = HitVelSet
trigger1 = Time = 0
x = 1

[State 5011, 2]
type = ChangeAnim
trigger1 = AnimTime = 0
value = 5025 + GetHitVar(animtype)

[State 5011, 3] ;Stop sliding back
type = VelMul
trigger1 = Time >= GetHitVar(slidetime)
x = .6

[State 5011, 4]
type = VelSet
trigger1 = HitOver
x = 0

[State 5011, 5]
type = DefenceMulSet
trigger1 = HitOver
value = 1

[State 5011, 6]
type = ChangeState
trigger1 = HitOver
value = 11
ctrl = 1


;---------------------------------------------------------------------------
; HITA_SHAKE
[Statedef 5020]
type    = A
movetype= H
physics = N
velset = 0,0

[State 5020, 1] ;Anim for HIT_LIGHT to HIT_HARD
type = ChangeAnim
trigger1 = Time = 0
trigger1 = GetHitVar(animtype) != [3,5]
value = ifelse((GetHitVar(airtype) = 1),5000,5010) + GetHitVar(animtype)

[State 5020, 2] ;Anim for HIT_BACK
type = ChangeAnim
trigger1 = Time = 0
trigger1 = GetHitVar(animtype) = [3,5]
value = 5030

[State 5020, 3] ;Anim for HIT_UP/HIT_DIAGUP (only if it exists)
type = ChangeAnim
trigger1 = Time = 0
trigger1 = (GetHitVar(animtype) = [4,5]) && (SelfAnimExist(5047 + GetHitVar(animtype)))
value = 5047 + GetHitVar(animtype) ;5051 - 4 + type

[State 5020, 4] ;Freeze anim
type = ChangeAnim
trigger1 = Time > 0
value = anim

[State 5020, 5]
type = ChangeState
trigger1 = HitShakeOver
value = 5030

[State 5020, FFB Light]
type = ForceFeedback
trigger1 = anim = 5000
trigger2 = anim = 5010
persistent = 0
time = 6
waveform = square

[State 5020, FFB Medium]
type = ForceFeedback
trigger1 = anim = 5001
trigger2 = anim = 5011
persistent = 0
time = 8
waveform = sinesquare
ampl = 110,-1,-.3

[State 5020, FFB Hard]
type = ForceFeedback
trigger1 = anim = 5012
trigger2 = anim = 5002
trigger3 = anim = 5030
trigger4 = anim = [5051,5059]
persistent = 0
time = 15
waveform = sinesquare
ampl = 140

;---------------------------------------------------------------------------
; HITA_UP (initial going up)
[Statedef 5030]
type    = A
movetype= H
physics = N
ctrl = 0

[State 5030, 1]
type = VelAdd;Gravity
trigger1 = 1
y = GetHitVar(yaccel)

[State 5030, 2]
type = HitVelSet
trigger1 = Time = 0
x = 1
y = 1

[State 5030, 3]
type = ChangeState
triggerall = !HitFall
trigger1 = HitOver
trigger2 = Vel Y > 0    ;Hit ground
trigger2 = Pos Y >= 10  ;.
value = 5040 ;HITA_RECOV

[State 5030, 4]
type = ChangeState
triggerall = HitFall
trigger1 = HitOver
trigger2 = Vel Y > 0    ;Hit ground
trigger2 = Pos Y >= 10  ;.
value = 5050 ;HITA_FALL

[State 5030, 5]
type = ChangeState
trigger1 = AnimTime = 0
value = 5035 ;HITA_UP (transition)

;---------------------------------------------------------------------------
; HITA_UP_T (transition)
[Statedef 5035]
type    = A
movetype= H
physics = N

[State 5035, 1]
type = ChangeAnim
trigger1 = Time = 0
trigger1 = SelfAnimExist(5035)
trigger1 = Anim != [5051,5059] ;Not if in hit up anim
trigger1 = Anim != 5090 ;Not if hit off ground anim
value = 5035

[State 5035, 2]
type = VelAdd
trigger1 = 1
y = GetHitVar(yaccel)

[State 5035, 3]
type = ChangeState
triggerall = !HitFall
trigger1 = HitOver  ;Hit is over
trigger2 = AnimTime = 0 ;Animation over
trigger3 = Vel Y > 0    ;Hit ground
trigger3 = Pos Y >= 10  ;.
trigger4 = Time = 0     ;No transition anim
trigger4 = Anim != 5035 ;.
value = 5040 ;HITA_RECOV

[State 5035, 4]
type = ChangeState
triggerall = HitFall
trigger1 = HitOver  ;Hit is over
trigger2 = AnimTime = 0 ;Anim is over
trigger3 = Vel Y > 0    ;Hit ground
trigger3 = Pos Y >= 10  ;.
trigger4 = Time = 0     ;No transition anim
trigger4 = Anim != 5035 ;.
value = 5050 ;HITA_FALL

;---------------------------------------------------------------------------
; HITA_RECOV (recovering in air, not falling)
[Statedef 5040]
type    = A
movetype= H
physics = N

[State 5040, 1]
type = ChangeState
trigger1 = !Alive
value = 5050

[State 5040, 2]
type = ChangeAnim
trigger1 = AnimTime = 0
trigger1 = Anim != 5040
trigger2 = Time = 0
trigger2 = Anim != 5035
value = 5040

[State 5040, 3]
type = CtrlSet
trigger1 = HitOver
value = 1

[State 5040, 4]
type = StateTypeSet
trigger1 = HitOver
movetype = I

[State 5040, 5]
type = VelAdd
trigger1 = 1
y = GetHitVar(yaccel)

[State 5040, 6]
type = ChangeState
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = 52 ;JUMPLAND

;---------------------------------------------------------------------------
; HITA_FALL (knocked up, falling)
[Statedef 5050]
type    = A
movetype= H
physics = N

[State 5050, 1] ;Change anim when done with transition
type = ChangeAnim
trigger1 = AnimTime = 0
trigger1 = Anim = 5035
trigger2 = Time = 0     ;If no transition anim
trigger2 = Anim != 5035
trigger2 = (Anim != [5051, 5059]) && (Anim != [5061, 5069])
trigger2 = Anim != 5090 ;Not if hit off ground anim
value = 5050

[State 5050, 2] ;Coming down anim
type = ChangeAnim
trigger1 = anim = [5050,5059]
trigger1 = Vel Y >= ifelse(anim = 5050, 1, -2)
trigger1 = SelfAnimExist(anim+10)
value = anim+10
persistent = 0

[State 5050, 3] ;Gravity
type = VelAdd
trigger1 = 1
y = GetHitVar(yaccel)

[State 5050, 4] ;Recover near ground
type = ChangeState
triggerall = Vel Y > 0
triggerall = Pos Y >= -20
triggerall = alive
triggerall = CanRecover
trigger1 = Command = "recovery"
value = 5200 ;HITFALL_RECOVER

[State 5050, 5]; Recover in mid air
type = ChangeState
triggerall = Vel Y > -1
triggerall = alive
triggerall = CanRecover
trigger1 = Command = "recovery"
value = 5210 ;HITFALL_AIRRECOVER

[State 5050, 6]
type = ChangeState
trigger1 = Vel Y > 0
trigger1 = Pos Y >= ifelse((anim = [5051,5059]) || (anim = [5061,5069]), 0, 25)
value = 5100 ;HIT_BOUNCE

;---------------------------------------------------------------------------
; HIT_TRIP (shaking)
[Statedef 5070]
type    = A
movetype= H
physics = N
velset = 0,0

[State 5070, 1]
type = ChangeAnim 
trigger1 = 1
value = 5070

[State 5070, 2]
type = ChangeState
trigger1 = HitShakeOver
value = 5071

[State 5070, 3]
type = ForceFeedback
trigger1 = time = 0
time = 12
waveform = sinesquare
ampl = 140

;---------------------------------------------------------------------------
; HIT_TRIP2 (fall through air)
[Statedef 5071]
type    = A
movetype= H
physics = N

[State 5071, 1]
type = HitVelSet
trigger1 = Time = 0
x = 1
y = 1

[State 5071, 2] ;Acceleration
type = VelAdd
trigger1 = 1
y = GetHitVar(yaccel)

[State 5071, 3] ;Hit ground
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 15
type = ChangeState
value = 5110

;---------------------------------------------------------------------------
; HITL_SHAKE
[Statedef 5080]
type    = L
movetype= H
physics = N
velset = 0,0

[State 5080, 1] ;Set default anim
type = VarSet
trigger1 = time = 0
sysvar(2) = ifelse (GetHitVar(yvel) = 0, 5080, 5090)

[State 5080, 2]
type = VarAdd
trigger1 = time = 0
trigger1 = (anim = [5081,5089]) || (anim = [5111,5119])
trigger1 = SelfAnimExist(sysvar(2) + (anim % 10))
sysvar(2) = anim % 10

[State 5080, 3] ;If 5090 doesn't exist, default to 5030
type = VarSet
trigger1 = time = 0
trigger1 = sysvar(2) = 5090
trigger1 = !SelfAnimExist(5090)
sysvar(2) = 5030

[State 5080, 3] ;Freeze
type = ChangeAnim
trigger1 = 1
value = sysvar(2)

[State 5080, 4]
type = ChangeState
trigger1 = HitShakeOver
trigger1 = GetHitVar(yvel) = 0
value = 5081 ;HITL_SLIDE

[State 5080, 5]
type = ChangeState
trigger1 = HitShakeOver
trigger1 = GetHitVar(yvel) != 0
value = 5030 ;HITA_UP

;---------------------------------------------------------------------------
; HITL_SLIDE
[Statedef 5081]
type    = L
movetype= H
physics = C

[State 5081, 1]
type = HitVelSet
trigger1 = Time = 0
x = 1

[State 5081, 2]
type = VelSet
trigger1 = HitOver
x = 0

[State 5081, 3] ;Don't show hit ground frame
type = VarSet
trigger1 = Time = 0
sysvar(0) = 1

[State 5081, 4]
type = ChangeState
trigger1 = HitOver
value = 5110 ;HIT_LIEDOWN

;---------------------------------------------------------------------------
; HIT_BOUNCE (hit ground)
[Statedef 5100]
type    = L
movetype= H
physics = N

[State 5100, 1]
type = VelSet
trigger1 = Time = 0
trigger1 = GetHitVar(fall.yvel) = 0
trigger1 = vel x > 1
x = 1

[State 5100, EnvShake]
type = FallEnvShake
trigger1 = Time = 0

[State 5100, Var] ;Save fall velocity
type = VarSet
trigger1 = Time = 0
;trigger1 = GetHitVar(fall.yvel) = 0
sysvar(1) = floor(vel y)

[State 5100, 2] ;Hit ground anim (normal)
type = ChangeAnim
triggerall = time = 0
trigger1 = (anim != [5051,5059]) && (anim != [5061,5069])
trigger2 = !SelfAnimExist(5100 + (anim % 10))
value = 5100

[State 5100, 3] ;Hit ground anim (for hit up)
type = ChangeAnim
trigger1 = time = 0
trigger1 = (anim = [5051,5059]) || (anim = [5061,5069])
trigger1 = SelfAnimExist(5100 + (anim % 10))
value = 5100 + (anim % 10)

[State 5100, 4]
type = PosSet
trigger1 = Time = 0
y = 0

[State 5100, 5]
type = VelSet
trigger1 = Time = 0
y = 0

[State 5100, 6] ;Reduce speed
type = VelMul
trigger1 = Time = 0
x = 0.75

[State 5100, 7]
type = ChangeState
trigger1 = Time = 0
trigger1 = GetHitVar(fall.yvel) = 0
value = 5110 ;HIT_LIEDOWN

[State 5100, 8]
type = GameMakeAnim
trigger1 = Time = 1
;value = 61
;pos = 0, 0
;under = 1
value = 60 + (sysvar(1) > 5) + (sysvar(1) > 14)
pos = 0, 0
under = sysvar(1) <= 10

[State 5100, 9]
type = HitFallDamage
trigger1 = Time = 3

[State 5100, 10]
type = PlaySnd
trigger1 = Time = 1
;value = F7, 0 ;Hit ground
value = F7, (sysvar(1) > 5) + (sysvar(1) > 14)

[State 5100, 11]
type = PosFreeze
trigger1 = 1

[State 5100, 12]
type = ChangeState
trigger1 = AnimTime = 0
value = 5101

[State 5100, 13]
type = ForceFeedback
trigger1 = Time = 0
waveform = sinesquare
ampl = 128,-3,-.2,.005
time = 20

;---------------------------------------------------------------------------
; HIT_BOUNCE (bounce into air)
[Statedef 5101]
type    = L
movetype= H
physics = N

[State 5101, 1] ;Coming hit ground anim (normal)
type = ChangeAnim
triggerall = time = 0
trigger1 = anim != [5101,5109]
trigger2 = !SelfAnimExist(5160 + (anim % 10))
value = 5160

[State 5101, 2] ;Coming hit ground anim (for hit up)
type = ChangeAnim
triggerall = time = 0
trigger1 = anim = [5101,5109]
trigger1 = SelfAnimExist(5160 + (anim % 10))
value = 5161

[State 5101, 3]
type = HitFallVel
trigger1 = Time = 0

[State 5101, 4]
type = PosSet
trigger1 = Time = 0
y = 20

[State 5101, 5] ;Acceleration
type = VelAdd
trigger1 = 1
y = .4

[State 5101, 6] ;Hit ground
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 12
type = ChangeState
value = 5110

;---------------------------------------------------------------------------
; HIT_LIEDOWN
[Statedef 5110]
type    = L
movetype= H
physics = N

[State 5110, EnvShake]
type = FallEnvShake
trigger1 = Time = 0

[State 5110, 1] ;For hit up/up-diag type (from state 5081)
type = ChangeAnim
persistent = 0
trigger1 = SelfAnimExist(5110 + (anim % 10))
trigger1 = anim = [5081,5089]
value = 5110 + (anim % 10)

[State 5110, 2] ;Hit ground anim (normal)
type = ChangeAnim
triggerall = time = 0
triggerall = anim != [5110,5119] ;Not already changed anim
trigger1 = anim != [5161,5169]
trigger2 = !SelfAnimExist(5170 + (anim % 10))
value = 5170

[State 5110, 3] ;Hit ground anim (for hit up)
type = ChangeAnim
triggerall = time = 0
triggerall = anim != [5110,5119] ;Not already changed anim
trigger1 = anim = [5161,5169]
trigger1 = SelfAnimExist(5170 + (anim % 10))
value = 5171

[State 5110, 4]
type = HitFallDamage
trigger1 = Time = 0

[State 5110, 5]
type = PosSet
trigger1 = Time = 0
y = 0

[State 5110, Var] ;Get fall velocity
type = VarSet
trigger1 = Time = 0
trigger1 = GetHitVar(fall.yvel) != 0
sysvar(1) = floor(vel y)

[State 5110, 6]
type = PlaySnd
trigger1 = Time = 0
trigger1 = !SysVar(0)
;value = F7, 0 ;Hit ground
value = F7, (sysvar(1) > 5) + (sysvar(1) > 14)

[State 5110, 7]
type = GameMakeAnim
trigger1 = Time = 0
trigger1 = !SysVar(0)
value = 60 + (sysvar(1) > 5) + (sysvar(1) > 14)
pos = 0, 0
under = sysvar(1) <= 10

[State 5110, 8]
type = VelSet
trigger1 = Time = 0
y = 0

[State 5110, 9] ;For hit up type
type = ChangeAnim
persistent = 0
triggerall = anim = [5171,5179]
triggerall = SelfAnimExist(5110 + (anim % 10))
trigger1 = AnimTime = 0
trigger2 = SysVar(0) ;SysVar(0) = 1 avoids hit ground anim
value = 5111

[State 5110, 10] ;For normal
type = ChangeAnim
persistent = 0
triggerall = Anim != [5111,5119]
trigger1 = AnimTime = 0
trigger2 = SysVar(0) ;SysVar(0) = 1 avoids hit ground frame
value = 5110

[State 5110, 11] ;If just died
type = ChangeState
triggerall = !alive
trigger1 = AnimTime = 0
trigger2 = SysVar(0) ;SysVar(0) = 1 avoids hit ground frame
trigger3 = Anim = [5110,5119]
value = 5150

[State 5110, 12]
type = VarSet
trigger1 = SysVar(0)
trigger1 = Time = 0
sysvar(0) = 0

[State 5110, 13] ;Friction
type = VelMul
trigger1 = 1
x = 0.85

[State 5110, 14]
type = ForceFeedback
trigger1 = alive
trigger1 = Time = 0
time = 8
ampl = 240
waveform = sine

[State 5110, 15]
type = ForceFeedback
trigger1 = !alive
trigger1 = Time = 0
ampl = 200, 7, -.467
time = 30
waveform = sine

;---------------------------------------------------------------------------
; HIT_GETUP
[Statedef 5120]
type    = L
movetype= I
physics = N

[State 5120, 1a] ;Get up anim (normal)
type = ChangeAnim
triggerall = time = 0
trigger1 = anim != [5111,5119]
trigger2 = !SelfAnimExist(5120 + (anim % 10))
value = 5120

[State 5120, 1b] ;Get up anim (for hit up/diag-up)
type = ChangeAnim
triggerall = time = 0
trigger1 = anim = [5111,5119]
trigger1 = SelfAnimExist(5120 + (anim % 10))
value = 5121

[State 5120, 2]
type = VelSet
trigger1 = Time = 0
x = 0

[State 5120, 3]
type = NotHitBy
trigger1 = 1
value = SCA
time = 1

[State 5120, 4]
type = HitFallSet
trigger1 = AnimTime = 0
value = 1

[State 5120, 5] ;Can't be thrown right after getting up
type = NotHitBy
trigger1 = AnimTime = 0
value = , NT,ST,HT
time = 12

[State 5120, 6] ;Can't be hit right after getting up (short time)
type = NotHitBy
trigger1 = AnimTime = 0
value2 = SCA
time = 3

[State 5120, 7]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; HIT_LIEDEAD
[Statedef 5150]
type    = L
movetype= H
physics = N
sprpriority = -3

[State 5150, 1] ;Normal anim
type = ChangeAnim
triggerall = Time = 0
triggerall = SelfAnimExist(5140)
trigger1 = (anim != [5111,5119]) && (anim != [5171,5179])
trigger2 = !SelfAnimExist(5140 + (anim % 10))
value = 5140

[State 5150, 3] ;Hit up type anim
type = ChangeAnim
trigger1 = Time = 0
trigger1 = (anim = [5111,5119]) || (anim = [5171,5179])
trigger1 = SelfAnimExist(5140 + (anim % 10))
value = 5141

[State 5150, 4] ;Match over anim
type = ChangeAnim
persistent = 0
;trigger1 = Time = 0
trigger1 = MatchOver = 1
trigger1 = Anim = [5140,5149]
trigger1 = SelfAnimExist(anim+10)
value = anim+10

[State 5150, 5] ;Switch to 5110 if liedead anim does not exist
type = ChangeAnim
trigger1 = Time = 0
trigger1 = Anim != [5140,5159]
trigger1 = Anim != [5110,5119]
value = 5110

[State 5150, 6] ;Friction
type = VelMul
trigger1 = 1
x = 0.85

[State 5150, 7] ;Friction
type = VelSet
trigger1 = Vel x < .05
persistent = 0
x = 0

[State 5150, 8]
type = NotHitBy
trigger1 = 1
value = SCA
time = 1

;---------------------------------------------------------------------------
; HIT_FALLRECOVER (still falling)
;[Statedef 5200]
;type    = A
;movetype= H
;physics = N

;[State 5200, 1] ;Change anim if done with transition
;type = ChangeAnim
;trigger1 = Anim = 5035
;trigger1 = AnimTime = 0
;value = 5050

;[State 5200, 2]
;type = VelAdd
;trigger1 = 1
;y = GetHitVar(yaccel)

;[State 5200, 3]
;type = SelfState
;trigger1 = Vel Y >= 0
;trigger1 = Pos Y = 0
;value = 5201

;---------------------------------------------------------------------------
; HIT_FALLRECOVER (on the ground)
[Statedef 5200]
type    = S
movetype= I
physics = N
velset = 0,0
anim = 5200

[State 256, Position]
type = PosSet
trigger1 = Time = 0
y = 0

[State 256, ImageB]
type = AfterImageTime
trigger1 = Time = [1,25]
time = 2

[State 255, 1]
type = HitBy
trigger1 = Time >= 0
trigger1 = AnimElem = 9, < 0
value = SCA, AT

[State 255, 2]
type = PlaySnd
trigger1 = Time = 1
value = 181,0
volume = 100

[State 255, 4a]
type = VelSet
trigger1 = AnimElem = 1,= 0
x = -8.5

[State 255, 4b]
type = Veladd
trigger1 = AnimElem = 3
x = 2

[State 255, 1]
type = PosAdd
trigger1 = AnimElem = 5
x = -8

[State 255, 2]
type = VelSet
trigger1 = AnimElem = 4
x = 0

[State 255, 3]
type = SprPriority
trigger1 = Time = 0
value = -1

[State 255, 4]
type = PlayerPush
trigger1 = Time >= 0
trigger1 = AnimElem = 9, < 0
value = 0

[State 255, 5]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; HIT_AIRFALLRECOVER
[Statedef 5210]
type    = A
movetype= I
physics = N
anim = 5210
ctrl = 0

[State 5210, 1] ;Blink white
type = PalFX
trigger1 = Time = 0
time = 3
add = 128,128,128 ;256,256,256

[State 5210, 1]
type = PosFreeze
trigger1 = Time = 0
value = 4

[State 5210, Recover]
type = PlaySnd
trigger1 = Time = 1
value = 1,0
volume = 255

[State 5210, 2] ;Turn if not facing opponent
type = Turn
trigger1 = Time = 0
trigger1 = p2dist X < -20

[State 5210, 1] 
type = VelMul
trigger1 = Time = 4
x = .8
y = .8

[State 5210, 1]
type = VelAdd
trigger1 = Time = 4
y = -4.5

[State 5210, 1] 
type = VelMul
trigger1 = Time = 4
trigger1 = Vel Y > 0
y = .5

[State 5210, 1]
type = VelAdd
trigger1 = Time = 4
trigger1 = Vel Y > -3
y = -2

[State 5210, 1]
type = VelAdd
trigger1 = Time = 4
trigger1 = Vel Y > -2
y = -1

[State 5210, 2] ;Go up
type = VelAdd
trigger1 = Time = 4
trigger1 = Command = "holdup"
y = -2

[State 5210, 2] ;Go down
type = VelAdd
trigger1 = Time = 4
trigger1 = Command = "holddown"
y = 1.5

[State 5210, 2] ;Go fwd
type = VelMul
trigger1 = Time = 4
trigger1 = Command = "holdfwd"
x = 1

[State 5210, 2] ;Go back
type = VelAdd
trigger1 = Time = 4
trigger1 = Command = "holdback"
x = -1

[State 5210, 3]
type = NotHitBy
trigger1 = Time = 0
value = SCA
time = 15

[State 5210, 4]
type = CtrlSet
trigger1 = Time = 20
value = 1

[State 5210, 5]
type = VelAdd;Gravity
trigger1 = Time >= 4
y = .35

[State 5210, 5] ;Land on ground
type = ChangeState
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = 52 ;JUMP_LAND
ctrl = 1

;----------------------------------------------------------------
;================================================================
; Override common states (use same number to override) :
;---------------------------------------------------------------------------
; States are alyaws checked!!!!
[Statedef -2]

; Lay 1
[State -2, 1]
type = PlaySnd
trigger1 = Stateno = 52
trigger1 = Time = 1
value = 52,0

[State -2, 1]
type = VarSet
trigger1 = Life <= (LifeMax/4)
v = 5
value = 1

[State -2, 2]
type = VarSet
trigger1 = Life > (LifeMax/4)
v = 5
value = 0

[State -2, 4]
type = PalFX
triggerall = Var(5) = 1
triggerall = Movetype != H
trigger1 = TimeMod = 60,0
add = 156,156,255
mul = 156,156,255
time = 3

;Unlimited SuperBar (está desativada por motivos óbvios)
;[State -2, 3]
;type = PowerSet
;trigger1 = Power != 3000
;value = 3000

[State -2, 7]
type = PlaySnd
triggerall = Random < 300
triggerall = Time = 1
trigger1 = anim = 5000
trigger2 = anim = 5010
trigger3 = anim = 5020
value = 5000, 0

[State -2, 8]
type = PlaySnd
triggerall = Random < 300
triggerall = Time = 1
trigger1 = anim = 5001
trigger2 = anim = 5011
trigger3 = anim = 5021
value = 5000, 1

[State -2, 9]
type = PlaySnd
triggerall = Random < 300
triggerall = Time = 1
trigger1 = anim = 5002
trigger2 = anim = 5012
trigger3 = anim = 5022
trigger4 = anim = 5100 & alive = 1
value = 5000, 2

;Get Hit Sound in Supers
[State -2, 2d]
type = PlaySnd
;Triggerall = (p2name = "Spike") || (p4name = "Spike")
trigger1 = anim = 23007 || anim = 23028
trigger1 = Time = 1 && alive = 1
trigger2 = anim = 23025
trigger2 = alive = 1
trigger2 = AnimELem = 2 || AnimElem = 5 || AnimElem = 8 || AnimELem = 11
trigger3 = anim = 25005
trigger3 = alive = 1
trigger3 = AnimElem = 5,1 || AnimElem = 5,5 || AnimElem = 5,9
trigger4 = anim = 25025
trigger4 = AnimElem = 5 && alive = 1
value = 5000, 1
volume = 0

[State -2, 2e]
type = PlaySnd
;Triggerall = (p2name = "Steam") || (p4name = "Steam")
trigger1 = anim = 23007 || anim = 23028
trigger1 = Time = 44 && alive = 1
trigger2 = anim = 25027
trigger2 = Time = 1 && alive = 1
trigger3 = anim = 30007 || anim = 30047
trigger3 = Time = 1 && alive = 1
trigger4 = anim = 30008
trigger4 = alive = 1
trigger4 = time = 1 && alive = 1
value = 5000, 2
volume = 0

[State -2, 2f]
type = PlaySnd
;Triggerall = (p2name = "Espio STF") || (p4name = "Espio STF")
trigger1 = anim = 30008
trigger1 = Time = 10 && alive = 1
value = 11,0
volume = 0

[State -2, Vartemp1DM]
type = VarSet
triggerall = WinKO = 1
trigger1 = stateno = 3020
V = 59
value = 1

[State -2, Vartemp2DM]
type = VarSet
triggerall = WinKO = 0
trigger1 = stateno = 3021
v = 59
value = 0

[State -2, Vartemp1SDM]
type = VarSet
triggerall = WinKO = 1
trigger1 = stateno = 3030
V = 58
value = 1

[State -2, Vartemp2SDM]
type = VarSet
triggerall = WinKO = 0
trigger1 = stateno = 3031
v = 58
value = 0

[State -2, Assert]
type = AssertSpecial
trigger1 = RoundState = 0
trigger2 = RoundState = 1
flag = nobardisplay

;-----------------------------------------------------------------
; States -2 to logo CNS

; COUNTER HIT
[State -2, Counter hit font (Player 1)]
type = Explod
triggerall = var(36) = 1 && NumExplod(8000) = 0 && !Win = 1 && var(37) = 1
trigger1 = stateno < 800 && movehit = 1
trigger2 = stateno >= 900 && movehit = 1
anim = 8000
ID = 8000
pos = 10,140
postype = left
sprpriority = 5
removetime = 39
ontop = 1
shadow = 0,0,0
ownpal = 1
bindtime = -1

[State -2, Counter hit Logo (Player 2)]
type = Explod
triggerall = var(36) = 2 && NumExplod(8000) = 0 && !Win = 1 && var(37) = 1
trigger1 = stateno < 800 && movehit = 1
trigger2 = stateno >= 900 && movehit = 1
anim = 8000
ID = 8000
pos = -110,140
postype = right
sprpriority = 5
removetime = 39
ontop = 1
shadow = 0,0,0
ownpal = 1
bindtime = -1

[State -2, Left Facing]
type = VarSet
trigger1 = teamside = 1 && roundstate = 0;Facing = 1 && roundstate = 0
var(36) = 1

[State -2, Right Facing]
type = VarSet
trigger1 = teamside = 2 && roundstate = 0;Facing = -1 && roundstate = 0
var(36) = 2

[State -2, Counter hit varset (P2Attack setting)]
type = Varset
trigger1 = P2movetype = A && var(37) != -1
var(37) = 1

[State -2, Counter hit varset (P2Attack setting)]
type = Varset
trigger1 = P2movetype != A && var(37) != -1
var(37) = 0

[State -2, Counter hit varset (P2Attack setting)]
type = Varset
trigger1 = NumExplod(8000) = 1
var(37) = 0

;-----------------------------------------------------------------
; FIRST ATTACK
[State 3000, FA]
type = Helper
triggerall = var(41) = 0
triggerall = !NumHelper(8002)
triggerall = Roundstate = 2
trigger1 = var(40) = 1
id = 8002
name = "First Attack"
pos = 0,0
postype = p1
stateno = 8005
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
pausemovetime = 999999
supermovetime = 999999
facing = facing*(ifelse(teamside=1,1,-1))
perisistent = 0

[State 180, x]
type = VarSet
triggerall = Var(57) = 0
triggerall = p2movetype = H
trigger1 = stateno != [800, 999]
trigger1 = movehit
trigger2 = projhit = 1
;trigger3 = (stateno = 901) && (animelem = 6) && (movetype = !=H)
var(40) = 1

[State -2, COmbo]
type = VarSet
trigger1 = var(40) = 0
trigger1 = Movetype = H && (stateno != [150, 159])
var(57) = 1
ignorehitpause = 0
persistent = 0

[State -2, VarOn]; Usei esta variavel so para evitar looping do helper First Attack
type = VarSet
trigger1 = numhelper(8002)
var(41) = 1

[State -2, Rst Var1]
type = Varset
trigger1 = Roundstate = 0
var(40) = 0

[State -2, Rst Var2]
type = Varset
trigger1 = Roundstate = 0
var(57) = 0

[State -2, Rst Var3]
type = Varset
trigger1 = Roundstate = 0
var(41) = 0

;-----------------------------------------------------------------
; NORMAL FINISH
[State 3000, NF]
type = Helper
triggerall = var(43) = 0
triggerall = !NumHelper(8010)
triggerall = alive
triggerall = var(42) = 1
trigger1 = winKO
id = 8010
name = "Finish"
pos = 0,0
postype = p1
stateno = 8010
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
pausemovetime = 999999
supermovetime = 999999
facing = facing*(ifelse(teamside=1,1,-1))
perisistent = 0

;-----------------------------------------------------------------
; SPECIAL FINISH
[State 3000, SP]
type = Helper
triggerall = var(43) = 0
triggerall = !NumHelper(8011)
triggerall = alive
triggerall = var(42) = 2
trigger1 = winKO
id = 8011
name = "Special Finish"
pos = 0,0
postype = p1
stateno = 8011
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
pausemovetime = 999999
supermovetime = 999999
facing = facing*(ifelse(teamside=1,1,-1))
perisistent = 0

;-----------------------------------------------------------------
; THROW FINISH
[State 3000, TF]
type = Helper
triggerall = var(43) = 0
triggerall = !NumHelper(8012)
triggerall = alive
triggerall = var(42) = 3
trigger1 = winKO
id = 8012
name = "Throw Finish"
pos = 0,0
postype = p1
stateno = 8012
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
pausemovetime = 999999
supermovetime = 999999
facing = facing*(ifelse(teamside=1,1,-1))
perisistent = 0

;-----------------------------------------------------------------
; SUPER FINISH
[State 3000, DM]
type = Helper
triggerall = var(43) = 0
triggerall = !NumHelper(8013)
triggerall = alive
triggerall = var(42) = 4
trigger1 = winKO
id = 8013
name = "Super Finish"
pos = 0,0
postype = p1
stateno = 8013
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
pausemovetime = 999999
supermovetime = 999999
facing = facing*(ifelse(teamside=1,1,-1))
perisistent = 0

;-----------------------------------------------------------------
; HYPER FINISH
[State 3000, SDM]
type = Helper
triggerall = var(43) = 0
triggerall = !NumHelper(8014)
triggerall = alive
triggerall = var(42) = 5
trigger1 = winKO
id = 8014
name = "Hyper Finish"
pos = 0,0
postype = p1
stateno = 8014
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
pausemovetime = 999999
supermovetime = 999999
facing = facing*(ifelse(teamside=1,1,-1))
perisistent = 0

;-----------------------------------------------------------------
; ULTRA FINISH
[State 3000, SKM]
type = Helper
triggerall = var(43) = 0
triggerall = !NumHelper(8015)
triggerall = alive
triggerall = var(42) = 6
trigger1 = winKO
id = 8015
name = "Ultra Finish"
pos = 0,0
postype = p1
stateno = 8015
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
pausemovetime = 999999
supermovetime = 999999
facing = facing*(ifelse(teamside=1,1,-1))
perisistent = 0

[State -2, VarOn]; Usei esta variavel so para evitar looping do helper % Finish
type = VarSet
trigger1 = numhelper(8010)
trigger2 = numhelper(8011)
trigger3 = numhelper(8012)
trigger4 = numhelper(8013)
trigger5 = numhelper(8014)
trigger6 = numhelper(8015)
var(43) = 1

[State -2, VarSet]
type = Varset
triggerall = roundstate = 3
triggerall = (stateno != [800, 999]) && (stateno != 255) && (stateno != 256)
trigger1 = (stateno = [200, 799])
trigger2 = (stateno = [10000, 10019])
var(42) = 1

[State -2, VarSet2]
type = Varset
triggerall = roundstate = 3
triggerall = (stateno != [800, 999]) && (stateno != 255) && (stateno != 256)
trigger1 = (stateno = [1000, 2999])
trigger2 = projhit(1001) = 1 || projhit(1011) = 1
var(42) = 2

[State -2, VarSet3]
type = Varset
triggerall = roundstate = 3
triggerall = (stateno != 255) && (stateno != 256)
trigger1 = (stateno = [800, 999])
var(42) = 3

[State -2, VarSet4]
type = Varset
triggerall = roundstate = 3
triggerall = (stateno != [800, 999]) && (stateno != 255) && (stateno != 256)
trigger1 = (stateno = [3000, 3009]) || (stateno = [3020, 3029])
trigger2 = projhit(3001) = 1
trigger3 = (stateno = [10020, 10029]) 
var(42) = 4

[State -2, VarSet5]
type = Varset
triggerall = roundstate = 3
triggerall = (stateno != [800, 999]) && (stateno != 255) && (stateno != 256)
trigger1 = (stateno = [3010, 3019]) || (stateno = [3030, 3039])
trigger2 = projhit(3011) = 1
trigger3 = (stateno = [10030, 10039]) 
var(42) = 5

[State -2, VarSet6]
type = Varset
triggerall = roundstate = 3
triggerall = (stateno != [800, 999]) && (stateno != 255) && (stateno != 256)
trigger1 = (stateno = [4000, 4999])
var(42) = 6

[State -2, Rst Var4]
type = Varset
trigger1 = Roundstate = 0
var(42) = 0

[State -2, Rst Var5]
type = Varset
trigger1 = Roundstate = 0
var(43) = 0

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