;=====================<SOUL FIST(NORMAL)>==========================
[StateDef 1000]
type = S
physics = S
moveType = A
anim = 1000
ctrl = 0
velset = 0,0
sprPriority = 1
poweradd = 84 * !var(20)
faceP2 = 1

[State 1000, Button Detect]
type = VarSet
trigger1 = !Time
var(10) = ifElse((helper(10371), var(0)) || (helper(10371), var(7)), 0, ifElse((helper(10371), var(1)) || (helper(10371), var(8)), 1, 2))

[State 1000, ChangeAnim]
type = ChangeAnim
trigger1 = !Time
value = ifelse(var(10)=2, 1002, ifelse(var(10)=1, 1001, 1000))

[State 1000, Voice]
type = PlaySnd
trigger1 = AnimElem = 2
value = 1000,0
channel = 0

[State 1000, Blast Snd]
type = PlaySnd
trigger1 = AnimElem = 6
value = 1000, 1
channel = 2

;[State 1000, Width: Edge]
;type = Width
;trigger1 = AnimElemTime(10) < 0
;edge = 0,5

[State 1000, Width: Player]
type = Width
trigger1 = AnimElemTime(6) = 0
player = 15,0

[State 1000, Projectile]
type = Helper
trigger1 = AnimElem = 6
helperType = Normal
stateNo = 1005
ID = 1010
name = "Soul Fist"
posType = P1
pos = 10,-56
size.xScale = 0.5
size.yScale = 0.5
keyctrl = 1
ownpal = 1
facing = 1
persistent = 0
ignorehitpause = 1

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

;=====================<SOUL FIST(ARRANGED)>==========================
[StateDef 1001]
type = S
physics = S
moveType = A
anim = 1000
ctrl = 0
velset = 0,0
sprPriority = 1
poweradd = 84 * !var(20)
faceP2 = 1

[State 1001, Button Detect]
type = VarSet
trigger1 = !Time
var(10) = ifElse((helper(10371), var(0)) || (helper(10371), var(7)), 0, ifElse((helper(10371), var(1)) || (helper(10371), var(8)), 1, 2))

[State 1001, ChangeAnim]
type = ChangeAnim
trigger1 = !Time
value = ifelse(var(10)=2, 1003, ifelse(var(10)=1, 1001, 1000))

[State 1001, Voice]
type = PlaySnd
trigger1 = AnimElem = 2
value = 1000,0
channel = 0

[State 1001, Blast Snd]
type = PlaySnd
trigger1 = AnimElem = 6
value = 1000, 1
channel = 2

;[State 1000, Width: Edge]
;type = Width
;trigger1 = AnimElemTime(10) < 0
;edge = 0,5

[State 1001, Width: Player]
type = Width
trigger1 = AnimElemTime(6) = 0
player = 15,0

[State 1001, Projectile]
type = Helper
trigger1 = var(10) < 2 
trigger1 = AnimElem = 6
helperType = Normal
stateNo = 1010
ID = 1010
name = "Soul Fist"
posType = P1
pos = 10,-56
size.xScale = 0.5
size.yScale = 0.5
keyctrl = 1
ownpal = 1
facing = 1
persistent = 0
ignorehitpause = 1

[State 1001, Projectile]
type = Helper
trigger1 = var(10) = 2 
trigger1 = AnimElem = 6
helperType = Normal
stateNo = 1010
ID = 1010
name = "Soul Fist"
posType = P1
pos = -5,-87
size.xScale = 0.5
size.yScale = 0.5
keyctrl = 1
ownpal = 1
facing = 1
persistent = 0
ignorehitpause = 1

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

;=====================<EX SOUL FIST>==========================
[StateDef 1030]
type = S
physics = S
moveType = A
anim = 1000
ctrl = 0
velset = 0,0
sprPriority = 1
poweradd = ifelse(var(20) > 0, 0, -500)
faceP2 = 1

[State 1030, MAX Timer Drain]
type = VarAdd
trigger1 = !Time
trigger1 = var(20) > 0
var(20) = -335

[State 1030, EX Sound]
type = PlaySnd
trigger1 = !Time
value = 0, ifelse(!fvar(31), 1000, 1001)

[State 1030, EX Flash]
type = VarSet
trigger1 = !Time
var(25) = 40

[State 1030, EX FX(Phantom)]
type = Explod
triggerall = !fvar(31)
trigger1 = !Time
anim = 8210
sprPriority = 3
posType = p1
pos = 3, -67
scale = 0.5, 0.5
pauseMoveTime = -1
superMoveTime = -1
ownPal = 1

[State 1030, EX FX 1(Divine)]
type = Explod
triggerall = fvar(31)
trigger1 = !Time
anim = 8220
sprpriority = 4
postype = p1
pos = -15, 0
bindtime = 1
facing = -1
scale = 0.5, 0.5;based on char size
pauseMoveTime = -1
superMoveTime = -1
ownpal = 1

[State 1030, EX FX 2(Divine)]
type = Explod
triggerall = fvar(31)
trigger1 = !Time
anim = 8221
sprpriority = -1
postype = p1
pos = -15, 0
bindtime = 1
facing = 1
scale = 0.5, 0.5;based on char size
pauseMoveTime = -1
superMoveTime = -1
ownpal = 1

[State 1030, Voice]
type = PlaySnd
trigger1 = AnimElem = 2
value = 1000,0
channel = 0

[State 1030, Blast Snd]
type = PlaySnd
trigger1 = AnimElem = 6
value = 1000, 1
channel = 2

;[State 1000, Width: Edge]
;type = Width
;trigger1 = AnimElemTime(10) < 0
;edge = 0,5

[State 1030, Width: Player]
type = Width
trigger1 = AnimElemTime(6) = 0
player = 15,0

[State 1030, Projectile]
type = Helper
trigger1 = AnimElem = 6
helperType = Normal
stateNo = 1020
ID = 1010
name = "Soul Fist"
posType = P1
pos = 10,-56
size.xScale = 0.5
size.yScale = 0.5
keyctrl = 1
ownpal = 1
facing = 1
persistent = 0
ignorehitpause = 1

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

;=====================<AIR SOUL FIST(NORMAL)>==========================
[StateDef 1100]
type = A
physics = N
moveType = A
anim = 1100
ctrl = 0
velset = 0,0
sprPriority = 1
poweradd = 84 * !var(20)
faceP2 = PrevStateNo=100 && p2dist x<0

[State 1100, Button Detect]
type = VarSet
trigger1 = !Time
var(10) = ifElse((helper(10371), var(0)) || (helper(10371), var(7)), 0, ifElse((helper(10371), var(1)) || (helper(10371), var(8)), 1, 2))

[State 1100, Voice]
type = PlaySnd
trigger1 = AnimElem = 4
value = 1000,0
channel = 0

[State 1100, Blast Snd]
type = PlaySnd
trigger1 = AnimElem = 6
value = 1000, 1
channel = 2

[State 1100, Width: Edge]
type = Width
trigger1 = 1
edge = 10,0

[State 1100, Width: Player]
type = Width
trigger1 = AnimElemTime(6) = 0
player = 15,0

[State 1100, Velocity]
type = VelSet
trigger1 = AnimElem = 6
x = -3
y = -6

[State 1100, Gravity]
type = VelAdd
trigger1 = AnimElemTime(6) >= 0
y = 0.42

[State 1100, Projectile]
type = Helper
trigger1 = AnimElem = 6
helperType = Normal
stateNo = 1105
ID = 1010
name = "Soul Fist"
posType = P1
pos = 44,-62
size.xScale = 0.5
size.yScale = 0.5
keyctrl = 1
ownpal = 1
facing = 1
persistent = 0
ignorehitpause = 1

[State 1100, End]
type = ChangeState
trigger1 = AnimElemTime(6) > 0;StateType = A
trigger1 = Vel Y > 0 && Pos Y >= 0
value = 1135

;=====================<AIR SOUL FIST(ARRANGED)>==========================
[StateDef 1101]
type = A
physics = N
moveType = A
anim = 1100
ctrl = 0
velset = 0,0
sprPriority = 1
poweradd = 84 * !var(20)
faceP2 = PrevStateNo=100 && p2dist x<0

[State 1101, Button Detect]
type = VarSet
trigger1 = !Time
var(10) = ifElse((helper(10371), var(0)) || (helper(10371), var(7)), 0, ifElse((helper(10371), var(1)) || (helper(10371), var(8)), 1, 2))

[State 1101, ChangeAnim]
type = ChangeAnim
trigger1 = !Time
value = ifelse(var(10)=2, 1101,1100)

[State 1101, Voice]
type = PlaySnd
trigger1 = AnimElem = 4
value = 1000,0
channel = 0

[State 1101, Blast Snd]
type = PlaySnd
trigger1 = AnimElem = 6
value = 1000, 1
channel = 2

[State 1101, Width: Edge]
type = Width
trigger1 = 1
edge = 10,0

[State 1101, Width: Player]
type = Width
trigger1 = AnimElemTime(6) = 0
player = 15,0

[State 1101, Velocity]
type = VelSet
trigger1 = AnimElem = 6
x = -3
y = -6

[State 1101, Gravity]
type = VelAdd
trigger1 = AnimElemTime(6) >= 0
y = 0.42

[State 1101, Projectile]
type = Helper
trigger1 = var(10) < 2 
trigger1 = AnimElem = 6
helperType = Normal
stateNo = 1110
ID = 1010
name = "Soul Fist"
posType = P1
pos = 44,-62
size.xScale = 0.5
size.yScale = 0.5
keyctrl = 1
ownpal = 1
facing = 1
persistent = 0
ignorehitpause = 1

[State 1101, Projectile]
type = Helper
trigger1 = var(10) = 2 
trigger1 = AnimElem = 6
helperType = Normal
stateNo = 1110
ID = 1010
name = "Soul Fist"
posType = P1
pos = 41,-78
size.xScale = 0.5
size.yScale = 0.5
keyctrl = 1
ownpal = 1
facing = 1
persistent = 0
ignorehitpause = 1

[State 1101, End]
type = ChangeState
trigger1 = AnimElemTime(6) > 0;StateType = A
trigger1 = Vel Y > 0 && Pos Y >= 0
value = 1135

;=====================<EX AIR SOUL FIST>==========================
[StateDef 1130]
type = A
physics = N
moveType = A
anim = 1130
ctrl = 0
velset = 0,0
sprPriority = 1
poweradd = ifelse(var(20) > 0, 0, -500)
faceP2 = PrevStateNo=100 && p2dist x<0

[State 1130, MAX Timer Drain]
type = VarAdd
trigger1 = !Time
trigger1 = var(20) > 0
var(20) = -335

[State 1130, EX Sound]
type = PlaySnd
trigger1 = !Time
value = 0, ifelse(!fvar(31), 1000, 1001)

[State 1130, EX Flash]
type = VarSet
trigger1 = !Time
var(25) = 50

[State 1130, EX FX(Phantom)]
type = Explod
triggerall = !fvar(31)
trigger1 = !Time
anim = 8210
sprPriority = 3
posType = p1
pos = 0, -61
scale = 0.5, 0.5
pauseMoveTime = -1
superMoveTime = -1
ownPal = 1

[State 1130, EX FX 1(Divine)]
type = Explod
triggerall = fvar(31)
trigger1 = !Time
anim = 8220
sprpriority = 4
postype = p1
pos = 0, 0
bindtime = 1
facing = -1
scale = 0.5, 0.5;based on char size
pauseMoveTime = -1
superMoveTime = -1
ownpal = 1

[State 1130, EX FX 2(Divine)]
type = Explod
triggerall = fvar(31)
trigger1 = !Time
anim = 8221
sprpriority = -1
postype = p1
pos = 0, 0
bindtime = 1
facing = 1
scale = 0.5, 0.5;based on char size
pauseMoveTime = -1
superMoveTime = -1
ownpal = 1

[State 1130, Voice]
type = PlaySnd
trigger1 = AnimElem = 4
value = 1000,0
channel = 0

[State 1130, Blast Snd]
type = PlaySnd
trigger1 = AnimElem = 6
value = 1000, 1
channel = 2

[State 1130, Width: Edge]
type = Width
trigger1 = 1
edge = 10,0

[State 1130, Width: Player]
type = Width
trigger1 = AnimElemTime(6) = 0
player = 15,0

[State 1130, Velocity]
type = VelSet
trigger1 = AnimElem = 6
x = -3
y = -6

[State 1130, Gravity]
type = VelAdd
trigger1 = AnimElemTime(6) >= 0
y = 0.42

[State 1130, Projectile]
type = Helper
trigger1 = AnimElem = 6
helperType = Normal
stateNo = 1120
ID = 1010
name = "Soul Fist"
posType = P1
pos = 44,-62
size.xScale = 0.5
size.yScale = 0.5
keyctrl = 1
ownpal = 1
facing = 1
persistent = 0
ignorehitpause = 1

[State 1130, End]
type = ChangeState
trigger1 = AnimElemTime(6) > 0
trigger1 = Vel Y > 0 && Pos Y >= 0
value = 1135

;Landing
[Statedef 1135]
type = S
movetype = I
physics = S
ctrl = 0
anim = 48
velset = 0, 0

[State 1135, On Ground]
type = Posset
trigger1 = !Time
Y = 0

[State 1135, Land Snd]
type = PlaySnd
trigger1 = Time = 1
value = 52,0

[State 1135, Landing Dust Explod]
type = Explod
trigger1 = !Time
anim = 8102
sprpriority = -3
postype = P1
scale = 0.5,0.5
pauseMoveTime = -1
superMoveTime = -1
ownPal = 1

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

;========================<SHADOW BLADE>=======================
[Statedef 1200]
type = S
movetype = A
physics = S
anim = 1200
ctrl = 0
velset = 0,0
poweradd = 80 * !var(20)
sprpriority = 2
facep2 = 1

[State 1200, Button Detect]
type = VarSet
trigger1 = !Time
var(10) = ifElse((helper(10371), var(0)) || (helper(10371), var(7)), 0, ifElse((helper(10371), var(1)) || (helper(10371), var(8)), 1, 2))

[State 1200, ChangeAnim]
type = ChangeAnim
trigger1 = !Time
value = ifelse(var(10)=2, 1220, ifelse(var(10)=1, 1210, 1200))

[State 1200, Width]
type = Width
trigger1 = 1
edge = 10,0

;[State 1100, Width]
;type = Width
;trigger1 = AnimElemTime(2) < 0
;player = 8,0

[State 1200, Voice]
type = PlaySnd
trigger1 = AnimElem = 2
value = 1100,0
channel = 0

[State 1200, Swing Snd]
type = PlaySnd
trigger1 = AnimElem = 2
value = 1, 2
channel = 2

[State 1200, Jump Snd]
type = PlaySnd
trigger1 = AnimElem = 4
value = 40,0
channel = 3

[State 1200, StateTypeSet: Air, No Phys]
type = StateTypeSet
trigger1 = AnimElem = 4
stateType = A
physics = N

[State 1200, Dust Helper]
type = Helper
trigger1 = AnimElem = 4
helperType = Normal
stateNo = 8100
ID = 8100
name = "Jump Dust"
posType = P1
ownPal = 1

[State 1200, Muteki]
type = Nothitby
trigger1 = AnimElemTime(3) < 0
time = 1
value = SCA

[State 1200, PosAdd]
type = PosAdd
trigger1 = !Time
x = 18

[State 1200, Rising Velocity]
type = VelSet
trigger1 = AnimElemTime(4) = 0
x = ifelse(var(10)=2,10, ifelse(var(10)=1, 8, 6))
y = ifelse(var(10)=2,-10.5, ifelse(var(10)=1, -8.5, -6.5))

[State 1200, VelStop]
type = VelSet
trigger1 = AnimElem = 6 && !var(10)
trigger2 = AnimElem = 10 && var(10)=1
trigger3 = AnimElem = 11 && var(10)=2
x = 0

[State 1200, Gravity/Friction]
type = VelAdd
trigger1 = AnimElemTime(4) > 0
x = ifElse(Vel X <= 0, 0, -.25)
y = .5

[State 1200, Hit]
type = HitDef
trigger1 = !var(16) && var(15) < 1
trigger1 = AnimElem = 2   
attr = S, SA
damage = ceil(ifElse(fvar(11) * ifElse(var(10) = 2, 119, ifElse(var(10), 112, 105)) < 7, 7, fvar(11) * ifElse(var(10) = 2, 119, ifElse(var(10), 112, 105)))), 7
priority = 4, hit
animtype = Hard
getpower = 75 * !var(20), 30 * !var(20)
givepower = 35, 35
guardflag = M
hitflag = MAF
hitsound = S2,10
guardsound = S130,0
pausetime = 12,12
guard.pausetime = 12,12
sparkNo = -1 + 0 * (var(33) := 8016)
guard.sparkNo = -1 + 0 * (var(34) := 8001)
sparkXY = -10 + 0 * (var(35) := 34), var(36) := -48
air.animtype = Back
fall.animtype = Back
ground.type = Low
air.type = Low
ground.slidetime = 18
ground.hittime  = 18
guard.hittime = 18
ground.velocity = -2, -9.5
air.velocity = -2,-9.5
guard.velocity = -10
;airguard.velocity = -6, -4
;airguard.ctrlTime = 16
ground.cornerPush.velOff = 0
guard.cornerPush.velOff = 0
air.cornerPush.velOff = 0
yaccel = .5
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 = 14
envshake.ampl = 4
envShake.freq = 120

[State 1200, Hit]
type = HitDef
trigger1 = !var(16) && var(15) < 1
trigger1 = !MoveContact && !MoveReversed
trigger1 = AnimElem = 3   
attr = S, SA
damage = ceil(ifElse(fvar(11) * ifElse(var(10) = 2, 119, ifElse(var(10), 112, 105)) < 7, 7, fvar(11) * ifElse(var(10) = 2, 119, ifElse(var(10), 112, 105)))), 7
priority = 4, hit
animtype = Hard
getpower = 75 * !var(20), 30 * !var(20)
givepower = 35, 35
guardflag = M
hitflag = MAF
hitsound = S2,10
guardsound = S130,0
pausetime = 12,12
guard.pausetime = 12,12
sparkNo = -1 + 0 * (var(33) := 8016)
guard.sparkNo = -1 + 0 * (var(34) := 8001)
sparkXY = -10 + 0 * (var(35) := 41), var(36) := -77
air.animtype = Back
fall.animtype = Back
ground.type = Low
air.type = Low
ground.slidetime = 18
ground.hittime  = 18
guard.hittime = 18
ground.velocity = -2, -9.5
air.velocity = -2,-9.5
guard.velocity = -10
;airguard.velocity = -6, -4
;airguard.ctrlTime = 16
ground.cornerPush.velOff = 0
guard.cornerPush.velOff = 0
air.cornerPush.velOff = 0
yaccel = .5
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 = 14
envshake.ampl = 4
envShake.freq = 120

[State 1200, Hit]
type = HitDef
trigger1 = !var(16) && var(15) < 1
trigger1 = !MoveContact && !MoveReversed
trigger1 = AnimElem = 4 
attr = A, SA
damage = ceil(ifElse(fvar(11) * ifElse(var(10) = 2, 77, ifElse(var(10), 70, 63)) < 7, 7, fvar(11) * ifElse(var(10) = 2, 77, ifElse(var(10), 70, 63)))), 7
priority = 4, hit
animtype = Hard
getpower = 75 * !var(20), 30 * !var(20)
givepower = 35, 35
guardflag = MA
hitflag = MAF
hitsound = S2,10
guardsound = S130,0
pausetime = 12,12
guard.pausetime = 12,12
sparkNo = -1 + 0 * (var(33) := 8016)
guard.sparkNo = -1 + 0 * (var(34) := 8001)
sparkXY = -10 + 0 * (var(35) := 9), var(36) := -132
air.animtype = Back
fall.animtype = Back
ground.type = High
air.type = Low
ground.slidetime = 18
ground.hittime  = 18
guard.hittime = 18
ground.velocity = -2, -9.5
air.velocity = -2,-9.5
guard.velocity = -8
airguard.velocity = -6, -4
airguard.ctrlTime = 16
ground.cornerPush.velOff = 0
guard.cornerPush.velOff = 0
air.cornerPush.velOff = 0
yaccel = .5
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 = 14
envshake.ampl = 4
envShake.freq = 120

[State 1200, StateTypeSet: Idle]
type = StateTypeSet
trigger1 = !var(10) && AnimElemTime(8) >= 0
trigger2 = var(10)=1 && AnimElemTime(10) >= 0
trigger3 = var(10)=2 && AnimElemTime(11) >= 0
moveType = I

[State 1200, End]
type = ChangeState
trigger1 = StateType = A
trigger1 = Vel Y > 0 && Pos Y >= 0
value = 1205

;Alpha Counter Version
[Statedef 1201]
type = S
movetype = A
physics = S
anim = 1201
ctrl = 0
velset = 0,0
poweradd = 0
sprpriority = 2
facep2 = 1

[State 1201, Width]
type = Width
trigger1 = 1
edge = 10,0

[State 1201, Voice]
type = PlaySnd
trigger1 = AnimElem = 2
value = 1100,0
channel = 0

[State 1201, Swing Snd]
type = PlaySnd
trigger1 = AnimElem = 2
value = 1, 2
channel = 2

[State 1201, Jump Snd]
type = PlaySnd
trigger1 = AnimElem = 4
value = 40,0
channel = 3

[State 1201, StateTypeSet: Air, No Phys]
type = StateTypeSet
trigger1 = AnimElem = 4
stateType = A
physics = N

[State 1201, Dust Helper]
type = Helper
trigger1 = AnimElem = 4
helperType = Normal
stateNo = 8100
ID = 8100
name = "Jump Dust"
posType = P1
ownPal = 1

[State 1201, Muteki]
type = Nothitby
trigger1 = AnimElemTime(3) < 0
time = 1
value = SCA

[State 1201, PosAdd]
type = PosAdd
trigger1 = !Time
x = 18

[State 1201, Rising Velocity]
type = VelSet
trigger1 = AnimElemTime(4) = 0
x = 6
y = -6.5

[State 1201, VelStop]
type = VelSet
trigger1 = AnimElem = 8
x = 0

[State 1201, Gravity/Friction]
type = VelAdd
trigger1 = AnimElemTime(4) > 0
x = ifElse(Vel X <= 0, 0, -.25)
y = .5

[State 1201, Hit]
type = HitDef
trigger1 = !var(16) && var(15) < 1
trigger1 = AnimElem = 2   
attr = S, SA
damage = ceil(ifElse(fvar(11) * 105 < 7, 7, fvar(11) * 105)), 7
priority = 6, hit
animtype = Diagup
getpower = 0, 0
givepower = 35, 35
guardflag = M
hitflag = MAF
hitsound = S2,10
guardsound = S130,0
pausetime = 12,12
guard.pausetime = 12,12
sparkNo = -1 + 0 * (var(33) := 8016)
guard.sparkNo = -1 + 0 * (var(34) := 8001)
sparkXY = -10 + 0 * (var(35) := 34), var(36) := -48
air.animtype = Diagup
fall.animtype = Diagup
ground.type = Low
air.type = Low
ground.slidetime = 18
ground.hittime  = 18
guard.hittime = 18
ground.velocity = -6, -8
air.velocity = -6,-8
guard.velocity = -10
;airguard.velocity = -6, -4
;airguard.ctrlTime = 16
ground.cornerPush.velOff = 0
guard.cornerPush.velOff = 0
air.cornerPush.velOff = 0
yaccel = .5
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 = 14
envshake.ampl = 4
envShake.freq = 120

[State 1201, Hit]
type = HitDef
trigger1 = !var(16) && var(15) < 1
trigger1 = !MoveContact && !MoveReversed
trigger1 = AnimElem = 3   
attr = S, SA
damage = ceil(ifElse(fvar(11) * 105 < 7, 7, fvar(11) * 105)), 7
priority = 6, hit
animtype = Diagup
getpower = 0, 0
givepower = 35, 35
guardflag = M
hitflag = MAF
hitsound = S2,10
guardsound = S130,0
pausetime = 12,12
guard.pausetime = 12,12
sparkNo = -1 + 0 * (var(33) := 8016)
guard.sparkNo = -1 + 0 * (var(34) := 8001)
sparkXY = -10 + 0 * (var(35) := 41), var(36) := -77
air.animtype = Diagup
fall.animtype = Diagup
ground.type = Low
air.type = Low
ground.slidetime = 18
ground.hittime  = 18
guard.hittime = 18
ground.velocity = -6, -8
air.velocity = -6,-8
guard.velocity = -10
;airguard.velocity = -6, -4
;airguard.ctrlTime = 16
ground.cornerPush.velOff = 0
guard.cornerPush.velOff = 0
air.cornerPush.velOff = 0
yaccel = .5
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 = 14
envshake.ampl = 4
envShake.freq = 120

[State 1201, Hit]
type = HitDef
trigger1 = !var(16) && var(15) < 1
trigger1 = !MoveContact && !MoveReversed
trigger1 = AnimElem = 4 
attr = A, SA
damage = ceil(ifElse(fvar(11) * 63 < 7, 7, fvar(11) * 63)), 7
priority = 6, hit
animtype = Diagup
getpower = 0, 0
givepower = 35, 35
guardflag = MA
hitflag = MAF
hitsound = S2,10
guardsound = S130,0
pausetime = 12,12
guard.pausetime = 12,12
sparkNo = -1 + 0 * (var(33) := 8016)
guard.sparkNo = -1 + 0 * (var(34) := 8001)
sparkXY = -10 + 0 * (var(35) := 9), var(36) := -132
air.animtype = Diagup
fall.animtype = Diagup
ground.type = High
air.type = Low
ground.slidetime = 18
ground.hittime  = 18
guard.hittime = 18
ground.velocity = -6, -7.5
air.velocity = -6,-7.5
guard.velocity = -8
airguard.velocity = -6, -4
airguard.ctrlTime = 16
ground.cornerPush.velOff = 0
guard.cornerPush.velOff = 0
air.cornerPush.velOff = 0
yaccel = .5
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 = 14
envshake.ampl = 4
envShake.freq = 120

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

[State 1201, End]
type = ChangeState
trigger1 = StateType = A
trigger1 = Vel Y > 0 && Pos Y >= 0
value = 1205

;Landing
[Statedef 1205]
type = S
movetype = I
physics = S
ctrl = 0
anim = 1205
velset = 0, 0

[State 1205, On Ground]
type = Posset
trigger1 = !Time
Y = 0

[State 1205, Land Snd]
type = PlaySnd
trigger1 = Time = 1
value = 52,0

[State 1205, Landing Dust Explod]
type = Explod
trigger1 = !Time
anim = 8102
sprpriority = -3
postype = P1
scale = 0.5,0.5
pauseMoveTime = -1
superMoveTime = -1
ownPal = 1

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

;=====================<EX SHADOW BLADE>========================
[Statedef 1230]
type = S
movetype = A
physics = S
anim = 1230
ctrl = 0
velset = 0,0
poweradd = ifelse(var(20) > 0, 0, -500)
sprpriority = 2
facep2 = 1

[State 1230, MAX Timer Drain]
type = VarAdd
trigger1 = !Time
trigger1 = var(20) > 0
var(20) = -335

[State 1230, EX Sound]
type = PlaySnd
trigger1 = !Time
value = 0, ifelse(!fvar(31), 1000, 1001)

[State 1230, EX Flash]
type = VarSet
trigger1 = !Time
var(25) = 45

[State 1230, EX FX(Phantom)]
type = Explod
triggerall = !fvar(31)
trigger1 = !Time
anim = 8210
sprPriority = 3
posType = p1
pos = 5, -61
scale = 0.5, 0.5
pauseMoveTime = -1
superMoveTime = -1
ownPal = 1

[State 1230, EX FX 1(Divine)]
type = Explod
triggerall = fvar(31)
trigger1 = !Time
anim = 8220
sprpriority = 4
postype = p1
pos = 0, 0
bindtime = 1
facing = -1
scale = 0.5, 0.5;based on char size
pauseMoveTime = -1
superMoveTime = -1
ownpal = 1

[State 1230, EX FX 2(Divine)]
type = Explod
triggerall = fvar(31)
trigger1 = !Time
anim = 8221
sprpriority = -1
postype = p1
pos = 0, 0
bindtime = 1
facing = 1
scale = 0.5, 0.5;based on char size
pauseMoveTime = -1
superMoveTime = -1
ownpal = 1

[State 1230, Width]
type = Width
trigger1 = 1
edge = 10,0

[State 1230, Voice]
type = PlaySnd
trigger1 = AnimElem = 2
value = 1100,0
channel = 0

[State 1230, Swing Snd]
type = PlaySnd
trigger1 = AnimElem = 2
value = 1, 2
channel = 2

[State 1230, Jump Snd]
type = PlaySnd
trigger1 = AnimElem = 4
value = 40,0
channel = 3

[State 1230, StateTypeSet: Air, No Phys]
type = StateTypeSet
trigger1 = AnimElem = 4
stateType = A
physics = N

[State 1230, Dust Helper]
type = Helper
trigger1 = AnimElem = 4
helperType = Normal
stateNo = 8100
ID = 8100
name = "Jump Dust"
posType = P1
ownPal = 1

[State 1230, Muteki]
type = Nothitby
trigger1 = AnimElemTime(4) < 0
time = 1
value = SCA

[State 1230, PosAdd]
type = PosAdd
trigger1 = !Time
x = 18

[State 1230, Rising Velocity]
type = VelSet
trigger1 = AnimElemTime(4) = 0
x = 12
y = -11.85

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

[State 1230, Gravity/Friction]
type = VelAdd
trigger1 = AnimElemTime(4) > 0
x = ifElse(Vel X <= 0, 0, -.25)
y = .5

[State 1230, Hit]
type = HitDef
trigger1 = !var(16) && var(15) < 2
trigger1 = AnimElem = 2   
attr = S, SA
damage = ceil(ifElse(fvar(11) * 70 < 7, 7, fvar(11) * 70)), 7
priority = 4, hit
animtype = Hard
getpower = 0, 0
givepower = 35, 35
guardflag = M
hitflag = MAF
hitsound = S2,10
guardsound = S130,0
pausetime = 12,12
guard.pausetime = 12,12
sparkNo = -1 + 0 * (var(33) := 8016)
guard.sparkNo = -1 + 0 * (var(34) := 8001)
sparkXY = -10 + 0 * (var(35) := 34), var(36) := -48
air.animtype = Back
fall.animtype = Back
ground.type = Low
air.type = Low
ground.slidetime = 18
ground.hittime  = 18
guard.hittime = 18
ground.velocity = -2, -10.5
air.velocity = -2,-10.5
guard.velocity = -10
;airguard.velocity = -6, -4
;airguard.ctrlTime = 16
ground.cornerPush.velOff = 0
guard.cornerPush.velOff = 0
air.cornerPush.velOff = 0
yaccel = .5
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 = 14
envshake.ampl = 4
envShake.freq = 120

[State 1230, Hit 2]
type = HitDef
trigger1 = !var(16) && var(15) < 3
trigger1 = AnimElem = 3   
attr = S, SA
damage = ceil(ifElse(fvar(11) * 28 < 7, 7, fvar(11) * 28)), 7
priority = 4, hit
animtype = Hard
getpower = 0, 0
givepower = 35, 35
guardflag = M
hitflag = MAF
hitsound = S2,10
guardsound = S130,0
pausetime = 8,8
guard.pausetime = 8,8
sparkNo = -1 + 0 * (var(33) := 8016)
guard.sparkNo = -1 + 0 * (var(34) := 8001)
sparkXY = -10 + 0 * (var(35) := 41), var(36) := -77
air.animtype = Back
fall.animtype = Back
ground.type = Low
air.type = Low
ground.slidetime = 18
ground.hittime  = 18
guard.hittime = 18
ground.velocity = -2, -10.5
air.velocity = -2,-10.5
guard.velocity = -10
;airguard.velocity = -6, -4
;airguard.ctrlTime = 16
ground.cornerPush.velOff = 0
guard.cornerPush.velOff = 0
air.cornerPush.velOff = 0
yaccel = .5
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 = 14
envshake.ampl = 4
envShake.freq = 120

[State 1230, Hit 3]
type = HitDef
trigger1 = !var(16) && var(15) < 4
trigger1 = AnimElem = 4 
attr = A, SA
damage = ceil(ifElse(fvar(11) * 28 < 7, 7, fvar(11) * 28)), 7
priority = 4, hit
animtype = Up
getpower = 0, 0
givepower = 35, 35
guardflag = MA
hitflag = MAF
hitsound = S2,10
guardsound = S130,0
pausetime = 8,8
guard.pausetime = 8,8
sparkNo = -1 + 0 * (var(33) := 8016)
guard.sparkNo = -1 + 0 * (var(34) := 8001)
sparkXY = -10 + 0 * (var(35) := 9), var(36) := -132
air.animtype = Up
fall.animtype = Up
ground.type = High
air.type = Low
ground.slidetime = 18
ground.hittime  = 18
guard.hittime = 18
ground.velocity = -2, -10.5
air.velocity = -2,-10.5
guard.velocity = -8
airguard.velocity = -6, -4
airguard.ctrlTime = 16
ground.cornerPush.velOff = 0
guard.cornerPush.velOff = 0
air.cornerPush.velOff = 0
yaccel = .5
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 = 14
envshake.ampl = 4
envShake.freq = 120

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

[State 1230, End]
type = ChangeState
trigger1 = StateType = A
trigger1 = Vel Y > 0 && Pos Y >= 0
value = 1205

;==================<VECTOR DRAIN>==================
[Statedef 1300]
type    = S
movetype= A
physics = S
juggle  = 0
velset = 0,0
ctrl = 0
poweradd = 70 * !var(20)
anim = 1300
facep2 = 1

[State 1300, Button Detect]
type = VarSet
trigger1 = !Time
var(10) = ifElse((helper(10371), var(0)) || (helper(10371), var(7)), 0, ifElse((helper(10371), var(1)) || (helper(10371), var(8)), 1, 2))

[State 1300, AttackDist]
type = AttackDist
trigger1 = 1
value = 0

[State 1300, Width]
type = Width
trigger1 = 1
edge = 10,0

[State 1300, PosAdd]
type = PosAdd
trigger1 = AnimElem = 3 || AnimElem = 4
x = ifelse((AnimElem = 3), 24, 16)

[State 1300, Throw]
type = Hitdef
trigger1 = AnimElem = 2
trigger1 = !var(38)
trigger1 = p2dist x >= 0 && p2bodydist x <= 38-(2*var(10))
attr = S, ST
priority = 7,Miss
getpower = 55 * !var(20)
givepower = 0
hitflag = M-
numhits = 0
sparkno = -1
p1stateno = 1301
hitsound = s800, 0
fall = 1
fall.recover = 0

[State 1300, Voice]
type = PlaySnd
trigger1 = AnimElem = 4
value = 800,2
channel = 0

[State 1300, Swing Snd]
type = PlaySnd
trigger1 = AnimElem = 3
value = 1,0
channel = 1

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

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

;Vector Drain success
[Statedef 1301]
type = A
movetype = A
physics = N
anim = 1301
velset = 0, 0
poweradd = 0
sprpriority = 1

[State 1301, Safety]
type = NotHitBy
trigger1 = 1
value = SCA

[State 1301, TargetState 1st]
type = TargetState
trigger1 = !Time && NumTarget
value = 1306

[State 1301, Target Facing]
type = TargetFacing
trigger1 = Time <= 1
value = -1

[State 1301, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = NoAutoTurn

[State 1301, Width]
type = Width
trigger1 = 1
edge = 35,0

[State 1301, X Friction]
type = VelMul
trigger1 = vel x
x = .97

[State 1301, Jet Booster FX]
type = Helper
trigger1 = (Anim=[1302,1303]) && !NumHelper(6020)
helpertype = normal
stateno = 6026
ID = 6020
name = "Jets"
postype = p1
ownpal = 1

[State 1301, ChangeAnim 2nd]
type = ChangeAnim
trigger1 = Anim = 1301 && !AnimTime
value = 1302

[State 1301, TargetState 2nd]
type = TargetState
trigger1 = Anim = 1302
value = 1307
persistent = 0

[State 1301, Velocity: Rising]
type = VelSet
trigger1 = Anim = 1302 && AnimElem = 1
x = 4
y = -4.5;-6

[State 1301, Y Friction]
type = VelMul
trigger1 = Anim = 1302
y = .97

[State 1301, ChangeAnim 3rd]
type = ChangeAnim
trigger1 = Anim = 1302 && vel y >= -1
value = 1303

[State 1301, TargetState 3rd]
type = TargetState
trigger1 = Anim = 1303
value = 1308
persistent = 0

[State 1301, Laugh]
type = PlaySnd
trigger1 = Anim = 1302
value = 180,0
channel = 0
persistent = 0

[State 1301, Voice]
type = PlaySnd
trigger1 = Anim = 1303 && AnimElem = 3
value = 1200,0
channel = 0
persistent = 0

[State 1301, Spinning Snd]
type = PlaySnd
trigger1 = Anim=1303 && (AnimElem=4 || AnimElem=6 || AnimElem=8)
value = 1,5
channel = 1

[State 1301, Velocity: Rising]
type = VelSet
trigger1 = Anim = 1303 && AnimElemTime(1) = 0
x = -5
y = -9;-10

[State 1301, Spinning Fall Velocity]
type = VelAdd
trigger1 = Anim = 1303
y = 0.6;0.7

[State 1301, Bind 1]
type = TargetBind
trigger1 = Anim = 1301 && AnimElemTime(2)<0
pos = ceil(55 * const(size.xScale)), ceil(-80 * const(size.yScale))

[State 1301, Bind 2]
type = TargetBind
trigger1 = Anim = 1301 && AnimElemTime(2)>=0 && AnimElemTime(3)<0
pos = ceil(56 * const(size.xScale)), ceil(-86 * const(size.yScale))

[State 1301, Bind 3]
type = TargetBind
trigger1 = Anim = 1301 && AnimElemTime(3)>=0 && AnimElemTime(4)<0
pos = ceil(54 * const(size.xScale)), ceil(-86 * const(size.yScale))

[State 1301, Bind 1302]
type = TargetBind
trigger1 = Anim=1302
pos = ceil(37 * const(size.xScale)), ceil(-88 * const(size.yScale))

[State 1301, Bind 1303-1]
type = TargetBind
trigger1 = Anim=1303 && AnimElemTime(2)<0
pos = ceil(37 * const(size.xScale)), ceil(-88 * const(size.yScale))

[State 1301, Bind 1303-2]
type = TargetBind
trigger1 = Anim=1303 && AnimElemTime(2)>=0 && AnimElemTime(3)<0
pos = ceil(23 * const(size.xScale)), ceil(-102 * const(size.yScale))

[State 1301, Bind 1303-3]
type = TargetBind
trigger1 = Anim=1303 && AnimElemTime(3)>=0 && AnimElemTime(4)<0
pos = ceil(-8 * const(size.xScale)), ceil(-102 * const(size.yScale))

[State 1301, Bind 1303-4]
type = TargetBind
trigger1 = Anim=1303 && AnimElemTime(4)>=0 && AnimElemTime(5)<0
pos = ceil(-28 * const(size.xScale)), ceil(-101 * const(size.yScale))

[State 1301, Bind 1303-5]
type = TargetBind
trigger1 = Anim = 1303 && AnimElemTime(5)>=0 && AnimElemTime(6)<0
pos = ceil(-45 * const(size.xScale)), ceil(-84 * const(size.yScale))

[State 1301, Bind 1303-6]
type = TargetBind
trigger1 = Anim=1303 && AnimElemTime(6)>=0 && AnimElemTime(7)<0
trigger2 = Anim=1303 && AnimElemTime(9)>=4
pos = ceil(-1 * const(size.xScale)), ceil(-40 * const(size.yScale))

[State 1301, Bind 1303-7]
type = TargetBind
trigger1 = Anim=1303 && AnimElemTime(7)>=0 && AnimElemTime(8)<0
pos = ceil(42 * const(size.xScale)), ceil(-46 * const(size.yScale))

[State 1301, Bind 1303-8]
type = TargetBind
trigger1 = Anim=1303 && AnimElemTime(8)>=0 && AnimElemTime(9)<0
pos = ceil(0 * const(size.xScale)), ceil(-45 * const(size.yScale))

[State 1301, Bind 1303-9]
type = TargetBind
trigger1 = Anim=1303 && AnimElemTime(9)>=0 && AnimElemTime(9)<4
pos = ceil(-42 * const(size.xScale)), ceil(-46 * const(size.yScale))

[State 1301, End]
type = ChangeState
trigger1 = Anim=1303 && vel y>0 && pos y>=-ceil(vel y)
value = 1305

;Floor Impact
[Statedef 1305]
type = C
physics = C
movetype = A
anim = 1305
ctrl = 0
velset = 0,0
sprpriority = 1

[State 1305, Safety]
type = NotHitBy
trigger1 = 1
value = SCA

[State 1305, PosSet]
type = Posset
trigger1 = AnimElemTime(2)<0
y = 0

[State 1305, VelStop]
type = VelSet
trigger1 = AnimElemTime(2)<0
x = 0
y = 0

[State 1305, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noautoturn

[State 1305, TargetState]
type = TargetState
trigger1 = !Time
value = 1310

[State 1305, Damage]
type = TargetLifeAdd
trigger1 = NumTarget && !Time
trigger1 = var(10)=2
value = floor(ifElse(133 * fvar(11) < 7, -7, -133 * fvar(11)))

[State 1305, Damage]
type = TargetLifeAdd
trigger1 = NumTarget && !Time
trigger1 = var(10)=1
value = floor(ifElse(126 * fvar(11) < 7, -7, -126 * fvar(11)))

[State 1305, Damage]
type = TargetLifeAdd
trigger1 = NumTarget && !Time
trigger1 = var(10)=0
value = floor(ifElse(119 * fvar(11) < 7, -7, -119 * fvar(11)))

[State 1305, TargetPowerAdd]
type = TargetPowerAdd
trigger1 = NumTarget && !Time
value = 35

[State 1305, PowerAdd]
type = PowerAdd
trigger1 = NumTarget && AnimElem = 1 && !var(20)
value = 105

[State 1305, HitAdd]
type = HitAdd
trigger1 = NumTarget && !Time
value = 1

[State 1305, VarAdd]
type = VarAdd
trigger1 = NumTarget && !Time
var(13) = 1

[State 1305, Juggle]
type = VarAdd
trigger1 = NumTarget && !Time
var(15) = 1
ignoreHitPause = 1

[State 1305, Juggle]
type = VarSet
trigger1 = NumTarget && !Time
var(16) = 1
ignoreHitPause = 1

[State 1305, Bind 1]
type = TargetBind
trigger1 = AnimElemTime(2)<0 && NumTarget
pos = ceil(42 * const(size.xScale)), ceil(0 * const(size.yScale))

[State 1305, EnvShake]
type = EnvShake
trigger1 = !Time
time = 18
freq = 120
ampl = 6

[State 1305, Slam Snd]
type = PlaySnd
trigger1 = !Time
value = 2,7

[State 1305, Hit Snd]
type = PlaySnd
trigger1 = !Time
value = 2,5
channel = 2

[State 1305, Impact Dust]
type = Helper
trigger1 = NumTarget && !Time
helpertype = Normal
stateno = 8110
ID = 8100
name = "Impact Dust"
postype = p1
pos = ceil(42 * const(size.xscale)), 0
ownpal = 1

[State 1305, Velocity: Flipping Back]
type = VelSet
trigger1 = AnimElem = 2
x = -4
y = -7

[State 1305, StateTypeSet: Air, Air Physics]
type = StateTypeSet
trigger1 = AnimElemTime(2)>=0
statetype = A
physics = A


;Vector Drain TARGET
[Statedef 1306]
type = A
physics = N
movetype = H
ctrl = 0
sprpriority = 0

[State 1306, ChangeAnim2]
type = ChangeAnim2
trigger1 = !Time
value = 1306

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

;Target 2nd
[Statedef 1307]
type = A
physics = N
movetype = H
ctrl = 0
sprpriority = 0

[State 1307, ChangeAnim2]
type = ChangeAnim2
trigger1 = !Time
value = 1307

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

;Target 3rd
[Statedef 1308]
type = A
physics = N
movetype = H
ctrl = 0
sprpriority = 0

[State 1308, ChangeAnim2]
type = ChangeAnim2
trigger1 = !Time
value = 1308

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

[State 1308, SprPriority: In Front]
type = SprPriority
trigger1 =(AnimElemTime(6)>=0 && AnimElemTime(7)<0) || AnimElemTime(8)>=8
value = 2

[State 1308, SprPriority: Behind]
type = SprPriority
trigger1 =(AnimElemTime(6)<0 || AnimElemTime(7)>=0) && AnimElemTime(8)<8
value = 0

;---TARGET HIT FLOOR---
[Statedef 1310]
type = A
physics = N
movetype = H
ctrl = 0
sprpriority = 0

[State 1310, ChangeAnim2]
type = ChangeAnim2
trigger1 = !Time
value = 1310

[State 1310, Velocity]
type = VelSet
trigger1 = AnimElem = 2
x = -4
y = -6

[State 1310, Gravity]
type = VelAdd
trigger1 = AnimElemTime(2)>=0
y = 0.5

[State 1310, Turn]
type = Turn
trigger1 = AnimElemTime(2)>=0 && vel y>0 && pos y>=-10
persistent = 0

[State 1310, End]
type = SelfState
trigger1 = AnimElemTime(2)>=0 && vel y>0 && pos y>=-10
value = 5100

;==================<EX VECTOR DRAIN>==================
[Statedef 1330]
type    = S
movetype= A
physics = S
juggle  = 0
velset = 0,0
ctrl = 0
poweradd = ifelse(var(20) > 0, 0, -500)
anim = 1330
facep2 = 1

[State 1330, MAX Timer Drain]
type = VarAdd
trigger1 = !Time
trigger1 = var(20) > 0
var(20) = -335

[State 1330, EX Sound]
type = PlaySnd
trigger1 = !Time
value = 0, ifelse(!fvar(31), 1000, 1001)

[State 1330, EX Flash]
type = VarSet
trigger1 = !Time
var(25) = 40

[State 1330, EX FX(Phantom)]
type = Explod
triggerall = !fvar(31)
trigger1 = !Time
anim = 8210
sprPriority = 3
posType = p1
pos = 10, -72
scale = 0.5, 0.5
pauseMoveTime = -1
superMoveTime = -1
ownPal = 1

[State 1330, EX FX 1(Divine)]
type = Explod
triggerall = fvar(31)
trigger1 = !Time
anim = 8220
sprpriority = 4
postype = p1
pos = 0, 0
bindtime = 1
facing = -1
scale = 0.5, 0.5;based on char size
pauseMoveTime = -1
superMoveTime = -1
ownpal = 1

[State 1330, EX FX 2(Divine)]
type = Explod
triggerall = fvar(31)
trigger1 = !Time
anim = 8221
sprpriority = -1
postype = p1
pos = 0, 0
bindtime = 1
facing = 1
scale = 0.5, 0.5;based on char size
pauseMoveTime = -1
superMoveTime = -1
ownpal = 1

[State 1330, AttackDist]
type = AttackDist
trigger1 = 1
value = 0

[State 1330, Width]
type = Width
trigger1 = 1
edge = 10,0

[State 1330, PosAdd]
type = PosAdd
trigger1 = AnimElem = 3 || AnimElem = 4
x = ifelse((AnimElem = 3), 24, 16)

[State 1330, Throw]
type = Hitdef
trigger1 = AnimElem = 2
trigger1 = P2StateNo!=[150,152]
;trigger1 = p2dist x >= 0 && p2bodydist x <= 38
attr = S, ST
priority = 7,Miss
getpower = 35 * !var(20)
givepower = 0
hitflag = M
numhits = 0
sparkno = -1
p1stateno = 1331
hitsound = s800, 0
fall = 1
fall.recover = 0

[State 1330, Voice]
type = PlaySnd
trigger1 = AnimElem = 4
value = 800,2
channel = 0

[State 1330, Swing Snd]
type = PlaySnd
trigger1 = AnimElem = 3
value = 1,0
channel = 1

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

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

;EX Vector Drain success
[Statedef 1331]
type = A
movetype = A
physics = N
anim = 1301
velset = 0, 0
poweradd = 0
sprpriority = 1

[State 1331, Safety]
type = NotHitBy
trigger1 = 1
value = SCA

[State 1331, EX Flash]
type = VarSet
trigger1 = !Time
var(25) = 120

[State 1331, TargetState 1st]
type = TargetState
trigger1 = !Time && NumTarget
value = 1306

[State 1331, Target Facing]
type = TargetFacing
trigger1 = Time <= 1
value = -1

[State 1331, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = NoAutoTurn

[State 1331, Width]
type = Width
trigger1 = 1
edge = 35,0

[State 1331, X Friction]
type = VelMul
trigger1 = vel x
x = .97

[State 1331, Jet Booster FX]
type = Helper
trigger1 = (Anim=[1302,1303]) && !NumHelper(6020)
helpertype = normal
stateno = 6026
ID = 6020
name = "Jets"
postype = p1
ownpal = 1

[State 1331, ChangeAnim 2nd]
type = ChangeAnim
trigger1 = Anim = 1301 && !AnimTime
value = 1302

[State 1331, TargetState 2nd]
type = TargetState
trigger1 = Anim = 1302
value = 1307
persistent = 0

[State 1331, Velocity: Rising]
type = VelSet
trigger1 = Anim = 1302 && AnimElem = 1
x = 4
y = -6

[State 1331, Y Friction]
type = VelMul
trigger1 = Anim = 1302
y = .97

[State 1331, ChangeAnim 3rd]
type = ChangeAnim
trigger1 = Anim = 1302 && vel y >= -1
value = 1303

[State 1331, TargetState 3rd]
type = TargetState
trigger1 = Anim = 1303
value = 1308
persistent = 0

[State 1331, Jet Snd]
type = PlaySnd
trigger1 = Anim = 1301 && AnimElem = 3
value = 100,2
channel = 1
persistent = 0

[State 1331, Laugh]
type = PlaySnd
trigger1 = Anim = 1302
value = 180,1
channel = 0
persistent = 0

[State 1331, Voice]
type = PlaySnd
trigger1 = Anim = 1303 && AnimElem = 3
value = 1200,0
channel = 0
persistent = 0

[State 1331, Spinning Snd]
type = PlaySnd
trigger1 = Anim=1303 && (AnimElem=4 || AnimElem=6 || AnimElem=8)
value = 1,5
channel = 1

[State 1331, Velocity: Rising]
type = VelSet
trigger1 = Anim = 1303 && AnimElemTime(1) = 0
x = -5
y = -10

[State 1331, Spinning Fall Velocity]
type = VelAdd
trigger1 = Anim = 1303
y = 0.7

[State 1331, Bind 1]
type = TargetBind
trigger1 = Anim = 1301 && AnimElemTime(2)<0
pos = ceil(55 * const(size.xScale)), ceil(-80 * const(size.yScale))

[State 1331, Bind 2]
type = TargetBind
trigger1 = Anim = 1301 && AnimElemTime(2)>=0 && AnimElemTime(3)<0
pos = ceil(56 * const(size.xScale)), ceil(-86 * const(size.yScale))

[State 1331, Bind 3]
type = TargetBind
trigger1 = Anim = 1301 && AnimElemTime(3)>=0 && AnimElemTime(4)<0
pos = ceil(54 * const(size.xScale)), ceil(-86 * const(size.yScale))

[State 1331, Bind 1302]
type = TargetBind
trigger1 = Anim=1302
pos = ceil(37 * const(size.xScale)), ceil(-88 * const(size.yScale))

[State 1331, Bind 1303-1]
type = TargetBind
trigger1 = Anim=1303 && AnimElemTime(2)<0
pos = ceil(37 * const(size.xScale)), ceil(-88 * const(size.yScale))

[State 1331, Bind 1303-2]
type = TargetBind
trigger1 = Anim=1303 && AnimElemTime(2)>=0 && AnimElemTime(3)<0
pos = ceil(23 * const(size.xScale)), ceil(-102 * const(size.yScale))

[State 1331, Bind 1303-3]
type = TargetBind
trigger1 = Anim=1303 && AnimElemTime(3)>=0 && AnimElemTime(4)<0
pos = ceil(-8 * const(size.xScale)), ceil(-102 * const(size.yScale))

[State 1331, Bind 1303-4]
type = TargetBind
trigger1 = Anim=1303 && AnimElemTime(4)>=0 && AnimElemTime(5)<0
pos = ceil(-28 * const(size.xScale)), ceil(-101 * const(size.yScale))

[State 1331, Bind 1303-5]
type = TargetBind
trigger1 = Anim = 1303 && AnimElemTime(5)>=0 && AnimElemTime(6)<0
pos = ceil(-45 * const(size.xScale)), ceil(-84 * const(size.yScale))

[State 1331, Bind 1303-6]
type = TargetBind
trigger1 = Anim=1303 && AnimElemTime(6)>=0 && AnimElemTime(7)<0
trigger2 = Anim=1303 && AnimElemTime(9)>=4
pos = ceil(-1 * const(size.xScale)), ceil(-40 * const(size.yScale))

[State 1331, Bind 1303-7]
type = TargetBind
trigger1 = Anim=1303 && AnimElemTime(7)>=0 && AnimElemTime(8)<0
pos = ceil(42 * const(size.xScale)), ceil(-46 * const(size.yScale))

[State 1331, Bind 1303-8]
type = TargetBind
trigger1 = Anim=1303 && AnimElemTime(8)>=0 && AnimElemTime(9)<0
pos = ceil(0 * const(size.xScale)), ceil(-45 * const(size.yScale))

[State 1331, Bind 1303-9]
type = TargetBind
trigger1 = Anim=1303 && AnimElemTime(9)>=0 && AnimElemTime(9)<4
pos = ceil(-42 * const(size.xScale)), ceil(-46 * const(size.yScale))

[State 1331, End]
type = ChangeState
trigger1 = Anim=1303 && vel y>0 && pos y>=-ceil(vel y)
value = 1335

;EX Floor Impact
[Statedef 1335]
type = C
physics = C
movetype = A
anim = 1305
ctrl = 0
poweradd = 0
velset = 0,0
sprpriority = 1

[State 1335, Safety]
type = NotHitBy
trigger1 = 1
value = SCA

[State 1335, EX Flash]
type = VarSet
trigger1 = !Time
var(25) = 40

[State 1335, PosSet]
type = Posset
trigger1 = AnimElemTime(2)<0
y = 0

[State 1335, VelStop]
type = VelSet
trigger1 = AnimElemTime(2)<0
x = 0
y = 0

[State 1335, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noautoturn

[State 1335, TargetState]
type = TargetState
trigger1 = !Time
value = 1310

[State 1335, Damage]
type = TargetLifeAdd
trigger1 = NumTarget && !Time
value = floor(ifElse(154 * fvar(11) < 7, -7, -154 * fvar(11)))

[State 1335, TargetPowerAdd]
type = TargetPowerAdd
trigger1 = NumTarget && !Time
value = 35

[State 1335, HitAdd]
type = HitAdd
trigger1 = NumTarget && !Time
value = 1

[State 1335, VarAdd]
type = VarAdd
trigger1 = NumTarget && !Time
var(13) = 1

[State 1335, Juggle]
type = VarAdd
trigger1 = NumTarget && !Time
var(15) = 1
ignoreHitPause = 1

[State 1335, Juggle]
type = VarSet
trigger1 = NumTarget && !Time
var(16) = 1
ignoreHitPause = 1

[State 1335, Bind 1]
type = TargetBind
trigger1 = AnimElemTime(2)<0 && NumTarget
pos = ceil(42 * const(size.xScale)), ceil(0 * const(size.yScale))

[State 1335, EnvShake]
type = EnvShake
trigger1 = !Time
time = 18
freq = 120
ampl = 6

[State 1335, Slam Snd]
type = PlaySnd
trigger1 = !Time
value = 2,7

[State 1335, Hit Snd]
type = PlaySnd
trigger1 = !Time
value = 2,5
channel = 2

[State 1335, Impact Dust]
type = Helper
trigger1 = NumTarget && !Time
helpertype = Normal
stateno = 8110
ID = 8100
name = "Impact Dust"
postype = p1
pos = ceil(42 * const(size.xscale)), 0
ownpal = 1

[State 1335, Velocity: Flipping Back]
type = VelSet
trigger1 = AnimElem = 2
x = -4
y = -7

[State 1335, StateTypeSet: Air, Air Physics]
type = StateTypeSet
trigger1 = AnimElemTime(2)>=0
statetype = A
physics = A
