diff --git a/backend/bang/expansions/dodge_city/characters.py b/backend/bang/expansions/dodge_city/characters.py index caa455d..4c2ac74 100644 --- a/backend/bang/expansions/dodge_city/characters.py +++ b/backend/bang/expansions/dodge_city/characters.py @@ -92,6 +92,13 @@ class PatBrennan(Character): self.desc_eng = "Instead of drawing he can steal a card from the equipment of another player." self.icon = '🤗' +class JoseDelgrado(Character): + def __init__(self): + super().__init__("José Delgrado", max_lives=4) + self.desc = "Può scartare una carta blu per pescare 2 carte." + self.desc_eng = "He can discard a blue card to draw 2 cards." + self.icon = '🎒' + def all_characters() -> List[Character]: return [ PixiePete(), @@ -107,6 +114,7 @@ def all_characters() -> List[Character]: VeraCuster(), ChuckWengam(), PatBrennan(), + JoseDelgrado(), ] #Apache Kid: il suo effetto non conta nei duelli diff --git a/backend/bang/players.py b/backend/bang/players.py index 9a66c0f..61ccb27 100644 --- a/backend/bang/players.py +++ b/backend/bang/players.py @@ -677,10 +677,14 @@ class Player: def scrap(self, card_index): if self.is_my_turn or isinstance(self.character, chars.SidKetchum): self.scrapped_cards += 1 + card = self.hand.pop(card_index) if isinstance(self.character, chars.SidKetchum) and self.scrapped_cards == 2: self.scrapped_cards = 0 self.lives = min(self.lives+1, self.max_lives) - self.game.deck.scrap(self.hand.pop(card_index)) + elif isinstance(self.character, chd.JoseDelgrado) and card.is_equipment: + self.hand.append(self.game.deck.draw()) + self.hand.append(self.game.deck.draw()) + self.game.deck.scrap(card) self.notify_self() def chuck_lose_hp_draw(self): diff --git a/frontend/src/components/Player.vue b/frontend/src/components/Player.vue index 63c3016..58dad84 100644 --- a/frontend/src/components/Player.vue +++ b/frontend/src/components/Player.vue @@ -20,8 +20,9 @@

{{desc}}

- + +
{{$t('hand')}} @@ -48,6 +49,8 @@ +
@@ -94,6 +97,7 @@ export default { desc: '', sidScrapForHealth: [], sidWantsScrapForHealth: false, + joseScrap:false, mancato_needed: 0, name: '', }),