Implement target of Counter, Mirror Coat and Metal Burst

We _still_ haven't renamed this to `onBeforeTurn`?