You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Some problems with the included Dizzy systemย #561
These aren't so much problems with the engine itself as they are with Dizzy.zss, but:
1 - The Dizzy state (default 5300) needs a HitFallReset. If the move that stuns the opponent is a knockdown, the first hit after he's dizzy will also knock down.
2 - If you change the Default.LifeToDizzyPointsMul constant to anything but 0, redizzy combos become possible. That is, hitting an opponent that is already dizzy will still do stun damage.
3 - If you juggle the opponent just as he's stunned, he will skip the dizzy state when he lands.
4 - The dizzy state should be vulnerable to throws, somehow. Most chars miss since it's Movetype=H.
5 - If you hit the opponent while his dizzy points are regenerating, your attack will do slightly less stun damage than it's supposed to, since the points still regenerate for 1 frame when he's hit.
6 - TargetLifeAdd is currently unaffected by Default.LifeToDizzyPointsMul. Also this is more of a feature request, but there could be a parameter so you could make this Sctrl add dizzy points or not. Either a flag like "Kill", or a multiplier that defaults to said constant.
7 - Not a bug, but in most games the opponent is invulnerable immediately once DizzyPoints = 0 and until he get ups. I think this should be the default Ikemen behaviour.
8 - Another feature request that I should post on its own but I might as well leave it here: there could be an AssertSpecial flag to disable Dizzy Points damage (as well as Guard Points for that matter). As in, once asserted, none of your attacks deal stun damage to the opponent.
1 - I'm not sure how to do it from within cns/zss code. Any ideas?
2 - Fixed. hitDef and targetLifeAdd now skips dizzy points applying, if target is already dizzy
4 - I've simply changed statdef 5300 moveType from U to I. It shouldn't have negative consequences unless I'm missing something?
6 - Added targetLifeAdd sctrl dizzy parameter: 1 enables damage to dizzy points conversion support using Default.LifeToDizzyPointsMul const (true by default).
8 - Godd idea. Added both requested AssertSpecial flags. And with this change I was able to assign Default.LifeToDizzyPointsMul in common.const instead of relying on receivedDamage trigger (nodizzypoints is now asserted in dizzy.zss when hitDefAttr = SCA, HA, so workaround to achieve it is not needed)
1, 3, 5, 7 - I think this stuff can be handled by editing dizzy.zss file but I'm afraid I don't have enough experience with character creation to implement such changes without introducing regressions. Any help with it would be appreciated. Feel free to edit dizzy.zss, if you like, all of the proposed changes would be internalized.
2 - The important thing here is also that this behaviour is only reset once the dizzy victim can act again. I forgot to specify that
4 - That works but the combo counter will then reset while the character is dizzy. Unless you apply the Dizzy flag sooner, which is what I did below
EDIT: Actually that doesn't seem to be working, but you get the idea.
6 and 8 - Excellent! Thanks. Although, if I can make another suggestion, "nodizzypoints" sounds like it disables the player from getting dizzy instead of causing dizzy. Maybe "nodizzypointsdamage" or something of the sort?
1, 3, 5, 7 - I'm not quite used to the ZSS language but I gave it a shot. Every change should be commented. dizzy.zip
Thanks! Implemented your changes to latest version of zss file, renamed flags, fixed the combo counter, added more comments. I've moved dizzy reset back to -2 since dizzy points staying at 0 for the duration of dizzy is intended (this way stunbar can show custom anim for dizzy). Please let me know if you still find some oddities with it.
I will play around with it a bit more when the next release comes out, but:
# Hyper attacks don't affect dizzy points
ignoreHitPause if hitDefAttr = SCA, HA {
assertSpecial{flag: nodizzypointsdamage}
I think this will cause issues when you do want hyper attacks to deal stun damage.
One other thing is I'm wondering whether the NotHitBy should be both in State -2 and the Dizzy states themselves, afterall. The reason being, for instance, my Ryu's Denjin Hadouken causes Dizzy even if that feature is turned off, and what I did was just send the target into the Dizzy.zss states. In that case (Dizzy option off) I think P2 will be unaffected by the State -2 code.
new constant: Super.LifeToDizzyPointsMul (works like Default.LifeToDizzyPointsMul, but for super moves)
With this constant (default value = 0) calling assertSpecial flag is not needed. Super moves with actual dizzypoints values assigned in HitDef will do intended dizzy damage.
Activity
Dizzy changes #561
K4thos commentedon Jun 12, 2022
1 - I'm not sure how to do it from within cns/zss code. Any ideas?
2 - Fixed. hitDef and targetLifeAdd now skips dizzy points applying, if target is already dizzy
4 - I've simply changed statdef 5300 moveType from U to I. It shouldn't have negative consequences unless I'm missing something?
6 - Added targetLifeAdd sctrl dizzy parameter: 1 enables damage to dizzy points conversion support using Default.LifeToDizzyPointsMul const (true by default).
8 - Godd idea. Added both requested AssertSpecial flags. And with this change I was able to assign Default.LifeToDizzyPointsMul in common.const instead of relying on receivedDamage trigger (nodizzypoints is now asserted in dizzy.zss when hitDefAttr = SCA, HA, so workaround to achieve it is not needed)
1, 3, 5, 7 - I think this stuff can be handled by editing dizzy.zss file but I'm afraid I don't have enough experience with character creation to implement such changes without introducing regressions. Any help with it would be appreciated. Feel free to edit dizzy.zss, if you like, all of the proposed changes would be internalized.
potsmugen commentedon Jun 12, 2022
1 - My bad. I meant a HitFallSet with value = 0
2 - The important thing here is also that this behaviour is only reset once the dizzy victim can act again. I forgot to specify that
4 - That works but the combo counter will then reset while the character is dizzy. Unless you apply the Dizzy flag sooner, which is what I did below
EDIT: Actually that doesn't seem to be working, but you get the idea.
6 and 8 - Excellent! Thanks. Although, if I can make another suggestion, "nodizzypoints" sounds like it disables the player from getting dizzy instead of causing dizzy. Maybe "nodizzypointsdamage" or something of the sort?
1, 3, 5, 7 - I'm not quite used to the ZSS language but I gave it a shot. Every change should be commented.
dizzy.zip
Dizzy changes part2
K4thos commentedon Jun 12, 2022
Thanks! Implemented your changes to latest version of zss file, renamed flags, fixed the combo counter, added more comments. I've moved dizzy reset back to -2 since dizzy points staying at 0 for the duration of dizzy is intended (this way stunbar can show custom anim for dizzy). Please let me know if you still find some oddities with it.
potsmugen commentedon Jun 14, 2022
I will play around with it a bit more when the next release comes out, but:
I think this will cause issues when you do want hyper attacks to deal stun damage.
One other thing is I'm wondering whether the NotHitBy should be both in State -2 and the Dizzy states themselves, afterall. The reason being, for instance, my Ryu's Denjin Hadouken causes Dizzy even if that feature is turned off, and what I did was just send the target into the Dizzy.zss states. In that case (Dizzy option off) I think P2 will be unaffected by the State -2 code.
Dizzy changes part3
K4thos commentedon Jun 14, 2022
With this constant (default value = 0) calling assertSpecial flag is not needed. Super moves with actual dizzypoints values assigned in HitDef will do intended dizzy damage.
potsmugen commentedon Jun 14, 2022
That does sound like a better solution. Both simple and flexible.