Ignore temporary immobility for immobilityIllegal
authorFabian Fichter <ianfab@users.noreply.github.com>
Fri, 13 Jan 2023 18:38:54 +0000 (19:38 +0100)
committerFabian Fichter <ianfab@users.noreply.github.com>
Sat, 14 Jan 2023 11:26:31 +0000 (12:26 +0100)
Closes #521.

src/position.cpp

index 1135563..7003ac1 100644 (file)
@@ -1014,7 +1014,7 @@ bool Position::legal(Move m) const {
   }
 
   // No legal moves from target square
-  if (immobility_illegal() && (type_of(m) == DROP || type_of(m) == NORMAL) && !(moves_bb(us, type_of(moved_piece(m)), to, 0) & board_bb()))
+  if (immobility_illegal() && (type_of(m) == DROP || type_of(m) == NORMAL) && !(PseudoMoves[us][type_of(moved_piece(m))][to] & board_bb()))
       return false;
 
   // Illegal king passing move