Forbid promotion to pieces with value ending in 3
[fairymax.git] / fairymax.c
index 2046aaa..9589df7 100644 (file)
@@ -896,7 +896,7 @@ printf("# promo = %d (%c) GT = %d\n", prom, prom + '`', GT);
                 GT = (Side == WHITE ? piecetype : blacktype)[line[4]&31];\r
                 if(GT) PromPiece = (Side == WHITE ? 7 : 7+pm) - GT, GT |= 32 + Side;\r
                 {char *c=line; K=c[0]-16*c[1]+799;L=c[2]-16*c[3]+799; }\r
-                if(w[GT&15] == -1) L = S; // spoil move for promotion to King\r
+                if(w[GT&15] == -1 || w[GT&15]%10 == 3) L = S; // spoil move for promotion to King (or when marked non-promoting)\r
                 if (m & line[1] != '@')\r
                         /* doesn't have move syntax */\r
                        printf("Error (unknown command): %s\n", command);\r