Merge branch 'high_noon'
Conflicts: backend/bang/expansions/high_noon/card_events.py backend/bang/game.py
This commit is contained in:
commit
60f421eb93
@ -198,10 +198,9 @@ class Bang(Card):
|
||||
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.has_played_bang = player.bang_used > 1
|
||||
if player.character.check(player.game, chars.WillyTheKid):
|
||||
player.has_played_bang = False
|
||||
player.game.attack(player, against, double=player.character.check(player.game, chars.SlabTheKiller))
|
||||
return True
|
||||
return False
|
||||
|
@ -16,49 +16,49 @@ class Maledizione(CardEvent):
|
||||
class Sbornia(CardEvent):
|
||||
def __init__(self):
|
||||
super().__init__("Sbornia", "🥴")
|
||||
self.desc = "I personaggi perdono la loro abilità speciale"
|
||||
self.desc = "I personaggi perdono le loro abilità speciali"
|
||||
self.desc_eng = ""
|
||||
|
||||
class Sete(CardEvent):
|
||||
def __init__(self):
|
||||
super().__init__("Sete", "🥵")
|
||||
self.desc = "I giocatori pescano solo 1 carta"
|
||||
self.desc = "I giocatori pescano 1 carta in meno nella loro fase 1"
|
||||
self.desc_eng = ""
|
||||
|
||||
class IlTreno(CardEvent):
|
||||
def __init__(self):
|
||||
super().__init__("Il Treno", "🚂")
|
||||
self.desc = "I giocatori pescano 1 carta extra"
|
||||
self.desc = "I giocatori pescano 1 carta extra nella loro fase 1"
|
||||
self.desc_eng = ""
|
||||
|
||||
class IlReverendo(CardEvent):
|
||||
def __init__(self):
|
||||
super().__init__("Il Reverendo", "⛪️")
|
||||
self.desc = "Non si possono giocare birre"
|
||||
self.desc = "Non si possono giocare le carte Birra"
|
||||
self.desc_eng = ""
|
||||
|
||||
class IlDottore(CardEvent):
|
||||
def __init__(self):
|
||||
super().__init__("Il Dottore", "👨⚕️")
|
||||
self.desc = "Il giocatore con meno vite recupera 1 vita"
|
||||
self.desc = "Il/i giocatore/i con meno vite ne recupera/no una"
|
||||
self.desc_eng = ""
|
||||
|
||||
class Sermone(CardEvent):
|
||||
def __init__(self):
|
||||
super().__init__("Sermone", "✝️")
|
||||
self.desc = "I giocatori non possono giocare Bang!"
|
||||
self.desc = "I giocatori non possono giocare Bang! durante il loro turno"
|
||||
self.desc_eng = ""
|
||||
|
||||
class Sparatoria(CardEvent):
|
||||
def __init__(self):
|
||||
super().__init__("Sparatoria", "‼️")
|
||||
self.desc = "Il limite di bang è 2 invece che 1!"
|
||||
super().__init__("Sparatoria", "🔫🔫")
|
||||
self.desc = "Il limite di Bang! per turno è 2 invece che 1"
|
||||
self.desc_eng = ""
|
||||
|
||||
class CorsaAllOro(CardEvent):
|
||||
def __init__(self):
|
||||
super().__init__("Corsa All'Oro", "🌟")
|
||||
self.desc = "Si gioca in senso antiorario!"
|
||||
self.desc = "Si gioca per un intero giro in senso antiorario, tuttavia gli effetti delle carte rimangono invariati"
|
||||
self.desc_eng = ""
|
||||
|
||||
class IDalton(CardEvent):
|
||||
@ -67,6 +67,18 @@ class IDalton(CardEvent):
|
||||
self.desc = "Chi ha carte blu in gioco ne scarta 1 a sua scelta"
|
||||
self.desc_eng = ""
|
||||
|
||||
class Manette(CardEvent):
|
||||
def __init__(self):
|
||||
super().__init__("Manette", "🔗")
|
||||
self.desc = "Dopo aver pescato in fase 1, il giocatore di turno dichiara un seme: potrà usare solamente carte di quel seme nel suo turno"
|
||||
self.desc_eng = ""
|
||||
|
||||
class NuovaIdentita(CardEvent):
|
||||
def __init__(self):
|
||||
super().__init__("Nuova Identità", "🕶")
|
||||
self.desc = "All'inizio del proprio turno, ogni giocatore potrà decidere se sostituire il suo personaggio attuale con quello era stato proposto ad inizio partita, se lo fa riparte con 2 punti vita"
|
||||
self.desc_eng = ""
|
||||
|
||||
class CittaFantasma(CardEvent):
|
||||
def __init__(self):
|
||||
super().__init__("Città Fantasma", "👻")
|
||||
@ -93,6 +105,8 @@ def get_all_events():
|
||||
Sermone(),
|
||||
Sete(),
|
||||
Sparatoria(),
|
||||
# Manette(),
|
||||
# NuovaIdentita(),
|
||||
]
|
||||
random.shuffle(cards)
|
||||
cards.append(MezzogiornoDiFuoco())
|
||||
|
@ -263,8 +263,6 @@ class Game:
|
||||
|
||||
def next_player(self):
|
||||
pls = self.get_alive_players()
|
||||
if self.check_event(ceh.CorsaAllOro):
|
||||
return pls[(pls.index(self.players[self.turn]) - 1) % len(pls)]
|
||||
return pls[(pls.index(self.players[self.turn]) + 1) % len(pls)]
|
||||
|
||||
def play_turn(self):
|
||||
|
@ -326,6 +326,7 @@ class Player:
|
||||
if self.character.check(self.game, chars.BartCassidy) and self.lives > 0:
|
||||
self.hand.append(self.game.deck.draw(True))
|
||||
self.sio.emit('chat_message', room=self.game.name, data=f'_special_bart_cassidy|{self.name}')
|
||||
self.heal_if_needed()
|
||||
if self.lives <= 0:
|
||||
return self.notify_self()
|
||||
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.get_alive_players() if p != self and p.lives < p.max_lives]):
|
||||
|
Loading…
Reference in New Issue
Block a user