Closed Holycrapjimhox closed 4 years ago
There appear to be 2 separate issues here
Looks like:
Schedule ZOMBIE_CHASE_ENEMY
fails before every delayed shove
Console output:
Schedule ZOMBIE_GRAB_ENEMY
fails before every ignored shove
Console output:
Quarantine lacks proper navigation around those areas so I guess it makes it easier for those two to happen
Re-tested on r-8856. Shoving seems to be more consistent in general. Delayed shoves are fixed, but on some instances, when zombies are not playing any animations, shoves tend to get ignored. This usually happens when a player gets too close to a zombie to trigger an attack (also when they are standing on uneven terrain where pathing is difficult) . The usual response is for the zombie to immediately attack, but occasionally they will stop playing all animations for less than a second, and then attack. Most attempts at shoving the zombie when this occurs result in a missing shove.
Dysphie also shared some more info regarding this issue on the tester's channel: And here's her demo: bulli5.zip
Yeah, I'd agree it's better now! That regression is pretty insignificant but a helpful reproducibility method. I'm not sure whether this potential fix also tackles delayed reactions to shots (pretty rare), since it also uses shove_react, maybe. I'm almost sure this doesn't fix related #1007, though.
Adding video: https://youtu.be/mJZlUwb_WyI
Easy repro steps for delayed shoves, using crawler: https://youtu.be/W_DSUz35YA8
Speculative fix added in src-r4874. (Add 'shoved' as forced interrupt condition)
I ran a quick test and these are the results:
• Shamblers: they seem to register every shove, on corners, on their backs, while trying to navigate tight spaces. The only time they don’t register shoves is when you shove them right as they are climbing up or down and they “space out”, idling, searching for a target.
• Runners: they behaved exactly like shamblers (phasing out when climbing up or down), with the exception that sometimes if you shove them right as they are turning to attack you (while standing still), on the side of their bodies or the back, they will ignore shoves.
• Crawlers: shoving them from the back doesn’t seem to work at all, while other shoves done at an angle sometimes failed. I couldn’t get them to phase out while climbing up or down, but it’s possible. The biggest change here is that they didn’t phase out on my while I shoved them from the front.
• Kids: they behaved exactly like shamblers (phasing out when climbing up or down). I only tested on the girl, cause the boy keeps t-posing.
Note: I used nmo_suzhou's spawn room geometry to test shoves when zombies are against columns or walls and I used the benches to force them to climb up.
Note: the zombies "spacing out" is exactly what Dysphie described here:
"what i did notice is that pushing a zombie while they're climbing down an object gets stuck trying to play SHOVED_REACT"
Fix appears to work, closing as resolved.
Note: according to the game's code, shoving crawlers from the back is disabled since they have angle checks for when to register a shove. Also, runners not registering shoves from behind seems to be a separate issue regarding hit registration itself, since the schedules don't fail anymore. It needs another post with repro steps.
The video speaks for itself: https://www.youtube.com/watch?v=vOmJ4uBFx10
I really don't know what any other info can be gathered about this issue, but it happens at least once in every NMRiH match I've played, and those are many. If there's anything else I can test for, leave a comment.