; ------- Target friction cancel by Inktrebuchet -------
[state friction cancel]
type = targetveladd
trigger1 = numtarget
trigger1 = target,movetype = H
trigger1 = fvar(37)>0 ; slide timer
trigger1 = target,statetype = S || target,statetype = C
trigger1 = target,vel x != 0
x = (enemynear,vel x / cond(enemynear,statetype = S, enemynear,const(movement.stand.friction), enemynear,const(movement.crouch.friction))) - enemynear,vel x
ignorehitpause = 1
; ------- Cornerpush by Inktrebuchet. Guided by Vans cornerpush code.
[state slidetime]
type = null
triggerall = numtarget
trigger1 = target,stateno = 5000 || target,stateno = 5070 || target, stateno = [150,151] ; custom hitstates can be added here if needed.
trigger1 = target,time = 0
trigger1 = fvar(37) := target,gethitvar(slidetime)
ignorehitpause = 1
[State -2, Push]
type = null;posadd
triggerall = numtarget
triggerall = (target, BackEdgeBodyDist <= 0) || (target, frontEdgeBodyDist <= 0)
triggerall = target,statetype != A || target,stateno = 5071 ; This allows cornerpush for trips.
triggerall = target,statetype != L
;trigger1 = stateno != ???? ;moves you do NOT want push back for.
;trigger1 = Statetype != A ; No Aerial attacks have cornerpush
trigger1 = HitPauseTime = 0
trigger1 = target,Hitshakeover
x = cond(fvar(37)>0 ,(target,gethitvar(xvel)*-facing),0 * (fvar(37) := 0))
[state slide timer]
type = null
triggerall = numtarget
trigger1 = HitPauseTime = 0
trigger1 = target,Hitshakeover
trigger1 = fvar(37) > 0
trigger1 = fvar(37) := fvar(37) - 1
[State 300, 0]
type = Hitdef
trigger1 = !Time
damage = 80,10
pausetime = 1,1
attr = SCA, NA
Hitflag = MA
guardflag = M
animtype = medium
air.animtype = back
priority = 4, hit
sparkno = -1
guard.sparkno = -1
sparkxy = 0, 0
hitsound = S3,Ifelse(random<500,0,1)
guardsound = S2,Ifelse(random<500,1,2)
ground.type = High
air.type = high
ground.slidetime = 16
ground.hittime = 16
ground.velocity = -1, 0
guard.velocity = -1
air.velocity = -2.5,-4
air.cornerpush.veloff = -5
ground.cornerpush.veloff = -5
YAccel = .3
air.fall = 1
fall = 0
envshake.time = 20
envshake.freq = 80
envshake.ampl = 2
fall.recover = 0
fall.xvelocity = 0
fall.yvelocity = 0
p2facing = 1
kill = !var(58) || 1*p2stateno = 49999
guard.kill = !var(58) || 1*p2stateno = 49999