;------------------------------------------------------------------
; EX Shoryuken
[StateDef 2100]
type = S
movetype = A
physics = N
ctrl = 0
velset = 0,0
poweradd = -500
anim = 2100
facep2 = 1

[State 0, ExFX]
type = explod
trigger1 = !time
anim = 8210
sprpriority = 3
postype = p1
pos = ceil(8 * const(size.xscale)), ceil(-28 * const(size.yscale))
scale = 0.5, 0.5
pausemovetime = -1
supermovetime = -1
ownpal = 1

[State 0, Afterimage]
type = afterimage
trigger1 = time = 0
time = 2
timegap = 1
framegap = 1
length = 8
palbright = 32, 32, 0
palcontrast = 128, 128, 128
paladd = -10, -10, -10
palmul = 1.1, 1, 0.5
trans = add
ignorehitpause = 1

[State 0, Dust]
type = explod
trigger1 = animelem = 4
trigger2 = animelem = 5
;vel = 0, 0
anim = 10050
sprpriority = 3
postype = p1
pos = 0, 0
ownpal = 1
scale = 0.5, 0.5
pausemovetime = -1
supermovetime = -1

[State 0, AfterImageTime]
type = AfterImageTime
trigger1 = 1
time = 2

[State 0, State]
type = StateTypeSet
trigger1 = AnimElem = 4
statetype = A
movetype = A
physics = N

[State 0, var]
type = varset
trigger1 = AnimElemtime(1) = 0
var(1) = 4

[State 0, ex]
type = playsnd
trigger1 = AnimElem = 1
value = S1111, 0

[State 0, pos]
type = posset
trigger1 = time = 0
y = 0

[State 0, cheat]
type = NotHitBy
trigger1 = AnimElemTime(5) < 2
value = SCA
ignorehitpause = 1

[State 0, Vel]
type = VelSet
trigger1 = AnimElemtime(4) = 0
x = 10
y = -11

[State 0, vel]
type = VelAdd
trigger1 = AnimElemTime(4) > 0
x = ifElse(Vel X <= 0, 0, -.5)
y = .5

[State 0, Snd]
type = playsnd
trigger1 = animelem = 3
value = 3, 9
channel = 0

[State 0, snd]
type = playsnd
trigger1 = AnimElem = 1
value = S51, 3

[State 0, snd]
type = playsnd
trigger1 = AnimElem = 4
value = S40, 0

[State 0, hit3]
type = HitDef
triggerall = !var(4) && (var(2) < 1 || var(15)) || numtarget(1004) || numtarget(2100)
trigger1 = AnimElem = 3
attr = A, SA
damage = ceil(ifelse(fvar(11) * 84 < 7, 7, fvar(11) * 84)), 9
animtype = Up
air.animtype = back
fall.animtype = back
guardflag = MA
hitflag = MAF
priority = 7, Hit
pausetime = 26, 26
guard.pausetime = 12, 12
hitsound = S2,2
guardsound = S6,0
ground.type = High
ground.slidetime = 20
ground.hittime = 20
guard.hittime = 16
ground.velocity = .5, -4.5
guard.velocity = -5.77
airguard.velocity = -5.33,-1
air.type = High
air.velocity = .5, -4.5
air.hittime = 120
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
fall = 1
fall.recover = 1
fall.recovertime = 120
yaccel = .35
ID = 2100
getpower = 0,0
envshake.time = 25
fall.envshake.time = ceil(11 * (ifelse(var(5), 1.2, 1)))
fall.envshake.freq = 0.0
fall.envshake.ampl = 0
fall.envshake.phase = 0.0
sparkno = S-1 + 0 * (var(33) := 8013)
guard.sparkno = S-1 + 0 * (var(34) := 8001)
sparkxy = -10 + 0 * (var(35) := 35), var(36) := -80

[State 0, Change]
type = ChangeState
triggerall = AnimElemtime(4) < 0;5
trigger1 = movehit && enemy,movetype = H && (numtarget(2100) || numtarget(2101))
value = 2101
ignorehitpause = 1

[State 0, hit4]
type = HitDef
triggerall = !var(4) && (var(2) < 1 || var(15)) || numtarget(1004) || numtarget(2105)
trigger1 = AnimElem = 4
trigger2 = AnimElem = 5
trigger3 = AnimElem = 6
attr = A, SA
damage = ceil(ifelse(fvar(11) * 42 < 7, 7, fvar(11) * 42)), 5
animtype = Up
guardflag = MA
hitflag = MAF
priority = 7, Hit
pausetime = 11, 11
guard.pausetime = 10, 10
hitsound = S2,2
guardsound = S6,0
ground.type = High
ground.slidetime = 20
ground.hittime = 20
guard.hittime = 16
ground.velocity = -2, -10
guard.velocity = -5.77
airguard.velocity = -5.33,-1
air.type = High
air.velocity = -2, -10
air.hittime = 120
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
fall = 1
fall.recover = 1
fall.recovertime = 120
yaccel = .5
Id = 2105
getpower = 0,0
envshake.time = 15
fall.envshake.time = ceil(6 * (ifelse(var(5), 1.2, 1)))
fall.envshake.freq = 0.0
fall.envshake.ampl = 0
fall.envshake.phase = 0.0
sparkno = S-1 + 0 * (var(33) := 8013)
guard.sparkno = S-1 + 0 * (var(34) := 8001)
sparkxy = -10 + 0 * (var(35) := 21), var(36) := -110

[State 0, idle]
type = statetypeset
trigger1 = AnimElemtime(7) >= 0
movetype = I

[State 0, end]
type = ChangeState
trigger1 = Pos Y >= 0 && Vel Y > 0
value = 1007
ctrl = 1

;EX shoryuken hit----------
[Statedef 2101]
type = S
movetype = A
physics = N
;juggle = 0
ctrl = 0
anim = 2101
velset = 0, 0
sprpriority = 3

[State 0, cheat]
type = nothitby
trigger1 = 1
value = SCA

[State 0, Dust]
type = explod
trigger1 = animelem = 4
trigger2 = animelem = 5
;vel = 0, 0
anim = 10050
sprpriority = 3
postype = p1
pos = 0, 0
ownpal = 1
scale = 0.5, 0.5
pausemovetime = -1
supermovetime = -1

[State 0, Snd]
type = playsnd
trigger1 = animelem = 4
value = 3, 9
channel = 0

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

[State 0, vel]
type = velset
trigger1 = Time = 0
x = 0

[State 0, vel]
type = velset
trigger1 = AnimElem = 4
x = 5.5
y = -12

[State 0, vel]
type = veladd
trigger1 = AnimElemtime(4) > 0
x = ifelse(vel x <= 0, 0, -.5)
y = .5

[State 0, push]
type = playerpush
trigger1 = Animelemtime(7) < 0
value = 0

[State 0, HitDef]
type = HitDef
trigger1 = AnimElem = 3
attr = A, HA
animtype = heavy
air.animtype = back
fall.animtype = back
hitflag = MAF
guardflag = M
priority = 7, hit
damage = ceil(ifelse(fvar(11) * 56 < 7, 7, fvar(11) * 56)), 6
pausetime = 16, 16
hitsound = S2, 2
guardsound = S6, 0
ground.type = low
ground.slidetime = 20
ground.hittime = 20
guard.hittime = 12
ground.velocity = 0,-6;-3.5, -6 ;.25
air.type = Low
air.velocity = 0,-6;-3.5,-6
air.hittime = 120
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
fall = 1
fall.recover = 1
fall.recovertime = 120
air.recover = 0
ID = ifelse(numtarget(3301), 3301, 3300)
p2facing = 1
yaccel = .5
getpower = 0, 0
forcestand = 1
kill = 0
envshake.time = 16
fall.envshake.time = 0
fall.envshake.freq = 0.0
fall.envshake.ampl = 0
fall.envshake.phase = 0.0
sparkno = S-1 + 0 * (var(33) := 8014)
guard.sparkno = S-1 + 0 * (var(34) := 8001)
sparkxy = -10 + 0 * (var(35) := 27), var(36) := -95

[State 0, Hit]
type = HitDef
trigger1 = AnimElem = 4
attr = A, HA
hitflag = MAF
animtype = Up
;air.animtype = back
;fall.animtype = back
damage = ceil(ifelse(fvar(11) * 49 < 7, 7, fvar(11) * 49)), 6
priority = 7, hit
pausetime = 12, 12;15,15;2,3
;sparkno = 20+(random%4)
;guard.sparkno = 41
;sparkxy = -15, -90
hitsound = S2, 2
guardsound = S6, 0
ground.type = high
ground.slidetime = 20
ground.hittime = 20
guard.hittime = 12
ground.velocity = -3, -11
air.type = high
air.velocity = -3, -11
air.hittime = 120
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
yaccel = .5
getpower = 0, 0
air.recover = 0
p2facing = 1
air.fall = 1
fall.recover = 1
fall.recovertime = 120
forcestand = 1
envshake.time = 15
fall.envshake.time = 0
fall.envshake.freq = 0.0
fall.envshake.ampl = 0
fall.envshake.phase = 0.0
sparkno = S-1 + 0 * (var(33) := 8014)
guard.sparkno = S-1 + 0 * (var(34) := 8001)
sparkxy = -10 + 0 * (var(35) := 21), var(36) := -90

[State 0, state]
type = StatetypeSet
trigger1 = AnimElemTime(6) > 1
Statetype = A
movetype = A
physics = N

;[State 0, state]
;type = StatetypeSet
;trigger1 = pos y >= 0 && vel y > 0
;type = S
;movetype = A
;physics = N

[State 0, idle]
type = statetypeset
trigger1 = AnimElemtime(7) >= 0
movetype = I

[State 0, end]
type = changestate
trigger1 = vel y > 0 && pos y >= 0
value = 1007;7568
ctrl = 1

;Hurricane kick EX Air
[Statedef 2300]
type = A
movetype = A
physics = A
ctrl = 0
anim = 1055
poweradd = -500
sprpriority = 1
facep2 = 1

[State 0, ExFX]
type = explod
trigger1 = !time
anim = 8210
sprpriority = 3
postype = p1
pos = ceil(-8 * const(size.xscale)), ceil(-104 * const(size.yscale))
scale = 0.5, 0.5
pausemovetime = -1
supermovetime = -1
ownpal = 1

[State 0, Afterimage]
type = afterimage
trigger1 = time = 0
time = 2
timegap = 1
framegap = 1
length = 8
palbright = 32, 32, 0
palcontrast = 128, 128, 128
paladd = -10, -10, -10
palmul = 1.1, 1, 0.5
trans = add
ignorehitpause = 1

[State 0, AfterImageTime]
type = AfterImageTime
trigger1 = 1
time = 2

[State 0, var]
type = varset
trigger1 = AnimElemTime(1) = 0
var(1) = 4

[State 0, ex]
type = playsnd
trigger1 = AnimElem = 1
value = S1111, 0

[State 0, snd]
type = playsnd
trigger1 = Animelem = 1 || AnimElem = 3 || AnimElem = 5
trigger2 = AnimElem = 9 || AnimElem = 11 || AnimElem = 15 || Animelem = 17
value = S51, 0

[State 0, snd]
type = playsnd
trigger1 = AnimElem = 1
value = S3, 11
channel = 0

[State 0, Width]
type = Width
trigger1 = movehit
edge = 50,30

[State 0, PlayerPush]
type = PlayerPush
trigger1 = 1;AnimElemTime(27) < 0
value = 0

[State 0, slow]   ;Pots
type = velmul
trigger1 = animelemtime(4) >= 0 && animelemtime(22) < 0 && vel y > 0
x = 0.95
y = 0.66

[State 0, slow] ;Pots
type = velset
trigger1 = animelemtime(14) < 0 && pos y >= -10
x = 0
y = 0

[State 0, hit]
type = HitDef
triggerall = (!var(4) && var(2) < 1) || numtarget(555)
trigger1 = AnimElem = 5
trigger2 = AnimElem = 11
;trigger3 = AnimElem = 17
attr = A, SA
damage = ceil(ifelse(fvar(11) * 28 < 7, 7, fvar(11) * 28)), 3
animtype = Hard
air.animtype = back
fall.animtype = back
guardflag = HA
hitflag = MAF
priority = 7, Hit
pausetime = 2, 2
;sparkno = 10+(random%4)
;guard.sparkno = 41
;sparkxy = -10, -70
hitsound = S2, 5
guardsound = S6, 0
ground.type = High
ground.slidetime = 20
ground.hittime = 20
ground.velocity = ifelse(p2dist x > 30, 10, 8) -vel x, ifelse(p2dist y < (enemy, const(size.mid.pos.y)) + 60, 0, -3)
air.type = Low
air.velocity = ifelse(p2dist x > 30, 10, 8) -vel x, ifelse(p2dist y < (enemy, const(size.mid.pos.y)) + 60, 0, -3) + vel y
air.hittime = 120
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
yaccel = .5
ID = 555
fall = 1
fall.recover = 1
fall.recovertime = 120
getpower = 0,0
sprpriority = -1
forcestand = 1
envshake.time = 15
fall.envshake.time = ceil(4 * ifelse(var(5), 1.25, 1))
fall.envshake.freq = 0.0
fall.envshake.ampl = 0
fall.envshake.phase = 0.0
sparkno = S-1 + 0 * (var(33) := 8013)
guard.sparkno = S-1 + 0 * (var(34) := 8001)
sparkxy = -10 + 0 * (var(35) := 58), var(36) := -70

[State 0, hit]
type = HitDef
triggerall = (!var(4) && var(2) < 1) || numtarget(555)
trigger1 = AnimElem = 7
trigger2 = AnimElem = 13
attr = A, SA
damage = ceil(ifelse(fvar(11) * 28 < 7, 7, fvar(11) * 28)), 3
animtype = Hard
air.animtype = back
fall.animtype = back
guardflag = HA
hitflag = MAF
priority = 7, Hit
pausetime = 2, 2
;sparkno = 10+(random%4)
;guard.sparkno = 41
;sparkxy = -10, -70
hitsound = S2, 5
guardsound = S6, 0
ground.type = High
ground.slidetime = 20
ground.hittime = 20
guard.hittime = 12
ground.velocity = ifelse(p2dist x > 30, -10, -8) -vel x, ifelse(p2dist y < (enemy, const(size.mid.pos.y)) + 60, 0, -3)
air.type = Low
air.velocity = ifelse(p2dist x > 30, -10, -8) -vel x, ifelse(p2dist y < (enemy, const(size.mid.pos.y)) + 60, 0, -3) + vel y
air.hittime = 120
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
yaccel = .5
getpower = 0, 0
fall = 1
fall.recover = 1
fall.recovertime = 120
ID = 555
p2facing = -1
sprpriority = 1
forcestand = 1
envshake.time = 15
fall.envshake.time = ceil(4 * ifelse(var(5), 1.25, 1))
fall.envshake.freq = 0.0
fall.envshake.ampl = 0
fall.envshake.phase = 0.0
sparkno = S-1 + 0 * (var(33) := 8013)
guard.sparkno = S-1 + 0 * (var(34) := 8001)
sparkxy = -10 + 0 * (var(35) := -52), var(36) := -70

[State 0, hit]
type = HitDef
triggerall = (!var(4) && var(2) < 1) || numtarget(555)
trigger1 = AnimElem = 17 ;19
attr = A, SA
damage = ceil(ifelse(fvar(11) * 56 < 7, 7, fvar(11) * 56)), 6
animtype = diagup
guardflag = HA
hitflag = MAF
priority = 7, Hit
pausetime = 6, 6;5,0
;sparkno = 10+(random%4)
;guard.sparkno = 41
;sparkxy = -10, -70
hitsound = S2, 5
guardsound = S6, 0
ground.type = High
ground.slidetime = 20
ground.hittime = 20
guard.hittime = 12
ground.velocity = -8, 1
air.type = High
air.velocity = -8, 1
air.hittime = 120
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
fall = 1
fall.recover = 1
fall.recovertime = 120
air.recover = 0
ID = 555
forcestand = 1
yaccel = .5
getpower = 0,0
p2facing = -1
envshake.time = 15
fall.envshake.time = ceil(8 * ifelse(var(5), 1.25, 1))
fall.envshake.freq = 0.0
fall.envshake.ampl = 0
fall.envshake.phase = 0.0
sparkno = S-1 + 0 * (var(33) := 8013)
guard.sparkno = S-1 + 0 * (var(34) := 8001)
sparkxy = -10 + 0 * (var(35) := 58), var(36) := -70

[State 0, idle]
type = statetypeset
trigger1 = AnimElemtime(20) >= 0
movetype = I

;---------------------------------------------------------
;Hurricane kick EX
[Statedef 2200]
type = A
movetype = A
physics = N
facep2 = 1
poweradd = -500
ctrl = 0
velset = 0,0
anim = 2201

[State 0, ExFX]
type = explod
trigger1 = !time
anim = 8210
sprpriority = 3
postype = p1
pos = ceil(0 * const(size.xscale)), ceil(-72 * const(size.yscale))
scale = 0.5, 0.5
pausemovetime = -1
supermovetime = -1
ownpal = 1

[State 0, Afterimage]
type = afterimage
trigger1 = time = 0
time = 2
timegap = 1
framegap = 1
length = 8
palbright = 32, 32, 0
palcontrast = 128, 128, 128
paladd = -10, -10, -10
palmul = 1.1, 1, 0.5
trans = add
ignorehitpause = 1

[State 0, AfterImageTime]
type = AfterImageTime
trigger1 = 1
time = 2

[State 0, var]
type = varset
trigger1 = AnimElemTime(1) = 0  
var(1) = 4

[State 0, ex]
type = playsnd
trigger1 = AnimElem = 1
value = S1111, 0

[State 0, Dust]
type = explod
trigger1 = animelem = 6
vel = 0, 0
anim = 30000
sprpriority = 3
postype = p1
pos = 0, 20
ownpal = 1
scale = 1, 1
pausemovetime = -1
supermovetime = -1

[State 0, Snd]
type = playsnd
trigger1 = animelem = 1
value = 3, 11
channel = 0

[State 0, pos]
type = posset
trigger1 = Time = 0
y = 0

[State 0, Vel]
type = VelSet
trigger1 = AnimElem = 1
y = -4

[State 0, Stay]
type = Velset
trigger1 = AnimElem = 5
Y = 0

[State 0, vel]
type = Veladd
trigger1 = AnimElemTime(5) < 0
trigger2 = AnimElemTime(24) >= 0
y = .375

[State 0, Width]
type = Width
trigger1 = 1
edge = 50,30

[State 0, Push]
type = PlayerPush
trigger1 = AnimElemTime(4) >= 0
value = 0

[State 0, snd]
type = playsnd
trigger1 = Animelem = 1 || AnimElem = 4 || AnimElem = 8
trigger2 = (AnimElem = 11 || AnimElem = 14 || AnimElem = 17 || Animelem = 20)
trigger3 = (Animelem = 23 || AnimElem = 26)
value = 51, 0

[State 0, hit]
type = HitDef
triggerall = (!var(4) && var(2) < 1) || numtarget(555) || numtarget(2300)
trigger1 = AnimElem = 7
trigger2 = AnimElem = 13
attr = A, SA
damage = ceil(ifelse(fvar(11) * 28 < 7, 7, fvar(11) * 28)), 3
animtype = Hard
air.animtype = back
fall.animtype = back
guardflag = MA
hitflag = MAF
priority = 7, Hit
pausetime = 2, 2
hitsound = S2, 5
guardsound = S6, 0
ground.type = High
ground.slidetime = 20
ground.hittime = 20
ground.velocity = ifelse((p2dist x != [-30, 30]), 20, 15), 0
;airguard.velocity = -5.33,-1
air.type = High
air.velocity = 5, -4;ifelse(p2dist y < (enemy, const(size.mid.pos.y)) + 45, -1, -4)
air.hittime = 120
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
yaccel = .5
air.fall = 1
fall.recover = 1
fall.recovertime = 120
sprpriority = -1
forcestand = 1
ID = 2300
envshake.time = 15
fall.envshake.time = ceil(4 * ifelse(var(5), 1.25, 1))
fall.envshake.freq = 0.0
fall.envshake.ampl = 0
fall.envshake.phase = 0.0
sparkno = S-1 + 0 * (var(33) := 8013)
guard.sparkno = S-1 + 0 * (var(34) := 8001)
sparkxy = -10 + 0 * (var(35) := 58), var(36) := -70

[State 0, hit2]
type = HitDef
triggerall = (!var(4) && var(2) < 1) || numtarget(555) || numtarget(2300)
trigger1 = AnimElem = 9
trigger2 = AnimElem = 15
attr = A, SA
damage = ceil(ifelse(fvar(11) * 28 < 7, 7, fvar(11) * 28)), 3
animtype = Hard
air.animtype = back
fall.animtype = back
guardflag = MA
hitflag = MAF
priority = 7, Hit
pausetime = 2, 2
hitsound = S2, 5
guardsound = S6, 0
ground.type = High
ground.slidetime = 20
ground.hittime = 20
guard.hittime = 12
ground.velocity = ifelse((p2dist x != [-30, 30]), -20, -15), 0
air.type = High
air.velocity = -5, -4;ifelse(p2dist y < (enemy, const(size.mid.pos.y)) + 45, -1, -4)
air.hittime = 120
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
yaccel = .5
getpower = 0, 0
air.fall = 1
fall.recover = 1
fall.recovertime = 120
ID = 2300
p2facing = -1
sprpriority = 1
forcestand = 1
envshake.time = 15
fall.envshake.time = ceil(4 * ifelse(var(5), 1.25, 1))
fall.envshake.freq = 0.0
fall.envshake.ampl = 0
fall.envshake.phase = 0.0
sparkno = S-1 + 0 * (var(33) := 8013)
guard.sparkno = S-1 + 0 * (var(34) := 8001)
sparkxy = -10 + 0 * (var(35) := -52), var(36) := -70

[State 0, hit3]
type = HitDef
triggerall = (!var(4) && var(2) < 1) || numtarget(555) || numtarget(2300)
trigger1 = AnimElem = 19
attr = A, SA
damage = ceil(ifelse(fvar(11) * 49 < 7, 7, fvar(11) * 49)), 5
animtype = diagup
guardflag = MA
hitflag = MAF
priority = 7, Hit
pausetime = 6, 6
;sparkno = 10+(random%4)
;guard.sparkno = 41
;sparkxy = 35, -70
hitsound = S2, 5
guardsound = S6, 0
ground.type = High
ground.slidetime = 16
ground.hittime = 16
guard.hittime = 8
ground.velocity = -7.5, -7.5
guard.velocity = -5.77
air.type = High
air.velocity = -7.5, -7.5
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
fall = 1
fall.recover = 1
fall.recovertime = 120
yaccel = .5
ID = 2100
getpower = 0, 0
p2facing = 1
envshake.time = 15
fall.envshake.time = ceil(7 * ifelse(var(5), 1.25, 1))
fall.envshake.freq = 0.0
fall.envshake.ampl = 0
fall.envshake.phase = 0.0
sparkno = S-1 + 0 * (var(33) := 8013)
guard.sparkno = S-1 + 0 * (var(34) := 8001)
sparkxy = -10 + 0 * (var(35) := 58), var(36) := -70

[State 0, juggle]
type = varset
trigger1 = movehit && numtarget(2100)
var(2) = 0

[State 0, idle]
type = statetypeset
trigger1 = AnimElemtime(21) >= 0
movetype = I

[State 0, getoverhere] ;Taken from Pots' Ryu
type = helper
trigger1 = AnimElem = 6
trigger1 = !numhelper(1052)
helpertype = normal
stateno = 1052
ID = 1052
name = "EXVaccum"
postype = p2
pos = enemynear, const(size.ground.back) -25, -ceil(enemy, pos y)
persistent = 0
size.ground.back = 5
size.ground.front = 5
size.height = 240

[State 0, change]
type = Changestate
trigger1 = Pos Y >= 0 && Vel Y > 0
value = 1205

;-EX Hadouken
[Statedef 2000]
type = S
movetype = A
Physics = S
velset = 0, 0
ctrl = 0
anim = 2000
facep2 = 1
poweradd = -500

[State 0, ExFX]
type = explod
trigger1 = !time
anim = 8210
sprpriority = 3
postype = p1
pos = ceil(0 * const(size.xscale)), ceil(-72 * const(size.yscale))
scale = 0.5, 0.5
pausemovetime = -1
supermovetime = -1
ownpal = 1

[State 0, Afterimage]
type = afterimage
trigger1 = time = 0
time = 2
timegap = 1
framegap = 1
length = 8
palbright = 32, 32, 0
palcontrast = 128, 128, 128
paladd = -10, -10, -10
palmul = 1.1, 1, 0.5
trans = add
ignorehitpause = 1

[State 0, AfterImageTime]
type = AfterImageTime
trigger1 = 1
time = 2

[State 0, var]
type = varset
trigger1 = AnimElemTime(1) = 0
var(1) = 4

[State 0, var]
type = varset
trigger1 = !time
var(19) = 3

[State 0, ex]
type = playsnd
trigger1 = AnimElem = 1
value = S1111, 0

[State 0, Snd]
type = playsnd
trigger1 = animelem = 4
value = 3, 3
channel = 0

[State 0, snd]
type = playsnd
trigger1 = AnimElem = 5
value = S1000, 5

[State 0, width]
type = width
trigger1 = AnimElemtime(5) = 0
value = 15, 0

[State 0, Hadouken]
type = helper
trigger1 = animelemtime(5) = 1
helpertype = normal
stateno = 10000
ID = 1000
name = "Hadouken"
postype = p1
pos = 76, -65
size.xscale = 1;0.5
size.yscale = 1;0.5
ownpal = 1

[State 0, idle]
type = statetypeset
trigger1 = AnimElemtime(12) >= 0
movetype = I

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

;--Zankuu Hadouken
[Statedef 2050]
type = A
physics = A
movetype = A
anim = 1050
ctrl = 0
poweradd = -500
sprpriority = 1

[State 0, ExFX]
type = explod
trigger1 = !time
anim = 8210
sprpriority = 3
postype = p1
pos = ceil(5 * const(size.xscale)), ceil(-80 * const(size.yscale))
scale = 0.5, 0.5
pausemovetime = -1
supermovetime = -1
ownpal = 1

[State 0, Afterimage]
type = afterimage
trigger1 = time = 0
time = 2
timegap = 1
framegap = 1
length = 8
palbright = 32, 32, 0
palcontrast = 128, 128, 128
paladd = -10, -10, -10
palmul = 1.1, 1, 0.5
trans = add
ignorehitpause = 1

[State 0, AfterImageTime]
type = AfterImageTime
trigger1 = 1
time = 2

[State 0, var]
type = varset
trigger1 = AnimElemTime(1) = 0
var(1) = 4

[State 0, var]
type = varset
trigger1 = !time
var(19) = 3

[State 0, ex]
type = playsnd
trigger1 = AnimElem = 1
value = S1111, 0

[State 0, width]
type = width
trigger1 = animelemtime(2) = -1 || animelemtime(5) = -1
value = 27, 0

[State 0, Hado]
type = helper
trigger1 = animelem = 2 || animelem = 5
helpertype = normal
stateno = 10050
ID = 1055
name = "Hadouken"
postype = p1
pos = ifelse((animelem = 2), 54, 67), ifelse((animelem = 2), -48, -48)
ownpal = 1
size.xscale = 1;0.75
size.yscale = 1;0.75

[State 0, Snd]
type = playsnd
trigger1 = animelem = 2 || animelem = 5
value = 3, 10
channel = 0

[State 0, Snd]
type = playsnd
trigger1 = animelem = 2 || animelem = 5
value = 1000, 5
channel = 1

;-EX Hadouken
[Statedef 2600]
type = S
movetype = A
Physics = S
velset = 0, 0
ctrl = 0
anim = 2600
facep2 = 1
poweradd = -500

[State 0, ExFX]
type = explod
trigger1 = !time
anim = 8210
sprpriority = 3
postype = p1
pos = ceil(0 * const(size.xscale)), ceil(-72 * const(size.yscale))
scale = 0.5, 0.5
pausemovetime = -1
supermovetime = -1
ownpal = 1

[State 0, Afterimage]
type = afterimage
trigger1 = time = 0
time = 2
timegap = 1
framegap = 1
length = 8
palbright = 32, 32, 0
palcontrast = 128, 128, 128
paladd = -10, -10, -10
palmul = 1.1, 1, 0.5
trans = add
ignorehitpause = 1

[State 0, AfterImageTime]
type = AfterImageTime
trigger1 = 1
time = 2

[State 0, var]
type = varset
trigger1 = AnimElemTime(1) = 0
var(1) = 4

[State 0, var]
type = varset
trigger1 = !time
var(19) = 3

[State 0, ex]
type = playsnd
trigger1 = AnimElem = 1
value = S1111, 0

[State 0, Aura]
type = helper
trigger1 = animelem = 3
helpertype = normal
stateno = 6000
ID = 6000
postype = p1
ownpal = 1
persistent = 0

[State 0, Width]
type = Width
trigger1 = Animelemtime(8) = 0
value = 15,0

[State 0, Snd]
type = playsnd
trigger1 = animelem = 3
value = 3, 5
channel = 0
persistent = 0

[State 0, Snd]
type = playsnd
trigger1 = animelem = 8
value = 3, 0
channel = 0

[State 0, Snd]
type = playsnd
trigger1 = animelem = 8
value = 1000, 5

[State 0, Hadouken]
type = helper
trigger1 = animelemtime(8) = 1
helpertype = normal
stateno = 15000
ID = 1000
name = "Hadouken"
postype = p1
pos = 76, -65
size.xscale = 1;0.5
size.yscale = 1;0.5
ownpal = 1
;supermovetime = 40

[State 0, idle]
type = statetypeset
trigger1 = AnimElemtime(12) >= 0
movetype = I

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

;Roll
[Statedef 2500]
type = S
movetype = I
physics = N
ctrl = 0
velset = 0,0
facep2 = 1
Anim = 1501
poweradd = -500;ifelse(!var(19), 25, ifelse(var(19) = 1, 30, 35))

[State 0, ExFX]
type = explod
trigger1 = !time
anim = 8210
sprpriority = 3
postype = p1
pos = ceil(10 * const(size.xscale)), ceil(-30 * const(size.yscale))
scale = 0.5, 0.5
pausemovetime = -1
supermovetime = -1
ownpal = 1

[State 0, Afterimage]
type = afterimage
trigger1 = time = 0
time = 2
timegap = 1
framegap = 1
length = 8
palbright = 32, 32, 0
palcontrast = 128, 128, 128
paladd = -10, -10, -10
palmul = 1.1, 1, 0.5
trans = add
ignorehitpause = 1

[State 0, AfterImageTime]
type = AfterImageTime
trigger1 = 1
time = 2

[State 0, var]
type = varset
trigger1 = AnimElemTime(1) = 0
var(1) = 4

[State 0, ex]
type = playsnd
trigger1 = AnimElem = 3
value = S1111, 0

[State 0, cheat]
type = nothitby
trigger1 = AnimElemtime(3) < 0
value = SCA

[State 0, vel]
type = VelSet
trigger1 = AnimElem = 1
x = 5

[State 0, vel]
type = velset
trigger1 = AnimElem = 8
x = 0

[State 0, push]
type = playerpush
trigger1 = AnimElemtime(8) < 0
value = 0

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