fix miniera abbandonata

This commit is contained in:
Alberto Xamin 2024-06-02 16:15:48 +01:00
parent c9df3d0b78
commit 72dc942901
No known key found for this signature in database
GPG Key ID: 5ABFCD8A22EA6F5D
2 changed files with 33 additions and 1 deletions

View File

@ -141,7 +141,15 @@ class Deck:
and len(self.scrap_pile) > 0
and not ignore_event
):
return self.draw_from_scrap_pile()
card = self.draw_from_scrap_pile()
if player is not None and self.game.replay_speed > 0:
G.sio.emit(
"card_drawn",
room=self.game.name,
data={"player": player.name, "pile": "scrap"},
)
player.hand.append(card)
return card
card = self.cards.pop(0)
if len(self.cards) == 0:
self.reshuffle()

View File

@ -0,0 +1,24 @@
from tests import started_game, set_events, current_player, next_player, current_player_with_cards
from bang.expansions.fistful_of_cards.card_events import *
import bang.cards as cs
def test_miniera_abbandonata():
g = started_game(['fistful_of_cards'])
set_events(g, [MinieraAbbandonata()])
p = current_player(g)
starting_cards = len(p.hand)
g.deck.scrap_pile = [
cs.Bang(0, 0),
cs.Bang(0, 1),
cs.Bang(0, 2),
cs.Bang(0, 3),
]
p.draw("")
assert len(p.hand) == starting_cards + 2
# check the last two cards are the ones from the scrap pile
assert p.hand[-2].name == cs.Bang(0, 0).name
assert p.hand[-2].number == 3
assert p.hand[-1].name == cs.Bang(0, 0).name
assert p.hand[-1].number == 2