score += ThreatByMinor[type_of(pos.piece_on(s))];
if (type_of(pos.piece_on(s)) != PAWN)
score += ThreatByRank * (int)relative_rank(Them, s);
+
+ else if (pos.blockers_for_king(Them) & s)
+ score += ThreatByRank * (int)relative_rank(Them, s) / 2;
}
b = weak & attackedBy[Us][ROOK];
score += ThreatByRook[type_of(pos.piece_on(s))];
if (type_of(pos.piece_on(s)) != PAWN)
score += ThreatByRank * (int)relative_rank(Them, s);
+
+ else if (pos.blockers_for_king(Them) & s)
+ score += ThreatByRank * (int)relative_rank(Them, s) / 2;
}
if (weak & attackedBy[Us][KING])