; MvC2 Ryu By Kamekaze
;-----------------------------------------------------------------------------
;---------------------- Integer variable list ----------------------

; var(0):= -3
; var(1):= -2
; var(2):= -2
; var(3):= 1000
; var(4):= -2
; var(5):= -2
; var(6):= 1050
; var(7):= 1101
; var(8):= -2
; var(9):= 1100
;var(10):= -2, 56
;var(11):= -2
;var(12):= 840, -2, 57
;var(13):= 3011
;var(14):= -2
;var(15):= -3, 1101, 1102
;var(16):= 1101
;var(17):= 1102
;var(18):= 1102
;var(19):= -2, 3001, 3002
;var(20):= -2
;var(21):= 1101, 1102, 1103, 1104
;var(22):= -2
;var(23):= -2
;var(29):= 610, 640, 101
;var(30):= -2
;var(31):= 610, 640, 101
;var(50):= -2
;var(57):= 10000

;---------------------- Float variable list ----------------------

; fvar(2):= -2


[Data]
life = 1000
power = 5000
attack = 100
defence = 100
fall.defence_up =50
liedown.time =2
airjuggle = 15
sparkno = 2
guard.sparkno = 40
KO.echo = 0
volume = 255
IntPersistIndex = 56
FloatPersistIndex = 40

[Size]
xscale = .8333333333333333333333333333333
yscale = 1
ground.back = 19
ground.front = 26
air.back = 15
air.front = 15
height = 86
attack.dist = 160
proj.attack.dist = 90
proj.doscale = 0
head.pos = -5, -85
mid.pos = -5, -52
shadowoffset = 0
draw.offset = 0,-1

[Velocity]
walk.fwd  = 2.45
walk.back = -2.4
run.fwd  = 18, 0
run.back = -18,0
jump.neu = 0,-10.2
jump.back = -2.65
jump.fwd = 2.80
runjump.back = -2.55,-8.1
runjump.fwd = 4,-8.1
airjump.neu = 0,-8.6
airjump.back = -2.55
airjump.fwd = 2.5
air.gethit.groundrecover = -.15,-3.5  ;Velocity for ground recovery state (x, y) **MUGEN 1.0**
air.gethit.airrecover.mul = .5,.2     ;Multiplier for air recovery velocity (x, y) **MUGEN 1.0**
air.gethit.airrecover.add = 0,-4.5    ;Velocity offset for air recovery (x, y) **MUGEN 1.0**
air.gethit.airrecover.back = -1       ;Extra x-velocity for holding back during air recovery **MUGEN 1.0**
air.gethit.airrecover.fwd = 0         ;Extra x-velocity for holding forward during air recovery **MUGEN 1.0**
air.gethit.airrecover.up = -2         ;Extra y-velocity for holding up during air recovery **MUGEN 1.0**
air.gethit.airrecover.down = 1.5

[Movement]
airjump.num = 0
airjump.height = 35
yaccel = .55
stand.friction = .85
crouch.friction = .82
air.gethit.groundlevel = 15          ;Y-position at which a falling player is considered to hit the ground **MUGEN 1.0**
air.gethit.groundrecover.ground.threshold = -20 ;Y-position below which falling player can use the recovery command **MUGEN 1.0**
air.gethit.groundrecover.groundlevel = 10   ;Y-position at which player in the ground recovery state touches the ground **MUGEN 1.0**
air.gethit.airrecover.threshold = -1  ;Y-velocity above which player may use the air recovery command **MUGEN 1.0**
air.gethit.airrecover.yaccel = .35    ;Vertical acceleration for player in the air recovery state **MUGEN 1.0**
air.gethit.trip.groundlevel = 10      ;Y-position at which player in the tripped state touches the ground **MUGEN 1.0**
down.bounce.offset = 0, 20            ;Offset for player bouncing off the ground (x, y) **MUGEN 1.0**
down.bounce.yaccel = .4               ;Vertical acceleration for player bouncing off the ground **MUGEN 1.0**
down.bounce.groundlevel = 12          ;Y-position at which player bouncing off the ground touches the ground again **MUGEN 1.0**
down.friction.threshold = .05

[Quotes]
; Up to 100 victory quotes can be specified per language (victory0 - victory99)
victory1 = "Amingo!"
victory2 = "...."
;---------------------------------------------------------------------------
; Lose by Time Over
[Statedef 170]
type = S
ctrl = 0
anim = 170
velset = 0,0

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



;---------------------------------------------------------------------------
; Win state decider
[Statedef 180]
type = S
[State 181, 1]
type = NotHitBy
trigger1 = 1
value = SCA
time = 1
[State 180, 1]
type = ChangeState
trigger1 = random >= 499
value = 181

;[State 180, 1]
;type = ChangeState
;triggerall =palno <7
;trigger1 =random < 499
;value = 183


[State 180, 1]
type = ChangeState
trigger1 =random < 499
value = 182


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

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

;---------------------------------------------------------------------------
[Statedef 182]
type = S
ctrl = 0
anim = 182
velset = 0,0
[State 0, Explod]
type = Explod
trigger1 = animelem = 1
anim =183
ID =183
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 2
vel = 0,0
accel = 0,0
random = 0,0
scale = 1,1
sprpriority = 2
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 1
ignorehitpause =1
[State 0, PlaySnd]
type = PlaySnd
triggerall = time>=50
trigger1= time%38=0
value = S2,18
channel=0
[State 181, 1]
type = NotHitBy
trigger1 = 1
value = SCA
time = 1
;---------------------------------------------------------------------------
[Statedef 184]
type = S
ctrl = 0
anim = 4005
velset = 0,0

[State 4003, win]
type=changestate
trigger1= time >= 60 ;&& prevstateno!=180
value=180
ctrl = 1

[State 181, 1]
type = NotHitBy
trigger1 = 1
value = SCA
time = 1
;---------------------------------------------------------------------------
[Statedef 190]
type = S

[State 180, 1]
type = ChangeState
triggerall =palno = [7,12]
trigger1 = random <499
value = 192
[State 180, 1]
type = ChangeState
triggerall= palno = [7,12]
trigger1 = random >=499
value = 193

[State 180, 1]
type = ChangeState
trigger1 = palno <7
value = 191

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

[State 0, Explod]
type = Explod
trigger1 = animelem = 1
anim =190
ID =190
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 2
vel = 0,0
accel = 0,0
random = 0,0
scale = 1,1
sprpriority = 2
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 1
ignorehitpause =1

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

[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem=4
value = S2,14
channel=0

[State 191, 3] ;Change to stand state when done
type = ChangeState
trigger1 = animtime = 0
value = 0

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

[State 200, 1]
type = PlaySnd
trigger1 = time = 14
value = 40, 1
channel = 1

[State 200, 1]
type = PlaySnd
trigger1 = time = 14
value = 2, 10
channel=0
[State 200, 1]
type = PlaySnd
trigger1 = time = 14
value = 2, 10
channel=0



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

[State 191, 3] ;Change to stand state when done
type = ChangeState
trigger1 =time = 60
value = 0

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

[State 200, 1]
type = PlaySnd
trigger1 = animelem = 2
value = 2, 12
channel=0
[State 200, 1]
type = PlaySnd
trigger1 = animelem = 2
value = 2, 12
channel=0


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

[State 191, 3] ;Change to stand state when done
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, PlaySnd]
type = PlaySnd
trigger1 = animelem=2
value = S2,14
channel=0

[State 0, PowerAdd]
type = PowerAdd
trigger1 = time = 35
value = 143

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

;---------------------------------------------------------------------------
; Stand Light Punch
; CNS difficulty: easy
[Statedef 200]
type    = S
movetype= A
physics = S
juggle  =0; 8

ctrl = 0
anim = 200
poweradd = 14
sprpriority = 2
[State 210, 1]
type = PlaySnd
trigger1 = Time = 2
value = 2, 0
[State 0, VelSet]
type = VelSet
trigger1 = vel x <0
x = 0
;ignorehitpause = 
[State 0, VelSet]
type = VelSet
trigger1 = time=0
y = 0
[State 0, PosSet]
type = PosSet
trigger1 = time=0
y = 0
[State 200, 1]
type = HitDef
trigger1 = AnimElem = 2
attr = S, NA
damage = 36
animtype = Light
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 9, 9
sparkno = S8100+(random%4)
guard.sparkno = S7009
sparkxy = -10, -71
hitsound = S1, 0
guardsound = S3,1
ground.type = High
ground.slidetime = 10
ground.hittime  = 10
ground.velocity = -3.5
guard.velocity = -3
airguard.velocity = -1.9,-.8
air.type = High
air.velocity = -1.4,-3
air.hittime = 10
forcenofall=1
id=200

[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=[201,203])
value =201
ID =200
ignorehitpause =1 
[State 200, 1]
type = PlaySnd
trigger1 = Time = 1
value = 0, 0


[State 200, 7]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
;---------------------------------------------------------------------------
; Stand Light Punch
; CNS difficulty: easy
[Statedef 201]
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 = 5061

[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 = 202

;---------------------------------------------------------------------------
; HITA_UP (initial going up)
[Statedef 202]
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 = selfState
triggerall = !HitFall
trigger1 = HitOver && (time>gethitvar(hittime)) 
trigger2 = Vel Y > 0    ;Hit ground
trigger2 = Pos Y >= 10  ;.
value = 5040 ;HITA_RECOV

[State 5030, 4]
type = selfState
triggerall = HitFall
trigger1 = Vel Y > 0    ;Hit ground
trigger1 = Pos Y >= 10  ;.
value = 5110 ;HITA_FALL

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

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

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

[State 5035, 1]
type = ChangeAnim2
trigger1 = Time = 0
trigger1 = !SelfAnimExist(5061)
trigger1 = Anim != 5090 ;Not if hit off ground anim
value = 5061


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

[State 5035, 3]
type = selfState
triggerall = !HitFall
trigger1 = HitOver && (time>gethitvar(hittime)) 
trigger2 = Vel Y > 0    ;Hit ground
trigger2 = Pos Y >= 10  ;.
value = 5040  ;HITA_RECOV

[State 5035, 4]
type=selfState
triggerall = HitFall
trigger1 = Vel Y > 0    ;Hit ground
trigger1 = Pos Y >= 10  ;.
trigger2 = Anim != 5061 ;.
value = 5110 ;HITA_FALL
;-------------------------------
;---------------------------------------------------------------------------
; Standing strong punch
[Statedef 205]
type    = S
movetype= A
physics = S
juggle  =0; 8
poweradd= 30
ctrl = 0

anim = 205
sprpriority = 2
[State 0, VelSet]
type = VelSet
trigger1 = vel x <0
x = 0
;ignorehitpause = 
[State 0, VelSet]
type = VelSet
trigger1 = time=0
y = 0
[State 0, PosSet]
type = PosSet
trigger1 = time=0
y = 0
[State 210, 1]
type = PlaySnd
trigger1 = Time = 2
value = 0, 1
[State 0, Width]
type = Width
trigger1 = animelem=2
player = 30,0
[State 210, 2]
type = HitDef
trigger1 = animelem=3
attr = S, NA
animtype  = Medium
damage    =57
guardflag = MA
pausetime = 7,7
sparkno = S7000+(random%4)
guard.sparkno = S7009
sparkxy = -5,-47
hitsound   = S1,4
guardsound = S3,1
ground.type = High
ground.slidetime = 14
ground.hittime  = 14
guard.velocity = -6
ground.velocity = -7.5
air.velocity = -2.5,-5
air.hittime = 14
forcenofall=1
id=200

[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=[201,203])
value =201
ID =200
ignorehitpause =1 
[State 210, 5]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; Standing strong punch
[Statedef 210]
type    = S
movetype= A
physics = S
juggle  =0; 8
poweradd= 59
ctrl = 0

anim = 210
sprpriority = 2
[State 0, VelSet]
type = VelSet
trigger1 = vel x <0
x = 0
;ignorehitpause = 
[State 0, VelSet]
type = VelSet
trigger1 = time=0
y = 0
[State 0, PosSet]
type = PosSet
trigger1 = time=0
y = 0
[State 210, 1]
type = PlaySnd
trigger1 = Time = 2
value = 2, 12
channel=0
[State 210, 2]
type = HitDef
trigger1 = AnimElem = 3
attr = S, NA
animtype  = Medium
damage    =36
guardflag = MA
pausetime = 5,5
sparkno = S7005+(random%4)
guard.sparkno = S7009
sparkxy = -10,-61
hitsound   = S1,2
guardsound = S3,1
guard.ctrltime = 10
ground.type = High
ground.slidetime = 18
ground.hittime  = 18
ground.velocity = -2
air.velocity = -2.5,-4
air.hittime = 18
forcenofall=1
id=200

[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=[201,203])
value =201
ID =200
ignorehitpause =1 
[State 210, 2]
type = HitDef
trigger1 = AnimElem = 5
attr = S, NA
animtype  = Medium
damage    =36
guardflag = MA
pausetime = 3,3
sparkno = S7005+(random%4)
guard.sparkno = S7009
sparkxy = -10,-61
hitsound   = S1,2
guardsound = S3,1
guard.ctrltime = 10
ground.type = High
ground.slidetime = 18
ground.hittime  = 18
ground.velocity = -1
air.velocity = -2.5,-4
air.hittime = 18
forcenofall=1
id=200
[State 210, 2]
type = HitDef
trigger1 = AnimElem = 6
attr = S, NA
animtype  = Medium
damage    =28
guardflag = MA
pausetime = 3,3
sparkno = S7005+(random%4)
guard.sparkno = S7009
sparkxy = -10,-61
hitsound   = S1,2
guardsound = S3,1
guard.ctrltime = 10
ground.type = High
ground.slidetime = 18
ground.hittime  = 18
ground.velocity = -1
air.velocity = -2.5,-4
air.hittime = 18
forcenofall=1
id=200
[State 210, 2]
type = HitDef
trigger1 = AnimElem = 9
attr = S, NA
animtype  = heavy
damage    =28
guardflag = MA
pausetime = 8,8
sparkno = S7005+(random%4)
guard.sparkno = S7009
sparkxy = -10,-61
hitsound   = S1,2
guardsound = S3,1
guard.ctrltime = 18
ground.type = High
ground.slidetime = 30
guard.velocity = -9
ground.hittime  = 18
ground.velocity = -9.2
ground.cornerpush.veloff=-15
air.velocity = -2.5,-4
air.hittime = 18
forcenofall=1
id=200

[State 0, Width]
type = Width
trigger1 =1 
edge = 45,0
player = 30,0
;value = 0,0
;ignorehitpause = 
;persistent = 

[State 210, 5]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
;---------------------------------------------------------------------------
; Standing strong punch
[Statedef 211]
type    = A
movetype= H
physics = N
juggle  =0; 0
velset=-10,6
poweradd= 59
ctrl = 0
sprpriority = 2
[State 0, VelAdd]
type = VelAdd
trigger1 =1
y = .69
[State 0, ChangeAnim2]
type = ChangeAnim2
trigger1 =time=0
value = 1202
[State 0, NotHitBy]
type = NotHitBy
trigger1 =anim!=1202
value = SCA
;value2 = S,NA
time = 1

;ignorehitpause =
;persistent =

[State 0, ChangeAnim2]
type = ChangeAnim2
triggerall = anim!=5160
trigger1 =pos y>=0 && anim=1202 && time>3
value = 5160
[State 0, PosSet]
type = PosSet
trigger1 = anim=5160 && animelem=1
y = 0
[State 0, VelSet]
type = VelSet
trigger1 =animelemtime(1)=1 && anim=5160
x = -4
y = -6

[State 0, ChangeAnim]
type = ChangeAnim
triggerall = alive
trigger1 = animelemtime(1)>7 && anim!=5200 && anim=5160
value = 5200
[State 0, SelfState]
type = SelfState
trigger1 =pos y >=0 &&anim=5200  &&alive
value =52
ctrl=1
[State 0, SelfState]
type = SelfState
trigger1 =pos y >=0 &&!alive  && time>5
value =5100
ctrl=1
;---------------------------------------------------------------------------
; Standing light kick
; CNS difficulty: easy
[Statedef 230]
type    = S
movetype= A
physics = S
juggle  =0; 8
poweradd= 14
ctrl = 0

anim = 230
sprpriority = 2
[State 0, VelSet]
type = VelSet
trigger1 = vel x <0
x = 0
;ignorehitpause = 
[State 0, VelSet]
type = VelSet
trigger1 = time=0
y = 0
[State 0, PosSet]
type = PosSet
trigger1 = time=0
y = 0
[State 230, 1]
type = PlaySnd
trigger1 = Time = 2
value = 0, 0
[State 210, 1]
type = PlaySnd
trigger1 = Time = 2
value = 2, 0
channel=0
[State 230, 2]
type = HitDef
trigger1 = animelem = 2
attr = S, NA
animtype  = Medium
damage    = 36
guardflag = MA
pausetime = 11,11
sparkno = S8100+(random%4)
guard.sparkno = S7009
sparkxy = -10,-24
hitsound   = S1,0
guardsound = S3,1
ground.type = Low
ground.slidetime = 8
ground.hittime  = 8
ground.velocity = -3.4
guard.velocity = -3
air.velocity = -2.5,-3.5
air.hittime = 8
forcenofall=1
id=200
nochainid=400
[State 430, 2]
type = HitDef
trigger1 = animelemtime(2) =1
attr = C, NA
damage    = 28
animtype  = Light
hitflag = MAFD
guardflag = L
pausetime = 6,6
sparkno = S8100+(random%4)
guard.sparkno = S7009
sparkxy = -10,-8
hitsound   = S1,0
guardsound = S3,1
ground.type = Low
ground.slidetime = 6
ground.hittime  = 10
ground.velocity = -2
guard.velocity = -3
air.velocity = -2,-3
down.velocity = -1,-4
down.hittime = 9
chainid=440
air.hittime=9
forcenofall=1
id=200


[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=[201,203])
value =201
ID =200
ignorehitpause =1 
[State 230, 3]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
;---------------------------------------------------------------------------
; Standing light kick
; CNS difficulty: easy
[Statedef 235]
type    = S
movetype= A
physics = S
juggle  =0; 8
poweradd= 30
ctrl = 0

anim = 235
sprpriority = 2

[State 240, 1]
type = PlaySnd
trigger1 = Time = 2
value = 0, 1
[State 0, VelSet]
type = VelSet
trigger1 = vel x <0
x = 0
;ignorehitpause = 
[State 0, VelSet]
type = VelSet
trigger1 = time=0
y = 0
[State 0, PosSet]
type = PosSet
trigger1 = time=0
y = 0

[State 0, Width]
type = Width
trigger1 = animelem=2
player = 34,0
[State 240, 2]
type = HitDef
trigger1 =!movecontact
attr = S, NA
animtype  = Medium
damage    = 57
guardflag = MA
pausetime = 6,10
sparkno = S7000+(random%4)
guard.sparkno = S7009
sparkxy = -12,-49
hitsound   = S1,1
guardsound = S3,1
ground.type = high
ground.slidetime = 10
ground.hittime  = 14
ground.velocity = -7.8
guard.velocity = -6
air.velocity = -2.2,-3.2
air.hittime = 10
forcenofall=1
id=200

[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=[201,203])
value =201
ID =200
ignorehitpause =1 

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


;---------------------------------------------------------------------------
; Standing strong kick
; CNS difficulty: easy
[Statedef 240]
type    = S
movetype= A
physics = S
juggle  =0; 8
poweradd= 59
ctrl = 0

anim = 240
sprpriority = 2

[State 0, VelSet]
type = VelSet
trigger1 = vel x <0
x = 0
;ignorehitpause = 
[State 0, VelSet]
type = VelSet
trigger1 = time=0
y = 0
[State 0, PosSet]
type = PosSet
trigger1 = time=0
y = 0
[State 230, 1]
type = PlaySnd
trigger1 = Time = 2
value = 0, 2

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

[State 0, StateTypeSet]
type = StateTypeSet
trigger1 = animelemtime(6)>=0
statetype = A       ;S,A,C,L
movetype = A        ;I,A,H
physics = N         ;A,C,S,N

[State 230, 2]
type = HitDef
trigger1=!movecontact
attr = S, NA
animtype  =up
damage    = 115
guardflag = MA
pausetime = 8,8
sparkno = S7005+(random%4)
guard.sparkno = S7009
sparkxy = -15,-112
hitsound   = S1,2
guardsound = S3,1
ground.type = high
ground.slidetime = 10
ground.hittime  = 29
guard.ctrltime=18
ground.velocity = -3,-12
guard.velocity = -8
air.velocity = -3.5,-12.5
yaccel=.63
air.hittime=29
forcenofall=1
id=200

[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=[201,203])
value =201
ID =200
ignorehitpause =1 
[State 240, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
;-------------------------------------------------------------
;Crouching light punch
[Statedef 400]
type    = C
movetype= A
physics = C
juggle  =0; 5
poweradd= 12
ctrl = 0
anim = 400
sprpriority = 2

[State 400, 1]
type = PlaySnd
trigger1 = Time = 1
value = 0, 0
[State 0, VelSet]
type = VelSet
trigger1 = vel x <0
x = 0
;ignorehitpause = 
[State 0, VelSet]
type = VelSet
trigger1 = time=0
y = 0
[State 0, PosSet]
type = PosSet
trigger1 = time=0
y = 0
[State 400, 2]
type = HitDef
trigger1 = animelem = 2
attr = S, NA
damage    = 36
priority  = 3
animtype  = Light
hitflag = MAF
guardflag = L
pausetime = 8,8
sparkno = S8100+(random%4)
guard.sparkno = S7009
sparkxy = -10,-54
hitsound   = S1,0
guardsound = S3,1
ground.type = Low
ground.slidetime =13
ground.hittime  = 13
guard.ctrltime=11
ground.velocity = -2
air.velocity = -1.5,-3
guard.velocity = -2
air.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
air.hittime = 13
forcenofall=1
id=200

[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=[201,203])
value =201
ID =200
ignorehitpause =1 
[State 400, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 11
ctrl =1

;---------------------------------------------------------------------------
;Crouching light punch
[Statedef 405]
type    = C
movetype= A
physics = C
juggle  =0;  ifelse(p2statetype= A,9,6)
poweradd= 28
ctrl = 0
anim = 405
sprpriority = 2

[State 400, 1]
type = PlaySnd
trigger1 = Time = 1
value = 0, 1
[State 0, VelSet]
type = VelSet
trigger1 = vel x <0
x = 0
;ignorehitpause = 
[State 0, VelSet]
type = VelSet
trigger1 = time=0
y = 0
[State 0, PosSet]
type = PosSet
trigger1 = time=0
y = 0

[State 0, Helper]
type = Helper
trigger1 = movehit
helpertype = normal ;player
name = "launch"
ID = 7011
stateno =7011
pos = 38,-102
postype = p1    ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 1
supermovetime = 40
pausemovetime = 40
ignorehitpause=1
persistent=0

[State 400, 2]
type = HitDef
trigger1 = animelem = 2
attr = S, NA
damage    = 57
priority  = 3
animtype  = up
hitflag = MAF
guardflag = M
pausetime = 8,8
sparkno = S7000+(random%4)
guard.sparkno = S7009
sparkxy = -10,-94
hitsound   = S1,4
guardsound = S3,1
ground.type = Low
ground.slidetime = 30
guard.ctrltime = 10
ground.hittime  = 30
ground.velocity = -1,-17
air.velocity = -2,-16.5
forcenofall=1
yaccel=.65
id=410

[State 0, TargetState]
type = TargetState
trigger1 =movehit&&enemy,stateno!=411 &&animelemtime(3)<0
value = 411
ID = 410
ignorehitpause =0
;persistent =

[State 400, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 11
ctrl =1
;---------------------------------------------------------------------------
; Standing strong punch
[Statedef 411]
type    = A
movetype= H
physics = N
juggle  =0; 8
velset=-1,-16.35
poweradd= 59
ctrl = 0
sprpriority = 2
[State 0, VelAdd]
type = VelAdd
trigger1 =1
y = .65


[State 0, ChangeAnim2]
type = ChangeAnim
triggerall = anim!=5160
trigger1 =time=0
value = 5051



[State 0, SelfState]
type = SelfState
trigger1 =time>=26
value =5040
ctrl=1
;---------------------------------------------------------------------------
;Crouching strong punch
[Statedef 410]
type    = C
movetype= A
physics = C
juggle  =0; 5
poweradd= 55
ctrl = 0
anim = 410
sprpriority = 2

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

[State 210, 1]
type = PlaySnd
trigger1 = Time = 2
value = 2,0
channel=0
[State 0, VelSet]
type = VelSet
trigger1 = vel x <0
x = 0
;ignorehitpause = 
[State 0, VelSet]
type = VelSet
trigger1 = time=0
y = 0
[State 0, PosSet]
type = PosSet
trigger1 = time=0
y = 0
[State 360, 2]
type = HitDef
trigger1 = AnimElem = 3
attr = S, NA
damage    = 115
animtype  = heavy
hitflag = MAF
guardflag = M
pausetime = 10,10
sparkno = S7005+(random%4)
guard.sparkno = S7009
sparkxy = -10,-69
hitsound   = S1,2
guardsound = S3,1
ground.type = Low
ground.slidetime = 24
guard.ctrltime = 10
ground.hittime  = 24
ground.velocity = -9
air.velocity = -5,-5
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
air.hittime = 24
forcenofall=1
id=200


[State 360, 3]
type = HitDef
trigger1 = AnimElem = 8
attr = C, NA
damage    = 115
animtype  = heavy
hitflag = MAF
guardflag = MA
pausetime = 10,10
sparkxy = -10,-76
sparkno = S7005+(random%4)
guard.sparkno = S7009
hitsound   = S1,2
guardsound = S3,1
ground.type = High
ground.slidetime = 22
ground.hittime  = 22
guard.ctrltime = 10
ground.velocity = -7
air.velocity = -5,-5
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
air.hittime = 22
forcenofall=1
id=200

[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=[201,203])
value =201
ID =200
ignorehitpause =1 
[State 360, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 11
ctrl = 1

;---------------------------------------------------------------------------
;Crouching light kick
; CNS difficulty: easy
[Statedef 430]
type    = C
movetype= A
physics = C
juggle  =0; 8
poweradd= 12
ctrl = 0
anim = 430
sprpriority = 2

[State 430, 1]
type = PlaySnd
trigger1 = Time = 1
value = 0, 0
[State 0, VelSet]
type = VelSet
trigger1 = vel x <0
x = 0
;ignorehitpause = 
[State 0, VelSet]
type = VelSet
trigger1 = time=0
y = 0
[State 0, PosSet]
type = PosSet
trigger1 = time=0
y = 0
[State 430, 2]
type = HitDef
trigger1 = animelem = 2
attr = C, NA
damage    = 28
animtype  = Light
hitflag = MAF
guardflag = L
pausetime = 6,6
sparkno = S8100+(random%4)
guard.sparkno = S7009
sparkxy = -10,-8
hitsound   = S1,0
guardsound = S3,1
ground.type = Low
ground.slidetime = 6
ground.hittime  = 10
ground.velocity = -2
guard.velocity = -3
air.velocity = -2,-3
down.velocity = -1,-4
down.hittime = 20
nochainid=440
air.hittime = 10
id=200

[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=[201,203])
value =201
ID =200
ignorehitpause =1 
[State 430, 2]
type = HitDef
trigger1 = animelemtime(2) = 2
attr = C, NA
damage    = 28
animtype  = Light
hitflag = MAFD
guardflag = L
pausetime = 6,6
sparkno = S8100+(random%4)
guard.sparkno = S7009
sparkxy = -10,-8
hitsound   = S1,0
guardsound = S3,1
ground.type = Low
ground.slidetime = 6
ground.hittime  = 10
ground.velocity = -2
guard.velocity = -3
air.velocity = -2,-3
down.velocity = -1,-4
down.hittime = 9
chainid=440
air.hittime=9
forcenofall=1
id=200


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

;---------------------------------------------------------------------------
;Crouching light kick
; CNS difficulty: easy
[Statedef 435]
type    = C
movetype= A
physics = C
juggle  =0;  ifelse(p2statetype= A,9,6)
poweradd= 28
ctrl = 0
anim = 435
sprpriority = 2
[State 0, VelSet]
type = VelSet
trigger1 = vel x <0
x = 0
;ignorehitpause = 
[State 0, VelSet]
type = VelSet
trigger1 = time=0
y = 0
[State 0, PosSet]
type = PosSet
trigger1 = time=0
y = 0
[State 0, VelSet]
type = VelSet
trigger1 = vel x <0
x = 0
;ignorehitpause = 
[State 0, VelSet]
type = VelSet
trigger1 = time=0
y = 0
[State 0, PosSet]
type = PosSet
trigger1 = time=0
y = 0
[State 430, 1]
type = PlaySnd
trigger1 = animelem=2
value = 3, 9

[State 0, Helper]
type = Helper
trigger1 = movehit
helpertype = normal ;player
name = "launch"
ID = 7011
stateno =7011
pos = 77,-95
postype = p1    ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 1
supermovetime = 40
pausemovetime = 40
ignorehitpause=1
persistent=0
[State 430, 2]
type = HitDef
trigger1 = animelem = 3
attr = C, NA
damage    = 57
animtype  = up
hitflag = MAFD
guardflag = L
pausetime = 8,8
sparkno = S7000+(random%4)
guard.sparkno = S7009
sparkxy = -10,-56
hitsound   = S1,1
guardsound = S3,1
ground.type = Low
ground.slidetime = 30
guard.ctrltime = 10
ground.hittime  = 30
ground.velocity = -1,-18
air.velocity = -2,-16.5
forcenofall=1
yaccel=.65
id=410

[State 0, TargetState]
type = TargetState
trigger1 =movehit&&enemy,stateno!=411 &&animelemtime(6)<0
value = 411
ID = 410
ignorehitpause =0
;persistent =

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

;---------------------------------------------------------------------------
;Crouch Strong Kick
[Statedef 440]
type    = C
movetype= A
physics = C
juggle  =0; 0
poweradd=55
ctrl = 0
anim = 440
sprpriority = 2
[State 210, 1]
type = PlaySnd
trigger1 = Time = 0
value = 3, 0
channel=0
[State 440, 2]
type = PlaySnd
trigger1 = Time = 2
value = 0, 2

[State 0, VelSet]
type = VelSet
trigger1 = vel x <0
x = 0
;ignorehitpause = 
[State 0, VelSet]
type = VelSet
trigger1 = time=0
y = 0
[State 0, PosSet]
type = PosSet
trigger1 = time=0
y = 0

[State 440, 3]
type = HitDef
trigger1 = animelem = 2
attr = C, NA
damage    =115
hitflag = MAF
guardflag = L
pausetime = 10,10
sparkno = S7005+(random%4)
guard.sparkno = S7009
sparkxy = -10,-37
hitsound   = S1,2
guardsound = S3,1
ground.type = Trip
ground.slidetime = 10
ground.hittime  = 15
guard.velocity = -5
ground.velocity = -2,-2.5
air.velocity = -1.2,-3
guard.velocity = -5
down.hittime=25
air.hittime=25
fall.recover=0
fall = 1
down.bounce=0
id=440
nochainid=440

[State 440, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 11
ctrl = 1
;---------------------------------------------------------------------------
; Standing strong punch
[Statedef 441]
type    = A
movetype=H
physics = N
velset =0,-2.3
poweradd = 40
anim=5070


[State 0, VelAdd]
type = VelAdd
trigger1 =1
y = .44
[State 0, NotHitBy]
type = NotHitBy
trigger1 = anim=5070
value = SCA
;value2 = S,NA
time = 1
;ignorehitpause =
;persistent =


[State 0, ScreenBound]
type = ScreenBound
trigger1 = 1
value = 1
movecamera = 1,1
;ignorehitpause =
;persistent =

[State 0, StateTypeSet]
type = StateTypeSet
trigger1 =anim=5100|| stateno=614||stateno=612
statetype = L      ;S,A,C,L

[State 0, ChangeAnim]
type = ChangeAnim
triggerall = selfanimexist(5100)
trigger1 = pos y>=0 && (anim=5070) && time>3
value = 5100
[State 0, ChangeAnim]
type = ChangeAnim2
triggerall = !selfanimexist(5100)
trigger1 = pos y>=0 &&(anim=5070) && time>3
value = 614
[State 0, ChangeAnim]
type = ChangeAnim2
trigger1 = pos y>=0 && anim=614&& animtime=0
value = 612
[State 0, ChangeAnim]
type = ChangeAnim2
trigger1 = pos y>=0 && anim=5100 && animtime=0
value = 612

[State 0, PosSet]
type = PosSet
trigger1 =anim=5100 || anim=612 ||anim=614
y = 0
;ignorehitpause =
;persistent =

[State 0, VelSet]
type = VelSet
trigger1 = anim=5100 || anim=612||anim=614
x = 0
y = 0
;ignorehitpause =
;persistent =
[State 0, ChangeState]
type = selfState
triggerall = alive
triggerall = anim=612 && animelemtime(1)>1
trigger1 = command="x"||command="y"||command="z"||command="a"||command="b"||command="c"
trigger2= AIlevel >0 && random<111
value =5120
ctrl = 0
[State 0, SelfState]
type = SelfState
trigger1 =animelemtime(1)=20 && anim=612
value =ifelse(alive,5120,5150)
ctrl=0

;---------------------------------------------------------------------------
;Jump Light Punch
; CNS difficulty: easy
[Statedef 600]
type    = A
movetype= A
physics =N
juggle  =0; 1
poweradd= 13
ctrl = 0
anim = 600
sprpriority = 2

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


[state 9000, VelAdd]
type = VelAdd
trigger1 = numexplod(56)
x = 0
y = .455
[State 0, StateTypeSet]
type = StateTypeSet
trigger1 =  !numexplod(56)
physics = A  
;ignorehitpause = 
;persistent = 



[State 600, 2]
type = HitDef
trigger1 = animelem = 2
attr = A, NA
animtype=medium
air.animtype=up
damage    = 28
guardflag = HA
priority = 3
pausetime =7,7
sparkno = S8100+(random%4)
guard.sparkno = S7009
sparkxy = -10,-36
hitsound   = S1,0
guardsound = S3,1
ground.type = High
ground.slidetime =6
ground.hittime = 12
air.hittime = 9
ground.velocity = -4
air.velocity = -.2,-7.5
yaccel=.8
forcenofall=1
id=200

[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=[201,203])
value =201
ID =200
ignorehitpause =1 
[State 600, 3]
type = changestate
trigger1 = animtime=0
value = 57
[state 9000, End]
type = ChangeState
trigger1 = Pos Y >= 0
value = 52
;---------------------------------------------------------------------------
;Jump Light Punch
; CNS difficulty: easy
[Statedef 605]
type    = A
movetype= A
physics = N
juggle  =0; 1
poweradd= 29
ctrl = 0
anim = 605
sprpriority = 2

[state 9000, VelAdd]
type = VelAdd
trigger1 = numexplod(56)
x = 0
y = .455
[State 0, StateTypeSet]
type = StateTypeSet
trigger1 =  !numexplod(56)
physics = A  
[State 600, 1]
type = PlaySnd
trigger1 = Time = 1
value = 0, 1


[State 600, 2]
type = HitDef
trigger1 = animelem = 2
attr = A, NA
damage    = 28
guardflag = HA
animtype=medium
air.animtype=up
priority = 3
pausetime = 10,10
sparkno = S7000+(random%4)
guard.sparkno = S7009
sparkxy = -10,-163
hitsound   = S1,4
guardsound = S3,1
ground.type = High
ground.slidetime = 9
ground.hittime = 14

guard.ctrltime = 14
ground.velocity = -4
air.velocity =-.2,-9.5
air.hittime=14
yaccel=.8
forcenofall=1
id=200

[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=[201,203])
value =201
ID =200
ignorehitpause =1 
[State 600, 3]
type = changestate
trigger1 =  animtime=0
value = 57
[state 9000, End]
type = ChangeState
trigger1 = Pos Y >= 0
value = 52
;---------------------------------------------------------------------------
;Jump Strong Punch
; CNS difficulty: easy
[Statedef 610]
type    = A
movetype= A
physics = N
juggle  =0; 2
poweradd= 58
ctrl = 0
anim = 610
sprpriority = 2

[State 610, 2]
type = PlaySnd
trigger1 = Time = 2
value = 0, 2
[state 9000, VelAdd]
type = VelAdd
trigger1 = numexplod(56)
x = 0
y = .455
[State 0, StateTypeSet]
type = StateTypeSet
trigger1 =  !numexplod(56)
physics = A  
[State 0, ScreenBound]
type = ScreenBound
triggerall = movecontact && !moveguarded  &&  pos y < -340
trigger1 = 1
value = 0


[State 640, 3]
type = HitDef
triggerall =var(23)
trigger1 = animelem = 5
attr = A, NA
damage    = 115
guardflag = HA
priority = 4
pausetime = ifelse(p2statetype!=A,12,5),ifelse(p2statetype!=A,12,2)
sparkno = S7005+(random%4)
guard.sparkno = S7009
sparkxy = -10,-37
hitsound   = S1,2
guardsound = S3,1
animtype = Med
ground.type = High
ground.slidetime = 15
ground.hittime  = 15
ground.velocity = -5
air.velocity = -15,10
yaccel = .7
fall  =1
fall.recover = 0
down.bounce=0
id=640
[State 640, 3]
type = HitDef
triggerall =!var(23)
trigger1 = animelem = 5
attr = A, NA
damage    = 115
guardflag = HA
priority = 4
pausetime = 10,10
sparkno = S7005+(random%4)
guard.sparkno = S7009
sparkxy = -10,-37
hitsound   = S1,2
guardsound = S3,1
animtype = Med
ground.type = High
ground.slidetime = 10
ground.hittime  = 18
ground.velocity = -5
air.velocity = -3,10
id=641
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = movehit &&p2statetype=A  && (prevstateno= [600,635])  && var(23)
value = 611


[State 0, ScreenBound]
type = ScreenBound
triggerall = anim=611
trigger1 = 1
value = 0
movecamera=cond(frontedgebodydist <15,1,0),0
[State 600, 3]
type = changestate
 triggerall =prevstateno= [600,635]
trigger1 = p2statetype=L&&var(31)=19 && var(29)=1
value = 101

[State 0, VarSet]
type = Varadd
trigger1 =var(29)=1
v = 31    ;fv = 10
value = 1
[State 0, VarSet]
type = VarSet
triggerall = p2statetype=A   && var(23)
 triggerall =prevstateno= [600,635]
triggerall = pos x <40&&facing=1|| pos x>-40&&facing=-1
trigger1 = pos y < -250 && enemy,pos y >-10 &&movehit
v = 29    ;fv = 10
value = 1

[State 0, VelSet]
type = VelSet
triggerall =  var(23)
 triggerall =prevstateno= [600,635]
triggerall = pos x <40&&facing=1|| pos x>-40&&facing=-1
trigger1 = movehit  &&  pos y < -250
x = 0
y = 0
[State 600, 3]
type = changestate
triggerall =  ((pos y >= -240)|| (pos x >=40&&facing=1|| pos x<=-40&&facing=-1))  ||(!movehit)
trigger1 = animtime=0
value = 57
ctrl=1
[state 9000, End]
type = ChangeState
trigger1 = Pos Y >= 0
value = 52
;---------------------------------------------------------------------------
; Standing strong punch
[Statedef 10613]
type    = A
movetype= H
physics = N
juggle  =0; 0
velset=-13,13
poweradd= 59
ctrl = 0
sprpriority = -2
[State 0, VelAdd]
type = VelAdd
trigger1 =1
y = .67
[State 0, ChangeAnim2]
type = ChangeAnim2
trigger1 =time=0
value = 1202

[State 0, ChangeAnim2]
type = ChangeAnim2
triggerall = anim!=5160
trigger1 =pos y>=0 && anim=1202 && time>3

value = 5160
[State 0, PosSet]
type = PosSet
trigger1 = anim=5160&& animelem=1
y = 0
[State 0, NotHitBy]
type = NotHitBy
trigger1 = statetype=L
value = SCA
;value2 = S,NA
time = 1
;ignorehitpause =
;persistent =
[State 0, VelSet]
type = VelSet
trigger1 =animelemtime(1)=1 && anim=5160
y = -7
x=0
[State 0, ScreenBound]
type = ScreenBound
trigger1 = 1
value = 1
movecamera = 1,1
;ignorehitpause =
;persistent =

[State 0, StateTypeSet]
type = StateTypeSet
trigger1 =anim=5160
statetype = L      ;S,A,C,L

[State 0, ChangeAnim]
type = ChangeAnim
triggerall = selfanimexist(5101)
trigger1 = pos y>=0 && anim=5160 && animelemtime(1)>10
value = 5101
[State 0, ChangeAnim]
type = ChangeAnim2
triggerall = !selfanimexist(5101)
trigger1 = pos y>=0 && anim=5160 && animelemtime(1)>10
value = 614
[State 0, ChangeAnim]
type = ChangeAnim2
trigger1 = pos y>=0 && anim=614&& animtime=0
value = 612
[State 0, ChangeAnim]
type = ChangeAnim2
trigger1 = pos y>=0 && anim=5101 && animtime=0
value = 612

[State 0, PosSet]
type = PosSet
trigger1 =anim=5101 || anim=612 ||anim=614
y = 0
;ignorehitpause =
;persistent =

[State 0, VelSet]
type = VelSet
trigger1 = anim=5101 || anim=612||anim=614
x = 0
y = 0
;ignorehitpause =
;persistent =

[State 0, SelfState]
type = SelfState
trigger1 =animelemtime(1)=20 && anim=612
value =ifelse(alive,5120,5110)
ctrl=1
;---------------------------------------------------------------------------
;Jump Light Kick
; CNS difficulty: easy
[Statedef 630]
type    = A
movetype= A
physics = N
juggle  =0; 1
poweradd= 13
ctrl = 0
anim = 630
sprpriority = 2

[State 630, 1]
type = PlaySnd
trigger1 = Time = 1
value = 0, 0
[state 9000, VelAdd]
type = VelAdd
trigger1 = numexplod(56)
x = 0
y = .455
[State 0, StateTypeSet]
type = StateTypeSet
trigger1 =  !numexplod(56)
physics = A  
[State 100, Explod]
type = Explod
trigger1 =movehit=1
ID = 630
anim = 10000
postype = p1
pos = -52, -36
bindtime = 1
vel = 0, 0
ownpal = 1
random = 20,90
sprpriority = 2
scale = 1,1
removeongethit=1
persistent=0
[State 0, VarSet]
type = VarSet
trigger1 =1 
v = 32    ;fv = 10
value = numexplod(630)
ignorehitpause=1
[State 630, 2]
type = HitDef
trigger1 = animelem =2
attr = A, NA
animtype=medium
air.animtype=up
damage = 36
guardflag = HA
priority = 3
pausetime = 7,7
sparkno = S8100+(random%4)
guard.sparkno = S7009
sparkxy = -5,-28
hitsound   = S1,0
guardsound = S3,1
ground.type = High
ground.slidetime = 6
ground.hittime = 12
air.hittime = 11
ground.velocity = -4
air.velocity = -.2,-7
yaccel=.8
forcenofall=1
id=200

[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=[201,203])
value =201
ID =200
ignorehitpause =1 
[State 600, 3]
type = changestate
trigger1 = Time = 14
value = 57
[state 9000, End]
type = ChangeState
trigger1 = Pos Y >= 0
value = 52
;---------------------------------------------------------------------------
;Jump Strong Kick
; CNS difficulty: easy
[Statedef 635]
type    = A
movetype= A
physics = N
juggle  =0; 1
poweradd= 29
ctrl = 0
anim = 635
sprpriority = 2

[State 640, 2]
type = PlaySnd
trigger1 = Time = 2
value = 0, 1
[state 9000, VelAdd]
type = VelAdd
trigger1 = numexplod(56)
x = 0
y = .455
[State 0, StateTypeSet]
type = StateTypeSet
trigger1 =  !numexplod(56)
physics = A  
[State 100, Explod]
type = Explod
trigger1 =movehit=1
ID = 635
anim = 10000
postype = p1
pos = -52, -36
bindtime = 1
vel = -1, 0
ownpal = 1
random = 20,90
sprpriority = 2
scale = 1,1
removeongethit=1
persistent=0
ignorehitpause=1
[State 0, VarSet]
type = VarSet
trigger1 =1 
v = 32    ;fv = 10
value = numexplod(635)
ignorehitpause=1
[State 640, 3]
type = HitDef
trigger1 = !movecontact
attr = A, NA
animtype=medium
air.animtype=up
damage    = 57
guardflag = HA
priority = 4
pausetime = 10,10
sparkno = S7000+(random%4)
guard.sparkno = S7009
sparkxy = -10,-53
hitsound   = S1,1
guardsound = S3,1
animtype = Med
ground.type = High
ground.slidetime =8
ground.hittime = 14
air.hittime =14
ground.velocity = -4
air.velocity = -.2,-8.35
yaccel=.8
forcenofall=1
id=200

[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=[201,203])
value =201
ID =200
ignorehitpause =1 
[State 600, 3]
type = changestate
trigger1 = Time = 10
value = 57
[state 9000, End]
type = ChangeState
trigger1 = Pos Y >= 0
value = 52
;---------------------------------------------------------------------------
;Jump Strong Kick
; CNS difficulty: easy
[Statedef 640]
type    = A
movetype= A
physics = N
juggle  =0; 2
poweradd= 58
ctrl = 0
anim = 640
sprpriority = 2

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

[state 9000, VelAdd]
type = VelAdd
trigger1 = numexplod(56)
x = 0
y = .455
[State 0, StateTypeSet]
type = StateTypeSet
trigger1 =  !numexplod(56)
physics = A  

[State 640, 3]
type = HitDef
triggerall =var(23)
trigger1 = animelem = 3
trigger2 = animelem = 4
attr = A, NA
damage    = 90
guardflag = HA
priority = 4
pausetime = 5,2
sparkno = S7005+(random%4)
guard.sparkno = S7009
sparkxy = -10,-30
hitsound   = S1,2
guardsound = S3,1
animtype = Med
ground.type = High
ground.slidetime = 18
ground.hittime  =5
ground.velocity = -5
air.velocity = -1,1
yaccel = .7
fall  =1
down.bounce=0
fall.recover = 0
id=640
[State 0, Width]
type = Width
trigger1 =p2statetype!=A
player = 40,0
;value = 0,0
;ignorehitpause =
;persistent =

[State 640, 3]
type = HitDef
triggerall =var(23)
trigger1 = animelem = 6
attr = A, NA
damage    = 90
guardflag = HA
priority = 4
pausetime = 5,2
sparkno = S7005+(random%4)
guard.sparkno = S7009
sparkxy = -10,-30
hitsound   = S1,2
guardsound = S3,1
animtype = Med
ground.type = High
ground.slidetime = 18
ground.hittime  = 15
ground.velocity = -5
air.velocity = -15,10
yaccel = .7
fall  =1
fall.recover = 0
id=640
[State 640, 3]
type = HitDef
triggerall =!var(23)
trigger1 = animelem = 3
trigger2 = animelem = 4
trigger3 = animelem = 6
attr = A, NA
damage    = 36
guardflag = HA
priority = 4
pausetime = 8,8
sparkno = S7005+(random%4)
guard.sparkno = S7009
sparkxy = -10,-30
hitsound   = S1,2
guardsound = S3,1
animtype = Med
ground.type = High
ground.slidetime =5
ground.hittime  =12
ground.velocity = -2
air.velocity = -3,10
id=641
[State 640, 3]
type = HitDef
triggerall =!var(23)
trigger1 = animelem = 8
attr = A, NA
damage    = 33
guardflag = HA
priority = 4
pausetime = 8,8
sparkno = S7005+(random%4)
guard.sparkno = S7009
sparkxy = -10,-30
hitsound   = S1,2
guardsound = S3,1
animtype = Med
ground.type = High
ground.slidetime = 5
ground.hittime  = 9
ground.velocity = -5
air.velocity = -3,10
id=641
[State 0, Width]
type = Width
trigger1 = 1
player = 35,0
;value = 0,0
;ignorehitpause =
;persistent =
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = movehit &&p2statetype=A  && (prevstateno= [600,635])  && var(23)
value = 641


[State 0, ScreenBound]
type = ScreenBound
triggerall = anim=641
trigger1 = 1
value =cond(frontedgebodydist <15,1,0)
movecamera=cond(frontedgebodydist <15,1,0),0
[State 600, 3]
type = changestate
 triggerall =prevstateno= [600,635]
trigger1 = p2statetype=L&&var(31)=19 && var(29)=1
value = 101

[State 0, VarSet]
type = Varadd
trigger1 =var(29)=1
v = 31    ;fv = 10
value = 1
[State 0, VarSet]
type = VarSet
triggerall = p2statetype=A   && var(23)
 triggerall =prevstateno= [600,635]
triggerall = pos x <40&&facing=1|| pos x>-40&&facing=-1
trigger1 = pos y < -250 && enemy,pos y >-10 &&movehit
v = 29    ;fv = 10
value = 1

[State 0, VelSet]
type = VelSet
triggerall =  var(23)
 triggerall =prevstateno= [600,635]
triggerall = pos x <40&&facing=1|| pos x>-40&&facing=-1
trigger1 = movehit  &&  pos y < -250
x = 0
y = 0
[State 600, 3]
type = changestate
triggerall =  ((pos y >= -240)|| (pos x >=40&&facing=1|| pos x<=-40&&facing=-1))  ||(!movehit)
trigger1 = animtime=0
value = 57
ctrl=1
[state 9000, End]
type = ChangeState
trigger1 = Pos Y >= 0
value = 52
;---------------------------------------------------------------------------
[Statedef 702]
type    = C
movetype= I
physics = N
poweradd= 0
velset = 5,0
ctrl = 0
anim = 702
sprpriority = -1

[State 0, PalFX]
type = PalFX
trigger1 = time = 0
time = 10
add = 0,0,0
mul = 256,256,256
sinadd = 0,0,0,10
invertall = 0
color = 256



[State 8300, PlayerPush]
type = PlayerPush
trigger1 = Time >= 0
value = 0

[State 8300, VelSet]
type = VelSet
trigger1 =time > 35
x = 0

[State 8300, PosSet]
type = PosSet
trigger1 = 1
y = 0

[State 8300, NotHitBy]  ;Can't get hit while rolling
type = NotHitBy
trigger1 = time < 35
value = SCA
time = 1

[State 8300, ChangeState]
type = ChangeState
trigger1 = time = 35
value = 11
ctrl = 1
;---------------------------------------------------------------------------
[Statedef 703]
type    = C
movetype= I
physics = N
poweradd= 0
velset = -5,0
ctrl = 0
anim = 703
sprpriority = -1



[State 0, PalFX]
type = PalFX
trigger1 = time = 0
time = 10
add = 0,0,0
mul = 256,256,256
sinadd = 0,0,0,10
invertall = 0
color = 256

[State 8300, PlayerPush]
type = PlayerPush
trigger1 = Time >= 0
value = 0

[State 8300, VelSet]
type = VelSet
trigger1 = time > 35
x = 0

[State 8300, PosSet]
type = PosSet
trigger1 = 1
y = 0

[State 8300, NotHitBy]  ;Can't get hit while rolling
type = NotHitBy
trigger1 = time < 35
value = SCA
time = 1

[State 8300, ChangeState]
type = ChangeState
trigger1 = time = 35
value = 11
ctrl = 1
;-------------------------------------------------------------
[Statedef 800]
type = U
movetype= A
physics = S
juggle = 0
ctrl = 0
anim = 800

[State 0, VelSet]
type = VelSet
trigger1 = statetype!=A && prevstateno!=105
x = 0
y = 0

[State 0, VelSet]
type = VelSet
trigger1 = vel x <0&&prevstateno=105
x = 0
;ignorehitpause = 
[State 0, VelSet]
type = VelSet
trigger1 = time=0&&prevstateno=105
y = 0
[State 0, PosSet]
type = PosSet
trigger1 = time=0&&prevstateno=105
y = 0
[State 800, 1]
type = HitDef
triggerall = statetype!=A
Trigger1 = Time = 0
attr = S, NT
hitflag = M
priority = 1, Miss
sparkno = -1
sprpriority = 1
p1facing = ifelse (command = "holdfwd", 1, -1)
p2facing = 1
p1stateno = 810
p2stateno = 820
hitsound = S800,0
fall = 1

[State 800, 1]
type = HitDef
triggerall = statetype=A
Trigger1 = Time = 0
attr = A, NT
hitflag = A
priority = 1, Miss
sparkno = -1
sprpriority = 1
p1facing = ifelse (command = "holdfwd", 1, -1)
p2facing = 1
p1stateno = 810
p2stateno = 820
hitsound = S800,0
fall = 1

[State 800, 2]
type = ChangeState
Trigger1 = AnimTime = 0
value = ifelse(statetype=A,610,210)
ctrl = 0
;-------------------------------------------------------------
[Statedef 801]
type = A
movetype= A
physics = N
juggle = 0
ctrl = 0
velset=0,0
anim = 801

[State 0, PlaySnd]
type = PlaySnd
trigger1 = time=0
value = S5100,12
channel = 1

[State 0, PlayerPush]
type = PlayerPush
trigger1 =1 
value =0
;ignorehitpause = 
;persistent = 

[State 0, NotHitBy]
type = NotHitBy
trigger1 =1 
value = SCA
;value2 = S,NA
time = 1
;ignorehitpause = 
;persistent = 

[State 0, VelSet]
type = VelSet
trigger1 =animtime=0 
x = -4.5
y = -2.5

[State 0, ChangeAnim]
type = Changestate
trigger1 =animtime=0 
value =5040
ctrl=0

;-------------------------------------------------------------
[Statedef 802]
type = A
movetype= A
physics = N
juggle = 0
ctrl = 0
velset=0,0
[State 0, NotHitBy]
type = NotHitBy
trigger1 =1 
value = SCA
;value2 = S,NA
time = 1
[State 0, ChangeAnim2]
type = ChangeAnim2
trigger1 =time=0 
value = 801
[State 0, PlayerPush]
type = PlayerPush
trigger1 =1 
value =0
[State 0, VelSet]
type = VelSet
trigger1 =animtime=0 
x = -4.5
y = -2.5
[State 0, ChangeAnim]
type = selfstate
trigger1 =animtime=0 
value =5040
ctrl=0
;----------------------------------------------------------------------
[Statedef 810]
type = U
movetype= A
physics = N
anim = 810
poweradd = 60
sprpriority=0

[State 0, VarSet]
type = VarSet
trigger1 = random<33*AIlevel&&AIlevel>0&&time=0
v = 35   ;fv = 10
value = 1
[State 0, ChangeState]
type = ChangeState
trigger1 = p2stateno=802 
value =801

[State 0, ChangeState]
type = targetState
triggerall = time =[1,4] 
trigger1= (enemy,command="z" || enemy,command="y" || enemy,command="b")&& AILevel=0
trigger2 =  var(35)=1
value =802
[State 0, VelSet]
type = VelSet
trigger1 = pos y>=0
x = 0
y = 0
;ignorehitpause =
;persistent =

[State 0, PosSet]
type = PosSet
trigger1 = pos y>0
y = 0

[State 0, VelAdd]
type = VelAdd
trigger1 =pos y<0
y = .45


[State 200, 1]
type = PlaySnd
trigger1 = animelem =4
value = 2, 1
volume = 255
channel=0


[State 200, 1]
type = PlaySnd
trigger1 = animelem = 9
trigger2 = animelem = 13
trigger3 = animelem = 17
value = 1, 0


[State 810, Bind 1]
type = TargetBind
trigger1 = AnimElemtime(24)<=0
pos = 100, 0



[State 810, Hurt]
type = TargetLifeAdd
trigger1 = animelem = 9
trigger2 = animelem = 13
trigger3 = animelem = 17
value = -33
kill=0

[State 810, Hurt]
type = TargetLifeAdd
trigger1 = animelem =24
value = -7
kill=1

[State 810, Throw]
type = TargetState
trigger1 = AnimElem = 24
value = 411

[State 0, Width]
type = Width
trigger1 =1
edge = 100,0
player = 0,0


[State 0, Explod]
type = Explod
trigger1 = animelem = 9
trigger2 = animelem = 13
trigger3 = animelem = 17
anim =8100+(random%4)
ID =8010
pos = 115,-93
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 2
vel = 0,0
accel = 0,0
random = 0,0
scale = 1,1
sprpriority = 2
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 1
ignorehitpause =1

[State 0, Explod]
type = Explod
trigger1 = animelem = 3
anim =811
ID =811
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = -1
vel = 0,0
accel = 0,0
random = 0,0
scale = 1,1
sprpriority = 2
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 1
ignorehitpause =1

[State 810, State End]
type = ChangeState
trigger1 = AnimTime = 0
value = ifelse(pos y<0,57,0)
ctrl = 1

;----------------------------------------------------------------------
[Statedef 820]
type = A
movetype = H
physics = N
velset = 0,0
sprpriority=1
[State 0, SelfState]
type = SelfState
trigger1 = enemy,stateno !=810
value = 5050

[State 0, ScreenBound]
type = ScreenBound
trigger1 = 1
value = 0

[State 0, PosSet]
type = PosSet
trigger1 =p2statetype!=A
y = 0


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

;----------------------------------------------------------------------
[Statedef 821]
type =A
movetype = H
physics =N
velset = -2,-15
poweradd = 40

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


[State 3545, 1]
type = ChangeAnim
trigger1 =  time = 0
value = 5051

[State 0, NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA
;value2 = S,NA
time = 1
;ignorehitpause =
;persistent =


[State 821, 4] ;Hit ground
type = SelfState
trigger1 =time=32
value = 5040 ;Hit ground

;------------------
; Hit by Fast Kung Fu Palm - shaking from the hit
; (a custom gethit state)
; See State 1020 for details
[Statedef 1025]
type    = A
movetype= H
physics = N
velset = 0,0

[State 1025, Anim] ;Custom animation
type = ChangeAnim2
trigger1 = 1
value = 1025

[State 1025, State]
type = ChangeState
trigger1 = HitShakeOver = 1
value = 1026

;------------------
; Hit by Fast Kung Fu Palm - flying through the air
; (a custom gethit state)
[Statedef 1026]
type    = A
movetype= H
physics = N

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

[State 1026, Gravity]
type = VelAdd
trigger1 = 1
y = .45

[State 1026, No scroll]
type = ScreenBound
triggerall = Pos y < -15
trigger1 = BackEdgeBodyDist < 65
trigger2 = FrontEdgeBodyDist < 65
value = 1
movecamera = 0,1

[State 1026, Hit wall]
type = ChangeState
triggerall = Pos y < -15
trigger1 = BackEdgeBodyDist <=40
trigger2 = FrontEdgeBodyDist <= 40
value = 1027

[State 1026, Hit ground]
type = SelfState
trigger1 = (Vel y > 0) && (Pos y >= 0)
value = 5100

;------------------
; Hit by Fast Kung Fu Palm - hit wall
; (a custom gethit state)
[Statedef 1027]
type    = A
movetype= H
physics = N

[State 1027, Turn]
type = Turn
trigger1 = (Time = 0) && (FrontEdgeBodyDist <= 30)

[State 1027, Pos]
type = PosAdd
trigger1 = Time = 0
x = 15 - BackEdgeBodyDist

[State 1027, No scroll]
type = ScreenBound
trigger1 = 1
value = 1
movecamera = 0,1


[State 1027, Anim]
type = ChangeAnim2
trigger1 = Time = 0
value = 1027

[State 1027, State]
type = ChangeState
trigger1 = AnimTime = 0
value = 1028

;------------------
; Hit by Fast Kung Fu Palm - bounce off wall
; (a custom gethit state)
[Statedef 1028]
type    = A
movetype= H
physics = N

[State 1028, 1]
type = NotHitBy
trigger1 = 1
value = SCA

[State 1028, Vel Y]
type = VelSet
trigger1 = Time = 0
y = -6

[State 1028, Vel X]
type = VelSet
trigger1 = Time = 0
x = .1
[State 1028, Gravity]
type = VelAdd
trigger1 = 1
y = .35

[State 1028, Anim 5050] ;Self falling animation
type = ChangeAnim
trigger1 = Time = 0
trigger1 = !SelfAnimExist(5052)
value = 5050

[State 1028, Anim 5052] ;Self falling animation (diagup type)
type = ChangeAnim
trigger1 = Time = 0
trigger1 = SelfAnimExist(5052)
value = 5052

[State 1028, Anim 5060] ;Coming down - normal
type = ChangeAnim
trigger1 = Vel Y > -2
trigger1 = Anim = 5050
trigger1 = SelfAnimExist(5060)
persistent = 0
value = 5060

[State 1028, Anim 5062] ;Coming down - diagup type
type = ChangeAnim
trigger1 = Vel Y > -2
trigger1 = Anim = 5052
trigger1 = SelfAnimExist(5062)
persistent = 0
value = 5062

[State 1028, Hit ground]
type = SelfState
trigger1 = (Vel y > 0) && (Pos y >= 0)
value = 5100
;-------------------------------------------------------------
[Statedef 830]
type = A
movetype= A
physics = A
juggle = 0
ctrl = 0
anim = 800

[State 800, 1]
type = HitDef
Trigger1 = time > 0
attr = A, ST
guardflag = HA
priority = 4
sparkno = -1
sprpriority = 1
p1facing = ifelse (command = "holdfwd", 1, -1)
p2facing = 1
p1stateno = 840
p2stateno = 850
hitsound = S800,0
fall = 1

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


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

;----------------------------------------------------------------------
[Statedef 840]
type = A
movetype= A
physics = N
anim = 840
poweradd = 60

;[State 810, Width 2-11]
;type = Width
;trigger1 = AnimElemTime(1) >= 0 && AnimElemTime(3) < 0
;edge = 0,25
;player = 0,25
;value = 0,25
[State 0, VarSet]
type = VarSet
trigger1 = random<33*AIlevel&&AIlevel>0&&time=0
v = 35   ;fv = 10
value = 1
[State 0, ChangeState]
type = ChangeState
trigger1 = p2stateno=802 
value =801

[State 0, ChangeState]
type = targetState
triggerall = time =[1,4] 
trigger1= (enemy,command="z" || enemy,command="y" || enemy,command="b")&& AILevel=0
trigger2 =  var(35)=1
value =802
[State 200, 1]
type = PlaySnd
trigger1 =animelem = 2
value = 2,ifelse(palno<7,0,10)
volume = 255
freqmul=ifelse(palno<7,1.05,1)
[State 200, 1]
type = PlaySnd
trigger1 =animelem = 2
value = 2, ifelse(palno<7,0,10)
volume = 255
freqmul=ifelse(palno<7,1.05,1)

[State 200, 1]
type = PlaySnd
trigger1 = animelem = 3
value = 0, 4

[State 4001, bind]
type=targetbind
trigger1=animelemtime(1)>=0 && animelemtime(2) <0
pos=30,0


[State 4001, bind]
type=targetbind
trigger1=animelemtime(2)>=0 && animelemtime(3) <0
pos=23,-44

[State 4001, bind]
type=targetbind
trigger1=animelemtime(3)>=0 && animelemtime(4) <0
pos=-65,-61

[State 4001, bind]
type=targetbind
trigger1=animelem=4
pos=-132,-68


[State 810, Hurt]
type = TargetLifeAdd
trigger1 = AnimElem = 4
value = -111

[State 810, Throw]
type = TargetState
trigger1 = AnimElem =4
value = 863

[State 0, VelSet]
type = VelSet
trigger1 = time = [8,24]
x = -.5
y = .45

[State 0, VelSet]
type = VelSet
trigger1 = time > 24
x = 0
y = 0

[State 0, Turn]
type = posadd
trigger1= AnimTime = 0
x = -50

[State 0, VarSet]
type = VarSet
trigger1 = 1
v = 12  ;fv = 10
value = 999
;ignorehitpause =
;persistent =


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

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

[State 3545, 1]
type = ChangeAnim2
trigger1 = time = 0
value = 836

[State 0, SelfState]
type = SelfState
trigger1 = enemy,stateno !=840
value = 5050


[State 210, 3]
type = sprpriority
trigger1 = time = 0
value = -1
;----------------------------------------------------------------------
[Statedef 851]
type = A
movetype = H
physics = N
velset = 5,5
poweradd = 40

[State 0, PlayerPush]
type = PlayerPush
trigger1 = 1
value = 0

;[State 0, Turn]
;type = Turn
;trigger1 = time = 0

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

[State 0, HitAdd]
type = HitAdd
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = 1

[State 0, EnvShake]
type = EnvShake
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
time = 10
freq = 60
ampl = 4
phase = 90

[State 5100, 10]
type = PlaySnd
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = F7, 1

[State 821, 4] ;Hit ground
type = SelfState
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = 5100 ;Hit ground
;-------------------------------------------------------------
[Statedef 860]
type = S
movetype= A
physics = S
juggle = 0
velset = 0,0
ctrl = 0
anim = 800

[State 800, 1]
type = HitDef
Trigger1 = Time = 0
attr = S, NT
hitflag = M
priority = 1, Miss
sparkno = -1
sprpriority = 1
p1facing = ifelse (command = "holdfwd", 1, -1)
p2facing = 1
p1stateno = 861
p2stateno = 862
hitsound = S800,0
fall = 1

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

;----------------------------------------------------------------------
[Statedef 861]
type = S
movetype= A
physics = N
anim = 830
poweradd = 60

[State 810, Width 2-11]
type = Width
trigger1 = AnimElemTime(1) >= 0 && AnimElemTime(3) < 0
edge = 0,25
player = 0,25
value = 0,25
[State 0, VarSet]
type = VarSet
trigger1 = random<33*AIlevel&&AIlevel>0&&time=0
v = 35   ;fv = 10
value = 1
[State 0, ChangeState]
type = ChangeState
trigger1 = p2stateno=802 
value =801

[State 0, ChangeState]
type = targetState
triggerall = time =[1,4] 
trigger1= (enemy,command="z" || enemy,command="y" || enemy,command="b")&& AILevel=0
trigger2 =  var(35)=1
value =802
[State 200, 1]
type = PlaySnd
trigger1 = animelem = 2
value = 2, ifelse(palno<7,0,10)
volume = 255
freqmul=ifelse(palno<7,1.1,1)
[State 200, 1]
type = PlaySnd
trigger1 = animelem = 2
value = 2,ifelse(palno<7,0,10)
volume = 255
freqmul=ifelse(palno<7,1.1,1)

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


[State 4001, bind]
type=targetbind
trigger1=animelem=1
pos=30,0


[State 4001, bind]
type=targetbind
trigger1=animelem=2
pos=23,-44

[State 4001, bind]
type=targetbind
trigger1=animelem=3
pos=-58,-54

[State 4001, bind]
type=targetbind
trigger1=animelem=4
pos=-129,-50


[State 810, Hurt]
type = TargetLifeAdd
trigger1 = AnimElem = 4
value = -111

[State 810, Throw]
type = TargetState
trigger1 = AnimElem =4
value = 863

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

;----------------------------------------------------------------------
[Statedef 862]
type = S
movetype = H
physics = N
velset = 0,0

[State 3545, 1]
type = ChangeAnim2
trigger1 = time = 0
value = 831

[State 0, ScreenBound]
type = ScreenBound
trigger1 =  1
value = 0

[State 0, SelfState]
type = SelfState
trigger1 = enemy,stateno !=861
value = 5050


;----------------------------------------------------------------------
[Statedef 863]
type = A
movetype = H
physics = N
velset = 6,-6
poweradd = 40

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

[State 0, ScreenBound]
type = ScreenBound
trigger1 =  1
value = 0

[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 0, Turn]
type = Turn
trigger1 =time = 0


[State 821, 4] ;Hit ground
type = SelfState
trigger1 = time = 0;Vel Y > 0
;trigger1 = Pos Y >= 0
value = 5050 ;Hit ground
;---------------------------------------------------------------------------
[Statedef 1000]
type    =U
movetype= A
physics = N
juggle  =0; 4
poweradd= 13
velset = 0,0
anim = 1000
ctrl = 0
sprpriority = 1
facep2=ifelse(statetype=A,1,0)

[State 1000, 1]
type = PlaySnd
trigger1 = animelem =2 && (anim = 1000 || anim = 1008)
value = S0,4

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

;value = 0,0
;ignorehitpause = 
;persistent = 

;ignorehitpause = 
[State 0, VelSet]
type = VelSet
trigger1 = time=0&&prevstateno=105
y = 0
[State 0, PosSet]
type = PosSet
trigger1 = time=0&&prevstateno=105
y = 0
[State 200, 1]
type = PlaySnd
trigger1 = animelem=6
value = 3,0

[State 100, Explod]
type = Explod
triggerall =animelemtime(11)>=0&&animelemtime(19)<0
trigger1 = (time % 2) = 0
ID = 1003
anim = 1003+(random%5)
postype = p1
pos = -52, -36
bindtime = 1
vel = -1, 0
ownpal = 1
random = 20,90
sprpriority = 2
scale = const(size.xscale),1
removeongethit=1

[State 0, Explod]
type = Explod
triggerall = var(4) = 0
trigger1 = animelem = 1
anim =8000
ID =8002
pos = 1,-11
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 2
vel = 0,0
accel = 0,0
random = 0,0
scale =1,ifelse(GameHeight = 180,.75,1)
sprpriority = 2
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 1
ignorehitpause =1

[State 0, Explod]
type = Explod
trigger1 = animelem = 7
anim =1001
ID =1001
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime =-1
vel = 0,0
accel = 0,0
random = 0,0
scale = const(size.xscale),1
sprpriority = 2
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 1
ignorehitpause =1


[State 0, VarSet]
type = VarSet
triggerall = AILevel=0
trigger1 = time=0
v = 3  ;fv = 10
value = ifelse(command = "gou1",1,3)

[State 0, VarSet]
type = VarSet
triggerall = AILevel>0
triggerall = var(57) = 0
trigger1 = time=0 && p2bodydist x >150
v = 3  ;fv = 10
value = 1

[State 0, VarSet]
type = VarSet
triggerall = AILevel>0
triggerall = var(57) = 1
trigger1 = time=0 && p2bodydist x <150 && movehit
v = 3  ;fv = 10
value = 3

[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = var(3)=3 &&time=0
value = 1008
;elem = 1
;ignorehitpause = 
;persistent = 

[State 0, VelSet]
type = VelSet
trigger1 = animelem=9
x = ifelse(var(3)=1,8,ifelse(var(3)=2,10,11.25))

[State 0, VelSet]
type = VelSet
trigger1 = animelemtime(19)>=0
x = 0

[State 0, Explod]
type = Explod
triggerall=statetype!=A
trigger1 = animelem = 10
anim =1002
ID =1002
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime =1
vel = 0,0
accel = 0,0
random = 0,0
scale = const(size.xscale),1
sprpriority = 2
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 1
ignorehitpause =1

[State 1055, 5]
type = HitDef
trigger1 = animelem = 9
trigger2 = animelem = 11
trigger3=animelem=10 && var(3)>1
attr = S, SA
animtype  = up
damage    = ifelse(var(3)!=1,21,33),3
priority  = 4
guardflag = MA
pausetime = 4,4
sparkxy = 15,-47
sparkno = S7005+(random%4)
guard.sparkno = S7009
hitsound   = S1,2
guardsound = S3,1
ground.type = High
ground.slidetime = 25
ground.hittime  = 25
ground.velocity = -2,-4
guard.velocity = -3
guard.ctrltime = 12
air.velocity = -2,-3
airguard.velocity = -4,-4.5
fall=1
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
id=200


[State 1055, 5]
type = HitDef
trigger1=animelem=12 && var(3)>1
trigger2=animelem=13 && var(3)=3
trigger3=animelem=14 && var(3)=3
attr = S, SA
animtype  = up
damage    = 14,3
priority  = 4
guardflag = MA
pausetime = 4,4
sparkxy = 15,-47
sparkno = S7005+(random%4)
guard.sparkno = S7009
hitsound   = S1,2
guardsound = S3,1
ground.type = High
ground.slidetime = 25
ground.hittime  = 25
ground.velocity = -2,-4
guard.velocity = -3
guard.ctrltime = 12
air.velocity = -2,-3
airguard.velocity = -4,-2.5
fall=1
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
id=200


[State 1055, 5]
type = HitDef
triggerall = prevstateno=[600,640]
trigger1 = animelem = 14 && var(3)<3
trigger2 = animelem = 17 && var(3)=3
attr = S, SA
animtype  = up
damage    = ifelse(var(3)!=1,63,71),3
priority  = 4
guardflag = MA
pausetime = 6,6
sparkxy = 15,-47
sparkno = S7005+(random%4)
guard.sparkno = S7009
hitsound   = S1,2
guardsound = S3,1
ground.type = High
ground.slidetime = 25
ground.hittime  = 25
ground.velocity = -7,-5
guard.velocity = -3
guard.ctrltime = 12
air.velocity = -7,4
airguard.velocity = -4,-4.5
fall.recover = 0
fall=1
yaccel=.63
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
id=200

[State 1055, 5]
type = HitDef
triggerall = prevstateno!=[600,640]
trigger1 = animelem = 14 && var(3)<3
trigger2 = animelem = 18 && var(3)=3
attr = S, SA
animtype  = up
damage    = ifelse(var(3)!=1,63,71),3
priority  = 4
guardflag = MA
pausetime =6,6
sparkxy = 15,-47
sparkno = S7005+(random%4)
guard.sparkno = S7009
hitsound   = S1,2
guardsound = S3,1
ground.type = High
ground.slidetime = 25
ground.hittime  = 25
ground.velocity = -7,-5
guard.velocity = -3
guard.ctrltime = 12
air.velocity = -7,-2
airguard.velocity = -4,-5.5
fall.recover = 0
fall=1
yaccel=.63
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
id=201

[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=[201,203])
value =201
ID =200
ignorehitpause =1 
[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=1001)
value =1001
ID =201
ignorehitpause =1 
[State 1000, 7]
type = ChangeState
triggerall = var(4) = 0
trigger1 = AnimTime = 0
value = 0
ctrl = 1

[State 1000, 7]
type = ChangeState
triggerall = var(4) = 1
trigger1 = AnimTime = 0
value = 57
ctrl = 0

;---------------------------------------------------------------------------
; 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 1001]
type    = A
movetype= H
physics = N
poweradd = 56
facep2=1
[State 0, ChangeAnim2]
type = ChangeAnim2
trigger1 = time=0
value = 1202
;elem = 1
;ignorehitpause = 
;persistent = 

[State 0, HitVelSet]
type = HitVelSet
trigger1 = time=0
x = 1
y = 1
;ignorehitpause = 
;persistent =

;ignorehitpause =
;persistent =


[State 0, VelAdd]
type = VelAdd
trigger1 =1
y = .55
[State 0, NotHitBy]
type = NotHitBy
trigger1 = statetype!=L &&p2stateno!=[3050,3100]
trigger2 = enemy,numexplod(1001)>0&&p2stateno!=[3050,3100]
value = SCA
;value2 = S,NA
time = 1
;ignorehitpause =
;persistent =


[State 0, ScreenBound]
type = ScreenBound
trigger1 = 1
value = 1
movecamera = 1,1
;ignorehitpause =
;persistent =

[State 0, StateTypeSet]
type = StateTypeSet
trigger1 =anim=5100|| anim=614|anim=612
statetype = L      ;S,A,C,L

[State 0, ChangeAnim]
type = ChangeAnim
triggerall = selfanimexist(5100)
trigger1 = pos y>=-10 && (anim=1202) && time>3
value = 5100
[State 0, ChangeAnim]
type = ChangeAnim2
triggerall = !selfanimexist(5100)
trigger1 = pos y>=0 &&(anim=1202) && time>3
value = 614
[State 0, ChangeAnim]
type = ChangeAnim2
trigger1 = pos y>=0 && anim=614&& animtime=0
value = 612
[State 0, ChangeAnim]
type = ChangeAnim2
trigger1 = pos y>=0 && anim=5100 && animtime=0
value = 612

[State 0, PosSet]
type = PosSet
trigger1 =anim=5100 || anim=612 ||anim=614
y = 0
;ignorehitpause =
;persistent =

[State 0, VelSet]
type = VelSet
trigger1 = anim=5100 || anim=612||anim=614
x = 0
y = 0
;ignorehitpause =
;persistent =

;ignorehitpause = 
;persistent = 

[State 0, ChangeState]
type = selfState
triggerall = p2stateno!=3050
triggerall = alive
triggerall = anim=612 && animelemtime(1)>1
trigger1 = command="x"||command="y"||command="z"||command="a"||command="b"||command="c"
trigger2= AIlevel >0 && random<249
value =5120
ctrl = 0
;anim =
;ignorehitpause = 
;persistent = 


[State 0, SelfState]
type = SelfState
trigger1 =animelemtime(1)=8 && anim=612
value =ifelse(alive,5120,5110)
ctrl=0
;---------------------------------------------------------------------------
;Gou Shoryuken - start
[Statedef 1050]
type    = S
movetype= A
physics = S
juggle  =0; ifelse((enemy,stateno = 5070),4,8)
poweradd= 60
velset = 0,0
anim = 1055
ctrl = 0
sprpriority = 1

[State 1050, 1]
type = PlaySnd
trigger1 =time=18
value = 2, 13

[State 200, 1]
type = PlaySnd
trigger1 = animelem=1
value = 2,3
volume=255
channel=0
[State 200, 1]
type = PlaySnd
trigger1 = numexplod(1054)>=1 && anim!=1055&&anim=1051&&time>50
value = 2,15
volume=255


[State 0, VarSet]
type = VarSet
triggerall = AILevel=0
trigger1 = time=0
v = 6  ;fv = 10
value = ifelse(command = "Gous1",1,3)

[State 0, VarSet]
type = VarSet
triggerall = AILevel>0
triggerall = var(57) = 0
trigger1 = time=0 && (p2bodydist y =[-140,0]) && p2movetype!=H
v = 6  ;fv = 10
value = 1

[State 0, VarSet]
type = VarSet
triggerall = AILevel>0
triggerall = var(57) = 1
trigger1 = time=0 && p2bodydist y<-140 || p2movetype=H
v = 6  ;fv = 10
value = 3

[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = var(6)=3&&time=0
value = 1058
;elem = 1
;ignorehitpause = 
;persistent = 

[State 0, Explod]
type = Explod
trigger1 = animelem = 1
anim =ifelse(var(6)=1,1050,1057)
ID =1050
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
scale = const(size.xscale),1
sprpriority = 2
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 1
ignorehitpause =0

[State 0, Explod]
type = Explod
trigger1 = animelem = 1
anim =8000
ID =8002
pos = 1,-11
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 2
vel = 0,0
accel = 0,0
random = 0,0
scale =1,ifelse(GameHeight = 180,.75,1)
sprpriority = 2
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 1
ignorehitpause =1


[State 0, StateTypeSet]
type = StateTypeSet
trigger1 =anim=1051&&animelemtime(1)>=1
statetype = A       ;S,A,C,L
movetype =A        ;I,A,H
physics = N        ;A,C,S,N
ignorehitpause =1
persistent = 1

[State 0, NotHitBy]
type = NotHitBy
trigger1 = (anim=1055||anim=1058)&&animelemtime(3)>=0
value = SCA
;value2 = S,NA
time = 1
;ignorehitpause =
;persistent =

[State 0, VelSet]
type = VelSet
trigger1 = anim=1051&&animelemtime(1)=1
x = ifelse(var(6)=1,1.5,ifelse(var(6)=2,2.5,4))
y= -9.5
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time=12
value = 1051
;elem = 1
;ignorehitpause =
;persistent =
[State 0, PosAdd]
type = PosAdd
trigger1 =animelem = 1 && anim=1051
x = 60
[State 0, PosAdd]
type = PosAdd
trigger1 =animelemtime(1)=0&&anim=1051
x = 53
y =-74
;ignorehitpause =
;persistent =



[State 0, Helper]
type = Helper
trigger1 = pos y >-150 &&numhelper(1051)<1 &&anim=1051&&animelemtime(3)>=10
helpertype = normal ;player
name ="Gou hadouken beam"
ID = 1051
stateno = 1051
pos =  0,0
postype = p1    ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 0
size.xscale=const(size.xscale)

[State 1050, 1]
type = PlaySnd
trigger1 =pos y >-30 &&numexplod(1054)<1 &&anim=1051&&animelemtime(3)>0
value = 3, 2
[State 0, Explod]
type = Explod
trigger1 = pos y >-30&&numexplod(1054)<1 &&anim=1051&&animelemtime(3)>0
anim =1054
ID =1054
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = -1
vel = 0,0
accel = 0,0
random = 0,0
scale =const(size.xscale),1
sprpriority = 2
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 1
ignorehitpause =1

[State 0, VelSet]
type = VelSet
trigger1 = anim!=1051
x = 0
y = 0

[State 0, PosSet]
type = PosSet
trigger1 =  numexplod(1054)>=1 && (anim!=1055&&anim!=1058)&&anim=1051&&pos y >-35 && vel y >0
trigger2 = anim=1056
y = 0
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = numexplod(1054)>=1 &&anim=1051&&pos y >-35 && vel y >0
value = 1055
elem = 3

[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = animelemtime(3)=15 && (anim=1055||anim=1058)&&time>40
value = 1056
;ignorehitpause =
;persistent =

;ignorehitpause = 
;persistent = 

[State 0, StateTypeSet]
type = StateTypeSet
trigger1 = numexplod(1054)>=1 &&anim=1051&&pos y >-35 && vel y >0    ;S,A,C,L
movetype = I        ;I,A,H

[State 1055, 5]
type = HitDef
triggerall = time<13
trigger1 = animelem = 3 && (anim=1055||anim=1058)
attr = S, SA
animtype  = up
damage    = ifelse(var(6)=1,28,ifelse(var(6)=2,31,36)),3
priority  = 4
guardflag = MA
pausetime = 4,4
sparkxy = 15,-66
sparkno = S8100+(random%4)
guard.sparkno = S7009
hitsound   = S1,1
guardsound = S3,1
ground.type = High
ground.slidetime = 25
ground.hittime  = 25
ground.velocity = -4,-6
guard.velocity = -3
guard.ctrltime = 12
air.velocity = -4,-6
airguard.velocity = -4,-4.5
fall=1
id=200

[State 1055, 5]
type = HitDef
trigger1 = animelem = 2 && anim=1051
attr = S, SA
animtype  = up
damage    = ifelse(var(6)=1,28,ifelse(var(6)=2,31,36)),3
priority  = 4
guardflag = MA
pausetime = 2,2
sparkxy = 0,-3
sparkno = S8100+(random%4)
guard.sparkno = S7009
hitsound   = S1,1
guardsound = S3,1
ground.type = High
ground.slidetime = 25
ground.hittime  = 25
ground.velocity = -3,-6
guard.velocity = -3
guard.ctrltime = 12
air.velocity = -3,-6
airguard.velocity = -4,-4.5
fall=1
id=200



[State 1055, 5]
type = HitDef
trigger1 = animelem = 4&& anim=1051
attr = S, SA
animtype  = up
damage    = ifelse(var(6)=1,71,ifelse(var(6)=2,77,85)),3
priority  = 4
guardflag = MA
pausetime = 4,4
sparkxy = 0,-3
sparkno = S8100+(random%4)
guard.sparkno = S7009
hitsound   = S1,1
guardsound = S3,1
ground.type = High
ground.slidetime = 25
ground.hittime  = 25
ground.velocity = -5,-7
guard.velocity = -3
guard.ctrltime = 12
air.velocity = -5,-7
airguard.velocity = -4,-4.5
fall.recover = 0
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
fall=1
yaccel=.75
id=201
[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=1001)
value =1001
ID =201
ignorehitpause =1 

[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=[201,203])
value =201
ID =200
ignorehitpause =1 
[State 0, StateTypeSet]
type = StateTypeSet
trigger1 =  pos y >-15
movetype = I        ;I,A,H


[State 0, Width]
type = Width
trigger1 =  vel y <0&&anim=1051&&animelemtime(2)>0
player =25,0


[State 0, Width]
type = Width
trigger1 =  pos y >-30 &&numexplod(1054)<1 &&anim=1051&&animelemtime(3)>0
player = 0,0

[State 280, 5]
type = VelAdd
trigger1 = anim=1051
y = .87
[State 1051, 3] ;Change state when KFM is close to ground
type = ChangeState
trigger1 = animtime=0&&anim=1056
value = 0
ctrl=1
;---------------------------------------------------------------------------
[Statedef 1100]
type    = S
movetype= A
physics = S
juggle  =0;6
poweradd= 60
anim = 1100
velset=0,0
ctrl = 0
sprpriority = 2

[State 0, VarSet]
type = VarSet
triggerall = AILevel=0
trigger1 = time=0
v = 9 ;fv = 10
value = ifelse(command = "sk1",1,ifelse(command="sk2",2,ifelse(command="sk3",3,ifelse(command = "Agou1",4,ifelse(command="Agou2",5,6)))))

[State 0, VarSet]
type = VarSet
triggerall = AILevel>0
triggerall= p2stateno=[120,150]
trigger1=time=0
v = 9  ;fv = 10
value = 1

[State 0, VarSet]
type = Varrandom
triggerall = AILevel>0
triggerall= p2stateno!=[120,150]
trigger1=time=0
v = 9  ;fv = 10
range =4,6
[State 0, VelSet]
type = VelSet
trigger1 = vel x <0&&prevstateno=105
x = 0
;ignorehitpause = 
[State 0, VelSet]
type = VelSet
trigger1 = time=0&&prevstateno=105
y = 0
[State 0, PosSet]
type = PosSet
trigger1 = time=0&&prevstateno=105
y = 0
[State 0, Explod]
type = Explod
trigger1 = animelem = 1
anim =8000
ID =8002
pos = 1,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 2
vel = 0,0
accel = 0,0
random = 0,0
scale = 1,ifelse(GameHeight = 180,.75,1)
sprpriority = 2
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 1
ignorehitpause =1

[State 200, 1]
type = PlaySnd
trigger1 = animelem = 1
value = 2, 4
channel=0
[State 0, PlaySnd]
type = PlaySnd
trigger1 =animelem=7
value = S3,3
[State 0, Helper]
type = Helper
triggerall = var(9)>0
triggerall = var(21)=0
trigger1 =animelem=8
helpertype = normal ;player
name ="PAPA"
ID = 1101
stateno = 1101
pos =  84,0
postype = p1    ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 1
size.yscale=1
size.xscale=.8333333333333333333333333333333

[State 0, Helper]
type = Helper
triggerall = var(9)>0
triggerall = numhelper(1101)=1&&var(21)=1
trigger1 =animelem=8
helpertype = normal ;player
name ="AMIGO"
ID = 1102
stateno = 1102
pos =  84,0
postype = p1    ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 1
size.yscale=1
size.xscale=.8333333333333333333333333333333



[State 1050, 5]
type = ChangeState
trigger1 =animtime=0
value = 0
ctrl=1





;---------------------------------------------------------------------------
;
[Statedef 3000]
type    = S
movetype= A
physics = S
velset = 0,0
juggle  =0; ifelse((prevstateno = 440),2,8)
anim = 3000
ctrl = 0
sprpriority = 0


[State 0, Width]
type = Width
trigger1 = 1
edge = 60,0
player = 45,0


[State 3000, Super A]
type = SuperPause
trigger1 = time = 3
poweradd = -1000
anim = -1
time = 48
p2defmul=1

[State 0, PlaySnd]
type = PlaySnd
trigger1 = time =3
value = S3001,0
[State 0, VelSet]
type = VelSet
trigger1 = vel x <0&&prevstateno=105
x = 0
;ignorehitpause = 
[State 0, VelSet]
type = VelSet
trigger1 = time=0&&prevstateno=105
y = 0
[State 0, PosSet]
type = PosSet
trigger1 = time=0&&prevstateno=105
y = 0
[State 0, PlaySnd]
type = PlaySnd
trigger1 = time =4
value = S2,10
channel=0
[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelemtime(1)=1 &&anim=3001
value = S2,1
channel=0
[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem=4 &&anim=3004
trigger2 = animelem=10&&anim=3004
trigger3 = animelem=18 &&anim=3004
value = S2,15

[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem=6 &&anim=3004
trigger2 = animelem=9&&anim=3004
trigger3 = animelem=12&&anim=3004
trigger4 = animelem=15&&anim=3004
value = S3,6

[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem=7 &&anim=3004
trigger2 = animelem=14&&anim=3004
trigger3 = animelem=20&&anim=3004
value = S2,13


[State 0, Explod]
type = Explod
trigger1 = time = 4
anim =8000
ID =8002
pos = 1,-11
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 2
vel = 0,0
accel = 0,0
random = 0,0
scale = 1,ifelse(GameHeight = 180,.75,1)
sprpriority = 2
ontop = 1
shadow = 0,0,0
ownpal = 1
supermovetime = 4
pausemovetime  = 4

[State 182, 2]
type = NotHitBy
trigger1 = Time = 0
value = SCA
time =14

[State 3000, Hyperbg]
type = Explod
trigger1 = time = 3
anim = 6004
ID = 6001
pos = 20,-71
postype = p1
facing = 1
vfacing = 1
bindtime = -1
vel = 0,0
accel = 0,0
random = 0,0
supermovetime = 90
pausemovetime  = 90
scale = 1,ifelse(GameHeight = 180,.75,1)
sprpriority = 3
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 1
supermovetime = 90
pausemovetime  = 90

[State 3000, Hyperbg]
type = Explod
trigger1 = time = 4
anim = 6005
ID = 6001
pos = 0,0
postype = left
facing = 1
vfacing = 1
bindtime = -1
vel = 0,0
accel = 0,0
random = 0,0
removetime =-1
supermovetime = 90
pausemovetime  = 90
scale = .5,ifelse(GameHeight = 180,.4,.5)
sprpriority = -6
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1
ignorehitpause=1
[State 0, AssertSpecial]
type = AssertSpecial
trigger1 =anim=3000||(animelemtime(28)<0&&anim=3004)
flag = noBG





[State 3000, helper]
type = Helper
trigger1 = time = 3
pos = 0,-240
postype = back
id = 4000
name = "Hyperportrait"
stateno = 4001
ownpal = 1
size.xscale = 1
size.yscale = 1.25
supermovetime = 90
pausemovetime  = 90


[State 0, PosFreeze]
type = PosFreeze
trigger1 =enemy,stateno=3003
value = 1




[State 0, Helper]
type = Helper
triggerall =  anim = 3000
trigger1 =animelem=2
helpertype = normal ;player
name ="TENTICLERAPINTIME"
ID = 3001
stateno = 3001
pos = 78,0
postype = p1    ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal =1
size.yscale=1
size.xscale=.8333333333333333333333333333333

[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = enemynear,stateno=3003 && (anim!=[3001,3004])
value = 3001

[State 0, ChangeAnim]
type = ChangeAnim
triggerall =(anim!=3004) &&enemynear,stateno=3003
trigger1 =(enemynear,pos y >0);&&enemynear,time>60
value = 3004

[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = anim!=3008 &&var(19)=2&&(anim!=[3001,3004])
value = 3008


[State 3000, Hyperbg]
type = Explod
trigger1 = anim=3001 &&animelem=5
anim = 3002
ID = 3002
pos = 0,0
postype = p1
facing = 1
vfacing = 1
bindtime = -1
vel = 0,0
accel = 0,0
random = 0,0
removetime =200
supermovetime = 90
pausemovetime  = 90
scale = 1,1
sprpriority = -5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1
ignorehitpause=1

[State 0, RemoveExplod]
type = RemoveExplod
trigger1 =anim!=3001
id =3002

[State 0, RemoveExplod]
type = RemoveExplod
trigger1 =anim=3004 && animelem= 34
id =6001

[State 3000, Hyperbg]
type = Explod
trigger1 = anim=3004 &&animelem=1
anim = 3003
ID = 3004
pos = 0,0
postype = p1
facing = 1
vfacing = 1
bindtime = -1
vel = 0,0
accel = 0,0
random = 0,0
supermovetime = 90
pausemovetime  = 90
scale = 1,1
sprpriority = -5
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1
ignorehitpause=1



[State 0, TargetBind]
type = TargetBind
triggerall = anim=3004
trigger1 =animelem=28
pos = 0,-140


[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem=37
value = S2,14
channel=0
[State 0, ChangeState]
type = ChangeState
trigger1 = animtime = 0 && (anim = 3004|| anim = 3008)
value = 0
ctrl=1


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

[State 3545, 1]
type = ChangeAnim2
trigger1 = time = 0
value = 3009

[State 0, SelfState]
type = SelfState
trigger1 = enemy,stateno!=3000
value = 5050
[State 0, DefenceMulSet]
type = DefenceMulSet
trigger1 = 1
value = 1
;ignorehitpause = 
;persistent = 

[State 0, VelSet]
type = VelSet
trigger1 = enemy,animelemtime(4)=8
x = (P2dist X)/14
y = -6
[State 0, TargetState]
type = changeState
triggerall = enemy,anim=3004
trigger1 = enemy,animelem=28
value =3004
[State 1121,VelMul]
type = VelMul
trigger1 = enemy,animelemtime(4)>=8
x = .94


[State 0, VelAdd]
type = VelAdd
trigger1 =enemy,animelemtime(4)>=8
y = .55

[State 0, VelSet]
type = VelSet
trigger1 = enemy,anim=3004
x = 0
y = 0

;ignorehitpause =
;persistent =


[State 0, AssertSpecial]
type = AssertSpecial
trigger1 =enemy,anim=3004||pos y>=-10
flag = invisible

[State 210, 3]
type = sprpriority
trigger1 = time = 0
value = -1

;----------------------------------------------------------------------
[Statedef 3004]
type =A
movetype = H
physics =N
velset = -2,-17
poweradd = 40

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


[State 3545, 1]
type = ChangeAnim
trigger1 = selfanimexist(5061) && time = 0
value = 5061
[State 0, NotHitBy]
type = HitBy
trigger1 = 1
value = SCA,ST
;value2 = S,NA
time = 1
[State 0, NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA
;value2 = S,NA
time = 1
;ignorehitpause =
;persistent =

[State 3545, 1]
type = ChangeAnim2
trigger1 = !selfanimexist(5061) && time = 0
value = 1110



[State 821, 4] ;Hit ground
type = SelfState
trigger1 = Pos Y >= 0 && Vel Y > 0
value = 5050 ;Hit ground
;---------------------------------------------------------------------------
[Statedef 3100]
type    = S
movetype= A
physics = S
juggle  =0; ifelse((prevstateno = 440),2,8)
velset = 0,0
anim = 3010
ctrl = 0
sprpriority = 2

[State 182, 2]
type = NotHitBy
trigger1 = Time = 0
value = SCA
time = 18


[State 3000, Hyperbg]
type = Explod
trigger1 = time = 6
anim = 6005
ID = 6001
pos = 0,0
postype = left
facing = 1
vfacing = 1
bindtime = -1
vel = 0,0
accel = 0,0
random = 0,0
removetime =-1
supermovetime = 90
pausemovetime  = 90
scale = .5,ifelse(GameHeight = 180,.4,.5)
sprpriority = -6
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1
ignorehitpause=1
[State 0, AssertSpecial]
type = AssertSpecial
trigger1 =time=5
flag = noBG

[State 0, VelSet]
type = VelSet
trigger1 = vel x <0&&prevstateno=105
x = 0
;ignorehitpause = 
[State 0, VelSet]
type = VelSet
trigger1 = time=0&&prevstateno=105
y = 0
[State 0, PosSet]
type = PosSet
trigger1 = time=0&&prevstateno=105
y = 0
[State 3000, Hyperbg]
type = Explod
trigger1 = time =5
anim = 6004
ID = 6001
pos = -1,-22
postype = p1
facing = 1
vfacing = 1
bindtime = -1
vel = 0,0
accel = 0,0
random = 0,0
scale = 1,ifelse(GameHeight = 180,.75,1)
sprpriority = 3
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 1
supermovetime = 90
pausemovetime  = 90


[State 3000, Super A]
type = SuperPause
trigger1 = time =5
poweradd = -1000
anim = -1
time = 45
p2defmul=1



[State 0, Explod]
type = Explod
trigger1 = time =0
anim =8000
ID =8002
pos = 1,-11
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 2
vel = 0,0
accel = 0,0
random = 0,0
scale = 1,ifelse(GameHeight = 180,.75,1)
sprpriority = 2
ontop = 1
shadow = 0,0,0
ownpal = 1
supermovetime = 4
pausemovetime  = 4

[State 0, PlaySnd]
type = PlaySnd
trigger1 = time = 5
value = S3001,0

[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem=9
value = S2,12

[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem=8
value = S2,11
channel=0
[State 0, AssertSpecial]
type = AssertSpecial
trigger1 =  time > 5
flag = noBG
flag2=noFG
ignorehitpause = 1

[State 3000, helper]
type = Helper
trigger1 = time = 5
pos = 0,0
postype = p1
id = 4000
name = "Hyperportrait"
sprpriority = 2
stateno = 4001
ownpal = 1
size.xscale = 1
size.yscale = 1.25
supermovetime = 999
pausemovetime  =999

[State 0, AngleDraw]
type = AngleDraw
trigger1 =animelemtime(8)>0&&animelemtime(40)<0
scale =1+(time*.02),1+(time*.025)
ignorehitpause=1
[State 0, AngleDraw]
type = AngleDraw
trigger1 =animelemtime(40)>=0&&animelemtime(60)<0
scale =2,2
ignorehitpause=1

[State 0, AngleDraw]
type = AngleDraw
trigger1 =animelemtime(60)>=0&&animelemtime(68)<0
scale =2-((time*.01)*(time*.01)),2-((time*.01)*(time*.01))
ignorehitpause=1



[State 1060, 4]
type = HitDef
trigger1 = animelem = 7
trigger2 = animelem = 10
trigger3 = animelem = 11
trigger4 = animelem = 13
trigger5 = animelem = 15
trigger6 = animelem = 16
trigger7 = animelem = 16
trigger8 = animelem = 18
trigger9 = animelem = 20
trigger10 = animelem = 22
trigger11= animelem = 23
trigger12 = animelem = 25
trigger13= animelem = 27
trigger14= animelem = 28
trigger15 = animelem = 30
trigger16= animelem = 31
trigger17= animelem = 33
trigger18= animelem = 35
trigger19= animelem = 37
trigger20= animelem = 39
trigger21= animelem = 40
trigger22= animelem = 42
trigger23= animelem = 44
trigger24= animelem = 46
trigger25= animelem = 48
trigger26= animelem = 49
trigger27= animelem = 51
trigger28= animelem = 52
attr = A, HA
animtype  = up
damage    = 11, 1
priority  = 5
getpower = 0
guardflag = MAFD
pausetime = 3,3
sparkxy = -5,-40+ceil((p2bodydist y))
sparkno = S7005+(random%3)
guard.sparkno = S7009
hitsound   = S1,1
guardsound = S3,1
ground.type = Low
ground.slidetime = 30
ground.hittime  = 30
ground.velocity = 2,-6
guard.velocity = -1
air.velocity = 1,-7
fall=1
fall.recover=0
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
id=200



[State 0, Helper]
type = Helper
trigger1 =time=6
helpertype = normal ;player
name ="MISUMBREROFFFFFFFFFFFFFFFFUUUUU"
ID = 3009
stateno = 3009
pos = 0,0
postype = p1    ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal =1

[State 0, PosSet]
type = PosSet
trigger1 = 1
x = pos x
y = 0
ignorehitpause=1

[State 1060, 4]
type = HitDef
trigger1 = animelem = 53
attr = A, HA
animtype  = up
damage    = 22, 1
priority  = 5
getpower = 0
guardflag = MA
pausetime = 3,3
sparkxy = -5,-40+ceil((p2bodydist y))
sparkno = S7005+(random%3)
guard.sparkno = S7009
hitsound   = S1,1
guardsound = S3,1
ground.type = Low
ground.slidetime = 30
ground.hittime  = 30
ground.velocity = -2,-3
guard.velocity = -1
air.velocity =-3,-10
fall=1
fall.recover=0
yaccel=.63
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
id=200

[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=[201,203])
value =201
ID =200
ignorehitpause =1 

[State 0, StateTypeSet]
type = StateTypeSet
trigger1 =animelemtime(55)>0
movetype = I        ;I,A,H



[State 1050, 5]
type = ChangeState
trigger1 =animtime=0
value = 0
ctrl=1




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

;---------------------------------------------------------------------------
; States that are always executed (use statedef -2)
;---------------------------------------------------------------------------
[Statedef -2]
[State 0, VarSet]
type = VarSet
trigger1 =p2movetype!=H 
v =35   ;fv = 10
value = 0
[State 0, AssertSpecial]
type = AssertSpecial
trigger1 = numhelper(6000)
flag = nokoslow
[State 0, TargetState]
type = TargetState
trigger1 =movehit &&p2statetype=A && p2stateno!=211 
value =211
ID = 641
ignorehitpause=1
[State 0, TargetState]
type = TargetState
trigger1 =movehit &&p2statetype=A && p2stateno!=10613  
value =10613
ID = 640
ignorehitpause=0
[State 0, TargetState]
type = TargetState
trigger1 =movehit&&enemy,stateno!=441 &&animelemtime(10)<0
value = 441
ID = 440
ignorehitpause =0
[State 0, VarSet]
type = VarSet
trigger1 = statetype=A
v = 4    ;fv = 10
value = 1
[State 0, RemoveExplod]
type = RemoveExplod
trigger1 =statetype!=A 
id = 56
[State 0, RemoveExplod]
type = RemoveExplod
trigger1 =p2movetype!=H
id = 635
[State 0, RemoveExplod]
type = RemoveExplod
trigger1 =p2movetype!=H
id = 630
[State 0, RemoveExplod]
type = RemoveExplod
trigger1 =p2movetype!=H
id = 605
;ignorehitpause = 
;persistent = 

[State 0, VarSet]
type = VarSet
trigger1 = statetype!=A
v = 4    ;fv = 10
value = 0
[State 0, VarSet]
type = VarSet
trigger1 =  p2stateno=411
v = 23   ;fv = 10
value = 1
[State 0, VarSet]
type = VarSet
trigger1 = p2movetype!=H
v =23   ;fv = 10
value = 0
[State 0, PlaySnd]
type = PlaySnd
triggerall = enemynear,movetype=H
triggerall = enemynear,anim!=5160
trigger1 =enemynear,pos y>=0 && enemynear,anim=1202 && enemynear,time>3
trigger2 = enemynear,stateno=1030 && enemynear,time=1
value = S15,0
[State 0, VarSet]
type = VarSet
trigger1 =stateno=1000&& statetype=A
v = 22 ;fv = 10
value = 1
[State 0, VarSet]
type = VarSet
trigger1 = statetype!=A
v = 22 ;fv = 10
value = 0

[State 0, VarSet]
type = VarSet
trigger1 =stateno!=3000
v = 19    ;fv = 10
value = 0


[State 0, StateTypeSet]
type = StateTypeSet
triggerall = var(20)=1
trigger1 = (stateno!=[1000,1059])      ;S,A,C,L
movetype = I

[State 0, VarSet]
type = VarSet
trigger1 =movehit && (stateno=1000)&&animelemtime(19)>0
trigger2 =movehit && (stateno=1050)&&animelemtime(4)>0
v = 20   ;fv = 10
value = 1

[State 0, VarSet]
type = VarSet
trigger1 =p2statetype!=A
v = 20   ;fv = 10
value = 0

      ;I,A,H
      ;I,A,H

[State 0, VarSet]
type = VarSet
trigger1 = stateno != [1050,3801]
v = 8   ;fv = 10
value = 0



[State 0, VarSet]
type = VarSet
trigger1 = numhelper(1002) >= 1
v = 2    ;fv = 10
value = 0
;ignorehitpause =
;persistent =
[State 0, RemoveExplod]
type = RemoveExplod
trigger1 = stateno !=360
id =  7011
;ignorehitpause =
;persistent =

;[State 0, RemoveExplod]
;type = RemoveExplod
;trigger1 = stateno !=100
;id =  6003
;ignorehitpause =
;persistent =



[State -2, Helper]
type = Helper
trigger1 = winko && (stateno = 3100) &&movehit
triggerall = NumHelper(6000) < 1
helpertype = normal ;player
name = "winko"
ID = 6000
stateno = 6000
pos = 0,0
postype = left   ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 0
supermove =999
pausemove = 999
ignorehitpause = 1
persistent=0


[State -2, Helper]
type = Helper
trigger1 = winko && stateno = 3000
triggerall = NumHelper(6000) < 1
helpertype = normal ;player
name = "winko"
ID = 6000
stateno = 6000
pos = 0,0
postype = left   ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 0
supermove =999
pausemove = 999
ignorehitpause = 1
persistent=0

[State 0, VarSet]
type = VarSet
trigger1 = authorname= "Kamekaze" && p1name = "MvC2 Amingo By Kamekaze"
v = 50    ;fv = 10
value = 1

[State 0, AttackMulSet]
type = AttackMulSet
trigger1 = 1
time = 1
value = fvar(2)
ignorehitpause = 1
persistent = 1

[State 0, VarSet]
type = VarSet
triggerall = enemy,movetype = H
triggerall = fvar(2)>0
trigger1 =stateno !=[1000,3100]
fv =2 ;fv = 10
value = 1-((enemy,gethitvar(hitcount)) *.043 )

[State 0, VarSet]
type = VarSet
triggerall = enemy,movetype = H
triggerall = fvar(2)<=0
trigger1 =stateno !=[1000,3100]
fv =2 ;fv = 10
value = .001

[State 0, VarSet]
type = VarSet
triggerall = enemy,movetype != H || (p2stateno=[120,155])
trigger1 =1
fv =2 ;fv = 10
value = 1
[State 0, VarSet]
type = VarSet
triggerall = movehit && (!var(23))
triggerall=p2movetype =H  && ((p2stateno != [120,199])||(enemy,prevstateno!=[120,199]))
trigger1 = 1
v = 12  ;fv = 10
value = enemy,gethitvar(hitcount)
ignorehitpause=1

[State 0, VarSet]
type = VarSet
triggerall = (enemy,gethitvar(hitcount) > 2)
triggerall = stateno !=1050
triggerall = movehit
trigger1 = statetype = A && (var(23))
v = 12  ;fv = 10
value = 999

[State 0, VarSet]
type = VarSet
trigger1 = p2movetype != H || p2stateno=10613  ||((p2stateno = [120,199])||(enemy,prevstateno=[120,199]))
trigger2 = lose||winko
v = 12    ;fv = 10
value = 0
ignorehitpause=1
persistent=1


[State 0, VarSet]
type = VarSet
trigger1 =life <= 300
v = 14   ;fv = 10
value = 1

[State 0, VarSet]
type = VarSet
trigger1 =life > 300
v = 14   ;fv = 10
value = 0


 [State 0, VarSet]
type = VarSet
trigger7 = p2statetype=L  || p2stateno=5120
trigger6 = (p2stateno=[5090,5119]) &&(p2stateno=[5121,5899])
trigger1 = (p2bodydist x = [0,40])||(p2bodydist x >110)
trigger2= enemynear,hitdefattr = SA,NA,SA,HA
trigger3 = statetype= A
trigger4 = (p2movetype=A && p2bodydist x <70)
trigger8= p2bodydist x <60 && p2statetype!=L
v=30
value = 0

[State 0, VarSet]
type = VarSet
triggerall = statetype != A
triggerall = (p2bodydist x <110)
trigger1 = ctrl && p2movetype=A && p2statetype=C
trigger2 =p2statetype = C  && ctrl
trigger3 =(p2bodydist x =[51,110]) && ctrl
trigger4= enemy,hitdefattr=SC,AT
trigger5= p2stateno =5120 && p2bodydist x <50 && ctrl
v = 30   ;fv = 10
value = 1

[State 0, VarSet]
type = VarSet
trigger1 = roundstate = 0
v = 10   ;fv = 10
value = 1

[State 0, VarSet]
type = VarSet
trigger1 = movecontact && (!moveguarded)
v = 10   ;fv = 10
value = 0

[State 0, VarSet]
type = VarSet
trigger1 = roundstate = 0
v = 11  ;fv = 10
value = 1

[State 0, VarSet]
type = VarSet
trigger1 = enemy,movecontact && (!enemy,moveguarded)
v = 11  ;fv = 10
value = 0

[State 0, VarSet]
type = VarSet
trigger1 = (numhelper(3001) < 1 && anim =1002) || stateno !=3000
v = 5  ;fv = 10
value = 0


[State 0, Helper]
type = Helper
triggerall = roundno = 1
trigger1 = numhelper(3004) < 1 && var(10) = 0 && var(11) = 1
helpertype = normal ;player
name ="FA"
ID = 3004
stateno = 3010
pos = 0,0
postype = p1    ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 0

[State 0, Helper]
type = Helper
trigger1 = numhelper(3006) < 1 && var(14) = 1
helpertype = normal ;player
name ="danger"
ID = 3006
stateno = 3012
pos = 0,0
postype = p1    ;p2,front,back,left,right
facing =1
keyctrl = 0
ownpal = 0

[State 0, VarSet]
type = VarSet
trigger1 = stateno=440 && movehit
v = 1    ;fv = 10
value = 1

[State 0, VarSet]
type = VarSet
trigger1 = p2movetype!=H
trigger2 = stateno=430 && movehit
v = 1    ;fv = 10
value =0


[State 0, PlaySnd]
type = PlaySnd
triggerall = enemynear,anim!=5160
triggerall = enemynear,movetype=H
trigger1 =enemynear,pos y>=0 && enemynear,anim=1202 && enemynear,time>3
trigger2 = enemynear,stateno=1030 && enemynear,time=1
trigger3 =enemynear,pos y>=0 && enemynear,anim=841 && enemynear,time>3
trigger4 =enemynear,pos y>=0 && enemynear,anim=1120 && enemynear,time>3
trigger5 =enemynear,pos y>=0 && enemynear,anim=1121 && enemynear,time>3
;trigger6 =enemynear,pos y>=0 && enemynear,anim=821 && enemynear,time>3 && p2stateno=821
trigger6= enemynear,anim=612 && enemynear,animelemtime(1)=1
value = S15,0
[State 0, Explod]
type = Explod
triggerall = enemynear,movetype=H
triggerall = enemynear,anim!=5160
trigger1 =enemynear,pos y>=0 && enemynear,anim=1202 && enemynear,time>3
trigger2 = enemynear,stateno=1030 && enemynear,time=1
trigger3=  enemynear,anim=612 && enemynear,animelemtime(1)=1
;trigger =enemynear,pos y>=0 && enemynear,anim=821 && enemynear,time>3 && p2stateno=821
anim =6006
ID =8002
pos = 0,0
postype = p2  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = 2
vel = 0,0
accel = 0,0
random = 0,0
scale = 1,1
sprpriority = 2
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 1
ignorehitpause =1
[State 0, Helper]
type = Helper
triggerall=(p2stateno!=[120,155])
trigger1 = numhelper(3005) < 1 && (enemy,gethitvar(hitcount) >2)
helpertype = normal ;player
name ="combo"
ID = 3005
stateno = 3011
pos = 0,0
postype = p1    ;p2,front,back,left,right
facing =1
keyctrl = 0
ownpal = 0
[State 0, DisplayToClipboard]
type = DisplayToClipboard
trigger1 =  1
text = " fvar1= %f  pos x = %f explod= %d"
params  =p2bodydist x, p2bodydist y,var(19)
[State -3, Wall Hit Sound]
type = PlaySnd
triggerall = enemynear,movetype=H
triggerall = !NumExplod(9050)
trigger1 = ((enemy, stateno = 1027) && (enemy,time = 1));&& Enemy, frontEdgeDist < 25
value = S1,3
volume = 255
ignorehitpause = 1
persistent = 0

[State -3, Wall Hit Spark]
type = Explod
triggerall = enemynear,movetype=H
triggerall = !NumExplod(9050)
trigger1 = ((enemy, stateno = 1027) && (enemy,time = 1));&& Enemy, frontEdgeDist < 25
anim = 6000
ID = 9050
pos = -20, -60
postype = p2
bindtime = 1
facing = -1
removetime = -2
scale = 0.5, 0.5
sprpriority = 4
ownpal = 1
ignorehitpause = 1
persistent = 0

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

[Statedef -3]

[State 0, VarSet]
type = VarSet
trigger1 = p2movetype !=H
v = 15  ;fv = 10
value = 0

[State -3, Landing Dust]
type = Explod
triggerall = Time = 1
trigger1 = stateno = 52 ;Jump land
trigger2 = stateno = 106 ;Run-back land
anim = 48
ID = 48
pos = 0,0
postype = p1  ;p2,front,back,left,right
bindtime = 1
removetime = -2
scale = 1,1
ownpal = 1
sprpriority = 3
removeongethit = 0

[State -2: Helper]
type = Helper
triggerall = numhelper(10000) < 1
trigger1 = roundstate!=2
helpertype = Normal
name = "choice"
id = 10000
pos = 0,0
postype = p1
facing = 0
stateno = 10000
keyctrl = 0
ownpal = 1
supermovetime = 9999
pausemovetime = 99999
ignorehitpause = 1


[State -3, Wall Hit Sound]
type = PlaySnd
triggerall = enemynear,movetype=H
triggerall = !NumExplod(9049)
triggerall =  Enemy, BackEdgeDist < 5
trigger1 = ((enemy, stateno = 5030) && (time = 1))
trigger2 = ((enemy, stateno = 5050) && (time = 1))
trigger3 = (enemy, stateno = 5020)
trigger4=enemy,anim=1106
trigger5=enemy,anim=5061
value = S1,3
volume = 255
ignorehitpause = 1
persistent = 0

[State -3, Wall Hit Spark]
type = Explod
triggerall = enemynear,movetype=H
triggerall = !NumExplod(9049)
triggerall =  Enemy, BackEdgeDist < 5
trigger1 = ((enemy, stateno = 5030) && (time = 1))
trigger2 = ((enemy, stateno = 5050) && (time = 1))
trigger3 = (enemy, stateno = 5020)
trigger4=enemy,anim=1106
trigger5=enemy,anim=5061
anim = 6000
ID = 9049
pos = -20, -60
postype = p2
bindtime = 1
facing = -1
removetime = -2
scale = 0.5, 0.5
sprpriority = 4
ownpal = 1
ignorehitpause = 1
persistent = 0





[State -2, RemoveExplod]    ;remove hyper bg
type = RemoveExplod
trigger1 = (stateno != 3000 && time >= 0)
trigger1 = stateno !=3100 && time >= 0
trigger2 = Winko
id = 6001

;[State 0, StopSnd]
;type = StopSnd
;trigger1 = movetype = H && time = 0
;channel = -1



[State -2, RemoveExplod]    ;remove hyper bg
type = RemoveExplod
trigger1 = stateno != 100 && time >= 0
trigger1 = stateno != 101 && time >= 0
id = 7000

[State -2, RemoveExplod]    ;remove hyper bg
type = RemoveExplod
trigger1 = stateno != 105 && time >= 0
id = 7001



[State -3, VarRandom]
type = VarRandom
trigger1 = stateno = 5000
trigger2 = stateno = 5010
trigger3 = stateno = 5020
trigger4 = stateno = 5030
trigger5 = stateno = 5050
trigger6 = stateno = 5070
trigger7 = stateno = 5080
v = 0
range = 0,60
;--------------------
[State -3, Hit0]
type = PlaySnd
triggerall = Alive
triggerall = Time = 0
triggerall = Var(0) = [0,20]
trigger1 = Stateno = 5000
trigger2 = Stateno = 5010
value = 5000, 0
channel=0
[State -3, Hit1]
type = PlaySnd
triggerall = Alive
triggerall = Time = 0
triggerall = Var(0) = [21,30]
trigger1 = Stateno = 5000
trigger2 = Stateno = 5010
value = 5000, 1
channel=0
;----------------------
[State -3, Hit2]
type = PlaySnd
triggerall = Alive
triggerall = Time = 0
triggerall = Var(0) = [31,40]
trigger1 = stateno = 5020
trigger2 = stateno = 5030
trigger3 = stateno = 5050
value = 5000, 1
channel=0
[State -3, Hit2]
type = PlaySnd
triggerall = Alive
triggerall = Time = 0
triggerall = Var(0) = [41,50]
trigger1 = stateno = 5070
trigger2 = stateno = 5080
value = 5000, 0
channel=0
[State -3, Hit2]
type = PlaySnd
triggerall = Alive
triggerall = Time = 0
triggerall = Var(0) = [51,60]
trigger1 = stateno = 5070
trigger2 = stateno = 5080
value = 5000, 1
channel=0
;----------------------

[State -2, RemoveExplod]    ;remove hyper bg
type = RemoveExplod
trigger1 = !numhelper(4001)
id = 6005


[State -3, Landing Sound]
type = PlaySnd
triggerall = Time = 1
trigger1 = stateno = 52 ;Jump land
trigger2 = stateno = 106 ;Run-back land
value = 40, 0

