Improved interact methods for GameObject and GroundItem

I've tested them a decent amount and they both seem to be reliable.