;This is used to overcome a MUGEN glitch where the enemy will stop moving after the hit if speed drops to -0.99
;Make sure all hitdefs which cause a hit velocity of -1 have id = 1 in them
[state friction cancel]
type = targetvelset
trigger1 = numtarget(1)
trigger1 = target,movetype = H
trigger1 = target,Hitshakeover
trigger1 = fvar(37)>0 ; slide timer
trigger1 = target,statetype = S || target,statetype = C
x = -1
ignorehitpause = 1
; ------- Target friction cancel by Inktrebuchet -------
[state friction cancel]
type = targetveladd
trigger1 = numtarget && !numtarget(1)
trigger1 = target,movetype = H
trigger1 = target,Hitshakeover
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
[state friction cancel - set velocity to 0 when slide time is over]
type = targetvelset
trigger1 = numtarget && !numtarget(1)
trigger1 = target,movetype = H
trigger1 = fvar(37)<=0 ; slide timer
trigger1 = target,statetype = S || target,statetype = C
trigger1 = target,vel x != 0
x = 0
ignorehitpause = 1
; ------- Cornerpush by Inktrebuchet. Guided by Vans cornerpush code.
[state slidetime]
type = null
triggerall = numtarget
trigger1 = target,stateno = 5000 || target,stateno = 5010 || target,stateno = 5070 || target, stateno = [150,153] ; 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
;------------------------------------------------------