;Weak Vacuum
[Statedef 3206]
physics = N
velset = 0, 0
anim = 3205

[State 3205, NHB]
type = nothitby
trigger1 = 1
time = -1
value = SCA

[State 3205, HitOverride]
type = hitoverride
trigger1 = 1
time = -1
attr = SCA, AA, AP, AT
stateno = 3206
ignorehitpause = 1

[State 3205, bound]
type = screenbound
trigger1 = 1
value = 0

[State 3205, Turn]
type = turn
trigger1 = rootdist x < 5

[State 3205, Push]
type = playerpush
trigger1 = p2bodydist x = [ -10, 10]
value = 1

[State 3205, Pos]
type = posset
trigger1 = 1
y = 0

[State 3205, Vel]
type = velset
trigger1 = root, var(1) = 1
x = 250.0 / (rootdist x + 50.0)
;ifelse((rootdist x = [0, 100]), 2, ifelse((rootdist x = [100, 200]), 1.5, 1))

[State 3205, Vel]
type = velset
trigger1 = root, var(1) != 1
x = 500.0 / (rootdist x + 50.0)
;ifelse((rootdist x = [0, 100]), 4, ifelse((rootdist x = [100, 200]), 3, 2))

[State 3205, Dust]
type = explod
trigger1 = (p2bodydist x = [ -5, 5]) && (enemynear, statetype != A) && !(time % 12)
anim = F120
ID = 8103
sprpriority = 2
postype = p1
pos = 0, 0
scale = 1, 1
removetime = -2
ownpal = 1

[State 3205, Pos]
type = posadd
trigger1 = p2bodydist x != [ -5, 5]
x = ceil(p2dist x) - enemynear, const(size.ground.back) -5

[State 3205, End]
type = destroyself
trigger1 = root, stateno != 3007 || (root, anim != 3005) || root, movecontact
trigger2 = p2statetype = L



;Wait
[StateDef 1008]
type = A
physics = N
moveType = I
anim = 19999
ctrl = 0
velSet = 0,0

[State 1008, End]
type = DestroySelf
trigger1 = !NumTarget
trigger2 = NumTarget
trigger2 = Target, Time <= 1 && !(Target,HitShakeOver)

;Boost Explosion
[StateDef 13305]
type = S
moveType = A
ctrl = 0
sprPriority = 5

[State 3305, ChangeAnim]
type = ChangeAnim
trigger1 = Anim != 1160
value = 1160

[State 3305, Counter Flag]
type = VarSet
trigger1 = NumEnemy
trigger1 = MoveContact != 1
var(9) = (EnemyNear, MoveType = A)

[State 3305, Damage Dampener]
type = VarSet
trigger1 = 1
fvar(11) = (Root, fvar(10)) * ifElse(var(9), 1.2, 1)

[State 3305, Transparency]
type = Trans
trigger1 = 1
trans = AddAlpha
alpha = 256,256
ignoreHitPause = 1

[State 3305, HitDef]
type = HitDef
trigger1 = HitCount <= 6
trigger1 = Root, StateNo = 1030
trigger1 = Time = 5 && PrevStateNo = 13306 || (Time = 0 && !var(14))
attr = S, SP
hitFlag = MAFP
guardFlag = M
priority = 4,Hit
damage = ceil(ifElse(fvar(11) * 20 < 10, 10, fvar(11) * 20)), 1
getPower = 0, 0
givePower = 36, 36
pauseTime = 0, 3
guard.pauseTime = 0, 10
animType = DiagUp
air.animType = DiagUp
fall.animType = DiagUp
ground.type = High
air.type = High
ground.hitTime = 15
ground.slideTime = 15
guard.hitTime = 15
air.hitTime = 60
ground.velocity = 1.15,-2.5
ground.cornerPush.velOff = 0
guard.velocity = -3.5
guard.cornerPush.velOff = 0
air.velocity = ifElse(P2Dist x < -3, -3, 3),-2.5
air.cornerPush.velOff = 0
yAccel = 0.58
fall = 1
fall.recover = 0
forceStand = 1
hitSound = 5,1
guardSound = 6,0
sparkNo = 1
guard.sparkNo = 40
sparkXY = 0, 0
sprPriority = 3
p2Facing = ifElse(P2Dist x < -30, -1, 1)

[State 3305, Miss]
type = HitDef
trigger1 = (Root, var(16)) || (Root, var(15) >= 10)
attr = S, SP
hitFlag =
sparkXY = -10,0

[State 3305, End]
type = ChangeState
trigger1 = MoveContact
value = 13306
ignoreHitPause = 1

[State 3305, End]
type = ChangeState
trigger1 = Root, MoveType = H
trigger2 = Root, StateNo != 1030
trigger3 = AnimElemTime(18) >= 2
value = 13337
ignoreHitPause = 1

;Disappear
[StateDef 13337]
type = A
physics = N
moveType = A
anim = 19999
ctrl = 0
velSet = 0,0
sprPriority = 3
moveHitPersist = 1

[State 3004, Transparency]
type = Trans
trigger1 = 1
trans = AddAlpha
alpha = 256 - (24 * Time), 256
ignoreHitPause = 1

[State 3007, End]
type = ChangeState
trigger1 = !AnimTime
value = 1008

;Hit Pause
[StateDef 13306]
type = A
physics = N
moveType = A
ctrl = 0
sprPriority = 3
moveHitPersist = 1
hitCountPersist = 1

[State 3306, PosFreeze]
type = PosFreeze
trigger1 = 1
value = 1

[State 3306, VarSet]
type = VarSet
trigger1 = 1
var(14) = 1

[State 3306, VelSet]
type = VelSet
trigger1 = MoveContact = 1 && NumTarget && (Parent, StateNo = 1030)
x = 0

[State 3306, Parent Hit Count]
type = ParentVarAdd
trigger1 = !Time
trigger1 = MoveContact && NumTarget
var(13) = 1

[State 3306, Self Hit Count]
type = VarAdd
trigger1 = !Time
trigger1 = MoveContact && NumTarget
var(13) = 1

[State 3306, Juggle Points]
type = ParentVarAdd
trigger1 = !Time
trigger1 = MoveContact && NumTarget
var(15) = 1

[State 3306, ProjContact]
type = VarSet
trigger1 = MoveContact && NumTarget
var(18) = 1

[State 3306, ProjContact]
type = ParentVarSet
triggerAll = MoveContact && NumTarget
trigger1 = Root, StateNo = 1030
var(18) = 1

[State 3306, End]
type = ChangeState
trigger1 = Time >= 0
value = 13305

;Hyper BG Horizontal
[Statedef 6031]
physics=N
anim=4000
Sprpriority=-9999

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

[State 0, PosSet]
type = PosSet
trigger1 =1
x =ceil(pos x-screenpos x+160)
y =ceil(pos y-screenpos y+120)
ignorehitpause=1

[state 1000]
type = trans
trigger1 = time >= 0
trans = addalpha
alpha = 1 + 20 * (Time - 0), 256 - 20 * (Time - 0)
ignorehitpause = 1

[state 1000]
type = trans
trigger1 = time > 45
trans = addalpha
alpha = 256 - 32 * (Time - 45), 32 * (Time - 45)
ignorehitpause = 1

[State 6031, end]
type=destroyself
trigger1 = time = 100

;Spark
[StateDef 7001]
type = A
moveType = A
ctrl = 0
sprPriority = 3
anim = 7002
velset = -10,-10

[state 1000]
type = destroyself
trigger1 = time = 8

;Spark
[StateDef 7002]
type = A
moveType = A
ctrl = 0
sprPriority = 3
anim = 7003
velset = -10,10

[state 1000]
type = destroyself
trigger1 = time = 8

;Spark
[StateDef 7003]
type = A
moveType = A
ctrl = 0
sprPriority = 3
anim = 7003
velset = 10,-10

[state 1000]
type = destroyself
trigger1 = time = 8

;Spark
[StateDef 7004]
type = A
moveType = A
ctrl = 0
sprPriority = 3
anim = 7002
velset = 10,10

[state 1000]
type = destroyself
trigger1 = time = 8

;Guard Spark (Normal)
[StateDef 7500]
type = A
physics = N
moveType = I
anim = 19999
velset = 0,0
sprPriority = 5

[state 1000]
type = gamemakeAnim
trigger1 = !time
value = 40
ignorehitpause = 1

[state 1000]
type = playsnd
trigger1 = time = 0
value = F6,0

[State 8000, Assert: No Shadow]
type = AssertSpecial
trigger1= 1
flag = NoShadow

[State 8000, End]
type = DestroySelf
trigger1 = Time >= 9

;Special Move Hit Spark
[StateDef 7501]
type = A
physics = N
moveType = I
anim = 19999
velSet = 0,0
sprPriority = 5

[State 8010, Assert: NoShadow]
type = AssertSpecial
trigger1 = 1
flag = NoShadow

[state 1000]
type = playsnd
trigger1 = time = 0
value = F5,1

[state 1000]
type = gamemakeAnim
trigger1 = !time
value = 1
ignorehitpause = 1

[State 8010, End]
type = DestroySelf
trigger1 = Time >= 15
