diff --git a/src/evaluate.cpp b/src/evaluate.cpp index 38ff20619d4..9513695b896 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -437,6 +437,12 @@ namespace { safe = ~pos.pieces(Them); safe &= ~attackedBy[Us][ALL_PIECES] | (weak & attackedBy2[Them]); + // Add some demolition checks + safe |= pos.pieces(Us) + & ~attackedBy[Us][PAWN] + & attackedBy2[Them] + & ~attackedBy2[Us]; + b1 = attacks_bb(ksq, pos.pieces() ^ pos.pieces(Us, QUEEN)); b2 = attacks_bb(ksq, pos.pieces() ^ pos.pieces(Us, QUEEN)); @@ -447,12 +453,6 @@ namespace { b1 &= attackedBy[Them][ROOK]; b2 &= attackedBy[Them][BISHOP]; - // Add some demolition checks - safe |= pos.pieces(Us) - & ~attackedBy[Us][PAWN] - & attackedBy2[Them] - & ~attackedBy2[Us]; - // Enemy rooks checks if (b1 & safe) kingDanger += RookSafeCheck;