diff --git a/modules/core/src/main/scala/de/nowchess/chess/observer/Observer.scala b/modules/core/src/main/scala/de/nowchess/chess/observer/Observer.scala index 3ed526b..7d465c5 100644 --- a/modules/core/src/main/scala/de/nowchess/chess/observer/Observer.scala +++ b/modules/core/src/main/scala/de/nowchess/chess/observer/Observer.scala @@ -1,6 +1,6 @@ package de.nowchess.chess.observer -import de.nowchess.api.board.{Board, Color} +import de.nowchess.api.board.{Board, Color, Square} import de.nowchess.chess.logic.GameHistory /** Base trait for all game state events. @@ -51,6 +51,15 @@ case class InvalidMoveEvent( reason: String ) extends GameEvent +/** Fired when a pawn reaches the back rank and the player must choose a promotion piece. */ +case class PromotionRequiredEvent( + board: Board, + history: GameHistory, + turn: Color, + from: Square, + to: Square +) extends GameEvent + /** Fired when the board is reset. */ case class BoardResetEvent( board: Board,