From dc9c223bd5b322cbaa9713f9dbfe7d0a41ea69ee Mon Sep 17 00:00:00 2001 From: Fabian Fichter Date: Sat, 22 Apr 2023 17:01:21 +0200 Subject: [PATCH] Fix initiative bonus for flag variants --- src/evaluate.cpp | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/evaluate.cpp b/src/evaluate.cpp index 8582766..1062912 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -1349,10 +1349,15 @@ namespace { template Value Evaluation::winnable(Score score) const { - // No initiative bonus for extinction variants + // No initiative bonus for variants that do not require sufficient mating material, e.g., extinction variants. + // This protects them from misidentification as drawish. int complexity = 0; bool pawnsOnBothFlanks = true; - if (pos.extinction_value() == VALUE_NONE && !pos.captures_to_hand() && !pos.connect_n() && !pos.material_counting()) + if ( pos.extinction_value() == VALUE_NONE + && !pos.captures_to_hand() + && !pos.connect_n() + && !pos.material_counting() + && !(pos.flag_region(WHITE) || pos.flag_region(BLACK))) { int outflanking = !pos.count(WHITE) || !pos.count(BLACK) ? 0 : distance(pos.square(WHITE), pos.square(BLACK)) -- 1.7.0.4