;====================<PARRY HELPER>=========================
[StateDef 765]
type = A
physics = N
moveType = I
anim = ifElse(Root, StateType = C, 766, ifElse(Root, StateType = A, 767, 765))
velSet = 0,0
ctrl = 0

[State 765, NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA

[State 765, BindToRoot]
type = BindToRoot
trigger1 = 1
time = -1

[State 765, Change to Crouching]
type = ChangeAnim
triggerAll = !Time
trigger1 = Root, command = "down"
value = 766

[State 765, Change to Standing / Jumping]
type = ChangeAnim
triggerall = !Time
trigger1 = Root, command = "fwd"
value = ifElse((Root, StateType = A), 767, 765)

[State 765, Change to Standing / Jumping]
type = ChangeAnim
trigger1 = Anim = 765 || Anim = 767
value = ifElse((Root, StateType = A), 767, 765)

[State 765, Disable]
type = VarSet
trigger1 = Time >= ifElse((Root, StateType = A), 7, 8)
trigger2 = Facing != (Root, Facing)
trigger3 = !(Root, ctrl)
trigger3 = (Root, StateNo != [760,762]) && (Root, StateNo != 5120)
var(0) = 1

[State 765, Disable]
type = VarSet
trigger1 = (Root, command = "holdback")
trigger2 = Time < 4 && (Root, command = "holdfwd" + Root, command = "holddown") > 1
trigger3 = Time >= 4 && (Root, command = "holdfwd" || Root, command = "holddown")
trigger4 = Time >= 1 && (((Anim = 765 || Anim = 767) && Root, command = "fwd") || (Anim = 766 && Root, command = "down"))
var(0) = 1

[State 765, Disable]
type = ChangeAnim
trigger1 = var(0) = 1
value = 1

[State 765, Standing/Air]
type = ReversalDef
trigger1 = !var(0) && (Anim = 765 || Anim = 767)
trigger1 = (Root, StateNo != 5120) || !(Root, AnimTime)
reversal.attr = SCA,AA
p1StateNo = 766
pauseTime = 0,0
sparkNo = -1
numHits = 0

[State 765, Crouching]
type = ReversalDef
trigger1 = !var(0) && Anim = 766
reversal.attr = SC,AA
p1StateNo = 766
pauseTime = 0,0
sparkNo = -1
numHits = 0

[State 765, Disable]
type = ReversalDef
trigger1 = var(0) = 1
reversal.attr =
pauseTime = 0,0
sparkNo = -1
numHits = 0

[State 765, End]
type = DestroySelf
trigger1 = Time >= 18
trigger2 = (Root, MoveType != I)
trigger3 = !(Root, ctrl) && (Root, StateNo != [760,762]) && (Root, StateNo != 5120)
trigger4 = (Root, StateNo = [760,762]) && (Root, Time <= 1)


;---Success---
[StateDef 766]
moveType = I
ctrl = 0

[State 766, Disable]
type = VarSet
trigger1 = 1
var(0) = 1

[State 766, End]
type = DestroySelf
trigger1 = Root, StateNo = [760,762]
trigger2 = Time >= 2

;=====================<MAX MODE BAR HELPER>============================
[Statedef 780]
type = S
movetype = I
physics = N
anim = 1
sprpriority = 0

[State 780, BindToRoot]
type = BindToRoot
trigger1 = 1
time = -1
pos = 0,-15

[State 780, Meter BG]
type = null;Explod
trigger1 = !Time
anim = 780
id = 780
pos = 2,0
postype = p1
bindtime = -1
removetime = -1
scale = .5,.5
sprpriority = -1
ontop = 1
ownpal = 1
removeongethit = 0

[State 780, Meter Fill]
type = Explod
trigger1 = Time = 2
anim = 781
id = 781
pos = 24,0
postype = p1
bindtime = -1
removetime = -1
scale = .5,.5
sprpriority = 2
ontop = 1
ownpal = 1
removeongethit = 0
ignorehitpause = 1

[State 780, Meter Container]
type = Explod
trigger1 = Time = 2
anim = 782
id = 782
pos = 0,0
postype = p1
bindtime = -1
removetime = -1
scale = .5,.5
sprpriority = 4
ontop = 1
ownpal = 1
removeongethit = 0
ignorehitpause = 1

[State 780, ModifyExplod]
type = ModifyExplod
trigger1 = root, Var(20) > 0
id = 781
scale = (5 + root, Var(20)) / 2000.0,.5
ignorehitpause = 1

[State 780, RemoveExplod]
type = RemoveExplod
trigger1 = root, Var(20) <= 0
id = 780
ignorehitpause = 1

[State 780, RemoveExplod]
type = RemoveExplod
trigger1 = root, Var(20) <= 0
id = 781
ignorehitpause = 1

[State 780, RemoveExplod]
type = RemoveExplod
trigger1 = root, Var(20) <= 0
id = 782
ignorehitpause = 1

[State 780, DestroySelf]
type = DestroySelf
trigger1 = root, Var(20) <= 0
ignorehitpause = 1

;=====================<Intro Helpers>=====================
;Vs. Tiffany Lords - Batsu 
[StateDef 192]
ctrl = 0
anim = 192
sprpriority = 1
velset = 0,0
 
[State 192, SFX]
type = Playsnd
trigger1 = AnimElem = 2
value = s1000,90
 
[State 192, Velocity]
type = VelSet
trigger1 = AnimElemTime(2) >= 0
x = -13
 
[State 192, End]
type = DestroySelf
triggerall = AnimElemTime(2) > 0
trigger1 = BackEdgeDist <= -60
trigger2 = Time > 200
 
;Vs. Tiffany Lords - Hinata 
[StateDef 193]
ctrl = 0
anim = 193
sprpriority = 0
velset = 0,0
 
;[State 193, SFX]
;type = Playsnd
;trigger1 = AnimElem = 2
;value = s1000,90
 
[State 193, Velocity]
type = VelSet
trigger1 = AnimElemTime(2) >= 0
x = -13
 
[State 193, End]
type = DestroySelf
triggerall = AnimElemTime(2) > 0
trigger1 = BackEdgeDist <= -60
trigger2 = Time > 200

;=====================<Cross Cutter Helpers>=========================
;Cross Cutter High
[StateDef 1010]
type = A
physics = N
moveType = A
ctrl = 0
anim = 1010
sprPriority = 3

[State 1010, HitOverride]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AP,AT
time = -1
stateno = 1013
ignoreHitPause = 1

[State 1010, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

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

[State 1010, HitBy]
type = HitBy
trigger1 = 1
value = SCA,NP,SP,HP
time = -1
ignoreHitPause = 1

[State 1010, ChangeAnim]
type = ChangeAnim
trigger1 = Anim != 1010 && Anim != 1015
value = 1010

[State 1010, Button Detect]
type = VarSet
trigger1= !Time && !PrevStateNo
var(10) = Root, var(10)

[State 1010, MAX Mode Detect]
type = VarSet
trigger1= !Time && !PrevStateNo
var(20) = Root, var(20)

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

[State 1010, Velocity]
type = VelSet
trigger1 = !Time
x = ifElse(var(10) = 2, 3.5, ifElse(var(10) = 1, 2.5, 1.5))
y = ifElse(var(10) = 2, -4.5, ifElse(var(10) = 1, -5.25, -5.625))

[State 1010, VelAdd]
type = Veladd
trigger1 = Time > 1
y = ifElse(var(10) < 1, 0.35, 0.335)

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

[State 1010, Miss]
type = HitDef
trigger1 = 1
attr = S,SP
hitFlag =
sparkXY = -10,0

[State 1010, HitDef]
type = HitDef
trigger1 = !(root,var(16)) && root,var(15)<1
attr = S,SP
hitFlag = MAF
guardFlag = MA
priority = 4, Hit
damage = ceil(ifElse(fvar(11) * (28 * (ifElse(var(20), 1.1, 1))) < 7, 7, fvar(11) * (28 * (ifElse(var(20), 1.1, 1))))), 7
getPower = 0, 0
givePower = 35, 35
pauseTime = 0, 12
guard.pauseTime = 0, 10
animType = Hard
air.animType = Back
fall.animType = Back
ground.type = Low
air.type = Low
ground.hitTime = 18
ground.slideTime = 18
guard.hitTime = 18
air.hitTime = 60
airGuard.ctrlTime = 16
ground.velocity = -8.25
ground.cornerPush.velOff = 0
guard.velocity = -8.25
guard.cornerPush.velOff = 0
air.velocity = -5.35, -6.15
air.cornerPush.velOff = 0
airGuard.velocity = -5, -0.5
airGuard.cornerPush.velOff = 0
yAccel = .58
fall = 0
air.fall = 1
fall.recover = 1
fall.recoverTime = 120
forceStand = 1
hitSound = -1
guardSound = -1
sparkNo = -1
guard.SparkNo = -1
sparkXY = -10, -32
envShake.time = 14
envShake.ampl = 4
envShake.freq = 120
sprPriority = 3
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48

[State 1010, ChangeState]
type = ChangeState
trigger1 = MoveContact = 1
value = 1011
ignoreHitPause = 1

[State 1010, ChangeState]
type = ChangeState
trigger1 = MoveReversed
value = 1013
ignoreHitPause = 1

[State 1010, ChangeState: Merged]
type = ChangeState
triggerall = Anim != 1015
trigger1 = !var(10)
trigger1 = Time > 35
trigger2 = var(10) = 1
trigger2 = Time >= 35
trigger3 = var(10) = 2
trigger3 = Time > 30
value = 1018

[State 1010, End]
type = DestroySelf
trigger1 = Time > 0 && FrontEdgeDist <= -40
trigger2 = Anim = 1015 && !AnimTime


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

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

[State 1011, HitSound]
type = PlaySnd
trigger1 = MoveContact = 1 && NumTarget
trigger1 = !(Target, HitShakeOver)
value = ifElse(MoveGuarded, 130, 2), ifElse(MoveGuarded, 0, 6)
channel = 3
ignorehitPause = 1

[State 1011, Hit Spark]
type = Helper
trigger1 = MoveContact = 1 && NumTarget
trigger1 = !(Target, HitShakeOver)
helperType = Normal
stateNo = ifElse(MoveGuarded, 8001, 8013)
ID = 8000
name = "Spark"
posType = P1
pos = ifElse(P2Dist x < 0, 0, ifElse(P2Dist x < 20, ceil(P2Dist x), 20)), 0
ownPal = 1
facing = -1
size.xScale = 1
size.yScale = 1
pauseMoveTime = 65535
superMoveTime = 65535
ignoreHitPause = 1

[State 1011, Counter FX]
type = Helper
trigger1 = movecontact=1 && numtarget && var(9)
trigger1 = !(target,hitshakeover)
helpertype = normal
stateno=8290
ID = 8290
name = "Counter FX"
postype = p1
pos = ifElse(P2Dist x < 0, 0, ifElse(P2Dist x < 20, ceil(P2Dist x), 20)), 0
ownpal = 1
pausemovetime = 65535
supermovetime = 65535
ignorehitpause = 1

[State 1011, End: Normal]
type = ChangeState
trigger1 = PrevStateNo=1010 || PrevStateNo=1017
trigger1 = Time >= 0
value = 1013

[State 1011, End: Merged]
type = ChangeState
trigger1 = PrevStateNo=1018
trigger1 = Time >= 0
value = 1014


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

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

[State 1012, HitSound]
type = PlaySnd
trigger1 = MoveContact = 1 && NumTarget
trigger1 = !(Target, HitShakeOver)
value = ifElse(MoveGuarded, 130, 2), ifElse(MoveGuarded, 0, 9)
channel = 3
persistent = 0
ignorehitPause = 1

[State 1012, Hit Spark]
type = Helper
trigger1 = MoveContact = 1 && NumTarget
trigger1 = !(Target, HitShakeOver)
helperType = Normal
stateNo = ifElse(MoveGuarded, 8001, 8013)
ID = 8000
name = "Spark"
posType = P1
pos = ifElse(P2Dist x < 0, 0, ifElse(P2Dist x < 20, ceil(P2Dist x), 20)), 0
ownPal = 1
facing = -1
size.xScale = 1
size.yScale = 1
pauseMoveTime = 65535
superMoveTime = 65535
persistent = 0
ignoreHitPause = 1

[State 1012, Counter FX]
type = Helper
trigger1 = movecontact=1 && numtarget && var(9)
trigger1 = !(target,hitshakeover)
helpertype = normal
stateno=8290
ID = 8290
name = "Counter FX"
postype = p1
pos = ifElse(P2Dist x < 0, 0, ifElse(P2Dist x < 20, ceil(P2Dist x), 20)), 0
ownpal = 1
pausemovetime = 65535
supermovetime = 65535
persistent = 0
ignorehitpause = 1

[State 1012, End]
type = ChangeState
trigger1 = Time >= 0
value = 1015


;Cross Cutter Disperse(Normal)
[Statedef 1013]
type = A
movetype = A
physics = N
anim = 1015
ctrl = 0
velSet = 0,0
sprpriority = 3
moveHitPersist = 1

;[State 1013, Disperse FX: Normal]
;type = Explod
;trigger1 = !NumExplod(1015)
;trigger1 = !Time
;anim = 1015
;ID = 1015
;pos = 0, 0
;postype = P1
;sprpriority = 3
;scale = .5,.5
;ignorehitpause = 1
;bindtime = -1
;;pausemovetime = 65535
;;supermovetime = 65535
;ownpal = 1
;removeongethit = 1

[State 1013, AngleDraw]
type = AngleDraw
trigger1 = 1
scale = 1.4,1.4
ignorehitpause = 1
persistent = 1

[State 1013, PlaySnd]
type = PlaySnd
trigger1 = !Time
value = 2,6
channel = 3
volume = -128
lowPriority = 1

[State 1013, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

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

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

[State 1013, End]
type = ChangeState
trigger1 = !AnimTime
value = 1016

;Cross Cutter Disperse(Merged)
[Statedef 1014]
type = A
movetype = A
physics = N
anim = 1016
ctrl = 0
velSet = 0,0
sprpriority = 3
moveHitPersist = 1

;[State 1014, Disperse FX: Merged]
;type = Explod
;trigger1 = !NumExplod(1016)
;trigger1 = !Time
;anim = 1016
;ID = 1016
;pos = 0, 0
;postype = P1
;sprpriority = 3
;scale = .35,.35
;ignorehitpause = 1
;bindtime = -1
;;pausemovetime = 65535
;;supermovetime = 65535
;ownpal = 1
;removeongethit = 1

[State 1014, PlaySnd]
type = PlaySnd
trigger1 = !Time
value = 2,6
channel = 3
volume = -128
lowPriority = 1

[State 1014, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

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

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

[State 1014, End]
type = ChangeState
trigger1 = !AnimTime
value = 1016

;EX Cross Cutter Disperse
[Statedef 1015]
type = A
movetype = A
physics = N
anim = 1021
ctrl = 0
velSet = 0,0
sprpriority = 3
moveHitPersist = 1

[State 1015, PlaySnd]
type = PlaySnd
trigger1 = !Time
value = 2,9
channel = 3
volume = -128
lowPriority = 1

[State 1015, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

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

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

[State 1015, End]
type = ChangeState
trigger1 = !AnimTime
value = 1016

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

[State 1016, DestroySelf]
type = DestroySelf
trigger1 = NumHelper(3010) > 1
trigger1 = Helper(3010),StateNo=1016
trigger2 = NumHelper(3030) > 1
trigger2 = Helper(3030),StateNo=1016

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

;Cross Cutter Low
[StateDef 1017]
type = A
physics = N
moveType = A
ctrl = 0
anim = 1017
sprPriority = 3

[State 1017, HitOverride]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AP,AT
time = -1
stateno = 1013
ignoreHitPause = 1

[State 1017, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

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

[State 1017, HitBy]
type = HitBy
trigger1 = 1
value = SCA,NP,SP,HP
time = -1
ignoreHitPause = 1

[State 1017, ChangeAnim]
type = ChangeAnim
trigger1 = Anim != 1017 && Anim != 1015
value = 1017

[State 1017, Button Detect]
type = VarSet
trigger1= !Time && !PrevStateNo
var(10) = Root, var(10)

[State 1017, MAX Mode Detect]
type = VarSet
trigger1= !Time && !PrevStateNo
var(20) = Root, var(20)

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

[State 1017, Velocity]
type = VelSet
trigger1 = !Time
x = ifElse(var(10) = 2, 3.5, ifElse(var(10) = 1, 2.5, 1.5))
y = ifElse(var(10) = 2, 4.5, ifElse(var(10) = 1, 5.25, 5.625))

[State 1017, VelAdd]
type = Veladd
trigger1 = Time > 1
y = ifElse(var(10) < 1, -0.35, -0.335)

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

[State 1017, Miss]
type = HitDef
trigger1 = 1
attr = S,SP
hitFlag =
sparkXY = -10,0

[State 1017, HitDef]
type = HitDef
trigger1 = !(root,var(16)) && root,var(15)<1
attr = S,SP
hitFlag = MAF
guardFlag = MA
priority = 4, Hit
damage = ceil(ifElse(fvar(11) * (28 * (ifElse(var(20), 1.1, 1))) < 7, 7, fvar(11) * (28 * (ifElse(var(20), 1.1, 1))))), 7
getPower = 0, 0
givePower = 35, 35
pauseTime = 0, 12
guard.pauseTime = 0, 10
animType = Hard
air.animType = Back
fall.animType = Back
ground.type = Low
air.type = Low
ground.hitTime = 18
ground.slideTime = 18
guard.hitTime = 18
air.hitTime = 60
airGuard.ctrlTime = 16
ground.velocity = -8.25
ground.cornerPush.velOff = 0
guard.velocity = -8.25
guard.cornerPush.velOff = 0
air.velocity = -5.35, -6.15
air.cornerPush.velOff = 0
airGuard.velocity = -5, -0.5
airGuard.cornerPush.velOff = 0
yAccel = .58
fall = 0
air.fall = 1
fall.recover = 1
fall.recoverTime = 120
forceStand = 1
hitSound = -1
guardSound = -1
sparkNo = -1
guard.SparkNo = -1
sparkXY = -10, -32
envShake.time = 14
envShake.ampl = 4
envShake.freq = 120
sprPriority = 3
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48

[State 1017, ChangeState]
type = ChangeState
trigger1 = MoveContact = 1
value = 1011
ignoreHitPause = 1

[State 1017, ChangeState]
type = ChangeState
trigger1 = MoveReversed
value = 1013
ignoreHitPause = 1

[State 1017, End]
type = DestroySelf
trigger1 = !var(10)
trigger1 = Time > 35
trigger2 = var(10) = 1
trigger2 = Time >= 35
trigger3 = var(10) = 2
trigger3 = Time > 30

[State 1017, End]
type = DestroySelf
trigger1 = Time > 0 && FrontEdgeDist <= -40
trigger2 = Anim = 1015 && !AnimTime

;Cross Cutter Merged
[StateDef 1018]
type = A
physics = N
moveType = A
ctrl = 0
anim = 1018
sprPriority = 3

[State 1018, HitOverride]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AP,AT
time = -1
stateno = 1014
ignoreHitPause = 1

[State 1018, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

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

[State 1018, HitBy]
type = HitBy
trigger1 = 1
value = SCA,NP,SP,HP
time = -1
ignoreHitPause = 1

[State 1018, ChangeAnim]
type = ChangeAnim
trigger1 = Anim != 1018 && Anim != 1016
value = 1018

[State 1018, AngleDraw]
type = AngleDraw
trigger1 = 1;Time > 0
scale = 1.5-(Time*.1),1.5-(Time*.1)
ignorehitpause = 1
persistent = 1

;[State 1018, Button Detect]
;type = VarSet
;trigger1= !Time && !PrevStateNo
;var(10) = Root, var(10)

[State 1018, MAX Mode Detect]
type = VarSet
trigger1= !Time && !PrevStateNo
var(20) = Root, var(20)

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

[State 1018, Posset]
type = PosSet
trigger1 = !Time 
y = -65

[State 1018, VelStop]
type = VelSet
trigger1 = !Time
y = 0

[State 1018, Velocity]
type = VelSet
trigger1 = !Time
x = 7

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

[State 1018, Miss]
type = HitDef
trigger1 = 1
attr = S,SP
hitFlag =
sparkXY = -10,0

[State 1018, HitDef]
type = HitDef
trigger1 = !(root,var(16)) && root,var(15)<1
attr = S,SP
hitFlag = MAF
guardFlag = MA
priority = 4, Hit
damage = ceil(ifElse(fvar(11) * (56 * (ifElse(var(20), 1.1, 1))) < 7, 7, fvar(11) * (56 * (ifElse(var(20), 1.1, 1))))), 7
getPower = 0, 0
givePower = 35, 35
pauseTime = 0, 12
guard.pauseTime = 0, 10
animType = Hard
air.animType = Back
fall.animType = Back
ground.type = Low
air.type = Low
ground.hitTime = 18
ground.slideTime = 18
guard.hitTime = 18
air.hitTime = 60
airGuard.ctrlTime = 16
ground.velocity = -8.25
ground.cornerPush.velOff = 0
guard.velocity = -8.25
guard.cornerPush.velOff = 0
air.velocity = -5.35, -6.15
air.cornerPush.velOff = 0
airGuard.velocity = -5, -0.5
airGuard.cornerPush.velOff = 0
yAccel = .58
fall = 0
air.fall = 1
fall.recover = 1
fall.recoverTime = 120
forceStand = 1
hitSound = -1
guardSound = -1
sparkNo = -1
guard.SparkNo = -1
sparkXY = -10, -32
envShake.time = 14
envShake.ampl = 4
envShake.freq = 120
sprPriority = 3
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48

[State 1018, StateTypeSet: Idle]
type = StateTypeSet
trigger1 = AnimElemTime(5) >= 0
moveType = I

[State 1018, ChangeState]
type = ChangeState
trigger1 = MoveContact = 1
value = 1011
ignoreHitPause = 1

[State 1018, ChangeState]
type = ChangeState
trigger1 = MoveReversed
value = 1014
ignoreHitPause = 1

[State 1018, End]
type = DestroySelf
trigger1 = Time > 0 && FrontEdgeDist <= -40
trigger2 = !AnimTime

;=====================<EX Cross Cutter Helper>=========================
[StateDef 1020]
type = S
physics = N
moveType = A
ctrl = 0
anim = 1020
sprPriority = 3

[State 1020, Projectile Health]
type = VarSet
trigger1 = !Time && !PrevStateNo
var(0) = 2

[State 1020, Projectile Health Decrement]
type = VarAdd
trigger1 = !Time && PrevStateNo
var(0) = -1
ignoreHitPause = 1
persistent = 0

[State 1020, HitOverride]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AP,AT
time = -1
stateno = ifElse(var(0) > 0, 1020, 1015)
ignoreHitPause = 1

[State 1020, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

[State 1020, Button Detect]
type = VarSet
trigger1= !Time && !PrevStateNo
var(10) = Root, var(10)

[State 1020, MAX Mode Detect]
type = VarSet
trigger1= !Time && !PrevStateNo
var(20) = Root, var(20)

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

[State 1020, HitBy]
type = HitBy
trigger1 = 1
value = SCA,NP,SP,HP
time = -1
ignoreHitPause = 1

[State 1020, ChangeAnim]
type = ChangeAnim
trigger1 = Anim != 1020 ;&& Anim != 1021
value = 1020

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

[State 1020, Velocity]
type = VelSet
trigger1 = !Time
trigger1 = PrevStateNo =! StateNo
x = ifElse(var(10) = 2, 7, ifElse(var(10) = 1, 5, 3))
y = 0

[State 1020, Velocity]
type = VelAdd
trigger1 = Time >= 15
x = ifElse(var(10) = 2, 1.6, ifElse(var(10) = 1, 1.1, 0.6))
y = 0 
persistent = 1 

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

[State 1020, Miss]
type = HitDef
trigger1 = 1
attr = S,SP
hitFlag =
sparkXY = -10,0

[State 1020, HitDef]
type = HitDef
trigger1 = !(root,var(16)) && root,var(15)<1
trigger1 = var(0)>0
attr = S,SP
hitFlag = MAF
guardFlag = MA
priority = 4, Hit
damage = ceil(ifElse(fvar(11) * ifElse(var(0) < 2, 42, 84) < 7, 7, fvar(11) * ifElse(var(0) < 2, 42, 84))), 7
getPower = 0, 0
givePower = 35, 35
pauseTime = 0, 12
guard.pauseTime = 0, 10
animType = DiagUp
air.animType = DiagUp
fall.animType = DiagUp
ground.type = High
air.type = High
ground.hitTime = 18
ground.slideTime = 18
guard.hitTime = 18
air.hitTime = 60
airGuard.ctrlTime = 16
ground.velocity = -8, -5.5
ground.cornerPush.velOff = 0
guard.velocity = -8.25
guard.cornerPush.velOff = 0
air.velocity = -7.5, -5
air.cornerPush.velOff = 0
airGuard.velocity = -5, -1
airGuard.cornerPush.velOff = 0
yAccel = .53
fall = 1
air.fall = 1
fall.recover = 0
;fall.recoverTime = 120
forceStand = 1
hitSound = -1
guardSound = -1
sparkNo = -1
guard.SparkNo = -1
sparkXY = -10, -32
envShake.time = 14
envShake.ampl = 4
envShake.freq = 120
sprPriority = 3
palfx.time = 38
palfx.mul = 128,128,128
palfx.sinadd = 96,96,96,4

[State 1020, Shock FX]
type = Helper
trigger1 = !NumHelper(8150)
trigger1 = MoveHit = 1 && NumTarget
trigger1 = !(Target, HitShakeOver)
trigger1 = var(40) := (Target, ID)
helperType = Normal
stateNo = 8150
ID = 8150
name = "Static Shock"
posType = P2
ownPal = 1
ignoreHitPause = 1

[State 1020, ChangeState]
type = ChangeState
trigger1 = MoveContact = 1
value = ifElse(NumTarget, 1012, 1020)
ignoreHitPause = 1

[State 1020, ChangeState]
type = ChangeState
trigger1 = MoveReversed
value = ifElse(var(0) > 0, 1020, 1015)
ignoreHitPause = 1

[State 1020, End]
type = DestroySelf
trigger1 = Time > 0 && FrontEdgeDist <= -70
trigger2 = Anim = 1021 && !AnimTime

;=====================<Lightning Upper Helper>=========================
[StateDef 1205]
type = S
physics = N
moveType = A
ctrl = 0
anim = 1205
sprPriority = 4

[State 1205, ParentVarAdd: Hit Detect]
type = ParentVarAdd
trigger1 = MoveHit = 1 && NumTarget
var(4) = 1
;ignorehitpause = 1

[State 1205, HitOverride]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AP,AT
time = -1
stateno = 1207
ignoreHitPause = 1

[State 1205, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

[State 1205, MAX Mode Detect]
type = VarSet
trigger1= !Time && !PrevStateNo
var(20) = Root, var(20)

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

[State 1205, HitBy]
type = HitBy
trigger1 = 1
value = SCA,NP,SP,HP
time = -1
ignoreHitPause = 1

[State 1205, ChangeAnim]
type = ChangeAnim
trigger1 = Anim != 1205
value = 1205

;[State 1205, Bind]
;type = BindToRoot
;trigger1 = AnimElemTime(2)<0
;pos = 0, 0
;facing = 1

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

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

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

[State 1205, Miss]
type = HitDef
trigger1 = 1
attr = S,SP
hitFlag =
sparkXY = -10,0

[State 1205, HitDef]
type = HitDef
trigger1 = !(root,var(16)) && root,var(15)<1
trigger1 = !var(18)
attr = S,SP
hitFlag = MAF
guardFlag = MA
ID = 1205
priority = 4, Hit
damage = ceil(ifElse(fvar(11) * (56 * (ifElse(var(20), 1.1, 1))) < 7, 7, fvar(11) * (56 * (ifElse(var(20), 1.1, 1))))), 7
getPower = 0, 0
givePower = 35, 35
pauseTime = 0, 12
guard.pauseTime = 0, 10
animType = Hard
air.animType = Back
fall.animType = Back
ground.type = High
air.type = High
ground.hitTime = 18
ground.slideTime = 18
guard.hitTime = 18
air.hitTime = 60
airGuard.ctrlTime = 16
;down.hittime = 20
ground.velocity = -1.5, -8.5
ground.cornerPush.velOff = 0
guard.velocity = -8.15
guard.cornerPush.velOff = 0
air.velocity = -1.5, -8.5
air.cornerPush.velOff = 0
airGuard.velocity = -6, -0.75
airGuard.cornerPush.velOff = 0
;down.velocity = 0, 0
;down.cornerpush.veloff = 0
yAccel = .48
fall = 1
fall.recover = 0
;fall.recoverTime = 34
forceStand = 1
hitSound = -1
guardSound = -1
sparkNo = -1
guard.SparkNo = -1
sparkXY = -10, -48
envShake.time = 14
envShake.ampl = 4
envShake.freq = 120
sprPriority = 4
palfx.time = ifelse(P2statetype = A,60,45)
palfx.mul = 128,128,128
palfx.sinadd = 96,96,96,4

[State 1205, Shock FX]
type = Helper
trigger1 = !NumHelper(8150)
trigger1 = MoveHit = 1 && NumTarget
trigger1 = !(Target, HitShakeOver)
trigger1 = var(40) := (Target, ID)
helperType = Normal
stateNo = 8150
ID = 8150
name = "Static Shock"
posType = P2
ownPal = 1
ignoreHitPause = 1

[State 1205, ChangeState]
type = ChangeState
trigger1 = MoveContact=1
value = 1206
ignoreHitPause = 1

[State 1205, ChangeState]
type = ChangeState
trigger1 = MoveReversed
value = 1207
ignoreHitPause = 1

[State 1205, End]
type = DestroySelf
trigger1 = !AnimTime
trigger2 = Root,MoveType=H
;trigger3 = Root,StateNo!=1200
;trigger4 = MoveReversed


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

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

[State 1206, HitSound]
type = PlaySnd
trigger1 = MoveContact = 1 && NumTarget
trigger1 = !(Target, HitShakeOver)
value = ifElse(MoveGuarded, 130, 2), ifElse(MoveGuarded, 0, 9)
channel = 3
ignorehitPause = 1

[State 1206, Hit Spark]
type = Helper
trigger1 = MoveContact = 1 && NumTarget
trigger1 = !(Target, HitShakeOver)
helperType = Normal
stateNo = ifElse(MoveGuarded, 8001, 8013)
ID = 8000
name = "Spark"
posType = P1
pos = ifelse(p2dist x<-64, -64, ifelse(p2dist x<64, ceil(p2dist x), 64)), ceil(p2dist y-64)
ownPal = 1
facing = -1
size.xScale = 1
size.yScale = 1
pauseMoveTime = 65535
superMoveTime = 65535
ignoreHitPause = 1

[State 1206, Counter FX]
type = Helper
trigger1 = movecontact=1 && numtarget && var(9)
trigger1 = !(target,hitshakeover)
helpertype = normal
stateno=8290
ID = 8290
name = "Counter FX"
postype = p1
pos = ifelse(p2dist x<-64, -64, ifelse(p2dist x<64, ceil(p2dist x), 64)), ceil(p2dist y-64)
ownpal = 1
pausemovetime = 65535
supermovetime = 65535
ignorehitpause = 1

[State 1206, End]
type = ChangeState
trigger1 = Time >= 0
value = 1207


;Dead State
[Statedef 1207]
type = A
movetype= I
physics = N
ctrl = 0
;velset = 0,0
sprpriority = 4
movehitpersist = 1

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

[State 1207, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

[State 1207, Muteki]
type = NotHitBy
trigger1 = 1
value = SCA

[State 1207, End]
type = ChangeState
trigger1 = !AnimTime
value = 1016

[State 1207, End]
type = DestroySelf
trigger1 = Root,MoveType=H

;EX Lightning Upper Helper
[StateDef 1210]
type = S
physics = N
moveType = A
ctrl = 0
anim = 1210
sprPriority = 4

[State 1210, ParentVarAdd: Stock Decrement]
type = ParentVarAdd
trigger1 = MoveHit = 1 && NumTarget
var(8) = -1
ignorehitpause = 0

[State 1210, ParentVarAdd: Extra Stock Decrement]
type = ParentVarAdd
trigger1 = MoveHit = 1 && NumTarget
var(11) = -1
ignorehitpause = 0

[State 1210, HitOverride]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AP,AT
time = -1
stateno = 1207
ignoreHitPause = 1

[State 1210, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

[State 1210, MAX Mode Detect]
type = VarSet
trigger1= !Time && !PrevStateNo
var(20) = Root, var(20)

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

[State 1210, HitBy]
type = HitBy
trigger1 = 1
value = SCA,NP,SP,HP
time = -1
ignoreHitPause = 1

[State 1210, ChangeAnim]
type = ChangeAnim
trigger1 = Anim != 1210
value = 1210

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

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

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

[State 1210, Miss]
type = HitDef
trigger1 = 1
attr = S,SP
hitFlag =
sparkXY = -10,0

[State 1210, HitDef]
type = HitDef
triggerall = root,var(8)
triggerall = root,var(11)
trigger1 = !(root,var(16)) && root,var(15)<1
trigger1 = !var(18)
attr = S,SP
hitFlag = MAF
guardFlag = M
priority = 4, Hit
damage = ceil(ifElse(fvar(11) * (56 * (ifElse(var(20), 1.1, 1))) < 7, 7, fvar(11) * (56 * (ifElse(var(20), 1.1, 1))))), 7
getPower = 0, 0
givePower = 35, 35
pauseTime = 0, 12
guard.pauseTime = 0, 10
animType = Up
air.animType = Up
fall.animType = Up
ground.type = High
air.type = High
ground.hitTime = 18
ground.slideTime = 18
guard.hitTime = 18
air.hitTime = 60
airGuard.ctrlTime = 16
;down.hittime = 20
ground.velocity = -1.25, -9.5
ground.cornerPush.velOff = 0
guard.velocity = -8.15
guard.cornerPush.velOff = 0
air.velocity = -1.25, -9
air.cornerPush.velOff = 0
;airGuard.velocity = -6, -0.75
;airGuard.cornerPush.velOff = 0
;down.velocity = 0, 0
;down.cornerpush.veloff = 0
yAccel = .42
fall = 1
fall.recover = 0
;fall.recoverTime = 34
forceStand = 1
hitSound = -1
guardSound = -1
sparkNo = -1
guard.SparkNo = -1
sparkXY = -10, -48
envShake.time = 14
envShake.ampl = 4
envShake.freq = 120
sprPriority = 4
palfx.time = ifelse(P2statetype = A,63,55)
palfx.mul = 128,128,128
palfx.sinadd = 96,96,96,4

[State 1210, ParentVarSet: No Juggle Check]
type = ParentVarSet
trigger1 = MoveHit=1 && NumTarget
var(15) = 0

[State 1210, Shock FX]
type = Helper
trigger1 = !NumHelper(8150)
trigger1 = MoveHit = 1 && NumTarget
trigger1 = !(Target, HitShakeOver)
trigger1 = var(40) := (Target, ID)
helperType = Normal
stateNo = 8150
ID = 8150
name = "Static Shock"
posType = P2
ownPal = 1
ignoreHitPause = 1

[State 1210, ChangeState]
type = ChangeState
trigger1 = MoveContact=1
value = 1206
ignoreHitPause = 1

[State 1210, ChangeState]
type = ChangeState
trigger1 = MoveReversed
value = 1207
ignoreHitPause = 1

[State 1210, End]
type = DestroySelf
trigger1 = !AnimTime
trigger2 = Root,MoveType=H

;=====================<Shadow Wave Helper>=========================
[StateDef 1310]
type = A
physics = N
moveType = A
ctrl = 0
anim = 1310
sprPriority = 4

;[State 1310, ParentVarAdd: Hit Detect]
;type = null;ParentVarAdd
;trigger1 = MoveContact && NumTarget
;var(?) = #
;ignorehitpause = 1

[State 1310, HitOverride]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AP,AT
time = -1
stateno = 1312
ignoreHitPause = 1

[State 1310, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

[State 1310, Button Detect]
type = VarSet
trigger1= !Time && !PrevStateNo
var(10) = Root, var(10)

[State 1310, MAX Mode Detect]
type = VarSet
trigger1= !Time && !PrevStateNo
var(20) = Root, var(20)

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

[State 1310, HitBy]
type = HitBy
trigger1 = 1
value = SCA,NP,SP,HP
time = -1
ignoreHitPause = 1

[State 1310, ChangeAnim]
type = ChangeAnim
trigger1 = Anim != 1310
value = 1310

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

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

[State 1310, Velocity]
type = VelSet
trigger1 = !Time
x = ifElse(var(10) = 2, 2, ifElse(var(10) = 1, 1.5, 1))
y = ifElse(var(10) = 2, 2, ifElse(var(10) = 1, 1.5, 1))

[State 1310, Miss]
type = HitDef
trigger1 = 1
attr = S,SP
hitFlag =
sparkXY = -10,0

[State 1310, HitDef(Normal)]
type = HitDef
triggerall = !(root,var(2))
trigger1 = !(root,var(16)) && root,var(15)<1
trigger1 = !var(18)
attr = A,SP
hitFlag = MAF
guardFlag = MA
priority = 4, Hit
damage = ceil(ifElse(fvar(11) * (56 * (ifElse(var(20), 1.1, 1))) < 7, 7, fvar(11) * (56 * (ifElse(var(20), 1.1, 1))))), 7
getPower = 0, 0
givePower = 35, 35
pauseTime = 0, 10
guard.pauseTime = 0, 10
animType = Hard
air.animType = Back
fall.animType = Back
ground.type = High
air.type = High
ground.hitTime = 18
ground.slideTime = 18
guard.hitTime = 18
air.hitTime = 60
airGuard.ctrlTime = 16
;down.hittime = 20
ground.velocity = -5, -6
ground.cornerPush.velOff = 0
guard.velocity = -8.15
guard.cornerPush.velOff = 0
air.velocity = -5, -6
air.cornerPush.velOff = 0
airGuard.velocity = -6, -0.75
airGuard.cornerPush.velOff = 0
;down.velocity = 0, 0
;down.cornerpush.veloff = 0
yAccel = .54
fall = 1
fall.recover = 0
;fall.recoverTime = 34
forceStand = 1
hitSound = -1
guardSound = -1
sparkNo = -1
guard.SparkNo = -1
sparkXY = -10, -32
envShake.time = 14
envShake.ampl = 4
envShake.freq = 120
sprPriority = 4
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48

[State 1310, HitDef(Launched)]
type = HitDef
triggerall = root,var(2)
;trigger1 = !(root,var(16)) && root,var(15)<6
trigger1 = !var(18)
attr = A,SP
hitFlag = MAF
guardFlag = MA
priority = 4, Hit
damage = ceil(ifElse(fvar(11) * (42 * (ifElse(var(20), 1.1, 1))) < 7, 7, fvar(11) * (42 * (ifElse(var(20), 1.1, 1))))), 7
getPower = 0, 0
givePower = 35, 35
pauseTime = 0, 10
guard.pauseTime = 0, 10
animType = Hard
air.animType = Back
fall.animType = Back
ground.type = High
air.type = High
ground.hitTime = 18
ground.slideTime = 18
guard.hitTime = 18
air.hitTime = 60
airGuard.ctrlTime = 16
;down.hittime = 20
ground.velocity = -5, -6
ground.cornerPush.velOff = 0
guard.velocity = -8.15
guard.cornerPush.velOff = 0
air.velocity = -5, -6
air.cornerPush.velOff = 0
airGuard.velocity = -6, -0.75
airGuard.cornerPush.velOff = 0
;down.velocity = 0, 0
;down.cornerpush.veloff = 0
yAccel = .5
fall = 1
fall.recover = 0
;fall.recoverTime = 34
forceStand = 1
hitSound = -1
guardSound = -1
sparkNo = -1
guard.SparkNo = -1
sparkXY = -10, -32
envShake.time = 14
envShake.ampl = 4
envShake.freq = 120
sprPriority = 4
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48

[State 1310, ChangeState]
type = ChangeState
trigger1 = MoveContact=1
value = 1311
ignoreHitPause = 1

[State 1310, ChangeState]
type = ChangeState
trigger1 = MoveReversed
value = 1312
ignoreHitPause = 1

[State 1310, End]
type = DestroySelf
trigger1 = !AnimTime
trigger2 = Root,MoveType=H
;trigger3 = Root,StateNo!=1300
;trigger4 = MoveReversed


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

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

[State 1311, HitSound]
type = PlaySnd
trigger1 = MoveContact = 1 && NumTarget
trigger1 = !(Target, HitShakeOver)
value = ifElse(MoveGuarded, 130, 2), ifElse(MoveGuarded, 0, 6)
channel = 3
ignorehitPause = 1

[State 1311, Hit Spark]
type = Helper
trigger1 = MoveContact = 1 && NumTarget
trigger1 = !(Target, HitShakeOver)
helperType = Normal
stateNo = ifElse(MoveGuarded, 8001, 8013)
ID = 8000
name = "Spark"
posType = P1
pos = ifElse(P2Dist x < 0, 0, ifElse(P2Dist x < 20, ceil(P2Dist x), 20)), 0
ownPal = 1
facing = -1
size.xScale = 1
size.yScale = 1
pauseMoveTime = 65535
superMoveTime = 65535
ignoreHitPause = 1

[State 1311, Counter FX]
type = Helper
trigger1 = movecontact=1 && numtarget && var(9)
trigger1 = !(target,hitshakeover)
helpertype = normal
stateno=8290
ID = 8290
name = "Counter FX"
postype = p1
pos = ifElse(P2Dist x < 0, 0, ifElse(P2Dist x < 20, ceil(P2Dist x), 20)), 0
ownpal = 1
pausemovetime = 65535
supermovetime = 65535
ignorehitpause = 1

[State 1311, End]
type = ChangeState
trigger1 = PrevStateNo=1310
trigger1 = Time >= 0
value = 1312

[State 1311, End]
type = ChangeState
trigger1 = PrevStateNo=1320
trigger1 = Time >= 0
value = 1314

;Dead State
[Statedef 1312]
type = A
movetype= I
physics = N
ctrl = 0
;velset = 0,0
sprpriority = 4
movehitpersist = 1

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

[State 1312, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

[State 1312, Muteki]
type = NotHitBy
trigger1 = 1
value = SCA

[State 1312, End]
type = ChangeState
trigger1 = !AnimTime
value = 1016

[State 1312, End]
type = DestroySelf
trigger1 = Root,MoveType=H


;EX Wave Ground Hit
[Statedef 1313]
type = A
physics = N
movetype = A
anim = 1321
ctrl = 0
velset = 0,0
sprpriority = 3
movehitpersist = 1

[State 1313, Snd FX]
type= PlaySnd
trigger1 = !Time
value = 1050,0
volume = -128
lowpriority = 1

[State 1313, PosAdd]
type = PosAdd
trigger1 = !Time
x = -10

[State 1313, PosSet]
type = PosSet
trigger1 = pos y >0
y = 0

[State 1313, Dust FX]
type = Explod
trigger1 = AnimElem=1 && pos y >=0
anim = 8102
sprpriority = -3
postype = p1
scale = .5,.5
pausemovetime = -1
supermovetime = -1
ownpal = 1

[State 1313, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

[State 1313, Transparency]
type = Trans
trigger1 = 1
trans = addalpha
alpha = 256,256
ignorehitpause = 1

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

[State 1313, End]
type = DestroySelf
trigger1 = !AnimTime


;EX Wave Disperse
[Statedef 1314]
type = A
movetype = A
physics = N
anim = 1321
ctrl = 0
velSet = 0,0
sprpriority = 3
moveHitPersist = 1

[State 1314, PlaySnd]
type = PlaySnd
trigger1 = !Time
value = 2,6
channel = 3
volume = -128
lowPriority = 1

[State 1314, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

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

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

[State 1314, End]
type = ChangeState
trigger1 = !AnimTime
value = 1016

;EX Shadow Wave Projectile
[StateDef 1320]
type = A
physics = N
moveType = A
ctrl = 0
anim = 1320
sprPriority = 3

[State 1320, HitOverride]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AP,AT
time = -1
stateno = 1314
ignoreHitPause = 1

[State 1320, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

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

[State 1320, HitBy]
type = HitBy
trigger1 = 1
value = SCA,NP,SP,HP
time = -1
ignoreHitPause = 1

[State 1320, ChangeAnim]
type = ChangeAnim
trigger1 = Anim != 1320 && Anim != 1321
value = 1320

[State 1320, MAX Mode Detect]
type = VarSet
trigger1= !Time && !PrevStateNo
var(20) = Root, var(20)

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

[State 1320, Velocity]
type = VelSet
trigger1 = 1
x = 2.5
y = 4

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

[State 1320, Miss]
type = HitDef
trigger1 = 1
attr = S,SP
hitFlag =
sparkXY = -10,0

[State 1320, HitDef(Normal)]
type = HitDef
triggerall = !(root,var(2))
trigger1 = !(root,var(16)) && root,var(15)<1
trigger1 = !var(18)
attr = A,SP
hitFlag = MAF
guardFlag = MA
priority = 4, Hit
damage = ceil(ifElse(fvar(11) * (70 * (ifElse(var(20), 1.1, 1))) < 7, 7, fvar(11) * (70 * (ifElse(var(20), 1.1, 1))))), 7
getPower = 0, 0
givePower = 35, 35
pauseTime = 0, 10
guard.pauseTime = 0, 10
animType = Hard
air.animType = Back
fall.animType = Back
ground.type = High
air.type = High
ground.hitTime = 18
ground.slideTime = 18
guard.hitTime = 18
air.hitTime = 60
airGuard.ctrlTime = 16
;down.hittime = 20
ground.velocity = -5, -6
ground.cornerPush.velOff = 0
guard.velocity = -8.15
guard.cornerPush.velOff = 0
air.velocity = -5, -6
air.cornerPush.velOff = 0
airGuard.velocity = -6, -0.75
airGuard.cornerPush.velOff = 0
;down.velocity = 0, 0
;down.cornerpush.veloff = 0
yAccel = .54
fall = 1
fall.recover = 0
;fall.recoverTime = 34
forceStand = 1
hitSound = -1
guardSound = -1
sparkNo = -1
guard.SparkNo = -1
sparkXY = -10, -32
envShake.time = 14
envShake.ampl = 4
envShake.freq = 120
sprPriority = 4
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48

[State 1320, HitDef(Launched)]
type = HitDef
triggerall = root,var(2)
;trigger1 = !(root,var(16)) && root,var(15)<6
trigger1 = !var(18)
attr = A,SP
hitFlag = MAF
guardFlag = MA
priority = 4, Hit
damage = ceil(ifElse(fvar(11) * (56 * (ifElse(var(20), 1.1, 1))) < 7, 7, fvar(11) * (56 * (ifElse(var(20), 1.1, 1))))), 7
getPower = 0, 0
givePower = 35, 35
pauseTime = 0, 10
guard.pauseTime = 0, 10
animType = Hard
air.animType = Back
fall.animType = Back
ground.type = High
air.type = High
ground.hitTime = 18
ground.slideTime = 18
guard.hitTime = 18
air.hitTime = 60
airGuard.ctrlTime = 16
;down.hittime = 20
ground.velocity = -5, -6
ground.cornerPush.velOff = 0
guard.velocity = -8.15
guard.cornerPush.velOff = 0
air.velocity = -5, -6
air.cornerPush.velOff = 0
airGuard.velocity = -6, -0.75
airGuard.cornerPush.velOff = 0
;down.velocity = 0, 0
;down.cornerpush.veloff = 0
yAccel = .5
fall = 1
fall.recover = 0
;fall.recoverTime = 34
forceStand = 1
hitSound = -1
guardSound = -1
sparkNo = -1
guard.SparkNo = -1
sparkXY = -10, -32
envShake.time = 14
envShake.ampl = 4
envShake.freq = 120
sprPriority = 4
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48

[State 1320, ChangeState]
type = ChangeState
trigger1 = MoveContact = 1
value = 1311
ignoreHitPause = 1

[State 1320, ChangeState]
type = ChangeState
trigger1 = MoveReversed
value = 1314
ignoreHitPause = 1

[State 1320, End]
type = ChangeState
trigger1 = Pos y >=0
value = 1313

[State 1320, End]
type = DestroySelf
trigger1 = Time > 0 && FrontEdgeDist <= -80
trigger2 = Anim = 1321 && !AnimTime

;=====================<Super Cross Cutter Helpers>=========================
;1st High
[StateDef 3010]
type = A
physics = N
moveType = A
ctrl = 0
anim = 1010
sprPriority = 3

[State 3010, ParentVarSet: Hit Detect]
type = ParentVarSet
trigger1 = MoveContact && NumTarget
var(29) = 1

[State 3010, HitOverride]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AP,AT
time = -1
stateno = 3022
ignoreHitPause = 1

[State 3010, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

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

[State 3010, HitBy]
type = HitBy
trigger1 = 1
value = SCA,NP,SP,HP
time = -1
ignoreHitPause = 1

[State 3010, ChangeAnim]
type = ChangeAnim
trigger1 = Anim != 1010 && Anim != 1015
value = 1010

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

[State 3010, Velocity]
type = VelSet
trigger1 = !Time
x = 1.5;(2.5)/(3.5)
y = -4.5;(-5.625)/(-5.25)

[State 3010, VelAdd]
type = Veladd
trigger1 = Time > 1
y = 0.335

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

[State 3010, Miss]
type = HitDef
trigger1 = 1
attr = S,SP
hitFlag =
sparkXY = -10,0

[State 3010, HitDef]
type = HitDef
triggerall = !(root,var(12))
trigger1 = !(root,var(16)) && root,var(15)<4
attr = S,HP
hitFlag = MAF
guardFlag = M
priority = 4, Hit
damage = ceil(ifElse(fvar(11) * 42 < 7, 7, fvar(11) * 42)), 7
getPower = 0, 0
givePower = 35, 35
pauseTime = 0, 12
guard.pauseTime = 0, 10
animType = Hard
air.animType = Back
fall.animType = Back
ground.type = Low
air.type = Low
ground.hitTime = 18
ground.slideTime = 18
guard.hitTime = 18
air.hitTime = 60
airGuard.ctrlTime = 16
ground.velocity = -8, -5
ground.cornerPush.velOff = 0
guard.velocity = -8.25
guard.cornerPush.velOff = 0
air.velocity = -5.35, -6.15
air.cornerPush.velOff = 0
airGuard.velocity = -5, -0.5
airGuard.cornerPush.velOff = 0
yAccel = .5
fall = 1
air.fall = 1
fall.recover = 0
;fall.recoverTime = 120
forceStand = 1
hitSound = -1
guardSound = -1
sparkNo = -1
guard.SparkNo = -1
sparkXY = -10, -32
envShake.time = 18
envShake.ampl = 6
envShake.freq = 120
sprPriority = 3
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48

[State 3010, ChangeState]
type = ChangeState
trigger1 = MoveContact = 1
value = 3020
ignoreHitPause = 1

[State 3010, ChangeState]
type = ChangeState
trigger1 = MoveReversed
value = 3022
ignoreHitPause = 1

[State 3010, ChangeState: Merged]
type = ChangeState
trigger1 = Anim != 1015
trigger1 = Time > 30
value = 3014

[State 3010, End]
type = DestroySelf
trigger1 = Time > 0 && FrontEdgeDist <= -40
trigger2 = Anim = 1015 && !AnimTime

;1st Low
[StateDef 3011]
type = A
physics = N
moveType = A
ctrl = 0
anim = 1017
sprPriority = 3

[State 3011, ParentVarSet: Hit Detect]
type = ParentVarSet
trigger1 = MoveContact && NumTarget
var(29) = 1

[State 3011, HitOverride]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AP,AT
time = -1
stateno = 3022
ignoreHitPause = 1

[State 3011, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

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

[State 3011, HitBy]
type = HitBy
trigger1 = 1
value = SCA,NP,SP,HP
time = -1
ignoreHitPause = 1

[State 3011, ChangeAnim]
type = ChangeAnim
trigger1 = Anim != 1017 && Anim != 1015
value = 1017

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

[State 3011, Velocity]
type = VelSet
trigger1 = !Time
x = 1.5;(2.5)/(3.5)
y = 4.5;(-5.625)/(-5.25)

[State 3011, VelAdd]
type = Veladd
trigger1 = Time > 1
y = -0.335

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

[State 3011, Miss]
type = HitDef
trigger1 = 1
attr = S,SP
hitFlag =
sparkXY = -10,0

[State 3011, HitDef]
type = HitDef
triggerall = !(root,var(12))
trigger1 = !(root,var(16)) && root,var(15)<4
attr = S,HP
hitFlag = MAF
guardFlag = M
priority = 4, Hit
damage = ceil(ifElse(fvar(11) * 42 < 7, 7, fvar(11) * 42)), 7
getPower = 0, 0
givePower = 35, 35
pauseTime = 0, 12
guard.pauseTime = 0, 10
animType = Hard
air.animType = Back
fall.animType = Back
ground.type = Low
air.type = Low
ground.hitTime = 18
ground.slideTime = 18
guard.hitTime = 18
air.hitTime = 60
airGuard.ctrlTime = 16
ground.velocity = -8, -5
ground.cornerPush.velOff = 0
guard.velocity = -8.25
guard.cornerPush.velOff = 0
air.velocity = -5.35, -6.15
air.cornerPush.velOff = 0
airGuard.velocity = -5, -0.5
airGuard.cornerPush.velOff = 0
yAccel = .5
fall = 1
air.fall = 1
fall.recover = 0
;fall.recoverTime = 120
forceStand = 1
hitSound = -1
guardSound = -1
sparkNo = -1
guard.SparkNo = -1
sparkXY = -10, -32
envShake.time = 18
envShake.ampl = 6
envShake.freq = 120
sprPriority = 3
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48

[State 3011, ChangeState]
type = ChangeState
trigger1 = MoveContact = 1
value = 3020
ignoreHitPause = 1

[State 3011, ChangeState]
type = ChangeState
trigger1 = MoveReversed
value = 3022
ignoreHitPause = 1

[State 3011, ChangeState: Merged]
type = ChangeState
trigger1 = Anim != 1015
trigger1 = Time > 30
value = 3014

[State 3011, End]
type = DestroySelf
trigger1 = Time > 0 && FrontEdgeDist <= -40
trigger2 = Anim = 1015 && !AnimTime

;2nd High
[StateDef 3012]
type = A
physics = N
moveType = A
ctrl = 0
anim = 1010
sprPriority = 3

[State 3012, ParentVarSet: Hit Detect]
type = ParentVarSet
trigger1 = MoveContact && NumTarget
var(29) = 1

[State 3012, HitOverride]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AP,AT
time = -1
stateno = 3022
ignoreHitPause = 1

[State 3012, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

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

[State 3012, HitBy]
type = HitBy
trigger1 = 1
value = SCA,NP,SP,HP
time = -1
ignoreHitPause = 1

[State 3012, ChangeAnim]
type = ChangeAnim
trigger1 = Anim != 1010 && Anim != 1015
value = 1010

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

[State 3012, Velocity]
type = VelSet
trigger1 = !Time
x = 1.5;(2.5)/(3.5)
y = -5.625;(-4.5)/(-5.25)

[State 3012, VelAdd]
type = Veladd
trigger1 = Time > 1
y = 0.35

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

[State 3012, Miss]
type = HitDef
trigger1 = 1
attr = S,SP
hitFlag =
sparkXY = -10,0

[State 3012, HitDef]
type = HitDef
triggerall = !(root,var(12))
trigger1 = !(root,var(16)) && root,var(15)<4
attr = S,HP
hitFlag = MAF
guardFlag = M
priority = 4, Hit
damage = ceil(ifElse(fvar(11) * 42 < 7, 7, fvar(11) * 42)), 7
getPower = 0, 0
givePower = 35, 35
pauseTime = 0, 12
guard.pauseTime = 0, 10
animType = Hard
air.animType = Back
fall.animType = Back
ground.type = Low
air.type = Low
ground.hitTime = 18
ground.slideTime = 18
guard.hitTime = 18
air.hitTime = 60
airGuard.ctrlTime = 16
ground.velocity = -8, -5
ground.cornerPush.velOff = 0
guard.velocity = -8.25
guard.cornerPush.velOff = 0
air.velocity = -5.35, -6.15
air.cornerPush.velOff = 0
airGuard.velocity = -5, -0.5
airGuard.cornerPush.velOff = 0
yAccel = .5
fall = 1
air.fall = 1
fall.recover = 0
;fall.recoverTime = 120
forceStand = 1
hitSound = -1
guardSound = -1
sparkNo = -1
guard.SparkNo = -1
sparkXY = -10, -32
envShake.time = 18
envShake.ampl = 6
envShake.freq = 120
sprPriority = 3
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48

[State 3012, ChangeState]
type = ChangeState
trigger1 = MoveContact = 1
value = 3020
ignoreHitPause = 1

[State 3012, ChangeState]
type = ChangeState
trigger1 = MoveReversed
value = 3022
ignoreHitPause = 1

[State 3012, ChangeState: Merged]
type = ChangeState
trigger1 = Anim != 1015
trigger1 = Time > 31
value = 3014

[State 3012, End]
type = DestroySelf
trigger1 = Time > 0 && FrontEdgeDist <= -40
trigger2 = Anim = 1015 && !AnimTime

;2nd Low
[StateDef 3013]
type = A
physics = N
moveType = A
ctrl = 0
anim = 1017
sprPriority = 3

[State 3013, ParentVarSet: Hit Detect]
type = ParentVarSet
trigger1 = MoveContact && NumTarget
var(29) = 1

[State 3013, HitOverride]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AP,AT
time = -1
stateno = 3022
ignoreHitPause = 1

[State 3013, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

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

[State 3013, HitBy]
type = HitBy
trigger1 = 1
value = SCA,NP,SP,HP
time = -1
ignoreHitPause = 1

[State 3013, ChangeAnim]
type = ChangeAnim
trigger1 = Anim != 1017 && Anim != 1015
value = 1017

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

[State 3013, Velocity]
type = VelSet
trigger1 = !Time
x = 1.5;(2.5)/(3.5)
y = 5.625;(-4.5)/(-5.25)

[State 3013, VelAdd]
type = Veladd
trigger1 = Time > 1
y = -0.35

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

[State 3013, Miss]
type = HitDef
trigger1 = 1
attr = S,SP
hitFlag =
sparkXY = -10,0

[State 3013, HitDef]
type = HitDef
triggerall = !(root,var(12))
trigger1 = !(root,var(16)) && root,var(15)<4
attr = S,HP
hitFlag = MAF
guardFlag = M
priority = 4, Hit
damage = ceil(ifElse(fvar(11) * 42 < 7, 7, fvar(11) * 42)), 7
getPower = 0, 0
givePower = 35, 35
pauseTime = 0, 12
guard.pauseTime = 0, 10
animType = Hard
air.animType = Back
fall.animType = Back
ground.type = Low
air.type = Low
ground.hitTime = 18
ground.slideTime = 18
guard.hitTime = 18
air.hitTime = 60
airGuard.ctrlTime = 16
ground.velocity = -8, -5
ground.cornerPush.velOff = 0
guard.velocity = -8.25
guard.cornerPush.velOff = 0
air.velocity = -5.35, -6.15
air.cornerPush.velOff = 0
airGuard.velocity = -5, -0.5
airGuard.cornerPush.velOff = 0
yAccel = .5
fall = 1
air.fall = 1
fall.recover = 0
;fall.recoverTime = 120
forceStand = 1
hitSound = -1
guardSound = -1
sparkNo = -1
guard.SparkNo = -1
sparkXY = -10, -32
envShake.time = 18
envShake.ampl = 6
envShake.freq = 120
sprPriority = 3
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48

[State 3013, ChangeState]
type = ChangeState
trigger1 = MoveContact = 1
value = 3020
ignoreHitPause = 1

[State 3013, ChangeState]
type = ChangeState
trigger1 = MoveReversed
value = 3022
ignoreHitPause = 1

[State 3013, ChangeState: Merged]
type = ChangeState
trigger1 = Anim != 1015
trigger1 = Time > 31
value = 3014

[State 3013, End]
type = DestroySelf
trigger1 = Time > 0 && FrontEdgeDist <= -40
trigger2 = Anim = 1015 && !AnimTime

;Super Cutter Merged
[StateDef 3014]
type = A
physics = N
moveType = A
ctrl = 0
anim = 1018
sprPriority = 3

[State 3014, ParentVarSet: Hit Detect]
type = ParentVarSet
trigger1 = MoveContact && NumTarget
var(29) = 1

[State 3014, HitOverride]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AP,AT
time = -1
stateno = 3023
ignoreHitPause = 1

[State 3014, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

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

[State 3014, HitBy]
type = HitBy
trigger1 = 1
value = SCA,NP,SP,HP
time = -1
ignoreHitPause = 1

[State 3014, ChangeAnim]
type = ChangeAnim
trigger1 = Anim != 1018 && Anim != 1016
value = 1018

[State 3014, AngleDraw]
type = AngleDraw
trigger1 = 1;Time > 0
scale = 1.5-(Time*.1),1.5-(Time*.1)
ignorehitpause = 1
persistent = 1

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

[State 3014, Posset]
type = PosSet
trigger1 = !Time 
y = -65

[State 3014, VelStop]
type = VelSet
trigger1 = !Time
y = 0

[State 3014, Velocity]
type = VelSet
trigger1 = !Time
x = 7

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

[State 3014, Miss]
type = HitDef
trigger1 = 1
attr = S,HP
hitFlag =
sparkXY = -10,0

[State 3014, HitDef]
type = HitDef
triggerall = !(root,var(12))
trigger1 = !(root,var(16)) && root,var(15)<4
attr = S,HP
hitFlag = MAF
guardFlag = M
priority = 4, Hit
damage = ceil(ifElse(fvar(11) * 42 < 7, 7, fvar(11) * 42)), 7
getPower = 0, 0
givePower = 35, 35
pauseTime = 0, 12
guard.pauseTime = 0, 10
animType = Hard
air.animType = Back
fall.animType = Back
ground.type = High
air.type = High
ground.hitTime = 18
ground.slideTime = 18
guard.hitTime = 18
air.hitTime = 60
airGuard.ctrlTime = 16
ground.velocity = -8, -5
ground.cornerPush.velOff = 0
guard.velocity = -8.25
guard.cornerPush.velOff = 0
air.velocity = -5.35, -6.15
air.cornerPush.velOff = 0
airGuard.velocity = -5, -0.5
airGuard.cornerPush.velOff = 0
yAccel = .5
fall = 1
air.fall = 1
fall.recover = 0
;fall.recoverTime = 120
forceStand = 1
hitSound = -1
guardSound = -1
sparkNo = -1
guard.SparkNo = -1
sparkXY = -10, -32
envShake.time = 18
envShake.ampl = 6
envShake.freq = 120
sprPriority = 3
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48

[State 3014, StateTypeSet: Idle]
type = StateTypeSet
trigger1 = AnimElemTime(5) >= 0
moveType = I

[State 3014, ChangeState]
type = ChangeState
trigger1 = MoveContact = 1
value = 3021
ignoreHitPause = 1

[State 3014, ChangeState]
type = ChangeState
trigger1 = MoveReversed
value = 3023
ignoreHitPause = 1

[State 3014, End]
type = DestroySelf
trigger1 = Time > 0 && FrontEdgeDist <= -40
trigger2 = !AnimTime
;trigger3 = NumHelper(3010)>1


;Hit Pause Super(Small)
[StateDef 3020]
type = A
physics = N
moveType = A
ctrl = 0
sprPriority = 3
moveHitPersist = 1

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

[State 3020, HitSound]
type = PlaySnd
trigger1 = MoveContact = 1 && NumTarget
trigger1 = !(Target, HitShakeOver)
value = ifElse(MoveGuarded, 130, 2), ifElse(MoveGuarded, 0, 6)
channel = 3
ignorehitPause = 1

[State 3020, Hit Spark]
type = Helper
trigger1 = MoveContact = 1 && NumTarget
trigger1 = !(Target, HitShakeOver)
helperType = Normal
stateNo = ifElse(MoveGuarded, 8001, 8014)
ID = 8000
name = "Spark"
posType = P1
pos = ifElse(P2Dist x < 0, 0, ifElse(P2Dist x < 20, ceil(P2Dist x), 20)), 0
ownPal = 1
facing = -1
size.xScale = 1
size.yScale = 1
pauseMoveTime = 65535
superMoveTime = 65535
ignoreHitPause = 1

[State 3020, Counter FX]
type = Helper
trigger1 = movecontact=1 && numtarget && var(9)
trigger1 = !(target,hitshakeover)
helpertype = normal
stateno=8290
ID = 8290
name = "Counter FX"
postype = p1
pos = ifElse(P2Dist x < 0, 0, ifElse(P2Dist x < 20, ceil(P2Dist x), 20)), 0
ownpal = 1
pausemovetime = 65535
supermovetime = 65535
ignorehitpause = 1

[State 3020, End]
type = ChangeState
trigger1 = Time >= 0
value = 3022

;Hit Pause Super(Merged)
[StateDef 3021]
type = A
physics = N
moveType = A
ctrl = 0
sprPriority = 3
moveHitPersist = 1

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

[State 3021, HitSound]
type = PlaySnd
trigger1 = MoveContact = 1 && NumTarget
trigger1 = !(Target, HitShakeOver)
value = ifElse(MoveGuarded, 130, 2), ifElse(MoveGuarded, 0, 6)
channel = 3
ignorehitPause = 1

[State 3021, Hit Spark]
type = Helper
trigger1 = MoveContact = 1 && NumTarget
trigger1 = !(Target, HitShakeOver)
helperType = Normal
stateNo = ifElse(MoveGuarded, 8001, 8014)
ID = 8000
name = "Spark"
posType = P1
pos = ifElse(P2Dist x < 0, 0, ifElse(P2Dist x < 20, ceil(P2Dist x), 20)), 0
ownPal = 1
facing = -1
size.xScale = 1
size.yScale = 1
pauseMoveTime = 65535
superMoveTime = 65535
ignoreHitPause = 1

[State 3021, Counter FX]
type = Helper
trigger1 = movecontact=1 && numtarget && var(9)
trigger1 = !(target,hitshakeover)
helpertype = normal
stateno=8290
ID = 8290
name = "Counter FX"
postype = p1
pos = ifElse(P2Dist x < 0, 0, ifElse(P2Dist x < 20, ceil(P2Dist x), 20)), 0
ownpal = 1
pausemovetime = 65535
supermovetime = 65535
ignorehitpause = 1

[State 3021, End]
type = ChangeState
trigger1 = Time >= 0
value = 3023


;Super Cross Cutter Disperse(Normal)
[Statedef 3022]
type = A
movetype = A
physics = N
anim = 1015
ctrl = 0
velSet = 0,0
sprpriority = 3
moveHitPersist = 1

[State 3022, AngleDraw]
type = AngleDraw
trigger1 = 1
scale = 1.4,1.4
ignorehitpause = 1
persistent = 1

[State 3022, PlaySnd]
type = PlaySnd
trigger1 = !Time
value = 2,6
channel = 3
volume = -128
lowPriority = 1

[State 3022, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

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

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

[State 3022, End]
type = ChangeState
trigger1 = !AnimTime
value = 1016

;Super Cross Cutter Disperse(Merged)
[Statedef 3023]
type = A
movetype = A
physics = N
anim = 1016
ctrl = 0
velSet = 0,0
sprpriority = 3
moveHitPersist = 1

[State 3023, PlaySnd]
type = PlaySnd
trigger1 = !Time
value = 2,6
channel = 3
volume = -128
lowPriority = 1

[State 3023, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

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

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

[State 3023, End]
type = ChangeState
trigger1 = !AnimTime
value = 1016


;MAX 1st High
[StateDef 3030]
type = A
physics = N
moveType = A
ctrl = 0
anim = 1010
sprPriority = 3

[State 3030, HitOverride]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AP,AT
time = -1
stateno = 3022
ignoreHitPause = 1

[State 3030, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

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

[State 3030, HitBy]
type = HitBy
trigger1 = 1
value = SCA,NP,SP,HP
time = -1
ignoreHitPause = 1

[State 3030, ChangeAnim]
type = ChangeAnim
trigger1 = Anim != 1010 && Anim != 1015
value = 1010

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

[State 3030, Velocity]
type = VelSet
trigger1 = !Time
x = 2.5;(3.5)
y = -4.5;(-5.625)/(-5.25)

[State 3030, VelAdd]
type = Veladd
trigger1 = Time > 1
y = 0.335

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

[State 3030, Miss]
type = HitDef
trigger1 = 1
attr = S,SP
hitFlag =
sparkXY = -10,0

[State 3030, HitDef]
type = HitDef
triggerall = !(root,var(12))
trigger1 = !(root,var(16)) && root,var(15)<6
attr = S,HP
hitFlag = MAF
guardFlag = M
priority = 4, Hit
damage = ceil(ifElse(fvar(11) * 35 < 7, 7, fvar(11) * 35)), 7
getPower = 0, 0
givePower = 35, 35
pauseTime = 0, 12
guard.pauseTime = 0, 10
animType = Hard
air.animType = Back
fall.animType = Back
ground.type = Low
air.type = Low
ground.hitTime = 18
ground.slideTime = 18
guard.hitTime = 18
air.hitTime = 60
airGuard.ctrlTime = 16
ground.velocity = -8, -5
ground.cornerPush.velOff = 0
guard.velocity = -8.25
guard.cornerPush.velOff = 0
air.velocity = -5.35, -6.15
air.cornerPush.velOff = 0
airGuard.velocity = -5, -0.5
airGuard.cornerPush.velOff = 0
yAccel = .5
fall = 1
air.fall = 1
fall.recover = 0
;fall.recoverTime = 120
forceStand = 1
hitSound = -1
guardSound = -1
sparkNo = -1
guard.SparkNo = -1
sparkXY = -10, -32
envShake.time = 18
envShake.ampl = 6
envShake.freq = 120
sprPriority = 3
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48

[State 3030, ChangeState]
type = ChangeState
trigger1 = MoveContact = 1
value = 3020
ignoreHitPause = 1

[State 3030, ChangeState]
type = ChangeState
trigger1 = MoveReversed
value = 3022
ignoreHitPause = 1

[State 3030, ChangeState: Merged]
type = ChangeState
trigger1 = Anim != 1015
trigger1 = Time > 32
value = 3036

[State 3030, End]
type = DestroySelf
trigger1 = Time > 0 && FrontEdgeDist <= -40
trigger2 = Anim = 1015 && !AnimTime

;MAX 1st Low
[StateDef 3031]
type = A
physics = N
moveType = A
ctrl = 0
anim = 1017
sprPriority = 3

[State 3031, HitOverride]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AP,AT
time = -1
stateno = 3022
ignoreHitPause = 1

[State 3031, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

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

[State 3031, HitBy]
type = HitBy
trigger1 = 1
value = SCA,NP,SP,HP
time = -1
ignoreHitPause = 1

[State 3031, ChangeAnim]
type = ChangeAnim
trigger1 = Anim != 1017 && Anim != 1015
value = 1017

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

[State 3031, Velocity]
type = VelSet
trigger1 = !Time
x = 2.5
y = 4.5;(-5.625)/(-5.25)

[State 3031, VelAdd]
type = Veladd
trigger1 = Time > 1
y = -0.335

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

[State 3031, Miss]
type = HitDef
trigger1 = 1
attr = S,SP
hitFlag =
sparkXY = -10,0

[State 3031, HitDef]
type = HitDef
triggerall = !(root,var(12))
trigger1 = !(root,var(16)) && root,var(15)<6
attr = S,HP
hitFlag = MAF
guardFlag = M
priority = 4, Hit
damage = ceil(ifElse(fvar(11) * 35 < 7, 7, fvar(11) * 35)), 7
getPower = 0, 0
givePower = 35, 35
pauseTime = 0, 12
guard.pauseTime = 0, 10
animType = Hard
air.animType = Back
fall.animType = Back
ground.type = Low
air.type = Low
ground.hitTime = 18
ground.slideTime = 18
guard.hitTime = 18
air.hitTime = 60
airGuard.ctrlTime = 16
ground.velocity = -8, -5
ground.cornerPush.velOff = 0
guard.velocity = -8.25
guard.cornerPush.velOff = 0
air.velocity = -5.35, -6.15
air.cornerPush.velOff = 0
airGuard.velocity = -5, -0.5
airGuard.cornerPush.velOff = 0
yAccel = .5
fall = 1
air.fall = 1
fall.recover = 0
;fall.recoverTime = 120
forceStand = 1
hitSound = -1
guardSound = -1
sparkNo = -1
guard.SparkNo = -1
sparkXY = -10, -32
envShake.time = 18
envShake.ampl = 6
envShake.freq = 120
sprPriority = 3
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48

[State 3031, ChangeState]
type = ChangeState
trigger1 = MoveContact = 1
value = 3020
ignoreHitPause = 1

[State 3031, ChangeState]
type = ChangeState
trigger1 = MoveReversed
value = 3022
ignoreHitPause = 1

[State 3031, ChangeState: Merged]
type = ChangeState
trigger1 = Anim != 1015
trigger1 = Time > 32
value = 3036

[State 3031, End]
type = DestroySelf
trigger1 = Time > 0 && FrontEdgeDist <= -40
trigger2 = Anim = 1015 && !AnimTime

;MAX 2nd High
[StateDef 3032]
type = A
physics = N
moveType = A
ctrl = 0
anim = 1010
sprPriority = 3

[State 3032, HitOverride]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AP,AT
time = -1
stateno = 3022
ignoreHitPause = 1

[State 3032, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

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

[State 3032, HitBy]
type = HitBy
trigger1 = 1
value = SCA,NP,SP,HP
time = -1
ignoreHitPause = 1

[State 3032, ChangeAnim]
type = ChangeAnim
trigger1 = Anim != 1010 && Anim != 1015
value = 1010

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

[State 3032, Velocity]
type = VelSet
trigger1 = !Time
x = 2.5
y = -5.625;(-4.5)/(-5.25)

[State 3032, VelAdd]
type = Veladd
trigger1 = Time > 1
y = 0.35

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

[State 3032, Miss]
type = HitDef
trigger1 = 1
attr = S,SP
hitFlag =
sparkXY = -10,0

[State 3032, HitDef]
type = HitDef
triggerall = !(root,var(12))
trigger1 = !(root,var(16)) && root,var(15)<6
attr = S,HP
hitFlag = MAF
guardFlag = M
priority = 4, Hit
damage = ceil(ifElse(fvar(11) * 35 < 7, 7, fvar(11) * 35)), 7
getPower = 0, 0
givePower = 35, 35
pauseTime = 0, 12
guard.pauseTime = 0, 10
animType = Hard
air.animType = Back
fall.animType = Back
ground.type = Low
air.type = Low
ground.hitTime = 18
ground.slideTime = 18
guard.hitTime = 18
air.hitTime = 60
airGuard.ctrlTime = 16
ground.velocity = -8, -5
ground.cornerPush.velOff = 0
guard.velocity = -8.25
guard.cornerPush.velOff = 0
air.velocity = -5.35, -6.15
air.cornerPush.velOff = 0
airGuard.velocity = -5, -0.5
airGuard.cornerPush.velOff = 0
yAccel = .5
fall = 1
air.fall = 1
fall.recover = 0
;fall.recoverTime = 120
forceStand = 1
hitSound = -1
guardSound = -1
sparkNo = -1
guard.SparkNo = -1
sparkXY = -10, -32
envShake.time = 18
envShake.ampl = 6
envShake.freq = 120
sprPriority = 3
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48

[State 3032, ChangeState]
type = ChangeState
trigger1 = MoveContact = 1
value = 3020
ignoreHitPause = 1

[State 3032, ChangeState]
type = ChangeState
trigger1 = MoveReversed
value = 3022
ignoreHitPause = 1

[State 3032, ChangeState: Merged]
type = ChangeState
trigger1 = Anim != 1015
trigger1 = Time > 31
value = 3036

[State 3032, End]
type = DestroySelf
trigger1 = Time > 0 && FrontEdgeDist <= -40
trigger2 = Anim = 1015 && !AnimTime

;MAX 2nd Low
[StateDef 3033]
type = A
physics = N
moveType = A
ctrl = 0
anim = 1017
sprPriority = 3

[State 3033, HitOverride]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AP,AT
time = -1
stateno = 3022
ignoreHitPause = 1

[State 3033, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

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

[State 3033, HitBy]
type = HitBy
trigger1 = 1
value = SCA,NP,SP,HP
time = -1
ignoreHitPause = 1

[State 3033, ChangeAnim]
type = ChangeAnim
trigger1 = Anim != 1017 && Anim != 1015
value = 1017

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

[State 3033, Velocity]
type = VelSet
trigger1 = !Time
x = 2.5
y = 5.625;(-4.5)/(-5.25)

[State 3033, VelAdd]
type = Veladd
trigger1 = Time > 1
y = -0.35

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

[State 3033, Miss]
type = HitDef
trigger1 = 1
attr = S,SP
hitFlag =
sparkXY = -10,0

[State 3033, HitDef]
type = HitDef
triggerall = !(root,var(12))
trigger1 = !(root,var(16)) && root,var(15)<6
attr = S,HP
hitFlag = MAF
guardFlag = M
priority = 4, Hit
damage = ceil(ifElse(fvar(11) * 35 < 7, 7, fvar(11) * 35)), 7
getPower = 0, 0
givePower = 35, 35
pauseTime = 0, 12
guard.pauseTime = 0, 10
animType = Hard
air.animType = Back
fall.animType = Back
ground.type = Low
air.type = Low
ground.hitTime = 18
ground.slideTime = 18
guard.hitTime = 18
air.hitTime = 60
airGuard.ctrlTime = 16
ground.velocity = -8, -5
ground.cornerPush.velOff = 0
guard.velocity = -8.25
guard.cornerPush.velOff = 0
air.velocity = -5.35, -6.15
air.cornerPush.velOff = 0
airGuard.velocity = -5, -0.5
airGuard.cornerPush.velOff = 0
yAccel = .5
fall = 1
air.fall = 1
fall.recover = 0
;fall.recoverTime = 120
forceStand = 1
hitSound = -1
guardSound = -1
sparkNo = -1
guard.SparkNo = -1
sparkXY = -10, -32
envShake.time = 18
envShake.ampl = 6
envShake.freq = 120
sprPriority = 3
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48

[State 3033, ChangeState]
type = ChangeState
trigger1 = MoveContact = 1
value = 3020
ignoreHitPause = 1

[State 3033, ChangeState]
type = ChangeState
trigger1 = MoveReversed
value = 3022
ignoreHitPause = 1

[State 3033, ChangeState: Merged]
type = ChangeState
trigger1 = Anim != 1015
trigger1 = Time > 31
value = 3036

[State 3033, End]
type = DestroySelf
trigger1 = Time > 0 && FrontEdgeDist <= -40
trigger2 = Anim = 1015 && !AnimTime

;MAX 3rd High
[StateDef 3034]
type = A
physics = N
moveType = A
ctrl = 0
anim = 1010
sprPriority = 3

[State 3034, HitOverride]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AP,AT
time = -1
stateno = 3022
ignoreHitPause = 1

[State 3034, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

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

[State 3034, HitBy]
type = HitBy
trigger1 = 1
value = SCA,NP,SP,HP
time = -1
ignoreHitPause = 1

[State 3034, ChangeAnim]
type = ChangeAnim
trigger1 = Anim != 1010 && Anim != 1015
value = 1010

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

[State 3034, Velocity]
type = VelSet
trigger1 = !Time
x = 2.5
y = -5.25

[State 3034, VelAdd]
type = Veladd
trigger1 = Time > 1
y = 0.35

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

[State 3034, Miss]
type = HitDef
trigger1 = 1
attr = S,SP
hitFlag =
sparkXY = -10,0

[State 3034, HitDef]
type = HitDef
triggerall = !(root,var(12))
trigger1 = !(root,var(16)) && root,var(15)<6
attr = S,HP
hitFlag = MAF
guardFlag = M
priority = 4, Hit
damage = ceil(ifElse(fvar(11) * 35 < 7, 7, fvar(11) * 35)), 7
getPower = 0, 0
givePower = 35, 35
pauseTime = 0, 12
guard.pauseTime = 0, 10
animType = Hard
air.animType = Back
fall.animType = Back
ground.type = Low
air.type = Low
ground.hitTime = 18
ground.slideTime = 18
guard.hitTime = 18
air.hitTime = 60
airGuard.ctrlTime = 16
ground.velocity = -8, -5
ground.cornerPush.velOff = 0
guard.velocity = -8.25
guard.cornerPush.velOff = 0
air.velocity = -5.35, -6.15
air.cornerPush.velOff = 0
airGuard.velocity = -5, -0.5
airGuard.cornerPush.velOff = 0
yAccel = .5
fall = 1
air.fall = 1
fall.recover = 0
;fall.recoverTime = 120
forceStand = 1
hitSound = -1
guardSound = -1
sparkNo = -1
guard.SparkNo = -1
sparkXY = -10, -32
envShake.time = 18
envShake.ampl = 6
envShake.freq = 120
sprPriority = 3
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48

[State 3034, ChangeState]
type = ChangeState
trigger1 = MoveContact = 1
value = 3020
ignoreHitPause = 1

[State 3034, ChangeState]
type = ChangeState
trigger1 = MoveReversed
value = 3022
ignoreHitPause = 1

[State 3034, ChangeState: Merged]
type = ChangeState
trigger1 = Anim != 1015
trigger1 = Time > 30
value = 3036

[State 3034, End]
type = DestroySelf
trigger1 = Time > 0 && FrontEdgeDist <= -40
trigger2 = Anim = 1015 && !AnimTime

;MAX 3rd Low
[StateDef 3035]
type = A
physics = N
moveType = A
ctrl = 0
anim = 1017
sprPriority = 3

[State 3035, HitOverride]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AP,AT
time = -1
stateno = 3022
ignoreHitPause = 1

[State 3035, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

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

[State 3035, HitBy]
type = HitBy
trigger1 = 1
value = SCA,NP,SP,HP
time = -1
ignoreHitPause = 1

[State 3035, ChangeAnim]
type = ChangeAnim
trigger1 = Anim != 1017 && Anim != 1015
value = 1017

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

[State 3035, Velocity]
type = VelSet
trigger1 = !Time
x = 2.5
y = 5.25

[State 3035, VelAdd]
type = Veladd
trigger1 = Time > 1
y = -0.35

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

[State 3035, Miss]
type = HitDef
trigger1 = 1
attr = S,SP
hitFlag =
sparkXY = -10,0

[State 3035, HitDef]
type = HitDef
triggerall = !(root,var(12))
trigger1 = !(root,var(16)) && root,var(15)<6
attr = S,HP
hitFlag = MAF
guardFlag = M
priority = 4, Hit
damage = ceil(ifElse(fvar(11) * 35 < 7, 7, fvar(11) * 35)), 7
getPower = 0, 0
givePower = 35, 35
pauseTime = 0, 12
guard.pauseTime = 0, 10
animType = Hard
air.animType = Back
fall.animType = Back
ground.type = Low
air.type = Low
ground.hitTime = 18
ground.slideTime = 18
guard.hitTime = 18
air.hitTime = 60
airGuard.ctrlTime = 16
ground.velocity = -8, -5
ground.cornerPush.velOff = 0
guard.velocity = -8.25
guard.cornerPush.velOff = 0
air.velocity = -5.35, -6.15
air.cornerPush.velOff = 0
airGuard.velocity = -5, -0.5
airGuard.cornerPush.velOff = 0
yAccel = .5
fall = 1
air.fall = 1
fall.recover = 0
;fall.recoverTime = 120
forceStand = 1
hitSound = -1
guardSound = -1
sparkNo = -1
guard.SparkNo = -1
sparkXY = -10, -32
envShake.time = 18
envShake.ampl = 6
envShake.freq = 120
sprPriority = 3
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48

[State 3035, ChangeState]
type = ChangeState
trigger1 = MoveContact = 1
value = 3020
ignoreHitPause = 1

[State 3035, ChangeState]
type = ChangeState
trigger1 = MoveReversed
value = 3022
ignoreHitPause = 1

[State 3035, ChangeState: Merged]
type = ChangeState
trigger1 = Anim != 1015
trigger1 = Time > 30
value = 3036

[State 3035, End]
type = DestroySelf
trigger1 = Time > 0 && FrontEdgeDist <= -40
trigger2 = Anim = 1015 && !AnimTime

;MAX Super Cutter Merged
[StateDef 3036]
type = A
physics = N
moveType = A
ctrl = 0
anim = 1050
sprPriority = 3

[State 3036, HitOverride]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AP,AT
time = -1
stateno = 3023
ignoreHitPause = 1

[State 3036, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

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

[State 3036, HitBy]
type = HitBy
trigger1 = 1
value = SCA,NP,SP,HP
time = -1
ignoreHitPause = 1

[State 3036, ChangeAnim]
type = ChangeAnim
trigger1 = Anim != 1050 && Anim != 1016
value = 1050

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

[State 3036, Posset]
type = PosSet
trigger1 = !Time 
y = -65

[State 3036, VelStop]
type = VelSet
trigger1 = !Time
y = 0

[State 3036, Velocity]
type = VelSet
trigger1 = 1
x = 7

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

[State 3036, Miss]
type = HitDef
trigger1 = 1
attr = S,HP
hitFlag =
sparkXY = -10,0

[State 3036, HitDef]
type = HitDef
triggerall = !(root,var(12))
trigger1 = !(root,var(16)) && root,var(15)<6
attr = S,HP
hitFlag = MAF
guardFlag = M
priority = 4, Hit
damage = ceil(ifElse(fvar(11) * 35 < 7, 7, fvar(11) * 35)), 7
getPower = 0, 0
givePower = 35, 35
pauseTime = 0, 12
guard.pauseTime = 0, 10
animType = Hard
air.animType = Back
fall.animType = Back
ground.type = High
air.type = High
ground.hitTime = 18
ground.slideTime = 18
guard.hitTime = 18
air.hitTime = 60
airGuard.ctrlTime = 16
ground.velocity = -8, -5
ground.cornerPush.velOff = 0
guard.velocity = -8.25
guard.cornerPush.velOff = 0
air.velocity = -5.35, -6.15
air.cornerPush.velOff = 0
airGuard.velocity = -5, -0.5
airGuard.cornerPush.velOff = 0
yAccel = .5
fall = 1
air.fall = 1
fall.recover = 0
;fall.recoverTime = 120
forceStand = 1
hitSound = -1
guardSound = -1
sparkNo = -1
guard.SparkNo = -1
sparkXY = -10, -32
envShake.time = 18
envShake.ampl = 6
envShake.freq = 120
sprPriority = 3
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48

[State 3036, ChangeState]
type = ChangeState
trigger1 = MoveContact = 1
value = 3021
ignoreHitPause = 1

[State 3036, ChangeState]
type = ChangeState
trigger1 = MoveReversed
value = 3023
ignoreHitPause = 1

[State 3036, End]
type = DestroySelf
trigger1 = Time > 0 && FrontEdgeDist <= -40
trigger2 = Anim = 1016 && !AnimTime

;========================<Super Lightning Helper>=========================
[Statedef 3110]
type = S
physics = N
movetype = A
ctrl = 0
sprpriority = 4
hitcountpersist = 1

[State 3110, ParentVarSet: Launch Hit Detect]
type = ParentVarSet
trigger1 = MoveHit = 1 && NumTarget
var(2) = 1
;ignorehitpause = 1

[State 3110, VarAdd: Absolute Time]
type = VarAdd
trigger1 = Time
var(1) = 1

[State 3110, HitOverride]
type = Hitoverride
trigger1 = 1
attr = SCA,AA,AP,AT
time = -1
stateno = 3110
ignorehitpause = 1

[State 3110, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

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

[State 3110, HitBy]
type = Hitby
trigger1 = 1
value = SCA,NP,SP,HP
time = -1
ignorehitpause = 1

[State 3110, ChangeAnim]
type = Changeanim
trigger1 = Anim !=3110
value = 3110

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

[State 3110, Transparency]
type = trans
trigger1 = 1
trans = addalpha
alpha = 256,256
ignorehitpause = 1

[State 3110, Miss]
type = HitDef
trigger1 = 1
attr = S,HP
hitFlag =
sparkXY = -10,0

[State 3110, HitDef]
type = Hitdef
triggerall = !(root,var(12))
triggerall = !(root,var(4))
trigger1 = !(root,var(16)) && root,var(15)<4;Root,StateNo = 3100
trigger1 = !(Time%8);!(MoveContact%8);!(Root,Time%8)
attr = S,HP
hitflag = MAFP
guardflag = M
priority = 4, Hit
damage = ceil(ifElse(fvar(11) * 35 < 7, 7, fvar(11) * 35)), 7
getpower = 0, 0
givepower = 35, 35
pausetime = 0, 6
guard.pausetime = 0, 6
animtype = Hard
air.animtype = Back
fall.animtype = Back
ground.type = Low
air.type = Low
ground.hittime = 16
ground.slidetime = 16
guard.hittime = 16
air.hittime = 60
ground.velocity = -0.85, -9.15
ground.cornerpush.veloff = 0
guard.velocity = -9.5
guard.cornerpush.veloff = 0
air.velocity = -0.85, -9
air.cornerpush.veloff = 0
yaccel = .48
fall = 1
fall.recover = 0
forcestand = 1
hitsound = -1
guardsound = -1
sparkno = -1
guard.sparkno = -1
sparkxy = -10, -48
envshake.time = 18
envshake.ampl = 6
envshake.freq = 120
sprPriority = 4
palfx.time = ifelse(P2statetype = A,52,28)
palfx.mul = 128,128,128
palfx.sinadd = 96,96,96,4

[State 3110, Shock FX]
type = Helper
trigger1 = !NumHelper(8150)
trigger1 = MoveHit = 1 && NumTarget
trigger1 = !(Target, HitShakeOver)
trigger1 = var(40) := (Target, ID)
helperType = Normal
stateNo = 8150
ID = 8150
name = "Static Shock"
posType = P2
ownPal = 1
ignoreHitPause = 1

;Hit Pause
[State 3110, HitSound]
type = Playsnd
trigger1 = Movecontact = 1 && Numtarget
trigger1 = !(target,hitshakeover)
value = Ifelse(MoveGuarded, 130, 2), Ifelse(MoveGuarded, 0, 9)
channel = 2
ignorehitpause = 1

[State 3110, Spark]
type = Helper
trigger1 = Movecontact=1 && Numtarget
trigger1 = !(target,Hitshakeover)
helpertype = Normal
stateno = Ifelse(MoveGuarded, 8001, 8014)
ID = 8000
name = "Spark"
postype = p1
pos = ifelse(p2dist x<-64, -64, ifelse(p2dist x<64, ceil(p2dist x), 64)), ceil(p2dist y-64)
facing = -1
ownpal = 1
size.xscale = 1
size.yscale = 1
pausemovetime = 65535
supermovetime = 65535
ignorehitpause = 1

[State 3110, Counter FX]
type = Helper
trigger1 = movecontact=1 && numtarget && var(9)
trigger1 = !(target,hitshakeover)
helpertype = normal
stateno=8290
ID = 8290
name = "Counter FX"
postype = p1
pos = ifelse(p2dist x<-64, -64, ifelse(p2dist x<64, ceil(p2dist x), 64)), ceil(p2dist y-64)
ownpal = 1
pausemovetime = 65535
supermovetime = 65535
ignorehitpause = 1

;[State 3110, Keep Alive State]
;type= Null;ChangeState
;trigger1 = Root,StateNo=
;value = 3112
;ignorehitpause = 1

[State 3110, End]
type= ChangeState
trigger1 = Root,MoveType=H
trigger2 = var(1)>40
;trigger3 = Root,StateNo!=3100
;trigger4 = Root,StateNo=3100 && Root,AnimElem=9
value = 3111
ignorehitpause = 1

;Super Bolt Fade
[Statedef 3111]
type = A
physics = N
movetype = A
anim = 3111
ctrl = 0
velset = 0,0
sprpriority = 3
movehitpersist = 1

[State 3111, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

[State 3111, Transparency]
type = trans
trigger1 = 1
trans = addalpha
alpha = 256,256
ignorehitpause = 1

[State 3111, End]
type = ChangeState
trigger1 = !AnimTime
value = 3112

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

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


;MAX Super Lightning Bolt
[Statedef 3120]
type = S
physics = N
movetype = A
ctrl = 0
sprpriority = 4
hitcountpersist = 1

[State 3120, ParentVarSet: Launch Hit Detect]
type = ParentVarSet
trigger1 = MoveHit = 1 && NumTarget
var(2) = 1
;ignorehitpause = 1

[State 3120, VarAdd: Absolute Time]
type = VarAdd
trigger1 = Time
var(1) = 1

[State 3120, HitOverride]
type = Hitoverride
trigger1 = 1
attr = SCA,AA,AP,AT
time = -1
stateno = 3120
ignorehitpause = 1

[State 3120, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

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

[State 3120, HitBy]
type = Hitby
trigger1 = 1
value = SCA,NP,SP,HP
time = -1
ignorehitpause = 1

[State 3120, ChangeAnim]
type = Changeanim
trigger1 = Anim !=3110
value = 3110

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

[State 3120, Transparency]
type = trans
trigger1 = 1
trans = addalpha
alpha = 256,256
ignorehitpause = 1

[State 3120, Miss]
type = HitDef
trigger1 = 1
attr = S,HP
hitFlag =
sparkXY = -10,0

[State 3120, HitDef]
type = Hitdef
triggerall = !(root,var(12))
triggerall = !(root,var(4))
trigger1 = !(root,var(16)) && root,var(15)<6
trigger1 = !(Time%8)
attr = S,HP
hitflag = MAFP
guardflag = M
priority = 4, Hit
damage = ceil(ifElse(fvar(11) * 28 < 7, 7, fvar(11) * 28)), 7
getpower = 0, 0
givepower = 35, 35
pausetime = 0, 6
guard.pausetime = 0, 6
animtype = Hard
air.animtype = Back
fall.animtype = Back
ground.type = Low
air.type = Low
ground.hittime = 16
ground.slidetime = 16
guard.hittime = 16
air.hittime = 60
ground.velocity = -0.85, -9
ground.cornerpush.veloff = 0
guard.velocity = -9.5
guard.cornerpush.veloff = 0
air.velocity = -0.85, -8.25
air.cornerpush.veloff = 0
yaccel = .48
fall = 1
fall.recover = 0
forcestand = 1
hitsound = -1
guardsound = -1
sparkno = -1
guard.sparkno = -1
sparkxy = -10, -48
envshake.time = 18
envshake.ampl = 6
envshake.freq = 120
sprPriority = 4
palfx.time = ifelse(P2statetype = A,52,28)
palfx.mul = 128,128,128
palfx.sinadd = 96,96,96,4

[State 3120, Shock FX]
type = Helper
trigger1 = !NumHelper(8150)
trigger1 = MoveHit = 1 && NumTarget
trigger1 = !(Target, HitShakeOver)
trigger1 = var(40) := (Target, ID)
helperType = Normal
stateNo = 8150
ID = 8150
name = "Static Shock"
posType = P2
ownPal = 1
ignoreHitPause = 1

;Hit Pause
[State 3120, HitSound]
type = Playsnd
trigger1 = Movecontact = 1 && Numtarget
trigger1 = !(target,hitshakeover)
value = Ifelse(MoveGuarded, 130, 2), Ifelse(MoveGuarded, 0, 9)
channel = 2
ignorehitpause = 1

[State 3120, Spark]
type = Helper
trigger1 = Movecontact=1 && Numtarget
trigger1 = !(target,Hitshakeover)
helpertype = Normal
stateno = Ifelse(MoveGuarded, 8001, 8014)
ID = 8000
name = "Spark"
postype = p1
pos = ifelse(p2dist x<-64, -64, ifelse(p2dist x<64, ceil(p2dist x), 64)), ceil(p2dist y-64)
facing = -1
ownpal = 1
size.xscale = 1
size.yscale = 1
pausemovetime = 65535
supermovetime = 65535
ignorehitpause = 1

[State 3120, Counter FX]
type = Helper
trigger1 = movecontact=1 && numtarget && var(9)
trigger1 = !(target,hitshakeover)
helpertype = normal
stateno=8290
ID = 8290
name = "Counter FX"
postype = p1
pos = ifelse(p2dist x<-64, -64, ifelse(p2dist x<64, ceil(p2dist x), 64)), ceil(p2dist y-64)
ownpal = 1
pausemovetime = 65535
supermovetime = 65535
ignorehitpause = 1

[State 3120, End]
type= ChangeState
trigger1 = Root,MoveType=H
trigger2 = var(1)>48
value = 3111
ignorehitpause = 1

;=====================<Super Shadow Cut Wave Helper>=========================
[StateDef 3205]
type = A
physics = N
moveType = A
ctrl = 0
anim = 3205
sprPriority = 4

[State 3205, ParentVarAdd: Hit Detect]
type = ParentVarAdd
trigger1 = MoveContact && NumTarget
var(14) = -1
ignorehitpause = 1

[State 3205, ParentVarAdd: Hit Detect 2]
type = ParentVarSet
trigger1 = MoveHit && NumTarget
var(27) = 1
ignorehitpause = 1

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

[State 3205, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

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

[State 3205, HitBy]
type = HitBy
trigger1 = 1
value = SCA,NP,SP,HP
time = -1
ignoreHitPause = 1

[State 3205, ChangeAnim]
type = ChangeAnim
trigger1 = Anim != 3205
value = 3205

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

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

[State 3205, Velocity]
type = VelSet
trigger1 = !Time
x = 1
y = 1

[State 3205, Miss]
type = HitDef
trigger1 = 1
attr = S,SP
hitFlag =
sparkXY = -10,0

[State 3205, HitDef]
type = HitDef
triggerall = root,var(14)
;trigger1 = !(root,var(16)) && root,var(15)<7
trigger1 = AnimElem = 1 || AnimElem = 2 || AnimElem = 3 || AnimElem = 4
attr = A,HP
hitFlag = MAF
guardFlag = M
priority = 4, Hit
damage = ceil(ifElse(fvar(11) * 14 < 7, 7, fvar(11) * 14)), 7
getPower = 0, 0
givePower = 15, 15
pauseTime = 0, 2
guard.pauseTime = 0, 2
animType = Hard
air.animType = Back
fall.animType = Back
ground.type = High
air.type = High
ground.hitTime = 18
ground.slideTime = 18
guard.hitTime = 18
air.hitTime = 60
airGuard.ctrlTime = 16
;down.hittime = 20
ground.velocity = -4, -7
ground.cornerPush.velOff = 0
guard.velocity = -10
guard.cornerPush.velOff = 0
air.velocity = -4, -7
air.cornerPush.velOff = 0
;airGuard.velocity = -6, -0.75
;airGuard.cornerPush.velOff = 0
;down.velocity = 0, 0
;down.cornerpush.veloff = 0
yAccel = .5
fall = 1
fall.recover = 0
;fall.recoverTime = 34
forceStand = 1
hitSound = -1
guardSound = -1
sparkNo = -1
guard.SparkNo = -1
sparkXY = -10, -32
envShake.time = 18
envShake.ampl = 6
envShake.freq = 120
sprPriority = 4
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48

[State 3205, ChangeState]
type = ChangeState
trigger1 = MoveContact=1
value = 3206
ignoreHitPause = 1

[State 3205, ChangeState]
type = ChangeState
trigger1 = MoveReversed
value = 1312
ignoreHitPause = 1

[State 3205, ChangeState]
type = ChangeState
trigger1 = !AnimTime
value = 1016
ignoreHitPause = 1

[State 3205, End]
type = DestroySelf
trigger1 = Root,MoveType=H
;trigger2 = MoveReversed


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

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

[State 3206, HitSound]
type = PlaySnd
trigger1 = MoveContact = 1 && NumTarget
trigger1 = !(Target, HitShakeOver)
value = ifElse(MoveGuarded, 130, 2), ifElse(MoveGuarded, 0, 6)
channel = 3
ignorehitPause = 1

[State 3206, Hit Spark]
type = Helper
trigger1 = MoveContact = 1 && NumTarget
trigger1 = !(Target, HitShakeOver)
helperType = Normal
stateNo = ifElse(MoveGuarded, 8001, 8014)
ID = 8000
name = "Spark"
posType = P1
pos = ifElse(P2Dist x < 0, 0, ifElse(P2Dist x < 20, ceil(P2Dist x), 20)), 0
ownPal = 1
facing = -1
size.xScale = 1
size.yScale = 1
pauseMoveTime = 65535
superMoveTime = 65535
ignoreHitPause = 1

[State 3206, Counter FX]
type = Helper
trigger1 = movecontact=1 && numtarget && var(9)
trigger1 = !(target,hitshakeover)
helpertype = normal
stateno=8290
ID = 8290
name = "Counter FX"
postype = p1
pos = ifElse(P2Dist x < 0, 0, ifElse(P2Dist x < 20, ceil(P2Dist x), 20)), 0
ownpal = 1
pausemovetime = 65535
supermovetime = 65535
ignorehitpause = 1

[State 3206, End]
type = ChangeState
trigger1 = Time >= 0
value = 3205


;MAX Super Shadow Wave
[StateDef 3207]
type = A
physics = N
moveType = A
ctrl = 0
anim = 3207
sprPriority = 4

[State 3207, ParentVarAdd: Hit Detect]
type = ParentVarAdd
trigger1 = MoveContact && NumTarget
var(28) = -1
ignorehitpause = 1

[State 3207, ParentVarAdd: Hit Detect 2]
type = ParentVarSet
trigger1 = MoveHit && NumTarget
var(27) = 1
ignorehitpause = 1

[State 3207, HitOverride]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AP,AT
time = -1
stateno = 3207
ignoreHitPause = 1

[State 3207, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
persistent = 1

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

[State 3207, HitBy]
type = HitBy
trigger1 = 1
value = SCA,NP,SP,HP
time = -1
ignoreHitPause = 1

[State 3207, ChangeAnim]
type = ChangeAnim
trigger1 = Anim != 3207
value = 3207

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

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

[State 3207, Velocity]
type = VelSet
trigger1 = !Time
x = 1
y = 1

[State 3207, Miss]
type = HitDef
trigger1 = 1
attr = S,SP
hitFlag =
sparkXY = -10,0

[State 3207, HitDef]
type = HitDef
triggerall = root,var(28)
;trigger1 = !(root,var(16)) && root,var(15)<10
trigger1 = AnimElem = 1 || AnimElem = 2 || AnimElem = 3 || AnimElem = 4 || Animelem = 5
attr = A,HP
hitFlag = MAF
guardFlag = M
priority = 4, Hit
damage = ceil(ifElse(fvar(11) * 14 < 7, 7, fvar(11) * 14)), 7
getPower = 0, 0
givePower = 15, 15
pauseTime = 0, 2
guard.pauseTime = 0, 2
animType = Hard
air.animType = Back
fall.animType = Back
ground.type = High
air.type = High
ground.hitTime = 18
ground.slideTime = 18
guard.hitTime = 18
air.hitTime = 60
airGuard.ctrlTime = 16
;down.hittime = 20
ground.velocity = -4, -7
ground.cornerPush.velOff = 0
guard.velocity = -10
guard.cornerPush.velOff = 0
air.velocity = -4, -7
air.cornerPush.velOff = 0
;airGuard.velocity = -6, -0.75
;airGuard.cornerPush.velOff = 0
;down.velocity = 0, 0
;down.cornerpush.veloff = 0
yAccel = .5
fall = 1
fall.recover = 0
;fall.recoverTime = 34
forceStand = 1
hitSound = -1
guardSound = -1
sparkNo = -1
guard.SparkNo = -1
sparkXY = -10, -32
envShake.time = 18
envShake.ampl = 6
envShake.freq = 120
sprPriority = 4
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48

[State 3207, ChangeState]
type = ChangeState
trigger1 = MoveContact=1
value = 3208
ignoreHitPause = 1

[State 3207, ChangeState]
type = ChangeState
trigger1 = MoveReversed
value = 1312
ignoreHitPause = 1

[State 3207, ChangeState]
type = ChangeState
trigger1 = !AnimTime
value = 1016
ignoreHitPause = 1

[State 3207, End]
type = DestroySelf
trigger1 = Root,MoveType=H
;trigger2 = MoveReversed


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

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

[State 3208, HitSound]
type = PlaySnd
trigger1 = MoveContact = 1 && NumTarget
trigger1 = !(Target, HitShakeOver)
value = ifElse(MoveGuarded, 130, 2), ifElse(MoveGuarded, 0, 6)
channel = 3
ignorehitPause = 1

[State 3208, Hit Spark]
type = Helper
trigger1 = MoveContact = 1 && NumTarget
trigger1 = !(Target, HitShakeOver)
helperType = Normal
stateNo = ifElse(MoveGuarded, 8001, 8014)
ID = 8000
name = "Spark"
posType = P1
pos = ifElse(P2Dist x < 0, 0, ifElse(P2Dist x < 20, ceil(P2Dist x), 20)), 0
ownPal = 1
facing = -1
size.xScale = 1
size.yScale = 1
pauseMoveTime = 65535
superMoveTime = 65535
ignoreHitPause = 1

[State 3208, Counter FX]
type = Helper
trigger1 = movecontact=1 && numtarget && var(9)
trigger1 = !(target,hitshakeover)
helpertype = normal
stateno=8290
ID = 8290
name = "Counter FX"
postype = p1
pos = ifElse(P2Dist x < 0, 0, ifElse(P2Dist x < 20, ceil(P2Dist x), 20)), 0
ownpal = 1
pausemovetime = 65535
supermovetime = 65535
ignorehitpause = 1

[State 3208, End]
type = ChangeState
trigger1 = Time >= 0
value = 3207


;========================<Final Grade Remix Helpers>=============================
;Hinata
[Statedef 6000]
type    = S
movetype = A
physics = N
ctrl = 0
anim = 6000
velset = 0,0
sprpriority = 3

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

[State 6000, Muteki]
type = NotHitBy
trigger1 = 1
value = SCA

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

[State 6000, On Ground]
type = PosSet
trigger1 = !Time
y = 0

;[State 6000, Level 3 Super AfterImage]
;type = AfterImage
;trigger1 = Time = 1
;time = 999
;timeGap = 1
;frameGap = 10
;length = 21
;palBright = 0,0,0
;palContrast = 160,32,32
;palPostBright = 0,0,0
;palAdd = 0,0,0
;palMul= 0.75,0.75,0.75
;trans = Add1

[State 6000, VelSet]
type = VelSet
trigger1 = AnimElem = 2
x = 12

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

[State 6000, VelSet]
type = VelSet
trigger1 = AnimElem = 15
x = 1

[State 6000, StateTypeSet: Air, No Phys]
type = StateTypeSet
trigger1 = AnimElemTime(15) >= 0 && AnimElemTime(39) < 0
statetype = A
physics = N

[State 6000, StateTypeSet: Stand, No Phys]
type = StateTypeSet
trigger1 = AnimElem = 39
statetype = S
physics = N

[State 6000, VelSet]
type = VelSet
trigger1 = AnimElem = 40
x = -3.5

[State 6000, VelSet]
type = VelSet
trigger1 = AnimElem = 41
x = 0

[State 6000, VelSet]
type = VelSet
trigger1 = AnimElemTime(56) >= 0
x = -13

[State 6000, Voice]
type = PlaySnd
trigger1 = AnimElem = 3
value = 6000,0
channel = 7
;ignorehitpause = 1

[State 6000, Voice 2]
type = PlaySnd
trigger1 = AnimElem = 17
value = 6000,1
channel = 7

[State 6000, Voice 3]
type = PlaySnd
trigger1 = AnimElem = 45
value = 6000,2
channel = 7

[State 6000, Voice 4]
type = PlaySnd
trigger1 = AnimElem = 55
value = 6000,3
channel = 7

[State 6000, Jump SFX]
type = PlaySnd
trigger1 = AnimElem = 2
value = 41,0

[State 6000, Dash Away SFX]
type = PlaySnd
trigger1 = AnimElem = 56
value = 1000,90

[State 6000, Swing Snd Punches]
type = PlaySnd
trigger1 = AnimElem = 3 || Animelem = 6 || AnimElem = 9 || AnimElem = 47
value = 1,2
;channel = 2

[State 6000, Swing Snd Kicks]
type = PlaySnd
trigger1 = AnimElem = 13 || AnimElem = 17 || AnimElem = 24 || AnimElem = 31
value = 1,5
;channel = 2

[State 6000, Hit 1]
type = HitDef
trigger1 = AnimElem = 4 
attr = S, HP
damage = ceil(ifElse(fvar(11) * 21 < 7, 7, fvar(11) * 21)), 7
ID = 3300
priority = 4, hit
animtype = Hard
getpower = 0, 0
givepower = 35, 35
guardflag = ;M
hitflag = MAF
hitsound = S2,2
guardsound = S130,0
pausetime = 0,4
guard.pausetime = 0,4
sparkNo = -1 + 0 * (var(33) := 8014)
guard.sparkNo = -1 + 0 * (var(34) := 8001)
sparkXY = -10 + 0 * (var(35) := 50), var(36) := -75
air.animtype = Back
fall.animtype = Back
ground.type = High
air.type = Low
ground.slidetime = 40
ground.hittime  = 40
guard.hittime = 18
ground.velocity = 0
air.velocity = -3, -7
guard.velocity = -8
;airguard.velocity = -6, -4
;airguard.ctrlTime = 16
ground.cornerPush.velOff = 0
guard.cornerPush.velOff = 0
air.cornerPush.velOff = 0
yaccel = .55
fall = 0
air.fall = 1
fall.recover = 0
forcestand = 1
p2facing = 1
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48
envshake.time = 18
envshake.ampl = 6
envShake.freq = 120
kill = 0
;snap = 50,0
sprpriority = 3

[State 6000, Hit 2-3]
type = HitDef
trigger1 = AnimElem = 7 || AnimElem = 10 
attr = S, HP
damage = ceil(ifElse(fvar(11) * 21 < 7, 7, fvar(11) * 21)), 7
ID = 3300
priority = 4, hit
animtype = Hard
getpower = 0, 0
givepower = 35, 35
guardflag = ;M
hitflag = MAF
hitsound = S2,2
guardsound = S130,0
pausetime = 0,4
guard.pausetime = 0,4
sparkNo = -1 + 0 * (var(33) := 8014)
guard.sparkNo = -1 + 0 * (var(34) := 8001)
sparkXY = -10 + 0 * (var(35) := 50), var(36) := -75
air.animtype = Back
fall.animtype = Back
ground.type = Low
air.type = Low
ground.slidetime = 40
ground.hittime  = 40
guard.hittime = 18
ground.velocity = -1
air.velocity = -3, -7
guard.velocity = -8
;airguard.velocity = -6, -4
;airguard.ctrlTime = 16
ground.cornerPush.velOff = 0
guard.cornerPush.velOff = 0
air.cornerPush.velOff = 0
yaccel = .55
fall = 0
air.fall = 1
fall.recover = 0
forcestand = 1
p2facing = 1
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48
envshake.time = 18
envshake.ampl = 6
envShake.freq = 120
kill = 0
;snap = 50,0
sprpriority = 3

[State 6000, Hit 4]
type = HitDef
trigger1 = AnimElem = 14 
attr = S, HP
damage = ceil(ifElse(fvar(11) * 21 < 7, 7, fvar(11) * 21)), 7
ID = 3300
priority = 4, hit
animtype = Hard
getpower = 0, 0
givepower = 35, 35
guardflag = ;M
hitflag = MAF
hitsound = S2,5
guardsound = S130,0
pausetime = 0,4
guard.pausetime = 0,4
sparkNo = -1 + 0 * (var(33) := 8014)
guard.sparkNo = -1 + 0 * (var(34) := 8001)
sparkXY = -10 + 0 * (var(35) := 32), var(36) := -74
air.animtype = Back
fall.animtype = Back
ground.type = High
air.type = Low
ground.slidetime = 40
ground.hittime  = 40
guard.hittime = 18
ground.velocity = -5.5
air.velocity = -3, -7
guard.velocity = -8
;airguard.velocity = -6, -4
;airguard.ctrlTime = 16
ground.cornerPush.velOff = 0
guard.cornerPush.velOff = 0
air.cornerPush.velOff = 0
yaccel = .55
fall = 0
air.fall = 1
fall.recover = 0
forcestand = 1
p2facing = 1
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48
envshake.time = 18
envshake.ampl = 6
envShake.freq = 120
kill = 0
;snap = 50,0
sprpriority = 3

[State 6000, Hit 5-7]
type = HitDef
trigger1 = AnimElem = 18 || AnimElem = 25 || AnimElem = 32 
attr = A, HP
damage = ceil(ifElse(fvar(11) * 21 < 7, 7, fvar(11) * 21)), 7
ID = 3300
priority = 4, hit
animtype = Hard
getpower = 0, 0
givepower = 35, 35
guardflag = ;M
hitflag = MAF
hitsound = S2,5
guardsound = S130,0
pausetime = 0,4
guard.pausetime = 0,4
sparkNo = -1 + 0 * (var(33) := 8014)
guard.sparkNo = -1 + 0 * (var(34) := 8001)
sparkXY = -10 + 0 * (var(35) := 72), var(36) := -60
air.animtype = Back
fall.animtype = Back
ground.type = High
air.type = Low
ground.slidetime = 40
ground.hittime  = 40
guard.hittime = 18
ground.velocity = -4
air.velocity = -3, -7
guard.velocity = -8
;airguard.velocity = -6, -4
;airguard.ctrlTime = 16
ground.cornerPush.velOff = 0
guard.cornerPush.velOff = 0
air.cornerPush.velOff = 0
yaccel = .55
fall = 0
air.fall = 1
fall.recover = 0
forcestand = 1
p2facing = 1
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48
envshake.time = 18
envshake.ampl = 6
envShake.freq = 120
kill = 0
;snap = 50,0
sprpriority = 3

[State 6000, Final Hit]
type = HitDef
trigger1 = AnimElem = 46
attr = S, HP
damage = ceil(ifElse(fvar(11) * 56 < 7, 7, fvar(11) * 56)), 7
;ID = 3300
priority = 4, hit
animtype = Hard
getpower = 0, 0
givepower = 35, 35
guardflag = ;M
hitflag = MAF
hitsound = S2,2
guardsound = S130,0
pausetime = 0,24
guard.pausetime = 0,12
sparkNo = -1 + 0 * (var(33) := 8014)
guard.sparkNo = -1 + 0 * (var(34) := 8001)
sparkXY = -10 + 0 * (var(35) := 85), var(36) := -70
air.animtype = Back
fall.animtype = Back
ground.type = Low
air.type = Low
ground.slidetime = 40
ground.hittime  = 40
guard.hittime = 18
air.hittime = 16
ground.velocity = 0.5, 5
air.velocity = 0.5, 5
fall.xvelocity = -2
fall.yvelocity = -3
;airguard.velocity = -6, -4
;airguard.ctrlTime = 16
ground.cornerPush.velOff = 0
guard.cornerPush.velOff = 0
air.cornerPush.velOff = 0
yaccel = .55
fall = 1
fall.recover = 0
forcestand = 1
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48
envshake.time = 18
envshake.ampl = 6
envShake.freq = 120
sprpriority = 3

;[State 6000, MoveHitReset];???
;type = MoveHitReset
;trigger1 = AnimElem = 46

[State 6000, P2 Custom State]
type = TargetState
trigger1= MoveHit =1 && NumTarget(3300)
trigger1= Target(3300),MoveType=H
ID = 3300
value = 3350
ignorehitpause=1

[State 6000, Standing for WinPose]
type = ChangeState
trigger1 = RoundState > 2 && Root,Alive
trigger1 = AnimElemTime(55) = 0
value = 6001

[State 6000, End]
type = DestroySelf;ChangeState
triggerall = AnimElemTime(46) > 0
trigger1 = BackEdgeDist <= -60
trigger2 = Time > 350
;value = 1016

;Hinata standing state
[Statedef 6001]
type    = S
physics = N
anim = 6001
velset = 0,0
sprpriority = 3

[State 6001, On Ground]
type = PosSet
trigger1 = !Time
y = 0

;[State 6001, AngleDraw]
;type = AngleDraw
;trigger1 = 1 
;;value = 1
;scale = 1.025,1.110 
;;ignorehitpause = 
;persistent = 1 

[State 6001, Winpose]
type = ChangeState
trigger1 = Root,StateNo = 182
value = 6002

;Hinata Winpose
[Statedef 6002]
type = S
physics = S
ctrl = 0
velset = 0,0
anim = 6002
sprpriority = 3

[State 6002, Voice]
type = PlaySnd
trigger1 = AnimElem = 4
value = 6000, 4
channel = 7

;[State 6002, AngleDraw]
;type = AngleDraw
;trigger1 = 1 
;;value = 1
;scale = 1.025,1.110 
;;ignorehitpause = 
;persistent = 1

[State 6002, AssertSpecial]
type = AssertSpecial
trigger1 = Time = [0, 280]
flag = RoundNotOver

;Batsu
[Statedef 6010]
type    = S
movetype = A
physics = N
ctrl = 0
anim = 6010
velset = 0,0
sprpriority = 3

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

[State 6010, Muteki]
type = NotHitBy
trigger1 = 1
value = SCA

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

[State 6010, On Ground]
type = PosSet
trigger1 = !Time
y = 0

[State 6010, VelSet]
type = VelSet
trigger1 = AnimElemTime(1) = 0
x = 12

[State 6010, VelSet]
type = VelSet
trigger1 = AnimElem = 2
x = 0

[State 6010, VelSet]
type = VelSet
trigger1 = AnimElemTime(24) >= 0
x = -13

[State 6010, Voice]
type = PlaySnd
trigger1 = AnimElem = 3
value = 6010,0
channel = 8

[State 6010, Voice 2]
type = PlaySnd
trigger1 = AnimElem = 18
value = 6010,1
channel = 8

[State 6010, Voice 3]
type = PlaySnd
trigger1 = AnimElem = 23
value = 6010,2
channel = 8

[State 6010, Jump SFX]
type = PlaySnd
trigger1 = AnimElem = 1
value = 41,0

[State 6010, Dash Away SFX]
type = PlaySnd
trigger1 = AnimElem = 24
value = 1000,90

[State 6010, Swing Snd Punches]
type = PlaySnd
trigger1 = AnimElem = 3 || Animelem = 8 || AnimElem = 18
value = 1,2
;channel = 2

[State 6010, Hit]
type = HitDef
trigger1 = AnimElem = 4 
attr = S, HP
damage = ceil(ifElse(fvar(11) * 21 < 7, 7, fvar(11) * 21)), 7
ID = 3300
priority = 4, hit
animtype = Hard
getpower = 0, 0
givepower = 35, 35
guardflag = ;M
hitflag = MAF
hitsound = S2,2
guardsound = S130,0
pausetime = 0,4
guard.pausetime = 0,4
sparkNo = -1 + 0 * (var(33) := 8014)
guard.sparkNo = -1 + 0 * (var(34) := 8001)
sparkXY = -10 + 0 * (var(35) := 50), var(36) := -43
air.animtype = Back
fall.animtype = Back
ground.type = Low
air.type = Low
ground.slidetime = 40
ground.hittime  = 40
guard.hittime = 18
ground.velocity = 0
air.velocity = -3, -7
guard.velocity = -10
;airguard.velocity = -6, -4
;airguard.ctrlTime = 16
ground.cornerPush.velOff = 0
guard.cornerPush.velOff = 0
air.cornerPush.velOff = 0
yaccel = .55
fall = 0
air.fall = 1
fall.recover = 0
forcestand = 1
p2facing = 1
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48
envshake.time = 18
envshake.ampl = 6
envShake.freq = 120
kill = 0
;snap = 50,0
sprpriority = 3

[State 6010, Hit 2]
type = HitDef
trigger1 = AnimElem = 9 
attr = S, HP
damage = ceil(ifElse(fvar(11) * 21 < 7, 7, fvar(11) * 21)), 7
ID = 3301
priority = 4, hit
animtype = Up
getpower = 0, 0
givepower = 35, 35
guardflag = ;M
hitflag = MAF
hitsound = S2,2
guardsound = S130,0
pausetime = 0,0
guard.pausetime = 0,0
sparkNo = -1 + 0 * (var(33) := 8014)
guard.sparkNo = -1 + 0 * (var(34) := 8001)
sparkXY = -10 + 0 * (var(35) := 47), var(36) := -87
air.animtype = Back
fall.animtype = Back
ground.type = High
air.type = High
ground.slidetime = 40
ground.hittime  = 40
guard.hittime = 18
ground.velocity = 0, -25.75
air.velocity = 0, -25.75
guard.velocity = -10
;airguard.velocity = -6, -4
;airguard.ctrlTime = 16
ground.cornerPush.velOff = 0
guard.cornerPush.velOff = 0
air.cornerPush.velOff = 0
yaccel = .55
fall = 1
;air.fall = 1
fall.recover = 0
forcestand = 1
p2facing = 1
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48
envshake.time = 18
envshake.ampl = 6
envShake.freq = 120
kill = 0
;snap = 50,0
sprpriority = 3

[State 6010, Final Hit]
type = HitDef
trigger1 = AnimElem = 19
attr = S, HP
damage = ceil(ifElse(fvar(11) * 56 < 7, 7, fvar(11) * 56)), 7
;ID = 3300
priority = 4, hit
animtype = Hard
getpower = 0, 0
givepower = 35, 35
guardflag = ;M
hitflag = MAF
hitsound = S2,2
guardsound = S130,0
pausetime = 0,24
guard.pausetime = 0,12
sparkNo = -1 + 0 * (var(33) := 8014)
guard.sparkNo = -1 + 0 * (var(34) := 8001)
sparkXY = -10 + 0 * (var(35) := 85), var(36) := -70
air.animtype = Back
fall.animtype = Back
ground.type = Low
air.type = Low
ground.slidetime = 40
ground.hittime  = 40
guard.hittime = 18
air.hittime = 16
ground.velocity = 0.5, 5
air.velocity = 0.5, 5
fall.xvelocity = -2
fall.yvelocity = -3
;airguard.velocity = -6, -4
;airguard.ctrlTime = 16
ground.cornerPush.velOff = 0
guard.cornerPush.velOff = 0
air.cornerPush.velOff = 0
yaccel = .55
fall = 1
fall.recover = 0
forcestand = 1
palFX.time = 12 * var(9)
palFX.add = 255,255,255
palFX.sinAdd= -255,-255,-255,48
envshake.time = 18
envshake.ampl = 6
envShake.freq = 120
sprpriority = 3

[State 6010, P2 Custom State]
type = TargetState
trigger1= MoveHit =1 && NumTarget(3300)
trigger1= Target(3300),MoveType=H
ID = 3300
value = 3350
ignorehitpause=1

[State 3300, P2 Custom State 2nd]
type = TargetState
trigger1= MoveHit =1 && NumTarget(3301)
trigger1= Target(3301),MoveType=H
ID = 3301
value = 3360
ignorehitpause=1

[State 6010, Standing for WinPose]
type = ChangeState
trigger1 = RoundState > 2 && Root,Alive
trigger1 = AnimElemTime(23) = 0
value = 6011

[State 6010, End]
type = DestroySelf
triggerall = AnimElemTime(19) > 0
trigger1 = BackEdgeDist <= -60
trigger2 = Time > 250

;Batsu standing state
[Statedef 6011]
type    = S
physics = N
anim = 6011
velset = 0,0
sprpriority = 3

[State 6011, On Ground]
type = PosSet
trigger1 = !Time
y = 0

[State 6011, Winpose]
type = ChangeState
trigger1 = Root,StateNo = 182
value = 6012

;Batsu Winpose
[Statedef 6012]
type = S
physics = S
ctrl = 0
velset = 0,0
anim = 6012
sprpriority = 3

[State 6012, Swing Snd]
type = PlaySnd
trigger1 = AnimElem = 8
value = 1,0
channel = 1

;[State 6012, Voice]
;type = null;PlaySnd
;trigger1 = AnimElem = 1
;value = 6010, 3
;channel = 8

[State 6012, AssertSpecial]
type = AssertSpecial
trigger1 = Time = [0, 280]
flag = RoundNotOver

;========================<SPARKS>=============================
;Guard Spark (Normal)
[StateDef 8000]
type = A
physics = N
moveType = I
anim = 8000
velset = 0,0
sprPriority = 5

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

[State 8000, Scale]
type = AngleDraw
trigger1 = 1
scale = 0.125 + (0.046875 * Time), 0.125 + (0.046875 * Time)

[State 8000, Transparency]
type = Trans
trigger1 = Time < 4
trans = AddAlpha
alpha = 256, 256

[State 8000, Transparency]
type = Trans
trigger1 = Time >= 4
trans = AddAlpha
alpha = 256 - 64 * (Time - 4), 256

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


;Guard Spark (Special)
[StateDef 8001]
type = A
physics = N
moveType = I
anim = 8001
velSet = 0,0
sprPriority = 5

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

[State 8001, Scale]
type = AngleDraw
trigger1 = 1
scale = 0.25 + (0.03125 * Time), 0.25 + (0.03125 * Time)

[State 8001, Transparency]
type = Trans
trigger1 = time < 4
trans = AddAlpha
alpha = 256, 256

[State 8001, Transparency]
type = Trans
trigger1 = Time >= 4
trans = AddAlpha
alpha = 256 - 64 * (Time - 4), 256

[State 8001, End]
type = DestroySelf
trigger1 = Time >= 8


;Weak Hit Spark
[StateDef 8010]
type = A
physics = N
moveType = I
anim = 8010
velSet = 0,0
sprPriority = 5

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

[State 8010, AngleSet]
type = AngleSet
trigger1 = !Time
value = 30 * (Random % 12)
ignorehitpause = 1

[State 8010, AngleAdd]
type = AngleAdd
trigger1 = 1
value = 30

[State 8010, Scale]
type = AngleDraw
trigger1 = Time < 10
scale = (0.3 - (Time * 0.03)) * 0.8, (0.3 - (Time * 0.03)) * 0.8
ignorehitpause = 1

[State 8010, Scale]
type = AngleDraw
trigger1 = Time >= 10
scale = 0,0
ignorehitpause = 1

[State 8010, Transparency]
type = Trans
trigger1 = 1
trans = AddAlpha
alpha = 256,256
ignorehitpause = 1

[State 8010, Center Explod]
type = Explod
trigger1 = !Time
anim = 8011
ID = 1
posType = P1
facing = ifElse(Random < 500, -1, 1)
vFacing = ifElse(Random < 500, -1, 1)
sprPriority = 5
removeTime = 16
pauseMoveTime = -1
superMoveTime = -1

[State 8010, Scale Center Explod]
type = ModifyExplod
trigger1 = NumExplod(1)
ID = 1
scale = (0.15 + (0.009375 * Time)) * 0.8, (0.15 + (0.009375 * Time)) * 0.8
trans = AddAlpha
alpha = 256 - (16 * Time),256

[State 8010, Streaks Explod]
type = Explod
trigger1 = !Time
anim = 8012
ID = 2
posType = P1
facing = ifElse(Random < 500, -1, 1)
vFacing = ifElse(Random < 500, -1, 1)
sprPriority = 5
removeTime = 16
pauseMoveTime = -1
superMoveTime = -1

[State 8010, Scale Streaks Explod]
type = ModifyExplod
trigger1 = NumExplod(2)
ID = 2
scale = (0.15 + (0.009375 * Time)) * 0.8, (0.15 + (0.009375 * Time)) * 0.8
trans = AddAlpha
alpha = 256 - (16 * Time), 256

[State 8010, Impact Explod]
type = Explod
trigger1 = !Time
anim = 8014
ID = 4
posType = P1
facing = ifElse(Random < 500, -1, 1)
vFacing = ifElse(Random < 500, -1, 1)
sprPriority = 3
removeTime = 8
pauseMoveTime = -1
superMoveTime = -1

[State 8010, Scale Impact Explod]
type = ModifyExplod
trigger1 = NumExplod(4)
ID = 4
scale = (0.3 - (0.0375 * Time)) * 0.8, (0.3 - (0.0375 * Time)) * 0.8
trans = AddAlpha
alpha = 128 - (16 * Time), 256

[State 8010, Remove Explods]
type = RemoveExplod
trigger1 = Time >= 16

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


;Medium Hit Spark
[StateDef 8011]
type = A
physics = N
moveType = I
anim = 8010
velSet = 0,0
sprPriority = 5

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

[State 8011, AngleSet]
type = AngleSet
trigger1 = !Time
value = 30 * (Random % 12)

[State 8011, AngleAdd]
type = AngleAdd
trigger1 = 1
value = 30

[State 8011, Scale]
type = AngleDraw
trigger1 = Time < 10
scale = (0.35 - (Time * 0.035)) * 0.8, (0.35 - (Time * 0.035)) * 0.8
ignorehitpause = 1

[State 8011, Scale]
type = AngleDraw
trigger1 = Time >= 10
scale = 0,0
ignorehitpause = 1

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

[State 8011, Center]
type = Explod
trigger1 = !Time
anim = 8011
ID = 1
posType = P1
facing = ifElse(Random < 500, -1, 1)
vFacing = ifElse(Random < 500, -1, 1)
sprPriority = 5
removetime = 16
pauseMoveTime = -1
superMoveTime = -1

[State 8011, Scale Center Explod]
type = ModifyExplod
trigger1 = NumExplod(1)
ID = 1
scale = (0.175 + (0.0109375 * Time)) * 0.8, (0.175 + (0.0109375 * Time)) * 0.8
trans = AddAlpha
alpha = 256 - (16 * Time), 256

[State 8011, Streaks Explod]
type = Explod
trigger1 = !Time
anim = 8012
ID = 2
posType = P1
facing = ifElse(Random < 500, -1, 1)
vFacing = ifElse(Random < 500, -1, 1)
sprPriority = 5
removeTime = 16
pauseMoveTime = -1
superMoveTime = -1

[State 8011, Scale Streaks Explod]
type = ModifyExplod
trigger1 = NumExplod(2)
ID = 2
scale = (0.175 + (0.0109375 * Time)) * 0.8, (0.175 + (0.0109375 * Time)) * 0.8
trans = AddAlpha
alpha = 256 - (16 * Time), 256

[State 8011, Impact Explod]
type = Explod
trigger1 = !Time
anim = 8014
ID = 4
posType = P1
facing = ifElse(Random < 500, -1, 1)
vFacing = ifElse(Random < 500, -1, 1)
sprPriority = 3
removeTime = 8
pauseMoveTime = -1
superMoveTime = -1

[State 8011, Scale Impact Explod]
type = ModifyExplod
trigger1 = NumExplod(4)
ID = 4
scale = (0.35 - (0.04375 * Time)) * 0.8, (0.35 - (0.04375 * Time)) * 0.8
trans = AddAlpha
alpha = 128 - (16 * Time), 256

[State 8011, Remove Explods]
type = RemoveExplod
trigger1 = Time >= 16

[State 8011, End]
type = DestroySelf
trigger1 = Time >= 16


;Strong Hit Spark
[StateDef 8012]
type = A
physics = N
moveType = I
anim = 8010
velSet = 0,0
sprPriority = 5

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

[State 8012, AngleSet]
type = AngleSet
trigger1 = !Time
value = 30 * (Random % 12)

[State 8012, AngleAdd]
type = AngleAdd
trigger1 = 1
value = 30

[State 8012, Scale]
type = AngleDraw
trigger1 = Time < 10
scale = (0.4 - (Time * 0.04)) * 0.8, (0.4 - (Time * 0.04)) * 0.8
ignorehitpause = 1

[State 8012, Scale]
type = AngleDraw
trigger1 = Time >= 10
scale = 0,0
ignorehitpause = 1

[State 8012, Transparency]
type = Trans
trigger1 = 1
trans = AddAlpha
alpha = 256,256
ignorehitpause = 1

[State 8012, Center Explod]
type = Explod
trigger1 = !Time
anim = 8011
ID = 1
posType = P1
facing = ifElse(Random < 500, -1, 1)
vFacing = ifElse(Random < 500, -1, 1)
sprPriority = 5
removeTime = 16
pauseMoveTime = -1
superMoveTime = -1

[State 8012, Scale Center Explod]
type = ModifyExplod
trigger1 = NumExplod(1)
ID = 1
scale = (0.2 + (0.0125 * Time)) * 0.8, (0.2 + (0.0125 * Time)) * 0.8
trans = AddAlpha
alpha = 256 - (16 * Time), 256

[State 8012, Streaks Explod]
type = Explod
trigger1 = !time
anim = 8012
ID = 2
posType = P1
facing = ifElse(Random < 500, -1, 1)
vFacing = ifElse(Random < 500, -1, 1)
sprPriority = 5
removeTime = 16
pauseMoveTime = -1
superMoveTime = -1

[State 8012, Scale Streaks Explod]
type = ModifyExplod
trigger1 = NumExplod(2)
ID = 2
scale = (0.2 + (0.0125 * Time)) * 0.8, (0.2 + (0.0125 * Time)) * 0.8
trans = AddAlpha
alpha = 256 - (16 * Time), 256

[State 8012, Impact Explod]
type = Explod
trigger1 = !Time
anim = 8014
ID = 4
posType = P1
facing = ifElse(Random < 500, -1, 1)
vFacing = ifElse(Random < 500, -1, 1)
sprPriority = 3
removeTime = 8
pauseMoveTime = -1
superMoveTime = -1

[State 8012, Scale Impact Explod]
type = ModifyExplod
trigger1 = NumExplod(4)
ID = 4
scale = (0.4 - (0.05 * Time)) * 0.8, (0.4 - (0.05 * Time)) * 0.8
trans = AddAlpha
alpha = 128 - (16 * Time), 256

[State 8012, Remove Explods]
type = RemoveExplod
trigger1 = Time >= 16

[State 8012, End]
type = DestroySelf
trigger1 = Time >= 16


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

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

[State 8013, AngleSet]
type = AngleSet
trigger1 = !Time
value = 30 * (Random % 12)

[State 8013, AngleAdd]
type = AngleAdd
trigger1 = 1
value = 30

[State 8013, Scale]
type = AngleDraw
trigger1 = Time < 10
scale = (0.45 - (Time * 0.045)) * 0.8, (0.45 - (Time * 0.045)) * 0.8
ignorehitpause = 1

[State 8012, Scale]
type = AngleDraw
trigger1 = Time >= 10
scale = 0,0
ignorehitpause = 1

[State 8013, Transparency]
type = Trans
trigger1 = 1
trans = AddAlpha
alpha = 256,256
ignorehitpause = 1

[State 8013, Center Explod]
type = Explod
trigger1 = !Time
anim = 8051
ID = 1
posType = P1
facing = ifElse(Random < 500, -1, 1)
vFacing = ifElse(Random < 500, -1, 1)
sprPriority = 5
removeTime = 16
pauseMoveTime = -1
superMoveTime = -1

[State 8013, Scale Center Explod]
type = ModifyExplod
trigger1 = NumExplod(1)
ID = 1
scale = (0.225 + (0.0140625 * Time)) * 0.8, (0.225 + (0.0140625 * Time)) * 0.8
trans = AddAlpha
alpha = 256 - (16 * Time), 256

[State 8013, Streaks Explod]
type = Explod
trigger1 = !Time
anim = 8052
ID = 2
posType = P1
facing = ifElse(Random < 500, -1, 1)
vFacing = ifElse(Random < 500, -1, 1)
sprPriority = 5
removeTime = 16
pauseMoveTime = -1
superMoveTime = -1

[State 8013, Scale Streaks Explod]
type = ModifyExplod
trigger1 = NumExplod(2)
ID = 2
scale = (0.225 + (0.0140625 * Time)) * 0.8, (0.225 + (0.0140625 * Time)) * 0.8
trans = AddAlpha
alpha = 256 - (16 * Time), 256

[State 8013, P2 Back Explod]
type = Explod
trigger1 = !Time
anim = 8053
ID = 3
posType = P1
facing = -1
vFacing = ifElse(Random < 500, -1, 1)
sprPriority = -3
removeTime = 8
pauseMoveTime = -1
superMoveTime = -1

[State 8013, Scale P2 Back Explod]
type = ModifyExplod
trigger1= NumExplod(3)
ID = 3
scale = (0.4) * 0.8, (0.4) * 0.8
trans = AddAlpha
alpha = 256 - (32 * Time), 256

[State 8013, Impact Explod]
type = Explod
trigger1 = !Time
anim = 8014
ID = 4
posType = P1
facing = ifElse(random < 500, -1, 1)
vFacing = ifElse(random < 500, -1, 1)
sprPriority=3
removeTime=8
pauseMoveTime = -1
superMoveTime = -1

[State 8013, Scale Impact Explod]
type = ModifyExplod
trigger1 = NumExplod(4)
ID = 4
scale = (0.45 - (0.05625 * Time)) * 0.8, (0.45 - (0.05625 * Time)) * 0.8
trans = AddAlpha
alpha = 192 - (24 * Time), 256

[State 8013, Remove Explods]
type = RemoveExplod
trigger1 = Time >= 16

[State 8013, End]
type = DestroySelf
trigger1 = Time >= 16


;Super Hit Spark
[StateDef 8014]
type = A
physics = N
moveType = I
anim = 8060
velSet = 0,0
sprPriority = 5

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

[State 8014, AngleSet]
type = AngleSet
trigger1 = !Time
value = 30 * (Random % 12)

[State 8014, AngleAdd]
type = AngleAdd
trigger1 = 1
value = 30

[State 8014, Scale]
type = AngleDraw
trigger1 = Time < 10
scale = (0.5 - (Time * 0.05)) * 0.8, (0.5 - (Time * 0.05)) * 0.8
ignorehitpause = 1

[State 8014, Scale]
type = AngleDraw
trigger1 = Time >= 10
scale = 0,0
ignorehitpause = 1

[State 8014, Transparency]
type = Trans
trigger1 = 1
trans = AddAlpha
alpha = 256,256
ignorehitpause = 1

[State 8014, Center Explod]
type = Explod
trigger1 = !Time
anim = 8061
ID = 1
posType = P1
facing = ifElse(Random < 500, -1, 1)
vFacing = ifElse(Random < 500, -1, 1)
sprPriority = 5
removeTime = 16
pauseMoveTime = -1
superMoveTime = -1

[State 8014, Scale Center Explod]
type = ModifyExplod
trigger1 = NumExplod(1)
ID = 1
scale = (0.25 + (0.015625 * Time)) * 0.8, (0.25 + (0.015625 * Time)) * 0.8
trans = AddAlpha
alpha = 256 - (16 * Time), 256

[State 8014, Streaks Explod]
type = Explod
trigger1 = !Time
anim = 8062
ID = 2
posType = P1
facing = ifElse(Random < 500, -1, 1)
vFacing = ifElse(Random < 500, -1, 1)
sprPriority = 5
removeTime = 16
pauseMoveTime = -1
superMoveTime = -1

[State 8014, Scale Streaks Explod]
type = ModifyExplod
trigger1 = NumExplod(2)
ID = 2
scale = (0.25 + (0.015625 * Time)) * 0.8, (0.25 + (0.015625 * Time)) * 0.8
trans = AddAlpha
alpha = 256 - (16 * Time), 256

[State 8014, P2 Back Explod]
type = Explod
trigger1 = !Time
anim = 8063
ID = 3
posType = P1
facing = -1;ifElse((Parent, StateNo = [3100,3150]), -1, 1)
vFacing = ifElse(Random < 500, -1, 1)
sprPriority = -3
removeTime = 8
pauseMoveTime = -1
superMoveTime = -1

[State 8014, Scale P2 Back Explod]
type = ModifyExplod
trigger1 = NumExplod(3)
ID = 3
scale = (0.5) * 0.8, (0.5) * 0.8
trans = AddAlpha
alpha = 256 - (32 * Time), 256

[State 8014, Impact Explod]
type = Explod
trigger1 = !Time
anim = 8014
ID = 4
posType = P1
facing = ifElse(Random < 500, -1, 1)
vFacing = ifElse(Random < 500, -1, 1)
sprPriority = 3
removeTime = 8
pauseMoveTime = -1
superMoveTime = -1

[State 8014, Scale Impact Explod]
type = ModifyExplod
trigger1 = NumExplod(4)
ID = 4
scale = (0.5 - (0.0625 * Time)) * 0.8, (0.5 - (0.0625 * Time)) * 0.8
trans = AddAlpha
alpha = 256 - (32 * Time),256

[State 8014, Remove Explods]
type = RemoveExplod
trigger1 = time >= 16

[State 8014, End]
type = DestroySelf
trigger1 = Time >= 16


;Normal Slash Spark
[StateDef 8015]
type = A
physics = N
moveType = I
anim = 8015
velSet = 0,0
sprPriority = 5

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

[State 8015, AngleSet]
type = AngleSet
trigger1 = !Time
value = 15 * (Random % 24)

[State 8015, Scale]
type = AngleDraw
trigger1 = Time < 10
scale = ((0.5 + (Time * 0.15)) / 2) * 0.8, ((1 - (Time * 0.1)) / 2) * 0.8
ignoreHitPause = 1

[State 8015, Scale]
type = AngleDraw
trigger1 = Time >= 10
scale = 0,0
ignoreHitPause = 1

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

[State 8015, Streaks Explod]
type = Explod
trigger1 = !Time
anim = 8012
ID = 2
posType = P1
facing = ifElse(Random < 500, -1, 1)
vFacing = ifElse(Random < 500, -1, 1)
sprPriority = 5
removeTime = 16
pauseMoveTime = -1
superMoveTime = -1

[State 8015, Scale Streaks Explod]
type = ModifyExplod
trigger1 = NumExplod(2)
ID = 2
scale = (0.2 + (0.0125 * Time)) * 0.8, (0.2 + (0.0125 * Time)) * 0.8
trans = AddAlpha
alpha = 256 - (16 * Time), 256

[State 8015, Remove Explods]
type = RemoveExplod
trigger1 = Time >= 16

[State 8015, End]
type = DestroySelf
trigger1 = Time >= 16


;Special Move Slash Spark
[StateDef 8016]
type = A
physics = N
moveType = I
anim = 8070
velSet = 0,0
sprPriority = 5

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

[State 8016, AngleSet]
type = AngleSet
trigger1 = !Time
value = 15 * (Random % 24)

[State 8016, Scale]
type = AngleDraw
trigger1 = Time < 10
scale = ((0.5 + (Time * 0.15)) / 2) * 0.8, ((1 - (Time * 0.1)) / 2) * 0.8
ignoreHitPause = 1

[State 8016, Scale]
type = AngleDraw
trigger1 = Time >= 10
scale = 0,0
ignoreHitPause = 1

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

[State 8016, Circle]
type = Explod
trigger1 = !Time
anim = 8071
ID = 8071
posType = p1
removeTime = 10
sprPriority = 5
pauseMoveTime = -1
superMoveTime = -1

[State 8016, Circle Scale]
type = ModifyExplod
trigger1 = NumExplod(8071)
ID = 8071
scale = (0.25 + (0.025 * Time)) * 0.8, (0.25 + (0.025 * Time)) * 0.8
trans = AddAlpha
alpha = ceil(256 - 25.6 * Time), 256

[State 8016, Streaks Explod]
type = Explod
trigger1 = !Time
anim = 8052
ID = 2
posType = P1
facing = ifElse(Random < 500, -1, 1)
vFacing = ifElse(Random < 500, -1, 1)
sprPriority = 5
removeTime = 16
pauseMoveTime = -1
superMoveTime = -1

[State 8016, Scale Streaks Explod]
type = ModifyExplod
trigger1 = NumExplod(2)
ID = 2
scale = (0.225 + (0.0140625 * Time)) * 0.8, (0.225 + (0.0140625 * Time)) * 0.8
trans = AddAlpha
alpha = 256 - (16 * Time), 256

[State 8016, Remove Explods]
type = RemoveExplod
trigger1 = Time >= 16

[State 8016, End]
type = DestroySelf
trigger1 = Time >= 16


;Super Move Slash Spark
[StateDef 8017]
type = A
physics = N
moveType = I
anim = 8080
velSet = 0,0
sprPriority = 5

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

[State 8017, AngleSet]
type = AngleSet
trigger1 = !Time
value = 15 * (Random % 24)

[State 8017, Scale]
type = AngleDraw
trigger1 = Time < 10
scale = ((0.5 + (Time * 0.15)) / 2) * 0.8, ((1 - (Time * 0.1)) / 2) * 0.8
ignoreHitPause = 1

[State 8017, Scale]
type = AngleDraw
trigger1 = Time >= 10
scale = 0,0
ignoreHitPause = 1

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

[State 8017, Circle]
type = Explod
trigger1 = !Time
anim = 8071
ID = 8071
posType = p1
removeTime = 10
sprPriority = 5
pauseMoveTime = -1
superMoveTime = -1

[State 8017, Circle Scale]
type = ModifyExplod
trigger1 = NumExplod(8071)
ID = 8071
scale = (0.3 + (0.03 * Time)) * 0.8, (0.3 + (0.03 * Time)) * 0.8
trans = AddAlpha
alpha = ceil(256 - 25.6 * Time), 256

[State 8017, Streaks Explod]
type = Explod
trigger1 = !Time
anim = 8052
ID = 2
posType = P1
facing = ifElse(Random < 500, -1, 1)
vFacing = ifElse(Random < 500, -1, 1)
sprPriority = 5
removeTime = 16
pauseMoveTime = -1
superMoveTime = -1

[State 8017, Scale Streaks Explod]
type = ModifyExplod
trigger1 = NumExplod(2)
ID = 2
scale = (0.25 + (0.015625 * Time)) * 0.8, (0.25 + (0.015625 * Time)) * 0.8
trans = AddAlpha
alpha = 256 - (16 * Time), 256

[State 8017, Remove Explods]
type = RemoveExplod
trigger1 = Time >= 16

[State 8017, End]
type = DestroySelf
trigger1 = Time >= 16


;Super Hit Spark(Shun Goku Satsu)
[StateDef 8018]
type = A
physics = N
moveType = I
anim = 8060
velSet = 0,0
sprPriority = 5
;ontop = 1

[State 8018, BindToRoot]
type = BindToRoot
triggerAll = (Root,StateNo=3501) && (Root,AnimElemTime(2) > 0) && (Root,AnimElemTime(16) < 0)
trigger1 = !Time
pos = (Random % 40) * ifElse(Random % 2, -1, 1) + 26, -50 - (Random % 40) * ifElse(Random % 2, -1, 1)
facing = 1

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

[State 8018, AngleSet]
type = AngleSet
trigger1 = !Time
value = 30 * (Random % 12)

[State 8018, AngleAdd]
type = AngleAdd
trigger1 = 1
value = 30

[State 8018, Scale]
type = AngleDraw
trigger1 = Time < 10
scale = (0.5 - (Time * 0.05)) * 0.8, (0.5 - (Time * 0.05)) * 0.8
ignoreHitPause = 1

[State 8018, Scale]
type = AngleDraw
trigger1 = Time >= 10
scale = 0,0
ignoreHitPause = 1

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

[State 8018, Center Explod]
type = Explod
triggerAll = (Root,StateNo=3501)
trigger1 = !Time
anim = 8060
ID = 10
posType = P1
facing = ifElse(Random < 500, -1, 1)
vFacing = ifElse(Random < 500, -1, 1)
sprPriority = 5
removeTime = 16
pauseMoveTime = -1
superMoveTime = -1
onTop = 1

[State 8018, Scale Center Explod]
type = ModifyExplod
trigger1 = NumExplod(10)
trigger1 = Time < 10
ID = 10
scale = (0.5 - (Time * 0.05)) * 0.8, (0.5 - (Time * 0.05)) * 0.8
trans = AddAlpha
alpha = 256 - (16 * Time), 256

[State 8018, Center Explod]
type = Explod
triggerAll = (Root,StateNo=3501)
trigger1 = !Time
anim = 8061
ID = 1
posType = P1
facing = ifElse(Random < 500, -1, 1)
vFacing = ifElse(Random < 500, -1, 1)
sprPriority = 5
removeTime = 16
pauseMoveTime = -1
superMoveTime = -1
onTop = 1

[State 8018, Scale Center Explod]
type = ModifyExplod
trigger1 = NumExplod(1)
ID = 1
scale = (0.25 + (0.015625 * Time)) * 0.8, (0.25 + (0.015625 * Time)) * 0.8
trans = AddAlpha
alpha = 256 - (16 * Time), 256

[State 8018, Streaks Explod]
type = Explod
triggerAll = (Root,StateNo=3501)
trigger1 = !Time
anim = 8062
ID = 2
posType = P1
facing = ifElse(Random < 500, -1, 1)
vFacing = ifElse(Random < 500, -1, 1)
sprPriority = 5
removeTime = 16
pauseMoveTime = -1
superMoveTime = -1
onTop = 1

[State 8018, Scale Streaks Explod]
type = ModifyExplod
trigger1 = NumExplod(2)
ID = 2
scale = (0.25 + (0.015625 * Time))* 0.8, (0.25 + (0.015625 * Time))* 0.8
trans = AddAlpha
alpha = 256 - (16 * Time), 256

[State 8018, P2 Back Explod]
type = Explod
triggerAll = (Root,StateNo=3501)
trigger1 = !Time
anim = 8063
ID = 3
posType = P1
facing = ifElse(Random < 500, -1, 1)
vFacing = ifElse(Random < 500, -1, 1)
sprPriority = -3
removeTime = 8
pauseMoveTime = -1
superMoveTime = -1
onTop = 1

[State 8018, Scale P2 Back Explod]
type = ModifyExplod
trigger1 = NumExplod(3)
ID = 3
scale = (0.5)* 0.8,(0.5) * 0.8
trans = AddAlpha
alpha = 256 - (32 * Time), 256

[State 8018, Impact Explod]
type = Explod
triggerAll = (Root,StateNo=3501)
trigger1 = !Time
anim = 8014
ID = 4
posType = P1
facing = ifElse(Random < 500, -1, 1)
vFacing = ifElse(Random < 500, -1, 1)
sprPriority = 3
removeTime = 8
pauseMoveTime = -1
superMoveTime = -1
onTop = 1

[State 8018, Scale Impact Explod]
type = ModifyExplod
trigger1 = NumExplod(4)
ID = 4
scale = (0.5 - (0.0625 * Time))* 0.8, (0.5 - (0.0625 * Time))* 0.8
trans = AddAlpha
alpha = 256 - (32 * Time),256

[State 8018, Remove Explods]
type = RemoveExplod
trigger1 = Time >= 16

[State 8018, End]
type = DestroySelf
trigger1 = Time >= 16


;Reversal Spark
[StateDef 8020]
type = A
physics = N
moveType = I
anim = 8020
velSet = 0,0
sprPriority = 5

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

[State 8020, Scale]
type = AngleDraw
trigger1 = 1
scale = (0.25 + (0.09375 * Time)) * 0.35, (0.25 + (0.09375 * Time)) * 0.35
;^ 0.8 original scale
ignoreHitPause = 1

[State 8020, Transparency]
type = Trans
trigger1 = Time < 4
trans = AddAlpha
alpha = 256, 256
ignoreHitPause = 1

[State 8020, Transparency]
type = Trans
trigger1 = Time >= 4
trans = AddAlpha
alpha = 256 - 64 * (Time - 4), 256
ignoreHitPause = 1

[State 8020, End]
type = DestroySelf
trigger1 = Time >= 8

;======================<JUMP DUST>===========================
[StateDef 8100]
type = S
anim = 1
velSet = 0,0

[State 8100, Bind]
type = BindToRoot
trigger1 = Time

[State 8100, Floor Dust]
type = Explod
trigger1 = !Time
anim = 8100
sprPriority = 3
posType = P1
pos = 0, ceil(pos y)
scale = 0.5,0.5
pauseMoveTime = -1
superMoveTime = -1
ownpal = 1

[State 8100, Player Dust]
type = Explod
trigger1 = !Time || Time = 2 || Time = 6
anim = 8101
sprPriority = 3
posType = P1
scale = 0.5,0.5
pauseMoveTime = -1
superMoveTime = -1
ownpal = 1

[State 8100, End]
type = DestroySelf
trigger1 = Time >= 7

;======================<DASH DUST>===========================
[StateDef 8103]
type = A
anim = 1
velSet = 0,0
sprPriority = 5

[State 8103, posSet]
type = PosSet
trigger1 = !Time = 0
y = 0

[State 8103, Dash Dust]
type = Explod
trigger1 = Time = 0 || Time = 3 || Time = 6
anim = 8103
ID = ifElse((Time = 6), 3, ifElse((Time = 3), 2, 1))
posType = P1
pos = 0,-4
random = 8,8
vel = -3 - (Random / 1000.0), -2 - (Random / 2000.0)
facing = ifElse(Random < 500,-1,1)
vFacing = ifElse(Random < 500,-1,1)
removeTime = 16
sprPriority = 3
pauseMoveTime = -1
superMoveTime = -1

[State 8103, Scale Explod 1]
type = ModifyExplod
trigger1 = NumExplod(1)
ID = 1
scale = 0.1 + (0.025 * Time), 0.1 + (0.025 * Time)
trans = AddAlpha
alpha = 256 - (16 * Time), 256

[State 8103, Scale Explod 2]
type = ModifyExplod
trigger1 = NumExplod(2)
ID = 2
scale = 0.1 + (0.025 * (Time - 3)), 0.1 + (0.025 * (Time - 3))
trans = AddAlpha
alpha = 256 - (16 * (Time - 3)), 256

[State 8103, Scale Explod 3]
type = ModifyExplod
trigger1 = NumExplod(3)
ID = 3
scale = 0.1 + (0.025 * (Time - 6)), 0.1 + (0.025 * (Time - 6))
trans = AddAlpha
alpha = 256 - (16 * (Time - 6)), 256

[State 8103, Remove Explods]
type = RemoveExplod
trigger1 = Time >= 22

[State 8103, End]
type = DestroySelf
trigger1 = !NumExplod

;======================<IMPACT DUST>===========================
[StateDef 8110]
type = A
anim = 1
velSet = 0,0
sprPriority = 5

[State 8110, Impact Dust Explod 1]
type = Explod
trigger1 = !Time
anim = 8110
ID = ifElse(Time = 8, 3, ifElse(Time = 4, 2, 1))
posType = P1
removeTime = 8
sprPriority = -4
pauseMoveTime = -1
superMoveTime = -1

[State 8110, Impact Dust Explod 2]
type = Explod
trigger1 = !Time
anim = 8120
ID = 2
posType = P1
removeTime = 8
sprPriority = -4
pauseMoveTime = -1
superMoveTime = -1

[State 8110, Scale]
type = ModifyExplod
trigger1 = 1
scale = 0.25 + (0.03125 * Time), 0.25 + (0.03125 * Time)
trans = AddAlpha
alpha = ifElse(Time < 4, 256, 256 - (64 * (Time - 4))), 256

[State 8110, Remove Explods]
type = RemoveExplod
trigger1 = Time >= 8

[State 8110, End]
type = DestroySelf
trigger1 = !NumExplod

;======================<WALL IMPACT DUST>===========================
[StateDef 8111]
type = A
anim = 1
velSet = 0,0
sprPriority = 5

[State 8111, Impact Dust Explod 1]
type = Explod
trigger1 = !Time
anim = 8111
ID = ifElse(Time = 8, 3, ifElse(Time = 4, 2, 1))
posType = P1
removeTime = 8
sprPriority = -4
pauseMoveTime = -1
superMoveTime = -1

[State 8111, Impact Dust Explod 2]
type = Explod
trigger1 = !Time
anim = 8121
ID = 2
posType = P1
removeTime = 8
sprPriority = -4
pauseMoveTime = -1
superMoveTime = -1

[State 8111, Scale]
type = ModifyExplod
trigger1 = 1
scale = 0.25 + (0.03125 * Time), 0.25 + (0.03125 * Time)
trans = AddAlpha
alpha = ifElse(Time < 4, 256, 256 - (64 * (Time - 4))), 256

[State 8111, Remove Explods]
type = RemoveExplod
trigger1 = Time >= 8

[State 8111, End]
type = DestroySelf
trigger1 = !NumExplod

;========================<SHOCK FX>=============================
[Statedef 8150]
type = A
velset = 0,0
anim = 1

[State 8150, Player]
type = VarSet
trigger1 = !Time
var(0) = Parent, var(40)

[State 8150, PosSet]
type = PosSet
trigger1 = PlayerIDexist(var(0))
x = ceil(PlayerID(var(0)), pos x)
y = ceil(PlayerID(var(0)), pos y) + (PlayerID(var(0)), const(size.mid.pos.y))

[State 8150, PosSet(Laying Down)]
type = PosSet
trigger1 = PlayerIDexist(var(0))
trigger1 = PlayerID(var(0)), StateType = L
x = ceil(PlayerID(var(0)), pos x)
y = ceil(PlayerID(var(0)), pos y) - 20

[State 8150, Facing]
type = Turn
trigger1 = PlayerIDexist(var(0))
trigger1 = Facing != (PlayerID(var(0)), Facing)

[State 8150, Shock]
type = Explod
trigger1 = PlayerIDexist(var(0))
anim = 8150
sprpriority = 3
postype = p1
random = 40, 40
facing = ifelse(random < 500, -1, 1)
vfacing = ifelse(random < 500, -1, 1)
;bindtime = -1
scale = 0.15, 0.15
ownpal = 1

[State 8150, End]
type = DestroySelf
trigger1 = Time >= 600
trigger2 = !PlayerIDexist(var(0))

[State 8150, End]
type = DestroySelf
triggerall = PlayerIDexist(var(0))
trigger1 = PlayerID(var(0)), Ctrl
trigger2 = PlayerID(var(0)), MoveType != H || PlayerID(var(0)), StateNo = 5300
trigger3 = PlayerID(var(0)), StateType = L && (PlayerID(var(0)), StateNo != [5080,5081])

;========================<RECOVER FX>=============================
[StateDef 8200]
type = A
velSet = 0,0
anim = 8200
sprPriority = 5

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

[State 8200, Scale]
type = AngleDraw
trigger1 = 1
scale = 0.25 + (0.017 * Time), 0.25 + (0.017 * Time)

[State 8200, Transparency]
type = Trans
trigger1 = 1
trans = AddAlpha
alpha = ceil(256 - 17.1 * Time), 256

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

;========================<COUNTER FX>=============================
[StateDef 8290]
type = A
physics = N
velSet = 0,0
anim = 1

[State 8290, "Counter!" Text Explod]
type = Explod
trigger1 = !NumExplod(8290)
anim = 8290
ID = 8290
sprPriority = 64
posType = P1
facing = Facing
removeTime = 32
pauseMoveTime = -1
superMoveTime = -1
ownPal = 1

[State 8290, Scale]
type = ModifyExplod
trigger1 = Time < 8
ID = 8290
scale = 0.5, .5
trans = AddAlpha
alpha = 256,0

[State 8290, Scale]
type = ModifyExplod
trigger1 = Time >= 8
ID = 8290
scale = 0.5 + 0.0625 * (Time - 8), 0.5 + 0.0625 * (Time - 8)
trans = AddAlpha
alpha = 256 - 32 * (Time - 8), 32 * (Time - 8)

[State 8290, Safety]
type = RemoveExplod
trigger1 = Time >= 16

[State 8290, End]
type = DestroySelf
trigger1 = Time >= 16

;========================<MAX MODE TEXT FX>=============================
[StateDef 8291]
type = A
physics = N
velSet = 0,0
anim = 1

[State 8291, "Power Up!" Text Explod]
type = Explod
trigger1 = !NumExplod(8291)
anim = 8291
ID = 8291
sprPriority = 64
posType = P1
facing = Facing
removeTime = 32
pauseMoveTime = -1
superMoveTime = -1
ownPal = 1

[State 8291, Scale]
type = ModifyExplod
trigger1 = Time < 8
ID = 8291
scale = 0.5, .5
trans = AddAlpha
alpha = 256,0

[State 8291, Scale]
type = ModifyExplod
trigger1 = Time >= 8
ID = 8291
scale = 0.5 + 0.0625 * (Time - 8), 0.5 + 0.0625 * (Time - 8)
trans = AddAlpha
alpha = 256 - 32 * (Time - 8), 32 * (Time - 8)

[State 8291, Safety]
type = RemoveExplod
trigger1 = Time >= 16

[State 8291, End]
type = DestroySelf
trigger1 = Time >= 16

;==================<POWER CHARGE FX(Phantom Style)>==================
;Aura and Dust
[StateDef 8330]
type = A
physics = N
moveType = I
anim = 1
ctrl = 0
velset = 0,0

[State 8330, BindToRoot]
type = BindToRoot
trigger1 = (Root, StateNo = 730)
pos = 0,2;values to adjust for aura alignment

[State 8330, Charging Sound]
type = PlaySnd
trigger1 = !Time
value = 730,0
channel = 0

[State 8330, Power Charge Aura]
type = Explod
trigger1 = !NumExplod(8330)
ID = 8330
anim = 8330
sprPriority = 3
posType = P1
bindTime = -1
removeTime = -1
scale = 0.5,0.5
pauseMoveTime = -1
superMoveTime = -1
ownPal = 1

[State 8330, Power Charge Dust]
type = Explod
trigger1 = !(Time % 6)
anim = 8105
sprPriority = -3
posType = P1
pos = 0, -ceil(pos y)
scale = 0.5,0.5
pauseMoveTime = -1
superMoveTime = -1
ownPal = 1

[State 8330, Modify Aura 1]
type = ModifyExplod
trigger1 = Numexplod(8330) && Root, Power < 3000
ID = 8330
scale = 0.5, 0.1 + 0.4 * (Root, Power / 3000.0)

[State 8330, Modify Aura 2]
type = ModifyExplod
trigger1 = NumExplod(8330) && Root, Power >= 3000
ID = 8330
scale = 0.5, 0.5

[State 8330, StopSnd]
type = StopSnd
trigger1 = Root, StateNo != 730
channel = 0

[State 8330, RemoveExplod]
type = RemoveExplod
trigger1 = Root, StateNo != 730

[State 8330, End]
type = DestroySelf
trigger1 = Root, StateNo != 730


;Particles
[StateDef 8331]
type = A
physics = N
moveType = I
anim = 1
ctrl = 0
velSet = 0,0

[State 8331, BindToRoot]
type = BindToRoot
trigger1 = !(Time % 8)
pos = ceil(-151 + (Random / 3.125)), ceil(98 - (Random / 3.125))

[State 8331, Particle]
type = Explod
trigger1 = (Time % 8) = 1
anim = 8331
sprPriority = ifElse(Random < 750, 5, -1)
posType = P1
vel = ((RootDist x - 2) / 32.0), ((RootDist y - 63) / 32.0);values to adjust for particle alignment
scale = ifElse(Random < 500, 0.5, -0.5), ifElse(Random < 500, 0.5, -0.5)
pauseMoveTime = -1
superMoveTime = -1
ownpal = 1

[State 8331, RemoveExplod]
type = RemoveExplod
trigger1 = Root, StateNo != 730

[State 8331, End]
type = DestroySelf
trigger1 = Root, StateNo != 730

;==================<POWER CHARGE FX(Divine Style)>==================
;Aura and Dust
[StateDef 8340]
type = A
physics = N
moveType = I
anim = 1
ctrl = 0
velset = 0,0

[State 8340, BindToRoot]
type = BindToRoot
trigger1 = (Root, StateNo = 730)
pos = 1,-1;values to adjust for aura alignment

[State 8340, Charging Sound]
type = PlaySnd
trigger1 = !Time
value = 731,0
channel = 0

[State 8340, Power Charge Aura(Front)]
type = Explod
trigger1 = !NumExplod(8340)
ID = 8340
anim = 8340
sprPriority = 3
posType = P1
bindTime = -1
removeTime = -1
scale = 0.5,0.5 ;may wanna adjust based on char size
pauseMoveTime = -1
superMoveTime = -1
ownPal = 1

[State 8340, Power Charge Aura(Back)]
type = Explod
trigger1 = !NumExplod(8341)
ID = 8341
anim = 8340
sprPriority = -1
posType = P1
bindTime = -1
removeTime = -1
scale = 0.5,0.5 ;may wanna adjust based on char size
pauseMoveTime = -1
superMoveTime = -1
ownPal = 1

[State 8340, Power Charge Dust]
type = Explod
trigger1 = !(Time % 6)
anim = 8105
sprPriority = -3
posType = P1
pos = 0, -ceil(pos y)
scale = 0.5,0.5
pauseMoveTime = -1
superMoveTime = -1
ownPal = 1

[State 8340, StopSnd]
type = StopSnd
trigger1 = Root, StateNo != 730
channel = 0

[State 8340, RemoveExplod]
type = RemoveExplod
trigger1 = Root, StateNo != 730

[State 8340, End]
type = DestroySelf
trigger1 = Root, StateNo != 730


;Stardust
[StateDef 8341]
type = A
physics = N
moveType = I
anim = 1
ctrl = 0
velSet = 0,0

[State 8341, BindToRoot]
type = BindToRoot
trigger1 = (Root, StateNo = 730)
pos = Const(size.mid.pos.x),Const(size.mid.pos.y) 

[State 8341, Stardust]
type = Explod
trigger1 = !(Time%8)
anim = 8341
sprpriority = ifElse(Random < 750, 5, -1)
postype = p1
random = 80,80;depending on the char size, you may wanna adjust this
vel = 0,-0.485
facing = IfElse(Random<500, -1, 1)
vfacing = IfElse(Random<500, -1, 1)
scale = 0.5,0.5
pauseMoveTime = -1
superMoveTime = -1
ownpal = 1

[State 8341, RemoveExplod]
type = RemoveExplod
trigger1 = Root, StateNo != 730

[State 8341, End]
type = DestroySelf
trigger1 = Root, StateNo != 730

;==================<ALPHA COUNTER FX>==================
[StateDef 8350]
type = A
physics = N
moveType = I
anim = 1
ctrl = 0
velSet = 0,0

[State 8350, bgPalFX]
type = bgPalFX
trigger1 = 1
time = 1
color = 16 * Time
mul = 16 * Time, 16 * Time, 16 * Time

[State 8350, Circle Explod]
type = Explod
trigger1 = !Time
anim = 8350
ID = 1
sprPriority = 3
posType = P1
removeTime = 16
superMoveTime = -1
ownPal = 1

[State 8350, Scale]
type = ModifyExplod
trigger1 = NumExplod(1)
ID = 1
scale = (0.0625 * Time), (0.0625 * Time)
trans = AddAlpha
alpha = 256 - (16 * Time), 256

[State 8350, Lightning Explod]
type = Explod
trigger1 = !Time
anim = 8351
ID = 2
sprPriority = -2
posType = P1
pos = 0, -ceil(pos y)
superMoveTime = -1
ownPal = 1

[State 8350, End]
type = DestroySelf
trigger1 = Time >= 16

;========================<SUPER PAUSE FX>=============================
;Level 1 Super FX
[StateDef 8500]
type = A
velSet = 0,0
anim = 8500
sprPriority = 5

[State 8500, Bind]
type = varset
trigger1 = !Time
fvar(24) = -rootdist x

[State 8500, Bind]
type = varset
trigger1 = !Time
fvar(25) = -rootdist y

[State 8500, Bind]
type = bindtoroot
trigger1 = 1
pos = fvar(24), fvar(25)

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

[State 8500, BGpalFX]
type = BGpalFX
trigger1 = Time < 39
time = 1
color = 0
mul = 0,0,256

[State 8500, Rotate]
type = AngleSet
trigger1 = !Time
value = 6 * (Random % 60)

[State 8500, Rotate]
type = AngleAdd
trigger1 = 1
value = -6

[State 8500, Scale]
type = AngleDraw
trigger1 = Time < 16
scale = (0.03125 * Time), (0.03125 * Time)

[State 8500, Scale]
type = AngleDraw
trigger1 = Time >= 16
scale = 0.5,0.5

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

[State 8500, Lines Explod]
type = Explod
trigger1 = Time = 0 || Time = 8 || Time = 16 || Time = 24
anim = 8501
ID = ifElse(Time = 24, 4, ifElse(Time = 16, 3, ifElse(Time = 8, 2, 1)))
sprPriority = 5
posType = P1
facing = ifElse(Random < 500, -1, 1)
vFacing = ifElse(Random < 500, -1, 1)
removeTime = 16
superMoveTime = -1

[State 8500, Scale Lines Explod 1]
type = ModifyExplod
trigger1 = NumExplod(1)
ID = 1
scale = 1 - (0.0625 * Time), 1 - (0.0625 * Time)
trans = AddAlpha
alpha = ifElse(Time < 4, 64 * Time, 256), 256

[State 8500, Scale Lines Explod 2]
type = ModifyExplod
trigger1 = NumExplod(2)
ID = 2
scale = 1 - (0.0625 * (Time - 8)), 1 - (0.0625 * (Time - 8))
trans = AddAlpha
alpha = ifElse((Time - 8) < 4, 64 * (Time - 8), 256), 256

[State 8500, Scale Lines Explod 3]
type = ModifyExplod
trigger1 = NumExplod(3)
ID = 3
scale = 1 - (0.0625 * (Time - 16)), 1 - (0.0625 * (Time - 16))
trans = AddAlpha
alpha = ifElse((Time - 16) < 4, 64 * (Time - 16), 256), 256

[State 8500, Scale Lines Explod 3]
type = ModifyExplod
trigger1 = NumExplod(4)
ID = 4
scale = 1 - (0.0625 * (Time - 24)), 1 - (0.0625 * (Time - 24))
trans = AddAlpha
alpha = ifElse((Time - 24) < 4, 64 * (Time - 24), 256), 256

[State 8500, Circle Explod]
type = Explod
trigger1 = Time = 24
anim = 8502
ID = 10
sprPriority = 5
posType = P1
facing = ifElse(Random < 500, -1, 1)
vFacing = ifElse(Random < 500, -1, 1)
removeTime = 32
superMoveTime = -1

[State 8500, Scale Circle Explod]
type = ModifyExplod
trigger1 = NumExplod(10)
ID = 10
scale = 2 - (0.125 * (Time - 24)), 2 - (0.125 * (Time - 24))
trans = AddAlpha
alpha = ifElse((Time - 24) < 4, 64 * (Time - 24), 256), 256

[State 8500, Remove Explods]
type = RemoveExplod
trigger1 = Time >= 40

[State 8500, End]
type = DestroySelf
trigger1 = Time >= 40


;Level 2 Super FX
[StateDef 8510]
type = A
velSet = 0,0
anim = 8510
sprPriority = 5

[State 8510, Bind]
type = varset
trigger1 = !Time
fvar(24) = -rootdist x

[State 8510, Bind]
type = varset
trigger1 = !Time
fvar(25) = -rootdist y

[State 8510, Bind]
type = bindtoroot
trigger1 = 1
pos = fvar(24), fvar(25)

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

[State 8510, BGpalFX]
type = BGpalFX
trigger1 = Time < 39
time = 1
color = 0
mul = 192,0,256

[State 8510, Rotate]
type = AngleSet
trigger1 = !Time
value =6 * (Random % 60)

[State 8510, Rotate]
type = AngleAdd
trigger1 = 1
value = -6

[State 8510, Scale]
type = AngleDraw
trigger1 = Time < 16
scale = (0.03125 * Time), (0.03125 * Time)

[State 8510, Scale]
type = AngleDraw
trigger1 = Time >= 16
scale = 0.5, 0.5

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

[State 8510, Lines Explod]
type = Explod
trigger1 = Time = 0 || Time = 8 || Time = 16 || Time = 24
anim = 8511
ID = ifElse(Time = 24, 4, ifElse(Time = 16, 3, ifElse(Time = 8, 2, 1)))
sprPriority = 5
posType = P1
facing = ifElse(Random < 500, -1, 1)
vFacing = ifElse(Random < 500, -1, 1)
removeTime = 16
superMoveTime = -1

[State 8510, Scale Lines Explod 1]
type = ModifyExplod
trigger1 = NumExplod(1)
ID = 1
scale = 1 - (0.0625 * Time), 1 - (0.0625 * Time)
trans = AddAlpha
alpha = ifElse(Time < 4, 64 * Time, 256), 256

[State 8510, Scale Lines Explod 2]
type = ModifyExplod
trigger1 = NumExplod(2)
ID = 2
scale = 1 - (0.0625 * (Time - 8)), 1 - (0.0625 * (Time - 8))
trans = AddAlpha
alpha = ifElse((Time - 8) < 4, 64 * (Time - 8), 256), 256

[State 8510, Scale Lines Explod 3]
type = ModifyExplod
trigger1 = NumExplod(3)
ID = 3
scale = 1 - (0.0625 * (Time - 16)), 1 - (0.0625 * (Time - 16))
trans = AddAlpha
alpha = ifElse((Time - 16) < 4, 64 * (Time - 16), 256), 256

[State 8510, Scale Lines Explod 4]
type = ModifyExplod
trigger1 = NumExplod(4)
ID = 4
scale = 1 -(0.0625 * (Time - 24)), 1 - (0.0625 * (Time - 24))
trans = AddAlpha
alpha = ifElse((Time - 24) < 4, 64 * (Time - 24), 256), 256

[State 8510, Circle Explod]
type = Explod
trigger1 = Time = 24
anim = 8512
ID = 10
sprPriority = 5
posType = P1
facing = ifElse(Random < 500,-1,1)
vFacing = ifElse(Random < 500,-1,1)
removeTime = 32
superMoveTime = -1

[State 8510, Scale]
type = ModifyExplod
trigger1 = NumExplod(10)
ID = 10
scale = 2 - (0.125 * (Time - 24)), 2 - (0.125 * (Time - 24))
trans = AddAlpha
alpha = ifElse((Time - 24)<4, 64 * (Time - 24), 256), 256

[State 8510, Remove Explods]
type = RemoveExplod
trigger1 = Time >= 40

[State 8510, End]
type = DestroySelf
trigger1 = Time >= 40


;Level 3 Super FX
[StateDef 8520]
type = A
velset = 0,0
anim = 8520
sprPriority = 5

[State 8520, Bind]
type = varset
trigger1 = !Time
fvar(24) = -rootdist x

[State 8520, Bind]
type = varset
trigger1 = !Time
fvar(25) = -rootdist y

[State 8520, Bind]
type = bindtoroot
trigger1 = 1
pos = fvar(24), fvar(25)

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

[State 8520, Assert: NoBarDisplay, NoBG, NoFG]
type = AssertSpecial
trigger1 = Time < 40
flag = NoBarDisplay
flag2 = NoBG
flag3 = NoFG

[State 8520, Rotate]
type = AngleSet
trigger1 = !Time
value = 6 * (Random % 60)

[State 8520, Rotate]
type = AngleAdd
trigger1 = 1
value = -6

[State 8520, Scale]
type = AngleDraw
trigger1 = Time < 16
scale = (0.03125 * Time), (0.03125 * Time)

[State 8520, Scale]
type = AngleDraw
trigger1 = Time >= 16
scale = 0.5, 0.5

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

[State 8520, Portrait 1]
type = Explod
trigger1 = !Time
anim = 8525
ID = 20
sprPriority = -16
posType = Back
removeTime = 40
superMoveTime = -1

[State 8520, Portrait 2]
type = Explod
trigger1 = !Time
anim = 8525
ID=21
sprPriority = -16
posType = Back
removeTime = 40
superMoveTime = -1

[State 8520, Scale Portrait 1a]
type = ModifyExplod
trigger1 = NumExplod(20) && Time < 16
ID = 20
posType = Back
pos = 160, 120
scale = 1 - (0.03125 * Time), 1 - (0.03125 * Time)
trans = AddAlpha
alpha = (8 * Time), 256

[State 8520, Scale Portrait 2a]
type = ModifyExplod
trigger1 = NumExplod(21) && Time < 16
ID = 21
posType = Back
pos = 160, 120
scale = 2 - (0.09375 * Time), 2 - (0.09375 * Time)
trans = AddAlpha
alpha = (8 * Time), 256

[State 8520, Scale Portrait 1b]
type = ModifyExplod
trigger1 = NumExplod(20) && (Time = [16,32])
ID = 20
posType = Back
pos = 160, 120
scale = 0.5, 0.5
trans = AddAlpha
alpha = 256, 256

[State 8520, Scale Portrait 2b]
type = ModifyExplod
trigger1 = NumExplod(21) && (Time = [16,32])
ID = 21
scale = 0,0

[State 8520, Scale Portrait 1c]
type = ModifyExplod
trigger1 = NumExplod(20) && Time >= 32
ID = 20
posType = Back
pos = 160 + (8 * (Time - 32)), 120
scale = 0.5, 0.5
trans = AddAlpha
alpha = 128 - 16 * (Time - 32), 256

[State 8520, Scale Portrait 2c]
type = ModifyExplod
trigger1 = NumExplod(21) && Time >= 32
ID = 21
posType = Back
pos = 160 - (8 * (Time - 32)), 120
scale = 0.5, 0.5
trans = AddAlpha
alpha = 128 - 16 * (Time - 32), 256

[State 8520, Lines Explod]
type = explod
trigger1 = Time = 0 || Time = 8 || Time = 16 || Time = 24
anim = 8521
ID = ifElse(Time = 24, 4, ifElse(Time = 16, 3, ifElse(Time = 8, 2, 1)))
sprPriority = 5
posType = P1
facing = ifElse(Random < 500, -1, 1)
vFacing = ifElse(Random < 500, -1, 1)
removeTime = 16
superMoveTime = -1

[State 8520, Scale Lines Explod 1]
type = ModifyExplod
trigger1 = NumExplod(1)
ID = 1
scale = 1 - (0.0625 * Time), 1 - (0.0625 * Time)
trans = AddAlpha
alpha = ifElse(Time < 4, 64 * Time, 256), 256

[State 8520, Scale Lines Explod 2]
type = ModifyExplod
trigger1 = NumExplod(2)
ID = 2
scale = 1-(0.0625 * (Time - 8)), 1 - (0.0625 * (Time - 8))
trans = AddAlpha
alpha = ifElse((Time - 8) < 4, 64 * (Time - 8), 256), 256

[State 8520, Scale Lines Explod 3]
type = ModifyExplod
trigger1 = NumExplod(3)
ID = 3
scale = 1 - (0.0625 * (Time - 16)), 1 - (0.0625 * (Time - 16))
trans = AddAlpha
alpha = ifElse((Time - 16) < 4, 64 * (Time - 16), 256), 256

[State 8520, Scale Lines Explod 4]
type = ModifyExplod
trigger1 = NumExplod(4)
ID = 4
scale = 1 - (0.0625 * (Time - 24)), 1 - (0.0625 * (Time - 24))
trans = AddAlpha
alpha = ifElse((Time - 24) < 4, 64 * (Time - 24), 256), 256

[State 8520, Circle Explod]
type = Explod
trigger1 = Time = 24
anim = 8522
ID = 10
sprPriority = 5
posType = P1
facing = ifElse(Random < 500, -1 ,1)
vFacing = ifElse(Random < 500, -1, 1)
removeTime = 32
superMoveTime = -1

[State 8520, Scale Circle Explod]
type = ModifyExplod
trigger1 = NumExplod(10)
ID = 10
scale = 2 - (0.125 * (Time - 24)), 2 - (0.125 * (Time - 24))
trans = AddAlpha
alpha = ifElse((Time - 24) < 4, 64 * (Time - 24), 256), 256

[State 8520, Remove Explods]
type = RemoveExplod
trigger1 = Time >= 40

[State 8520, End]
type = DestroySelf
trigger1 = Time >= 40

;========================<SUPER FINISH>=============================
[StateDef 8600]
type = A
velSet = 0,0
anim = 1

[State 8600, Super Finish Sound]
type = PlaySnd
trigger1 = !Time
value = 8600,0
channel = 0

[State 8600, BG PalFX]
type = BGpalFX
trigger1 = Time < 16
time = 1
mul = 0, 0, 0

[State 8600, BG PalFX]
type = BGpalFX
trigger1 = Time = [16,24)
time = 1
mul = 32 * (Time - 16), 32 * (Time - 16), 32 * (Time - 16)

;[State 8600, Move Name: Custom Combo]
;type = null;VarSet
;trigger1= !Time && Root, var(23) = 900
;var(0) = 1

[State 8600, Move Name: Super Cross Cutter]
type = VarSet
trigger1 = !Time && (Root, var(23) = [3000,3050])
var(0) = 2

[State 8600, Move Name: Super Lightning Upper]
type = VarSet
trigger1 = !Time && (Root, var(23) = [3100,3150])
var(0) = 3

[State 8600, Move Name: Super Shadow Cut Kick]
type = VarSet
trigger1 = !Time && (Root, var(23) = [3200,3260])
var(0) = 4

[State 8600, Move Name: Final Grade Remix]
type = VarSet
trigger1 = !Time && (Root, var(23) = [3300,3302])
var(0) = 5

[State 8600, Super Finish Explod]
type = Explod
trigger1 = !Time
anim = 8600
ID = 8600
ontop = 1
postype = Left
pos = 160,120
scale = 0.5, 0.5
bindTime = -1
removeTime = 32
pauseMoveTime = -1
superMoveTime = -1

[State 8600, Super Finish Explod Fade]
type = ModifyExplod
trigger1 = NumExplod(8600)
ID = 8600
trans = AddAlpha
alpha = ifElse(Time < 16, 256, 256 - 32 * (Time - 16)), 256

[State 8600, Text 1]
type = Explod
trigger1 = !Time && var(0)
anim = 8610 + var(0)
ID = 10
onTop = 1
posType = Left
pos = 160,120
scale = 0.5,0.5
bindTime = -1
removeTime = 32
pauseMoveTime = -1
superMoveTime = -1

[State 8600, Text 2]
type = Explod
trigger1 = !Time && var(0)
anim = 8610 + var(0)
ID = 11
onTop = 1
posType = left
pos = 160,120
scale = 0.5,0.5
bindTime = -1
removeTime = 8
pauseMoveTime = -1
superMoveTime = -1

[State 8600, Text 1 Fade]
type = ModifyExplod
trigger1 = NumExplod(10)
ID = 10
trans = AddAlpha
alpha = ifElse(Time < 16, 256, 256 - 32 * (Time - 16)), ifElse(Time < 16, 0, 32 * (Time - 16))

[State 8600, Text 2 Fade]
type = ModifyExplod
trigger1 = NumExplod(11)
ID = 11
scale = 0.5 + (0.0625 * Time), 0.5 + (0.0625 * Time)
trans = AddAlpha
alpha = 256 - (32 * Time), 32 * Time

[State 8600, Circle Explod]
type = Explod
trigger1 = !Time
anim = 8601
ID = 8601
under = 1
posType = Left
pos = 160,120
bindTime = -1
removeTime = 16
pauseMoveTime = -1
superMoveTime = -1

[State 8600, Circle Fade]
type = ModifyExplod
trigger1 = NumExplod(8601)
ID = 8601
scale = (0.25 * Time), (0.25 * Time)
trans = AddAlpha
alpha = 256 - (16 * Time), 256

[State 8600, Assert: NoFG]
type = AssertSpecial
trigger1 = Time < 16
flag = NoFG

[State 8600, Assert: NoBarDisplay]
type = AssertSpecial
trigger1 = Time < 24
flag = NoBarDisplay

[State 8600, RemoveExplod]
type = RemoveExplod
trigger1 = Time >= 24
trigger2 = RoundState < 3

[State 8600, End]
type = DestroySelf
trigger1 = RoundState < 3

;========================<KO CAMERA FOCUS>=============================
[Statedef 8998]
type = S
physics  = N;S
anim = 0
ctrl = 0

[State 8998, Turn]
type = Turn
trigger1 = IsHelper(8998)
trigger1 = Facing!=Root,Facing
ignorehitpause = 1

[State 8998, VelSet]
type = VelSet
trigger1 = Parent,Pos x > 0
x = IfElse(Facing = 1,4,-4)

[State 8998, VelSet]
type = VelSet
trigger1 = Parent,Pos x < 0
x = IfElse(Facing = 1,-4,4)

[State 8998, VelSet]
type = VelSet
trigger1 = Parent,Pos x = [-5,5]
x = 0

[State 8998, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
flag2 = invisible
ignorehitpause = 1 
persistent = 1

[State 8998, Width]
type = Width
trigger1 = 1
value = 1,1

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

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

[State 8998, Push]
type = PlayerPush
trigger1 = 1
value = 0

[State 8998, DestroySelf]
type = DestroySelf
trigger1 = Time >= 50
trigger1 = Enemy,Life >= 1
trigger2 = NumHelper(8998)>1

;========================<CAMERA CONTROL>=============================
[StateDef 8999]
type = S
velSet = 0,0
anim = 1

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

[State 8999, End]
type = DestroySelf
trigger1 = RoundState = 2

;========================<CAMERA CONTROL(FGR)>=============================
[StateDef 9000]
type = S
velSet = 0,0
anim = 1

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

[State 9000, End]
type = DestroySelf
trigger1 = Root,StateNo != [3300,3302]