fix some bot errors
This commit is contained in:
parent
93c090ef58
commit
ea74a7f910
@ -330,6 +330,7 @@ class Game:
|
|||||||
if (self.waiting_for > 0):
|
if (self.waiting_for > 0):
|
||||||
self.responders_did_respond_resume_turn()
|
self.responders_did_respond_resume_turn()
|
||||||
|
|
||||||
|
if not player in self.players: return
|
||||||
index = self.players.index(player)
|
index = self.players.index(player)
|
||||||
died_in_his_turn = self.started and index == self.turn
|
died_in_his_turn = self.started and index == self.turn
|
||||||
if self.started and index <= self.turn:
|
if self.started and index <= self.turn:
|
||||||
|
@ -223,7 +223,7 @@ class Player:
|
|||||||
self.play_card(i)
|
self.play_card(i)
|
||||||
has_played = True
|
has_played = True
|
||||||
break
|
break
|
||||||
elif len([c for c in self.hand if c.need_target and not (self.has_played_bang and not (any([isinstance(c, cs.Volcanic) for c in self.equipment]) and not self.game.check_event(ce.Lazo)))]) > 0:
|
elif len([c for c in self.hand if c.need_target and c.can_be_used_now and not (c.is_equipment and self.game.check_event(ce.IlGiudice)) and not (self.has_played_bang and not (any([isinstance(c, cs.Volcanic) for c in self.equipment]) and not self.game.check_event(ce.Lazo)))]) > 0:
|
||||||
for i in range(len(self.hand)):
|
for i in range(len(self.hand)):
|
||||||
if self.hand[i].need_target and not (self.has_played_bang and not any([isinstance(c, cs.Volcanic) for c in self.equipment])):
|
if self.hand[i].need_target and not (self.has_played_bang and not any([isinstance(c, cs.Volcanic) for c in self.equipment])):
|
||||||
if self.hand[i].need_with and len(self.hand) < 2:
|
if self.hand[i].need_with and len(self.hand) < 2:
|
||||||
@ -267,7 +267,7 @@ class Player:
|
|||||||
elif self.pending_action == PendingAction.RESPOND:
|
elif self.pending_action == PendingAction.RESPOND:
|
||||||
did_respond = False
|
did_respond = False
|
||||||
for i in range(len(self.hand)):
|
for i in range(len(self.hand)):
|
||||||
if self.hand[i].name in self.expected_response:
|
if self.hand[i].can_be_used_now and self.hand[i].name in self.expected_response:
|
||||||
self.respond(i)
|
self.respond(i)
|
||||||
did_respond = True
|
did_respond = True
|
||||||
break
|
break
|
||||||
@ -305,7 +305,8 @@ class Player:
|
|||||||
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,
|
||||||
'icon': isinstance(p.role, r.Sheriff),
|
'icon': '⭐️' if isinstance(p.role, r.Sheriff) else '🤠',
|
||||||
|
'alt_text': ''.join(['❤️']*p.lives)+''.join(['💀']*(p.max_lives-p.lives))
|
||||||
} for p in self.game.players if p != self and p.lives < p.max_lives]
|
} for p in self.game.players if p != self and p.lives < p.max_lives]
|
||||||
self.available_cards.append({'icon': '❌'})
|
self.available_cards.append({'icon': '❌'})
|
||||||
self.pending_action = PendingAction.CHOOSE
|
self.pending_action = PendingAction.CHOOSE
|
||||||
@ -460,7 +461,10 @@ class Player:
|
|||||||
did_play_card = False
|
did_play_card = False
|
||||||
event_blocks_card = (self.game.check_event(ce.IlGiudice) and (card.is_equipment or (card.usable_next_turn and not card.can_be_used_now))) or (self.game.check_event(ce.Lazo) and card.usable_next_turn and card.can_be_used_now)
|
event_blocks_card = (self.game.check_event(ce.IlGiudice) and (card.is_equipment or (card.usable_next_turn and not card.can_be_used_now))) or (self.game.check_event(ce.Lazo) and card.usable_next_turn and card.can_be_used_now)
|
||||||
if not(against != None and isinstance(self.game.get_player_named(against).character, chd.ApacheKid) and card.suit == cs.Suit.DIAMONDS) and not event_blocks_card:
|
if not(against != None and isinstance(self.game.get_player_named(against).character, chd.ApacheKid) and card.suit == cs.Suit.DIAMONDS) and not event_blocks_card:
|
||||||
did_play_card = card.play_card(self, against, withCard)
|
if against == self.name and not isinstance(card, csd.Tequila):
|
||||||
|
did_play_card = False
|
||||||
|
else:
|
||||||
|
did_play_card = card.play_card(self, against, withCard)
|
||||||
if not card.is_equipment and not card.usable_next_turn or event_blocks_card:
|
if not card.is_equipment and not card.usable_next_turn or event_blocks_card:
|
||||||
if did_play_card:
|
if did_play_card:
|
||||||
self.game.deck.scrap(card)
|
self.game.deck.scrap(card)
|
||||||
|
Loading…
Reference in New Issue
Block a user