Currently, I'm trying to implement a parry into a character that I am making. I used a couple of code snippets from MFG to base it off of and the implementation works. It uses a HitOverride state that takes attributes for standing attacks which I modified to include crouching attacks as well, but I would much rather be able to parry based off of an attack being high, medium, or low kind of like how it works in Street Fighter 3. Is there a way to do this with this method or am I going to have to look into doing it another way? I have put the states that I am using below.
; Ground Parry
[Statedef 10000]
type = U
movetype = I
physics = U
anim = IfElse(StateType = S,10000,10001)
velset = 0,0
ctrl = 0
poweradd = 0
juggle = 0
facep2 = 1
hitdefpersist = 0
movehitpersist = 0
hitcountpersist = 0
sprpriority = 2
[State 10000, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = NoWalk
[State 10000, CtrlSet]
type = CtrlSet
trigger1 = (Time > 4) && (StateType = S)
value = 1
[State 10000, NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA
[State 10000, Pause]
type = Pause
trigger1 = !Time
time = 8
movetime = 8
[State 10000: PlaySnd]
type = PlaySnd
trigger1 = !Time
value = S10000,0
[State 10000: ChangeState]
type = ChangeState
trigger1 = !AnimTime
ctrl = 1
value = IfElse(StateType = S,0,11)
I really want to have parrying be based off of hitflag types instead of strictly the state the enemy is in when they perform an attack. I have an uppercut on this character and having to exclusively do a low parry for that feels odd when it hits as a medium. I took a look at the trigger reference for GetHitVar and I'm wondering if that could come in handy here somehow. I tried throwing it on the trigger1 in the -2 states but it just made it so the parry doesn't work at all so I took it off. I'm wondering if anyone else has any input on this? Thanks to anyone who takes a look!
Question
LunarDash
Currently, I'm trying to implement a parry into a character that I am making. I used a couple of code snippets from MFG to base it off of and the implementation works. It uses a HitOverride state that takes attributes for standing attacks which I modified to include crouching attacks as well, but I would much rather be able to parry based off of an attack being high, medium, or low kind of like how it works in Street Fighter 3. Is there a way to do this with this method or am I going to have to look into doing it another way? I have put the states that I am using below.
Here are the states in my -2 Statedef
;--------------------------------------------------------------------------- ; Parry Code ; Adapted from https://mugenguild.com/forum/index.php?topic=43756.msg264689;topicseen#msg264689 ; and https://mugenguild.com/forum/topics/help-parry-kfm-110033.0.html ;--------------------------------------------------------------------------- [State -2: Standing Parry] type = HitOverride trigger1 = StateType = S trigger1 = ctrl = 1 trigger1 = command = "press_fwd" && command != "holdback" && command != "holddown" && command != "holdup" attr = SCA, AA, AP slot = 0 stateno = 10000 time = 6 ignorehitpause = 1 [State -2: Crouching Parry] type = HitOverride trigger1 = StateType = C trigger1 = ctrl = 1 trigger1 = command = "press_down" && command != "holdback" && command != "holdfwd" && command != "holdup" attr = CA, AA, AP slot = 0 stateno = 10000 time = 6 ignorehitpause = 1
Here is the code for Statedef 10000
; Ground Parry [Statedef 10000] type = U movetype = I physics = U anim = IfElse(StateType = S,10000,10001) velset = 0,0 ctrl = 0 poweradd = 0 juggle = 0 facep2 = 1 hitdefpersist = 0 movehitpersist = 0 hitcountpersist = 0 sprpriority = 2 [State 10000, AssertSpecial] type = AssertSpecial trigger1 = 1 flag = NoWalk [State 10000, CtrlSet] type = CtrlSet trigger1 = (Time > 4) && (StateType = S) value = 1 [State 10000, NotHitBy] type = NotHitBy trigger1 = 1 value = SCA [State 10000, Pause] type = Pause trigger1 = !Time time = 8 movetime = 8 [State 10000: PlaySnd] type = PlaySnd trigger1 = !Time value = S10000,0 [State 10000: ChangeState] type = ChangeState trigger1 = !AnimTime ctrl = 1 value = IfElse(StateType = S,0,11)
I really want to have parrying be based off of hitflag types instead of strictly the state the enemy is in when they perform an attack. I have an uppercut on this character and having to exclusively do a low parry for that feels odd when it hits as a medium. I took a look at the trigger reference for GetHitVar and I'm wondering if that could come in handy here somehow. I tried throwing it on the trigger1 in the -2 states but it just made it so the parry doesn't work at all so I took it off. I'm wondering if anyone else has any input on this? Thanks to anyone who takes a look!
3 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now