Over the Christmas holidays I implemented the base of a cover system including the AI. It's pretty raw right now and there's a lot that needs ironing out, but it's getting there. The AI selects cover based on their current weapon and the players last known location. Cover can also be invalidated in a number of ways by the player. The next steps will involve augmenting the group logic for the enemies with tactical retreats and advances to create some real flow and movement to the encounters.