Check evasions are tactical replies specific to the preceding moves
(as checks cannot be pre-existing), and are thus not suitable for trying
in sibbling nodes that do not check. It is even unlikely they would carry
over to other checks.
if(score > INF-100 && curMove >= m.nonCapts)
mateKillers[(ff->wholeMove & 0xFFFF) + (stm - WHITE << 11)] = moveStack[curMove] & 0xFFFF | f.xking << 16 | board[f.toSqr] << 24; // store mate killers
if(score >= beta) { // beta cutoff
- if(curMove >= m.nonCapts && moveStack[curMove] != killers[ply][1])
+ if(f.checker == CK_NONE && curMove >= m.nonCapts && moveStack[curMove] != killers[ply][1])
killers[ply][0] = killers[ply][1], killers[ply][1] = moveStack[curMove];
resultDepth = f.depth;
goto cutoff; // done with this node