;==========================================================================
;Blair's Special Attacks.
;==========================================================================

;Shoot Kick
[Statedef 1000]
type    = S
movetype= A
physics = S
juggle  = 4
poweradd= 65
ctrl = 0
velset = 2.5+(var(56)*10),0
anim = 1000
sprpriority = 2
facep2 = 1

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 3 || AnimElem = 9 || AnimElem = 20
value = 0, 4+(animElem= 18)


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

[State 0, ]
type = VarSet
triggerall = AnimElemTime(3) >= 0
triggerall = AnimElemTime(22) <= 0
triggerall = var(2) = 0
trigger1 = !AILevel && (command = "QCB_a" || command = "QCB_b" || command = "QCB_c")
trigger2 = AILevel && (movecontact && p2statetype !=A)
var(2) = 1


[State 0, ]
type = VelSet
trigger1 = AnimElemTime(12) >= 0 && AnimElemtime(19) < 0
x = 4 

[State 200, 1]
type = HitDef
trigger1 = p2stateno != [5070,5071]
trigger1 = AnimElem = 3 
attr = S, NA                     ;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 = 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 = ifelse(var(30),1,3), ifelse(var(30),1,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 = 0
envshake.time = 10
envshake.ampl = 3

[State 200, 1]
type = HitDef
trigger1 = p2stateno != [5070,5071]
trigger1 = AnimElem = 9 
attr = S, NA                     ;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 = 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 = ifelse(var(30),1,3), ifelse(var(30),1,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 = 0
envshake.time = 10
envshake.ampl = 3

[State 200, 1]
type = HitDef
trigger1 = p2stateno != [5070,5071]
trigger1 = AnimElem = 20 
attr = S, NA                     ;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 = 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 = ifelse(var(30),7,13), ifelse(var(30),7,13)                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -67
;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 = -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 = 0
envshake.time = 10
envshake.ampl = 3


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

;[State 0, ]
;type = PosAdd
;trigger1 = AnimTime = 0
;x = 27
;y = 
;ignorehitpause = 0
;persistent = 1

[State 200, 7]
type = ChangeState
trigger1 = AnimElem = 21,10 && var(2) 
value = 1001


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

;Shoot Kick (second Kick)
[Statedef 1001]
type    = S
movetype= A
physics = S
juggle  = 4
poweradd= 65
ctrl = 0
velset = 0,0
anim = 1001
sprpriority = 2

[State 0, ]
type = VelSet
trigger1 = AnimElemTime(1) >= 0 && AnimElemtime(5) < 0
x = 3+(var(56))

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

[State 0, ]
type = VarSet
triggerall = AnimElemTime(2) >= 0
triggerall = AnimElemTime(6) <= 0
triggerall = var(2) = 0
trigger1 = !AILevel && command = "QCB_a"
trigger2 = AILevel && (p2stateno = 131 || (p2stateno=[152,153]))
var(2) = 1

[State 0, ]
type = VarSet
triggerall = AnimElemTime(2) >= 0
triggerall = AnimElemTime(6) <= 0
triggerall = var(2) = 0
trigger1 = !AILevel && command = "QCB_b"
trigger2 = AILevel && ((moveguarded && random > 500) || (movehit && p2bodydist X >= 50))
var(2) = 2

[State 0, ]
type = VarSet
triggerall = AnimElemTime(2) >= 0
triggerall = AnimElemTime(6) <= 0
triggerall = var(2) = 0
trigger1 = !AILevel && command = "QCB_c"
trigger2 = AILevel && (movehit && p2bodydist X < 50)
var(2) = 3

[State 0, ]
type = VarSet
triggerall = AnimElemTime(2) >= 0
triggerall = AnimElemTime(6) <= 0
triggerall = var(2) = 0
trigger1 = !AILevel && command = "QCB_p"
trigger2 = AILevel && (moveguarded && random < 500)
var(2) = 5

[State 210, Width]
type = Width
trigger1 = (AnimElemTime (4) >= 0) && (AnimElemTime (5) < 0)
value = 10,0

[State 210, Width]
type = Width
trigger1 = (AnimElemTime (5) >= 0) && (AnimElemTime (6) < 0)
value = 20,0

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

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

[State 200, 1]
type = HitDef

trigger1 = AnimElem = 5 
attr = S, NA                     ;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 = 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 = ifelse(var(30),7,13), ifelse(var(30),7,13)                 ;Time attacker pauses, time opponent shakes
sparkno = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -36
;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 = -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 = 0
envshake.time = 10
envshake.ampl = 3



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

[State 200, 7]
type = ChangeState
trigger1 = AnimElem = 5,10 && var(2) 
value = 1001+var(2)

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

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

[State 0, ]
type = PosAdd
trigger1 = !time
x = 27

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

[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 = ifelse(var(30),7,13), ifelse(var(30),7,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 = -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
air.fall = 0
envshake.time = 10
envshake.ampl = 3
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .49


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

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


;Shoot Kick Finisher (Straight Kick)
[Statedef 1003]
type    = S
movetype= A
physics = S
juggle  = 4
poweradd= 65
ctrl = 0
velset = 0,0
anim = 1003
sprpriority = 2

[State 0, ]
type = PosAdd
trigger1 = !time
x = 27

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

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

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

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 11 
attr = S, NA                     ;Attribute: Standing, Normal Attack
damage = 45, 4                   ;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 = 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 = ifelse(var(30),7,13), ifelse(var(30),7,13)                 ;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) :=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
air.fall = 0
envshake.time = 10
envshake.ampl = 3
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .49

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

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

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

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

[State 0, ]
type = PosAdd
trigger1 = !time
x = 27

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

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

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

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 11 
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 = 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 = ifelse(var(30),7,13), ifelse(var(30),7,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) :=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,-10.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 = -2,-10.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
guard.velocity = -11
envshake.time = 10
envshake.ampl = 3
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .44

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

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

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

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

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

[State 40, 5]
type = PlaySnd
trigger1 = !Time 
value = 9, 2
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

;Fake step
[Statedef 1006]
type = S
physics = N
movetype= I
anim = 1006
ctrl = 0
velset = 0,0
sprpriority = -1

[State 0, ]
type = PosAdd
trigger1 = !time
x = 27

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

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

[State 810, Velocity]
type = VelSet
trigger1 = AnimElem = 2
x = 5.9

[State 810, Velocity]
type = VelSet
trigger1 = AnimElem = 7
x = 0

[State 810, HitBy]
type = HitBy
trigger1 = time <= 20
value = SCA, NT,ST,HT

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

[State 810, AfterImage]
type = Afterimage
trigger1 = AnimElem = 2
time = 30
length = 12
timegap = 1
framegap = 3
palbright = 0,0,0
paladd = 0,0,0
palmul = .9,.9,.9
palcontrast = 120,120,120
palpostbright = 0,0,0
trans = add1

[State 810, StateChange]
type = Changestate
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;Lightning Knee 
[Statedef 1010]
type    = S
movetype= A
physics = S
anim = 1010
ctrl = 0
facep2 = 1

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

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



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

[State 810, Grab Sound]
type = PlaySnd
trigger1 = AnimElem = 4
value = 1, 3
channel = 0

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

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

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

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

[State 200, 1]
type = HitDef
trigger1 = p2stateno != [5070,5071]
trigger1 = AnimElem = 4 
attr = S, NA                     ;Attribute: Standing, Normal Attack
damage = 105, 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 = ifelse(var(30),7,13), ifelse(var(30),7,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 = -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 = -4.5,-6.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


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

;Lightning Knee 
[Statedef 1011]
type    = S
movetype= A
physics = S
anim = 1011
ctrl = 0
facep2 = 1

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

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

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

[State 810, Grab Sound]
type = PlaySnd
trigger1 = AnimElem = 4
value = 1, 3
channel = 0

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

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

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

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

[State 200, 1]
type = HitDef
trigger1 = p2stateno != [5070,5071]
trigger1 = AnimElem = 4 
attr = S, NA                     ;Attribute: Standing, Normal Attack
damage = 105, 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 = ifelse(var(30),7,13), ifelse(var(30),7,13)                 ;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) :=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
air.fall = 0
envshake.time = 10
envshake.ampl = 3
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .49


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

;Lightning Knee 
[Statedef 1012]
type    = S
movetype= A
physics = S
anim = 1012
ctrl = 0
facep2 = 1

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

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

[State 810, Grab Sound]
type = PlaySnd
trigger1 = AnimElem = 4
value = 1, 3
channel = 0

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



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

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

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

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

[State 200, 1]
type = HitDef
trigger1 = p2stateno != [5070,5071]
trigger1 = AnimElem = 4 
attr = S, NA                     ;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 = ifelse(var(30),7,13), ifelse(var(30),7,13)                 ;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) :=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 = -3,-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 = -3,-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 = .49

[State 200, 1]
type = HitDef
trigger1 = p2stateno != [5070,5071]
trigger1 = AnimElem = 9 
attr = S, NA                     ;Attribute: Standing, Normal Attack
damage = 55, 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 = ifelse(var(30),7,13), ifelse(var(30),7,13)                 ;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) :=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
air.fall = 0
envshake.time = 10
envshake.ampl = 3
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .49


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

;Sliding Arrow 
[Statedef 1020]
type    = S
movetype= A
physics = S
anim = 1020
ctrl = 0
facep2 = 1

[State 0, ]
type = VelSet
trigger1 = AnimElemtime(3) >= 0
x = 4+(var(56)*2)



[State 0, ]
type = MakeDust
trigger1 = AnimElemtime(4) >= 0
pos = 0,0
;pos2 = 0,0
spacing = 2
;ignorehitpause = 0
;persistent = 1


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

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

[State 200, 1]
type = HitDef
trigger1 = p2stateno != [5070,5071]
trigger1 = AnimElem = 4 
attr = C, SA                     ;Attribute: Standing, Normal Attack
damage = 15                   ;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 = MF                    ;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 = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -41
;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
givepower = 35, 35
guard.pausetime = ifelse(var(30),7,13), ifelse(var(30),7,13)
guard.velocity = -11
kill=0

[State 810, State End]
type = ChangeState
trigger1 = movehit
value = 1029

[State 810, State End]
type = ChangeState
trigger1 = AnimElemtime(5) > 11 || (moveguarded && var(56))
value = 1023

;Sliding Arrow 
[Statedef 1021]
type    = S
movetype= A
physics = S
anim = 1020
ctrl = 0
facep2 = 1

[State 0, ]
type = VelSet
trigger1 = AnimElemtime(3) >= 0
x = 4.5+(var(56)*2)



[State 0, ]
type = MakeDust
trigger1 = AnimElemtime(4) >= 0
pos = 0,0
;pos2 = 0,0
spacing = 2
;ignorehitpause = 0
;persistent = 1


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

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

[State 200, 1]
type = HitDef
trigger1 = p2stateno != [5070,5071]
trigger1 = AnimElem = 4 
attr = C, SA                     ;Attribute: Standing, Normal Attack
damage = 15                   ;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 = MF                    ;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 = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -41
;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
givepower = 35, 35
guard.pausetime = ifelse(var(30),7,13), ifelse(var(30),7,13)
guard.velocity = -11
kill=0

[State 810, State End]
type = ChangeState
trigger1 = movehit
value = 1029

[State 810, State End]
type = ChangeState
trigger1 = AnimElemtime(5) > 15 || (moveguarded && var(56))
value = 1023


;Sliding Arrow 
[Statedef 1022]
type    = S
movetype= A
physics = S
anim = 1020
ctrl = 0
facep2 = 1

[State 0, ]
type = VelSet
trigger1 = AnimElemtime(3) >= 0
x = 5+(var(56)*2)



[State 0, ]
type = MakeDust
trigger1 = AnimElemtime(4) >= 0
pos = 0,0
;pos2 = 0,0
spacing = 2
;ignorehitpause = 0
;persistent = 1


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

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

[State 200, 1]
type = HitDef
trigger1 = p2stateno != [5070,5071]
trigger1 = AnimElem = 4 
attr = C, SA                     ;Attribute: Standing, Normal Attack
damage = 15                   ;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 = MF                    ;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 = 3                      ;Spark anim no (Def: set above)
sparkxy = -10, -41
;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
givepower = 35, 35
guard.pausetime = ifelse(var(30),7,13), ifelse(var(30),7,13)
guard.velocity = -11
kill=0

[State 810, State End]
type = ChangeState
trigger1 = movehit
value = 1029

[State 810, State End]
type = ChangeState
trigger1 = AnimElemtime(5) > 20 || (moveguarded && var(56))
value = 1023


;Sliding Arrow (end)
[Statedef 1023]
type    = C
movetype= A
physics = S
anim = 1021
ctrl = 0


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

;Body Slam 
[Statedef 1024]
type    = S
movetype= A
physics = N
anim = 1022
poweradd = 60
velset = 0,0

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

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

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

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

[State 810, Width 2-11]
type = Width
trigger1 = AnimElem = 8,8
edge = 60,20

[State 1950, 5]
type = TargetLifeAdd
trigger1 = animelem = 8,8
value = -105



[State 0, ]
type = VelSet
trigger1 = AnimElemtime(10) >= 0
x = -.75
;y = 
;ignorehitpause = 0
;persistent = 1



[State 0, ]
type = PosAdd
trigger1 = AnimElem = 10
x = -14
ignorehitpause = 1
persistent = 1

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

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

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

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


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


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

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

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

[State 0, 1]
type = PosAdd
trigger1 = Time = 1
x = const(size.mid.pos.y) 


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

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

[State 1486, 3]
type = EnvShake
trigger1 = Time = 1 
time = 20

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

;Sliding Arrow (hitting)
[Statedef 1029]
type    = C
movetype= A
physics = C
ctrl = 0

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



[State 0, ]
type = MakeDust
trigger1 = AnimElemtime(4) >= 0
pos = 0,0
;pos2 = 0,0
spacing = 2
;ignorehitpause = 0
;persistent = 1

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


[State 200, 1]
type = HitDef
trigger1 = !time && (enemynear, statetype != S)
sparkno = -1
numhits = 0
attr = C, SA
hitsound  = -1 + 0 * (var(46) :=-1)
guardsound = -1 + 0 * (var(47) :=-1)
projhitanim = -1
projremovetime = 2
damage    = 81,7
guardflag = MA
pausetime = ifelse(var(30),7,13), ifelse(var(30),7,13)
ground.type = Trip
ground.slidetime = 17
ground.hittime  = 17
ground.velocity = -.7,-6.25
air.velocity = -.7,-6.25
yaccel = .5
envshake.time = 10
fall = 1
fall.recover = 0
fall.envshake.time = 10




[State 810, State End]
type = ChangeState
trigger1 = AnimElemtime(5) > ifelse(prevstateno=1020,11,ifelse(prevstateno=1021,15,20))
value = 1023


;Shoot Upper
[Statedef 1030]
type    = S
movetype= A
physics = S
juggle  = 4
poweradd= 65
ctrl = 0
velset = 0,0
anim = 1030
sprpriority = 2

[State 0, ]
type = VelSet
trigger1 = AnimElemTime(2) >= 0 && AnimElemtime(4) < 2
x = 1 

[State 0, ]
type = VelSet
trigger1 = AnimElemTime(4) >= 2
x = .5 

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

[State 200, 1]
type = HitDef
trigger1 = p2stateno != [5070,5071]
trigger1 = AnimElem = 4 
attr = S, NA                     ;Attribute: Standing, Normal Attack
damage = 65, 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 = ifelse(var(30),7,13), ifelse(var(30),7,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) :=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,-5.5            ;Velocity at which opponent is pushed
airguard.velocity = -1,-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 = -1,-3.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
guard.velocity = -11
envshake.time = 10
envshake.ampl = 3
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .32

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

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

[State 0, ]
type = MakeDust
trigger1 = AnimElemTime(2) >= 0 && AnimElemtime(5) < 0
pos = 0,0
;pos2 = 0,0
;spacing = 
ignorehitpause = `
;persistent = 1

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

;Shoot Upper
[Statedef 1031]
type    = S
movetype= A
physics = S
juggle  = 4
poweradd= 65
ctrl = 0
velset = 0,0
anim = 1030
sprpriority = 2

[State 0, ]
type = VelSet
trigger1 = AnimElemTime(2) >= 0 && AnimElemtime(5) < 0
x = 2.5 

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

[State 200, 1]
type = HitDef
trigger1 = p2stateno != [5070,5071]
trigger1 = AnimElem = 4 
attr = S, NA                     ;Attribute: Standing, Normal Attack
damage = 65, 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 = ifelse(var(30),7,13), ifelse(var(30),7,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) :=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,-5.5            ;Velocity at which opponent is pushed
airguard.velocity = -1,-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 = -2,-5.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
guard.velocity = -11
envshake.time = 10
envshake.ampl = 3
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .32

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

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

[State 0, ]
type = MakeDust
trigger1 = AnimElemTime(2) >= 0 && AnimElemtime(5) < 0
pos = 0,0
;pos2 = 0,0
;spacing = 
ignorehitpause = `
;persistent = 1



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

;Shoot Upper
[Statedef 1032]
type    = S
movetype= A
physics = S
juggle  = 4
poweradd= 65
ctrl = 0
velset = 0,0
anim = 1030
sprpriority = 2


[State 0, ]
type = VelSet
trigger1 = AnimElemTime(2) >= 0 && AnimElemtime(4) < 2
x = 4 


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

[State 200, 1]
type = HitDef
trigger1 = p2stateno != [5070,5071]
trigger1 = AnimElem = 4 
attr = S, NA                     ;Attribute: Standing, Normal Attack
damage = 65, 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 = ifelse(var(30),7,13), ifelse(var(30),7,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) :=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,-5.5            ;Velocity at which opponent is pushed
airguard.velocity = -2,-4     ;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.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
guard.velocity = -11
envshake.time = 10
envshake.ampl = 3
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .32

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

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

[State 0, ]
type = MakeDust
trigger1 = AnimElemTime(2) >= 0 && AnimElemtime(5) < 0
pos = 0,0
;pos2 = 0,0
;spacing = 
ignorehitpause = `
;persistent = 1

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

;Shoot Upper (2nd Punch)
[Statedef 1035]
type    = S
movetype= A
physics = S
poweradd= 65
ctrl = 0
velset = 0,0
anim = 1031
sprpriority = 2


[State 0, ]
type = VelSet
trigger1 = AnimElemTime(1) >= 3 && AnimElemtime(5) < 2
x = 3.5

;[State 0, ]
;type = VelSet
;trigger1 = AnimElemTime(3) >= 0 && AnimElemtime(5) < 0
;x = .5 




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

[State 200, 1]
type = HitDef
trigger1 = p2stateno != [5070,5071]
trigger1 = AnimElem = 3 
attr = S, NA                     ;Attribute: Standing, Normal Attack
damage = 60, 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 = ifelse(var(30),7,13), ifelse(var(30),7,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) :=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 = -5,-5            ;Velocity at which opponent is pushed
airguard.velocity = -1,-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 = -5,-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
guard.velocity = -11
envshake.time = 10
envshake.ampl = 3
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .32

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

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

[State 0, ]
type = MakeDust
trigger1 = AnimElemTime(1) >= 0 && AnimElemtime(4) < 0
pos = 0,0
;pos2 = 0,0
;spacing = 
ignorehitpause = `
;persistent = 1

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

;Crescent Wrench Kick 
[Statedef 1040]
type    = A
movetype= A
physics = N
anim = 1040
juggle  = 0
ctrl = 0

[State 0, ]
type = Gravity
trigger1 = time > 2


[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 0, ]
type = VelSet
trigger1 = AnimElem = 1
x = ifelse(Vel X < 0,-2,3)
y = -6.2
;ignorehitpause = 0
;persistent = 1

[State 200, 1]
type = HitDef
trigger1 = AnimElem = 2 
attr = S, NA                     ;Attribute: Standing, Normal Attack
damage = 65, 0                   ;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 = ifelse(var(30),7,13), ifelse(var(30),7,13)                 ;Time attacker pauses, time opponent shakes
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
air.fall = 0
envshake.time = 10
envshake.ampl = 3
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .49


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