; Player'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 = 50 ;Def goes up by 50% everytime player is hit on ground
liedown.time = 60    ;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 = 0          ;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 = 15     ;Player width (back, ground)
ground.front = 15    ;Player width (front, ground)
air.back = 12        ;Player width (back, air)
air.front = 12       ;Player width (front, air)
z.width = 3          ;Player width (into and out)
height = 60	     ;Height of player (for opponent to jump over)
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   

[Velocity]
walk.fwd  = 2.3      ;Walk forward
walk.back = -2.2     ;Walk backward
run.fwd  = 4.6, 0    ;Run forward (x, y)  - if y<0, player will hop
run.back = -4.5,-3.8 ;Run backward (x, y) - if y=0, player will run
jump.neu = 0,-8.1    ;Neutral jumping velocity (x, y)
jump.back = -2.55    ;Jump back Speed (x, y)
jump.fwd = 2.5       ;Jump forward Speed (x, y)
runjump.back = -2.55,-8.1 ;Running jump speeds (opt)
runjump.fwd = 4,-8.1      ;.
airjump.neu = 0,-8.1      ;.
airjump.back = -2.55,-8.1 ;Air jump speeds (opt)
airjump.fwd = 2.5,-8.1    ;.

[Movement]
airjump.num = 1      ;Number of air jumps allowed (opt)
airjump.height = 35  ;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 = ?
; ...

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

;---------------------------------------------------------------------------
; Taunt
[Statedef 195]
type = S
movetype = I
physics = S
ctrl = 0
anim = 195
velset = 0

[State 195, A]
type = PlaySnd
trigger1 = AnimElem = 2
value = 0,4


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



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

[State 180, 1]
type = ChangeState
trigger1 = Time = 0
value = 181

;---------------------------------------------------------------------------
; WIN1
[Statedef 181]
type = S
ctrl = 0
anim = 181
velset = 0,0,0

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

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

[State 191, 1] ;Intro not yet over
type = VarSet
trigger1 = Time = 0
v = 9
value = 1

[State 191, 7] ;Intro over, set v9 to 1
type = VarSet
trigger1 = Time = 60
v = 9
value = 0

;----------------
;YOGA FLAME X
[Statedef 1010]
type    = S
movetype= A
physics = N
poweradd= 80
ctrl = 0
velset = 0, 0
anim = 1010

[State 405, 6]
type = PlaySnd
trigger1 = Time = 0
value = 0,10

[State 405, 6]
type = PlaySnd
trigger1 = Time = 20
value = 0,11

;-------------------
;YOGA FLAME (X)
[State 1010, 0]
type = Helper
trigger1 = AnimElem = 9
helpertype = normal
name = "EMRAY"
id = 666
postype = p1
pos = 0,0
stateno = 1011
keyctrl = 0
ownpal = 0
sprpriority = 1
priority = 3

[State 1010, 8]
type = ChangeState
trigger1 = Animtime = 0
value = 0
ctrl = 1

; YOGA FLAME (X)
[Statedef 1011]
type    = S     
movetype= A     
physics = N     
juggle  = 1     
velset = 0,0
ctrl = 0  
poweradd = 0
anim = 1011

[State 5150, 2]
type = SprPriority
trigger1 = Time >= 0
value = 2

[State 1011 , 1]
type = HitDef
;trigger1 = AnimElem = [2,4] 
trigger1 = AnimElem = 2
trigger2 = AnimElem = 3
trigger3 = AnimElem = 4
;persistent = 0
attr = SCA, HP
damage    = 15 
animtype = Heavy
guardflag = MA

hitflag = MAFDP
priority = 3, Hit
pausetime = 0,10
sparkno = -1
sparkxy = -10,-70
hitsound   = S0,28
guardsound = 6,0
ground.type = High
ground.slidetime = 15
ground.hittime  = 20
ground.velocity = -5
air.velocity = -4,-3
palfx.time = 20
palfx.mul = 240,100,0
palfx.add = 240,224,32

[state 1011, 8]
type = BindToParent
trigger1 = parent, stateno = 1010
pos = 0,0

[state 1011, 8]
type = destroyself
trigger1 = Animtime = 0
trigger2 = parent, stateno != 1010


;----------------
; YOGA FLAME Y
[Statedef 1012]
type    = S
movetype= A
physics = N
poweradd= 80
ctrl = 0
velset = 0, 0
anim = 1012

[State 405, 6]
type = PlaySnd
trigger1 = Time = 0
value = 0,10

[State 405, 6]
type = PlaySnd
trigger1 = Time = 20
value = 0,11

;-------------------
; YOGA FLAME Y
[State 1012, 0]
type = Helper
trigger1 = AnimElem = 9
helpertype = normal
name = "EMRAY"
id = 666
postype = p1
pos = 0,0
stateno = 1013
keyctrl = 0
ownpal = 0
sprpriority = 1
priority = 3

[State 1012, 8]
type = ChangeState
trigger1 = Animtime = 0
value = 0
ctrl = 1

; YOGA FLAME Y
[Statedef 1013]
type    = S     
movetype= A     
physics = N     
juggle  = 1     
velset = 0,0
ctrl = 0  
poweradd = 0
anim = 1013

[State 5150, 2]
type = SprPriority
trigger1 = Time >= 0
value = 2

[State 1013 , 1]
type = HitDef
:trigger1 = AnimElem = [2,8]  
trigger1 = AnimElem = 2
trigger2 = AnimElem = 3
trigger3 = AnimElem = 4
trigger4 = AnimElem = 5
trigger5 = AnimElem = 6
trigger6 = AnimElem = 7
trigger7 = AnimElem = 8
;persistent = 0
attr = SCA, HP
damage    = 10 
animtype = Heavy
guardflag = MA

hitflag = MAFDP
priority = 3, Hit
pausetime = 0,10
sparkno = -1
sparkxy = -10,-70
hitsound   = S0,28
guardsound = 6,0
ground.type = High
ground.slidetime = 15
ground.hittime  = 20
ground.velocity = -5
air.velocity = -4,-3
palfx.time = 20
palfx.mul = 240,100,0
palfx.add = 240,224,32

[state 1013, 8]
type = BindToParent
trigger1 = parent, stateno = 1012
pos = 0,0

[state 1013, 8]
type = destroyself
trigger1 = Animtime = 0
trigger2 = parent, stateno != 1012


;----------------
; YOGA FLAME Z
[Statedef 1014]
type    = S
movetype= A
physics = N
poweradd= 80
ctrl = 0
velset = 0, 0
anim = 1014

[State 405, 6]
type = PlaySnd
trigger1 = Time = 0
value = 0,10

[State 405, 6]
type = PlaySnd
trigger1 = Time = 20
value = 0,11

;-------------------
; YOGA FLAME Z
[State 1014, 0]
type = Helper
trigger1 = AnimElem = 9
helpertype = normal
name = "EMRAY"
id = 666
postype = p1
pos = 0,0
stateno = 1015
keyctrl = 0
ownpal = 0
sprpriority = 1
priority = 3

[State 1014, 8]
type = ChangeState
trigger1 = Animtime = 0
value = 0
ctrl = 1

; YOGA FLAME Z
[Statedef 1015]
type    = S     
movetype= A     
physics = N     
juggle  = 1     
velset = 0,0
ctrl = 0  
poweradd = 0
anim = 1015

[State 5150, 2]
type = SprPriority
trigger1 = Time >= 0
value = 2

[State 1015 , 1]
type = HitDef
;trigger1 = AnimElem = [2,12]  
trigger1 = AnimElem = 2
trigger2 = AnimElem = 3
trigger3 = AnimElem = 4
trigger4 = AnimElem = 5
trigger5 = AnimElem = 6
trigger6 = AnimElem = 7
trigger7 = AnimElem = 8
trigger8 = AnimElem = 9
trigger9 = AnimElem = 10
trigger10 = AnimElem = 11
trigger11 = AnimElem = 12
;persistent = 0
attr = SCA, HP
damage    = 9
animtype = Heavy
guardflag = MA

hitflag = MAFDP
priority = 3, Hit
pausetime = 0,10
sparkno = -1
sparkxy = -10,-70
hitsound   = S0,28
guardsound = 6,0
ground.type = High
ground.slidetime = 15
ground.hittime  = 20
ground.velocity = -5
air.velocity = -4,-3
palfx.time = 20
palfx.mul = 240,100,0
palfx.add = 240,224,32


[state 1015, 8]
type = BindToParent
trigger1 = parent, stateno = 1014
pos = 0,0

[state 1015, 8]
type = destroyself
trigger1 = Animtime = 0
trigger2 = parent, stateno != 1014


;---------------------------------------------------------------------------
; YOGA FIRE X
[Statedef 1000]
type    = S
movetype= A
physics = S
velset = 0,0,0
poweradd = 80
juggle = 0
ctrl = 0
anim = 1000

[State 1000, 2]
type = PlaySnd
trigger1 = AnimElem = 4,-1
value = 1,1

[State 1000, 2]
type = PlaySnd
trigger1 = AnimElem = 4
value = 2,0

[State 1203, 2] ;flame_effect
type = explod
trigger1 = projhit = 1
trigger1 = AnimTime = 0
anim = 2400
postype = p2
pos = -35,-95
bindtime = 75
sprpriority = 1

[State 1000, 7]
type = Projectile
trigger1 = AnimElem = 4
projanim = 1001
projhitanim = 1005
projpriority = 1
projshadow = -1
offset = 0,0
velocity = 2.5
attr = S, SP
damage   = 80,10
animtype = heavy
guardflag = MA
hitflag = MAFP
pausetime = 0,10
hitsound   = 5, 0
guardsound = 6, 0
sparkxy = 500,500
ground.type = High
ground.slidetime = 20
ground.hittime  = 20
ground.velocity = -4
air.animtype = Back
air.velocity = -5,-6
air.juggle = 3
air.fall = 1
down.velocity = -5,-6
down.hittime = 30
down.bounce = 0
palfx.time = 20
palfx.mul = 240,100,0
palfx.add = 240,224,32

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

;---------------------------------------------------------------------------
; YOGA FIRE Y
[Statedef 1001]
type    = S
movetype= A
physics = S
velset = 0,0,0
poweradd = 80
juggle = 0
ctrl = 0
anim = 1000

[State 1000, 2]
type = PlaySnd
trigger1 = AnimElem = 4,-1
value = 1,1

[State 1000, 2]
type = PlaySnd
trigger1 = AnimElem = 4,-1
value = 2,1

[State 1203, 2] ;flame_effect
type = explod
trigger1 = projhit = 1
trigger1 = AnimTime = 0
anim = 2400
postype = p2
pos = -35,-95
bindtime = 75
sprpriority = 1

[State 1000, 7]
type = Projectile
trigger1 = AnimElem = 4
projanim = 1002
projhitanim = 1005
projpriority = 1
projshadow = -1
offset = 0,0
velocity = 4.5
attr = S, SP
damage   = 80,10
animtype = heavy
guardflag = MA
hitflag = MAFP
pausetime = 0,10
hitsound   = 5, 0  
guardsound = 6, 0
sparkxy = 500,500
ground.type = High
ground.slidetime = 22
ground.hittime  = 22
ground.velocity = -5
air.animtype = Back
air.velocity = -7,-6
air.juggle = 3
air.fall = 1
down.velocity = -7,-6
down.hittime = 30
down.bounce = 0
palfx.time = 20
palfx.mul = 240,100,0
palfx.add = 240,224,32

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

;---------------------------------------------------------------------------
; YOGA FIRE Z
[Statedef 1002]
type    = S
movetype= A
physics = S
velset = 0,0,0
poweradd = 80
juggle = 0
ctrl = 0
anim = 1000

;[State 1000, 2]
;type = PlaySnd
;trigger1 = AnimElem = 4,-1
;value = 99,3

[State 1000, 2]
type = PlaySnd
trigger1 = AnimElem = 4,-1
value = 1,1

[State 1000, 2]
type = PlaySnd
trigger1 = AnimElem = 4,-1
value = 2,1

[State 1000, 2]
type = PlaySnd
trigger1 = AnimElem = 4,-1
value = 2,2

[State 1000, 7]
type = Projectile
trigger1 = AnimElem = 4
projanim = 1003
projhitanim = 1004
projpriority = 1
projshadow = -1
offset = 0,0
velocity = 8.5
attr = S, SP
damage   = 80,10
animtype = heavy
guardflag = MA
hitflag = MAFP
pausetime = 0,10
hitsound   = 5, 0
guardsound = 6, 0
sparkxy = 500,500
ground.type = High
ground.slidetime = 25
ground.hittime  = 25
ground.velocity = -6
air.animtype = Back
air.velocity = -10,-6
air.juggle = 3
air.fall = 1
down.velocity = -10,-6
down.hittime = 30
down.bounce = 0
palfx.time = 20
palfx.mul = 240,100,0
palfx.add = 240,224,32


[State 1203, 2] ;flame_effect
type = explod
trigger1 = projhit = 1
trigger1 = AnimTime = 0
anim = 2400
postype = p2
pos = -35,-95
bindtime = 75
sprpriority = 1

[State 1000, 8]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
;---------------------------------------------------------------------------
; DRILL KICK
[Statedef 850]
type    = A     
movetype= A     
physics = N     
juggle  = 1     
velset = 0,0
ctrl = 0
anim = 850
poweradd = 40

[State 1531, 5]
type = posfreeze
trigger1 = time <= 8

[State 1531, 5]
type = Velset
trigger1 = AnimElem = 2
x = 4
y = 7

[State 1000, 2]
type = PlaySnd
trigger1 = AnimElem = 1
value = 99,8

;[State 1531, 5]
;type = PlaySnd
;trigger1 = AnimElem = 1
;value = 99,11

;[State 1531, 5]
;type = PlaySnd
;trigger1 = AnimElem = 1
;value = 99,0

[State 201, 1]
type = HitDef
trigger1 = time = 9
trigger2 = time = 11
trigger3 = time = 13
trigger4 = time = 15
trigger5 = time = 17
trigger6 = time = 19
trigger7 = time = 21
trigger8 = time = 23
trigger9 = time = 25
trigger10 = time = 27
trigger11 = time = 29
trigger12 = time = 31
trigger13 = time = 33
trigger14 = time = 35
trigger15 = time = 37
trigger16 = time = 39
trigger17 = time = 41
trigger18 = time = 43
trigger19 = time = 45
trigger20 = time = 47
trigger21 = time = 49
trigger22 = time = 51
attr = A, SA  
damage    = 10,2
animtype = Medium
guardflag = HA
hitflag = MAF
priority = 3, Hit
pausetime = 9,9
sparkxy = -10,0
hitsound = S20,4
guardsound = S20,6
ground.type = Low
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = -4
air.velocity = -4,-3
down.velocity = 0,0
  
[State 200, 7]
type = Playsnd
trigger1 = AnimElem = 2
value = 21,2

[State 210, 2]
type = PlaySnd
trigger1 = Pos Y >= 0
value = 21,4
persistent = 1

[State 210, 2]
type = velset
trigger1 = Pos Y >= 0
x = 5


[State 2002, 4]
type = ChangeState
trigger1 = Pos Y >= 0
trigger1 = Vel Y >= -48
value = 0
ctrl = 1
;---------------------------------------------------------------------------
; DRILL KICK
[Statedef 856]
type    = A     
movetype= A     
physics = N     
juggle  = 1     
velset = 0,0
ctrl = 0
anim = 856
poweradd = 40

[State 1531, 5]
type = posfreeze
trigger1 = time <= 8

[State 1531, 5]
type = Velset
trigger1 = AnimElem = 2
x = 4
y = 7

[State 1000, 2]
type = PlaySnd
trigger1 = AnimElem = 1
value = 99,8

;[State 1531, 5]
;type = PlaySnd
;trigger1 = AnimElem = 1
;value = 99,11

;[State 1531, 5]
;type = PlaySnd
;trigger1 = AnimElem = 1
;value = 99,0

[State 201, 1]
type = HitDef
trigger1 = time = 9
trigger2 = time = 11
trigger3 = time = 13
trigger4 = time = 15
trigger5 = time = 17
trigger6 = time = 19
trigger7 = time = 21
trigger8 = time = 23
trigger9 = time = 25
trigger10 = time = 27
trigger11 = time = 29
trigger12 = time = 31
trigger13 = time = 33
trigger14 = time = 35
trigger15 = time = 37
trigger16 = time = 39
trigger17 = time = 41
trigger18 = time = 43
trigger19 = time = 45
trigger20 = time = 47
trigger21 = time = 49
trigger22 = time = 51
attr = A, SA  
damage    = 10,2
animtype = Medium
guardflag = HA
hitflag = MAF
priority = 3, Hit
pausetime = 9,9
sparkxy = -10,0
hitsound = S20,4
guardsound = S20,6
ground.type = Low
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = -4
air.velocity = -4,-3
down.velocity = 0,0
  
[State 200, 7]
type = Playsnd
trigger1 = AnimElem = 2
value = 21,2

[State 210, 2]
type = PlaySnd
trigger1 = Pos Y >= 0
value = 21,4
persistent = 1

[State 210, 2]
type = velset
trigger1 = Pos Y >= 0
x = 5


[State 2002, 4]
type = ChangeState
trigger1 = Pos Y >= 0
trigger1 = Vel Y >= -48
value = 0
ctrl = 1
;---------------------------------------------------------------------------
; STAND_A
[Statedef 200]
type    = S                      ;State-type: S-stand, C-crouch, A-air, L-liedown
movetype= A                      ;Move-type: A-attack, I-idle, H-gethit
physics = S                      ;Physics: S-stand, C-crouch, A-air
juggle  = 1                      ;Number of air juggle points move takes
;Commonly-used controllers:
velset = 0,0                     ;Set velocity (x,y) (Def: no change)
ctrl = 0                         ;Set ctrl (Def: no change)
anim = 200                       ;Change animation (Def: no change)
poweradd = 20                    ;Power to add (Def: 0)

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 3
attr = S, NA                     ;Attribute: Standing, Normal Attack
damage    = 23                   ;Damage that move inflicts
animtype = Light                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
;getpower = 30,15                 ;Power to get on hit, on guard
;                                 ;(Def Hit: 0)  (Def Guard: 1/2 of hit power)
;givepower = 15,8                 ;Power to give opponent on hit, on guard
;                                 ;(Def Hit: 0)  (Def Guard: 1/2 of hit power)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
                                 ;Hit/Miss/Dodge type (Def: Hit)
pausetime = 7,8                  ;Time attacker pauses, time victim shakes
numhits = 1                      ;Number of hits to count as (Def: 1)
sparkno = 0                   ;Spark image group and no (Def: set above)
sparkxy = -10,-70                ;X-offset for the "hit spark" rel. to p2,
                                 ;Y-offset for the spark rel. to p1
hitsound = 5,10                   ;Sound to play on hit
guardsound = 6,0                 ;Sound to play on guard
; mindist  = 0,0,0                 ;Min distance of p2 from p1 when hit
; maxdist  = 0,0,0                 ;Max distance of p2 from p1 when hit
; snap = 0,0,0                     ;Snaps p2 to position rel to p1
ground.type = High                 ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 5             ;Time that the victim slides back
ground.hittime  = 11             ;Time victim is in hit state
ground.velocity = -4             ;Velocity at which victim is pushed
; guard.slidetime = 5              ;Values for guarded attack (def: ground.slidetime)
; guard.hittime  = 15              ; (def: ground.hittime)
; guard.velocity = -4              ; (def: ground.velocity)
; guard.ctrltime = 7               ;Time to regain control after guard (def: guard.slidetime)
airguard.velocity = -1.9         ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
; airguard.ctrltime = 7            ;Time to regain control after air guard (def: ground.ctrltime)
; air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -1.3,-3           ;X-velocity at which victim is pushed,
                                 ;Y-velocity at which victim is pushed
;air.hittime = 20                  ;Time before oppoment regains control in air
; attack.width = 3, 3              ;Override default attack width
; fall = 0                         ;1 to cause opponent to fall (def: 0)
; fall.damage = 0                  ;Damage opponent takes on fall
; fall.velocity = n/a,-4.5         ;X, Y-velocity after bouncing off ground
; fall.animtype = Back             ;Animation type for falling people (def: Back)
; air.fall = 0                     ;1 to cause opponent to fall if in air (def: same as fall)
; down.velocity = ?,?              ;Velocity for opponents lying down (def: same as air.velocity)
; down.hittime = 20                ;Time opponent is stunned on ground (only for down.y-velocity = 0) (def: 20)
; down.bounce = 0                  ;Set to 1 for opponent to bounce on ground (def: 0)

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

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

;---------------------------------------------------------------------------
; STAND_B
[Statedef 210]
type    = S
movetype= A
physics = S
juggle  = 4
poweradd= 60
ctrl = 0
velset = 0,0,0
anim = 210

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

[State 210, 2]
type = HitDef
trigger1 = AnimElem = 2
attr = S, NA
animtype  = Medium
damage    = 55
guardflag = MA
pausetime = 11,11
sparkxy = -10,-70
hitsound   = 5,11
guardsound = 6,0
ground.type = High
ground.slidetime = 12
ground.hittime  = 15
ground.velocity = -5
air.velocity = -2.2,-3.2

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


;---------------------------------------------------------------------------
; STAND_C
[Statedef 220]
type    = S
movetype= A
physics = S
juggle  = 4
poweradd= 60
ctrl = 0
velset = 0,0,0
anim = 220

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

[State 220, 2]
type = HitDef
trigger1 = AnimElem = 2
attr = S, NA
animtype  = Medium
damage    = 55
guardflag = MA
pausetime = 11,11
sparkxy = -10,-70
hitsound   = 5,12
guardsound = 6,0
ground.type = High
ground.slidetime = 12
ground.hittime  = 15
ground.velocity = -5
air.velocity = -2.2,-3.2

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

;---------------------------------------------------------------------------
; STAND_X
[Statedef 202]
type    = S                      ;State-type: S-stand, C-crouch, A-air, L-liedown
movetype= A                      ;Move-type: A-attack, I-idle, H-gethit
physics = S                      ;Physics: S-stand, C-crouch, A-air
juggle  = 1                      ;Number of air juggle points move takes
;Commonly-used controllers:
velset = 0,0                     ;Set velocity (x,y) (Def: no change)
ctrl = 0                         ;Set ctrl (Def: no change)
anim = 202                       ;Change animation (Def: no change)
poweradd = 20                    ;Power to add (Def: 0)

[State 202, 1]
type = HitDef
trigger1 = AnimElem = 3
attr = S, NA                     ;Attribute: Standing, Normal Attack
damage    = 23                   ;Damage that move inflicts
animtype = Light                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
;getpower = 30,15                 ;Power to get on hit, on guard
;                                 ;(Def Hit: 0)  (Def Guard: 1/2 of hit power)
;givepower = 15,8                 ;Power to give opponent on hit, on guard
;                                 ;(Def Hit: 0)  (Def Guard: 1/2 of hit power)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
                                 ;Hit/Miss/Dodge type (Def: Hit)
pausetime = 7,8                  ;Time attacker pauses, time victim shakes
numhits = 1                      ;Number of hits to count as (Def: 1)
sparkno = 0                   ;Spark image group and no (Def: set above)
sparkxy = -10,-70                ;X-offset for the "hit spark" rel. to p2,
                                 ;Y-offset for the spark rel. to p1
hitsound = 5,10                   ;Sound to play on hit
guardsound = 6,0                 ;Sound to play on guard
; mindist  = 0,0,0                 ;Min distance of p2 from p1 when hit
; maxdist  = 0,0,0                 ;Max distance of p2 from p1 when hit
; snap = 0,0,0                     ;Snaps p2 to position rel to p1
ground.type = High                 ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 5             ;Time that the victim slides back
ground.hittime  = 11             ;Time victim is in hit state
ground.velocity = -4             ;Velocity at which victim is pushed
; guard.slidetime = 5              ;Values for guarded attack (def: ground.slidetime)
; guard.hittime  = 15              ; (def: ground.hittime)
; guard.velocity = -4              ; (def: ground.velocity)
; guard.ctrltime = 7               ;Time to regain control after guard (def: guard.slidetime)
airguard.velocity = -1.9         ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
; airguard.ctrltime = 7            ;Time to regain control after air guard (def: ground.ctrltime)
; air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -1.3,-3           ;X-velocity at which victim is pushed,
                                 ;Y-velocity at which victim is pushed
;air.hittime = 20                  ;Time before oppoment regains control in air
; attack.width = 3, 3              ;Override default attack width
; fall = 0                         ;1 to cause opponent to fall (def: 0)
; fall.damage = 0                  ;Damage opponent takes on fall
; fall.velocity = n/a,-4.5         ;X, Y-velocity after bouncing off ground
; fall.animtype = Back             ;Animation type for falling people (def: Back)
; air.fall = 0                     ;1 to cause opponent to fall if in air (def: same as fall)
; down.velocity = ?,?              ;Velocity for opponents lying down (def: same as air.velocity)
; down.hittime = 20                ;Time opponent is stunned on ground (only for down.y-velocity = 0) (def: 20)
; down.bounce = 0                  ;Set to 1 for opponent to bounce on ground (def: 0)

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

[State 202, 1] 
type =  PlaySnd
trigger1 = Time = 2
value = 0, 1
;---------------------------------------------------------------------------
; STAND_Y
[Statedef 212]
type    = S
movetype= A
physics = S
juggle  = 4
poweradd= 60
ctrl = 0
velset = 0,0,0
anim = 212

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

[State 212, 2]
type = HitDef
trigger1 = AnimElem = 2
attr = S, NA
animtype  = Medium
damage    = 55
guardflag = MA
pausetime = 11,11
sparkxy = -10,-70
hitsound   = 5,11
guardsound = 6,0
ground.type = High
ground.slidetime = 12
ground.hittime  = 15
ground.velocity = -5
air.velocity = -2.2,-3.2

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


;---------------------------------------------------------------------------
; STAND_Z
[Statedef 213]
type    = S
movetype= A
physics = S
juggle  = 4
poweradd= 60
ctrl = 0
velset = 0,0,0
anim = 213

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

[State 213, 2]
type = HitDef
trigger1 = AnimElem = 2
attr = S, NA
animtype  = Medium
damage    = 55
guardflag = MA
pausetime = 11,11
sparkxy = -10,-70
hitsound   = 5,12
guardsound = 6,0
ground.type = High
ground.slidetime = 12
ground.hittime  = 15
ground.velocity = -5
air.velocity = -2.2,-3.2

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

;---------------------------------------------------------------------------
; CROUCH_A
[Statedef 450]
type=C
movetype=A
physics=C
anim=450
poweradd=50
velset=0
ctrl=0

[State 450, 1]
type=velset
trigger1=time = 2
trigger2=time = 3
trigger3=time = 4
trigger4=time = 5
trigger5=time = 6
trigger6=time = 7
trigger7=time = 8
trigger8=time = 9
trigger9=time = 10
trigger10=time = 11
trigger11=time = 12
x=5

[State 450, 1.5]
type=PlaySnd
trigger1=Time = 0
value= 1,4

[State 450, 3]
type=HitDef
trigger1=AnimElem = 2
attr=C, NA
animtype=Hard
damage=70
guardflag=L
hitflag=M
pausetime=12,12
sparkno=0
sparkxy=-10,-10
hitsound= 5, 12
guardsound= 6, 0
ground.type=low
ground.slidetime=15
ground.hittime=19
ground.velocity=-3   
air.velocity=-2.5,-3.3
fall=1

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


;---------------------------------------------------------------------------
; CROUCH_B
[Statedef 451]
type=C
movetype=A
physics=C
anim=450
poweradd=50
velset=0
ctrl=0

[State 451, 1]
type=velset
trigger1=time = 2
trigger2=time = 3
trigger3=time = 4
trigger4=time = 5
trigger5=time = 6
trigger6=time = 7
trigger7=time = 8
trigger8=time = 9
trigger9=time = 10
trigger10=time = 11
trigger11=time = 12
x=5

[State 451, 1.5]
type=PlaySnd
trigger1=Time = 0
value=1,4

[State 451, 3]
type=HitDef
trigger1=AnimElem = 2
attr=C, NA
animtype=Hard
damage=70
guardflag=L
hitflag=M
pausetime=12,12
sparkno=0
sparkxy=-10,-10
hitsound= 5, 12
guardsound= 6,0
ground.type=low
ground.slidetime=15
ground.hittime=19
ground.velocity=-3   
air.velocity=-2.5,-3.3
fall=1

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

;---------------------------------------------------------------------------
; CROUCH_C
[Statedef 452]
type=C
movetype=A
physics=C
anim=450
poweradd=50
velset=0
ctrl=0

[State 452, 1]
type=velset
trigger1=time = 2
trigger2=time = 3
trigger3=time = 4
trigger4=time = 5
trigger5=time = 6
trigger6=time = 7
trigger7=time = 8
trigger8=time = 9
trigger9=time = 10
trigger10=time = 11
trigger11=time = 12
x=5

[State 452, 1.5]
type=PlaySnd
trigger1=Time = 0
value= 1,4

[State 452, 3]
type=HitDef
trigger1=AnimElem = 2
attr=C, NA
animtype=Hard
damage=70
guardflag=L
hitflag=M
pausetime=12,12
sparkno=0
sparkxy=-10,-10
hitsound= 5, 12
guardsound= 6, 0
ground.type=low
ground.slidetime=15
ground.hittime=19
ground.velocity=-3   
air.velocity=-2.5,-3.3
fall=1

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

;---------------------------------------------------------------------------
;CROUCH_X
[Statedef 400]
type    = C
movetype= A
physics = C
juggle  = 6
poweradd= 15
ctrl = 0
anim = 400

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

[State 400, 2]
type = HitDef
trigger1 = Time = 0
attr = C, NA
damage    = 23
animtype  = Light
getpower  = 10
givepower = 8
hitflag = MAFD
guardflag = L
pausetime = 10,12
sparkxy = -2,-41
hitsound   = 5,10
guardsound = 6,0
ground.type = Low
ground.slidetime = 4
ground.hittime  = 15
ground.velocity = -4
air.velocity = -1.3,-3
down.velocity = -4,0
down.hittime = 20

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

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


;---------------------------------------------------------------------------
;CROUCH_Y
[Statedef 401]
type    = C
movetype= A
physics = C
juggle  = 6
poweradd= 15
ctrl = 0
anim = 400

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

[State 401, 2]
type = HitDef
trigger1 = Time = 0
attr = C, NA
damage    = 23
animtype  = Light
getpower  = 10
givepower = 8
hitflag = MAFD
guardflag = L
pausetime = 10,12
sparkxy = -2,-41
hitsound   = 5,11
guardsound = 6,0
ground.type = Low
ground.slidetime = 4
ground.hittime  = 15
ground.velocity = -4
air.velocity = -1.3,-3
down.velocity = -4,0
down.hittime = 20

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

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


;---------------------------------------------------------------------------
;CROUCH_Z
[Statedef 402]
type    = C
movetype= A
physics = C
juggle  = 6
poweradd= 15
ctrl = 0
anim = 400

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

[State 402, 2]
type = HitDef
trigger1 = Time = 0
attr = C, NA
damage    = 23
animtype  = Light
getpower  = 10
givepower = 8
hitflag = MAFD
guardflag = L
pausetime = 10,12
sparkxy = -2,-41
hitsound   = 5,12
guardsound = 6,0
ground.type = Low
ground.slidetime = 4
ground.hittime  = 15
ground.velocity = -4
air.velocity = -1.3,-3
down.velocity = -4,0
down.hittime = 20

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

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

;---------------------------------------------------------------------------
;JUMP_A
[Statedef 600]
type    = A
movetype= A
physics = A
juggle  = 2
poweradd= 11
ctrl = 0
anim = 600

[State 600, 2]
type = HitDef
trigger1 = Time = 0
attr = A, NA
damage    = 12
getpower  = 10
givepower = 10
guardflag = HA
priority = 3
pausetime = 7,8
sparkxy = -10,-58
hitsound   = 5,10
guardsound = 6,0
ground.type = High
ground.slidetime = 5
ground.hittime  = 5
ground.velocity = -4
air.velocity = -1.3,-3

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

[State 600, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 50

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

;---------------------------------------------------------------------------
;JUMP_B
[Statedef 610]
type    = A
movetype= A
physics = A
juggle  = 3
poweradd= 55
ctrl = 0
anim = 610

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

[State 610, 3]
type = HitDef
trigger1 = Time = 0
attr = A, NA
damage    = 70
getpower  = 50
givepower = 25
guardflag = HA
priority = 3
pausetime = 9,10
sparkxy = -10,-51
hitsound   = 5,11
guardsound = 6,0
ground.type = High
ground.slidetime = 9
ground.hittime  = 9
ground.velocity = -4
air.velocity = -1.3,-3

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

;---------------------------------------------------------------------------
;JUMP_C
[Statedef 612]
type    = A
movetype= A
physics = A
juggle  = 2
poweradd= 11
ctrl = 0
anim = 612

[State 612, 2]
type = HitDef
trigger1 = Time = 0
attr = A, NA
damage    = 12
getpower  = 10
givepower = 10
guardflag = HA
priority = 3
pausetime = 7,8
sparkxy = -10,-58
hitsound   = 5,12
guardsound = 6,0
ground.type = High
ground.slidetime = 5
ground.hittime  = 5
ground.velocity = -4
air.velocity = -1.3,-3

[State 612, 3]
type = CtrlSet
trigger1 = Time = 17
value = 1

[State 612, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 50

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

;---------------------------------------------------------------------------
;JUMP_X
[Statedef 613]
type    = A
movetype= A
physics = A
juggle  = 2
poweradd= 11
ctrl = 0
anim = 613

[State 613, 2]
type = HitDef
trigger1 = Time = 0
attr = A, NA
damage    = 12
getpower  = 10
givepower = 10
guardflag = HA
priority = 3
pausetime = 7,8
sparkxy = -10,-58
hitsound   = 5,10
guardsound = 6,0
ground.type = High
ground.slidetime = 5
ground.hittime  = 5
ground.velocity = -4
air.velocity = -1.3,-3

[State 613, 3]
type = CtrlSet
trigger1 = Time = 17
value = 1

[State 613, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 50

[State 613, 2]
type = PlaySnd
trigger1 = Time = 2
value = 0, 1
;---------------------------------------------------------------------------
;JUMP_Y
[Statedef 614]
type    = A
movetype= A
physics = A
juggle  = 2
poweradd= 11
ctrl = 0
anim = 614

[State 614, 2]
type = HitDef
trigger1 = Time = 0
attr = A, NA
damage    = 12
getpower  = 10
givepower = 10
guardflag = HA
priority = 3
pausetime = 7,8
sparkxy = -10,-58
hitsound   = 5,11
guardsound = 6,0
ground.type = High
ground.slidetime = 5
ground.hittime  = 5
ground.velocity = -4
air.velocity = -1.3,-3

[State 614, 3]
type = CtrlSet
trigger1 = Time = 17
value = 1

[State 614, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 50

[State 614, 2]
type = PlaySnd
trigger1 = Time = 2
value = 0, 1
;---------------------------------------------------------------------------
;JUMP_Y
[Statedef 615]
type    = A
movetype= A
physics = A
juggle  = 2
poweradd= 11
ctrl = 0
anim = 615

[State 615, 2]
type = HitDef
trigger1 = Time = 0
attr = A, NA
damage    = 12
getpower  = 10
givepower = 10
guardflag = HA
priority = 3
pausetime = 7,8
sparkxy = -10,-58
hitsound   = 5,12
guardsound = 6,0
ground.type = High
ground.slidetime = 5
ground.hittime  = 5
ground.velocity = -4
air.velocity = -1.3,-3

[State 615, 3]
type = CtrlSet
trigger1 = Time = 17
value = 1

[State 615, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 50

[State 615, 2]
type = PlaySnd
trigger1 = Time = 2
value = 0, 2
;---------------------------------------------------------------------------
; SuperMove
[Statedef 3000]
type    = S
movetype= A
physics = S
juggle  = 4
velset = 0,0
anim = 3000
ctrl = 0

[State 3000, Super A]
type = SuperPause
trigger1 = Time = 2
pos = 0, -60
anim = 30

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

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

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

[State 3000, Super E]
type = AfterImageTime
trigger1 = Time = [2,68]
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, 1]
type = HitDef
trigger1 = AnimElem = 1
attr = S, HA
animtype  = Hard
damage    = 72,4
getpower  = 0
priority  = 6
guardflag = MA
pausetime = 15,15
sparkxy = -10,-60
hitsound   = 5,4
guardsound = 6,0
ground.type = Low
ground.slidetime = 22
ground.hittime  = 22
ground.velocity = -6
air.velocity = -3,-3
fall.animtype = Hard
fall = 1

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

;---------------------------------------------------------------------------
; Override common states (use same number to override) :
;---------------------------------------------------------------------------

