From: Marco Costalba Date: Mon, 22 Dec 2008 11:10:15 +0000 (+0100) Subject: Passed pawns: consider enemy rooks or queens from behind X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=e3b03f13b3798389c7ad5e09564a7e662ac34237;ds=sidebyside Passed pawns: consider enemy rooks or queens from behind Merged from Glaurung 2.2 Signed-off-by: Marco Costalba --- diff --git a/src/evaluate.cpp b/src/evaluate.cpp index cf164cda..12329fcd 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -936,6 +936,13 @@ namespace { b2 = squares_in_front_of(us, s); b3 = b2 & ei.attacked_by(them); b4 = b2 & ei.attacked_by(us); + + // If there is an enemy rook or queen attacking the pawn from behind, + // add all X-ray attacks by the rook or queen. + if(bit_is_set(ei.attacked_by(them,ROOK)|ei.attacked_by(them,QUEEN),s) + && squares_behind(us, s) & pos.rooks_and_queens(them)) + b3 = b2; + if((b2 & pos.pieces_of_color(them)) == EmptyBoardBB) { // There are no enemy pieces in the pawn's path! Are any of the // squares in the pawn's path attacked by the enemy?