diff --git a/src/endgame.cpp b/src/endgame.cpp index b64b3d1b..681b290c 100644 --- a/src/endgame.cpp +++ b/src/endgame.cpp @@ -163,7 +163,7 @@ Value Endgame::operator()(const Position& pos) const { ||(pos.count(strongSide) && pos.count(strongSide)) ||(pos.count(strongSide) > 1 && opposite_colors(pos.squares(strongSide)[0], pos.squares(strongSide)[1]))) - result += VALUE_KNOWN_WIN; + result = std::min(result + VALUE_KNOWN_WIN, VALUE_MATE_IN_MAX_PLY - 1); return strongSide == pos.side_to_move() ? result : -result; }