show legge del west card

This commit is contained in:
Alberto Xamin 2021-05-28 11:58:32 +02:00
parent 7dfcdc9e7d
commit 8103a532cf
No known key found for this signature in database
GPG Key ID: 4F026F48309500A2
4 changed files with 24 additions and 2 deletions

View File

@ -143,6 +143,7 @@ class Prigione(Card):
def play_card(self, player, against, _with=None):
if against != None and not isinstance(player.game.get_player_named(against).role, r.Sheriff):
self.reset_card()
player.sio.emit('chat_message', room=player.game.name,
data=f'_play_card_against|{player.name}|{self.name}|{against}')
player.game.get_player_named(against).equipment.append(self)

View File

@ -154,6 +154,7 @@ class Bibbia(Schivata):
return False
else:
if not self.is_duplicate_card(player):
self.reset_card()
player.equipment.append(self)
return True
else:
@ -173,7 +174,9 @@ class Cappello(Mancato):
pass
return False
else:
self.reset_card()
if not self.is_duplicate_card(player):
self.reset_card()
player.equipment.append(self)
return True
else:
@ -203,7 +206,9 @@ class Pugnale(Pugno):
if self.can_be_used_now:
return super().play_card(player, against=against)
else:
self.reset_card()
if not self.is_duplicate_card(player):
self.reset_card()
player.equipment.append(self)
return True
else:
@ -224,6 +229,7 @@ class Derringer(Pugnale):
return super().play_card(player, against=against)
else:
if not self.is_duplicate_card(player):
self.reset_card()
player.equipment.append(self)
return True
else:
@ -251,6 +257,7 @@ class Borraccia(Card):
return True
else:
if not self.is_duplicate_card(player):
self.reset_card()
player.equipment.append(self)
return True
else:
@ -270,6 +277,7 @@ class PonyExpress(WellsFargo):
return super().play_card(player, against)
else:
if not self.is_duplicate_card(player):
self.reset_card()
player.equipment.append(self)
return True
else:
@ -289,6 +297,7 @@ class Howitzer(Gatling):
return super().play_card(player, against)
else:
if not self.is_duplicate_card(player):
self.reset_card()
player.equipment.append(self)
return True
else:
@ -309,6 +318,7 @@ class CanCan(CatBalou):
return super().play_card(player, against)
else:
if not self.is_duplicate_card(player):
self.reset_card()
player.equipment.append(self)
return True
else:
@ -330,6 +340,7 @@ class Conestoga(Panico):
return super().play_card(player, against)
else:
if not self.is_duplicate_card(player):
self.reset_card()
player.equipment.append(self)
return True
else:
@ -353,6 +364,7 @@ class Pepperbox(Bang):
return False
else:
if not self.is_duplicate_card(player):
self.reset_card()
player.equipment.append(self)
return True
else:
@ -377,6 +389,7 @@ class FucileDaCaccia(Card):
return False
else:
if not self.is_duplicate_card(player):
self.reset_card()
player.equipment.append(self)
return True
else:

View File

@ -437,10 +437,12 @@ class Player:
for i in range(2):
card: cs.Card = self.game.deck.draw()
self.hand.append(card)
if i == 1 and self.character.check(self.game, chars.BlackJack) or self.game.check_event(ce.LeggeDelWest):
if i == 1 and (self.character.check(self.game, chars.BlackJack) or self.game.check_event(ce.LeggeDelWest)):
for p in self.game.get_alive_players():
if p != self:
p.notify_card(self, card, 'blackjack_special' if self.character.check(self.game, chars.BlackJack) else 'foc.leggedelwest')
if self.game.check_event(ce.LeggeDelWest):
card.must_be_used = True
if card.check_suit(self.game, [cs.Suit.HEARTS, cs.Suit.DIAMONDS]) and self.character.check(self.game, chars.BlackJack):
self.hand.append(self.game.deck.draw())
if self.game.check_event(ceh.Sete):
@ -997,6 +999,9 @@ class Player:
for i in range(len(self.equipment)):
if self.equipment[i].usable_next_turn and not self.equipment[i].can_be_used_now:
self.equipment[i].can_be_used_now = True
for i in range(len(self.hand)):
if self.hand[i].must_be_used:
self.hand[i].must_be_used = False
if self.is_dead and self.is_ghost and self.game.check_event(ceh.CittaFantasma):
self.is_ghost = False
for i in range(len(self.hand)):

View File

@ -1,5 +1,5 @@
<template>
<div :class="{ card: true, equipment: card.is_equipment, character:card.is_character, back:card.is_back, 'usable-next-turn':card.usable_next_turn}">
<div :class="{ card: true, equipment: card.is_equipment, character:card.is_character, back:card.is_back, 'usable-next-turn':card.usable_next_turn, 'must-be-used':card.must_be_used}">
<h4>{{cardName}}</h4>
<div class="emoji">{{card.icon}}</div>
<div class="alt_text">{{card.alt_text}}</div>
@ -121,6 +121,9 @@ export default {
font-size:26pt;
top: 35%;
}
.card.must-be-used {
filter: drop-shadow(0 0 5px red);
}
.fistful-of-cards .emoji, .high-noon .emoji{
top:auto !important;
bottom:15% !important;