diff --git a/backend/__init__.py b/backend/__init__.py index 235f574..90d3876 100644 --- a/backend/__init__.py +++ b/backend/__init__.py @@ -106,5 +106,10 @@ def choose(sid, card_index): ses = sio.get_session(sid) ses.choose(card_index) +@sio.event +def scrap(sid, card_index): + ses = sio.get_session(sid) + ses.scrap(card_index) + if __name__ == '__main__': eventlet.wsgi.server(eventlet.listen(('', 5001)), app) diff --git a/backend/players.py b/backend/players.py index cc594e0..518ec41 100644 --- a/backend/players.py +++ b/backend/players.py @@ -234,7 +234,7 @@ class Player: else: self.equipment.append(card) else: - did_play_card = len(self.hand) + 1 > self.lives + did_play_card = False if isinstance(card, cards.Bang) and self.has_played_bang and not any([isinstance(c, cards.Volcanic) for c in self.equipment]) and againts != None: self.hand.insert(hand_index, card) return @@ -461,6 +461,11 @@ class Player: covers += card.vis_mod return self.character.visibility_mod + covers + def scrap(self, card_index): + if self.is_my_turn or isinstance(self.character, characters.SidKetchum): + self.game.deck.scrap(self.hand.pop(card_index)) + self.notify_self() + def end_turn(self, forced=False): if not self.is_my_turn: return if len(self.hand) > self.max_lives and not forced: diff --git a/frontend/src/components/Deck.vue b/frontend/src/components/Deck.vue index 8e1ee8f..854bc43 100644 --- a/frontend/src/components/Deck.vue +++ b/frontend/src/components/Deck.vue @@ -1,5 +1,6 @@