fix logiche

This commit is contained in:
Alberto Xamin 2020-12-23 18:38:26 +01:00
parent 57b9520eed
commit 0e2edb7a24
No known key found for this signature in database
GPG Key ID: 4F026F48309500A2
3 changed files with 5 additions and 7 deletions

View File

@ -198,10 +198,9 @@ class Bang(Card):
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.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)) player.game.attack(player, against, double=player.character.check(player.game, chars.SlabTheKiller))
return True return True
return False return False

View File

@ -259,9 +259,7 @@ class Game:
self.players[self.turn].pending_action = pl.PendingAction.PLAY self.players[self.turn].pending_action = pl.PendingAction.PLAY
self.players[self.turn].notify_self() self.players[self.turn].notify_self()
def next_player(self): def next_player(self): #viene usato solo per passare la dinamite
if self.check_event(ceh.CorsaAllOro):
return self.players[(self.turn - 1) % len(self.players)]
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):

View File

@ -326,6 +326,7 @@ class Player:
if self.character.check(self.game, chars.BartCassidy) and self.lives > 0: if self.character.check(self.game, chars.BartCassidy) and self.lives > 0:
self.hand.append(self.game.deck.draw(True)) 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.sio.emit('chat_message', room=self.game.name, data=f'_special_bart_cassidy|{self.name}')
self.heal_if_needed()
if self.lives <= 0: if self.lives <= 0:
return self.notify_self() 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.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]):