Do not accept engine 50-move claims in Makruk
authorH.G.Muller <hgm@hgm-xboard.(none)>
Wed, 22 Feb 2017 19:53:32 +0000 (20:53 +0100)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Wed, 22 Feb 2017 19:53:32 +0000 (20:53 +0100)
Normally draw claims are always accepted after 100 reversible ply, even
when -ruleMoves is set different from 50. In Makruk this would allow
engines to cheat, as there is in general no 50-move limitation there.
Now the claims are considered false (but adjudication can still be
configured).

backend.c

index 6d29691..6a61115 100644 (file)
--- a/backend.c
+++ b/backend.c
@@ -8641,7 +8641,7 @@ Adjudicate (ChessProgramState *cps)
                                i++;
                        }
                }
-                if( count >= 100)
+                if( count >= 100 && gameInfo.variant != VariantMakruk) // do not accept 50-move claims in Makruk
                          boards[forwardMostMove][EP_STATUS] = EP_RULE_DRAW;
                          /* this is used to judge if draw claims are legal */
                 if(canAdjudicate && appData.ruleMoves > 0 && count >= 2*appData.ruleMoves) {