Last active
September 1, 2023 09:32
-
-
Save Jesuszilla/77441a9bb8d80561be67f835351d9fcc to your computer and use it in GitHub Desktop.
CvS2 Pushback System for M.U.G.E.N
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; -- HITDEF ARRAY SEQUENCE (NORMAL SPEED) ------------------------------ X DIST -- DESCRIPTION ----------------------- HITDEF ID - | |
; 6, 5, 4, 4, 3, 2, 2, 1, 1, 1, 1 30 Ground Light/Air Medium/Heavy (ID 1) | |
; 6, 6, 6, 5, 5, 5, 4, 4, 3, 3, 2, 1, 1, 1, 1, 1 54 Ground Medium (ID 2) | |
; 8, 8, 8, 7, 7, 7, 6, 5, 5, 4, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1 78 Ground Heavy (ID 3) | |
; 4, 4, 4, 4, 3, 3, 3, 2, 1, 1, 1 30 Alternate Light Pushback (ID 4) | |
; 2, 2, 2, 1, 1 10 Super Light Pushback (ID 5) | |
; 9, 9, 9, 8, 8, 8, 7, 6, 6, 5, 4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1 102 Manchester Gold (ID 6) | |
; 6, 5, 4, 4, 3, 3, 3, 2, 1 31 Air Light (ID 7) | |
; 3, 3, 3, 3, 2, 2, 2, 1, 1 20 Rolling Buckler (ID 8) | |
; 3, 2, 2, 2, 1, 1, 1 12 Ground CC Light/Air Medium/Heavy (ID 11) | |
; 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1 22 Ground CC Medium (ID 12) | |
; 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 1, 1 32 Ground CC Heavy (ID 13) | |
[Statedef -2] | |
;=============================================================================== | |
; ------- CvS2 Cornerpush System by Vans & Jesuszilla -------- | |
;=============================================================================== | |
[State -2, Reset Time counter] | |
type = VarSet | |
trigger1 = MoveContact | |
trigger2 = !NumTarget && !NumProjID(3) | |
var(56) = 0 | |
ignorehitpause = 1 | |
[State -2, Increase] | |
type = VarSet | |
triggerall = !Var(48) | |
trigger1 = numtarget ;>= 1 | |
trigger1 = target, HitShakeOver | |
trigger2 = NumProjID(3) | |
var(56) = Var(56)+1 | |
[State -2, Kill Cornerpush] | |
type = VarSet | |
triggerall = FVar(39) | |
trigger1 = !NumTarget || NumTarget(0) || MoveContact | |
trigger2 = Var(50) = [3,4] | |
trigger3 = NumTarget(1) | |
trigger3 = Var(56) > 10 | |
trigger4 = NumTarget(2) | |
trigger4 = Var(56) > 14 | |
trigger5 = NumTarget(3) || NumProjID(3) | |
trigger5 = Var(56) > 17 | |
trigger6 = NumTarget(11) | |
trigger6 = Var(56) > 6 | |
trigger7 = NumTarget(12) | |
trigger7 = Var(56) > 10 | |
trigger8 = NumTarget(13) | |
trigger8 = Var(56) > 10 | |
trigger9 = NumTarget(4) | |
trigger9 = Var(56) > 10 | |
trigger10 = NumTarget(5) | |
trigger10 = Var(56) > 5 | |
trigger11 = NumTarget(6) | |
trigger11 = Var(56) > 21 | |
trigger12 = NumTarget(7) | |
trigger12 = Var(56) > 7 | |
trigger13 = NumTarget(8) | |
trigger13 = Var(56) > 7 | |
fvar(39) = 0 | |
ignorehitpause = 1 | |
[State -2, Freeze Pos During Superpause] | |
type = PosFreeze | |
trigger1 = Var(48) | |
value = 1 | |
;---------------------------------------------------------------------------------- | |
; CvS2 Pushback System by Jesuszilla | |
[State -2, Simul Hack] | |
type = TargetDrop | |
trigger1 = NumTarget >= 2 | |
keepone = 1 ; This will still drop BOTH if it hits at the same time. I hate simul. | |
[State -2, TargetDrop] | |
type = VarSet | |
trigger1 = !NumTarget | |
var(32) = -1 | |
[State -2, VarSet] | |
type = VarSet | |
trigger1 = MoveContact = 1 | |
trigger2 = !NumTarget | |
fvar(6) = 0 | |
[State -2, Sign] | |
type = VarSet | |
triggerall = HitDefAttr != SCA, NT, ST, HT | |
triggerall = StateNo != [800,899] | |
trigger1 = MoveContact | |
var(5) = cond(P2Dist X < 0, (var(5)|(2**29)), (var(5)&-536870913)) | |
[State -2, TargetState] | |
type = TargetState | |
triggerall = HitPauseTime = 0 | |
triggerall = MoveHit && !MoveReversed | |
triggerall = NumTarget | |
triggerall = StateNo != [800,899] | |
triggerall = Target, StateType != A && Target, StateType != L | |
triggerall = !Target, GetHitVar(YVel) | |
triggerall = Target, Alive | |
;triggerall = Var(6) >= 0 | |
triggerall = FVar(6) = 0 | |
trigger1 = NumTarget(1) | |
trigger1 = Target(1), HitShakeOver | |
trigger1 = (fvar(6) := 1) | |
trigger2 = NumTarget(2) | |
trigger2 = Target(2), HitShakeOver | |
trigger2 = (fvar(6) := 1) | |
trigger3 = NumTarget(3) | |
trigger3 = Target(3), HitShakeOver | |
trigger3 = (fvar(6) := 1) | |
trigger4 = NumTarget(4) | |
trigger4 = Target(4), HitShakeOver | |
trigger4 = (fvar(6) := 1) | |
trigger5 = NumTarget(5) | |
trigger5 = Target(5), HitShakeOver | |
trigger5 = (fvar(6) := 1) | |
trigger6 = NumTarget(6) | |
trigger6 = Target(6), HitShakeOver | |
trigger6 = (fvar(6) := 1) | |
trigger7 = NumTarget(7) | |
trigger7 = Target(7), HitShakeOver | |
trigger7 = (fvar(6) := 1) | |
trigger8 = NumTarget(8) | |
trigger8 = Target(8), HitShakeOver | |
trigger8 = (fvar(6) := 1) | |
trigger9 = NumTarget(11) | |
trigger9 = Target(11), HitShakeOver | |
trigger9 = (fvar(6) := 1) | |
trigger10 = NumTarget(12) | |
trigger10 = Target(12), HitShakeOver | |
trigger10 = (fvar(6) := 1) | |
trigger11 = NumTarget(13) | |
trigger11 = Target(13), HitShakeOver | |
trigger11 = (fvar(6) := 1) | |
value = 15000 | |
ignorehitpause = 1 | |
[State -2, VarSet] | |
type = VarSet | |
triggerall = NumTarget || NumProj | |
trigger1 = NumTarget(1) | |
trigger1 = Var(56) = [7,10] | |
trigger2 = NumTarget(2) | |
trigger2 = Var(56) = [10,14] | |
trigger3 = NumTarget(3) || NumProjID(3) | |
trigger3 = Var(56) = [11,14] | |
trigger4 = NumTarget(3) || NumProjID(3) | |
trigger4 = Var(56) = [16,17] | |
trigger5 = NumTarget(11) | |
trigger5 = Var(56) = 6 | |
trigger6 = NumTarget(12) | |
trigger6 = Var(56) = [8,10] | |
trigger7 = NumTarget(4) || NumProjID(4) | |
trigger7 = Var(56) = [8,10] | |
trigger8 = NumTarget(5) | |
trigger8 = Var(56) = [4,5] | |
trigger9 = NumTarget(6) | |
trigger9 = Var(56) = [18,21] | |
trigger10 = NumTarget(7) | |
trigger10 = Var(56) = 7 | |
trigger11 = NumTarget(8) | |
trigger11 = Var(56) = [6,7] | |
fvar(39) = 1.0 | |
[State -2, VarSet] | |
type = VarSet | |
triggerall = NumTarget || NumProj | |
trigger1 = NumTarget(1) | |
trigger1 = Var(56) = 6 | |
trigger2 = NumTarget(3) || NumProjID(3) | |
trigger2 = Var(56) = 15 | |
trigger3 = NumTarget(11) | |
trigger3 = Var(56) = [2,5] | |
trigger4 = NumTarget(12) | |
trigger4 = Var(56) = 4 | |
trigger5 = NumTarget(12) | |
trigger5 = Var(56) = [6,7] | |
trigger6 = NumTarget(13) | |
trigger6 = Var(56) = [7,10] | |
trigger7 = NumTarget(5) | |
trigger7 = Var(56) = [1,3] | |
trigger8 = NumTarget(4) || NumProjID(4) | |
trigger8 = Var(56) = 7 | |
trigger9 = NumTarget(6) | |
trigger9 = Var(56) = [11,14] | |
trigger10 = NumTarget(6) | |
trigger10 = Var(56) = [16,17] | |
trigger11 = NumTarget(7) | |
trigger11 = Var(56) = 6 | |
trigger12 = NumTarget(8) | |
trigger12 = Var(56) = 5 | |
fvar(39) = 2.0 | |
[State -2, VarSet] | |
type = VarSet | |
triggerall = NumTarget || NumProj | |
trigger1 = NumTarget(2) | |
trigger1 = Var(56) = [7,9] | |
trigger2 = NumTarget(11) | |
trigger2 = Var(56) = 1 | |
trigger3 = NumTarget(12) | |
trigger3 = Var(56) = [1,3] | |
trigger4 = NumTarget(13) | |
trigger4 = Var(56) = 4 | |
trigger5 = NumTarget(13) | |
trigger5 = Var(56) = 6 | |
trigger6 = NumTarget(4) || NumProjID(4) | |
trigger6 = Var(56) = 6 | |
trigger7 = NumTarget(7) | |
trigger7 = Var(56) = 5 | |
trigger8 = NumTarget(8) | |
trigger8 = Var(56) = [1,2] | |
fvar(39) = 3.0 | |
[State -2, TargetVelSet] | |
type = VarSet | |
triggerall = NumTarget || NumProj | |
trigger1 = NumTarget(1) | |
trigger1 = Var(56) = [3,4] | |
trigger2 = NumTarget(2) | |
trigger2 = Var(56) = [5,6] | |
trigger3 = NumTarget(3) || NumProjID(3) | |
trigger3 = Var(56) = 9 | |
trigger4 = NumTarget(4) || NumProjID(4) | |
trigger4 = Var(56) = [1,4] | |
trigger5 = NumTarget(12) | |
trigger5 = Var(56) = 5 | |
trigger6 = NumTarget(13) | |
trigger6 = Var(56) = [1,3] | |
trigger7 = NumTarget(6) | |
trigger7 = Var(56) = 15 | |
trigger8 = NumTarget(8) | |
trigger8 = Var(56) = 4 | |
fvar(39) = 4.0 | |
[State -2, TargetVelSet] | |
type = VarSet | |
triggerall = NumTarget || NumProj | |
trigger1 = NumTarget(1) | |
trigger1 = Var(56) = 2 | |
trigger2 = NumTarget(1) | |
trigger2 = Var(56) = 5 | |
trigger3 = NumTarget(2) | |
trigger3 = Var(56) = [7,8] | |
trigger4 = NumTarget(3) || NumProjID(3) | |
trigger4 = Var(56) = [7,8] | |
trigger5 = NumTarget(3) || NumProjID(3) | |
trigger5 = Var(56) = 10 | |
trigger6 = NumTarget(6) | |
trigger6 = Var(56) = 9 | |
trigger7 = NumTarget(7) | |
trigger7 = Var(56) = 2 | |
fvar(39) = 5.0 | |
[State -2, TargetVelSet] | |
type = VarSet | |
triggerall = NumTarget || NumProj | |
trigger1 = NumTarget(2) | |
trigger1 = Var(56) = [1,2] | |
trigger2 = NumTarget(3) || NumProjID(3) | |
trigger2 = Var(56) = 6 | |
trigger3 = NumTarget(13) | |
trigger3 = Var(56) = 5 | |
trigger4 = NumTarget(4) || NumProjID(4) | |
trigger4 = Var(56) = 5 | |
trigger5 = NumTarget(6) | |
trigger5 = Var(56) = [7,8] | |
trigger6 = NumTarget(7) | |
trigger6 = Var(56) = 1 | |
trigger7 = NumTarget(7) | |
trigger7 = Var(56) = 4 | |
trigger8 = NumTarget(8) | |
trigger8 = Var(56) = 3 | |
fvar(39) = 6.0 | |
[State -2, TargetVelSet] | |
type = VarSet | |
triggerall = NumTarget || NumProj | |
trigger1 = NumTarget(3) || NumProjID(3) | |
trigger1 = Var(56) = 4 | |
trigger2 = NumTarget(6) | |
trigger2 = Var(56) = 6 | |
trigger3 = NumTarget(6) | |
trigger3 = Var(56) = 10 | |
fvar(39) = 7.0 | |
[State -2, TargetVelSet] | |
type = VarSet | |
triggerall = NumTarget || NumProj | |
trigger1 = NumTarget(3) || NumProjID(3) | |
trigger1 = Var(56) = [1,3] | |
trigger2 = NumTarget(6) | |
trigger2 = Var(56) = 4 | |
trigger3 = NumTarget(7) | |
trigger3 = Var(56) = 3 | |
fvar(39) = 8.0 | |
[State -2, TargetVelSet] | |
type = VarSet | |
triggerall = NumTarget || NumProj | |
trigger1 = NumTarget(6) | |
trigger1 = Var(56) = [1,3] | |
fvar(39) = 9.0 | |
[State -2, TargetVelSet] | |
type = VarSet | |
triggerall = NumTarget || NumProj | |
trigger1 = NumTarget(2) | |
trigger1 = Var(56) = 4 | |
fvar(39) = 10.0 | |
[State -2, TargetVelSet] | |
type = VarSet | |
triggerall = NumTarget || NumProj | |
trigger1 = NumTarget(3) || NumProjID(3) | |
trigger1 = Var(56) = 5 | |
fvar(39) = 14.0 | |
[State -2, TargetVelSet] | |
type = VarSet | |
triggerall = NumTarget || NumProj | |
trigger1 = NumTarget(6) | |
trigger1 = Var(56) = 5 | |
fvar(39) = 16.0 | |
[State -2, TargetVelSet] | |
type = TargetVelSet | |
triggerall = NumTarget | |
triggerall = P2StateType != A && P2StateType != L | |
triggerall = Target, GetHitVar(YVel) = 0 | |
triggerall = Var(50) = [1,2] | |
trigger1 = StateNo != [800,839] | |
x = FVar(39) * (160.0/179.0) * cond((var(5)&(2**29)) > 0, -1, 1) * (facing * target,facing) | |
[State -2, TargetVelAdd] | |
type = TargetVelAdd | |
triggerall = NumTarget | |
triggerall = P2StateType = A && P2StateType != L | |
triggerall = P2StateNo != [120,155] | |
triggerall = Target, GetHitVar(XVel) < 0 | |
triggerall = cond(NumTarget(800), (Target, ID != Target(800), ID), 1) | |
triggerall = !MoveReversed && !MoveGuarded | |
trigger1 = StateNo != [800,839] | |
x = cond(target, Vel X >= 0,0,0.01953125)*(25.0/16.0)*(160.0/179.0)*cond((var(5)&(2**29)) > 0, 1, -1) * (facing * target,facing) | |
[State -2, TargetVelAdd] | |
type = TargetVelAdd | |
triggerall = NumTarget | |
triggerall = P2StateType = A && P2StateType != L | |
triggerall = P2StateNo != [120,155] | |
triggerall = Target, GetHitVar(XVel) > 0 | |
triggerall = cond(NumTarget(800), (Target, ID != Target(800), ID), 1) | |
triggerall = !MoveReversed && !MoveGuarded | |
trigger1 = StateNo != [800,839] | |
x = cond(target, Vel X <= 0,0,-0.01953125)*(25.0/16.0)*(160.0/179.0)*cond((var(5)&(2**29)) > 0, 1, -1) * (facing * target,facing) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;--------------------------------------------------------------------------- | |
; CUSTOM HIT_SLIDE | |
[Statedef 15000] | |
type = U | |
movetype = H | |
physics = N | |
[State 5001, 8] | |
type = SelfState | |
trigger1 = !Alive | |
value = 5050 | |
ctrl = 1 | |
[State 0, VelSet] | |
type = VelSet | |
trigger1 = Time = 0 | |
x = 0 | |
y = 0 | |
[State 5001, 1] | |
type = HitVelSet | |
trigger1 = Time = 0 | |
x = 0 | |
[State 5001, 2] | |
type = ChangeAnim | |
triggerall = SelfAnimExist(anim + 5) | |
trigger1 = HitOver || AnimTime = 0 | |
value = anim + 5 | |
persistent = 0 | |
[State 5001, 4] | |
type = VelSet | |
trigger1 = HitOver | |
x = 0 | |
[State 5001, 5] | |
type = DefenceMulSet | |
trigger1 = HitOver | |
value = 1 | |
[State 5001, 6] | |
type = CtrlSet | |
trigger1 = HitOver | |
value = 1 | |
[State 5001, 7] | |
type = StateTypeSet | |
trigger1 = HitOver | |
movetype = I | |
[State 5001, 8] | |
type = SelfState | |
trigger1 = HitOver | |
value = PrevStateNo+1 | |
ctrl = 1 | |
;--------------------------------------------------------------------------- | |
; CUSTOM HIT_L | |
[Statedef 15080] | |
type = U | |
movetype = H | |
physics = U | |
velset = 0,0 | |
[State 5080, 0] | |
type = PosSet | |
trigger1 = Time = 0 | |
y = 0 | |
[State 5080, 0] | |
type = SelfState | |
trigger1 = Time = 0 | |
value = 5080 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment