; MvC2 Juggernaut By Kamekaze
;-----------------------------------------------------------------------------

;---------------------- Integer variable list ----------------------

; var(0):= -3
; var(1):= -1
; var(2):= -2, 1001, 1006, 1008
; var(3):= 1000, 1005, 1006, 1008
; var(4):= 1050, -2
; var(5):= -2, 3002
; var(6):= -2
; var(8):= -2
; var(9):= 9000, -3
;var(10):= -2, 56, 1006
;var(11):= -2
;var(12):= -2, 57, 3001
;var(13):= 3011
;var(14):= -2, 3011
;var(15):= -3, 1001, 1006, 1008, 3011
;var(16):= 3000, -2
;var(17):= 4005
;var(18):= -2, 1006
;var(19):= 3001
;var(20):= 4004, -2
;var(21):= 3000, -3
;var(22):= 1005, -3
;var(23):= -3
;var(24):= -2
;var(25):= 1000, 1005, 1001
;var(29):= 610, 640, 1101, 1107
;var(30):= -2
;var(31):= 610, 640, 1101, 1107
;var(32):= -2, 3001
;var(33):= -3
;var(35):= 810, 840, 861, -2
;var(36):= -2
;var(37):= -2
;var(38):= -2
;var(46):= -3
;var(50):= -2
;var(55):= -2
;var(57):= 10000

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

; fvar(1):= 1000, 1005, 1001
; fvar(2):= -2
; fvar(5):= 9000
;fvar(10):= 9000
;fvar(11):= 9000










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

[Size]
xscale = .83
yscale = 1
ground.back = 10
ground.front = 30
air.back =10
air.front = 22
height = 76
attack.dist = 160
proj.attack.dist = 90
proj.doscale = 0
head.pos = 18, -107
mid.pos = -5, -84
shadowoffset = 0
draw.offset = 0,2

[Velocity]
walk.fwd  = 2.2
walk.back = -1.9
run.fwd  = 18, 0
run.back = -18,0
jump.neu = 0,-8.8
jump.back = -2.99
jump.fwd = 3.2
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 = "Better luck next time, loser!"
victory2 = "Let's see what happens when you make me real mad."
victory3 = "Next time, bring your little friends!"
victory4 = "Of course I've won. Nothing can stop the Juggernaut!"
victory5 = "Stomping you was a waste of my time!"
victory6 = "That's what you get for standing in my way!"
victory7 = "You X-clowns just don't get it, do you?"
victory8 = "A few hits and it's over. They just don't make 'em like they used to."
victory9 = "Don't quit now, I was just getting warmed up!"
victory10= "I told you clowns before. I'm unstoppable!"
victory11= "You're lucky I'm in a good mood. It'd be a shame if you wound up dead!"
victory12 = "That was embarrassing. Maybe you should try fighting old, sick people!"
victory13 = "What's the matter... your bones not knitting fast enough?"
victory14= "Not bad, maybe next time I'll stop pulling my punches."
victory15 = "You remind me of my brother... I HATE MY BROTHER!!!"
victory16= "Get this through your stupid head! There is only one Juggernaut!!"
victory17= "Fight your absolute best, or don't fight at all!"
victory18 = "Don't get in my way again!"
victory19 = "I have the power of the Crimson Gem of Cyttorak."
victory20= "I will crush anyone who takes what is mine!"
victory21= "I'm the unstoppable force. Didn't you know?"
victory22= "Never get in my way!"
victory23 = "Outta my way! Ya runt!"
victory24 = "You're outclassed!"

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

[State 0, ChangeState]
type = ChangeState
trigger1 = time =15
value = 1502
ctrl = 0

;---------------------------------------------------------------------------
; 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
;triggerall = var(17) = 0
;trigger1 =palno = [7,12]
;value = 182


;---------------------------------------------------------------------------
[Statedef 181]
type = S
ctrl = 0
anim = 181
velset = 0,0
[State 0, Explod]
type = Explod
trigger1 = time= 54
anim =182
ID =182
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 = .833333333333333333333333333333,1
sprpriority = 2
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 1
ignorehitpause =1


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

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


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

[State 186, 2]
type = AssertSpecial
trigger1 = time < 180
flag = RoundNotOver

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


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

;---------------------------------------------------------------------------
[Statedef 183]
type = S
ctrl = 0
anim = 182
velset = 0,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
trigger1 = random <499
value = 192


[State 180, 1]
type = ChangeState
trigger1 =  random >=499
value = 191

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



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

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

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



[State 0, Helper]
type = Helper
trigger1 = animelem = 8
helpertype = normal ;player
name = "hurrican"
ID = 4001
stateno = 4001
pos = 117,-63
postype = p1    ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 1

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

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


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

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



[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 = 40
value = 0

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

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


[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
movetype = I
ctrl = 0
anim = 181
velset = 0,0

[State 0, Explod]
type = Explod
trigger1 = time= 40
anim =182
ID =182
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 = .833333333333333333333333333333,1
sprpriority = 2
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 1
ignorehitpause =1


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

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


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

[State 0, PowerAdd]
type = PowerAdd
trigger1 = time = 50
value = 143
[State 9000, ChangeAnim]
type = ChangeAnim
triggerall = prevstateno = 9000
trigger1 = Time =0
value = Anim
elem  = var(33)
[State 195, 2]
type = ChangeState
trigger1 =time = 55
value = 0
ctrl = 1

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

ctrl = 0
poweradd = 14
sprpriority = 2
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value =200



[State 200, 1]
type = HitDef
trigger1 = AnimElem = 2
attr = S, NA
damage = ceil(42)
animtype = Light
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 8, 8
sparkno = S8100+(random%4)
guard.sparkno = S7009
sparkxy = -10, -80
hitsound = S1, 0
guardsound = S3,1
ground.type = High
ground.slidetime = 7
ground.hittime  = 8
ground.velocity = -3.5
guard.ctrltime=13
airguard.velocity = -1.9,-.8
air.type = High
air.velocity = -1.4,-3
air.hittime = 12
forcenofall=1
id=200
nochainid=200

[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=[202,204])
value =202
ID =200
ignorehitpause =1 
[State 200, 1]
type = PlaySnd
trigger1 = animelem=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    = S
movetype= A
physics = S
juggle  =0; 8

ctrl = 0
poweradd = 14
sprpriority = 2
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value =205


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

[State 210, 2]
type = HitDef
trigger1 = AnimElem = 3
attr = S, NA
animtype  = Medium
damage = ceil(49);,8
guardflag = MA
pausetime = 10,10
sparkno = S7000+(random%4)
guard.sparkno = S7009
sparkxy = -5,-60
hitsound   = S1,1
guardsound = S3,1
ground.type = High
ground.slidetime = 7
ground.hittime  = 13
guard.ctrltime=8
ground.velocity = -4.5
air.velocity = -2.5,-4
air.hittime = 13
forcenofall=1
id=200
nochainid=200


[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=[202,204])
value =202
ID =200
ignorehitpause =1 
[State 200, 7]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
;---------------------------------------------------------------------------
; Stand Light Punch
; CNS difficulty: easy
[Statedef 202]
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 = 203

;---------------------------------------------------------------------------
; HITA_UP (initial going up)
[Statedef 203]
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 = 204 ;HITA_UP (transition)

;---------------------------------------------------------------------------
; HITA_UP_T (transition)
[Statedef 204]
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 5030, 4]
type = selfState
triggerall = HitFall
trigger1 = Vel Y > 0    ;Hit ground
trigger1 = Pos Y >= 10  ;.
value = 5110 ;HITA_FALL

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

sprpriority = 2

[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value =210



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


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


[State 210, 2]
type = HitDef
trigger1 = AnimElem = 2 && !movecontact
attr = S, NA
animtype  = Medium
damage = ceil(56);,12
guardflag = MA
pausetime = 8,8
sparkno = S7005+(random%4)
guard.sparkno = S7009
sparkxy = -10,-75
hitsound   = S1,4
guardsound = S3,1
ground.type = High
ground.slidetime = 10
ground.hittime  =14
guard.ctrltime=14
ground.velocity = -6.7
air.velocity = -2.5,-4
id=205
nochainid=205
air.hittime =28
forcenofall=1


[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=[202,204])
value =202
ID =205
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
sprpriority = 2
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value =215



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


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

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


[State 210, 2]
type = HitDef
trigger1 = AnimElem = 2 && !movecontact
trigger2 = AnimElem = 3 && !movecontact
attr = S, NA
animtype  = Medium
damage = ceil(97);,12
guardflag = MA
pausetime = 10,10
sparkno = S7005+(random%4)
guard.sparkno = S7009
sparkxy = -10,-75
hitsound   = S1,2
guardsound = S3,1
ground.type = High
ground.slidetime =15
ground.hittime  = 27
guard.ctrltime = 20
ground.velocity = -8.7
air.velocity = -2.5,-4
id=210
nochainid=210
air.hittime = 41
forcenofall=1


[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=[202,204])
value =202
ID =210
ignorehitpause =1 
[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
facep2=1
[State 0, VelAdd]
type = VelAdd
trigger1 =1
y = .69
[State 0, ChangeAnim2]
type = ChangeAnim2
trigger1 =time=0
value = 1205
[State 0, NotHitBy]
type = NotHitBy
trigger1 =anim!=1205
value = SCA
;value2 = S,NA
time = 1

;ignorehitpause =
;persistent =

[State 0, ChangeAnim2]
type = ChangeAnim2
triggerall = anim!=5160
trigger1 =pos y>=0 && anim=1205 && 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 strong punch
[Statedef 215]
type    = S
movetype= A
physics = S
juggle  =0; 8
poweradd= 56
ctrl = 0

sprpriority = 2
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value =220



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

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

[State 0, Explod]
type = Explod
trigger1 = animelem = 4
trigger2 = animelem = 6
trigger3 = animelem = 8
trigger4 = animelem = 10
trigger5 = animelem = 12
trigger6 = animelem = 14
trigger7 = animelem = 16
trigger8 = animelem = 18
trigger9 = animelem = 20
trigger10 = animelem = 22
trigger11 = animelem = 24
anim =221
ID =221
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = -1
removetime = -1
vel = 0,0
accel = 0,0
random = 0,0
scale = .833333333333333333333333333333,1
sprpriority = -1
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1
ignorehitpause =0

[State 0, RemoveExplod]
type = RemoveExplod
trigger1 = animelem = 5
trigger2 = animelem = 7
trigger3 = animelem = 9
trigger4 = animelem = 11
trigger5 = animelem = 13
trigger6 = animelem = 15
trigger7 = animelem = 17
trigger8 = animelem = 19
trigger9 = animelem = 21
trigger10 = animelem = 23
trigger11 = animelem = 25
id =221
[State 0, Explod]
type = Explod
trigger1 = animelem = 5
trigger2 = animelem = 7
trigger3 = animelem = 9
trigger4 = animelem = 11
trigger5 = animelem = 13
trigger6 = animelem = 15
trigger7 = animelem = 17
trigger8 = animelem = 19
trigger9 = animelem = 21
trigger10 = animelem = 23
trigger11 = animelem = 25
anim =222
ID =222
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = -1
removetime = -1
vel = 0,0
accel = 0,0
random = 0,0
scale = .833333333333333333333333333333,1
sprpriority = -1
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1
ignorehitpause =0

[State 0, RemoveExplod]
type = RemoveExplod
trigger1 = animelem = 6
trigger2 = animelem = 8
trigger3 = animelem = 10
trigger4 = animelem = 12
trigger5 = animelem = 14
trigger6 = animelem = 16
trigger7 = animelem = 18
trigger8 = animelem = 20
trigger9 = animelem = 22
trigger10 = animelem = 24
trigger11 = animelem = 26
id =222
[State 0, Width]
type = Width
trigger1 = 1
player = 40,0


[State 210, 2]
type = HitDef
trigger1 = AnimElem = 4
attr = S, NA
animtype  = up
damage = ceil(119);,12
guardflag = MA
pausetime = 10,10
sparkno = S7005+(random%4)
guard.sparkno = S7009
sparkxy = -30,-65
hitsound   = S1,2
guardsound = S3,1
ground.type = High
ground.slidetime = 47
ground.hittime  =47
guard.ctrltime = 20
ground.velocity = -3,-18
air.velocity = -2.5,-18
air.hittime =47
forcenofall=1
yaccel=.67
id=215
nochainid=215


[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=[202,204])
value =202
ID =215
ignorehitpause =1 
[State 210, 5]
type = ChangeState
trigger1 = animtime = 0
value = 0
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, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value =230



[State 230, 1]
type = PlaySnd
trigger1 = animelem=1
value = 0, 0

[State 230, 2]
type = HitDef
triggerall = !numtarget(230)
trigger1 = animelem = 2
attr = S, NA
animtype  = Medium
damage = ceil(42);,6
guardflag = MA
pausetime = 10,10
sparkno = S8100+(random%4)
guard.sparkno = S7009
sparkxy = -10,-48
hitsound   = S1,0
guardsound = S3,1
ground.type = Low
ground.slidetime = 16
ground.hittime  = 8
guard.ctrltime = 15
ground.velocity = -3
air.velocity = -2.5,-3.5
id=230
nochainid=230
air.hittime = 12
forcenofall=1


[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=[202,204])
value =202
ID =230
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 = animelem=1
value = 0, 1
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value =235



[State 1052, 2] ;Play a sound for landing
type = PlaySnd
trigger1 = animelem = 1
value = 2, 3

[State 1052, 2] ;Play a sound for landing
type = PlaySnd
trigger1 = animelem = 1
value = 2, 3



[State 240, 2]
type = HitDef
trigger1 = animelem = 4
attr = S, NA
animtype  = Medium
damage = ceil(70);,7
guardflag = MA
pausetime = 14,14
sparkno = S7000+(random%4)
guard.sparkno = S7009
sparkxy = -12,-6
hitsound   = S1,1
guardsound = S3,1
ground.type = high
ground.slidetime =8
ground.hittime  = 14
guard.ctrltime =14
ground.velocity = -5.8
air.velocity = -2.2,-3.2
id=235
nochainid=235
air.hittime = 20
forcenofall=1


[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=[202,204])
value =202
ID =235
ignorehitpause =1 
[State 1052, 2] ;Play a sound for landing
type = PlaySnd
trigger1 = animelem = 4
value = 2, 5
[State 1052, 2] ;Play a sound for landing
type = PlaySnd
trigger1 = animelem = 4
value = 2, 5

[State 0, EnvShake]
type = EnvShake
trigger1 = animelemtime(4)=0
time = 10
freq = 85
ampl = 4
phase = 90
[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, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value =240



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

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


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


[State 230, 2]
type = HitDef
trigger1 = animelem = 3
attr = S, NA
animtype  = heavy
damage = ceil(118);,3
guardflag = MA
pausetime = 8,8
sparkno = S7005+(random%4)
guard.sparkno = S7009
sparkxy = -15,-83
hitsound   = S1,2
guardsound = S3,1
ground.type = high
ground.slidetime = 15
ground.hittime  = 27
guard.ctrltime=23
ground.velocity = -9
air.velocity = -2.5,-3.5
id=240
nochainid=240
air.hittime = 27
forcenofall=1


[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=[202,204])
value =202
ID =240
ignorehitpause =1 
[State 240, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
;---------------------------------------------------------------------------
; Standing strong punch
[Statedef 245]
type    = A
movetype= A
physics = N
juggle  =0; 8
poweradd= 56
ctrl = 0

anim = 645
sprpriority = 2
[State 9000, ChangeAnim]
type = ChangeAnim
triggerall = prevstateno = 9000
trigger1 = Time =0
value = Anim
elem  = var(33)
ignorehitpause=1
persistent=1

[State 210, 1]
type = PlaySnd
triggerall = prevstateno != 9000
trigger1 = animelem = 5
value = 0, 2

[State 0, VelSet]
type = VelSet
trigger1 = animelem = 2
x = 2.25
y = -6

[State 0, VelAdd]
type = VelAdd
trigger1 = animelemtime(2) > 0
y = .5


[State 210, 2]
type = HitDef
trigger1 = AnimElem = 6
attr = S, NA
animtype  = Medium
damage = ceil(90);,12
guardflag = MA
pausetime = 10,10
sparkno = S7005+(random%4)
guard.sparkno = S7009
sparkxy = -10,-60
hitsound   = S1,2
guardsound = S3,1
ground.type = High
ground.slidetime = 15
ground.hittime  = 13
ground.velocity = -6.7
air.velocity = -2.5,-4
air.hittime = 13
forcenofall=1
id=200

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

[State 210, 5]
type = ChangeState
trigger1 = pos y > 0 ;&& vel y < -1
value =52
ctrl = 1
;---------------------------------------------------------------------------
;Crouching light punch
[Statedef 400]
type    = C
movetype= A
physics = C
juggle  =0; 5
poweradd= 12
ctrl = 0
sprpriority = 2

[State 400, 1]
type = PlaySnd
triggerall = prevstateno != 9000
trigger1 = animelem=1
value = 0, 0
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value =400


[State 400, 2]
type = HitDef
trigger1 = animelem = 2
attr = S, NA
damage = ceil(47);,3
priority  = 3
animtype  = Light
hitflag = MAF
guardflag = MHA
pausetime = 8,8
sparkno = S8100+(random%4)
guard.sparkno = S7009
sparkxy = -10,-58
hitsound   = S1,0
guardsound = S3,1
ground.type = Low
ground.slidetime = 8
ground.hittime  = 8
guard.ctrltime=11
ground.velocity = -3
air.velocity = -1.5,-3
id=400
nochainid=400
air.hittime = 14
forcenofall=1



[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=[202,204])
value =202
ID =400
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; 5
poweradd= 28
ctrl = 0
sprpriority = 2

[State 400, 1]
type = PlaySnd
triggerall = prevstateno != 9000
trigger1 =animelem=3
value = 0, 1
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value =405



[State 400, 2]
type = HitDef
trigger1 = animelem = 4
attr = S, NA
damage = ceil(21);,9
priority  = 3
animtype  = medium
hitflag = MAF
guardflag = MHA
pausetime = 10,10
sparkno = S7000+(random%4)
guard.sparkno = S7009
sparkxy = -10,-57
hitsound   = S1,4
guardsound = S3,1
ground.type = Low
ground.slidetime = 8
ground.hittime  = 14
ground.velocity = -5
air.velocity = -1.5,-3
id=405
nochainid=405
[State 400, 2]
type = HitDef
trigger1 = animelem = 5
attr =S, NA
damage = ceil(49);,9
priority  = 3
animtype  = medium
hitflag = MAF
guardflag = MHA
pausetime = 10,10
sparkno = S7000+(random%4)
guard.sparkno = S7009
sparkxy = -10,-57
hitsound   = S1,4
guardsound = S3,1
ground.type = Low
ground.slidetime =10
ground.hittime  = 14
guard.ctrltime = 15
ground.velocity = -8
air.velocity = -1.5,-3
id=406
nochainid=406



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

;---------------------------------------------------------------------------
;Crouching strong punch
[Statedef 410]
type    = C
movetype= A
physics = C
juggle  =0; ifelse(p2statetype= A,9,6)
poweradd= 55
ctrl = 0
sprpriority = 2

[State 410, 1]
type = PlaySnd
triggerall = prevstateno != 9000
trigger1 =animelem=2
value = 0, 2
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value =410

[State 210, 1]
type = PlaySnd
triggerall = prevstateno != 9000
trigger1 = Time = 2
value = 2, 0

[State 210, 1]
type = PlaySnd
triggerall = prevstateno != 9000
trigger1 = Time = 2
value = 2, 0



[State 0, Helper]
type = Helper
trigger1 = movehit
helpertype = normal ;player
name = "launch"
ID = 7011
stateno =7011
pos = 120,-100
postype = p1    ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 1
supermovetime = 40
pausemovetime = 40
ignorehitpause=1
persistent=0
[State 410, 2]
type = HitDef
triggerall = prevstateno!=9000 || (p2movetype!=H && prevstateno=9000)
trigger1 = AnimElem = 3 && !movecontact
attr = S, NA
damage = ceil(118);,15
animtype  = up
hitflag = MAF
guardflag = MA
pausetime = 12,12
priority = 7
sparkno = S7005+(random%4)
guard.sparkno = S7009
sparkxy = -10,-77
hitsound   = S1,2
guardsound = S3,1
ground.type = Low
guard.ctrltime = 10
ground.velocity = -1,-15
air.velocity = -2,-13
ground.slidetime = 12
ground.hittime  = 16
ground.velocity = -1,-19
air.velocity = -2,-18.45
yaccel=.55
forcenofall=1
id=410


[State 410, 3]
type = HitDef
triggerall = prevstateno!=9000 || (p2movetype!=H && prevstateno=9000)
trigger1 = AnimElem = 4 && !movecontact
attr = S, NA
damage = ceil(118);,15
animtype  = up
hitflag = MAFD
guardflag = MA
pausetime = 12,12
sparkxy = -10,-102
sparkno = S7005+(random%4)
guard.sparkno = S7009
hitsound   = S1,2
guardsound = S3,1
ground.type = High
ground.slidetime = 12
ground.hittime  = 16
ground.velocity = -1,-18
air.velocity = -2,-16.5
fall.recovertime = 35
forcenofall=1
id=410

[State 0, TargetState]
type = TargetState
triggerall = animelemtime(5)<0
trigger1 =movehit&&p2stateno!=411
value = 411
ID = 410
ignorehitpause =0

[State 410, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 11
ctrl = 1
;---------------------------------------------------------------------------
; Standing strong punch
[Statedef 411]
type    = A
movetype= H
physics = N
juggle  =0; 0
velset=-1,-15.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>=24
value =5040
ctrl=1
ctrl=1
;---------------------------------------------------------------------------
;Crouching light kick
; CNS difficulty: easy
[Statedef 430]
type    = C
movetype= A
physics = C
juggle  =0; 8
poweradd= 12
ctrl = 0
sprpriority = 2

[State 430, 1]
type = PlaySnd
triggerall = prevstateno != 9000
trigger1 = animelem=1
value = 0, 0
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value =430

[State 430, 2]
type = HitDef
trigger1 = animelem = 2
attr = C, NA
damage = ceil(49);,6
animtype  = Light
hitflag = MAFD
guardflag = L
pausetime = 9,9
sparkno = S8100+(random%4)
guard.sparkno = S7009
sparkxy = -10,-6
hitsound   = S1,0
guardsound = S3,1
ground.type = Low
ground.slidetime = 9
ground.hittime  = 8
guard.ctrltime=14
ground.velocity = -2
air.velocity = -2,-3
down.velocity=-7,-4.5
down.cornerpush.veloff=-16
down.hittime=16
id=430
nochainid=430


[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=[202,204])
value =202
ID =430
ignorehitpause =1 
[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; 8
poweradd= 28
ctrl = 0
sprpriority = 2
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value =435


[State 430, 1]
type = PlaySnd
triggerall = prevstateno != 9000
trigger1 =animelem=1
value = 0, 1

[State 440, 3]
type = HitDef
trigger1 = animelem = 2
attr = C, NA
damage = ceil(70);,12
hitflag = MAFD
guardflag = L
pausetime = 12,12
sparkno = S7005+(random%4)
guard.sparkno = S7009
sparkxy = -10,-6
hitsound   = S1,2
guardsound = S3,1
ground.type = Trip
ground.slidetime = 10
ground.hittime  = 14
ground.velocity = -2,-2.5
air.velocity = -1.2,-3
guard.velocity = -5
fall = 1
id=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,-1
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=5101|| stateno=614||stateno=612
statetype = L      ;S,A,C,L

[State 0, ChangeAnim]
type = ChangeAnim
triggerall = selfanimexist(5101)
trigger1 = pos y>=0 && (anim=5070) && time>3
value = 5101
[State 0, ChangeAnim]
type = ChangeAnim2
triggerall = !selfanimexist(5101)
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=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, 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)=25 && anim=612
value =ifelse(alive,5120,5110)
ctrl=1
;---------------------------------------------------------------------------
;Crouch Strong Kick
[Statedef 440]
type    = C
movetype= A
physics = C
juggle  =0; 8
poweradd=55
ctrl = 0
sprpriority = 2
[State 210, 1]
type = PlaySnd
triggerall = prevstateno != 9000
trigger1 =animelem=3
value = 2,3

[State 210, 1]
type = PlaySnd
triggerall = prevstateno != 9000
trigger1 =animelem=3
value = 2, 3

[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value =440


[State 440, 2]
type = PlaySnd
triggerall = prevstateno != 9000
trigger1 = Time = 2
value = 0, 2

[State 430, 2]
type = HitDef
trigger1 = animelem = 4
attr = C, NA
damage = ceil(118);,8
animtype  = heavy
hitflag = MAF
guardflag = MA
pausetime = 12,12
sparkno = S7000+(random%4)
guard.sparkno = S7009
sparkxy = -10,-70
hitsound   = S1,1
guardsound = S3,1
ground.type = Low
ground.slidetime =15
ground.hittime  = 24
guard.ctrltime = 20
ground.velocity = -8
air.velocity = -2,-3
down.velocity = -5,0
down.hittime = 20
id=440
nochainid=440


[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=[202,204])
value =202
ID =440
ignorehitpause =1 
[State 440, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 11
ctrl = 1

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

[state 9000, VelAdd]
type = VelAdd
trigger1 = numexplod(56)
x = 0
y = .485
[State 0, StateTypeSet]
type = StateTypeSet
trigger1 = !numexplod(56)
physics = A
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value =600
[State 200, 1]
type = PlaySnd
trigger1 = animelem=1
value = 0, 0

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

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

[State 600, 3]
type = changestate
trigger1 =  animtime = 0
value = 57
ctrl=1
[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
sprpriority = 2

[state 9000, VelAdd]
type = VelAdd
trigger1 = numexplod(56)
x = 0
y = .485
[State 0, StateTypeSet]
type = StateTypeSet
trigger1 = !numexplod(56)
physics = A
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value =605

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

[State 600, 2]
type = HitDef
trigger1 = animelem = 3&& !movecontact
attr = A, NA
damage = ceil(56);,10
animtype=medium
air.animtype=up
guardflag = HA
priority = 3
pausetime = 12,12
sparkno = S7000+(random%4)
guard.sparkno = S7009
sparkxy = -10,-83
hitsound   = S1,4
guardsound = S3,1
ground.type = High
ground.slidetime = 9
ground.hittime = 15
air.hittime = 28
guard.ctrltime = 15
ground.velocity = -4
air.velocity =-.2,-8
yaccel=.8
forcenofall=1
id=200

[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=[202,204])
value =202
ID =200
ignorehitpause =1 
[State 600, 2]
type = HitDef
trigger1= animelem = 4&& !movecontact
attr = A, NA
damage = ceil(56);,10
animtype=medium
air.animtype=up
guardflag = HA
priority = 3
pausetime = 12,12
sparkno = S7000+(random%4)
guard.sparkno = S7009
sparkxy = -10,-63
hitsound   = S1,1
guardsound = S3,1
ground.type = High
ground.slidetime = 15
ground.hittime = 15
air.hittime = 28
guard.ctrltime = 15
ground.velocity = -4
air.velocity =-.2,-6
yaccel=.5
forcenofall=1
id=200


[State 600, 3]
type = changestate
trigger1 =  animtime = 0
value = 57
ctrl=1
[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
sprpriority = 2

[state 9000, VelAdd]
type = VelAdd
trigger1 = numexplod(56)
x = 0
y = .485
[State 0, StateTypeSet]
type = StateTypeSet
trigger1 = !numexplod(56)
physics = A
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value =610

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

[State 0, ScreenBound]
type = ScreenBound
triggerall = movecontact && !moveguarded  &&  pos y < -340
trigger1 = 1
value = 0
value =cond(frontedgebodydist <15,1,0)
movecamera=cond(frontedgebodydist <15,1,0),0

[State 640, 3]
type = HitDef
triggerall =!var(24)
trigger1 = animelem = 2  && !movecontact
trigger2 = animelem = 3  && !movecontact
attr = A, NA
damage = ceil(105);,3
guardflag = HA
priority = 4
pausetime = 16,16
sparkno = S7005+(random%4)
guard.sparkno = S7009
sparkxy = -10,-67
hitsound   = S1,2
guardsound = S3,1
animtype = Med
ground.type = High
ground.slidetime = 12
ground.hittime  = 22
ground.velocity = -5
air.velocity = -15,10
yaccel = .7
id=641

[State 640, 3]
type = HitDef
triggerall =!var(24)
trigger1 = animelem = 4  && !movecontact
attr = A, NA
damage = ceil(105);,3
guardflag = HA
priority = 4
pausetime = 16,16
sparkno = S7005+(random%4)
guard.sparkno = S7009
sparkxy = -10,-97
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
id=641


[State 640, 3]
type = HitDef
triggerall = var(24)
trigger1 = animelem = 2  && !movecontact
trigger2 = animelem = 3  && !movecontact
attr = A, NA
damage = ceil(105);,8
guardflag = HA
priority = 4
pausetime = 10,10
sparkno = S7005+(random%4)
guard.sparkno = S7009
sparkxy = -10,-67
hitsound   = S1,2
guardsound = S3,1
animtype = Med
ground.type = High
ground.slidetime = 38
ground.hittime  = 38
ground.velocity = -5
air.velocity = -3,10
id=640
[State 640, 3]
type = HitDef
triggerall = !var(24)
trigger1 = animelem = 4  && !movecontact
attr = A, NA
damage = ceil(105);,8
guardflag = HA
priority = 4
pausetime = 10,10
sparkno = S7005+(random%4)
guard.sparkno = S7009
sparkxy = -10,-97
hitsound   = S1,2
guardsound = S3,1
animtype = Med
ground.type = High
ground.slidetime = 38
ground.hittime  =38
ground.velocity = -5
air.velocity = -3,10
id=641


[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = movehit &&p2statetype=A  && var(24)
value = 611


[State 0, ScreenBound]
type = ScreenBound
triggerall = anim=611
trigger1 = 1
value = 0
[State 600, 3]
type = changestate
 triggerall = var(24)
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(24)
triggerall = pos x <40&&facing=1|| pos x>-40&&facing=-1
trigger1 = pos y < -230 && enemy,pos y >-10 &&movehit
v = 29    ;fv = 10
value = 1


[State 0, VelSet]
type = VelSet
triggerall =  var(24)
 triggerall =prevstateno= [600,635]
triggerall = pos x <40&&facing=1|| pos x>-40&&facing=-1
trigger1 = movehit  &&  pos y < -230
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,10
poweradd= 59
ctrl = 0
sprpriority = -2
facep2=1
[State 0, VelAdd]
type = VelAdd
trigger1 =1
y = .67
[State 0, ChangeAnim2]
type = ChangeAnim2
trigger1 =time=0
value = 1205

[State 0, ChangeAnim2]
type = ChangeAnim2
triggerall = anim!=5160
trigger1 =pos y>=0 && anim=1205 && 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
[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)=31 && 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
sprpriority = 2

[state 9000, VelAdd]
type = VelAdd
trigger1 = numexplod(56)
x = 0
y = .485
[State 0, StateTypeSet]
type = StateTypeSet
trigger1 = !numexplod(56)
physics = A
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value =630

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


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

[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit=1 && (p2stateno!=[202,204])
value =202
ID =200
ignorehitpause =1 
[State 600, 3]
type = changestate
trigger1 =  animtime = 0
value = 57
ctrl=1
[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

sprpriority = 2

[state 9000, VelAdd]
type = VelAdd
trigger1 = numexplod(56)
x = 0
y = .485
[State 0, StateTypeSet]
type = StateTypeSet
trigger1 = !numexplod(56)
physics = A
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value =635

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


[State 640, 3]
type = HitDef
trigger1 = animelem = 3
attr = A, NA
damage = ceil(56);,5
guardflag = HA
animtype=medium
air.animtype=up
priority = 4
pausetime = 9,9
sparkno = S7000+(random%4)
guard.sparkno = S7009
sparkxy = -10,-75
hitsound   = S1,1
guardsound = S3,1
ground.type = High
ground.slidetime =8
ground.hittime = 15
air.hittime =17
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!=[202,204])
value =202
ID =200
ignorehitpause =1 
[State 600, 3]
type = changestate
trigger1 =  animtime = 0
value = 57
ctrl=1
[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
sprpriority = 2

[state 9000, VelAdd]
type = VelAdd
trigger1 = numexplod(56)
x = 0
y = .485
[State 0, StateTypeSet]
type = StateTypeSet
trigger1 = !numexplod(56)
physics = A
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value =640

[State 640, 2]
type = PlaySnd
trigger1 =animelem=2
value = 0, 2
[State 9000, ChangeAnim]
type = ChangeAnim
triggerall = prevstateno = 9000
trigger1 = Time =0
value = Anim
elem  = var(33)
[State 640, 3]
type = HitDef
triggerall = var(24)
trigger1 =!movecontact
attr = A, NA
damage = ceil(105);,9
guardflag = HA
priority = 4
pausetime = 16,16
sparkno = S7005+(random%4)
guard.sparkno = S7009
sparkxy = -10,-68
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
id=640
[State 640, 3]
type = HitDef
triggerall = !var(24)
trigger1 = !movecontact
attr = A, NA
damage = ceil(105);,9
guardflag = HA
priority = 4
pausetime = 10,10
sparkno = S7005+(random%4)
guard.sparkno = S7009
sparkxy = -10,-68
hitsound   = S1,2
guardsound = S3,1
animtype = Med
ground.type = High
ground.slidetime = 15
ground.hittime  = 15
ground.velocity = -5
air.velocity = -3,10
id=641

[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = movehit &&p2statetype=A  && (prevstateno= [600,635])  && var(24)
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(24)
 triggerall =prevstateno= [600,635]
triggerall = pos x <40&&facing=1|| pos x>-40&&facing=-1
trigger1 = pos y < -230 && enemy,pos y >-10 &&movehit
v = 29    ;fv = 10
value = 1

[State 0, VelSet]
type = VelSet
triggerall =  var(24)
 triggerall =prevstateno= [600,635]
triggerall = pos x <40&&facing=1|| pos x>-40&&facing=-1
trigger1 = movehit  &&  pos y < -230
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 = 6,0
ctrl = 0
anim = 700
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 =animtime = 0
x = 0

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

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

[State 8300, ChangeState]
type = ChangeState
trigger1 = animtime = 0
value = 11
ctrl = 1
;---------------------------------------------------------------------------
[Statedef 703]
type    = C
movetype= I
physics = N
poweradd= 0
velset = -6,0
ctrl = 0
anim = 701
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 = animtime = 0
x = 0

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

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

[State 8300, ChangeState]
type = ChangeState
trigger1 =animtime = 0
value = 11
ctrl = 1
;-------------------------------------------------------------
[Statedef 800]
type = S
movetype= A
physics = S
juggle = 0
velset = 0,0
ctrl = 0

[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value = 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 = 810
p2stateno = 820
hitsound = S800,0
fall = 1

[State 800, 2]
type = ChangeState
Trigger1 = AnimTime = 0
value =215
ctrl = 0
;-------------------------------------------------------------
[Statedef 801]
type = A
movetype= A
physics = N
juggle = 0
ctrl = 0
velset=0,0
anim = 801
[State 0, Turn]
type = Turn
trigger1 = facing = enemy,facing&&time=0
;ignorehitpause = 
;persistent = 

[State 0, PlaySnd]
type = PlaySnd
trigger1 = time=0
value = S5100,12
channel = 1
;[State 0, PosAdd]
;type = PosAdd
;trigger1 =time =0 && prevstateno=831 
;y = -(enemynear,const(size.head.pos.y))+83
;ignorehitpause = 
;persistent = 
[State 0, VelAdd]
type = VelAdd
trigger1 =anim=5040
y = .5
[State 0, ChangeAnim2]
type = ChangeAnim
trigger1 =time=1 
value =5040
[State 0, PlayerPush]
type = PlayerPush
trigger1 =1 
value =0
[State 0, VelSet]
type = VelSet
trigger1 =time=1 
x = -4.5
y = -2.5
[State 0, ChangeAnim]
type = selfstate
trigger1 =pos y>=0 && anim=5040&& time>3
value =52
ctrl=0
;-------------------------------------------------------------
[Statedef 802]
type = A
movetype= A
physics = N
juggle = 0
ctrl = 0
velset=0,0
[State 0, Turn]
type = Turn
trigger1 = facing = enemy,facing&&time=0
[State 0, NotHitBy]
type = NotHitBy
trigger1 =1 
value = SCA
;value2 = S,NA
time = 1
[State 0, PosSet]
type = PosSet
trigger1 = time=0
y = enemy,pos y
;ignorehitpause = 
;persistent = 
[State 0, VelAdd]
type = VelAdd
trigger1 =anim=5040
y = .5


[State 0, ChangeAnim2]
type = ChangeAnim2
trigger1 =time=0 
value = 801
[State 0, ChangeAnim2]
type = ChangeAnim
trigger1 =time=1 
value =5040
[State 0, PlayerPush]
type = PlayerPush
trigger1 =1 
value =0
[State 0, VelSet]
type = VelSet
trigger1 =time=1 
x = -4.5
y = -2.5
[State 0, ChangeAnim]
type = selfstate
trigger1 =pos y>=0 && anim=5040 && time>3
value =52
ctrl=0
;----------------------------------------------------------------------
[Statedef 810]
type = S
movetype= A
physics = N
anim = 810
poweradd = 60


[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 810, Bind 1]
type = TargetBind
trigger1 = AnimElem = 1
pos = 45, -144

[State 810, Bind 2]
type = TargetBind
trigger1 = AnimElem = 2
pos = 108, -84

[State 810, Bind 3]
type = TargetBind
trigger1 = AnimElem = 3
pos = 94, -84

[State 810, Bind 1]
type = TargetBind
trigger1 = AnimElem = 4
pos = 45, -144

[State 810, Bind 2]
type = TargetBind
trigger1 = AnimElem = 5
pos = 108, -84

[State 810, Bind 3]
type = TargetBind
trigger1 = AnimElem = 6
pos = 94, -84


[State 810, Bind 3]
type = TargetBind
trigger1 = AnimElem = 7
pos = 84, -90
[State 200, 1]
type = PlaySnd
trigger1 = animelem = 2
trigger2 = animelem = 5
value = 1, 2

[State 200, 1]
type = PlaySnd
trigger1 = animelem = 2
trigger2 = animelem = 5
value = 2, 1


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


[State 0, Explod]
type = Explod
trigger1 = animelem = 2
trigger2 = animelem = 5
anim =7007
ID =7007
pos = 86,-84
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 0, Width]
type = Width
trigger1 =1
edge = 80,0


[State 810, Hurt]
type = TargetLifeAdd
trigger1 = AnimElem = 2
trigger2 = AnimElem = 4
value = -42

[State 410, 2]
type = HitDef
trigger1 = AnimElem = 9
attr = C, NA
damage = ceil(42);,15
animtype  = up
hitflag = MAF
guardflag = MA
pausetime = 1,1
priority = 7
sparkno = S7005+(random%4)
guard.sparkno = S7009
sparkxy = -15,-77
hitsound   = S1,2
guardsound = S3,1
ground.type = Low
ground.slidetime = 30
ground.hittime  = 30
ground.velocity = -7,-15
air.velocity = -7,-15
fall.recover=0
fall = 1
yaccel=.75
p2stateno=1015


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

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

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



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

;----------------------------------------------------------------------
[Statedef 821]
type = S
movetype = H
velset =0,0
poweradd = 40

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

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

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

[State 821, 4] ;Hit ground
type = SelfState
trigger1 = time = 0
value = ifelse(Alive,5110,5150)
ctrl =1

;------------------
; 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
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value = 835

[State 800, 1]
type = HitDef
triggerall = p2movetype!=H
Trigger1 = time >0
attr = A, NT
hitflag=A
priority = 6
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 = 610
ctrl = 0

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

[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 = 3
value = 0, 4

[State 810, Width 2-11]
type = Width
trigger1 = AnimElemTime(1) >= 0 && AnimElemTime(3) < 0
edge = 0,25
player = 0,25
value = 0,25

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


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


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

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

[State 4001, bind]
type=targetbind
trigger1=animelemtime(4)>=0 && animelemtime(5)<0
pos=133,-72

[State 4001, bind]
type=targetbind
trigger1=animelem=5
pos=104,-13

[State 810, Throw]
type = TargetState
trigger1 = AnimElem = 5
value = 851

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


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

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


[State 210, 3]
type = sprpriority
trigger1 = time = 0
value = -1
;----------------------------------------------------------------------
[Statedef 851]
type = A
movetype = H
physics = N
velset = -5,7
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 = .5

[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 810, Hurt]
type =LifeAdd
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = -111

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

;----------------------------------------------------------------------
[Statedef 861]
type = S
movetype= A
physics = N
anim = 830
poweradd = 60
[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 810, Width 2-11]
type = Width
trigger1 = AnimElemTime(3) >= 0 && AnimElemTime(5) < 0
edge = 90,25
player = 0,25
value = 0,25

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


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


[State 4001, bind]
type=targetbind
trigger1=animelem=3
pos=140,-79

[State 4001, bind]
type=targetbind
trigger1=animelem=4
pos=152,0



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

[State 810, Throw]
type = TargetState
trigger1 = AnimElemtime(5) = 12
value = 1015

[State 831, Shake]
type  = envshake
trigger1 = animelem = 5
freq  = 60
time  = 16
ampl  = 4

[State 0, Explod]
type = Explod
trigger1 = animelem = 5
anim =6006
ID =8002
pos = 20,6
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, ScreenBound]
type = ScreenBound
trigger1 = animelemtime(4)>0
value = 1
movecamera = 1,0
;ignorehitpause = 
;persistent = 

[State 1052, 2] ;Play a sound for landing
type = PlaySnd
trigger1 =  animelem = 5
value = 2, 5
[State 1052, 2] ;Play a sound for landing
type = PlaySnd
trigger1 =  animelem = 5
value = 2, 5
[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 = p2stateno !=861
value = 5050
;----------------------------------------------------------------------
[Statedef 863]
type = S
movetype = H
physics = N
velset = 0,0

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

[State 0, PosSet]
type = PosSet
trigger1 = time = 0
y = 0

[State 0, Turn]
type = Turn
trigger1 =time = 0
[State 0, SelfState]
type = changestate
trigger1 = animtime = 0
value =864

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

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


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

[State 821, 4] ;Hit ground
type = SelfState
trigger1 = Pos Y >= 0 && Vel Y > 0
value = 5050 ;Hit ground
;---------------------------------------------------------------------------
[Statedef 1000]
type    =S
movetype= A
physics = S
juggle  =0; 4
poweradd= 13

ctrl = 0
sprpriority = 1
[State 0, VarSet]
type = VarSet
trigger1 = animelem=5
v = 3  ;fv = 10
value = 1
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value = 1000

[State 1000, 1]
type = PlaySnd
trigger1 = animelem =2
value = S0,4

[State 200, 1]
type = PlaySnd
trigger1 = animelem=3
value = 2, 8
volume=255
[State 0, EnvShake]
type = EnvShake
trigger1 = animelemtime(4)=0&& anim=1000
time = 16
freq = 85
ampl = 4
phase = 90
[State 200, 1]
type = PlaySnd
trigger1 = animelem=3&& anim=1000
value = 2, 8
volume=255


[State 0, Explod]
type = Explod
trigger1 = animelem = 2
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 = 0
ignorehitpause =1

[State 0, ModifyExplod]
type = ModifyExplod
trigger1 =var(9)=1
id=8002
removeongethit = 1
[State 400, 2]
type = HitDef
trigger1 = animelem = 4 && !movecontact
trigger2 = animelem = 5&& !movecontact
attr = S, SA
damage = ceil(56);,9
priority  = 3
animtype  = Light
hitflag = MAF
guardflag = MHA
pausetime = 10,10
sparkno = S7000+(random%4)
guard.sparkno = S7009
sparkxy = -10,-57
hitsound   = S1,2
guardsound = S3,1
ground.type = Low
ground.slidetime =35
ground.hittime  = 35
ground.velocity = -5
air.velocity = -1.5,-3

[State 0, Helper]
type = Helper
triggerall = numhelper(1001) < 4
triggerall = prevstateno != 9000
trigger1 =animelem = 5&& anim=1000
helpertype = normal ;player
name ="Hadouken"
ID = 1001
stateno = 1001
pos = 85,5
postype = p1    ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 1
size.yscale= 1
size.xscale= 1



;ignorehitpause =
;persistent =


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

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

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

;ignorehitpause =
;persistent =

[State 0, VelSet]
type = VelSet
trigger1 = time=0 && prevstateno=862
x = -2
y = -20
;ignorehitpause = 
;persistent = 

[State 0, PosAdd]
type = PosAdd
trigger1 =time=0 && prevstateno=862
y = -15
;ignorehitpause = 
;persistent = 

[State 0, VelAdd]
type = VelAdd
trigger1 = prevstateno!=862
y = gethitvar(yaccel)
[State 0, VelAdd]
type = VelAdd
trigger1 = prevstateno=862
y = .60

[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!=5100 && anim!=614&& anim!=612) && time>3
value = 5100
[State 0, ChangeAnim]
type = ChangeAnim2
triggerall = !selfanimexist(5100)
trigger1 = pos y>=0 &&(anim!=5100 && anim!=614&& anim!=612) && 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


;---------------------------------------------------------------------------
; CNS difficulty: medium
[Statedef 1005]
type    = S
movetype= A
physics = S
juggle  =0; 4
poweradd= 13

ctrl = 0
sprpriority = 1

[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value =1010
[State 0, VarSet]
type = VarSet
trigger1 = animelem=5
v = 3  ;fv = 10
value = 3
[State 9000, ChangeAnim]
type = ChangeAnim
triggerall = prevstateno = 9000
trigger1 = Time =0
value = Anim
elem  = var(33)
ignorehitpause=1
persistent=1
[State 1000, 1]
type = PlaySnd
triggerall = prevstateno != 9000
trigger1 = animelem =2
value = S0,4
[State 0, EnvShake]
type = EnvShake
trigger1 = animelemtime(4)=0
time = 16
freq = 85
ampl = 4
phase = 90
[State 400, 2]
type = HitDef
trigger1 = animelem = 4 && !movecontact
trigger2 = animelem = 5&& !movecontact
attr = S, SA
damage = ceil(56);,9
priority  = 3
animtype  = Light
hitflag = MAF
guardflag = MHA
pausetime = 10,10
sparkno = S7000+(random%4)
guard.sparkno = S7009
sparkxy = -10,-57
hitsound   = S1,2
guardsound = S3,1
ground.type = Low
ground.slidetime = 35
ground.hittime  = 35
ground.velocity = -5
air.velocity = -1.5,-3
[State 200, 1]
type = PlaySnd
triggerall = prevstateno != 9000
trigger1 = animelem=3
value = 2, 8
volume=255

[State 200, 1]
type = PlaySnd
triggerall = prevstateno != 9000
trigger1 = animelem=3
value = 2, 8
volume=255


[State 0, Explod]
type = Explod
triggerall = prevstateno != 9000
trigger1 = animelem = 2
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 = 0
ignorehitpause =1

[State 0, ModifyExplod]
type = ModifyExplod
trigger1 =var(9)=1
id=8002
removeongethit = 1
[State 0, Helper]
type = Helper
triggerall = prevstateno != 9000
trigger1 =animelem = 5
helpertype = normal ;player
name ="Hadouken"
ID = 1001
stateno = 1001
pos = 85,5
postype = p1    ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 1
size.yscale= 1
size.xscale= 1



[State 0, VarSet]
type = VarSet
triggerall =prevstateno = 9000
trigger1 = 1
v = 22    ;fv = 10
value =  var(22) + time
;ignorehitpause =
;persistent =

[State 0, VarSet]
type = VarSet
triggerall =prevstateno != 9000
trigger1 = 1
v = 22   ;fv = 10
value =  time


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



;---------------------------------------------------------------------------
;Gou Shoryuken - start
[Statedef 1050]
type    = U
movetype= A
physics = S
juggle  =0; ifelse((p2stateno = 5070),4,8)
poweradd= 60

ctrl = 0
sprpriority = 2
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value =1050
[State 1050, 1]
type = PlaySnd
triggerall = prevstateno!=9000
trigger1 = time = 1 && anim=1050
value = 0, 2


[State 200, 1]
type = PlaySnd
triggerall = prevstateno!=9000
trigger1 = time = 1 && anim=1050
value = 2,3
volume=255

[State 200, 1]
type = PlaySnd
triggerall = prevstateno!=9000
trigger1 = time = 1 && anim=1050
value = 2,3
volume=255





[State 0, Explod]
type = Explod
triggerall = statetype!=A
triggerall = prevstateno!=9000
trigger1 = animelem = 1&& anim=1050
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 = 0
ignorehitpause =1

[State 0, ModifyExplod]
type = ModifyExplod
trigger1 =var(9)=1
id=8002
removeongethit = 1


[State 0, VarSet]
type = VarSet
triggerall=AILevel=0
trigger1 = time=0
v = 4    ;fv = 10
value = ifelse(command="Gous1",0,ifelse(command="Gous2"&&var(57)=0,2,3))

[State 0, VarSet]
type = VarSet
triggerall=AILevel>0
trigger1 = time=0
v = 4    ;fv = 10
value = ifelse(p2bodydist x >40,3,0)



[State 0, StateTypeSet]
type = StateTypeSet
trigger1= anim=1051
statetype = A       ;S,A,C,L
physics =N       ;A,C,S,N
;ignorehitpause =
;persistent =


[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = animtime=0 && anim=1050 && var(4)!=0
trigger2= time=2&& anim=1050&&var(4)=0
trigger3= statetype=A&&time=0
value = 1051


[State 0, VelSet]
type = VelSet
triggerall=prevstateno!=9000 
trigger1 = animelem=1 && anim=1051
x =ifelse(var(4)=0,1.5,ifelse(var(4)=1,2,4.35))
y =ifelse(var(4)=0,-14.7,ifelse(var(4)=1,-16,-18))
ignorehitpause = 1
persistent = 1


[State 200, 1]
type = PlaySnd
triggerall = var(6) = 1
triggerall=prevstateno!=9000
trigger1 = animelem = 1 && anim=1051
value = 2, 3
volume=255

[State 200, 1]
type = PlaySnd
triggerall = var(6) = 1
triggerall=prevstateno!=9000
trigger1 = animelem = 1 && anim=1051
value = 2,3
volume=255



[State 1055, 5]
type = HitDef
trigger1= vel y >0
attr = A, SA
animtype  = Med
damage = ceil(ifelse(var(4)=0,125,ifelse(var(4)=1,136,153))),12
priority  = 4
guardflag = MA
pausetime = 8,8
sparkxy = -25,-67
sparkno = S8100+(random%4)
guard.sparkno = S7009
hitsound   = S1,2
guardsound = S3,1
ground.type = High
ground.slidetime = 15
ground.hittime  = 16
ground.velocity = -7, -5
guard.velocity = -3
guard.ctrltime = 12
air.velocity = -7.5, -5
airguard.velocity = -4,-4.5
givepower = 100
getpower = 50
fall=1
fall.recover=0
yaccel=.65
nochainid=1050
id=1050
[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit && (p2stateno!=1015)
value =1015
ID =1050
ignorehitpause =0
[State 0, Width]
type = Width
trigger1 = animelemtime(2) > 0 && anim=1051
edge = 70,0

[State 330, 5]
type = VelAdd
trigger1 = anim=1051
y = 1.15




[State 1051, 3] ;Change state when KFM is close to ground
type = Changeanim
trigger1 = Vel Y > 0 && Pos Y >= -15 && anim=1051
value =  ifelse(movecontact,1052,ifelse(var(4)=0,1053,1055))
[State 0, StateTypeSet]
type = StateTypeSet
trigger1 =anim=1052 || anim=1053 ||anim=1055
statetype = S      ;S,A,C,L
movetype = I        ;I,A,H
physics = S         ;A,C,S,N
;ignorehitpause =
;persistent =
[State 0, VelSet]
type = VelSet
trigger1 =anim=1052 || anim=1053||anim=1050||anim=1055
x = 0
y = 0
;ignorehitpause =
;persistent =


[State 0, PosAdd]
type = PosAdd
triggerall = anim=1052 || anim=1053||anim=1055
trigger1 = animelemtime(1)=1
x = 60


[State 1052, 1] ;Reset y-position to ground level
type = PosSet
trigger1 =  anim=1052 || anim=1053|| anim=1050||anim=1055
y = 0

[State 1052, 2] ;Play a sound for landing
type = PlaySnd
triggerall = prevstateno != 9000
trigger1 = Time = 0 && (anim = 1053||anim=1055)
value = 5000, 1
[State 1052, 2] ;Play a sound for landing
type = PlaySnd
triggerall = prevstateno != 9000
trigger1 = Time = 0  && (anim = 1053||anim=1055)
value = 5000, 1

[State 1052, 2] ;Play a sound for landing
type = PlaySnd
triggerall = anim=1052 || anim=1053||anim=1055
trigger1 = animelemtime(1)=1
value = 2, 5
[State 1052, 2] ;Play a sound for landing
type = PlaySnd
triggerall = anim=1052 || anim=1053||anim=1055
trigger1 = animelemtime(1)=1
value = 2, 5
[State 0, EnvShake]
type = EnvShake
triggerall = anim=1052 || anim=1053||anim=1055
trigger1 = animelemtime(1)=1
time = 16
freq = 85
ampl = 4
phase = 90


[State 1052, 5]
type = ChangeState
trigger1 = AnimTime = 0 && ( anim=1052 || anim=1053||anim=1055)
value = 0
ctrl = 1

;---------------------------------------------------------------------------
[Statedef 1100]
type    = S
movetype= A
physics = N
juggle  =0; 4
poweradd= 60

ctrl = 0
sprpriority = 2
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value =1100

[State 200, 1]
type = PlaySnd
triggerall = prevstateno != 9000
trigger1 = animelem = 2
value = 2, 7
volume=255

[State 200, 1]
type = PlaySnd
triggerall = prevstateno != 9000
trigger1 = animelem = 2
value = 2, 7
volume=255



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


[State 0, VelSet]
type = VelSet
trigger1 = time =0 && vel x <0
x = 0
;ignorehitpause = 
;persistent = 


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




[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 = 0
ignorehitpause =1

[State 0, ModifyExplod]
type = ModifyExplod
trigger1 =var(9)=1
id=8002
removeongethit = 1

[State 0, ChangeAnim]
type = Changestate
trigger1 = animtime=0
value = 1101
ignorehitpause=1



;---------------------------------------------------------------
[Statedef 1101]
type    = S
movetype= A
physics =N
velset=0,0
juggle = 4
poweradd= 62
ctrl = 0
sprpriority = 2
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value =1101
[State 0, Explod]
type = Explod
triggerall = anim!=0
trigger1 =animelem = 2
anim =1103
ID =1103
pos = 146,15
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = -1
removetime=-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
ignorehitpause =0
removeongethit = 1
[State 0, Width]
type = Width
trigger1 = 1
edge = 80,40
player = 80,0
[State 0, RemoveExplod]
type = RemoveExplod
trigger1 =animelem=10 &&anim!=0
trigger2= anim=0
id = 1103
;ignorehitpause = 
;persistent = 
[State 0, Explod]
type = Explod
triggerall = anim!=0
trigger1 =animelem = 10
anim =1106
ID =1106
pos = 146,15
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
ignorehitpause =0
removeongethit = 1
[State 0, Explod]
type = Explod
triggerall = anim!=0
trigger1 =animelem = 2
anim =1104
ID =1104
pos = 146,15
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
ignorehitpause =0

[State 1052, 2] ;Play a sound for landing
type = PlaySnd
triggerall = anim!=0
trigger1 = animelem = 2
value = 2, 5
[State 1052, 2] ;Play a sound for landing
type = PlaySnd
triggerall = anim!=0
trigger1 = animelem = 2
value = 2, 5

[State 1060, 4]
type = HitDef
trigger1 = animelem = 2
attr = A, SA
animtype  =up
damage = ceil(139), 4
priority  = 5
hitflag=MAFD
guardflag = MA
pausetime = 10,10
sparkxy = -6,-6
sparkno = S7005+(random%3)
guard.sparkno = S7009
hitsound   = S1,2
guardsound = S3,1
ground.type = Low
ground.slidetime = 45
ground.hittime  = 45
guard.ctrltime = 29
ground.velocity = -15,-12
guard.velocity = -7
air.velocity = -15,-12
air.hittime=45
fall=1
fall.recover=0
down.velocity=-3,-8
yaccel=.79
id=200

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

[State 0, EnvShake]
type = EnvShake
triggerall = anim!=0
trigger1 = animelemtime(2)=0
time = 16
freq = 85
ampl = 4
phase = 90

;persistent =
[State 1027, No scroll]
type = ScreenBound
trigger1 = animelemtime(2)>0 &&p2movetype=H&&(p2stateno!=[120,155])
trigger2=anim=0
value = 0

[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = backedgebodydist<-60 && animelemtime(2)>=6&&p2movetype=H&&(p2stateno!=[120,155])
value = 0
[State 0, AssertSpecial]
type = AssertSpecial
trigger1 =anim=0
flag = invisible


[State 0, VarSet]
type = Varadd
trigger1 =var(29)=1
v = 31    ;fv = 10
value = 1
ignorehitpause=1
[State 0, VarSet]
type = VarSet
triggerall = p2statetype=L
trigger1 =anim=0
v = 29    ;fv = 10
value = 1
ignorehitpause=1
[State 0, ChangeAnim]
type = Changestate
trigger1 = (animtime=0&&anim!=0) ||  ( p2statetype=L&&var(31)>=14 && var(29)=1 && anim=0)
value = ifelse(anim=0,101,0)
ctrl=ifelse(anim=0,0,1)
;---------------------------------------------------------------
[Statedef 1102]
type    = S
movetype= A
physics =N

juggle = 4
poweradd= 62
ctrl = 0
sprpriority = 2
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value =1102

[State 9000, ChangeAnim]
type = ChangeAnim
triggerall = prevstateno = 9000
trigger1 = Time =0
value = Anim
elem  = var(33)
ignorehitpause=1
persistent=1
[State 1050, 5]
type = ChangeState
trigger1 =animtime=0
value = 0
ctrl =1


;---------------------------------------------------------------
[Statedef 1106]
type    = S
movetype= A
physics = N

juggle = 4
poweradd=65
ctrl = 0
sprpriority = 2

[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value =1105
[State 200, 1]
type = PlaySnd
triggerall = prevstateno != 9000
trigger1 = animelem = 2
value = 2, 7
volume=255

[State 200, 1]
type = PlaySnd
triggerall = prevstateno != 9000
trigger1 = animelem = 2
value = 2, 7
volume=255



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



[State 1061, 1]
type = Velset
trigger1 = animelemtime(5)> 0
x = 10.25



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



[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 = 0
ignorehitpause =1

[State 0, ModifyExplod]
type = ModifyExplod
trigger1 =var(9)=1
id=8002
removeongethit = 1





[State 0, ChangeAnim]
type = Changestate
trigger1 =animelem=6
value = 1107
ignorehitpause=1



;---------------------------------------------------------------
[Statedef 1107]
type    = S
movetype= A
physics =N
velset=0,0
juggle = 4
poweradd= 62
ctrl = 0
sprpriority = 2


[State 0, EnvShake]
type = EnvShake
triggerall = anim!=0
trigger1 = animelemtime(7)=0
time = 16
freq = 85
ampl = 4
phase = 90
[State 0, Explod]
type = Explod
triggerall = anim!=0
trigger1 =animelem =7
anim =1103
ID =1103
pos = 146,15
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = -1
removetime=-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
ignorehitpause =0
removeongethit = 1
[State 0, Width]
type = Width
trigger1 = 1
edge = 80,40
player = 80,0
[State 0, RemoveExplod]
type = RemoveExplod
trigger1 =animelem=19 &&anim!=0
trigger2= anim=0
id = 1103
;ignorehitpause = 
;persistent = 
[State 0, Explod]
type = Explod
triggerall = anim!=0
trigger1 =animelem = 19
anim =1106
ID =1106
pos = 146,15
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
ignorehitpause =0
removeongethit = 1
[State 0, Explod]
type = Explod
triggerall = anim!=0
trigger1 =animelem = 7
anim =1104
ID =1104
pos = 146,15
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
ignorehitpause =0


[State 1052, 2] ;Play a sound for landing
type = PlaySnd
triggerall = anim!=0
trigger1 = animelem = 7
value = 2, 5
[State 1052, 2] ;Play a sound for landing
type = PlaySnd
triggerall = anim!=0
trigger1 = animelem = 7
value = 2, 5

[State 1060, 4]
type = HitDef
trigger1 = animelem = 7
attr = A, SA
animtype  = Medium
damage = ceil(194), 4
priority  = 4
guardflag = MA
hitflag=MAFD
pausetime = 10,10
sparkxy = -6,-6
sparkno = S7005+(random%3)
guard.sparkno = S7009
hitsound   = S1,2
guardsound = S3,1
ground.type = Low
ground.slidetime = 45
ground.hittime  = 45
guard.ctrltime = 29
ground.velocity =-15,-11
guard.velocity = -7
air.velocity = -15,-11.5
air.hittime=45
yaccel=.69
fall=1
fall.recover=0
id=200
down.velocity=-3,-8


[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit && (p2stateno!=[1108,1109])
value =1108
ID =200
ignorehitpause =1 
 
;persistent =
[State 1027, No scroll]
type = ScreenBound
trigger1 = animelemtime(7)>0 &&p2movetype=H&&(p2stateno!=[120,155])
trigger2=anim=0
value = 0

[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = backedgebodydist<-70&& animelemtime(7)>=6&&p2movetype=H&&(p2stateno!=[120,155])
value = 0
[State 0, AssertSpecial]
type = AssertSpecial
trigger1 =anim=0
flag = invisible


[State 0, VarSet]
type = Varadd
trigger1 =var(29)=1
v = 31    ;fv = 10
value = 1
ignorehitpause=1
[State 0, VarSet]
type = VarSet
triggerall = p2statetype=L
trigger1 =anim=0
v = 29    ;fv = 10
value = 1
ignorehitpause=1
[State 0, ChangeAnim]
type = Changestate
trigger1 = (animtime=0&& anim!=0) ||  ( p2statetype=L&&var(31)>=14 && var(29)=1 && anim=0)
value = ifelse(anim=0,101,0)
ctrl=ifelse(anim=0,0,1)
;---------------------------------------------------------------------------
; Stand Light Punch
; CNS difficulty: easy
[Statedef 1108]
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 = 1109
;---------------------------------------------------------------------------
[Statedef 1109]
type    = A
movetype=H
physics = N
poweradd = 40
facep2=1
[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 0, HitVelSet]
type = HitVelSet
trigger1 = time=0
x = 1
y = 1
;ignorehitpause = 
;persistent =
[State 0, EnvShake]
type = EnvShake
triggerall=anim!=5100&& anim!=612 && anim!=614
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
time = 10
freq = 60
ampl = 4
phase = 90

[State 0, VelAdd]
type = VelAdd
trigger1 =1
y =gethitvar(yaccel)
[State 0, NotHitBy]
type = NotHitBy
trigger1 = anim!=5100&& anim!=612 && anim!=614
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=5061) && time>3
value = 5100
[State 0, ChangeAnim]
type = ChangeAnim2
triggerall = !selfanimexist(5100)
trigger1 = pos y>=0 &&(anim=5061) && 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, SelfState]
type = SelfState
trigger1 =animelemtime(1)=15&& anim=612
value =ifelse(alive,5120,5110)
ctrl=1

;---------------------------------------------------------------------------
;
[Statedef 3000]
type    = S
movetype= A
physics = S
velset = 0,0
juggle  =0; 0
ctrl = 0
sprpriority = 0

[State 0, ChangeAnim]
type = ChangeAnim
triggerall = prevstateno != 9000
triggerall = anim!=3002
trigger1 = time=0
value = 3000
[State 200, 1]
type = PlaySnd
triggerall = prevstateno != 9000
triggerall = anim = 3000
trigger1 = animelem = 3
value = 2, 4
volume=255

[State 200, 1]
type = PlaySnd
triggerall = prevstateno != 9000
triggerall = anim = 3000
trigger1 = animelem = 3
value = 2, 4
volume=255

[State 200, 1]
type = PlaySnd
triggerall = prevstateno != 9000
triggerall = anim = 3000
trigger1 = animelem=2&&  (prevstateno != 9000||(animelemtime(1)>=0 &&animelemtime(2)<3))     && anim=3000
value = 2, 16
volume=255

[State 200, 1]
type = PlaySnd
triggerall = prevstateno != 9000
triggerall = anim = 3000
trigger1 = animelem=2&&  (prevstateno != 9000||(animelemtime(2)>=0 &&animelemtime(2)<3))     && anim=3000
value = 2, 16
volume=255





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

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

unhittable=1


[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem=2  && anim=3000
value = S3001,0

[State 0, Explod]
type = Explod
trigger1 = animelem=1&&  (prevstateno != 9000||(animelemtime(1)>=0 &&animelemtime(1)<3))     && anim=3000
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 = 0
ignorehitpause =1

[State 0, ModifyExplod]
type = ModifyExplod
trigger1 =var(9)=1
id=8002
removeongethit = 1



[State 3000, Hyperbg]
type = Explod
trigger1 =  animelem=2&&  (prevstateno != 9000||(animelemtime(2)>=0 &&animelemtime(2)<3))     && anim=3000
anim = 6004
ID = 6001
pos = 14,-89
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 = 0
supermovetime = 90
pausemovetime  = 90

[State 0, ModifyExplod]
type = ModifyExplod
trigger1 =var(9)=1
id=6001
removeongethit = 1




[State 3000, Hyperbg]
type = Explod
trigger1 =  animelem=3&&  (prevstateno != 9000||(animelemtime(3)>=0 &&animelemtime(3)<3))     && anim=3000
anim = 6005
ID = 6002
pos = 0,0
postype = left
facing = 1
vfacing = 1
bindtime = -1
vel = 0,0
accel = 0,0
random = 0,0
removetime =150
supermovetime = 90
pausemovetime  = 90
scale = .5,ifelse(GameHeight = 180,.4,.5)
sprpriority = -6
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit =0
ignorehitpause=1
persistent=0
[State 0, ModifyExplod]
type = ModifyExplod
trigger1 =var(9)=1
id=6002
removeongethit = 1
[State 0, RemoveExplod]
type = RemoveExplod
trigger1 = anim=3002 && animelemtime(3)>0 
id = 6002


[State 0, AssertSpecial]
type = AssertSpecial
triggerall = prevstateno != 9000
trigger1 =(anim=3000)
flag = noBG
flag2=noFG
ignorehitpause=1
[State 0, AssertSpecial]
type = AssertSpecial
triggerall = prevstateno != 9000
trigger1 =(time=3)
flag = noBG
flag2=noFG
ignorehitpause=1




[State 3000, Hyperbg]
type = Explod
trigger1 = time = ifelse(prevstateno =9000,0,5)
anim = 3001
ID = 3001
pos = 0,0
postype = p1
facing = 1
vfacing = 1
bindtime = -1
vel = 0,0
accel = 0,0
random = 0,0
removetime =80
supermovetime = 90
pausemovetime  = 90
scale =  .833333333333333333333333333333,1
sprpriority = 9
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit =0
ignorehitpause=1
[State 0, ModifyExplod]
type = ModifyExplod
trigger1 =var(9)=1
id=3001
removeongethit = 1

[State 0, AssertSpecial]
type = AssertSpecial
triggerall = prevstateno != 9000
trigger1 = var(5) = 0 && (anim = 3000 || anim = 3009)
trigger2= anim=3002 && animelemtime(3)<=0 
flag = noBG
flag2=noFG
ignorehitpause =1
persistent = 1


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



[State 0, RemoveExplod]
type = RemoveExplod
trigger1 =anim !=3000
id =3001
;ignorehitpause =
;persistent =
[State 0, RemoveExplod]
type = RemoveExplod
trigger1 =time =0
id =1103
[State 2010, 2b]
type = VelSet
trigger1 = animelemtime(3) >=0
x = 12.5

[State 0, VarSet]
type = Varadd
triggerall = numtarget(3000)>0
trigger1 = movecontact=1 || moveguarded=1
v = 16   ;fv = 10
value = 1


[State 0, VarSet]
type = Varadd
triggerall = numtarget(3001)>0
trigger1 = movecontact=1 || moveguarded=1
v = 34   ;fv = 10
value = 1
[State 400, 2]
type = HitDef
triggerall = prevstateno != 9000
triggerall= anim = 3000
trigger1 = animelem = 3
attr = S, HA
damage = ceil(70);,9
priority  = 8
animtype  = med
guardflag = MA
hitflag = MAF
pausetime = 8,8
sparkno = S7000+(random%4)
guard.sparkno = S7009
sparkxy = -30,-57
hitsound   = S1,2
guardsound = S3,1
ground.type = Low
ground.slidetime = 20
ground.hittime  = 20
ground.velocity = -3
air.velocity = -1.5,-3
id=3000
[State 400, 2]
type = HitDef
triggerall= anim = 3000
triggerall = var(16) !=4
trigger1 = time%4 = 0 && movecontact
attr = S, HA
damage = ceil(70);,9
priority  = 8
animtype  = med
guardflag = MA
hitflag = MAF
pausetime = 7,7
sparkno = S7000+(random%4)
guard.sparkno = S7009
sparkxy = -30,-57
hitsound   = S1,2
guardsound = S3,1
ground.type = Low
ground.slidetime = 20
ground.hittime  = 20
ground.velocity = -3
air.velocity = -1.5,ifelse(p2bodydist y<-40,3,-3)
id=3000
[State 400, 2]
type = HitDef
triggerall= anim = 3000
triggerall = var(34) !=3
triggerall =animelemtime(3)>2
trigger1 = command= "x"|| command= "y"||command= "z"||command= "a"||command= "b"||command= "z"||command="2p"||command="2k"
attr = S, HA
damage = ceil(30);,9
priority  = 8
animtype  = med
guardflag = MA
hitflag = MAF
pausetime = 5,5
sparkno = S7000+(random%4)
guard.sparkno = S7009
sparkxy = -30,-57
hitsound   = S1,2
guardsound = S3,1
ground.type = Low
ground.slidetime = 20
ground.hittime  = 20
ground.velocity = -3
air.velocity = -1.5,-3
id=3001
[State 400, 2]
type = HitDef
triggerall= anim = 3002
trigger1 =animelem=2
attr = S, HA
damage = ceil(194),9
priority  = 8
animtype  = up
guardflag = MA
hitflag = MAF
pausetime = 12,12
sparkno = S7000+(random%4)
guard.sparkno = S7009
sparkxy = -30,-57
hitsound   = S1,2
guardsound = S3,1
ground.type = Low
ground.slidetime = 20
ground.hittime  = 20
ground.velocity = 7,-22
air.velocity = 6,-22
fall = 1
fall.recover = 0
yaccel=.75
envshake.time = 20
envshake.ampl = 5
envshake.freq=60
id=1015
[State 0, TargetState]
type = TargetState
trigger1 =p2statetype= A && movehit && (p2stateno!=1015)
value =1015
ID =1015
ignorehitpause =0
[State 0, EnvShake]
type = EnvShake
triggerall= anim = 3002
triggerall = prevstateno != 9000
trigger1 = animelemtime(2)=0
time = 16
freq = 85
ampl = 4
phase = 90
[State 0, VarSet]
type = VarSet
triggerall =prevstateno = 9000
trigger1 = 1
v = 21    ;fv = 10
value =  var(21) + time
ignorehitpause =1
;persistent =


[State 0, VarSet]
type = VarSet
triggerall =prevstateno != 9000
trigger1 = 1
v = 21    ;fv = 10
value =  time
ignorehitpause =1
[State 0, ChangeAnim]
type = ChangeAnim
triggerall = anim !=3002
trigger1 =var(16) >= 4|| (time = 27&&prevstateno!= 9000)|| (var(21) >= 27 && prevstateno = 9000)
value = 3002
[State 0, ChangeState]
type = ChangeState
trigger1 = animtime = 0&&anim=3002
value = 0
ctrl=1

;---------------------------------------------------------------------------
;
[Statedef 4004]
type    = S
movetype= I
physics = S
juggle  =0; 4
velset = 0,0
ctrl = 0
sprpriority = 0
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = time=0 && prevstateno!=9000
value =3003
[State 200, 1]
type = PlaySnd
triggerall = prevstateno !=9000
trigger1 = animelem = 1
value = 2,9
volume=255

[State 200, 1]
type = PlaySnd
triggerall = prevstateno !=9000
trigger1 = animelem = 1
value = 2, 9
volume=255


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


[State 0, ChangeState]
type = ChangeState
trigger1 = animtime=0
value = 0
ctrl=1
;---------------------------------------------------------------------------
[Statedef 4005]
type    = S
movetype= A
physics = S
juggle  =0; 4
poweradd= 0
velset = 0,0
anim = 4001
ctrl = 0
sprpriority = 1

[State 4001, bind]
type=targetbind
trigger1=animelemtime(2)>0
pos=40,0

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


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

[State 3052, 3]
type = PlaySnd
triggerall = Time = [24,85]
trigger1 = (Time%3) = 0
value = 1,0+(random%3)
channel = 5

[State 3301, Hit Explods]
type = Explod
anim = 7005+(random%3)
triggerall = Time = [24,85]
trigger1 = (Time%3) = 0
postype = p2
pos=0,(enemynear,const(size.mid.pos.y));-70
random=100,90
ownpal = 1
ontop = 1

[State 3052, HitAdd]
type = HitAdd
trigger1 = Time = 90
value = 14

[State 4001, fadeout]
type=allpalfx
trigger1=animelemtime(1)=10
time=30
sinadd=-255,-255,-255,60

[State 4001, black]
type=envcolor
trigger1=time = 25
time=65
value=0,0,0

[State 0, Explod]
type = Explod
trigger1 =time = 95
anim =ifelse(var(17)=1,4004,4003)
ID =4002
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 = .833333333333333333333333333333,1
sprpriority = 3
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 1
supermovetime = 90
pausemovetime  = 90

[State 1000, 1]
type = PlaySnd
trigger1 =animelem = 3
value = S2,12
[State 1000, 1]
type = PlaySnd
trigger1 =animelem = 3
value = S2,12

[State 0, AssertSpecial]
type = AssertSpecial
Triggerall = time = [25,180]
trigger1 =1
ignorehitpause = 1
persistent = 1
flag = nobardisplay
flag2 = nobg
[State 0, VarSet]
type = VarSet
triggerall = time = 0
trigger1 = p2life <= 550
v = 17 ;fv = 10
value = 1

[State 0, VarSet]
type = VarSet
triggerall = time = 0
trigger1 = p2life > 550
v = 17  ;f
value = 0
[State 1000, 7]
type = ChangeState
trigger1 = time  =180
value = ifelse(var(17)=1,184,0)
ctrl = 1

;---------------------------------------------------------------------------
[Statedef 4007]
type = S
ctrl = 0
movetype=H
ctrl = 0
sprpriority = 0

[State 0, ChangeAnim2]
type = ChangeAnim2
trigger1 = time = 0
value = 4002

[State 0, LifeAdd]
type = LifeAdd
trigger1 = time = 95
value = -550000/1000

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

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



[State 3063, 4] ;Hit ground
type = SelfState
trigger1 = animtime = 0
value = ifelse(Alive,5120,5150)
ctrl = 1
;---------------------------------------------------------------------------
[Statedef 9000]
type = U
movetype = H
physics = U
[State 0, VarSet]
type = VarSet
trigger1 =time=0
v = 9   ;fv = 10
value = 1
;ignorehitpause =
;persistent =

[State 9000, PalFX]
type = PalFX
trigger1 = Alive
trigger1 = !Time
trigger2 = Time = 1
trigger3 = Time = 5
trigger4 = Time = 9
trigger5 = Time = 13
time = 2
add = 240,50,0
mul = 250,224,120
color = 128
ignorehitpause = 1

[State 0, AssertSpecial]
type = AssertSpecial
triggerall = prevstateno = 3000
trigger1 =1
flag = noBG
flag2=noFG
ignorehitpause=1

[State 0, VarSet]
type = VarSet
trigger1 =time=0
fv = 10   ;fv = 10
value = vel x

[State 0, VarSet]
type = VarSet
trigger1 =time=0
fv = 11   ;fv = 10
value = vel y
;ignorehitpause =
;persistent =




[State 9000, ChangeAnim]
type = ChangeAnim
trigger1 =1
value = Anim
elem  = var(33)

[State 0, VelAdd]
type = VelAdd
triggerall = vel x=0
trigger1 =(floor(gethitvar(hittime) * 0.5)<time ) || !alive
x = ifelse(statetype=A,0,fvar(5))
persistent=0

[State 0, VelSet]
type = posadd
triggerall = alive
triggerall =floor(gethitvar(hittime) * 0.5)<time
trigger1=time%3=0
x = 9
[State 0, VelSet]
type = posadd
triggerall = alive
triggerall =floor(gethitvar(hittime) * 0.5)<time
trigger1=time%2=0
x =-9
[State 0, VelSet]
type = VelSet
triggerall = alive
trigger1 = time=0
x = 0
y=0
[State 0, VelSet]
type = VelSet
triggerall = alive
trigger1 = statetype=A
trigger2= prevstateno=100
x = 0
y=0
;ignorehitpause =
;persistent =
[State 0, VarSet]
type = VarSet
trigger1 = time=0
fv = 5    ;fv = 10
value = hitvel x*.75
;ignorehitpause =
;persistent =

;ignorehitpause =
;persistent =


;ignorehitpause =
;persistent =
[State 9000, End]
type = ChangeState
trigger1 = !Alive
value = ifelse(statetype=A,5020,5000)
ctrl=0

;[State 9000, CtrlSet]
;type = CtrlSet
;triggerall = prevstateno!=[0,195]
;triggerall = Time < floor(gethitvar(hittime) * 0.8)
;trigger1 = var(46) <= 106
;value = 1;;

[State 9000, CtrlSet]
type = CtrlSet
triggerall = prevstateno!=20
trigger1 = (floor(gethitvar(hittime) * 0.8)<time ) || !alive
value = 1
[State 0, VelSet]
type = VelSet
triggerall = Alive
triggerall = fvar(10)!=0
trigger1 = Time >= floor(gethitvar(hittime) * 0.8)
x = fvar(10)
[State 0, NotHitBy]
type = NotHitBy
trigger1 =time=0
value = SCA
;value2 = S,NA
time = 4
[State 0, VelSet]
type = VelSet
triggerall = Alive
triggerall = fvar(11)!=0
trigger1 = Time >= floor(gethitvar(hittime) * 0.8)
y = fvar(11)
[State 9000, End]
type = ChangeState
triggerall = Alive
trigger1 = Time >= floor(gethitvar(hittime) * 0.8)
value = var(46)



;ignorehitpause =
;persistent =

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

;---------------------------------------------------------------------------
; States that are always executed (use statedef -2)
;---------------------------------------------------------------------------
[Statedef -2]
[State 0, AssertSpecial]
type = AssertSpecial
trigger1 = numhelper(6000)
flag = nokoslow
[State 0, TargetState]
type = TargetState
trigger1 =movehit&&p2stateno!=441 &&animelemtime(4)<0
value = 441
ID = 440
ignorehitpause =0

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

[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, VarSet]
type = VarSet
trigger1 =  p2stateno=411
v = 24   ;fv = 10
value = 1
[State 0, VarSet]
type = VarSet
trigger1 = p2movetype!=H
v =24  ;fv = 10
value = 0

[State 0, RemoveExplod]
type = RemoveExplod
trigger1 =statetype!=A 
id = 56

[State 0, PlaySnd]
type = PlaySnd
triggerall = enemynear,anim!=5160
triggerall = enemynear,movetype=H
trigger1 =enemynear,pos y>=0 && enemynear,anim=1205 && 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=1205 && 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, VarSet]
type = Varset
trigger1 = stateno !=3000
trigger1= stateno!=9000
v = 16   ;fv = 10
value = 0

[State 0, RemoveExplod]
type = RemoveExplod
trigger1 =stateno !=215
id =221


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

[State 0, VarSet]
type = VarSet
trigger1 = stateno != [1050,1099]
trigger1= stateno!=9000
v = 4  ;fv = 10
value = 0


[State 0, VarSet]
type = VarSet
triggerall  = var(4) = 0
trigger1 = command = "SHx"||command = "SHy"||command = "SHz"
v = 18   ;fv = 10
value = 1

[State 0, VarSet]
type = VarSet
triggerall  = var(4) = 0  && statetype !=A
trigger1 = AILevel>0 && random < 333
v = 18   ;fv = 10
value = 1

[State 0, VarSet]
type = VarSet
trigger1 = statetype = A || movetype = H
v = 18   ;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 !=410
id =  7011
;ignorehitpause =
;persistent =

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



[State -2, Helper]
type = Helper
trigger1 = winko && (stateno = [3500,3501])
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


[State -2, Helper]
type = Helper
trigger1 = winko && stateno = [3000,3901]
triggerall = NumHelper(6000) < 1 &&movecontact
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

[State -2, Helper]
type = Helper
trigger1 = winko && stateno = [4004,4007]
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
[State 0, VarSet]
type = VarSet
trigger1 = authorname= "Kamekaze" && p1name = "MvC2 Juggernaut By Kamekaze"
v = 50    ;fv = 10
value = 1
[State 0, DisplayToClipboard]
type = DisplayToClipboard
trigger1 =  1
text = "var2 = %d y= %f  pos x = %d "
params = var(29),fvar(2), var(31)

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

[State 0, AttackMulSet]
type = AttackMulSet
trigger1 = var(20)=1
time = 1
value = 1.16
ignorehitpause = 1
persistent = 1

[State 0, VarSet]
type = VarSet
triggerall = enemy,movetype = H  ||var(20)=1
trigger1 =(stateno !=[3000,4007]) ||var(20)=1
fv =2 ;fv = 10
value = ifelse(fvar(2)>.1,1-((enemy,gethitvar(hitcount)) * .033),.09)

[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
trigger2 = winko||lose
trigger1 =movecontact
v =20 ;fv = 10
value = 0
ignorehitpause=1


[State 0, VarSet]
type = VarSet
triggerall = stateno !=[1050,1099]
trigger1 = statetype = A
v =6    ;fv = 10
value = 1

[State 0, VarSet]
type = VarSet
triggerall = stateno !=[1050,1099]
trigger1 =statetype != A
v = 6    ;fv = 10
value = 0


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

[State 0, VarSet]
type = VarSet
triggerall = movehit
trigger1 = (var(24))
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
trigger6 = p2statetype=L  || p2stateno=5120
trigger5 = (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
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
v = 32  ;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, VarRangeSet]
type = VarRangeSet
trigger1 = var(20) = 1 && gametime%2=0
value = 0 ;fvalue = 0
first = 36
last = 38 ;39
;ignorehitpause = 
;persistent = 


[State 0, VarSet]
type = VarSet
trigger1 = var(20) = 1 && gametime%5=0
trigger2 = var(20) = 1 && gametime%13=0
v = 36   ;fv = 10
value =80
ignorehitpause =1 
[State 0, VarSet]
type = VarSet
trigger1 = var(20) = 1 && gametime%7=0
trigger2 = var(20) = 1 && gametime%11=0
v = 36   ;fv = 10
value =90
ignorehitpause =1 
[State 0, VarSet]
type = VarSet
trigger1 = var(20) = 1 && gametime%9=0
v = 36   ;fv = 10
value =170
ignorehitpause =1 

[State 0, VarSet]
type = VarSet
trigger1 = var(20) = 1 && gametime%5=0
trigger2 = var(20) = 1 && gametime%13=0
v = 37  ;fv = 10
value =0
ignorehitpause =1 
[State 0, VarSet]
type = VarSet
trigger1 = var(20) = 1 && gametime%7=0
trigger2 = var(20) = 1 && gametime%11=0
v = 37  ;fv = 10
value =25
ignorehitpause =1 
[State 0, VarSet]
type = VarSet
trigger1 = var(20) = 1 && gametime%9=0
v = 37   ;fv = 10
value =70
ignorehitpause =1 

[State 0, VarSet]
type = VarSet
trigger1 = var(20) = 1 && gametime%5=0
trigger2 = var(20) = 1 && gametime%13=0
v = 38   ;fv = 10
value =0
ignorehitpause =1 
[State 0, VarSet]
type = VarSet
trigger1 = var(20) = 1 && gametime%7=0
trigger2 = var(20) = 1 && gametime%11=0
v = 38   ;fv = 10
value =25
ignorehitpause =1 
[State 0, VarSet]
type = VarSet
trigger1 = var(20) = 1 && gametime%9=0
v = 38   ;fv = 10
value =10
ignorehitpause =1 
;persistent = 

;1,5
[State 0, PalFXWiz]
type = PalFX
triggerall = var(36)!=0
trigger1 = var(20) = 1
time = 1
add = var(36),var(37),var(38)
mul = 200,255,25
sinadd = 0,0,0,1
invertall = 0
color = 256
ignorehitpause = 1
[State 0, PalFXWiz]
type = PalFX
triggerall = var(36)=0
trigger1 = var(20) = 1
time = 1
add = var(36),var(37),var(38)
mul = 255,255,255
sinadd = 0,0,0,1
invertall = 0
color = 256
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 -3, Wall Hit Sound]
type = PlaySnd
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 = !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 -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, Landing Dust]
type = Explod
trigger1 = stateno = 52&&Time = 1;Jump land
trigger2 = (anim=1053 || anim=1055 || anim=1052) &&animelemtime(1)=1 ;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 0, VarSet]
type = VarSet
trigger1 =stateno != 3000
trigger1= stateno!=9000
v = 21 ;fv = 10
value = 0

[State 0, VarSet]
type = VarSet
trigger1 =stateno != [1100,1109]
trigger1=stateno!=9000
v = 23;fv = 10
value = 0

[State 0, VarSet]
type = VarSet
trigger1 =stateno != [1000,1005]
trigger1=stateno!=9000
v = 22;fv = 10
value = 0

[State 0, VarSet]
type = VarSet
trigger1 = stateno!=9000 && gametime%60=0 && movetype!=H
v = 9    ;fv = 10
value = 0
;ignorehitpause =
;persistent =
[State -2]
type = VarSet
trigger1 = Life > 1
trigger1 = StateNo != 9000
var(46) = StateNo
ignorehitpause = 1


[State 0, VarSet]
type = VarSet
trigger1 =movetype !=H ||stateno=9000
v = 33    ;fv = 10
value = animelemno(0)
ignorehitpause = 1
;persistent =

[State -3]
type = HitOverride
trigger1 =var(9)=0
triggerall = MoveType != H
triggerall = Anim != 5300
triggerall= statetype!=A
triggerall = StateNo != [120,159]
triggerall = gethitvar(animtype)<3
;trigger1 = PrevStateNo != 9000
time = 1
slot = 7
attr = SCA, NA, NP, SP
stateno = 9000

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

[State -3, Wall Hit Spark]
type = Explod
triggerall = !NumExplod(9049)
triggerall =  Enemy, BackEdgeDist < 5
trigger1 = ((enemy, stateno = 5030) && (time = 1))
trigger2 = ((enemy, stateno = 5050) && (time = 1))
trigger3 = (enemy, stateno = 5020)
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) || (var(5) = 1 && time > 20)
trigger1 = stateno !=9000 && time >= 0
trigger2 = Winko
trigger3= movetype=H&&stateno!=9000
id = 6001
ignorehitpause=1

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

[State -2, RemoveExplod]    ;remove hyper bg
type = RemoveExplod
trigger1= movetype=H&&stateno!=9000
id =3001
ignorehitpause=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
[State -3, Hit0]
type = PlaySnd
triggerall = Alive
triggerall = Time = 0
triggerall = Var(0) = [0,20]
trigger1 = Stateno = 5000
trigger2 = Stateno = 5010
value = 5000, 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
[State -3, Hit1]
type = PlaySnd
triggerall = Alive
triggerall = Time = 0
triggerall = Var(0) = [21,30]
trigger1 = Stateno = 5000
trigger2 = Stateno = 5010
value = 5000, 1
;----------------------
;--------------------
[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
[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
;-----------------
[State -3, Hit2]
type = PlaySnd
triggerall = Alive
triggerall = Time = 0
triggerall = Var(0) = [41,50]
trigger1 = stateno = 5070
trigger2 = stateno = 5080
value = 5000, 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
;-----------------------
[State -3, Hit2]
type = PlaySnd
triggerall = Alive
triggerall = Time = 0
triggerall = Var(0) = [51,60]
trigger1 = stateno = 5070
trigger2 = stateno = 5080
value = 5000, 1
[State -3, Hit2]
type = PlaySnd
triggerall = Alive
triggerall = Time = 0
triggerall = Var(0) = [51,60]
trigger1 = stateno = 5070
trigger2 = stateno = 5080
value = 5000, 1
;----------------------

[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

