It appears that when a black pawn reaches the 3rd rank, Board.GetLegalMoves() is confused and thinks the pawn is in the 7th rank. It returns legal moves such as 'a2a1q', despite the pawn being on 'a3' rather than on 'a2'.
Generated this situation on version 1.18 (actually on current head as of this issue), and repeatably finding it when MyBot is set to a copy of EvilBot with additional logic analyzing promotion moves. Interestingly, selecting that move in the shown position does not appear to be recognized as Illegal Move.
It appears that when a black pawn reaches the 3rd rank, Board.GetLegalMoves() is confused and thinks the pawn is in the 7th rank. It returns legal moves such as 'a2a1q', despite the pawn being on 'a3' rather than on 'a2'.
Generated this situation on version 1.18 (actually on current head as of this issue), and repeatably finding it when MyBot is set to a copy of EvilBot with additional logic analyzing promotion moves. Interestingly, selecting that move in the shown position does not appear to be recognized as Illegal Move.