};
// Assorted bonuses and penalties used by evaluation
- const Score KingOnPawnOne = S(0 , 64);
- const Score KingOnPawnMany = S(0 ,128);
+ const Score KingOnOne = S(2 , 58);
+ const Score KingOnMany = S(6 ,125);
const Score RookOnPawn = S(10, 28);
const Score RookOpenFile = S(43, 21);
const Score RookSemiOpenFile = S(19, 10);
& ei.attackedBy[Them][PAWN]
& (ei.attackedBy[Us][KNIGHT] | ei.attackedBy[Us][BISHOP]);
- if(protectedEnemies)
+ if (protectedEnemies)
score += Threat[Minor][type_of(pos.piece_on(lsb(protectedEnemies)))];
// Enemies not defended by a pawn and under our attack
if (b)
score += more_than_one(b) ? Hanging * popcount<Max15>(b) : Hanging;
- b = weakEnemies & pos.pieces(Them, PAWN) & ei.attackedBy[Us][KING];
+ b = weakEnemies & ei.attackedBy[Us][KING];
if (b)
- score += more_than_one(b) ? KingOnPawnMany : KingOnPawnOne;
+ score += more_than_one(b) ? KingOnMany : KingOnOne;
}
if (Trace)
mbonus += k * rr, ebonus += k * rr;
}
- else if(pos.pieces(Us) & blockSq)
+ else if (pos.pieces(Us) & blockSq)
mbonus += rr * 3 + r * 2 + 3, ebonus += rr + r * 2;
} // rr != 0