From ed14d34f4b3dbb4db736f583e0fc2c2a86105d7f Mon Sep 17 00:00:00 2001 From: Alberto Xamin Date: Sun, 27 Dec 2020 14:42:23 +0100 Subject: [PATCH] change brightness of unusable cards --- backend/bang/cards.py | 1 + backend/bang/players.py | 1 + frontend/src/App.vue | 1 + frontend/src/components/Card.vue | 3 +++ frontend/src/components/Chat.vue | 2 +- frontend/src/components/Chooser.vue | 2 +- frontend/src/components/Deck.vue | 6 ++++-- frontend/src/components/Lobby.vue | 8 +++---- frontend/src/components/Player.vue | 33 +++++++++++++++++++++++------ 9 files changed, 42 insertions(+), 15 deletions(-) diff --git a/backend/bang/cards.py b/backend/bang/cards.py index cd52f2c..94d8ba9 100644 --- a/backend/bang/cards.py +++ b/backend/bang/cards.py @@ -339,6 +339,7 @@ class Mancato(Card): def play_card(self, player, against, _with=None): import bang.characters as chars if against != None and player.character.check(player.game, chars.CalamityJanet): + import bang.expansions.fistful_of_cards.card_events as ce if player.has_played_bang and (not any([isinstance(c, Volcanic) for c in player.equipment]) or player.game.check_event(ce.Lazo)): return False import bang.expansions.high_noon.card_events as ceh diff --git a/backend/bang/players.py b/backend/bang/players.py index df0d903..e81387a 100644 --- a/backend/bang/players.py +++ b/backend/bang/players.py @@ -979,6 +979,7 @@ class Player: self.play_turn(can_play_vendetta=False) return self.is_my_turn = False + self.has_played_bang = False 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 diff --git a/frontend/src/App.vue b/frontend/src/App.vue index dce6cda..2ff8f5b 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -36,6 +36,7 @@ export default { data: () => ({ isConnected: false, c: false, + showUpdateUI: false, }), computed: { }, diff --git a/frontend/src/components/Card.vue b/frontend/src/components/Card.vue index b541e76..07184a7 100644 --- a/frontend/src/components/Card.vue +++ b/frontend/src/components/Card.vue @@ -134,6 +134,9 @@ export default { bottom: 20pt; left: 3pt; } +.cant-play { + filter: brightness(0.5); +} @media (prefers-color-scheme: dark) { :root, #app { background-color: #181a1b; diff --git a/frontend/src/components/Chat.vue b/frontend/src/components/Chat.vue index d73cc08..eba8765 100644 --- a/frontend/src/components/Chat.vue +++ b/frontend/src/components/Chat.vue @@ -2,7 +2,7 @@

{{$t("chat.chat")}}

-

{{msg.text}}

+

{{msg.text}}

.

diff --git a/frontend/src/components/Chooser.vue b/frontend/src/components/Chooser.vue index 0e7cdda..51d8653 100644 --- a/frontend/src/components/Chooser.vue +++ b/frontend/src/components/Chooser.vue @@ -2,7 +2,7 @@

{{text}}

- +

{{hintText}}

{{realCancelText}}
diff --git a/frontend/src/components/Deck.vue b/frontend/src/components/Deck.vue index 27ea016..418e380 100644 --- a/frontend/src/components/Deck.vue +++ b/frontend/src/components/Deck.vue @@ -5,7 +5,7 @@
- +
@@ -15,12 +15,14 @@
-

{{($i18n.locale=='it'?eventCard.desc:eventCard.desc_eng)}}

+
+

{{desc}}

diff --git a/frontend/src/components/Lobby.vue b/frontend/src/components/Lobby.vue index a43cf03..5cdd8af 100644 --- a/frontend/src/components/Lobby.vue +++ b/frontend/src/components/Lobby.vue @@ -17,11 +17,11 @@
- ❤️ - 💀 + ❤️ + 💀
- 👻 + 👻
@@ -32,7 +32,7 @@
- 🤖 + 🤖
diff --git a/frontend/src/components/Player.vue b/frontend/src/components/Player.vue index 621045b..542f914 100644 --- a/frontend/src/components/Player.vue +++ b/frontend/src/components/Player.vue @@ -8,13 +8,13 @@ - ❤️ - 💀 + ❤️ + 💀 + @click.native="play_card(card, true)" :class="{'cant-play':(eventCard && eventCard.name == 'Lazo')}"/>
@@ -27,9 +27,10 @@
{{$t('hand')}} - + @pointerenter.native="hint=($i18n.locale=='it'?card.desc:card.desc_eng)" @pointerleave.native="hint=''" + :class="{'cant-play':card.cantBePlayed}"/>
@@ -109,6 +110,7 @@ export default { mancato_needed: 0, is_ghost: false, name: '', + eventCard: false, }), sockets: { role(role) { @@ -163,7 +165,10 @@ export default { setTimeout(function(){ this.notifycard = null }.bind(this), 4000) - } + }, + event_card(card) { + this.eventCard = card + }, }, computed:{ respondText() { @@ -237,6 +242,20 @@ export default { cc.push(x) }) return cc + }, + handComputed() { + return this.hand.map(x=> { + let cantBePlayed = false + let calamity_special = (x.name === 'Mancato!' && this.character.name === 'Calamity Janet') + let cant_play_bang = (this.has_played_bang && this.equipment.filter(x => x.name == 'Volcanic').length == 0) + if ((x.name == 'Bang!' || (calamity_special && x.name=='Mancato!')) && (cant_play_bang || (this.eventCard && this.eventCard.name == "Sermone"))) cantBePlayed = true; + else if (this.eventCard && this.eventCard.name == "Il Giudice" && (x.is_equipment || !x.can_be_used_now)) cantBePlayed = true; + else if (this.eventCard && this.eventCard.name == "Il Reverendo" && (x.name == "Birra")) cantBePlayed = true; + return { + ...x, + cantBePlayed: cantBePlayed + } + }) } }, methods: { @@ -331,7 +350,7 @@ export default { this.card_with = null }, really_play_card(card, against) { - let res = this.hand.indexOf(card) + let res = this.handComputed.indexOf(card) if (res === -1) { res = this.equipment.indexOf(card) if (res !== -1) res += this.hand.length