add circus wagon

This commit is contained in:
Alberto Xamin 2024-06-13 15:57:13 +03:00
parent 344b7cc043
commit c171739db8
No known key found for this signature in database
GPG Key ID: 5ABFCD8A22EA6F5D
2 changed files with 17 additions and 1 deletions

View File

@ -164,8 +164,17 @@ class CircusWagon(TrainCard):
self.icon = "🚋🎪" self.icon = "🚋🎪"
def play_card(self, player, against=None, _with=None) -> bool: def play_card(self, player, against=None, _with=None) -> bool:
player.game.discard_others(player, card_name=self.name)
return True return True
@classmethod
def choose_circus_wagon(cls, player: 'Player', card_index):
player.game.deck.scrap(player.hand.pop(card_index), player=player)
player.pending_action = PendingAction.WAIT
player.game.responders_did_respond_resume_turn()
player.notify_self()
class CoalHopper(TrainCard): class CoalHopper(TrainCard):
"""Scartalo: pesca una carta e scarta un vagone in gioco davanti a un giocatore a ma scelta.""" """Scartalo: pesca una carta e scarta un vagone in gioco davanti a un giocatore a ma scelta."""

View File

@ -1928,7 +1928,7 @@ class Player:
self.notify_self() self.notify_self()
def get_discarded(self, attacker=None, card_name=None, action=None): def get_discarded(self, attacker=None, card_name=None, action=None):
if card_name in {"Tornado", "Poker", "Bandidos"}: if card_name in {"Tornado", "Poker", "Bandidos", "Circus Wagon"}:
self.pending_action = PendingAction.CHOOSE self.pending_action = PendingAction.CHOOSE
self.available_cards = self.hand.copy() self.available_cards = self.hand.copy()
if card_name == "Tornado": if card_name == "Tornado":
@ -1941,6 +1941,13 @@ class Player:
self.available_cards.append( self.available_cards.append(
{"name": "-1hp", "icon": "💔", "noDesc": True} {"name": "-1hp", "icon": "💔", "noDesc": True}
) )
if card_name == "Circus Wagon":
from bang.expansions.train_robbery.trains import CircusWagon
self.set_choose_action(
"choose_circus_wagon",
self.hand.copy(),
CircusWagon.choose_circus_wagon,
)
return True return True
else: else:
if self.can_escape(card_name) or self.character.check( if self.can_escape(card_name) or self.character.check(