protected override void OnUnMove(int move) { if (!MovePackHelper.HasCapture(move)) { board.ZKey ^= ZKeyForCastling[(int)board.CastlingStatus]; board.CastlingStatus ^= MovePackHelper.GetCastleMask(move); board.ZKey ^= ZKeyForCastling[(int)board.CastlingStatus]; } }