heyho
try to work with that here:
maybe u have to adapt it a little bit , but defining tags (i guess case sensitive!)to the actors(objects you roll on , walls doors,grounds) and checking at a component hit would be a simple solution
be careful this doesnot work with bsp brushes i guess^^
i hope i could help a little bit