From 3262580592ab7fb377676e8001a589e2bee3f0a1 Mon Sep 17 00:00:00 2001 From: Alberto Xamin Date: Wed, 8 Feb 2023 13:54:43 +0000 Subject: [PATCH] fix blackflower --- .../the_valley_of_shadows/characters.py | 4 ++-- .../valley_of_shadows_characters_test.py | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/backend/bang/expansions/the_valley_of_shadows/characters.py b/backend/bang/expansions/the_valley_of_shadows/characters.py index 56d4347..5cd1649 100644 --- a/backend/bang/expansions/the_valley_of_shadows/characters.py +++ b/backend/bang/expansions/the_valley_of_shadows/characters.py @@ -9,12 +9,12 @@ class BlackFlower(Character): self.icon = '🥀' def special(self, player, data): #fiori = suit.Clubs - if player.special_use_count > 0 and not any((c.suit == cs.Suit.CLUBS for c in player.hand)): + if player.special_use_count > 0 or not any((c.suit == cs.Suit.CLUBS for c in player.hand)): return False if super().special(player, data): from bang.players import PendingAction - player.special_use_count += 1 player.available_cards = [c for c in player.hand if c.suit == cs.Suit.CLUBS] + player.special_use_count += 1 player.pending_action = PendingAction.CHOOSE player.choose_text = 'blackflower_special' player.notify_self() diff --git a/backend/tests/valley_of_shadows_characters_test.py b/backend/tests/valley_of_shadows_characters_test.py index ecd9171..a144a68 100644 --- a/backend/tests/valley_of_shadows_characters_test.py +++ b/backend/tests/valley_of_shadows_characters_test.py @@ -50,3 +50,22 @@ def test_ColoradoBill(): assert p1.lives == 3 p.play_card(0, p1.name) assert p1.pending_action == PendingAction.RESPOND + +# test BlackFlower +def test_BlackFlower(): + g = Game('test') + ps = [Player(f'p{i}', f'p{i}') for i in range(2)] + for p in ps: + g.add_player(p) + g.start_game() + for p in ps: + p.available_characters = [BlackFlower()] + p.set_character(p.available_characters[0].name) + p = g.players[g.turn] + p.draw('') + p.hand = [cs.Volcanic(cs.Suit.DIAMONDS,0)] + p.special('') + assert p.pending_action == PendingAction.PLAY + p.hand = [cs.Volcanic(cs.Suit.CLUBS,0)] + p.special('') + assert p.pending_action == PendingAction.CHOOSE