I guess some more cases for taking cover could be:

-if the player is within a certain distance and can be seen
-if the player shoots a type of weapon? (rocket, laser)