X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fposition.cpp;h=8ea3f00a7881abee5bc80bd472da882359f0fc64;hp=cecdcbf8a0e2e59029a7890011e9ecbd683c952a;hb=9207baed653224dce3d695ac76cc08a0e941bdbb;hpb=b191df5ebe8d2819f8a6e091f885cd450e5095d4 diff --git a/src/position.cpp b/src/position.cpp index cecdcbf8..8ea3f00a 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -1195,12 +1195,6 @@ int Position::see(Move m, int asymmThreshold) const { do { assert(slIndex < 32); - if (captured == KING) // Stop before processing a king capture - { - swapList[slIndex++] = QueenValueMg * 16; - break; - } - // Add the new entry to the swap list swapList[slIndex] = -swapList[slIndex - 1] + PieceValue[MG][captured]; slIndex++; @@ -1211,6 +1205,15 @@ int Position::see(Move m, int asymmThreshold) const { stm = ~stm; stmAttackers = attackers & pieces(stm); + if (captured == KING) + { + // Stop before processing a king capture + if (stmAttackers) + swapList[slIndex++] = QueenValueMg * 16; + + break; + } + } while (stmAttackers); // If we are doing asymmetric SEE evaluation and the same side does the first