fix not resetting cards
This commit is contained in:
parent
cae194aa6d
commit
7dfcdc9e7d
@ -39,6 +39,7 @@ class Card(ABC):
|
|||||||
self.can_be_used_now = True
|
self.can_be_used_now = True
|
||||||
self.usable_next_turn = False
|
self.usable_next_turn = False
|
||||||
self.need_with = False
|
self.need_with = False
|
||||||
|
self.must_be_used = False
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
char = ['♦️', '♣️', '♥️', '♠️'][int(self.suit)]
|
char = ['♦️', '♣️', '♥️', '♠️'][int(self.suit)]
|
||||||
@ -48,6 +49,12 @@ class Card(ABC):
|
|||||||
def num_suit(self):
|
def num_suit(self):
|
||||||
return f"{['♦️', '♣️', '♥️', '♠️'][int(self.suit)]}{self.number}"
|
return f"{['♦️', '♣️', '♥️', '♠️'][int(self.suit)]}{self.number}"
|
||||||
|
|
||||||
|
def reset_card(self):
|
||||||
|
if self.usable_next_turn:
|
||||||
|
self.can_be_used_now = False
|
||||||
|
if self.must_be_used:
|
||||||
|
self.must_be_used = False
|
||||||
|
|
||||||
def play_card(self, player, against=None, _with=None):#self --> carta
|
def play_card(self, player, against=None, _with=None):#self --> carta
|
||||||
if self.is_equipment:
|
if self.is_equipment:
|
||||||
if self.is_weapon:
|
if self.is_weapon:
|
||||||
@ -70,6 +77,7 @@ 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):
|
||||||
|
@ -85,8 +85,7 @@ class Deck:
|
|||||||
return self.draw()
|
return self.draw()
|
||||||
|
|
||||||
def scrap(self, card: cs.Card, ignore_event = False):
|
def scrap(self, card: cs.Card, ignore_event = False):
|
||||||
if card.usable_next_turn:
|
card.reset_card()
|
||||||
card.can_be_used_now = False
|
|
||||||
if self.game.check_event(ce.MinieraAbbandonata) and not ignore_event:
|
if self.game.check_event(ce.MinieraAbbandonata) and not ignore_event:
|
||||||
self.put_on_top(card)
|
self.put_on_top(card)
|
||||||
else:
|
else:
|
||||||
|
@ -516,8 +516,10 @@ class Game:
|
|||||||
elif len(vulture) == 2:
|
elif len(vulture) == 2:
|
||||||
for i in range(len(player.hand)):
|
for i in range(len(player.hand)):
|
||||||
vulture[i%2].hand.append(player.hand.pop())
|
vulture[i%2].hand.append(player.hand.pop())
|
||||||
|
vulture[i%2].hand[-1].reset_card()
|
||||||
for i in range(len(player.equipment)):
|
for i in range(len(player.equipment)):
|
||||||
vulture[i%2].hand.append(player.equipment.pop())
|
vulture[i%2].hand.append(player.equipment.pop())
|
||||||
|
vulture[i%2].hand[-1].reset_card()
|
||||||
vulture[0].notify_self()
|
vulture[0].notify_self()
|
||||||
vulture[1].notify_self()
|
vulture[1].notify_self()
|
||||||
else:
|
else:
|
||||||
|
@ -579,8 +579,7 @@ class Player:
|
|||||||
card = target.hand.pop(card_index)
|
card = target.hand.pop(card_index)
|
||||||
target.notify_self()
|
target.notify_self()
|
||||||
if self.choose_action == 'steal':
|
if self.choose_action == 'steal':
|
||||||
if card.usable_next_turn:
|
card.reset_card()
|
||||||
card.can_be_used_now = False
|
|
||||||
self.hand.append(card)
|
self.hand.append(card)
|
||||||
else:
|
else:
|
||||||
self.game.deck.scrap(card, True)
|
self.game.deck.scrap(card, True)
|
||||||
@ -683,8 +682,7 @@ class Player:
|
|||||||
elif self.is_drawing and self.character.check(self.game, chd.PatBrennan):
|
elif self.is_drawing and self.character.check(self.game, chd.PatBrennan):
|
||||||
self.is_drawing = False
|
self.is_drawing = False
|
||||||
card = self.available_cards.pop(card_index)
|
card = self.available_cards.pop(card_index)
|
||||||
if card.usable_next_turn:
|
card.reset_card()
|
||||||
card.can_be_used_now = False
|
|
||||||
self.hand.append(card)
|
self.hand.append(card)
|
||||||
self.available_cards = []
|
self.available_cards = []
|
||||||
self.game.get_player_named(self.pat_target).notify_self()
|
self.game.get_player_named(self.pat_target).notify_self()
|
||||||
|
Loading…
Reference in New Issue
Block a user