Make move validation work for all moves but pawn attack.
Commit for code review.