From: Chris Caino Date: Mon, 14 Oct 2013 17:53:08 +0000 (+0200) Subject: Remove a drawing rule from KBPsK function X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=0c68971c13f02dc0303716457fe96ed2f8c095e5 Remove a drawing rule from KBPsK function The rule can be incorrect if the attacking king is well placed e.g. 8/6K1/8/8/7k/1B6/7P/8 w - - 0 1 bench: 8279065 --- diff --git a/src/endgame.cpp b/src/endgame.cpp index c8d22280..b9ac17a2 100644 --- a/src/endgame.cpp +++ b/src/endgame.cpp @@ -407,19 +407,8 @@ ScaleFactor Endgame::operator()(const Position& pos) const { Square kingSq = pos.king_square(weakSide); if ( opposite_colors(queeningSq, bishopSq) - && abs(file_of(kingSq) - pawnFile) <= 1) - { - // The bishop has the wrong color, and the defending king is on the - // file of the pawn(s) or the adjacent file. Find the rank of the - // frontmost pawn. - Square pawnSq = frontmost_sq(strongSide, pawns); - - // If the defending king has distance 1 to the promotion square or - // is placed somewhere in front of the pawn, it's a draw. - if ( square_distance(kingSq, queeningSq) <= 1 - || relative_rank(weakSide, kingSq) <= relative_rank(weakSide, pawnSq)) - return SCALE_FACTOR_DRAW; - } + && square_distance(queeningSq, kingSq) <= 1) + return SCALE_FACTOR_DRAW; } // All pawns on same B or G file? Then potential draw