cornerpush system help

Started by krudelu, January 01, 2018, 01:18:09 AM

Previous topic - Next topic

krudelu

Hello,

For now, I'm trying to give Vans' cornerpush system and so far it's working great for most attacks.

But when it comes to supers, there are times when I still keep getting pushed back during the superpause especially for the combo that have a huge cancel window, which allows canceling to a super during cornerpush.

here's the code with changed variables to make sure that I'm using the ones that's not used yet:


[State -2, Superpause Check]
type = VarAdd
trigger1 = Var(51)
var(51) = -1

[State -2, Reset Time counter]
type = VarSet
trigger1 = movecontact = 1
var(52) = 0

[State -2, Accel]
type = VarSet
triggerall = roundstate = 2
triggerall = Var(51) <= 0
triggerall = numtarget >= 1
trigger1 = target, hitshakeover
fvar(12) = (target, gethitvar(xvel)*exp((-0.1886)*((var(52)))))

[State -2, Push]
type = PosAdd
triggerall = roundstate = 2
triggerall = !var(51)
triggerall = numtarget >= 1
triggerall = (target, BackEdgeBodyDist <= 0) || (target, FrontEdgeBodyDist <= 0)
triggerall = ProjContact = 0, < 50
triggerall = stateno != [800,829]
triggerall = stateno != [900,979]
triggerall = numtarget(1000) = 0
triggerall = numtarget(1100) = 0
triggerall = enemynear,statetype != A
trigger1 = Statetype != A
x = ifelse(facing = -1,fvar(12),-fvar(12))

[State -2, Increase]
type = VarSet
triggerall = numtarget >= 1
triggerall = target, hitshakeover
trigger1 = Var(51) <= 0
trigger1 = var(52)
var(52) = var(52)+1

[State -2, Time counter]
type = VarSet
trigger1 = !var(52)
trigger1 = fvar(12)
var(52) = 1

[State -2, Freeze Pos During Superpause]
type = PosFreeze
trigger1 = Var(51)
value = 1

[State -2, Drop]
type = VarSet
triggerall = fvar(12)
trigger1 = !numtarget
trigger2 = projcontact = 1
trigger3 = movecontact = 1
fvar(12) = 0
ignorehitpause = 1

[State -2, Drop]
type = VarSet
triggerall = fvar(13)
trigger1 = !numtarget
trigger2 = projcontact = 1
trigger3 = numtarget >= 1 && target, gethitvar(xvel) = 0
var(53) = 0


And while I'm not exactly sure about this code below, I tried adding this in the state where the superpause is at:


[State 2000, VarSet]
type = VarSet
trigger1 = time = 0 ;Superpause tick error fix.
var(51) = 29



Is there something that I may be missing here that may be the reason why I'm still getting cornerpushed during superpause?

Also, I know that the originally var(6) (now changed to var(51)) is meant for superpause correction but I'm not exactly sure that's the 29 for. Anyone would mind letting me know?

Jesuszilla

You need to set var(51) in the state with the superpause at the time of superpause, for as long as the superpause lasts.

Like so:
[State 3000, SuperPause]
type = SuperPause
trigger1 = Time = 4
time = 50
movetime = 50
anim = -1
sound = -1
pos = 0,0
darken = 0
p2defmul = 1
poweradd = 0
unhittable = 0
[State 3000, Kill Cornerpush]
type = VarSet
trigger1 = Time = 4
var(51) = 50

krudelu

Okay I'm getting it to work now. So in terms of setting the value for var(51) in a kill cornerpush code just match it with how long the superpause lasts.

Thank you very much