diff --git a/backend/bang/expansions/train_robbery/stations.py b/backend/bang/expansions/train_robbery/stations.py index bbbfc49..31ac558 100644 --- a/backend/bang/expansions/train_robbery/stations.py +++ b/backend/bang/expansions/train_robbery/stations.py @@ -24,7 +24,7 @@ class StationCard: player.lives -= 1 card = player.hand.pop(card_index) player.game.deck.scrap(card, True, player=player) - player.hand.append(self.attached_train) + player.equipment.append(self.attached_train) self.attached_train = None player.pending_action = pl.PendingAction.PLAY @@ -284,7 +284,7 @@ class VirginiaTown(StationCard): self.price = [{}, {}] def check_price(self, player: "Player"): - if super().check_price(player) and len(player.hand < 2): + if super().check_price(player) and len(player.hand) < 2: return False player.set_choose_action( "choose_buy_train", diff --git a/frontend/src/components/Card.vue b/frontend/src/components/Card.vue index 620c7a3..7f2b918 100644 --- a/frontend/src/components/Card.vue +++ b/frontend/src/components/Card.vue @@ -339,6 +339,7 @@ export default { } .cant-play { filter: brightness(0.5); + cursor: not-allowed; } .expansion { position: absolute; diff --git a/frontend/src/components/Deck.vue b/frontend/src/components/Deck.vue index 996455c..4cd4962 100644 --- a/frontend/src/components/Deck.vue +++ b/frontend/src/components/Deck.vue @@ -12,7 +12,8 @@
- +
@@ -41,15 +42,14 @@

{{eventDesc}}

-
-

🎪 {{eventDescWildWestShow}} 🎪

-
-

🤑️ {{$t(`cards.${goldRushDesc.name}.desc`)}} 🤑️

🤑️ {{goldRushDesc.number - gold_rush_discount}} 💵️ 🤑️

+
+

{{stationDesc}}

+
@@ -93,6 +93,7 @@ export default { goldRushCards: [], gold_nuggets: 0, goldRushDesc: null, + stationDesc: null, can_gold_rush_discard: false, gold_rush_discount: 0, currentStations: [], @@ -210,6 +211,14 @@ export default { setGoldRushDesc(card) { this.goldRushDesc = card }, + setStationDesc(index) { + console.log('setStationDesc', index) + this.stationDesc = this.$t(`cards.${this.currentStations[index].name}.desc`) + const trainPiece = this.trainPieceForStation(index) + if (trainPiece) { + this.stationDesc += '\n\n🚂' + this.$t(`cards.${trainPiece.name}.desc`) + } + }, }, mounted() { if (window.innerWidth < 1000) { diff --git a/frontend/src/components/StationCard.vue b/frontend/src/components/StationCard.vue index db652cf..47b08b7 100644 --- a/frontend/src/components/StationCard.vue +++ b/frontend/src/components/StationCard.vue @@ -1,6 +1,6 @@ @@ -117,4 +117,10 @@ export default { .train-piece { margin: 6pt; } +.cant-play { + cursor: not-allowed; +} +.stationcard .card { + cursor: unset; +} \ No newline at end of file diff --git a/frontend/src/i18n/en.json b/frontend/src/i18n/en.json index 0336fcb..4fc8807 100644 --- a/frontend/src/i18n/en.json +++ b/frontend/src/i18n/en.json @@ -855,6 +855,130 @@ "Wild West Show": { "name": "Wild West Show", "desc": "The goal for each player becomes: \"Be the last one standing!\"" + }, + "Boom Town": { + "name": "Boom Town", + "desc": "Discard a Bang! to rob the train" + }, + "Caticor": { + "name": "Caticor", + "desc": "Discard a Cat Balou or Panico to rob the train" + }, + "Creepy Creek": { + "name": "Creepy Creek", + "desc": "Discard a card of spades to rob the train" + }, + "Crowns Hole": { + "name": "Crown's Hole", + "desc": "Discard a beer to rob the train" + }, + "Deadwood": { + "name": "Deadwood", + "desc": "Discard an equipment card to rob the train" + }, + "Dodgeville": { + "name": "Dodgeville", + "desc": "Discard a Missed! to rob the train" + }, + "Fort Worth": { + "name": "Fort Worth", + "desc": "Discard a card with number 10, J, Q, K, A to rob the train" + }, + "Frisco": { + "name": "Frisco", + "desc": "Discard a card of clubs to rob the train" + }, + "Miners Oath": { + "name": "Miner's Oath", + "desc": "Discard a card of diamonds to rob the train" + }, + "San Tafe": { + "name": "San Tafe", + "desc": "Discard a card of hearts to rob the train" + }, + "Tombrock": { + "name": "Tombrock", + "desc": "Lose 1 life point to rob the train" + }, + "Yooma": { + "name": "Yooma", + "desc": "Discard a card with number between 2 and 9 to rob the train" + }, + "Virginia Town": { + "name": "Virginia Town", + "desc": "Discard two cards to rob the train" + }, + "Ironhorse": { + "name": "Ironhorse", + "desc": "Each player, including the one who activated the effect, is targeted by a BANG!\nNo player is responsible for any loss of life points.\nIf all players are eliminated at the same time, the Outlaws win." + }, + "Leland": { + "name": "Leland", + "desc": "LOCOMOTIVE: perform the effect of the Emporium, starting with the current player and proceeding clockwise." + }, + "Baggage Car": { + "name": "Baggage Car", + "desc": "Discard this card to gain the effect of a Missed!, Panic!, Cat Balou, or an extra BANG! card." + }, + "Caboose": { + "name": "Caboose", + "desc": "To discard one of your blue-bordered cards, include a car as if it were a Missed!" + }, + "Cattle Truck": { + "name": "Cattle Truck", + "desc": "Discard this card to look at the top 3 cards of the discard pile and choose 1 to add to your hand." + }, + "Circus Wagon": { + "name": "Circus Wagon", + "desc": "Discard this card. Each other player must discard a card that he has in play." + }, + "Coal Hopper": { + "name": "Coal Hopper", + "desc": "Discard this card to draw a card and discard a car in play in front of any player of your choice." + }, + "Dining Car": { + "name": "Dining Car", + "desc": "At the beginning of your turn, \"draw!\": if it's Hearts, regain 1 life point." + }, + "Express Car": { + "name": "Express Car", + "desc": "Discard all your hand cards and take another turn." + }, + "Ghost Car": { + "name": "Ghost Car", + "desc": "Play it on any player except the Sheriff. If you are eliminated, you remain in play, but cannot look at or lose any life points." + }, + "Lounge Car": { + "name": "Lounge Car", + "desc": "Discard this card to draw 2 cards from the deck and put 1 of them in play in front of you and 1 in front of another player." + }, + "Lumber Flatcar": { + "name": "Lumber Flatcar", + "desc": "Play this card on any player (including yourself). While this card is in play, that player sees all other players at a distance increased by 1." + }, + "Mail Car": { + "name": "Mail Car", + "desc": "Discard this card to draw 3 cards and give 1 of them to another player of your choice." + }, + "Observation Car": { + "name": "Observation Car", + "desc": "You see other players at a distance reduced by 1. Other players see you at a distance increased by 1." + }, + "Passenger Car": { + "name": "Passenger Car", + "desc": "Discard this card to draw a card (from hand or in play) from another player." + }, + "Prisoner Car": { + "name": "Prisoner Car", + "desc": "Duel and Indians! cards played by other players have no effect on you." + }, + "Private Car": { + "name": "Private Car", + "desc": "If you have no cards in hand, you cannot be targeted by BANG! cards." + }, + "Sleeper Car": { + "name": "Sleeper Car", + "desc": "Once per turn, you may discard another of your blue-bordered cards in play." } }, "help": { diff --git a/frontend/src/i18n/it.json b/frontend/src/i18n/it.json index 5444db2..eb1ba68 100644 --- a/frontend/src/i18n/it.json +++ b/frontend/src/i18n/it.json @@ -855,6 +855,130 @@ "Wild West Show": { "name": "Wild West Show", "desc": "L'obiettivo di ogni giocatore diventa: \"Rimani l'ultimo in gioco!\"" + }, + "Boom Town": { + "name": "Boom Town", + "desc": "Scarta una Bang! per derubare il treno" + }, + "Caticor": { + "name": "Caticor", + "desc": "Scarta una Cat Balou o un Panico per derubare il treno" + }, + "Creepy Creek": { + "name": "Creepy Creek", + "desc": "Scarta una carta di picche per derubare il treno" + }, + "Crowns Hole": { + "name": "Crown's Hole", + "desc": "Scarta una birra per derubare il treno" + }, + "Deadwood": { + "name": "Deadwood", + "desc": "Scarta una carta equipaggiamento per derubare il treno" + }, + "Dodgeville": { + "name": "Dodgeville", + "desc": "Scarta un Mancato! per derubare il treno" + }, + "Fort Worth": { + "name": "Fort Worth", + "desc": "Scarta una carta con il numero 10, J, Q, K, A per derubare il treno" + }, + "Frisco": { + "name": "Frisco", + "desc": "Scarta una carta di fiori per derubare il treno" + }, + "Miners Oath": { + "name": "Miner's Oath", + "desc": "Scarta una carta di quadri per derubare il treno" + }, + "San Tafe": { + "name": "San Tafe", + "desc": "Scarta una carta di cuori per derubare il treno" + }, + "Tombrock": { + "name": "Tombrock", + "desc": "Per derubare il treno, perdi 1 punto vita" + }, + "Yooma": { + "name": "Yooma", + "desc": "Scarta una carta con un numero compreso tra 2 e 9 per derubare il treno" + }, + "Virginia Town": { + "name": "Virginia Town", + "desc": "Scarta due carte per derubare il treno" + }, + "Ironhorse": { + "name": "Ironhorse", + "desc": "LOCOMOTIVA: Ogni giocatore, incluso colui che ha attivato l'effetto, è bersaglio di un BANG!\nNessun giocatore è responsabile dell'eventuale perdita di punti vita.\nSe tutti i giocatori vengono eliminati allo stesso tempo, i Fuorilegge vincono." + }, + "Leland": { + "name": "Leland", + "desc": "LOCOMOTIVA: svolgi l'effetto dell'Emporio, cominciando dal giocatore di turno e procedendo in senso orario." + }, + "Baggage Car": { + "name": "Baggage Car", + "desc": "Scartalo: ottieni l'effetto di un Mancato!, Panico!, Cat Balou o di un BANG! extra.\nDiscard this for a Missed!Panic!, Cat Balou, or an extra BANG!" + }, + "Caboose": { + "name": "Caboose", + "desc": "Pro scartare un aura tua carta bordo bin incuso un vagone come se fosse un Mancato!" + }, + "Cattle Truck": { + "name": "Cattle Truck", + "desc": "Scartalo: guarda le 3 carte in cima agli scarti e pescane I" + }, + "Circus Wagon": { + "name": "Circus Wagon", + "desc": "Scartalo: ogni altro giocatore deve scartare una carta che ha in gioco." + }, + "Coal Hopper": { + "name": "Coal Hopper", + "desc": "Scartalo: pesca una carta e scarta un vagone in gioco davanti a un giocatore a ma scelta." + }, + "Dining Car": { + "name": "Dining Car", + "desc": "A inizio turno, \"estrai!\": se è Cnori, recuperi I punto vita." + }, + "Express Car": { + "name": "Express Car", + "desc": "Scarta tutte le carte in mano, poi gioca un altro turno" + }, + "Ghost Car": { + "name": "Ghost Car", + "desc": "Giocalo su chiunque tranne lo Sceritfo. Se vieni eliminato, invece resti in gioco, ma non puol guada nare ne perdere punk vita." + }, + "Lounge Car": { + "name": "Lounge Car", + "desc": "Scartalo: pesca 2 vagoni dal mazzo, mettine I in gioco di fronte a te e 1 di fronte a un altro giocatore." + }, + "Lumber Flatcar": { + "name": "Lumber Flatcar", + "desc": "Giocalo su un qualsiasi giocatore (compreso te). Finché questa carta è in gioco, quel giocatore vede gli altri giocatori a distanza aumentata di 1." + }, + "Mail Car": { + "name": "Mail Car", + "desc": "Scartalo: pesca 3 carte e dai 1 di esse a un altro giocatore a tua scelta." + }, + "Observation Car": { + "name": "Observation Car", + "desc": "Tu vedi gli altri a distanza -1. Gli altri a vedono a distanza +1." + }, + "Passenger Car": { + "name": "Passenger Car", + "desc": "Scartalo: pesca una carta (in mano o in gioco) da un altro giocatore" + }, + "Prisoner Car": { + "name": "Prisoner Car", + "desc": "Le carte Duello e Indiani! giocate dagli altri giocatori non hanno effetto su di te." + }, + "Private Car": { + "name": "Private Car", + "desc": "se non hai carte in mano. non puoi essere bersaelio di carte BANG" + }, + "Sleeper Car": { + "name": "Sleeper Car", + "desc": "Una volta per turno, puoi scartare un'altra tua carta a bordo blu incluso." } }, "help": {