/// score() assigns a numerical value to each move in a list, used for sorting.
/// Captures are ordered by Most Valuable Victim (MVV), preferring captures
-/// near our home rank. Quiets are ordered using the histories.
+/// with a good history. Quiets are ordered using the histories.
template<GenType Type>
void MovePicker::score() {
if (pos.see_ge(move))
return move;
+ if ( type_of(pos.piece_on(to_sq(move))) == KNIGHT
+ && type_of(pos.moved_piece(move)) == BISHOP
+ && (cur-1)->value > 1090)
+ return move;
+
// Losing capture, move it to the beginning of the array
*endBadCaptures++ = move;
}