diff --git a/src/evaluate.cpp b/src/evaluate.cpp index a63b40ae984..6b329bb0def 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -132,21 +132,21 @@ namespace { // Outpost[knight/bishop][supported by pawn] contains bonuses for knights and // bishops outposts, bigger if outpost piece is supported by a pawn. const Score Outpost[][2] = { - { S(42,11), S(63,17) }, // Knights - { S(18, 5), S(27, 8) } // Bishops + { S(43,11), S(65,20) }, // Knights + { S(20, 3), S(29, 8) } // Bishops }; // ReachableOutpost[knight/bishop][supported by pawn] contains bonuses for // knights and bishops which can reach an outpost square in one move, bigger // if outpost square is supported by a pawn. const Score ReachableOutpost[][2] = { - { S(21, 5), S(31, 8) }, // Knights - { S( 8, 2), S(13, 4) } // Bishops + { S(21, 5), S(35, 8) }, // Knights + { S( 8, 0), S(14, 4) } // Bishops }; // RookOnFile[semiopen/open] contains bonuses for each rook when there is no // friendly pawn on the rook file. - const Score RookOnFile[2] = { S(19, 10), S(43, 21) }; + const Score RookOnFile[2] = { S(20, 7), S(45, 20) }; // ThreatBySafePawn[PieceType] contains bonuses according to which piece // type is attacked by a pawn which is protected or is not attacked. @@ -181,13 +181,13 @@ namespace { // Assorted bonuses and penalties used by evaluation const Score MinorBehindPawn = S(16, 0); const Score BishopPawns = S( 8, 12); - const Score RookOnPawn = S( 7, 27); + const Score RookOnPawn = S( 8, 24); const Score TrappedRook = S(92, 0); const Score Checked = S(20, 20); - const Score ThreatByHangingPawn = S(70, 63); + const Score ThreatByHangingPawn = S(71, 61); const Score LooseEnemies = S( 0, 25); - const Score Hanging = S(48, 28); - const Score ThreatByPawnPush = S(31, 19); + const Score Hanging = S(48, 27); + const Score ThreatByPawnPush = S(38, 22); const Score Unstoppable = S( 0, 20); // Penalty for a bishop on a1/h1 (a8/h8 for black) which is trapped by @@ -209,10 +209,10 @@ namespace { // Penalties for enemy's safe checks const int QueenContactCheck = 89; - const int QueenCheck = 50; + const int QueenCheck = 52; const int RookCheck = 45; - const int BishopCheck = 6; - const int KnightCheck = 14; + const int BishopCheck = 5; + const int KnightCheck = 17; // eval_init() initializes king and attack bitboards for a given color