sparatoria

This commit is contained in:
Alberto Xamin 2020-12-23 15:41:10 +01:00
parent 76641f08d5
commit 39377bbb31
No known key found for this signature in database
GPG Key ID: 4F026F48309500A2
3 changed files with 14 additions and 2 deletions

View File

@ -197,8 +197,11 @@ class Bang(Card):
elif against != None:
import bang.characters as chars
super().play_card(player, against=against)
player.bang_used += 1
player.has_played_bang = not isinstance(
player.character, chars.WillyTheKid)
if player.game.check_event(ceh.Sparatoria) and player.has_played_bang:
player.has_played_bang = player.bang_used > 1
player.game.attack(player, against, double=player.character.check(player.game, chars.SlabTheKiller))
return True
return False
@ -335,7 +338,8 @@ class Mancato(Card):
return False
player.sio.emit('chat_message', room=player.game.name,
data=f'_special_calamity|{player.name}|{self.name}|{against}')
player.has_played_bang = True
player.bang_used += 1
player.has_played_bang = True if not player.game.check_event(ceh.Sparatoria) else player.bang_used > 1
player.game.attack(player, against)
return True
return False

View File

@ -50,6 +50,12 @@ class Sermone(CardEvent):
self.desc = "I giocatori non possono giocare Bang!"
self.desc_eng = ""
class Sparatoria(CardEvent):
def __init__(self):
super().__init__("Sparatoria", "‼️")
self.desc = "Il limite di bang è 2 invece che 1!"
self.desc_eng = ""
class MezzogiornoDiFuoco(CardEvent):
def __init__(self):
super().__init__("Mezzogiorno di Fuoco", "🔥")
@ -69,7 +75,7 @@ def get_all_events():
Sbornia(),
Sermone(),
Sete(),
# Sparatoria(),
Sparatoria(),
]
random.shuffle(cards)
# cards.append(MezzogiornoDiFuoco())

View File

@ -59,6 +59,7 @@ class Player:
self.mancato_needed = 0
self.molly_discarded_cards = 0
self.is_bot = bot
self.bang_used = 0
self.special_use_count = 0
def reset(self):
@ -319,6 +320,7 @@ class Player:
self.is_waiting_for_action = True
self.has_played_bang = False
self.special_use_count = 0
self.bang_used = 0
if self.game.check_event(ce.FratelliDiSangue) and self.lives > 1 and not self.is_giving_life and len([p for p in self.game.players if p != self and p.lives < p.max_lives]):
self.available_cards = [{
'name': p.name,