// Hanging contains a bonus for each enemy hanging piece
const Score Hanging = S(23, 20);
+ const Score KingPawnThreatOne = S(0, 64);
+ const Score KingPawnThreatMany = S(0, 128);
#undef S
b = weakEnemies & ~ei.attackedBy[Them][ALL_PIECES];
if (b)
score += more_than_one(b) ? Hanging * popcount<Max15>(b) : Hanging;
- }
+
+ b = weakEnemies & pos.pieces(Them, PAWN) & ei.attackedBy[Us][KING];
+ if (b)
+ score += more_than_one(b) ? KingPawnThreatMany : KingPawnThreatOne;
+ }
if (Trace)
Tracing::terms[Us][Tracing::THREAT] = score;