;SuperCancel Effect
[Statedef 9998]
type    = A
movetype= I
physics = N
anim = 9997
velset = 0,0
ctrl = 0

[State 0, ]
type = VarSet
trigger1 = !time
var(1) = parent, var(49) - 1
ignorehitpause = 1

[State 0, PlaySnd]
type = PlaySnd
trigger1 = !time
value = 9,11
channel = 2
;lowpriority = -1



[State 3510, 4]
type = explod
trigger1 = !time
anim = 9140+var(1)
pos = 160,ifelse(parent, var(18),90,120)
postype = left
sprpriority = 7
ontop = 1
supermove = 1
bindtime = 9999
ID = 9131
ignorehitpause = 1
ownpal = 0

[State adjust 2 ]
type = ModifyExplod
trigger1 = time >= 0
ID = 9131
scale = .75-(.01*time), .755-(.01*time)
;sprpriority = 0
;ontop = 0
;shadow = 0,0,0
;ownpal = 0
;removeongethit = 0
;ignorehitpause = 0
;persistent = 1

[State -2, RemoveExplod]
type = RemoveExplod
trigger1 = time = 50
id = 9110

[State 1150, ChangeState]
type = DestroySelf
trigger1 = time = 50

;Super Effect
[Statedef 9999]
type    = A
movetype= I
physics = N
anim = 9997
velset = 0,0
ctrl = 0



[State 0, ]
type = VarSet
trigger1 = !time
var(1) = parent, var(49) - 1
ignorehitpause = 1
;persistent = 1

[State 5900, 3] ;Change palette
type = RemapPal
trigger1 = 1
source = 4,1
dest = ifelse(parent,stateno=3100,3,4),ifelse(parent,stateno=3100,1,parent, var(49))


[State 0, ]
type = PlaySnd
trigger1 = Time = 1
value = 20, floor(parent,fvar(11))

[State 0, ]
type = AssertSpecial
trigger1 = time = [1,47]
flag= noFG

[State 0, 1]
type = BGPalFX
triggerall = !var(1) 
trigger1 = !time 
time = 20
sinadd = -255,-255,0,80
ignorehitpause = 1

[State 0, 1]
type = BGPalFX
triggerall = var(1) = 1
trigger1 = !time 
time = 20
sinadd = -55,-75,-255,80
ignorehitpause = 1

[State 0, 1]
type = BGPalFX
triggerall = var(1) = 2 && !(parent, stateno = 3100)
trigger1 = !time 
time = 20
sinadd = -75,-255,-255,80
ignorehitpause = 1

[State 0, 1]
type = BGPalFX
triggerall = var(1) = 2 && (parent, stateno = 3100)
trigger1 = !time
time = 20
sinadd = -192,-192,-192,80
ignorehitpause = 1
color = 0

[State 0, 1]
type = BGPalFX
triggerall = !var(1)
trigger1 = time = [20,47]
time = 3
add = -255,-255,0
ignorehitpause = 1

[State 0, 1]
type = BGPalFX
triggerall = var(1) = 1
trigger1 = time = [20,47]
time = 3
add = -55,-75,-255
ignorehitpause = 1

[State 0, 1]
type = BGPalFX
triggerall = var(1) = 2 && !(parent, stateno = 3100)
trigger1 = time = [20,47]
time = 3
add = -75,-255,-255
ignorehitpause = 1

[State 0, 1]
type = BGPalFX
triggerall = var(1) = 2 && (parent, stateno = 3100)
trigger1 = time = [20,47]
time = 3
add = -192,-192,-192
ignorehitpause = 1
color = 0

[State 0, 1]
type = BGPalFX
triggerall = !var(1)
trigger1 = time = 48
time = 20
add = -255,-255,0
sinadd = 255,255,0,80
ignorehitpause = 1

[State 0, 1]
type = BGPalFX
triggerall = var(1) = 1
trigger1 = time = 48
time = 20
add = -55,-75,-255
sinadd = 55,75,255,80
ignorehitpause = 1

[State 0, 1]
type = BGPalFX
triggerall = var(1) = 2 && !(parent, stateno = 3100)
trigger1 = time = 48
time = 20
add = -75,-255,-255
sinadd = 75,255,255,80
ignorehitpause = 1

[State 0, 1]
type = BGPalFX
triggerall = var(1) = 2 && (parent, stateno = 3100)
trigger1 = time = 48
time = 20
add = -192,-192,-192
sinadd = 192,192,192,80
ignorehitpause = 1

[State 0, 1]
type = PalFX
trigger1 = !time 
time = 1
add = 0,0,0

[State 0, ]
type = Explod
trigger1 = !Time 
anim = 9110
id = 9110
pos = 0,0
postype = P1
sprpriority = 5
supermove = 1
bindtime = -1
ownpal = 0
persistent = 0
pausemovetime = 999999
Supermovetime = 999999
scale = .5,.5

[State 0, ]
type = Explod
trigger1 = !Time 
anim = 9120
id = 9120
pos = 0,0
postype = P1
sprpriority = 5
supermove = 1
bindtime = -1
scale = 0,0
ownpal = 0
persistent = 0
pausemovetime = 999999
Supermovetime = 999999
scale = .5,.5

[State 0, ]
type = Explod
trigger1 = Time = 10 && var(1) > 0
anim = 9120
id = 9121
pos = 0,0
postype = P1
sprpriority = 5
supermove = 1
bindtime = -1
scale = 0,0
ownpal = 0
persistent = 0
pausemovetime = 999999
Supermovetime = 999999
scale = .5,.5

[State 0, ]
type = Explod
trigger1 = Time = 20 && var(1) = 2
anim = 9120
id = 9122
pos = 0,0
postype = P1
sprpriority = 5
supermove = 1
bindtime = -1
scale = 0,0
ownpal = 0
persistent = 0
pausemovetime = 999999
Supermovetime = 999999
scale = .5,.5

[State 8520, Portrait]
type = explod
trigger1 = !Time && ((parent, stateno = 3050 && parent, fvar(10)=0) || (parent, stateno = 3070 && parent, fvar(10)!=1) || (parent, stateno = 3100))
anim = 9150+!(parent, fvar(24)=0)
ID = 9150
sprpriority = -16
postype = back
removetime = 50
supermovetime = -1
[State 8520, Portrait]
type = explod
trigger1 = !Time  && ((parent, stateno = 3050 && parent, fvar(10)=0) || (parent, stateno = 3070 && parent, fvar(10)!=1) || (parent, stateno = 3100))
anim = 9150+!(parent, fvar(24)=0)
ID = 9151
sprpriority = -16
postype = back
removetime = 50
supermovetime = -1

[State 8520, Scale]
type = modifyexplod
trigger1 = numexplod(9150) && time < 16
ID = 9150
postype = back
pos = 160, ifelse(parent, var(18) && parent, fvar(24),90,120)
scale = 1 - (0.03125 * time), 1 - (0.03125 * time)
trans = addalpha
alpha = (8 * time), 256
[State 8520, Scale]
type = modifyexplod
trigger1 = numexplod(9151) && time < 16
ID = 9151
postype = back
pos = 160, ifelse(parent, var(18) && parent, fvar(24),90,120)
scale = 2 - (0.09375 * time), 2 - (0.09375 * time)
trans = addalpha
alpha = (8 * time), 256

[State 8520, Scale]
type = modifyexplod
trigger1 = numexplod(9150) && (time = [16, 42])
ID = 9150
postype = back
pos = 160, ifelse(parent, var(18) && parent, fvar(24),90,120)
scale = 0.5, 0.5
trans = addalpha
alpha = 256, 256
[State 8520, Scale]
type = modifyexplod
trigger1 = numexplod(9151) && (time = [16, 42])
ID = 9151
scale = 0, 0

[State 8520, Scale]
type = modifyexplod
trigger1 = numexplod(9150) && time >= 42
ID = 9150
postype = back
pos = 160 + (8 * (time -42)), ifelse(parent, var(18) && parent, fvar(24),90,120)
scale = 0.5, 0.5
trans = addalpha
alpha = 128 - 16 * (time -42), 256
[State 8520, Scale]
type = modifyexplod
trigger1 = numexplod(9151) && time >= 42
ID = 9151
postype = back
pos = 160 - (8 * (time -42)), ifelse(parent, var(18) && parent, fvar(24),90,120)
scale = 0.5, 0.5
trans = addalpha
alpha = 128 - 16 * (time -42), 256

[State 0, 1]
type = ModifyExplod
trigger1 = Time >= 1
anim = 9120
ID = 9120
sprpriority = 5
vel=0,0
scale =.5*(Time*0.05) ,.5*(Time*0.05)

[State 0, 1]
type = ModifyExplod
trigger1 = Time >= 10
ID = 9121
sprpriority = 5
vel=0,0
scale =.5*((Time-10)*0.05) ,.5*((Time-10)*0.05)

[State 0, 1]
type = ModifyExplod
trigger1 = Time >= 20
ID = 9122
sprpriority = 5
vel=0,0
scale =.5*((Time-20)*0.05) ,.5*((Time-20)*0.05)

[State -2, RemoveExplod]
type = RemoveExplod
trigger1 = time = 50
id = 9110

[State 1150, ChangeState]
type = DestroySelf
trigger1 = time = 50
;==========================================================================
;Blair's Super Attacks.
;==========================================================================

;Mirage Combo Kick (Level 1)
[Statedef 3000]
type    = S
movetype= A
physics = S
ctrl = 0
velset = 0,0
anim = 3000
sprpriority = 2
facep2 = 1

[State 0, VarAdd]
type = VarAdd
trigger1 = !time
var(49) = 1

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

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 11
value = 1,7
channel = 0

[State Invincibility Frames]
type = NotHitBy
trigger1 = AnimElemTime(3)<0
time = 1
value = SCA

[State Invincibility Frames]
type = NotHitBy
trigger1 = AnimElemTime(6)<0 && var(56)
time = 1
value = SCA


[State 3000, AfterImage]
type = AfterImage
trigger1 = time = 5 && var(49) = 1
time = 999
TimeGap  = 1
FrameGap = 10
length = 21
PalBright = 0,0,0
PalContrast = 32, 32, 160
PalAdd = 0,0,0
PalMul = .75,.75,.75
trans = addalpha
alpha = 256, 160

[State 3000, AfterImage]
type = AfterImage
trigger1 = time = 5 && var(49) = 3
time = 999
TimeGap  = 1
FrameGap = 10
length = 21
PalBright = 0,0,0
PalContrast = 160, 32, 32
PalAdd = 0,0,0
PalMul = .75,.75,.75
trans = addalpha
alpha = 256, 160

[State 3000, AfterImage]
type = AfterImage
trigger1 = time = 5 && var(49) =2
time = 999
TimeGap  = 1
FrameGap = 10
length = 21
PalBright = 0,0,0
PalContrast = 160, 160, 32
PalAdd = 0,0,0
PalMul = .75,.75,.75
trans = addalpha
alpha = 256, 160

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 5 || AnimElem = 8 || AnimElem = 11 || AnimElem = 16 || AnimElem = 27 || AnimElem = 38
value = 0, ifelse(AnimElemtime(20) < 0,2,5)

[State 700, Effect]
type = Helper
triggerall = prevstateno = [1000,3999]
trigger1 = time = 5 && !fvar(19)
name = "Effect"
stateno = 9998
ID = 194
pos = 0,0
keyctrl = 0
postype = p1
supermovetime = 99999999
pausemovetime = 99999999
ownpal = 1

[State 3001, Super]
type = Helper
trigger1 = Time = 5
id = 9997
name = "Super Effect"
pos = 20,-86
postype = P1
stateno = 9999
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
pausemovetime = 999999
supermovetime = 999999


[State 3000, Superpause]
type = SuperPause
trigger1 = Time = 5
time = 50+(var(5)*2)
movetime = 5
anim = -1
pos = 0,0
darken = 0
p2defmul = 1
poweradd = -1000
unhittable = 1



[State 0, ]
type = PosAdd
trigger1 = AnimElem = 3
x = 13

[State 0, ]
type = PosAdd
trigger1 = AnimElem = 18
x = 28

[State 0, ]
type = VelSet
trigger1 = AnimElem = 4 || AnimElem = 6 || AnimElem = 9 || AnimElem = 12
x = ifelse(var(56),6.5,4.3)

[State 0, ]
type = VelSet
trigger1 = AnimElemTime(18) >= 0 && AnimElemtime(26) < 0
trigger2 = AnimElemTime(30) >= 0 && AnimElemtime(38) < 0
x = ifelse(AnimElemTime(30)>0,4,3)*(ifelse(var(56),1.5,1))

[State 0, ]
type = VelSet
trigger1 = AnimElem = 26 || Animelem = 38
x = 0 

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 5 
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 45, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 3, 3                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -87
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=2)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = High               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -2            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -4,-5.25           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0
[State 200, 1]
type = HitDef
trigger1 = AnimElem = 8 
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 45, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 3, 3                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -64
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=2)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -2            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -4,-5.25           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0
[State 200, 1]
type = HitDef
trigger1 = AnimElem = 11 
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 45, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 3, 3                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -89
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=2)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = High               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -2            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -4,-5.25           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0
[State 200, 1]
type = HitDef
trigger1 = AnimElem = 16 
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 45, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 3, 3                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -76
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=2)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -2            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -4,-5.25           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0
[State 200, 1]
type = HitDef
trigger1 = AnimElem = 26 
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 45, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 5, 5                ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -76
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=1)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -8.5            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -4,-5.25           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 38 
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 50, 4                   ;Damage that move inflicts, guard damage
animtype = DiagUp 
air.animtype = DiagUp                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 5, 5                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -108
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=1)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -5,-8.5
guard.velocity = -9
air.velocity = -5,-8.5
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = -12.6
envshake.time = 10
envshake.ampl = 5
getpower = 0,0
givepower = 35, 35
air.fall = 0
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .5

[State 0, ]
type = PosAdd
trigger1 = AnimTime = 0
x = 27

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

;Mirage Combo Kick (Level 3)
[Statedef 3002]
type    = S
movetype= A
physics = S
juggle  = 4
ctrl = 0
velset = 2.5,0
anim = 3002
sprpriority = 2
facep2 = 1

[State 0, VarAdd]
type = VarAdd
trigger1 = !time
var(49) = 3

[State 0, ]
type = VarSet
trigger1 = var(10)
var(10) = 0
ignorehitpause = 1
;persistent = 1

[State 0, ]
type = VarSet
trigger1 = fvar(31)
fvar(31) = 0
ignorehitpause = 1
;persistent = 1

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

[State Invincibility Frames]
type = NotHitBy
trigger1 = AnimElemTime(6)<0
time = 1
value = SCA

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 20
value = 1,7
channel = 0

[State 0, ]
type = PosAdd
trigger1 = AnimElem = 3
x = 13


[State 3000, AfterImage]
type = AfterImage
trigger1 = time = 5
time = 999
TimeGap  = 1
FrameGap = 10
length = 21
PalBright = 0,0,0
PalContrast = 160, 32, 32
PalAdd = 0,0,0
PalMul = .75,.75,.75
trans = addalpha
alpha = 256, 160

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 5 || AnimElem = 8 || AnimElem = 11 || AnimElem = 16 
trigger2 = AnimElem = 20 || AnimElem = 26 || AnimElem = 38 || AnimElem = 44 || AnimElem = 54
value = 0, ifelse(AnimElemtime(20) < 0,2,5)

[State 3001, Super]
type = Helper
trigger1 = Time = 5
id = 9997
name = "Super Effect"
pos = 20,-86
postype = P1
stateno = 9999
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
pausemovetime = 999999
supermovetime = 999999


[State 3000, Superpause]
type = SuperPause
trigger1 = Time = 5
time = 50
movetime = 5
anim = -1
pos = 0,0
darken = 0
p2defmul = 1
poweradd = -1000
unhittable = 1

[State 0, ]
type = PosAdd
trigger1 = AnimElem = 46
x = 20

[State 0, ]
type = VelSet
trigger1 = AnimElem = 4 || AnimElem = 6 || AnimElem = 9 || AnimElem = 12 || AnimElem = 18 || AnimElem = 41
x = 5

[State 0, ]
type = VelSet
trigger1 = AnimElemTime(29) >= 0 && AnimElemtime(37) < 0
trigger2 = AnimElemTime(46) >= 0 && AnimElemtime(54) < 0
x = ifelse(Animelemtime(46)>0,5,3)

[State 0, ]
type = VelSet
trigger1 = AnimElem = 44 || Animelem = 54
x = 0 

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 5 
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 45, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 2, 2                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -87
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=2)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = High               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -2            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -4,-5.25           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0
[State 200, 1]
type = HitDef
trigger1 = AnimElem = 8 
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 45, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 2, 2                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -64
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=2)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -2            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -4,-5.25           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0
[State 200, 1]
type = HitDef
trigger1 = AnimElem = 11 
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 45, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 2, 2                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -89
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=2)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = High               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -2            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -4,-5.25           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0
[State 200, 1]
type = HitDef
trigger1 = AnimElem = 16 
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 45, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 2, 2                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -76
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=2)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -2            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -4,-5.25           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0
[State 200, 1]
type = HitDef
trigger1 = AnimElem = 20 
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 25, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 3, 3                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -18
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -2            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -4,-5.25           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0
[State 200, 1]
type = HitDef
trigger1 = AnimElem = 26 
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 25, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 3, 3                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -99
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = High               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -2            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -4,-5.25           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0
[State 200, 1]
type = HitDef
trigger1 = AnimElem = 38 
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 25, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 5, 5                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -76
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=1)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -8.5            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -4,-5.25           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0
[State 200, 1]
type = HitDef
trigger1 = AnimElem = 44 
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 45, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 5, 5                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -76
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=1)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -8.5            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -4,-5.25           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0
[State 200, 1]
type = HitDef
trigger1 = AnimElem = 54 
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 45, 4                   ;Damage that move inflicts, guard damage
animtype = Up 
air.animtype = Up                ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 5, 5                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -108
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=1)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -1,-7.5            ;Velocity at which opponent is pushed
airguard.velocity = -1,-7.5     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -1,-7.5           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 0
envshake.time = 10
envshake.ampl = 3
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .49
getpower = 0,0
[State 200, 7]
type = ChangeState
trigger1 = AnimTime = 0
value = 3003

[Statedef 3003]
type    = S
movetype= A
physics = S
anim = 1012
ctrl = 0


[State 0, ]
type = StateTypeSet
trigger1 = AnimElem = 3
statetype = A
;movetype =
physics = N
ignorehitpause = 1
;persistent = 1

[State 810, Throw Sound]
type = PlaySnd
trigger1 = AnimElem = 3 || AnimElem = 9
value = 0, 5

[State 0, ]
type = VelMul
trigger1 = AnimElemtime(7) >= 0
x = .95

[State 0, ]
type = PosAdd
trigger1 = AnimElem = 3
x = 10

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

[State 0, ]
type = VelAdd
trigger1 = AnimElemtime(3)>0
y = .45
;ignorehitpause = 0
;persistent = 1

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 3 
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 65, 7                   ;Damage that move inflicts, guard damage
animtype = Heavy 
air.animtype = Back                ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 9,9                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -76
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=1)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -2.5,-7.5            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -2.5,-7.5           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 0
envshake.time = 10
envshake.ampl = 3
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .49
getpower = 0,0
[State 200, 1]
type = HitDef
trigger1 = AnimElem = 9 
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 65, 7                   ;Damage that move inflicts, guard damage
animtype = Heavy 
air.animtype = Back                ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 9,9                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -76
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=1)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -6.5,-4.5            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -6.5,-4.5           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 0
envshake.time = 10
envshake.ampl = 3
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .49
getpower = 0,0

[State 810, State End]
type = ChangeState
triggerall = AnimElemtime(3) > 1
trigger1 = vel y > 0 && pos Y >= 0
value = 52

;Spin Side Shoot (Level 1)
[Statedef 3010]
type    = S
movetype= A
physics = S
ctrl = 0
velset = 0,0
anim = 3010
sprpriority = 2
facep2 = 1

[State 0, VarAdd]
type = VarAdd
trigger1 = !time
var(49) = 1

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 4
value = 2,5
channel = 0

[State 0, ]
type = StateTypeSet
trigger1 = AnimElem = 8
statetype = A
;movetype =
physics = N
ignorehitpause = 1
;persistent = 1

[State Invincibility Frames]
type = NotHitBy
trigger1 = AnimElemTime(9)<0
time = 1
value = SCA

[State 3000, AfterImage]
type = AfterImage
trigger1 = AnimElem = 4 && var(49) = 1
time = 999
TimeGap  = 1
FrameGap = 10
length = 21
PalBright = 0,0,0
PalContrast = 32, 32, 160
PalAdd = 0,0,0
PalMul = .75,.75,.75
trans = addalpha
alpha = 256, 160

[State 3000, AfterImage]
type = AfterImage
trigger1 = AnimElem = 4 && var(49) = 3
time = 999
TimeGap  = 1
FrameGap = 10
length = 21
PalBright = 0,0,0
PalContrast = 160, 32, 32
PalAdd = 0,0,0
PalMul = .75,.75,.75
trans = addalpha
alpha = 256, 160

[State 3000, AfterImage]
type = AfterImage
trigger1 = AnimElem = 4 && var(49) =2
time = 999
TimeGap  = 1
FrameGap = 10
length = 21
PalBright = 0,0,0
PalContrast = 160, 160, 32
PalAdd = 0,0,0
PalMul = .75,.75,.75
trans = addalpha
alpha = 256, 160

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 8
value = 9, 1

[State 700, Effect]
type = Helper
triggerall = prevstateno = [1000,3999]
trigger1 = AnimElem =2 && !fvar(19)
name = "Effect"
stateno = 9998
ID = 194
pos = 0,0
keyctrl = 0
postype = p1
supermovetime = 99999999
pausemovetime = 99999999
ownpal = 1

[State 3001, Super]
type = Helper
trigger1 = AnimElem = 2
id = 9997
name = "Super Effect"
pos = -5,-114
postype = P1
stateno = 9999
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
pausemovetime = 999999
supermovetime = 999999

[State 3000, Superpause]
type = SuperPause
trigger1 = AnimElem = 2
time = 50
movetime = 50
anim = -1
pos = 0,0
darken = 0
p2defmul = 1
poweradd = -1000
unhittable = 1




[State 0, ]
type = VelSet
trigger1 = AnimElem = 8 
x = ifelse(var(56),6,4)
y = -9

[State 0, ]
type = VelAdd
trigger1 = AnimElemTime(8) >= 0 
y = .98 



[State 0, ]
type = PosAdd
trigger1 = AnimElem = 7
x = 11 


[State 200, 1]
type = HitDef
trigger1 = AnimElemTime(AnimElemNo(0)) = 0 
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 25, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 3, 3                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -67+(random%21)
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = High               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -2            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -4,-5.25           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0


[State 200, 7]
type = ChangeState
triggerall = AnimElemtime(8) > 3
trigger1 = vel Y > 0 && pos Y >=0
value = 3011


; Part 2
[Statedef 3011]
type    = S
movetype= A
physics = S
juggle  = 0
ctrl = 0
velset = 0,0
anim = 3011
sprpriority = 2
movehitpersist = 1



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

[State 0, ]
type = StateTypeSet
trigger1 = AnimElem = 11
statetype = A
;movetype =
physics = N
ignorehitpause = 1
;persistent = 1



[State 0, ]
type = VelSet
trigger1 = AnimElem = 11
x = 2.5
y = -5.5

[State 0, ]
type = VelAdd
trigger1 = AnimElemTime(12) >= 0 
y = .75 


[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 5
value = 2,4
channel = 0

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

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 5 || AnimElem = 14
value = 0,5



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




[State 200, 1]
type = HitDef
trigger1 = AnimElem = 5 
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 40, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 5, 5                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -97
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=1)                ;Sound to play on guard
ground.type = High               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 30             ;Time that the opponent slides back
ground.hittime  = 30             ;Time opponent is in hit state
ground.velocity = -2            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -4,-5.25           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 13 
attr = A, HA                     ;Attribute: Standing, Normal Attack
damage = 14, 7                   ;Damage that move inflicts, guard damage
animtype = High 
air.animtype = High                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 5, 5                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -58
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=1)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
guard.velocity = -9
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = -12.6
getpower = 0,0
p1stateno = 3013
kill=0

[State 0, ]
type = PosAdd
trigger1 = AnimElem = 3
x = 11

[State 200, 7]
type = ChangeState
triggerall = AnimElemtime(9) > 3
trigger1 = vel Y > 0 && pos Y >=0
value = 3012

; Jump Land
[Statedef 3012]
type    = S
physics = S
ctrl = 0
anim = 3012

[State -3, Landing Sound]
type = GameMakeAnim
trigger1 = !Time 
value = 61
pos = 0,0
under = 1

[State 40, 5]
type = PlaySnd
trigger1 = !Time 
value = f7, 1
channel = 20

[State 52, 1]
type = VelSet
trigger1 = !Time 
y = 0

[State 52, 2]
type = PosSet
trigger1 = !Time 
y = 0

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

;Spin Side Shoot (hitting)
[Statedef 3013]
type    = U
movetype= A
physics = U
ctrl = 0

[State 0, ]
type = VelSet
trigger1 = AnimElemtime(3) >= 0
x = ifelse(prevstateno=1020,4,ifelse(prevstateno=1021,4.5,5))


[State 200, 1]
type = HitDef
trigger1 = !time && (enemynear, statetype != A) 
sparkno = -1
numhits = 0
sparkno = -1
projhitanim = -1
projremovetime = 2
hitsound  = -1 + 0 * (var(46) :=-1)
guardsound = -1 + 0 * (var(47) :=-1)
attr = A, HA
animtype = Up
guardflag = HA
p2facing = 1
p1stateno = 3014
p2stateno = 3015
numhits = 0
kill = 0
pausetime = 0,0
ground.type = Low
getpower = 0,0

[State 200, 1]
type = HitDef
trigger1 = !time && (enemynear, statetype = A)
sparkno = -1
numhits = 0
attr = A, HA
projhitanim = -1
projremovetime = 2
hitsound  = -1 + 0 * (var(46) :=-1)
guardsound = -1 + 0 * (var(47) :=-1)
damage    = 45,7
guardflag = HA
pausetime = 9, 9                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -58
;Y-offset for the spark rel. to p1
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -5,-8.5
guard.velocity = -9
air.velocity = -5,-8.5
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = -12.6
envshake.time = 10
envshake.ampl = 5
getpower = 0,0
givepower = 35, 35
air.fall = 0
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .5


[State 0, ]
type = VelAdd
trigger1 = AnimElemTime(12) >= 0 
y = .75 


[State 200, 7]
type = ChangeState
triggerall = AnimElemtime(9) > 3
trigger1 = vel Y > 0 && pos Y >=0
value = 3012

;Body Slam 
[Statedef 3014]
type    = S
movetype= A
physics = S
anim = 3013
poweradd = 0



[State 0, ]
type = VelSet
trigger1 = !time
y = 0
;ignorehitpause = 0
;persistent = 1



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



[State 810, Throw Sound]
type = PlaySnd
trigger1 = AnimElem = 6
value = 5, 7
channel = 0

[State 810, Throw Sound]
type = PlaySnd
trigger1 = AnimElem = 15
value = 2, 1
channel = 0

[State 192, 0]
type = GameMakeAnim
trigger1 = AnimElem = 6
pos = 2,-23
value = 2

[State 1486, 3]
type = EnvShake
trigger1 = AnimElem = 6 
time = 20


[State 810, Bind 1]
type = TargetBind
trigger1 = AnimElemTime(9) < 0
pos = ifelse(Animelemtime(8)>=0,15-(target,const(size.mid.pos.y)),15), 0



[State 810, Width 2-11]
type = Width
trigger1 = AnimElemTime(9) < 0
edge = 30,10

[State 1950, 5]
type = TargetLifeAdd
trigger1 = animelem = 6
value = -(floor(fvar(36)*125))
kill = 0

[State 210, 2]
type = HitDef
trigger1 = AnimElem = 15
attr = S, HA
animtype  = Med
damage    = 1
hitflag = MAFD
guardflag = L
pausetime = 12,12
sparkno = 3
sparkxy = -10,-17
hitsound   = -1 + 0 * (var(46) :=5)
guardsound = s6,1
ground.type = Trip
ground.slidetime = 20
ground.hittime  = 20
ground.velocity = -5,-4
air.velocity = -5,-4
getpower = 0,0
givepower = 30,0
fall = 1
fall.recover = 0
envshake.time = 12
fall.envshake.time = 10

[State 0, ]
type = VelSet
trigger1 = AnimElemtime(16) >= 0 && AnimElemtime(19) <0
x = -3
;y = 
;ignorehitpause = 0
;persistent = 1

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

;Thrown by Body Slam
[Statedef 3015]
type    = A
movetype= H
physics = N
velset = 0,0

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

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



[State 0, ]
type = AngleSet
trigger1 = !time
value = 0
;ignorehitpause = 0
;persistent = 1



[State 0, ]
type = AngleAdd
trigger1 = AnimElemtime(3) >= 0
value = 9
;ignorehitpause = 0
;persistent = 1


[State 0, ]
type = AngleDraw
trigger1 = AnimElemtime(3) >= 0
;ignorehitpause = 0
;persistent = 1


[State 820, 2]
type = ChangeState
trigger1 = !Animtime
value = 3016

; Throw (hit by, into air)
[Statedef 3016]
type    = A
movetype= H ;Get hit
physics = N
velset = 0,0
ctrl = 0

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

[State 192, 0]
type = GameMakeAnim
trigger1 = Time = 1 
pos = -5,0
value = 60

[State 1485, 1]
type = ChangeAnim
trigger1 = Time = 1
value = 5110

[State 1486, 5] ;Hit ground
type = SelfState
trigger1 = time >= 100
value = 5110 ;Hit ground



;Spin Side Shoot (Level 3)
[Statedef 3030]
type    = S
movetype= A
physics = S
juggle  = 4
ctrl = 0
velset = 0,0
anim = 3010
sprpriority = 2
facep2 = 1

[State 0, VarAdd]
type = VarAdd
trigger1 = !time
var(49) = 3

[State 0, ]
type = VarSet
trigger1 = fvar(31)
fvar(31) = 0
ignorehitpause = 1
;persistent = 1

[State 0, ]
type = VarSet
trigger1 = var(10)
var(10) = 0
ignorehitpause = 1
;persistent = 1

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 4
value = 2,5
channel = 0

[State 0, ]
type = StateTypeSet
trigger1 = AnimElem = 8
statetype = A
;movetype =
physics = N
ignorehitpause = 1
;persistent = 1

[State 3000, AfterImage]
type = AfterImage
trigger1 = AnimElem = 4
time = 999
TimeGap  = 1
FrameGap = 10
length = 21
PalBright = 0,0,0
PalContrast = 160, 32, 32
PalAdd = 0,0,0
PalMul = .75,.75,.75
trans = addalpha
alpha = 256, 160

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 8
value = 9, 1

[State 3001, Super]
type = Helper
trigger1 = AnimElem = 2
id = 9997
name = "Super Effect"
pos = -5,-114
postype = P1
stateno = 9999
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
pausemovetime = 999999
supermovetime = 999999

[State 3000, Superpause]
type = SuperPause
trigger1 = AnimElem = 2
time = 54
movetime = 50
anim = -1
pos = 0,0
darken = 0
p2defmul = 1
poweradd = -1000
unhittable = 1

[State Invincibility Frames]
type = NotHitBy
trigger1 = AnimElemTime(12)<0
time = 1
value = SCA



[State 0, ]
type = VelSet
trigger1 = AnimElem = 8 
x = 5.5
y = -9

[State 0, ]
type = VelAdd
trigger1 = AnimElemTime(8) >= 0 
y = .98 



[State 0, ]
type = PosAdd
trigger1 = AnimElem = 7
x = 11 


[State 200, 1]
type = HitDef
trigger1 = AnimElemTime(AnimElemNo(0)) = 0 
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 25, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 3, 3                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -67+(random%21)
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = High               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -2            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -4,-5.25           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0


[State 200, 7]
type = ChangeState
triggerall = AnimElemtime(8) > 3
trigger1 = vel Y > 0 && pos Y >=0
value = 3031


; Part 2
[Statedef 3031]
type    = S
movetype= A
physics = S
juggle  = 0
ctrl = 0
velset = 0,0
anim = 3031
sprpriority = 2




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

[State 0, ]
type = StateTypeSet
trigger1 = AnimElem = 11
statetype = A
;movetype =
physics = N
ignorehitpause = 1
;persistent = 1



[State 0, ]
type = VelSet
trigger1 = AnimElem = 22
x = 3
y = -5.5

[State 0, ]
type = VelAdd
trigger1 = AnimElemTime(23) >= 0 
y = .75 


[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 5
value = 2,4
channel = 0

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 12 || AnimElem = 15 || AnimElem = 18
value = 2,8
channel = 0

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 26 
value = 2,7
channel = 0

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 5 || AnimElem = 26
value = 0,5

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 12 || AnimElem = 15 || AnimElem = 18
value = 0,3

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

[State 0, ]
type = VelSet
trigger1 = AnimElem = 10 || AnimElem = 14 || AnimElem = 17
x = 2

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 5 
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 40, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 5, 5                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -97
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=1)                ;Sound to play on guard
ground.type = High               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 30             ;Time that the opponent slides back
ground.hittime  = 30             ;Time opponent is in hit state
ground.velocity = -2            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -4,-5.25           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 12 || AnimElem = 18
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 35, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 3, 3                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -97
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=1)                ;Sound to play on guard
ground.type = High               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 25             ;Time that the opponent slides back
ground.hittime  = 25             ;Time opponent is in hit state
ground.velocity = -2            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -4,-5.25           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 15
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 35, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 3, 3                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -64
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=1)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 25             ;Time that the opponent slides back
ground.hittime  = 25             ;Time opponent is in hit state
ground.velocity = -2            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -4,-5.25           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0


[State 200, 1]
type = HitDef
trigger1 = AnimElem = 25 
attr = A, HA                     ;Attribute: Standing, Normal Attack
damage = 14, 7                   ;Damage that move inflicts, guard damage
animtype = High 
air.animtype = High                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 5, 5                ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -58
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=1)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
guard.velocity = -9
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = -12.6
getpower = 0,0
p1stateno = 3033
kill=0

[State 0, ]
type = PosAdd
trigger1 = AnimElem = 3
x = 11

[State 200, 7]
type = ChangeState
triggerall = AnimElemtime(24) > 3
trigger1 = vel Y > 0 && pos Y >=0
value = 3012

;Spin Side Shoot (hitting)
[Statedef 3033]
type    = U
movetype= A
physics = U
ctrl = 0

[State 0, ]
type = VelSet
trigger1 = AnimElemtime(3) >= 0
x = ifelse(prevstateno=1020,4,ifelse(prevstateno=1021,4.5,5))


[State 200, 1]
type = HitDef
trigger1 = !time && (enemynear, statetype != A) 
sparkno = -1
numhits = 0
sparkno = -1
hitsound  = -1 + 0 * (var(46) :=-1)
guardsound = -1 + 0 * (var(47) :=-1)
attr = A, HA
animtype = Up
guardflag = HA
p2facing = 1
p1stateno = 3034
p2stateno = 3015
numhits = 0
kill = 0
pausetime = 0,0
ground.type = Low
getpower = 0,0


[State 200, 1]
type = HitDef
trigger1 = !time && (enemynear, statetype = A)
sparkno = -1
numhits = 0
attr = A, HA
hitsound  = -1 + 0 * (var(46) :=-1)
guardsound = -1 + 0 * (var(47) :=-1)
damage    = 45,7
guardflag = HA
pausetime = 9, 9                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -58
;Y-offset for the spark rel. to p1
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -5,-8.5
guard.velocity = -9
air.velocity = -5,-8.5
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = -12.6
envshake.time = 10
envshake.ampl = 5
getpower = 0,0
givepower = 35, 35
air.fall = 0
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .5


[State 0, ]
type = VelAdd
trigger1 = AnimElemTime(12) >= 0 
y = .75 


[State 200, 7]
type = ChangeState
triggerall = AnimElemtime(9) > 3
trigger1 = vel Y > 0 && pos Y >=0
value = 3012

;Body Slam 
[Statedef 3034]
type    = S
movetype= A
physics = S
anim = 3033
poweradd = 0



[State 0, ]
type = VelSet
trigger1 = !time
y = 0
;ignorehitpause = 0
;persistent = 1



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



[State 810, Throw Sound]
type = PlaySnd
trigger1 = AnimElem = 6
value = 5, 7
channel = 0

[State 810, Throw Sound]
type = PlaySnd
trigger1 = AnimElem = 18 || AnimElem = 26 || AnimElem = 34
value = 2, 9
channel = 0

[State 810, Throw Sound]
type = PlaySnd
trigger1 = AnimElem = 43
value = 2, 10
channel = 0

[State 192, 0]
type = GameMakeAnim
trigger1 = AnimElem = 6
pos = 2,-23
value = 2

[State 192, 0]
type = GameMakeAnim
trigger1 = AnimElem = 18 || AnimElem = 26 || AnimElem = 34
pos = 33,-23
value = 2

[State 192, 0]
type = GameMakeAnim
trigger1 = AnimElem = 18 || AnimElem = 26 || AnimElem = 34
pos = 33,0
value = 61

[State 810, Shake]
type = EnvShake
trigger1 = AnimElem = 18 || AnimElem = 26 || AnimElem = 34
time = 14
ampl = 4

[State 810, Throw Sound]
type = PlaySnd
trigger1 = AnimElem = 18 || AnimElem = 26 || AnimElem = 34
value = (ifelse(fvar(21),15,5)), 2
channel = 8

[State 810, Throw Sound]
type = PlaySnd
trigger1 = AnimElem = 18 || AnimElem = 26 || AnimElem = 34
value = 7, 0

[State 0, Explod]
type = Explod
trigger1 = AnimElem = 14
anim = 3034
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
vfacing = 1
bindtime = -1
sprpriority = 0
ontop = 0
ownpal = 0
removeongethit = 1

[State 1486, 3]
type = EnvShake
trigger1 = AnimElem = 6 
time = 20

[State 0, VelSet]
type = VelSet
trigger1 = AnimElem = 11
x = floor(P2dist X/7.0)

[State 0, VelSet]
type = VelSet
trigger1 = AnimElem = 14
x = 0

[State 0, PosAdd]
type = PosAdd
trigger1 = AnimElem = 37 || AnimElem = 38
x = -20




[State 810, Bind 1]
type = TargetBind
trigger1 = AnimElemTime(10) < 0
pos = ifelse(Animelemtime(8)>=0,15-(target,const(size.mid.pos.y)),15), 0

[State 810, Bind 1]
type = BindtoTarget
trigger1 = AnimElemTime(14) >= 0 && AnimElemTime(36) < 0
pos = 0,0

[State 810, Width 2-11]
type = Width
trigger1 = AnimElemTime(9) < 0
edge = 30,10

[State 1950, 5]
type = TargetLifeAdd
trigger1 = animelem = 6
value = -(floor(fvar(36)*105))
kill = 0

[State 1950, 5]
type = TargetLifeAdd
trigger1 = AnimElem = 18 || AnimElem = 26 || AnimElem = 34
value = -(floor(fvar(36)*40))
kill = 0

[State 0, TargetState]
type = TargetState
trigger1 = AnimElem = 18 || AnimElem = 26 || AnimElem = 34
value = 3035

[State 0, HitAdd]
type = HitAdd
trigger1 = AnimElem = 18 || AnimElem = 26 || AnimElem = 34
value = 1
;ignorehitpause =
;persistent =




[State 210, 2]
type = HitDef
trigger1 = AnimElem = 43
attr = S, HA
animtype  = Med
damage    = 1
hitflag = MAFD
guardflag = L
pausetime = 12,12
sparkno = 3
sparkxy = -10,-17
hitsound   = -1 + 0 * (var(46) :=5)
guardsound = s6,1
ground.type = Trip
ground.slidetime = 20
ground.hittime  = 20
ground.velocity = -5,-4
air.velocity = -5,-4
getpower = 0,0
givepower = 30,0
fall = 1
fall.recover = 0
envshake.time = 12
fall.envshake.time = 10

[State 0, ]
type = VelSet
trigger1 = AnimElemtime(44) >= 0 && AnimElemtime(47) <0
x = -3
;y = 
;ignorehitpause = 0
;persistent = 1

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

; Throw (hit by, into air)
[Statedef 3035]
type    = A
movetype= H ;Get hit
physics = N
velset = 0,0
ctrl = 0

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

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

[State 0, Explod]
type = Explod
trigger1 = !time
anim = f62
pos = 0,0
postype = p1  ;p2,front,back,left,right
scale = 2,2

[State 1486, 5] ;Hit ground
type = ChangeState
trigger1 = time = 6
value = 3016 ;Hit ground


;Dame Special
[Statedef 3040]
type    = S
movetype= A
physics = S
anim = 3040
ctrl = 0
facep2 = 1

[State 0, VarAdd]
type = VarAdd
trigger1 = !time
var(49) = 1

[State Invincibility Frames]
type = NotHitBy
trigger1 = AnimElemTime(4)<0
time = 1
value = SCA

[State 0, NotHitBy]
type = NotHitBy
trigger1 = AnimElemtime(6) < 0
value = ,NA,SA,NP,SP,HP
;value2 = S,NA
time = 1

[State 3000, AfterImage]
type = AfterImage
trigger1 = AnimElem = 3 && var(49) = 1
time = 999
TimeGap  = 1
FrameGap = 10
length = 21
PalBright = 0,0,0
PalContrast = 32, 32, 160
PalAdd = 0,0,0
PalMul = .75,.75,.75
trans = addalpha
alpha = 256, 160

[State 3000, AfterImage]
type = AfterImage
trigger1 = AnimElem = 3 && var(49) = 3
time = 999
TimeGap  = 1
FrameGap = 10
length = 21
PalBright = 0,0,0
PalContrast = 160, 32, 32
PalAdd = 0,0,0
PalMul = .75,.75,.75
trans = addalpha
alpha = 256, 160

[State 3000, AfterImage]
type = AfterImage
trigger1 = AnimElem = 3 && var(49) =2
time = 999
TimeGap  = 1
FrameGap = 10
length = 21
PalBright = 0,0,0
PalContrast = 160, 160, 32
PalAdd = 0,0,0
PalMul = .75,.75,.75
trans = addalpha
alpha = 256, 160


[State 3001, Super]
type = Helper
trigger1 = AnimElem = 2
id = 9997
name = "Super Effect"
pos = 5,-44
postype = P1
stateno = 9999
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
pausemovetime = 999999
supermovetime = 999999

[State 700, Effect]
type = Helper
triggerall = prevstateno = [1000,3999]
trigger1 = AnimELem = 2 && !fvar(19)
name = "Effect"
stateno = 9998
ID = 194
pos = 0,0
keyctrl = 0
postype = p1
supermovetime = 99999999
pausemovetime = 99999999
ownpal = 1

[State 3000, Superpause]
type = SuperPause
trigger1 = AnimElem = 2
time = 50
movetime = 50
anim = -1
pos = 0,0
darken = 0
p2defmul = 1
poweradd = -1000
unhittable = 1


[State 0, ]
type = VelMul
trigger1 = AnimElemtime(7) >= 0
x = .95

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

[State 810, Grab Sound]
type = PlaySnd
trigger1 = AnimElem = 2
value = 2, 9
channel = 0

[State 810, Throw Sound]
type = PlaySnd
trigger1 = AnimElem = 5
value = 0, 5

[State 0, ]
type = PosAdd
trigger1 = AnimElem = 4
x = 20

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

[State 0, ]
type = VelAdd
trigger1 = AnimElemtime(5)>0
y = .45
;ignorehitpause = 0
;persistent = 1

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 5
attr = S, NA                     ;Attribute: Standing, Normal Attack
damage = 125, 10                   ;Damage that move inflicts, guard damage
animtype = Heavy
air.animtype = Back                ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 13, 13                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -71
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -1,-8.5            ;Velocity at which opponent is pushed
airguard.velocity = -.5,-6.5     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -1,-8.5           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 0
envshake.time = 10
envshake.ampl = 3
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .47
getpower = 0,0

[State 810, State End]
type = ChangeState
triggerall = AnimElemtime(5) > 1
trigger1 = vel y > 0 && pos Y >= 0
value = 3041

; Part 2
[Statedef 3041]
type    = S
movetype= A
physics = S
juggle  = 0
ctrl = 0
velset = 0,0
anim = 3041
sprpriority = 2




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

[State 0, ]
type = StateTypeSet
trigger1 = AnimElem = 14
statetype = A
;movetype =
physics = N
ignorehitpause = 1
;persistent = 1



[State 0, ]
type = VelSet
trigger1 = AnimElem = 14
x = 1.5
y = -7.5

[State 0, ]
type = VelAdd
trigger1 = AnimElemTime(15) >= 0
y = .75




[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 3
value = 1,8
channel = 0

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 14
value = 2,5
channel = 0

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 3 || AnimElem = 7 || AnimElem = 10
value = 0,3

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 3
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 40, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 3, 3                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -97
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=1)                ;Sound to play on guard
ground.type = High               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 30             ;Time that the opponent slides back
ground.hittime  = 30             ;Time opponent is in hit state
ground.velocity = -1, -3.25           ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -1,-3.25           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 7
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 35, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 3, 3                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -64
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=1)                ;Sound to play on guard
ground.type = High               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 25             ;Time that the opponent slides back
ground.hittime  = 25             ;Time opponent is in hit state
ground.velocity = -1, -3.25           ;Velocity at which opponent is pushed
airguard.velocity = -.5,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -1,-3.25           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 10
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 35, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 3, 3                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -97
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=1)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 25             ;Time that the opponent slides back
ground.hittime  = 25             ;Time opponent is in hit state
ground.velocity = -1, -3.25           ;Velocity at which opponent is pushed
airguard.velocity = -.5,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -1,-5.25           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0


[State 200, 1]
type = HitDef
trigger1 = AnimElem = 16
attr = A, HA                     ;Attribute: Standing, Normal Attack
damage = 75, 4                   ;Damage that move inflicts, guard damage
animtype = Heavy
air.animtype = Back                ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = HA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 13, 13                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -58
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -2.5,-4.5            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -9.5,6          ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 0
envshake.time = 10
envshake.ampl = 3
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .49
getpower = 0,0
[State 0, ]
type = PosAdd
trigger1 = AnimElem = 5
x = 21

[State 200, 7]
type = ChangeState
triggerall = AnimElemtime(15) > 3
trigger1 = vel Y > 0 && pos Y >=0
value = 1005

;Dame Special
[Statedef 3042]
type    = S
movetype= A
physics = S
anim = 3040
ctrl = 0
facep2 = 1

[State 0, VarAdd]
type = VarAdd
trigger1 = !time
var(49) = 3

[State 0, ]
type = VarSet
trigger1 = fvar(31)
fvar(31) = 0
ignorehitpause = 1
;persistent = 1

[State 0, ]
type = VarSet
trigger1 = var(10)
var(10) = 0
ignorehitpause = 1
;persistent = 1

[State Invincibility Frames]
type = NotHitBy
trigger1 = AnimElemTime(5)<4
time = 1
value = SCA

[State 3000, AfterImage]
type = AfterImage
trigger1 = Animelem = 3
time = 999
TimeGap  = 1
FrameGap = 10
length = 21
PalBright = 0,0,0
PalContrast = 160, 32, 32
PalAdd = 0,0,0
PalMul = .75,.75,.75
trans = addalpha
alpha = 256, 160


[State 3001, Super]
type = Helper
trigger1 = AnimElem = 2
id = 9997
name = "Super Effect"
pos = 5,-44
postype = P1
stateno = 9999
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
pausemovetime = 999999
supermovetime = 999999

[State 3000, Superpause]
type = SuperPause
trigger1 = AnimElem = 2
time = 50
movetime = 50
anim = -1
pos = 0,0
darken = 0
p2defmul = 1
poweradd = -1000
unhittable = 1


[State 0, ]
type = VelMul
trigger1 = AnimElemtime(7) >= 0
x = .95

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

[State 810, Grab Sound]
type = PlaySnd
trigger1 = AnimElem = 2
value = 2, 9
channel = 0

[State 810, Throw Sound]
type = PlaySnd
trigger1 = AnimElem = 5
value = 0, 5

[State 0, ]
type = PosAdd
trigger1 = AnimElem = 4
x = 20

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

[State 0, ]
type = VelAdd
trigger1 = AnimElemtime(5)>0
y = .45
;ignorehitpause = 0
;persistent = 1

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 5
attr = S, NA                     ;Attribute: Standing, Normal Attack
damage = 125, 10                   ;Damage that move inflicts, guard damage
animtype = Heavy
air.animtype = Back                ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 13, 13                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -71
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -1,-10            ;Velocity at which opponent is pushed
airguard.velocity = -1,-6     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -1,-10           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 0
envshake.time = 10
envshake.ampl = 3
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .47
getpower = 0,0

[State 810, State End]
type = ChangeState
triggerall = AnimElemtime(5) > 1
trigger1 = vel y > 0 && pos Y >= 0
value = 3043

; Part 2
[Statedef 3043]
type    = S
movetype= A
physics = S
juggle  = 0
ctrl = 0
velset = 0,0
anim = 3043
sprpriority = 2




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

[State 0, ]
type = StateTypeSet
trigger1 = AnimElem = 46
statetype = A
;movetype =
physics = N
ignorehitpause = 1
;persistent = 1



[State 0, ]
type = VelSet
trigger1 = AnimElem = 46
x = 3.5
y = -7.5

[State 0, ]
type = VelAdd
trigger1 = AnimElemTime(47) >= 0
y = .75




[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 3
value = 1,8
channel = 0

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 47
value = 2,5
channel = 0

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 3 || AnimElem = 7 || AnimElem = 10
value = 0,3

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 15 || AnimElem = 18 || AnimElem = 21 || AnimElem = 26
value = 0,0

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 39
value = 0,5

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 3
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 40, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 3, 3                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -49
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=1)                ;Sound to play on guard
ground.type = High               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 30             ;Time that the opponent slides back
ground.hittime  = 30             ;Time opponent is in hit state
ground.velocity = -1, -2.25           ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -1,-2.25           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 7
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 35, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 3, 3                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -64
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=1)                ;Sound to play on guard
ground.type = High               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 25             ;Time that the opponent slides back
ground.hittime  = 25             ;Time opponent is in hit state
ground.velocity = -1, -2.25           ;Velocity at which opponent is pushed
airguard.velocity = -.5,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -1,-2.25           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 10
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 35, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 3, 3                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -97
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=1)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 25             ;Time that the opponent slides back
ground.hittime  = 25             ;Time opponent is in hit state
ground.velocity = -1, -2.25           ;Velocity at which opponent is pushed
airguard.velocity = -.5,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -1,-2.25           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 15 || AnimElem = 18 || AnimElem = 21
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 40, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 3, 3                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -49
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=2)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=1)                ;Sound to play on guard
ground.type = High               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 30             ;Time that the opponent slides back
ground.hittime  = 30             ;Time opponent is in hit state
ground.velocity = .5, -2.25           ;Velocity at which opponent is pushed
airguard.velocity = .5,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = .5,-2.25           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 27
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 60, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 7, 7                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -97
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=2)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=1)                ;Sound to play on guard
ground.type = High               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 30             ;Time that the opponent slides back
ground.hittime  = 30             ;Time opponent is in hit state
ground.velocity = -1, -4.25           ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -1,-4.25           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 39
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 80, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 13, 13                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -97
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=1)                ;Sound to play on guard
ground.type = High               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 30             ;Time that the opponent slides back
ground.hittime  = 30             ;Time opponent is in hit state
ground.velocity = -.5, -8          ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -.5,-8           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0



[State 200, 1]
type = HitDef
trigger1 = AnimElem = 48
attr = A, HA                     ;Attribute: Standing, Normal Attack
damage = 100, 4                   ;Damage that move inflicts, guard damage
animtype = Heavy
air.animtype = Back                ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = HA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 13, 13                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -58
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -2.5,-4.5            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -9.5,6          ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 0
envshake.time = 10
envshake.ampl = 3
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .49
getpower = 0,0

[State 0, ]
type = PosAdd
trigger1 = AnimElem = 5
x = 21

[State 200, 7]
type = ChangeState
triggerall = AnimElemtime(46) > 3
trigger1 = vel Y > 0 && pos Y >=0
value = 1005

;Fairy Gift
[Statedef 3050]
type    = S
movetype= A
physics = S
ctrl = 0
velset = 0,0
anim = 3050
sprpriority = 2

[State 0, VarAdd]
type = VarAdd
trigger1 = !time
var(49) = ifelse(fvar(10)=2,2,3)

[State 0, ]
type = VarSet
trigger1 = fvar(31)
fvar(31) = 0
ignorehitpause = 1
;persistent = 1

[State 0, ]
type = VarSet
trigger1 = var(10)
var(10) = 0
ignorehitpause = 1
;persistent = 1

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

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 6 || AnimElem = 9
value = 9, 0

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 14
value = 9, 1

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 14
value = 0, 7

[State 0, Turn]
type = Turn
trigger1 = AnimElem = 9
;ignorehitpause =
;persistent =


[State Invincibility Frames]
type = NotHitBy
trigger1 = AnimElemTime(8)<0
time = 1
value = SCA

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 15
value = 2,11
channel = 0

[State 3000, AfterImage]
type = AfterImage
trigger1 = time = 5 && var(49) = 3
time = 999
TimeGap  = 1
FrameGap = 10
length = 21
PalBright = 0,0,0
PalContrast = 160, 32, 32
PalAdd = 0,0,0
PalMul = .75,.75,.75
trans = addalpha
alpha = 256, 160

[State 3000, AfterImage]
type = AfterImage
trigger1 = time = 5 && var(49) =2
time = 999
TimeGap  = 1
FrameGap = 10
length = 21
PalBright = 0,0,0
PalContrast = 160, 160, 32
PalAdd = 0,0,0
PalMul = .75,.75,.75
trans = addalpha
alpha = 256, 160

;[State 200, 1]
;type = PlaySnd
;trigger1 = AnimElem = 5 || AnimElem = 8 || AnimElem = 11 || AnimElem = 16
;trigger2 = AnimElem = 20 || AnimElem = 26 || AnimElem = 38 || AnimElem = 44 || AnimElem = 54
;value = 0, ifelse(AnimElemtime(20) < 0,2,5)

[State 3001, Super]
type = Helper
trigger1 = Time = 4
id = 9997
name = "Super Effect"
pos = -10,-66
postype = P1
stateno = 9999
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
pausemovetime = 999999
supermovetime = 999999

[State 700, Effect]
type = Helper
triggerall = prevstateno = [1000,3999]
trigger1 = time = 4 && !fvar(19)
name = "Effect"
stateno = 9998
ID = 194
pos = 0,0
keyctrl = 0
postype = p1
supermovetime = 99999999
pausemovetime = 99999999
ownpal = 1

[State 3000, Superpause]
type = SuperPause
trigger1 = Time = 4
time = 50
movetime = 50
anim = -1
pos = 0,0
darken = 0
p2defmul = 1
poweradd = ifelse(fvar(10)=2,-2000,-1000)
unhittable = 1

[State 0, ]
type = VelSet
trigger1 = AnimElemTime(5) >= 0 && AnimElemtime(9) < 0
trigger2 = AnimElemTime(9) >= 0 && AnimElemtime(11) < 0
x = ifelse(Animelemtime(9)>0,-5,5)

[State 0, ]
type = VelSet
trigger1 = AnimElem = 44 || Animelem = 54
x = 0

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 7
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = ifelse(fvar(10)=2,33,75), 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 9, 9                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -87
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=2)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = High               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -2            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -4,-5.25           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 9
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = ifelse(fvar(10)=2,45,90), 7                   ;Damage that move inflicts, guard damage
animtype = Up
air.animtype = Up                ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 9, 9                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -108
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=1)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = 1,-7.5            ;Velocity at which opponent is pushed
airguard.velocity = 1,-7.5     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = 1,-7.5           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 0
envshake.time = 10
envshake.ampl = 3
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .45
getpower = 0,0

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 14 || AnimElem = 15
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = ifelse(fvar(10)=2,33,50), 4                   ;Damage that move inflicts, guard damage
animtype = Back
air.animtype = Back                ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 7, 7                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = 0, -58
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=2)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=1)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = 1,-4.5            ;Velocity at which opponent is pushed
airguard.velocity = 1,-4.5     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = 1,-7.5           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 0
envshake.time = 10
envshake.ampl = 3
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .45
getpower = 0,0

[State 0, StateTypeSet]
type = StateTypeSet
trigger1 = AnimElem = 15
statetype = A       ;S,A,C,L
movetype = A        ;I,A,H
physics = N         ;A,C,S,N
;ignorehitpause =
;persistent =

[State 0, VelSet]
type = VelSet
trigger1 = AnimElem = 14
x = -5.5
y = -13
;ignorehitpause =
;persistent =

[State 0, VelAdd]
type = VelAdd
trigger1 = AnimElemtime(14)>0
y = .45
;ignorehitpause =
;persistent =

[State 0, Explod]
type = Explod
trigger1 = AnimElemtime(5)>0
trigger1 = time%3=0
anim = 3060+(random%3)
ID = 3060
pos = 0,-55
postype = p1  ;p2,front,back,left,right
facing = 1
vel = 0,0
accel = 0,0
random = 30,40
supermovetime = 0
pausemovetime = 0
scale = .5,.5
sprpriority = 5
ownpal = 1

[State 0, Explod]
type = Explod
trigger1 = AnimElemtime(5)>0
trigger1 = time%2=0
anim = 3060+(random%3)
ID = 3060
pos = 0,-55
postype = p1  ;p2,front,back,left,right
facing = 1
vel = 0,0
accel = 0,0
random = 30,40
supermovetime = 0
pausemovetime = 0
scale = .5,.5
sprpriority = 5
ownpal = 1

[State 0, Explod]
type = Explod
trigger1 = AnimElemtime(5)>0
trigger1 = time%4=0
anim = 3060+(random%3)
ID = 3060
pos = 0,-55
postype = p1  ;p2,front,back,left,right
facing = 1
vel = 0,0
accel = 0,0
random = 30,40
supermovetime = 0
pausemovetime = 0
scale = .5,.5
sprpriority = 5
ownpal = 1

[State 0, ]
type = VarSet
trigger1 = !time
var(6) = 0

[State 0, ]
type = VarAdd
trigger1 = AnimElemtime(12)>0
trigger1 = var(6) < 3 && command = "tap"
var(6) = 1
ignorehitpause = 1

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

;Fairy Gift (Flipping)
[Statedef 3051]
type    = A
movetype= A
physics = N
ctrl = 0
sprpriority = 2

[State Knee Speed]
type = ChangeAnim
trigger1 = !Time
value = 3051+var(6)

[State 3000, AfterImage]
type = AfterImage
trigger1 = time = 5 && fvar(10) !=2
time = 999
TimeGap  = 1
FrameGap = 10
length = 21
PalBright = 0,0,0
PalContrast = 160, 32, 32
PalAdd = 0,0,0
PalMul = .75,.75,.75
trans = addalpha
alpha = 256, 160

[State 3000, AfterImage]
type = AfterImage
trigger1 = time = 5 && fvar(10) =2
time = 999
TimeGap  = 1
FrameGap = 10
length = 21
PalBright = 0,0,0
PalContrast = 160, 160, 32
PalAdd = 0,0,0
PalMul = .75,.75,.75
trans = addalpha
alpha = 256, 160


[State 200, 1]
type = HitDef
trigger1 = AnimElem = 1 || AnimElem=  2|| AnimElem= 3 || AnimElem= 4 || AnimElem= 5|| AnimElem= 6
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 23, 2                   ;Damage that move inflicts, guard damage
animtype = Back
air.animtype = Back                ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 5, 5                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = 0, -58
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=2)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=1)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = 1,-4.5            ;Velocity at which opponent is pushed
airguard.velocity = 1,-4.5     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = 1,-4.5           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 0
envshake.time = 10
envshake.ampl = 3
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .45
getpower = 0,0

[State 0, VelAdd]
type = VelAdd
trigger1 = 1
y = .45
;ignorehitpause =
;persistent =

[State 0, Explod]
type = Explod
trigger1 = time%3=0
anim = 3060+(random%3)
ID = 3060
pos = 0,-55
postype = p1  ;p2,front,back,left,right
facing = 1
vel = 0,0
accel = 0,0
random = 30,40
supermovetime = 0
pausemovetime = 0
scale = .5,.5
sprpriority = 5
ownpal = 1

[State 0, Explod]
type = Explod
trigger1 = time%2=0
anim = 3060+(random%3)
ID = 3060
pos = 0,-55
postype = p1  ;p2,front,back,left,right
facing = 1
vel = 0,0
accel = 0,0
random = 30,40
supermovetime = 0
pausemovetime = 0
scale = .5,.5
sprpriority = 5
ownpal = 1

[State 0, Explod]
type = Explod
trigger1 = time%4=0
anim = 3060+(random%3)
ID = 3060
pos = 0,-55
postype = p1  ;p2,front,back,left,right
facing = 1
vel = 0,0
accel = 0,0
random = 30,40
supermovetime = 0
pausemovetime = 0
scale = .5,.5
sprpriority = 5
ownpal = 1

[State 0, ]
type = VarSet
trigger1 = !time
var(6) = 0

[State 0, ]
type = VarAdd
trigger1 = var(6) < 3 && command = "tap"
var(6) = 1
ignorehitpause = 1

[State 810, State End]
type = ChangeState
trigger1 = AnimTime = 0
trigger1 = !((Vel Y > 0) && (Pos Y >= -10))
value = 3051

[State 200, 7]
type = ChangeState
trigger1 = (Vel Y > 0) && (Pos Y >= -10)
value = 3052+var(6)

; Fallin' Back on That Ass
[Statedef 3052]
type    = S
physics = S
ctrl = 0
anim = 3012

[State -3, Landing Sound]
type = GameMakeAnim
trigger1 = !Time
value = 61
pos = 0,0
under = 1

[State 40, 5]
type = PlaySnd
trigger1 = !Time
value = f7, 1
channel = 20

[State 52, 1]
type = VelSet
trigger1 = !Time
y = 0

[State 52, 2]
type = PosSet
trigger1 = !Time
y = 0

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

; That didn't go too well
[Statedef 3053]
type    = S
physics = S
ctrl = 0
anim = 3012

[State 52, 4]
type = ChangeState
trigger1 = !time
value = 5100


; Not on my feet, but it'll do
[Statedef 3054]
type    = S
physics = N
ctrl = 0
anim = 5200
velset = 0,0

[State -3, Landing Sound]
type = GameMakeAnim
trigger1 = !Time
value = 60
pos = 0,0
under = 1

[State 0, ]
type = PlaySnd
trigger1 = time = 1
value = 9,3

[State 5201, 2]
type = VelSet
trigger1 = !Time
x = -4

[State 5201, 2]
type = VelSet
trigger1 = vel X > -.1
x = 0

[State 5201, 3]
type = PosSet
trigger1 = Time = 0
y = 0

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

[State 5201, 6]
type = GameMakeAnim
trigger1 = Time = 1
value = 60
pos = 0, 0
under = 1

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

; Landing in Style, Baby!
[Statedef 3055]
type    = S
physics = N
ctrl = 0
anim = 3055

[State -3, Landing Sound]
type = GameMakeAnim
trigger1 = !Time
value = 61
pos = 0,0
under = 1

[State 40, 5]
type = PlaySnd
trigger1 = !Time
value = 9, 3
channel = 20

[State 5201, 2]
type = VelSet
trigger1 = vel X > -.1
x = 0

[State 5201, 2]
type = VelMul
trigger1 = 1
x = .45

[State 52, 1]
type = VelSet
trigger1 = !Time
y = 0

[State 52, 2]
type = PosSet
trigger1 = !Time
y = 0

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

;Aerial Fairy Gift
[Statedef 3060]
type    = A
movetype= A
physics = N
ctrl = 0
velset = 0,0
anim = 3059
sprpriority = 2

[State 0, VarAdd]
type = VarAdd
trigger1 = !time
var(49) = ifelse(fvar(10)=2,2,3)

[State 0, ]
type = VarSet
trigger1 = fvar(31)
fvar(31) = 0
ignorehitpause = 1
;persistent = 1

[State 0, ]
type = VarSet
trigger1 = var(10)
var(10) = 0
ignorehitpause = 1
;persistent = 1

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

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 6
value = 9, 1

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 6
value = 0, 7

[State 0, Turn]
type = Turn
trigger1 = AnimElem = 2
;ignorehitpause =
;persistent =

[State Invincibility Frames]
type = NotHitBy
trigger1 = AnimElemTime(6)<0
time = 1
value = SCA

[State 3000, AfterImage]
type = AfterImage
trigger1 = time = 5 && fvar(10) !=2
time = 999
TimeGap  = 1
FrameGap = 10
length = 21
PalBright = 0,0,0
PalContrast = 160, 32, 32
PalAdd = 0,0,0
PalMul = .75,.75,.75
trans = addalpha
alpha = 256, 160

[State 3000, AfterImage]
type = AfterImage
trigger1 = time = 5 && fvar(10) =2
time = 999
TimeGap  = 1
FrameGap = 10
length = 21
PalBright = 0,0,0
PalContrast = 160, 160, 32
PalAdd = 0,0,0
PalMul = .75,.75,.75
trans = addalpha
alpha = 256, 160

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 5 || AnimElem = 6
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = ifelse(fvar(10)=2,45,70), 4                   ;Damage that move inflicts, guard damage
animtype = Back
air.animtype = Back                ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 7, 7                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = 0, -58
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=2)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=1)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = 1,-4.5            ;Velocity at which opponent is pushed
airguard.velocity = 1,-4.5     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = 1,-7.5           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 0
envshake.time = 10
envshake.ampl = 3
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .45
getpower = 0,0


[State 3001, Super]
type = Helper
trigger1 = Time = 2
id = 9997
name = "Super Effect"
pos = -10,-66
postype = P1
stateno = 9999
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
pausemovetime = 999999
supermovetime = 999999

[State 700, Effect]
type = Helper
triggerall = prevstateno = [1000,3999]
trigger1 = time = 2 && !fvar(19)
name = "Effect"
stateno = 9998
ID = 194
pos = 0,0
keyctrl = 0
postype = p1
supermovetime = 99999999
pausemovetime = 99999999
ownpal = 1

[State 3000, Superpause]
type = SuperPause
trigger1 = Time = 2
time = 50
movetime = 50
anim = -1
pos = 0,0
darken = 0
p2defmul = 1
poweradd = ifelse(fvar(10)=2,-2000,-1000)
unhittable = 1

[State 0, VelSet]
type = VelSet
trigger1 = AnimElem = 5
x = -4.5
y = -9
;ignorehitpause =
;persistent =

[State 0, VelAdd]
type = VelAdd
trigger1 = AnimElemtime(5)>0
y = .45
;ignorehitpause =
;persistent =

[State 0, Explod]
type = Explod
trigger1 = AnimElemtime(5)>0
trigger1 = time%3=0
anim = 3060+(random%3)
ID = 3060
pos = 0,-55
postype = p1  ;p2,front,back,left,right
facing = 1
vel = 0,0
accel = 0,0
random = 30,40
supermovetime = 0
pausemovetime = 0
scale = .5,.5
sprpriority = 5
ownpal = 1

[State 0, Explod]
type = Explod
trigger1 = AnimElemtime(5)>0
trigger1 = time%2=0
anim = 3060+(random%3)
ID = 3060
pos = 0,-55
postype = p1  ;p2,front,back,left,right
facing = 1
vel = 0,0
accel = 0,0
random = 30,40
supermovetime = 0
pausemovetime = 0
scale = .5,.5
sprpriority = 5
ownpal = 1

[State 0, Explod]
type = Explod
trigger1 = AnimElemtime(5)>0
trigger1 = time%4=0
anim = 3060+(random%3)
ID = 3060
pos = 0,-55
postype = p1  ;p2,front,back,left,right
facing = 1
vel = 0,0
accel = 0,0
random = 30,40
supermovetime = 0
pausemovetime = 0
scale = .5,.5
sprpriority = 5
ownpal = 1

[State 0, ]
type = VarSet
trigger1 = !time
var(6) = 0

[State 0, ]
type = VarAdd
trigger1 = AnimElemtime(5)>0
trigger1 = var(6) < 3 && command = "tap"
var(6) = 1
ignorehitpause = 1


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


;Shuttle Combination
[Statedef 3070]
type    = S
movetype= A
physics = S
ctrl = 0
velset = 0,0
anim = 3070
sprpriority = 2
facep2 = 1

[State 0, VarAdd]
type = VarAdd
trigger1 = !time
var(49) = 3

[State 0, ]
type = VarSet
trigger1 = var(10)
var(10) = 0
ignorehitpause = 1
;persistent = 1

[State 0, ]
type = VarSet
trigger1 = fvar(31)
fvar(31) = 0
ignorehitpause = 1
;persistent = 1

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

[State Invincibility Frames]
type = NotHitBy
trigger1 = AnimElemTime(5)<0
time = 1
value = SCA


[State 0, ]
type = PosAdd
trigger1 = AnimElem = 9
x = 9

[State 0, ]
type = PosAdd
trigger1 = AnimElem = 11
x = 13


[State 3000, AfterImage]
type = AfterImage
trigger1 = time = 5
time = 999
TimeGap  = 1
FrameGap = 10
length = 21
PalBright = 0,0,0
PalContrast = 160, 32, 32
PalAdd = 0,0,0
PalMul = .75,.75,.75
trans = addalpha
alpha = 256, 160

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 4 || AnimElem = 13 || AnimElem = 16 || AnimElem = 19
trigger2 = AnimElem = 24 || AnimElem = 27 || AnimElem = 36 || AnimElem = 42 
value = 0, 2

[State 3001, Super]
type = Helper
trigger1 = Time = 5
id = 9997
name = "Super Effect"
pos = -17,-80
postype = P1
stateno = 9999
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
pausemovetime = 999999
supermovetime = 999999

[State 3000, Superpause]
type = SuperPause
trigger1 = Time = 5
time = 50
movetime = 50
anim = -1
pos = 0,0
darken = 0
p2defmul = 1
poweradd = ifelse(fvar(10)=2,-3000,-1000)
unhittable = 1

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


[State 0, ]
type = VelSet
trigger1 = AnimElem = 12 || AnimElem = 15 || AnimElem = 18 || AnimElem = 23 || AnimElem = 24 || AnimElem = 27 || AnimElem = 35
x = 4

[State 210, 3]
type = ChangeAnim
trigger1 = AnimElemTime(4) > 0 && AnimElemTime(5) <= 0
trigger1 = movecontact 
ignorehitpause = 1
persistent = 0
value = 3070
elem = 5


[State 3050, 2]
type = HitDef
trigger1 = AnimElem  = 4
attr = S, HA
animtype  = Up               ;Make p2 use "Up" type animation on hit
damage    = 75, 14
getpower  = 0
priority  = 5
guardflag = MA
pausetime = 13,13
sparkno = 3
sparkxy = -20,-70
hitsound = -1 + 0 * (var(46) :=8)                ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = Low
ground.slidetime = 28
ground.hittime  = 28
ground.velocity = -1.5,-15
ground.cornerpush.veloff = -1
guard.velocity = -4
air.velocity = -1.5,-15
air.cornerpush.veloff = -1
airguard.velocity = -5,-5
envshake.time = 25           ;Parameters for shaking the screen on hit
envshake.ampl = 28
envshake.freq = 176
p2facing = 1                 ;Force p2 to face p1 on hit
fall = 1
fall.recover = 0             ;Prevent p2 from recovering
snap = 40,-30
yaccel = .77

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 13
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 35, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 2, 2                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -87
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=2)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = High               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -2            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -3,-.45           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0
yaccel = .15
[State 200, 1]
type = HitDef
trigger1 = AnimElem = 16
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 35, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 2, 2                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -64
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=2)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -2            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -3,-.45           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0
yaccel = .15
[State 200, 1]
type = HitDef
trigger1 = AnimElem = 19
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 35, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 2, 2                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -89
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=2)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = High               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -2            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -1.9,-.45           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0
yaccel = .15
[State 200, 1]
type = HitDef
trigger1 = AnimElem = 24
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 35, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 2, 2                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -76
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=2)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -2            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = 0,-.95           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 1
fall.recover = 0
envshake.time = 10
envshake.ampl = 3
getpower = 0,0
yaccel = .15
[State 200, 1]
type = HitDef
trigger1 = AnimElem = 27
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 35, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 5, 5                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -78
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=2)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -2            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -.5,-3           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 1
fall.recover = 0
envshake.time = 14
envshake.ampl = 4
getpower = 0,0
yaccel = .35
kill = 0

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 36
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 35, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 5, 5                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -99
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=2)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = High               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -2            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -.5,-2          ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 1
fall.recover = 0
envshake.time = 14
envshake.ampl = 4
getpower = 0,0
yaccel = .35
kill = 0
[State 200, 1]
type = HitDef
trigger1 = AnimElem = 42
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 35, 4                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 5, 5                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -76
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=2)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=1)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -8.5            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = .5,-2           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 1
fall.recover = 0
envshake.time = 14
envshake.ampl = 4
getpower = 0,0
yaccel = .25
kill = 0

[State 0, ]
type = ChangeState
trigger1 = AnimTime = 0
value = 3071

;Crescent Wrench Kick
[Statedef 3071]
type    = A
movetype= A
physics = N
anim = 1040
ctrl = 0
velset = 4,-9

[State 0, ]
type = Gravity
trigger1 = time > 2
;ignorehitpause = 0
;persistent = 1

[State 810, Grab Sound]
type = PlaySnd
trigger1 = AnimElem = 2
value = 2, 6
channel = 0

[State 810, Throw Sound]
type = PlaySnd
trigger1 = AnimElem = 2
value = 0, 5



[State 200, 1]
type = HitDef
trigger1 = AnimElem = 2
attr = A, HA                     ;Attribute: Standing, Normal Attack
damage = 45, 7                   ;Damage that move inflicts, guard damage
animtype = Heavy
air.animtype = Back                ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 3,3                 ;Time attacker pauses, time opponent shakes
guard.pausetime = 13,13
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -61
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=5)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -6.5,-4.5            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -6.5,-4.5           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
getpower = 0,0
air.fall = 0
envshake.time = 18
envshake.freq = 120
envshake.ampl = 6
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .49
p1stateno = 3072
p2stateno = 3075
p2facing = 1
ID = 5
kill = 0

[State 810, State End]
type = ChangeState
triggerall = AnimElemtime(2) > 1
trigger1 = vel y > 0 && pos Y >= 0
value = 52

;Body Slam
[Statedef 3072]
type    = A
movetype= A
physics = N
anim = 3072
velset = 4,-16

[State 810, Bind 1]
type = TargetBind
trigger1 = AnimElemTime(5)<0
pos = 48-(time*3), 0
ID = 5

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

[State 810, Width 2-11]
type = Width
trigger1 = AnimElem = 5
edge = 20,90


[State 1475, 10]
type = TargetState
trigger1 = AnimElem = 5
value = 3076
ID = 5



[State 0, ]
type = VelAdd
trigger1 = 1
y = .75

[State 0, ]
type = ChangeState
trigger1 = Pos Y >= 0 && Vel Y > 0
value = 3073

;Body Slam
[Statedef 3073]
type    = S
movetype= A
physics = S
anim = 3073
velset = 0,0

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

[State 810, Throw Sound]
type = PlaySnd
trigger1 = !time
value = 5, 9


[State 810, Throw Sound]
type = PlaySnd
trigger1 = time = 1
value = 5, 7
volume = 255

[State 810, Throw Sound]
type = PlaySnd
trigger1 = !time
value = 5,8;-1 + 0 * (var(46) :=2)

[State 810, Throw Sound]
type = PlaySnd
trigger1 = !time
value = 5, 10
volume = 255

[State 810,Explod]
type = Explod
trigger1 = AnimElem = 3
anim = f3
pos = 0,0
postype = P1
sprpriority = 3
bindtime = 1
ownpal = 1

[State 810, Bind 1]
type = TargetBind
trigger1 = AnimElemTime(3) < 0
pos = 0, 0
ID = 5


[State 1475, 10]
type = TargetState
trigger1 = !time
value = 3077
ID = 5

[State 1950, 5]
type = TargetLifeAdd
trigger1 = !time
value = ceil(-250*(.01*const(data.attack)))
ID = 5

[State 0, ]
type = ChangeState
trigger1 = !AnimTime
value = 105


;---------------------------------------------------------------------------
;Thrown by Body Slam
[Statedef 3075]
type    = A
movetype= H
physics = N
velset = 0,0

[State 5020, 3] ;Anim for HIT_UP/HIT_DIAGUP (only if it exists)
type = ChangeAnim
trigger1 = !Time
value = ifelse(selfanimexist(5052),5052,5030)

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

[State 820, 2]
type = SelfState
trigger1 = time > 100
value = 5050

;Thrown by Body Slam
[Statedef 3076]
type    = A
movetype= H
physics = N
velset = 0,0

[State 5020, 3] ;Anim for HIT_UP/HIT_DIAGUP (only if it exists)
type = ChangeAnim2
trigger1 = !Time
value = 3075

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

; Throw (hit by, into air)
[Statedef 3077]
type    = A
movetype= H ;Get hit
physics = N
velset = 0,0
ctrl = 0

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

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

[State 0, Explod]
type = Explod
trigger1 = !time
anim = f62
pos = 0,0
postype = p1  ;p2,front,back,left,right
scale = 2,2

[State 1486, 3]
type = EnvShake
trigger1 = time = 0
time = 40
ampl = 30

[State 1486, 5] ;Hit ground
type = SelfState
trigger1 = time = 26
value = 5100 ;Hit ground



; What was this nigga smokin'?
[Statedef 666]
type    = S                      ;State-type: S-stand, C-crouch, A-air, L-liedown
movetype= A                      ;Move-type: A-attack, I-idle, H-gethit
physics = S                      ;Physics: S-stand, C-crouch, A-air
juggle  = 8                      ;Number of air juggle points move takes
;Commonly-used controllers:
velset = 0,0                     ;Set velocity (x,y) (Def: no change)
ctrl = 0                         ;Set ctrl (Def: no change)
anim = 666                      ;Change animation (Def: no change)
poweradd = 0                    ;Power to add (Def: 0)
sprpriority = 2                  ;Set p1's sprite layering priority to 2 (in front)

[State 0, VarSet]
type = VarSet
trigger1 = !time
fvar(26) = 0

[State 0, SuperPause FX]
type = helper
trigger1 = !time
helpertype = normal
stateno = 667
ID = 667
name = "AC FX"
postype = p1
pos = 0,0
ownpal = 1

[State 0, ]
type = AssertSpecial
trigger1 = 1
flag= NoMusic
ignorehitpause = 1


[State 200, 1]
type = HitDef
trigger1 = AnimElemtime(3)>0
trigger1 = UniqHitCount < 1
attr = S, NA                     ;Attribute: Standing, Normal Attack
damage = 9999999999999999999999, 9999999999999999999999999999                  ;Damage that move inflicts, guard damage
animtype = Light                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAFDP                 ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 0, 0                 ;Time attacker pauses, time opponent shakes
sparkno = 0                      ;Spark anim no (Def: set above)
sparkxy = -10, -84               ;X-offset for the "hit spark" rel. to p2,
;Y-offset for the spark rel. to p1
hitsound  = -1                  ;Sound to play on hit
guardsound = -1                ;Sound to play on guard
ground.type = High               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 11             ;Time that the opponent slides back
ground.hittime  = 11             ;Time opponent is in hit state
ground.velocity =  -1.9,-50            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-50     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity =  -1.9,-100           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
getpower = -3000,-3000
givepower = 9999, 9999
fall = 1

[State 200, 1]
type = PlaySnd
trigger1 = !time
value = 65,0
channel = 0

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

;LOL Epilepsy
[Statedef 667]
type    = A
movetype= I
physics = N
anim = 19999
ctrl = 0
sprpriority = 5

[State 0, VarRandom]
type = VarRandom
trigger1 = 1
v = 1
range = 0,255
;ignorehitpause =
;persistent =

[State 0, VarRandom]
type = VarRandom
trigger1 = 1
v = 2
range = 0,255
;ignorehitpause =
;persistent =

[State 0, VarRandom]
type = VarRandom
trigger1 = 1
v = 3
range = 0,255
;ignorehitpause =
;persistent =

[State 0, BindToParent]
type = BindToParent
trigger1 = 1
facing = 0
pos = 0,ifelse(time < 122, -244+(time*2),0)
;ignorehitpause =
;persistent =

[State 200, 1]
type = PlaySnd
trigger1 = time=130
value = 65,1
channel = 0
abspan = 0

[State 0, 1]
type = BGPalFX
triggerall = time > 122
trigger1 = Time%4=0
time = 3
add = var(1),var(2),var(3)
ignorehitpause = 1

[State 0, VelSet]
type = VelSet
trigger1 = time > 122
x = 0
y = 0
;ignorehitpause =
;persistent =

[State 0, ]
type = AssertSpecial
trigger1 = time > 122
flag= noFG
flag2 = NoBarDisplay

[State 3510, 4]
type = explod
trigger1 = time = 122
anim = 19998
pos = 160,ifelse(parent, var(18),90,120)
ID = 9999
postype = left
sprpriority = 5
ontop = 1
supermove = 1
bindtime = 9999
removetime = 240
ignorehitpause = 1
ownpal = 0
scale = .5,.5

[State -2, RemoveExplod]
type = RemoveExplod
trigger1 = time = 364
trigger2 = parent, stateno !=666
id = 9999

[State 1150, ChangeState]
type = DestroySelf
trigger1 = time = 364
trigger2 = parent, stateno !=666

;Mirage Symphony (Astral Finish/Zetsumei Ougi/Finishing Move/etc.)
[Statedef 3100]
type    = S
movetype= A
physics = S
anim = 972
ctrl = 0
velset = 0,0
sprpriority = 2

[State 0, VarAdd]
type = VarAdd
trigger1 = !time
var(49) = 3

[State 0, ]
type = VarSet
trigger1 = var(10)
var(10) = 0
ignorehitpause = 1
;persistent = 1

[State 0, ]
type = VarSet
trigger1 = fvar(31)
fvar(31) = 0
ignorehitpause = 1
;persistent = 1

[State 3001, Super]
type = Helper
trigger1 = Time = 2
id = 9997
name = "Super Effect"
pos = -25,-5
postype = P1
stateno = 9999
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
pausemovetime = 999999
supermovetime = 999999

[State 3000, Superpause]
type = SuperPause
trigger1 = Time = 2
time = 50
movetime = 0
anim = -1
pos = 0,0
darken = 0
p2defmul = 1
poweradd = -3000
unhittable = 1

[State 170, 1]
type = NotHitBy
trigger1 = AnimElemtime(12) < 0
value = SCA
time = 3

[State 0, ]
type = VelSet
trigger1 = AnimElemTime(3) >= 0 && AnimElemtime(11) < 0
x = 10

[State 0, ]
type = VelSet
trigger1 = AnimElem = 12
x = 0

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 12
value = 0, 5

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 12
attr = S, NA                     ;Attribute: Standing, Normal Attack
damage = 23, 7                   ;Damage that move inflicts, guard damage
animtype = Hard
air.animtype = DiagUp                ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 20, 20                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -40
ID = 8
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=8)              ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
air.hittime = 120
ground.velocity = -15
guard.velocity = -12
guard.cornerpush.veloff = 0
air.velocity = -6, -6
air.cornerpush.veloff = 0
yaccel = 0.58
givepower = 35, 35
getpower = 0,0
guard.velocity = -11
palfx.time = 12
palfx.add = 255, 255, 255
palfx.sinadd = -255, -255, -255, 48
envshake.time = 24
envshake.ampl = 4
envshake.freq = 120
kill = 0
air.fall = 1
air.recover = 0
p1stateno = 3101
p2stateno = 3110



[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 2
value = 1,9
channel = 0

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

;Success!
[Statedef 3101]
type    = S
movetype= A
physics = S
ctrl = 0
velset = 0,0
sprpriority = 2

[State 0,3]
type = Helper
trigger1 = !time
id = 12000
stateno = 12000
supermovetime = 9999999999999999
pausemovetime = 9999999999999999
ownpal = 1
postype = back
bindtime = -1
pos = 0, 0
keyctrl = 0
persistent = 0

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

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

;Success!
[Statedef 3102]
type    = S
movetype= A
physics = N
anim = 105
ctrl = 0
velset = -4,0
sprpriority = 2

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

[State 0, Trans]
type = Trans
trigger1 = time <=20
trans = addalpha
alpha = 256-(time*12),(time*12)
;ignorehitpause =
;persistent =

[State 0, AssertSpecial]
type = AssertSpecial
trigger1 = time > 20
flag = invisible

[State 0, TargetState]
type = TargetState
trigger1 = time >= 20
value = 3113
ID = 8

[State 200, 7]
type = ChangeState
trigger1 = Time >= 40
value = 3103

;Beatdown
[Statedef 3103]
type    = S
movetype= A
physics = S
ctrl = 0
velset = 0,0
anim = 3100
sprpriority = 2
facep2 = 1

[State 0, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = nomusic
ignorehitpause = 1

[State 0, BindToTarget]
type = BindToTarget
trigger1 = !time
time = 1
ID = 8
pos = 40,0

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 3
value = 1,7
channel = 0

[State Invincibility Frames]
type = NotHitBy
trigger1 = 1
time = 1
value = SCA

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

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 3 || AnimElem = 6 || AnimElem = 9 || AnimElem = 14 || AnimElem = 19 || AnimElem = 25
trigger2 = AnimElem = 34 || AnimElem = 40 || AnimElem = 45 || AnimElem = 51 || AnimElem = 63 || AnimElem = 68
trigger3 = AnimElem = 72 || AnimElem = 75
value = 0, ifelse(AnimElemtime(41) < 0,2,5)

[State 0, ]
type = PosAdd
trigger1 = AnimElem = 8 || AnimElem = 16 || AnimElem = 30 || AnimElem = 43 || AnimElem = 66 || AnimTime = 0
x = 80

[State 0, Turn]
type = Turn
trigger1 = AnimElem = 8 || AnimElem = 16 || AnimElem = 30 || AnimElem = 43 || AnimElem = 66 || AnimTime = 0

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 3 || AnimElem = 6 || AnimElem = 9 || AnimElem = 14 || AnimElem = 19 || AnimElem = 25
trigger2 = AnimElem = 34 || AnimElem = 40 || AnimElem = 45 || AnimElem = 51 || AnimElem = 63 || AnimElem = 68
trigger3 = AnimElem = 72 || AnimElem = 75
attr = S, HA                     ;Attribute: Standing, Normal Attack
damage = 100, 10                   ;Damage that move inflicts, guard damage
animtype = Hard                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 2, 2                 ;Time attacker pauses, time opponent shakes
sparkno = 2                      ;Spark anim no (Def: set above)
sparkxy = 0, -87+(random%40)
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=8)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = High               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 30             ;Time that the opponent slides back
ground.hittime  = 30             ;Time opponent is in hit state
ground.velocity = 0            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -4,-5.25           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
air.fall = 1
fall.recover = 0
envshake.time = 14
envshake.ampl = 3
getpower = 0,0
kill = 0
ID = 8


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

;Shoot Kick Finisher (Overhead Kick)
[Statedef 3104]
type    = S
movetype= A
physics = S
poweradd= 65
ctrl = 0
velset = 0,0
anim = 1002
sprpriority = 2


[State Invincibility Frames]
type = NotHitBy
trigger1 = 1
time = 1
value = SCA

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

[State 0, ]
type = StateTypeSet
trigger1 = AnimElem = 2
statetype = A
;movetype =
physics = N
ignorehitpause = 1
;persistent = 1

[State 0, ]
type = VelSet
trigger1 = AnimElem = 2
x = 2
y = -9.5

[State 0, ]
type = VelAdd
trigger1 = AnimElemTime(2) >= 0
y = .85

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 7
value = 0, 5

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 7
attr = S, NA                     ;Attribute: Standing, Normal Attack
damage = 55, 4                   ;Damage that move inflicts, guard damage
animtype = Heavy
air.animtype = Back                ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = HA                   ;Flags on how move is to be guarded against
hitflag = MA                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 13,13                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -58
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=8)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = 0,10            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -2.5,-4.5           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
getpower = 0,0
air.fall = 0
fall.yvelocity = -9
envshake.time = 10
envshake.ampl = 3
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .49
kill = 0
ID = 8

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 7
value = 2,7
channel = 0

[State 0, ]
type = PosAdd
trigger1 = vel Y > 0 && Pos Y >= 0
x = 80

[State 0, Turn]
type = Turn
trigger1 = vel Y > 0 && Pos Y >= 0


[State 200, 7]
type = ChangeState
trigger1 = vel Y > 0 && Pos Y >= 0
value = 3105

;Shoot Kick Finisher (Launcher)
[Statedef 3105]
type    = S
movetype= A
physics = S
poweradd= 65
ctrl = 0
velset = 0,0
anim = 1004
sprpriority = 2

[State Invincibility Frames]
type = NotHitBy
trigger1 = 1
time = 1
value = SCA


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

[State 0, ]
type = VelSet
trigger1 = AnimElemTime(1) >= 0 && AnimElemtime(10) < 0
x = 5.9+(var(56)*2)

[State 0, ]
type = VelSet
trigger1 = AnimElem = 10
x = 0

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 10
value = 0, 5

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 10
attr = S, NA                     ;Attribute: Standing, Normal Attack
damage = 23, 4                   ;Damage that move inflicts, guard damage
animtype = Up
air.animtype = Up                ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAFD                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 13,13                ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -108
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=8)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = 0,-9.5            ;Velocity at which opponent is pushed
airguard.velocity = -3,-3     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = 0,-9.5           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
getpower = 0,0
guard.velocity = -11
envshake.time = 10
envshake.ampl = 3
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .34
kill = 0
ID = 8

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 11
value = 2,0
channel = 0

[State 0, ]
type = PosAdd
trigger1 =  AnimTime = 0
x = 80

[State 0, Turn]
type = Turn
trigger1 =  AnimTime = 0


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


;Shoot Kick Finisher (Straight Kick)
[Statedef 3106]
type    = A
movetype= A
physics = N
poweradd= 65
ctrl = 0
velset = 0,0
anim = 3101
sprpriority = 2

[State 0, Trans]
type = Trans
trigger1 = time <=10
trans = addalpha
alpha = (time*25),256-(time*25)
;ignorehitpause =
;persistent =

[State 0, BindToTarget]
type = BindToTarget
trigger1 = AnimElemtime(11) < 0
time = 1
ID = 8
pos = 90-(time*4),20

[State 0, ]
type = VelSet
trigger1 = AnimElemtime(12) > 0
x = 2.8

[State 0, Pause]
type = Pause
trigger1 = !(time%3=0) && AnimElemtime(10) < 0
time = 1



[State 0, Gravity]
type = Gravity
trigger1 = AnimElemtime(12) > 0
;ignorehitpause =
;persistent =

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 11
value = 0, 5

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 11
attr = A, HA                     ;Attribute: Standing, Normal Attack
damage = 10000000, 1000000                   ;Damage that move inflicts, guard damage
animtype = Heavy
air.animtype = DiagUp                ;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAFD                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
;Hit/Miss/Dodge type (Def: Hit)
pausetime = 3,3                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -76
;Y-offset for the spark rel. to p1
hitsound  = -1 + 0 * (var(46) :=8)                  ;Sound to play on hit
guardsound = -1 + 0 * (var(47) :=0)                ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 20             ;Time that the opponent slides back
ground.hittime  = 20             ;Time opponent is in hit state
ground.velocity = -20.5,-4.5            ;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8     ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High                  ;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -30.5,-4.5           ;X-velocity at which opponent is pushed,
;Y-velocity at which opponent is pushed
air.hittime = 11                 ;Time before opponent regains control in air
givepower = 35, 35
getpower = 0,0
air.fall = 0
envshake.time = 10
envshake.ampl = 3
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .49
p2facing = 1          ;Force p2 to face KFM
p2stateno = 3114

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 2
value = 2,5
channel = 0

[State 200, 7]
type = ChangeState
trigger1 = vel Y > 0 && Pos Y >= 0
value = 52


; Stand get-hit (shaking)
[Statedef 3110]
type    = S
movetype= H
physics = N
velset = 0,0

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



[State 5000, 1] ;Anim for HIT_LIGHT to HIT_HARD
type = ChangeAnim
trigger1 = Time = 0
trigger1 = GetHitVar(animtype) != [3,5]
value = ifelse((GetHitVar(groundtype) = 1),5000,5010) + GetHitVar(animtype)

[State 5000, 2] ;Anim for HIT_BACK
type = ChangeAnim
trigger1 = Time = 0
trigger1 = GetHitVar(animtype) = [3,5]
value = 5030

[State 5000, 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 5000, 4] ;Freeze anim
type = ChangeAnim
trigger1 = Time > 0
value = anim

[State 5000, 5] ;State type gets set to aerial if getting hit up
type = StateTypeSet
trigger1 = Time = 0
trigger1 = GetHitVar(yvel) != 0 || GetHitVar(fall)
trigger2 = Pos Y != 0
statetype = a

[State 5000, FFB Light]
type = ForceFeedback
trigger1 = anim = 5000
trigger2 = anim = 5010
persistent = 0
time = 6
waveform = square

[State 5000, FFB Medium]
type = ForceFeedback
trigger1 = anim = 5001
trigger2 = anim = 5011
persistent = 0
time = 8
waveform = sinesquare
ampl = 110,-1,-.3

[State 5000, FFB Hard]
type = ForceFeedback
trigger1 = anim = 5012
trigger2 = anim = 5002
trigger3 = anim = 5030
persistent = 0
time = 15
waveform = sinesquare
ampl = 140

[State 5000, 6]
type = ChangeState
trigger1 = HitShakeOver
trigger1 = GetHitVar(yvel) = 0 && !GetHitVar(fall)
value = 3111 ;Stand get-hit (knocked back)

[State 5000, 7]
type = SelfState
trigger1 = HitShakeOver
value = 5030

;---------------------------------------------------------------------------
; Stand get-hit (knocked back)
[Statedef 3111]
type    = S
movetype= H
physics = S

[State 5001, 1]
type = HitVelSet
trigger1 = Time = 0
x = 1

[State 5001, 2]
type = ChangeAnim
trigger1 = AnimTime = 0
value = 5005 + GetHitVar(animtype) + (GetHitVar(groundtype)=2)*10

[State 5001, 3] ;Stop sliding back
type = VelMul
trigger1 = Time >= GetHitVar(slidetime)
x = .6

[State 5001, 4]
type = VelSet
trigger1 = HitOver
x = 0

[State 5001, 5]
type = DefenceMulSet
trigger1 = HitOver
value = 1

[State 5001, 6]
type = ChangeState
trigger1 = HitOver
value = 3112

;YOU GOT KNOCKED THE FUCK OUT!!
[Statedef 3112]
type = S
physics = S
movetype = H
anim = 5300
velset = 0,0
sprpriority = 2
ctrl = 0

[State 0]
type = posset
trigger1 = !time
y = 0


[State 2103, 3]
type = SelfState
trigger1 = time >= 500
value = 0
ctrl = 1

;YOU GOT KNOCKED THE FUCK OUT!!
[Statedef 3113]
type = S
physics = N
movetype = H
velset = 0,0
sprpriority = 2
ctrl = 0

[State 0]
type = VelSet
trigger1 = !time
x = (((-1*Facing)*Pos X)/10.0)

[State 0]
type = VelSet
trigger1 = time >= 10 || Pos X = 0
x = 0


[State 2103, 3]
type = SelfState
trigger1 = time >= 500
value = 0
ctrl = 1
;GTFO MY DOJANG
[Statedef 3114]
type = A
movetype = H
physics = N
velset = -20.5,-4.5
ctrl = 0
sprpriority = 2

[State 3505, NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA,AA,AP,AT
time = 1

[State 0, Explod]
type = Explod
trigger1 = 1
anim = f120
pos = 0,-40
postype = p1  ;p2,front,back,left,right
random = 10,40
supermovetime = 0
pausemovetime = 0
scale = 1,1
sprpriority = 0

[State 0, Explod]
type = Explod
trigger1 = 1
anim = f120
pos = 0,-40
postype = p1  ;p2,front,back,left,right
random = 10,40
supermovetime = 0
pausemovetime = 0
scale = 1,1
sprpriority = 0


[State 5000, 2] ;Anim for HIT_BACK
type = ChangeAnim
trigger1 = Time = 0
trigger1 = GetHitVar(animtype) = [3,5]
value = 5030

[State 5000, 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 3505, ScreenBound]
type = ScreenBound
trigger1 = 1
value = 0

[State 3505, ChangeState]
type = ChangeState
trigger1 = backedgedist < -200
value =  3115
ctrl = 0

;Dead
[Statedef 3115]
type = S
movetype = H
physics = N
ctrl = 0

[State YOU DED]
type = LifeSet
trigger1 = 1
value = 0
;ignorehitpause =
;persistent =

[State PosSet]
type = PosSet
trigger1 = !time
y = 5000

[State 0, VelSet]
type = VelSet
trigger1 = !time
x = ((-1*Facing)*(Pos X))

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

[State SelfState]
type = SelfState
trigger1 = time = 1
value = 5150

;BG effect
[Statedef 12000]
type = A
physics  = N
anim = 9997
ctrl = 0


[State 0, PlaySnd]
type = PlaySnd
trigger1 =!time
value = 65,ifelse(parent, palno = 18 || parent, palno = 6 && parent, var(55),6,7)
volume = 655
channel = 6
;loop = 1
abspan = 0

[State 0, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = nomusic
ignorehitpause = 1


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

[State 0, ]
type = PosSet
trigger1 = 1
x = -(BackEdgeDist)
y = 0

[State 0, 1]
type = BGPalfx
trigger1 = time <=20
add = Ceil(-Time/20.0*255),Ceil(-Time/20.0*255),Ceil(-Time/20.0*255)
time = 1

[State 8005,1]
type = PalFx
trigger1 = Time = [0,20]
time = 1
add = Ceil(-255+Time/20.0*255),Ceil(-255+Time/20.0*255),Ceil(-255+Time/20.0*255)


[State 0, 1]
type = Explod
trigger1 = time = 1
anim = 12000
pos = -500,-20
postype = p1
bindtime = 1
removetime = 9500
pausemovetime = 99999999
supermove = 1
sprpriority = -3
under = 1
ID = 998
removeongethit = 1
scale = 99,.5

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

[State 0, 1]
type = ChangeState
Trigger1 = Time = 20
value = 12001



[Statedef 12001]
type = A
physics  = N
ctrl = 0

[State 0, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = nomusic
ignorehitpause = 1

[State 0, 0]
type = AssertSpecial
trigger1 = 1
flag = noBG
flag2 = noFG
flag3 = noBarDisplay

[State 0, ]
type = PosSet
trigger1 = 1
x = -(BackEdgeDist)
y = 0

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

[State 0, ]
type = ChangeState
Trigger1 = Parent,MoveType = H
;Trigger3 = roundstate !=2
value = 12002

[Statedef 12002]
type = A
physics  = N
ctrl = 0

[State 0, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = nomusic
ignorehitpause = 1

[State 0, 1]
type = ModifyExplod
trigger1 = !time
ID = 998
trans = add

[State 0, PlaySnd]
type = StopSnd
trigger1 =!time
channel = 6


[State 0, ]
type = PosSet
trigger1 = 1
x = -(BackEdgeDist)
y = 0

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

[State 0, 1]
type = PalFx
trigger1 = Time = [0,20]
time = 1
add = Ceil(-Time/20.0*255),Ceil(-Time/20.0*255),Ceil(-Time/20.0*255)

[State 0, 1]
type = BGPalfx
trigger1 = time <=20
add = Ceil(-255+Time/20.0*250),Ceil(-255+Time/20.0*250),Ceil(-255+Time/20.0*250)
time = 1

[State 0, 1]
type = RemoveExplod
trigger1 = time = 20
ID = 999

[State 0, 1]
type = RemoveExplod
trigger1 = time = 20
ID = 998

[State 0, 1]
type = DestroySelf
Trigger1 = Time = 20


