;Kaiser Wave Projectile
[StateDef 1350]
type = S
physics = N
moveType = A
ctrl = 0
anim = 1350
sprPriority = 3
[State 1010, HitOverride]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AP,AT
time = -1
stateno = 1351
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 != 1350 && Anim != 1351
value = 1350
;[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 = 1
x = 12
y = 0
[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
triggerall =Parent,Var(8) = 0
trigger1 = !(root,var(16)) && root,var(15)<1
attr = S,SP
hitFlag = MAF
guardFlag = MA
priority = 4, Hit
damage = ceil(ifElse(fvar(11) * (91 * (ifElse(var(20), 1.1, 1))) < 7, 7, fvar(11) * (91 * (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
;down.hittime = 20
ground.velocity = -10.52, 0
ground.cornerPush.velOff = 0
guard.velocity = -10.52
guard.cornerPush.velOff = 0
air.velocity = -4.35, -7.15
air.cornerPush.velOff = 0
airGuard.velocity = -5, -0.5
airGuard.cornerPush.velOff = 0
;down.velocity = 0, 0
;down.cornerpush.veloff = 0
yAccel = .58
fall = 1
fall.recover = 0
fall.recoverTime = 120
forceStand = 1
hitSound = s2,6
guardSound = s130,0
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, HitDef]
type = HitDef
triggerall =Parent,Var(8)=1
trigger1 = !(root,var(16)) && root,var(15)<2
attr = S,SP
hitFlag = MAF
guardFlag = MA
priority = 4, Hit
damage = ceil(ifElse(fvar(11) * (63 * (ifElse(var(20), 1.1, 1))) < 7, 7, fvar(11) * (63 * (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
;down.hittime = 20
ground.velocity = -10.52, 0
ground.cornerPush.velOff = 0
guard.velocity = -10.52
guard.cornerPush.velOff = 0
air.velocity = -4.35, -7.15
air.cornerPush.velOff = 0
airGuard.velocity = -5, -0.5
airGuard.cornerPush.velOff = 0
;down.velocity = 0, 0
;down.cornerpush.veloff = 0
yAccel = .58
fall = 1
fall.recover = 0
fall.recoverTime = 120
forceStand = 1
hitSound = s2,6
guardSound = s130,0
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, HitDef]
type = HitDef
triggerall =Parent,Var(8)=2
trigger1 = !(root,var(16)) && root,var(15)<3
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
;down.hittime = 20
ground.velocity = -10.52, 0
ground.cornerPush.velOff = 0
guard.velocity = -10.52
guard.cornerPush.velOff = 0
air.velocity = -4.35, -7.15
air.cornerPush.velOff = 0
airGuard.velocity = -5, -0.5
airGuard.cornerPush.velOff = 0
;down.velocity = 0, 0
;down.cornerpush.veloff = 0
yAccel = .58
fall = 1
fall.recover = 0
fall.recoverTime = 120
hitSound = s2,6
guardSound = s130,0
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 200, StateTypeSet: Idle]
type = StateTypeSet
trigger1 = Movecontact >=3
moveType = I
[State 1010, ChangeState]
type = ChangeState
trigger1 = movecontact
value = 1352
ignoreHitPause = 1
[State 1010, ChangeState]
type = ChangeState
trigger1 = MoveReversed
value = 1351
ignoreHitPause = 1
[State 1010, End]
type = DestroySelf
trigger1 = Pos x != [-300,300]
trigger2 = Anim = 1351 && !AnimTime
;Wave Hit
[Statedef 1351]
type = S
movetype = I
physics = N
ctrl = 0
velset = 0,0
anim = 1351
movehitpersist=1
[State 1006, HitSpark]
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
facing = -1
ownPal = 1
size.xScale = 1
size.yScale = 1
pauseMoveTime = 65535
superMoveTime = 65535
ignoreHitPause = 1
[State 1006, 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 0, Trans]
type = Trans
trigger1 = 1
trans = add
[State 9000, Assert]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
[State 4110, DestroySelf]
type = DestroySelf
trigger1 = animtime = 0
;Hitpause
[Statedef 1352]
type=A
physics=N
movetype=A
ctrl=0
sprpriority=3
movehitpersist=1
[State 0, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause=1
[State 1006, HitSpark]
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
facing = -1
ownPal = 1
size.xScale = 1
size.yScale = 1
pauseMoveTime = 65535
superMoveTime = 65535
ignoreHitPause = 1
[State 1006, 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 8500, Rotate]
type=angleadd
trigger1 = parent, var(10) =3
value=-50
[State 0, AngleDraw]
type = AngleDraw
trigger1 = parent, var(10) =3
scale = 1,1
[State 0, Trans]
type = Trans
trigger1 =1
trans = add
[State 0, PosFreeze]
type = PosFreeze
trigger1 = time <=4
value = 1
[State 0, ChangeState]
type = ChangeState
trigger1 = Time >= 0
value = 1351
ignorehitpause=1