- // Major piece attacking enemy pawns on the same rank/file
- Bitboard pawns = pos.pieces(Them, PAWN) & PseudoAttacks[ROOK][s];
- if (pawns)
- score += popcount<Max15>(pawns) * (Pt == ROOK ? RookOnPawn : QueenOnPawn);
- }
+ // Rook piece attacking enemy pawns on the same rank/file
+ if (relative_rank(Us, s) >= RANK_5)
+ {
+ Bitboard pawns = pos.pieces(Them, PAWN) & PseudoAttacks[ROOK][s];
+ if (pawns)
+ score += popcount<Max15>(pawns) * RookOnPawn;
+ }