if(ply > 90) { if(DEBUG) Dump("maxply"); ff->depth = 0; ff->lim = ff->newEval-150; return -ff->newEval+150; }
f.xking = location[stm+31]; // opponent King, as stm not yet toggled
if(!earlyGen && ff->mutation > 0) { // if other piece was moved (not dropped!), abort with +INF score if it was pinned
- if(Pinned(stm, ff->fromSqr, f.xking)) return INF;
- if(board[ff->captSqr] == 0 && Pinned(stm, ff->captSqr, f.xking)) return INF; // also check 'e.p. pin'
+ if(Pinned(stm, ff->fromSqr, f.xking) ||
+ board[ff->captSqr] == 0 && Pinned(stm, ff->captSqr, f.xking)) { // also check 'e.p. pin'
+ ff->depth = MAXPLY; ff->lim = -INF; return INF;
+ }
}