X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=naja%2Factions.py;h=c7717ea9062197a618172b59b9a4da6c88a3eda4;hb=7e4bfa583e543435076471d46a53aaff1eccb83f;hp=9f3b221b3af18cf033093465d0306a9ec1ddab93;hpb=1f40f66ea696f9c1e5eb067f4327c94c8c2043ea;p=naja.git diff --git a/naja/actions.py b/naja/actions.py index 9f3b221..c7717ea 100644 --- a/naja/actions.py +++ b/naja/actions.py @@ -185,3 +185,22 @@ class AllowChessMove(LocationAction): if self.data['chesspiece'] in CHESS_PIECES: chesspiece = CHESS_PIECES[self.data['chesspiece']] board.allow_chess_move(chesspiece) + + +class AllowChessMoveIfMSB(LocationAction): + TEXT = "Clear {MSB} and move like a %(chesspiece_name)s for one turn." + MSB_GLYPH = ACTION_GLYPHS.MOVEMENT + + def perform_action(self, board, location): + if self.data['chesspiece'] in CHESS_PIECES: + if self.check_and_clear_MSB(board.player): + chesspiece = CHESS_PIECES[self.data['chesspiece']] + board.allow_chess_move(chesspiece) + + +class GainMSB(LocationAction): + TEXT = "Set {MSB}." + GLYPHS = (ACTION_GLYPHS.MSB,) + + def perform_action(self, board, location): + board.player.bits.set_bit(BITS.MSB)