Well as far as collision goes, its either solid or not solid. Then when you press the action key it actually momentarily jumps out of the movement code and reads the strings representing the character to determine the exact type of tile you are standing on or next to, and performs actions based on those tiles.