Enable endgame evaluation for S-Chess
authorFabian Fichter <ianfab@users.noreply.github.com>
Sat, 30 Nov 2019 11:44:06 +0000 (12:44 +0100)
committerFabian Fichter <ianfab@users.noreply.github.com>
Sat, 30 Nov 2019 11:44:06 +0000 (12:44 +0100)
seirawan STC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 4672 W: 1609 L: 1473 D: 1590
http://www.variantfishtest.org:6543/tests/view/5dd852366e23db1ffe4a27a7

seirawan LTC
LLR: -0.69 (-2.94,2.94) [0.00,10.00]
Total: 12745 W: 3995 L: 3856 D: 4894
http://www.variantfishtest.org:6543/tests/view/5ddba1946e23db1ffe4a27cd

src/position.h
src/variant.cpp

index d572cd8..f662fbc 100644 (file)
@@ -389,7 +389,7 @@ inline bool Position::piece_demotion() const {
 
 inline bool Position::endgame_eval() const {
   assert(var != nullptr);
-  return var->endgameEval;
+  return var->endgameEval && !count_in_hand(WHITE, ALL_PIECES) && !count_in_hand(BLACK, ALL_PIECES);
 }
 
 inline bool Position::double_step_enabled() const {
index d7be37a..1a24cc4 100644 (file)
@@ -252,7 +252,7 @@ namespace {
         return v;
     }
     Variant* pocketknight_variant() {
-        Variant* v = fairy_variant_base();
+        Variant* v = chess_variant();
         v->pocketSize = 2;
         v->startFen = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR[Nn] w KQkq - 0 1";
         v->pieceDrops = true;
@@ -290,7 +290,7 @@ namespace {
         return v;
     }
     Variant* seirawan_variant() {
-        Variant* v = fairy_variant_base();
+        Variant* v = chess_variant();
         v->variantTemplate = "seirawan";
         v->pieceToCharTable = "PNBRQ.E..........H...Kpnbrq.e..........h...k";
         v->add_piece(ARCHBISHOP, 'h');