Allow friend-trampling format also for royal castlings
authorH.G.Muller <hgm@hgm-xboard.(none)>
Thu, 5 Feb 2015 18:44:10 +0000 (19:44 +0100)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Thu, 7 May 2015 18:53:32 +0000 (20:53 +0200)
The restriction that the trampling piece should not be King is lifted.
That the piece has an O atom in its Betza string is enough to qualify.

backend.c

index 43df74d..dbfb234 100644 (file)
--- a/backend.c
+++ b/backend.c
@@ -10011,8 +10011,8 @@ ApplyMove (int fromX, int fromY, int toX, int toY, int promoChar, Board board)
      if(gameInfo.variant == VariantKnightmate)
          king += (int) WhiteUnicorn - (int) WhiteKing;
 
-    if(piece != WhiteKing && piece != BlackKing && pieceDesc[piece] && killX >= 0 && strchr(pieceDesc[piece], 'O') // Betza castling-enabled
-       && (piece < BlackPawn ? killed < BlackPawn : killed >= BlackPawn)) {    // and captures own
+    if(pieceDesc[piece] && killX >= 0 && strchr(pieceDesc[piece], 'O') // Betza castling-enabled
+       && (piece < BlackPawn ? killed < BlackPawn : killed >= BlackPawn)) {    // and tramples own
        board[toY][toX] = piece; board[fromY][fromX] = EmptySquare;
        board[toY][toX + (killX < fromX ? 1 : -1)] = killed;
         board[EP_STATUS] = EP_NONE; // capture was fake!