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

View File

@ -50,6 +50,12 @@ class Sermone(CardEvent):
self.desc = "I giocatori non possono giocare Bang!" self.desc = "I giocatori non possono giocare Bang!"
self.desc_eng = "" 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): class MezzogiornoDiFuoco(CardEvent):
def __init__(self): def __init__(self):
super().__init__("Mezzogiorno di Fuoco", "🔥") super().__init__("Mezzogiorno di Fuoco", "🔥")
@ -69,7 +75,7 @@ def get_all_events():
Sbornia(), Sbornia(),
Sermone(), Sermone(),
Sete(), Sete(),
# Sparatoria(), Sparatoria(),
] ]
random.shuffle(cards) random.shuffle(cards)
# cards.append(MezzogiornoDiFuoco()) # cards.append(MezzogiornoDiFuoco())

View File

@ -59,6 +59,7 @@ class Player:
self.mancato_needed = 0 self.mancato_needed = 0
self.molly_discarded_cards = 0 self.molly_discarded_cards = 0
self.is_bot = bot self.is_bot = bot
self.bang_used = 0
self.special_use_count = 0 self.special_use_count = 0
def reset(self): def reset(self):
@ -319,6 +320,7 @@ class Player:
self.is_waiting_for_action = True self.is_waiting_for_action = True
self.has_played_bang = False self.has_played_bang = False
self.special_use_count = 0 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]): 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 = [{ self.available_cards = [{
'name': p.name, 'name': p.name,