fix equipment usable on equipment slot

This commit is contained in:
GM 2023-01-14 17:46:19 +00:00
parent cea89bf9b4
commit e966c82d5f
2 changed files with 8 additions and 8 deletions

View File

@ -66,7 +66,7 @@ class Card(ABC):
if (player.game.check_event(ce.IlGiudice)) and self.usable_next_turn and not self.can_be_used_now: if (player.game.check_event(ce.IlGiudice)) and self.usable_next_turn and not self.can_be_used_now:
return False return False
if self.is_equipment: if self.is_equipment:
if (player.game.check_event(ce.IlGiudice)): if (player.game.check_event(ce.IlGiudice)) or not self.can_be_used_now:
return False return False
if self.is_weapon: if self.is_weapon:
has_weapon = False has_weapon = False
@ -89,7 +89,6 @@ class Card(ABC):
else: else:
player.sio.emit('chat_message', room=player.game.name, player.sio.emit('chat_message', room=player.game.name,
data=f'_play_card|{player.name}|{self.name}') data=f'_play_card|{player.name}|{self.name}')
self.reset_card()
return True return True
def use_card(self, player): def use_card(self, player):
@ -154,7 +153,7 @@ class Prigione(Card):
if (player.game.check_event(ce.IlGiudice)): if (player.game.check_event(ce.IlGiudice)):
return False return False
if against != None and not isinstance(player.game.get_player_named(against).role, r.Sheriff): if against != None and not isinstance(player.game.get_player_named(against).role, r.Sheriff):
self.reset_card() self.can_be_used_now = False
player.sio.emit('chat_message', room=player.game.name, player.sio.emit('chat_message', room=player.game.name,
data=f'_play_card_against|{player.name}|{self.name}|{against}') data=f'_play_card_against|{player.name}|{self.name}|{against}')
player.game.get_player_named(against).equipment.append(self) player.game.get_player_named(against).equipment.append(self)

View File

@ -10,7 +10,7 @@ class Fantasma(Card):
self.icon = '👻️' #porta in vita i giocatori morti ma non self.icon = '👻️' #porta in vita i giocatori morti ma non
def play_card(self, player, against, _with=None): def play_card(self, player, against, _with=None):
if (player.game.check_event(ce.IlGiudice)): if (player.game.check_event(ce.IlGiudice)) or not self.can_be_used_now:
return False return False
if len(player.game.get_dead_players(include_ghosts=False)) > 0: if len(player.game.get_dead_players(include_ghosts=False)) > 0:
player.pending_action = pl.PendingAction.CHOOSE player.pending_action = pl.PendingAction.CHOOSE
@ -22,7 +22,8 @@ class Fantasma(Card):
'alt_text': ''.join(['❤️']*p.lives)+''.join(['💀']*(p.max_lives-p.lives)), 'alt_text': ''.join(['❤️']*p.lives)+''.join(['💀']*(p.max_lives-p.lives)),
'is_character': True, 'is_character': True,
'is_player': True 'is_player': True
} for p in player.game.get_dead_players(include_ghosts=False)] } for p in player.game.get_dead_players(include_ghosts=False)]
self.can_be_used_now = False
player.game.deck.scrap(self, True) player.game.deck.scrap(self, True)
return True return True
return False return False
@ -41,10 +42,10 @@ class SerpenteASonagli(Card):
self.alt_text = "♠️ =💔" self.alt_text = "♠️ =💔"
def play_card(self, player, against, _with=None): def play_card(self, player, against, _with=None):
if (player.game.check_event(ce.IlGiudice)): if (player.game.check_event(ce.IlGiudice)) or not self.can_be_used_now:
return False return False
if against != None: if against != None:
self.reset_card() self.can_be_used_now = False
player.sio.emit('chat_message', room=player.game.name, player.sio.emit('chat_message', room=player.game.name,
data=f'_play_card_against|{player.name}|{self.name}|{against}') data=f'_play_card_against|{player.name}|{self.name}|{against}')
player.game.get_player_named(against).equipment.append(self) player.game.get_player_named(against).equipment.append(self)
@ -64,7 +65,7 @@ class Taglia(Card):
self.icon = '💰' # chiunque colpisca il giocatore con la taglia pesca una carta dal mazzo, si toglie solo con panico, cat balou, dalton self.icon = '💰' # chiunque colpisca il giocatore con la taglia pesca una carta dal mazzo, si toglie solo con panico, cat balou, dalton
def play_card(self, player, against, _with=None): def play_card(self, player, against, _with=None):
if (player.game.check_event(ce.IlGiudice)): if (player.game.check_event(ce.IlGiudice)) or not self.can_be_used_now:
return False return False
if against != None: if against != None:
self.can_be_used_now = False self.can_be_used_now = False