diff --git a/src/search.cpp b/src/search.cpp index de67560a..651bd95b 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -953,11 +953,13 @@ moves_loop: // When in check, search starts from here else if (cutNode && singularBeta > beta) return beta; } - else if ( givesCheck // Check extension (~2 Elo) - && pos.see_ge(move)) + + // Check extension (~2 Elo) + else if ( givesCheck + && (pos.blockers_for_king(~us) & from_sq(move) || pos.see_ge(move))) extension = ONE_PLY; - // Extension if castling + // Castling extension else if (type_of(move) == CASTLING) extension = ONE_PLY;