#undef S
+ Score BishopPinBonus = make_score(15, 25);
+
// Bonus for having the side to move (modified by Joona Kiiski)
const Score Tempo = make_score(24, 11);
KingDangerTable[0][i] = apply_weight(make_score(t, 0), make_score(KingDanger[0], 0));
KingDangerTable[1][i] = apply_weight(make_score(t, 0), make_score(KingDanger[1], 0));
}
+
+ BishopPinBonus = make_score(Options["pin_open"], Options["pin_end"]);
}
// of threat evaluation must be done later when we have full attack info.
if (ei.attackedBy[Them][PAWN] & s)
score -= ThreatenedByPawnPenalty[Piece];
+ else if (Piece == BISHOP && (PseudoAttacks[Piece][pos.king_square(Them)] & s)) {
+ const Bitboard between = BetweenBB[s][pos.king_square(Them)] & pos.pieces();
+ if (!more_than_one(between))
+ score += BishopPinBonus;
+ }
// Bishop and knight outposts squares
if ( (Piece == BISHOP || Piece == KNIGHT)