for (i=0; i<MAXPLAYERS; i++){
say someone is on #1 and the other is on #4 - is there a ratio/multiplier, like #1 having x3 priority/ 3:4 ? ? ? ???
no. It just goes in order.
If something happens "at the same time" to two people, it actually happens to the player with a lower control slot first.
For example, if you have Snake on player 4, drop a grenade as player 1 grabs you, if the grenade explodes, it will register as the grenade dealing damage/knockback on player 1 first, and player 4 will go into the "ow, you escaped" animation instead of the "OW I GOT HIT OUT OF MY GRAB AND I'M DYING!" animation.
Meanwhile, if player 4 had been grabbing player 1 and the grenade explodes, making a hitbox cover both of them at the same time, the game registers player 4 getting hit first, so player 4 goes flying up while player 1 goes into the "aha, you let go of me" animation.
Don't get controller port priority confused with move priority, since that's more dependent on placement and timing more than anything.
More explanation:
Taking a guess from a programming standpoint, they probably have some sort of "loop" that goes through each players going from player 1 to 4 (in increasing order) and makes checks to see if something (like... a grenade exploding) had occurred to each player.
The rest is probably dependent on the order of
what they check.
}