per un pugno di carte
This commit is contained in:
parent
6aafd48e16
commit
f47c8fb053
@ -60,7 +60,7 @@ class MinieraAbbandonata(CardEvent):
|
|||||||
self.desc_eng = "Players draw from the discarded pile and discard to the deck"
|
self.desc_eng = "Players draw from the discarded pile and discard to the deck"
|
||||||
|
|
||||||
class PerUnPugnoDiCarte(CardEvent):
|
class PerUnPugnoDiCarte(CardEvent):
|
||||||
def __init__(self):#TODO
|
def __init__(self):
|
||||||
super().__init__("Per Un Pugno Di Carte", "🎴")
|
super().__init__("Per Un Pugno Di Carte", "🎴")
|
||||||
self.desc = "Nel suo turno giocatore subisce tanti bang quante carte ha in mano"
|
self.desc = "Nel suo turno giocatore subisce tanti bang quante carte ha in mano"
|
||||||
self.desc_eng = "On his turn the player is target of as many Bang as how many cards he has in his hand"
|
self.desc_eng = "On his turn the player is target of as many Bang as how many cards he has in his hand"
|
||||||
@ -106,7 +106,7 @@ def get_all_events():
|
|||||||
LeggeDelWest(),
|
LeggeDelWest(),
|
||||||
LiquoreForte(),
|
LiquoreForte(),
|
||||||
MinieraAbbandonata(),
|
MinieraAbbandonata(),
|
||||||
# PerUnPugnoDiCarte(),
|
PerUnPugnoDiCarte(),
|
||||||
Peyote(),
|
Peyote(),
|
||||||
# Ranch(),
|
# Ranch(),
|
||||||
# Rimbalzo(),
|
# Rimbalzo(),
|
||||||
|
@ -28,6 +28,7 @@ class Game:
|
|||||||
self.shutting_down = False
|
self.shutting_down = False
|
||||||
self.is_competitive = False
|
self.is_competitive = False
|
||||||
self.disconnect_bot = True
|
self.disconnect_bot = True
|
||||||
|
self.player_bangs = 0
|
||||||
|
|
||||||
def notify_room(self, sid=None):
|
def notify_room(self, sid=None):
|
||||||
if len([p for p in self.players if p.character == None]) != 0 or sid:
|
if len([p for p in self.players if p.character == None]) != 0 or sid:
|
||||||
@ -207,6 +208,14 @@ class Game:
|
|||||||
return self.players[self.players_map[name]]
|
return self.players[self.players_map[name]]
|
||||||
|
|
||||||
def responders_did_respond_resume_turn(self):
|
def responders_did_respond_resume_turn(self):
|
||||||
|
if self.player_bangs > 0 and self.check_event(ce.PerUnPugnoDiCarte):
|
||||||
|
self.player_bangs -= 1
|
||||||
|
if self.player_bangs > 1:
|
||||||
|
self.players[self.turn].get_banged('')
|
||||||
|
self.players[self.turn].notify_self()
|
||||||
|
else:
|
||||||
|
self.player_bangs = 0
|
||||||
|
self.players[self.turn].play_turn()
|
||||||
self.readyCount += 1
|
self.readyCount += 1
|
||||||
if self.readyCount == self.waiting_for:
|
if self.readyCount == self.waiting_for:
|
||||||
self.waiting_for = 0
|
self.waiting_for = 0
|
||||||
@ -218,6 +227,7 @@ class Game:
|
|||||||
return self.players[(self.turn + 1) % len(self.players)]
|
return self.players[(self.turn + 1) % len(self.players)]
|
||||||
|
|
||||||
def play_turn(self):
|
def play_turn(self):
|
||||||
|
self.player_bangs = 0
|
||||||
if isinstance(self.players[self.turn].role, roles.Sheriff):
|
if isinstance(self.players[self.turn].role, roles.Sheriff):
|
||||||
self.deck.flip_event()
|
self.deck.flip_event()
|
||||||
if self.check_event(ce.DeadMan) and len(self.dead_players) > 0:
|
if self.check_event(ce.DeadMan) and len(self.dead_players) > 0:
|
||||||
@ -227,6 +237,11 @@ class Game:
|
|||||||
self.players[-1].hand.append(self.deck.draw())
|
self.players[-1].hand.append(self.deck.draw())
|
||||||
self.players_map = {c.name: i for i, c in enumerate(self.players)}
|
self.players_map = {c.name: i for i, c in enumerate(self.players)}
|
||||||
self.players[-1].notify_self()
|
self.players[-1].notify_self()
|
||||||
|
if self.check_event(ce.PerUnPugnoDiCarte):
|
||||||
|
self.player_bangs = len(self.players[self.turn].hand)
|
||||||
|
self.players[self.turn].get_banged('')
|
||||||
|
self.players[self.turn].notify_self()
|
||||||
|
else:
|
||||||
self.players[self.turn].play_turn()
|
self.players[self.turn].play_turn()
|
||||||
|
|
||||||
def next_turn(self):
|
def next_turn(self):
|
||||||
|
Loading…
Reference in New Issue
Block a user