Fix check detection for Sittuyin promotions.
// Is there a discovered check?
if ( type_of(m) != DROP
&& (st->blockersForKing[~sideToMove] & from)
- && ( !aligned(from, to, square<KING>(~sideToMove))
- || (attackers_to(square<KING>(~sideToMove), (pieces() ^ from) | to) & pieces(sideToMove))))
+ && (attackers_to(square<KING>(~sideToMove), (pieces() ^ from) | to) & pieces(sideToMove)))
return true;
switch (type_of(m))
expect perft.exp placement startpos 4 1597696 > /dev/null
expect perft.exp sittuyin startpos 3 580096 > /dev/null
expect perft.exp sittuyin "fen 8/8/6R1/s3r3/P5R1/1KP3p1/1F2kr2/8[-] b - - 0 72" 4 657824 > /dev/null
+expect perft.exp sittuyin "fen 2r5/6k1/6p1/3s2P1/3npR2/8/p2N2F1/3K4 w - - 1 50" 4 394031 > /dev/null
rm perft.exp