>>73315570So in platform fighters there are two different types of hitboxes (in a very oversimplified sense), hitboxes and grabboxes. In general, hitboxes outprioritize grabboxes. So if your grabbox collides with another player at the same time as their hitbox collides with yours, you take the hit and the grab doesn’t happen. In general at least, there are exceptions based on game, like in melee where the grab always connects though the damage gets taken.
In this game though, hitboxes will always overpower a grab and interrupt the grab. But the way I had it, it was different by port priority. If P2 grabbed P1 on the same frame she got hit, she’d take the hit and the grab wouldn’t happen. But if it was the other way, the grab would connect and then on the same frame the hitbox would as well and they’d be knocked out of it. This happened because P1 would run hit/grab collision first, detect she was getting grabbed, and then P2 would run it and get hit by the hitbox, triggering release.
The solution here was to further separate the orchestration and have a separate collision event for grab boxes. So every player would run her hitbox collision event, and if she didn’t get hit, she would run grabbox collision after everyone else ran their hit collision. (P1234 hitcollision -> P1234 grabcollision)
The unintentional effect is that if a hit and grab collide on the same player on the same frame, the grab will fail. But that’s fine. Generally she’d get knocked out of the grab anyway.
Here’s a little example
https://streamable.com/u4loy8