; Constants and state file.
; There are comments scattered through this file, so you may like to
; take a look if would like to learn more about the cns.

[Data]
life = 1100			;Amount of life to start with
power = 6000		;Amount of maximum power
attack = 70		;attack power (more is stronger)
defence = 100		;defensive power (more is stronger)
fall.defence_up = 50	;Percentage to increase defense everytime player is knocked down
liedown.time = 60		;Time which player lies down for, before getting up
airjuggle = 15		;Number of points for juggling
sparkno = 2			;Default hit spark number for HitDefs
guard.sparkno = 40	;Default guard spark number
KO.echo = 0			;1 to enable echo on KO
volume = 0			;Volume offset (negative for softer)
IntPersistIndex = 60	;Variables with this index and above will not have their values
FloatPersistIndex = 40  ;reset to 0 between rounds or matches. There are 60 int variables,
  				;indexed from 0 to 59, and 40 float variables, indexed from 0 to 39.
  				;If omitted, then it defaults to 60 and 40 for integer and float
  				;variables repectively, meaning that none are persistent, i.e. all
  				;are reset. If you want your variables to persist between matches,
  				;you need to override state 5900 from common1.cns.


[Size]
xscale = 1			;Horizontal scaling factor.
yscale = 1			;Vertical scaling factor.
ground.back = 15		;Player width (back, ground)
ground.front = 16		;Player width (front, ground)
air.back = 12		;Player width (back, air)
air.front = 12		;Player width (front, air)
height = 60			;Height of player (for opponent to jump over)
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 = -5, -90	;Approximate position of head
mid.pos = -5, -60		;Approximate position of midsection
shadowoffset = -1		;Number of pixels to vertically offset the shadow
draw.offset = 0,-4		;Player drawing offset in pixels (x, y)

[Velocity]
walk.fwd  = 2.4		;Walk forward
walk.back = -2.2		;Walk backward
run.fwd  = 9.6, 0		;Run forward (x, y)
run.back = -19.5,-3.8	;Hop backward (x, y)
jump.neu = 0,-8.4		;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	;Air jump speeds (opt)
airjump.fwd = 2.5		;.

[Movement]
airjump.num = 9	;Number of air jumps allowed (opt)
airjump.height = 35	;Minimum distance from ground before you can air jump (opt)
yaccel = .44		;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 = ?
; ...

;---------------------------------------------------------------------------
[Statedef 100]
type = S
physics = S
anim = 100

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

[State 100, assert]
type = AssertSpecial
trigger1 = command = "holdfwd"
flag = nowalk

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

[State 100, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 2
TRIGGER2 = ANIMELEM = 5
value = S9,6
volume = 99999999999999999999999999999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


;---------------------------------------------------------------------------
; Lose by Time Over
; CNS difficulty: basic
[Statedef 170]
type = S
ctrl = 0
anim = 170
velset = 0,0

[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem = 1
value = S11,0
volume = 99999999999999999999999999999999999999999999900000000
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 6
value = S10,6
volume = 9999999999999999999999999090
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =





[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 8
value = S10,7
volume = 9999999999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


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

;---------------------------------------------------------------------------
; Win state decider
; CNS difficulty: basic
[Statedef 180]
type = S

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

;---------------------------------------------------------------------------
; Win pose 1
; CNS difficulty: basic
[Statedef 181]
type = S
ctrl = 0
anim = 180
velset = 0,0

[State 0, EnvShake]
type = EnvShake
trigger1 = animelem = 1
time = 100
freq = 60
ampl = -4
phase = 90
;ignorehitpause =
;persistent =



[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem = 1
value = S1499,0
volume = 999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 3
value = S1733,0
volume = 9999999999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =

 [State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem = 13
value = S18233,0
volume = 9999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


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

;---------------------------------------------------------------------------
; Introduction
; CNS difficulty: basic
[Statedef 190]
type = S
ctrl = 0
anim = 190
velset = 0,0

[State 190, 1] ;Freeze animation until PreIntro is over
type = ChangeAnim
trigger1 = RoundState = 0
value = 190

[State 190, 2] ;Assert this until you want "round 1, fight" to begin
type = AssertSpecial
trigger1 = 1
flag = Intro

[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem = 17
value = S017,017
volume = 9999999999999999999999999999999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =

[State 0, PlaySnd]
type = PlaySnd
trigger1 =animelem = 9
value = S0,4
volume = 99999999999999999999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem = 7
value = S12,0
volume = 7777777777777777777777777777777777777777777770
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 2
value = S9,4
volume = 999999999999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =

[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem = 9
value = S3,1
volume = 99999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


 [State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 15
TRIGGER2 = ANIMELEM = 16
value = S18,0
volume = 99999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


[State 190, 4] ;Change to stand state
type = ChangeState
trigger1 = AnimTime = 0
value = 0

;---------------------------------------------------------------------------
; Taunt
; CNS difficulty: easy
[Statedef 195]
type = S
ctrl = 0
anim = 195
velset = 0,0
movetype = I
physics = S
sprpriority = 2

[State 0, EnvShake]
type = EnvShake
trigger1 = animelem = 1
time = 70
freq = 60
ampl = -4
phase = 60
;ignorehitpause =
;persistent =

[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem = 1
value = S1499,0
volume = 9999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem = 1
value = S188,0
volume = 88888888888888888888888888888888880
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =

[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem = 2
trigger2 = animelem = 7
value = S18,0
volume = 999999999999999999999999999999999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


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

;---------------------------------------------------------------------------
; Standing Light Punch
; CNS difficulty: easy
[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 = -100			;Power to add (Def: 0)
sprpriority = 2

[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 1
TRIGGER2 = ANIMELEM = 5
value = S9,4
volume = 99999999999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =
		;Set layering priority to 2 (in front)


[State 0, PosAdd]
type = PosAdd
trigger1 = animelem = 4
x = 555555555555550
y = 0
;ignorehitpause =
;persistent =


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

;---------------------------------------------------------------------------
; Standing Medium Punch
; CNS difficulty: easy
[StateDef 210]
type = S
movetype= A
physics = S
juggle  = 1
velset = 0,0
ctrl = 0
anim = 210
poweradd = 20
sprpriority = 2

[State 210, 1]
type = HitDef
trigger1 = timemod = 7,0
attr = S, NA
damage = 30,3
animtype = Light
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 3,20
sparkno = S1700+(RANDOM%8)
sparkxy = -10, -42
hitsound = S3, 4
guardsound = S34,4
ground.type = High
ground.slidetime = 5
ground.hittime  = 12
ground.velocity = -4
airguard.velocity = -1.9,-.8
air.type = High
air.velocity = -1.4,-3
air.hittime = 12

[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 2
value = S3,0
volume = 999999999999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =

[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem = 1
value = S033,033
volume = 9999999999999999999999999999999999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


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

;---------------------------------------------------------------------------
; Standing Strong Punch
; CNS difficulty: easy
[StateDef 220]
type = S
movetype= A
physics = S
juggle  = 1
velset = 15,0
ctrl = 0
anim = 220
poweradd = 20
sprpriority = 2

[State 220, 1]
type = HitDef
trigger1 = timemod = 6,0
attr = S, NA
damage = 30,3
animtype = Light
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 5, 10
sparkno = S1701
sparkxy = -10, -42
hitsound = s15, 0
guardsound = s15, 0
ground.type = High
ground.slidetime = 5
ground.hittime  = 12
ground.velocity = -4
airguard.velocity = -1.9,-.8
air.type = High
air.velocity = -1.4,-3
air.hittime = 12
fall = 1
palfx.time = 6
palfx.add = 700,200,200
palfx.mul = 256,256,256


[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem = 1
value = S044,404
volume = 9999999999999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =

[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem = 2
value = S30,0
volume = 999999999999999999999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =



[State 220, end]
type = ChangeState
trigger1 = AnimTime = 0
value = 210
ctrl = 1
;---------------------------------------------------------------------------
; Standing Light Kick
; CNS difficulty: easy
[StateDef 230]
type = S
movetype= A
physics = S
juggle  = 1
velset = 0,0
ctrl = 0
anim = 230
poweradd = 20
sprpriority = 2




[State 230, 1]
type = HitDef
trigger1 = AnimElem = 2
attr = S, NA
damage = 30
animtype = Light
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 4, 10
sparkno = S2122
sparkxy = -10,-60
hitsound = s3, 8
guardsound = s3, 8
ground.type = High
ground.slidetime = 5
ground.hittime  = 12
ground.velocity = -4
airguard.velocity = -1.9,-.8
air.type = High
air.velocity = -6.6,-6
air.hittime = 12


[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem = 1
value = S555888,8
volume = 99999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =

[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem = 2
value = S9,1
volume = 999999999999999999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =



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

;---------------------------------------------------------------------------
; Standing Medium Kick
; CNS difficulty: easy
[StateDef 240]
type = S
movetype= A
physics = S
juggle  = 1
velset = 0,0
ctrl = 0
anim = 240
poweradd = -500
sprpriority = 2

[State 0, VelSet]
type = VelSet
trigger1 = 1
x = 3
y = 0
;ignorehitpause =
;persistent =



[State 0, 1]
type = HitDef
trigger1 = TIMEMOD = 7,0
attr = S, NA
damage = 40
animtype = Light
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 3,20
sparkno = S1701+(RANDOM%8)
sparkxy = -10, -76
hitsound = S325, 525
guardsound = S325,525
ground.type = High
ground.slidetime = 5
ground.hittime  = 12
ground.velocity = -4
airguard.velocity = -1.9,-.8
air.type = High
air.velocity = -1.4,-3
air.hittime = 12
FALL = 1
envshake.TIME = 30
envshake.freq = 60
envshake.ampl = -9
envshake.phase = 90




[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem = 1
value = S33,33
volume = 999999999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =

[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 1
value = S3,2
volume = 9999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 2
value = S333,2222
volume = 0
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


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




;---------------------------------------------------------------------------
; Standing Strong Kick
; CNS difficulty: easy
;rietsu charge
[Statedef 250]
type    = S
movetype= A
physics = S
juggle  = 5
poweradd= 12
ctrl = 0
velset = 0,0
anim =250

[State 0, Explod]
type = Explod
trigger1 = COMMAND  = "hold_c"
trigger1 = time = 5
anim = 2322
ID = 9998
pos = 12,-90
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = -1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -1
supermove
pausemove
scale = 2,1
sprpriority = 0
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 1
;ignorehitpause =
;persistent =


[state 1701, ColorFX]
type = PalFX
trigger1 = Time > 1
trigger1 = TimeMod = 5,0
time = 2
add = 251,-3,-3

[State 0, AllPalFX]
type = AllPalFX
trigger1 = time = 1
time = 20
add = 0,0,0
mul = 200,-256,-256
sinadd = 0,0,0,10
invertall = 0

[state 1701, ColorFX]
type = PalFX
trigger1 = Time = 10
time = 18
add = 251,75,75

[State 0, Explod]
type = Explod
trigger1 = COMMAND = "hold_c"
trigger1 = time = 5
anim = 4433
ID = 9998
pos = 12,0
postype = p1  ;p2,front,back,left,right
bindtime = -1
removetime = -1
scale = 2,3
sprpriority = 0
ontop = 1
OWNPAL = 1
removeongethit = 1
;ignorehitpause =
;persistent =

[State 0, Explod]
type = Explod
trigger1 = command = "hold_c"
trigger1 = time = 5
anim = 3344
ID = 9998
pos = 10,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
vel = 0,0
accel = 0,0
random = 0,0
supermove
pausemove
sprpriority = 0
shadow = 0,0,0
bindtime = -1
removetime = -1
scale = 2,1
ontop = 1
OWNPAL = 1
removeongethit = 1
ignorehitpause = 185
persistent = 185



[State 250, PowerAdd]
type = PowerAdd
trigger1 = command = "hold_c"
value = 12

[State 250, Explod]
type = Explod
trigger1 = animelem = 6
trigger2 = animelem = 8
anim = 4444
ID = 9998
pos = -100+RANDOM%200,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,-pi-2.5+RANDOM%2
accel = 0,0
random = 0,0
removetime = 100
supermove
pausemove
scale = 2,2
sprpriority = 0
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 0
ignorehitpause = 185
persistent = 185

[State 250, Explod]
type = Explod
trigger1 = animelem = 5
trigger2 = animelem = 7
anim = 5555
ID = 9998
pos = -100+random%200,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,-pi-2.5+random%2
accel = 0,0
random = 0,0
removetime = 100
supermove
pausemove
scale = 3,3
sprpriority = 0
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 0
ignorehitpause = 185
persistent = 185

[State 0, EnvShake]
type = EnvShake
trigger1 = animelem = 5
time = 30
freq = 60
ampl = -4
phase = 90
;ignorehitpause =
;persistent =


[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem = 1
value = S1866,0
volume = 9999999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


[State 0, PlaySnd]
type = PlaySnd
trigger1 = timemod = 30,0
trigger1 = time >= 1
value = S1499,0
volume = 9999999999999999999960
channel = -1
freqmul = 1.0
loop = 0
pan = 0

[State 0, StopSnd]
type = StopSnd
trigger1 = command != "hold_c"
channel = -1
;ignorehitpause =
;persistent =


[State 250, RemoveExplod]
type = RemoveExplod
trigger1 = command != "hold_c"
trigger2 = power = 6000
id = 9998

[State 250, end]
type = ChangeState
trigger1 = command != "hold_c"
trigger2 = power = 6000
value = 256
ctrl = 1
type = StopSnd
channel = -1
;ignorehitpause =
;persistent =


;---------------
;end rietsu charge
[StateDef 256]
type = S
movetype= A
physics = S
juggle  = 1
velset = 0,0
ctrl = 0
anim = 256
poweradd = 20
sprpriority = 2

[State 0, Explod]
type = Explod
trigger1 = ANIMELEM = 1
anim = 3233
pos = 3,-58
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = -1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
supermove = 100
pausemove = 100
scale = 1,1
sprpriority = 0
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 1
;ignorehitpause =
;persistent =


[State 0, StopSnd]
type = StopSnd
trigger1 = animelem = 1
channel = -1
;ignorehitpause =
;persistent =

[state 1701, ColorFX]
type = PalFX
trigger1 = Time = 10
time = 4
add = 251,-3,-3

[State 0, Explod]
type = Explod
trigger1 = animelem = 2
anim = 4433
pos = 0,5
postype = p1  ;p2,front,back,left,right
bindtime = -1
removetime = -2
scale = 1,6
ontop = 1
removeongethit = 1



[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem = 2
value = S0,4499
volume = 99999999999999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


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


;---------------------------------------------------------------------------
; Crouching Light Punch
; CNS difficulty: easy
; Description: Simple crouching attack. The HitDef's guardflag parameter
;     is set to "L", meaning that the move can only be guarded low
;     (crouching), and not by standing or jumping opponents.
;     Like for all light attacks, it's a good idea to keep the slidetime
;     and hittime parameters at a smaller number, so the opponent isn't
;     stunned for too long. For all crouching attacks you have to
;     remember to set the attr parameter to indicate that it is crouching
;     attack. In this case, "C, NA" stands for "crouching, normal attack".
;     The HitDef's priority is set at 3, instead of the default of 4,
;     so this attack has a lower priority than most others, meaning the
;     player will get hit instead of trading hits with the opponent if
;     their attack collision boxes (Clsn1) intersect each other's Clsn2
;     boxes at the same time.
[StateDef 400]
type = C
movetype= A
physics = C
juggle  = 1
velset = 0,0
ctrl = 0
anim = 400
poweradd = 20
sprpriority = 2

[State 400, 1]
type = HitDef
trigger1 = ANIMELEM = 2
attr = S, NA
damage = 30
animtype = Light
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 3,10
SPARKNO = S1700+(RANDOM%8)
SPARKXY = -10,-32
hitsound = s666,666
guardsound = s6666,6666
ground.type = High
ground.slidetime = 5
ground.hittime  = 12
ground.velocity = -4
airguard.velocity = -1.9,-.8
air.type = High
air.velocity = -6.6,-6
air.hittime = 12









[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem = 2
value = S3,1
volume = 999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem = 1
value = S2111,11
volume = 999999999999999999999999999999999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


[State 400, end]
type = ChangeState
trigger1 = AnimTime = 0
value = 11
ctrl = 1
;---------------------------------------------------------------------------
; Crouching Medium Punch
[StateDef 410]
type = C
movetype= A
physics = C
juggle  = 1
velset = 0,0
ctrl = 0
anim = 410
poweradd = 20
sprpriority = 2

[State 410, 1]
type = HitDef
trigger1 = ANIMELEM = 5
attr = S, NA
damage = 30,4
animtype = Light
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 3, 20
SPARKNO = S2122
SPARKXY = -10,-22
hitsound = S12221, 0
guardsound = S12221, 0
ground.type = High
ground.slidetime = 5
ground.hittime  = 12
ground.velocity = -4
airguard.velocity = -1.9,-.8
air.type = High
air.velocity = -8.8,-5
air.hittime = 12
fall = 1
envshake.TIME = 30
envshake.freq = 50
envshake.ampl = -4
envshake.phase = 90





[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem = 1
value = S222,611
volume = 999999999999999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =

[State 0, EnvShake]
type = EnvShake
trigger1 = ANIMELEM = 5
time = 20
freq = 60
ampl = -4
 phase = 90
;ignorehitpause =
;persistent =


[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 5
value = S10,6
volume = 9990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 3
value = S9,1
volume = 99999999999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


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

;---------------------------------------------------------------------------
; Crouching Strong Punch
[StateDef 420]
type = C
movetype= A
physics = C
juggle  = 1
velset = 5,0
ctrl = 0
anim = 420
poweradd = 20
sprpriority = 2

[State 420, 1]
type = HitDef
trigger1 = animelem = 3
TRIGGER2 = ANIMELEM = 5
attr = S, NA
damage = 30,5
animtype = Light
guardflag = MA
hitflag = MAF
priority = 3, Hit
SPARKNO = S1700+(RANDOM%8)
SPARKXY = -10,-32
pausetime = 3, 10
hitsound = s3, 3
guardsound = s3, 3
ground.type = High
ground.slidetime = 5
ground.hittime  = 12
ground.velocity = -4
airguard.velocity = -1.9,-.8
air.type = High
air.velocity = -1.4,-3
air.hittime = 12

[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem = 1
value = S44,404
volume = 9999999999999999999999999999999999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =

[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem = 2 ||ANIMELEM = 4
value = S3,1
volume = 999999999999999999999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =



[State 420, end]
type = ChangeState
trigger1 = AnimTime = 0
value = 11
ctrl = 1

;---------------------------------------------------------------------------
; Crouching Light Kick
; CNS difficulty: easy
[StateDef 430]
type = C
movetype= A
physics = C
juggle  = 1
velset = 0,0
ctrl = 0
anim = 430
poweradd = 0
sprpriority = 2

[State 0, Explod]
type = Explod
trigger1 = animelem = 1
anim = 14222
pos = 30,-132
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = 100
supermove = 100
pausemove = 100
scale = 2,2
sprpriority = 0
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 1





[State 0, SuperPause]
type = SuperPause
trigger1 = ANIMELEM = 1
time = 50
anim = S1222
sound = S211222,0
pos = 10,-72
move
darken = 1
 [State 0, PlaySnd]
type = PlaySnd
trigger1 = TIME = 0
value = S21,0
volume = 90
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =

[State 0, EnvShake]
type = EnvShake
 trigger1 = TIME = 0
 time = 30
 freq = 60
 ampl = -22
 phase = 90
;ignorehitpause =
;persistent =


[State 0, AssertSpecial]
type = AssertSpecial
trigger1 =1
flag = nobardisplay



[State 0, Helper]
type = Helper
trigger1 = AnimElem = 1
helpertype = normal ;player
name = "HAND 1"
ID = 1000
stateno = 1000
pos = 141,-67
postype = p1    ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 1
supermove
pausemove




[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 3
value = S24,0
volume = 90
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =

[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 2
value = S102222,0
volume = 9999999999999999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =

[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 6
value = S10,11
volume = 90
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =

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

[StateDef 1000]
type = S
movetype= A
physics = S
juggle  = 1
velset = 0,0
ctrl = 0
anim = 1000
poweradd = -500
sprpriority = 2

[State 1000, 1]
type = HitDef
trigger1 = TIMEMOD = 5,0
attr = S, NA
damage = 70
animtype = Light
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 2,30
SPARKNO = S2122
SPARKXY = -22,10
HITSOUND = S12221,0
guardsound = S12221, 0
ground.type = High
ground.slidetime = 5
ground.hittime  = 12
ground.velocity = 0
airguard.velocity = -1.9,-.8
air.type = High
air.velocity = -4.4,-3
air.hittime = 12
FALL = 1
envshake.TIME = 30
envshake.freq = 50
envshake.ampl = -4
envshake.phase = 90
GETPOWER = 0

[State 0, PlaySnd]
type = PlaySnd
trigger1 = MOVEHIT = 1
value = S12221,0
volume = 40
channel = 3
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


[State 0, Explod]
type = Explod
trigger1 = ANIMELEM = 10
anim = 4433
ID = 4433
pos = 31,83
postype = p1  ;p2,front,back,left,right
bindtime = -1
removetime = 30
scale = 1.3,1.3
sprpriority = 0
ontop = 0

[State 0, EnvShake]
type = EnvShake
 trigger1 = ANIMELEM = 10
 time = 30
 freq = 60
 ampl = -4
 phase = 90
;ignorehitpause =
;persistent =


[State 0, AssertSpecial]
type = AssertSpecial
trigger1 =1
flag = unguardable



[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 5
value = S31,0
volume = 90
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 1
value = S19,0
volume = 90
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


[State 1000, DestroySelf]
type = DestroySelf
trigger1 = AnimTime = 0
value = 0
ctrl = 1
;---------------------------------------------------------------------------
; Crouching Medium Kick
; CNS difficulty: easy
[StateDef 440]
type = C
movetype= A
physics = C
juggle  = 1
velset = 0,0
ctrl = 0
anim = 440
poweradd = 0
sprpriority = 2

[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 1
value = S211222,0
volume = 999999999999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =

[State 0, EnvShake]
type = EnvShake
 trigger1 = TIME = 0
 time = 40
 freq = 60
 ampl = -12
 phase = 90
;ignorehitpause =
;persistent =


[State 0, AssertSpecial]
type = AssertSpecial
trigger1 =1
flag = nobardisplay

[State 0, SuperPause]
type = SuperPause
trigger1 = ANIMELEM = 1
time = 50
anim = S1222
sound = S4,0
pos = -2,-46
move
darken = 1


[State 0, Explod]
type = Explod
trigger1 = animelem = 1
anim = 14223
pos = 0,-97
postype = p1  ;p2,front,back,left,right
bindtime = 1
removetime = 260
supermove = 260
pausemove = 260
scale = 2,2
sprpriority = 0
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 1
;ignorehitpause =
;persistent =



[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 2
value = S111234,0
volume = 999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


[State 0, Helper]
type = Helper
trigger1 = ANIMELEM = 1
helpertype = normal ;player
name = "HAND 2"
ID = 2000
stateno = 2000
pos = 190,26
postype = p1    ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 1
supermove
pausemove


[State 440, end]
type = ChangeState
trigger1 = AnimTime = 0
value = 6722
ctrl = 1


[StateDef 2000]
type = S
movetype= A
physics = S
juggle  = 1
velset = 0,0
ctrl = 0
anim = 2000
poweradd = -1000
sprpriority = 1

[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 23
value = S22,0
volume = 99999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


[State 2000, 1]
type = HitDef
trigger1 = TIMEMOD = 5,0
attr = S, NA
damage = 50
animtype = Light
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 3,30
hitsound = S12221, 0
guardsound = S12221, 0
ground.type = High
SPARKNO = S2122
SPARKXY = -10,-32
ground.slidetime = 5
ground.hittime  = 12
ground.velocity = 0
airguard.velocity = -1.9,-.8
air.type = High
air.velocity = -1.4,-3
air.hittime = 12
FALL = 1
getpower = 0
givepower = 0
envshake.time = 50
envshake.freq = 10
envshake.ampl = -6
envshake.phase = 10

[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 1
value = S19,0
volume = 90
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 11
value = S3,9
volume = 9999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


[State 0, EnvShake]
type = EnvShake
 trigger1 = ANIMELEM = 11
 time = 30
 freq = 60
 ampl = -22
 phase = 90
;ignorehitpause =
;persistent =



[State 0, Explod]
type = Explod
trigger1 = ANIMELEM = 11
anim = 4433
ID = 4433
pos = -4,-28
postype = p1  ;p2,front,back,left,right
bindtime = 1
removetime = 50
scale = 1.3,5
sprpriority = 0
ontop = 1






[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 1
TRIGGER2 = ANIMELEM = 15
value = S12,0
volume = 9999999999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


[State 0, AssertSpecial]
type = AssertSpecial
trigger1 =1
flag = unguardable


[State 2000, DestroySelf]
type = DestroySelf
trigger1 = AnimTime = 0
value = 0
ctrl = 1
;---------------------------------------------------------------------------
; Crouch Strong Kick
; CNS difficulty: easy
; Description: This move uses "Trip" for the "ground.type" parameter in
;     its HitDef. It's a special type that puts the opponent in a tripped
;     animation as he falls. Also, the hitflag parameter in the HitDef
;     is set to "MAFD". The "D" indicates that a downed opponent can be
;     hit by the attack.
[StateDef 450]
type = C
movetype= A
physics = C
juggle  = 1
velset = 0,0
ctrl = 0
anim = 450
poweradd = -3000
sprpriority = 2

[State 0, Helper]
type = Helper
trigger1 = ANIMELEM = 7
helpertype = normal ;player
name = "GIANT SWORD"
ID = 4000
stateno = 4000
pos = -7,3
postype = p1    ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 1
supermove
pausemove
;size.xscale (float)
;size.yscale (float)

[State 0, Explod]
type = Explod
trigger1 = animelem = 1
anim = 14224
pos = 10,-132
postype = p1  ;p2,front,back,left,right
bindtime = 1
removetime = 250
supermove = 300
pausemove = 300
scale = 2,2
sprpriority = 0
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 1
;ignorehitpause =
;persistent =


[State 0, SuperPause]
type = SuperPause
trigger1 = ANIMELEM = 1
time = 40
anim = S1222
sound = S4,0
pos = 4,-65
move
darken = 1

[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 4
value = S3,1
volume = 999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 2
value = S18,0
volume = 99999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =

[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 1
value = S12211111,0
volume = 999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 1
value = S7,0
volume = 90
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


[State 0, SuperPause]
type = SuperPause
trigger1 = ANIMELEM = 2
time = 30
anim = S3233
sound = S3433,0
pos = 2,-64
move
darken = 0

[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 3
value = S4332,0
volume = 99990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


[State 0, AssertSpecial]
type = AssertSpecial
trigger1 =1
flag = unguardable
flag2 = nobardisplay


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

[StateDef 4000]
type = S
movetype= A
physics = S
juggle  = 1
velset = 0,0
ctrl = 0
anim = 4000
poweradd = 20
sprpriority = 2

[State 0, PlaySnd]
type = PlaySnd
trigger1 = TIME = 0
value = S333,2222
volume = 99999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =

[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 3
value = S2,0
volume = 9999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


[State 450, 1]
type = HitDef
trigger1 = TIMEMOD = 6,0
attr = S, NA
damage = 120
animtype = Light
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 2, 10
sparkno = S1700+(RANDOM%8)
sparkxy = -10,-32
hitsound = S3, 4
guardsound = S6666, 6666
ground.type = High
ground.slidetime = 5
ground.hittime  = 12
ground.velocity = 0
airguard.velocity = -1.9,-.8
air.type = High
air.velocity = -6.6,-6
air.hittime = 12
GETPOWER = 0
GIVEPOWER = 0
FALL = 1
envshake.TIME = 50
envshake.freq = 50
envshake.ampl = -4
envshake.phase = 90

[State 0, PlaySnd]
type = PlaySnd
trigger1 = MOVEHIT = 1
value = S3,5
volume = 990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =

[State 0, PlaySnd]
type = PlaySnd
trigger1 = MOVEHIT = 1
value = S3,3
volume = 999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


[State 0, EnvShake]
type = EnvShake
 trigger1 = ANIMELEM = 1
 time = 100
 freq = 90
 ampl = -2
 phase = 90
;ignorehitpause =
;persistent =


[State 0, TargetBind]
type = TargetBind
trigger1 = 1
time = 1
id = -1
pos = 10,0
;ignorehitpause =
;persistent =


[State 0, VelSet]
type = VelSet
trigger1 =  1
x = 5
y = 0
;ignorehitpause =
;persistent =


[State 4000, DestroySelf]
type = DestroySelf
trigger1 = AnimTime = 0
value = 0
ctrl = 1


;-------------
[StateDef 6722]
type = S
movetype= A
physics = S
juggle  = 1
velset = 0,0
ctrl = 0
anim = 6722
poweradd = 20
sprpriority = 2

[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 1
value = S0721,0
volume = 99999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


[State 6722, end]
type = ChangeState
trigger1 = AnimTime = 0
value = 11
ctrl = 1


;---------------------------------------------------------------------------
; Jump Light Punch
; CNS difficulty: easy
[StateDef 600]
type = S
movetype= A
physics = S
juggle  = 1
velset = 0,0
ctrl = 0
anim = 600
poweradd = 20
sprpriority = 2

[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 1
value = S10,6
volume = 99999999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


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

;---------------------------------------------------------------------------
; Jump Medium Punch
; CNS difficulty: easy
[StateDef 610]
type = A
movetype= A
physics = A
juggle  = 1
velset = 5,-2
ctrl = 0
anim = 610
poweradd = 20
sprpriority = 2

[State 610, 1]
type = HitDef
trigger1 = TIMEMOD = 7,0
attr = S, NA
damage = 20,5
animtype = Light
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 4, 10
sparkno = S1700+(RANDOM%8)
sparkxy = -10, -32
hitsound = S3, 4
guardsound = S3, 4
ground.type = High
ground.slidetime = 5
ground.hittime  = 12
ground.velocity = -4
airguard.velocity = -1.9,-.8
air.type = High
air.velocity = -1.4,-3
air.hittime = 12
FALL = 1

[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 2
value = S3,1
volume = 999999999999999999999999999999999999999999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =

 [State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 1
value = S33,33
volume = 90
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =



;---------------------------------------------------------------------------
; Jump Strong Punch
; CNS difficulty: easy
[StateDef 620]
type = A
movetype= A
physics = A
juggle  = 1
velset = 2,-3
ctrl = 0
anim = 620
poweradd = 20
sprpriority = 2

[State 620, 1]
type = HitDef
trigger1 = TIMEMOD = 7,0
attr = S, NA
damage = 20
animtype = Light
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 4, 10
sparkno = S1700+(RANDOM%8)
sparkxy = -10,-12
hitsound = S3, 3
guardsound = S3, 3
ground.type = High
ground.slidetime = 5
ground.hittime  = 12
ground.velocity = -4
airguard.velocity = -1.9,-.8
air.type = High
air.velocity = -1.4,-3
air.hittime = 12

[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 1
value = S44,404
volume = 90
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =

[State 0, PlaySnd]
type = PlaySnd
trigger1 = ANIMELEM = 2
value = S3,0
volume = 9999999999999999999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =



;---------------------------------------------------------------------------
; Jump Light Kick
; CNS difficulty: easy
[Statedef 630]
type    = A
movetype= A
physics = A
juggle  = 3
poweradd= 20
ctrl = 0
anim = 630

[State 630, 5]
type = CtrlSet
trigger1 = Time = 20
value = 1

;---------------------------------------------------------------------------
; Jump Medium Kick
; CNS difficulty: easy
[Statedef 640]
type    = A
movetype= A
physics = A
juggle  = 4
poweradd= 65
ctrl = 0
anim = 640

[State 640, 5]
type = CtrlSet
trigger1 = Time = 20
value = 1

;---------------------------------------------------------------------------
; Jump Strong Kick
; CNS difficulty: easy
[Statedef 650]
type    = A
movetype= A
physics = A
juggle  = 4
poweradd= 70
ctrl = 0
anim = 650

[State 650, 5]
type = CtrlSet
trigger1 = Time = 20
value = 1

;----------------------------------------------
;releast
[StateDef 888999]
type = C
movetype= A
physics = C
juggle  = 0
velset = 0,0
ctrl = 0
anim = 888999
poweradd = -6000
sprpriority = 2

[State 0, Helper]
type = Helper
trigger1 = animelem = 4
helpertype = player
stateno = 20000
id = 5151
pos = 100,0
postype = p1    ;p2,front,back,left,right
facing = 1
keyctrl = 1
ownpal = 1
supermove
pausemove

[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem = 1
value = S01222,0
volume = 9999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =

[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem = 4
value = S28,0
volume = 999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =


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



;---------------------------------------------------------------------------
; Throw - Attempt
; CNS difficulty: medium-advanced
; Description: Throws are not difficult to make, although then can be
;     tedious at times. Throw attempt states have a HitDef of a
;     special format. The key parameters in a throw are p1stateno
;     and p2stateno. If the HitDef successfully connects, then
;     the attacker will change to the state number specified by
;     p1stateno, and the opponent will be change to the state
;     number assigned to p2stateno. The special thing about p2stateno
;     is that the opponent will be temporarily brought into the
;     attacker's state file. In this case, no matter who the
;     opponent is, he will be taken to state 820 of this file (kfm.cns)
;     and remain here until the end of the throw (look at his debug
;     information when he is being thrown; the text changes to yellow
;     to mean that he is in another player's state file).
[Statedef 800]
type    = S
movetype= A
physics = S
juggle  = 0
velset = 0,0
ctrl = 0
anim = 800

; Notes: The '-' symbol in the hitflag field means that it only affects
;   players who are not in a hit state. This prevents the player from combo-ing
;   into the throw. The priority should be set to a low number, such as
;   1 or 2, so that the throw does not take precedence over normal attacks.
;   The type of priority must always be set to "Miss" or "Dodge" for throws,
;   otherwise strange behavior can result.
[State 800, 1]
type = HitDef
Trigger1 = Time = 0
attr = S, NT          ;Attributes: Standing, Normal Throw
hitflag = M-          ;Affect only ground people who are not being hit
priority = 1, Miss    ;Throw has low priority, must be miss or dodge type.
sparkno = -1          ;No spark
sprpriority = 1       ;Draw in front of p2
p1facing = ifelse (command = "holdfwd", -1, 1) ;Turn if holding forwards
p2facing = 1          ;Force p2 to face player
p1stateno = 810       ;On success, player changes to state 810
p2stateno = 820       ;If hit, p2 changes to state 820 in player's cns
fall = 1              ;Force p2 into falling down

[State 800, 2]
type = ChangeState
Trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; Throwing the opponent
; Description: In this state, the player throws the opponent by binding him to
;     various offsets based on his current frame of animation. For
;     example, [State 810, Bind 1] binds the opponent to an offset of
;     28 pixels in front of the player. That puts him around where the hand
;     is at. Is is important to keep the opponent bound using a
;     TargetBind controller at all times, until you let him go. This
;     is especially important if your player has a Clsn2 box that
;     allows him to get hit while throwing someone. Each time a player
;     gets hit, all his bound targets will be set to a fall state. If
;     the opponent is not bound, then he might get stuck in his thrown
;     state when his attacker is knocked out of the throw halfway.
; Notes: There is a TargetLifeAdd controller to decrease the opponent's
;     life, and a TargetState controller to change his state to a
;     falling state when KFM lets go of him.
[Statedef 810]
type    = S
movetype= A
physics = N
anim = 810
poweradd = 60

[State 810, Bind 1]
type = TargetBind
trigger1 = AnimElemTime(2) < 0
pos = 28, 0

[State 810, Width 2-11]
type = Width
trigger1 = AnimElemTime(2) >= 0 && AnimElemTime(12) < 0
edge = 60,0

[State 810, Bind 2-4]
type = TargetBind
trigger1 = AnimElemTime(2) >= 0 && AnimElemTime(5) < 0
pos = 58, 0

[State 810, Bind 5]
type = TargetBind
trigger1 = AnimElemTime(5) >= 0 && AnimElemTime(6) < 0
pos = 47, 0

[State 810, Bind 6]
type = TargetBind
trigger1 = AnimElemTime(6) >= 0 && AnimElemTime(7) < 0
pos = 41, -60

[State 810, Bind 7]
type = TargetBind
trigger1 = AnimElemTime(7) >= 0 && AnimElemTime(8) < 0
pos = 25, -75

[State 810, Bind 8]
type = TargetBind
trigger1 = AnimElemTime(8) >= 0 && AnimElemTime(9) < 0
pos = 15, -90

[State 810, Bind 9]
type = TargetBind
trigger1 = AnimElemTime(9) >= 0 && AnimElemTime(10) < 0
pos = -5, -96

[State 810, Bind 10]
type = TargetBind
trigger1 = AnimElemTime(10) >= 0 && AnimElemTime(11) < 0
pos = -14, -90

[State 810, Bind 11]
type = TargetBind
trigger1 = AnimElem = 11
pos = -50, -50

[State 810, Hurt 11]
type = TargetLifeAdd
trigger1 = AnimElem = 11
value = -78

[State 810, Throw 11]
type = TargetState
trigger1 = AnimElem = 11
value = 821

[State 810, Turn 12]
type = Turn
trigger1 = AnimElem = 12

[State 810, Pos 15]
type = PosAdd
trigger1 = AnimElem = 15
x = -10

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

;---------------------------------------------------------------------------
; Opponent Thrown
; (a custom gethit state)
; Description: This is the state that the opponent changes to after being
;     hit by the throw HitDef. The important thing here is to use a
;     ChangeAnim2 controller. The difference between ChangeAnim2 and
;     ChangeAnim is that ChangeAnim2 changes the player's animation to
;     an action in the AIR file of the attacker (in this case, kfm.air),
;     whereas ChangeAnim always changes the player to an action in his
;     own AIR file. Look at Action 820 in kfm.air for some extra
;     comments.
[Statedef 820]
type    = A
movetype= H
physics = N
velset = 0,0

[State 820, 1]
type = ChangeAnim2
Trigger1 = Time = 0
value = 820

;---------------------------------------------------------------------------
; Opponent thrown into the air
; (a custom gethit state)
; Description: This state has the opponent flying through the air and
;     falling down onto the ground. The SelfState controller sets the
;     opponent back using to his own state file when he his the ground.
;     Controllers 821,2 and 821,3 allow the opponent to recover by
;     hitting his recovery command when he is falling.
[Statedef 821]
type    = A
movetype= H
physics = N
velset = 2.8,-7
poweradd = 40

[State 821, 1] ;Gravity
type = VelAdd
Trigger1 = 1
y = .4

[State 821, 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 821, 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 821, 4] ;Hit ground
type = SelfState
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = 5100 ;Hit ground

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

;---------------------------------------------------------------------------
; States that are always executed (use statedef -2)
;---------------------------------------------------------------------------

;---------------------------------------------------------------------------
; States that are executed when in self's state file (use statedef -3)
;---------------------------------------------------------------------------

[Statedef -3]

;This controller plays a sound everytime the player lands from a jump, or
;from a back-dash.
[State -3, Landing Sound]
type = PlaySnd
triggerall = Time = 1
trigger1 = stateno = 52 ;Jump land
trigger2 = stateno = 106 ;Run-back land
value = 9, 2


[State -3, walk]
type = playsnd
triggerall = time = -1
trigger1 = stateno = 20
trigger2 = stateno = 21
value = 0,9

[State -3, PlaySnd]
type = PlaySnd
triggerall = stateno = 20
trigger1 = animelem = 2
trigger2 = animelem = 5
;trigger3 = animelem = 8
value = S0,9
volume = 999999999999999999999999999999999990
channel = -1
;lowpriority = -1
freqmul = 1.0
loop = 0
pan = 0
;abspan =
;ignorehitpause =
;persistent =





