captureOrPromotion = pos.capture_or_promotion(move);
givesCheck = pos.gives_check(move, ci);
dangerous = givesCheck
- || pos.advanced_pawn_push(move)
- || type_of(move) == CASTLING;
+ || type_of(move) != NORMAL
+ || pos.advanced_pawn_push(move);
// Step 12. Extend checks
if (givesCheck && pos.see_sign(move) >= 0)
&& futilityBase > -VALUE_KNOWN_WIN
&& !pos.advanced_pawn_push(move))
{
- futilityValue = futilityBase
- + PieceValue[EG][pos.piece_on(to_sq(move))]
- + (type_of(move) == ENPASSANT ? PawnValueEg : VALUE_ZERO);
+ assert(type_of(move) != ENPASSANT); // Due to !pos.advanced_pawn_push
+
+ futilityValue = futilityBase + PieceValue[EG][pos.piece_on(to_sq(move))];
if (futilityValue < beta)
{