State-based player collision