newDepth = depth - ONE_PLY + extension;
// Step 13. Pruning at shallow depth
- if ( !captureOrPromotion
+ if ( !RootNode
+ && !captureOrPromotion
&& !inCheck
&& !dangerous
&& bestValue > VALUE_MATED_IN_MAX_PLY)
{
int score = RootMoves[i].score;
- // Don't allow crazy blunders even at very low skills
- if (i > 0 && RootMoves[i - 1].score > score + 2 * PawnValueMg)
- break;
-
// This is our magic formula
score += ( weakness * int(RootMoves[0].score - score)
+ variance * (rng.rand<unsigned>() % weakness)) / 128;