fix(bot): include quiet promotions in quiescence search
Build & Test (NowChessSystems) TeamCity build finished
Build & Test (NowChessSystems) TeamCity build finished
Quiescence tactical filter only flagged capture-promotions, so a quiet queening on an empty back-rank square was treated as non-tactical and skipped at the search horizon. A bot could therefore miss a winning promotion sitting exactly at the horizon and play another move. All bots (Classical/NNUE/Hybrid) share AlphaBetaSearch and were affected. Treat every promotion as tactical so quiescence always expands it. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -468,5 +468,5 @@ final class AlphaBetaSearch(
|
||||
private def isCapture(context: GameContext, move: Move): Boolean = move.moveType match
|
||||
case MoveType.Normal(true) => true
|
||||
case MoveType.EnPassant => true
|
||||
case MoveType.Promotion(_) => context.board.pieceAt(move.to).exists(_.color != context.turn)
|
||||
case MoveType.Promotion(_) => true
|
||||
case _ => false
|
||||
|
||||
Reference in New Issue
Block a user