As above, you don't need all those entitytypes.
On paper, I would draw myself a grid , with all the different entity types on it, player, walls, robots for example.
Now I ask myself what can collide with what,
Can player collide with other players, walls, robots?
Can Walls collide with player, other walls, robots?
Can robots collide with player, walls or other robots?
I would then use this information to set collision types and then build my collision commands. Remembering that depending on the situation I may need to reference the collision both ways (player to robot and robot to player).
On paper, I would draw myself a grid , with all the different entity types on it, player, walls, robots for example.
Now I ask myself what can collide with what,
Can player collide with other players, walls, robots?
Can Walls collide with player, other walls, robots?
Can robots collide with player, walls or other robots?
I would then use this information to set collision types and then build my collision commands. Remembering that depending on the situation I may need to reference the collision both ways (player to robot and robot to player).