stations and train info
This commit is contained in:
parent
f716a96334
commit
9d5ac5b166
@ -24,7 +24,7 @@ class StationCard:
|
|||||||
player.lives -= 1
|
player.lives -= 1
|
||||||
card = player.hand.pop(card_index)
|
card = player.hand.pop(card_index)
|
||||||
player.game.deck.scrap(card, True, player=player)
|
player.game.deck.scrap(card, True, player=player)
|
||||||
player.hand.append(self.attached_train)
|
player.equipment.append(self.attached_train)
|
||||||
self.attached_train = None
|
self.attached_train = None
|
||||||
player.pending_action = pl.PendingAction.PLAY
|
player.pending_action = pl.PendingAction.PLAY
|
||||||
|
|
||||||
@ -284,7 +284,7 @@ class VirginiaTown(StationCard):
|
|||||||
self.price = [{}, {}]
|
self.price = [{}, {}]
|
||||||
|
|
||||||
def check_price(self, player: "Player"):
|
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
|
return False
|
||||||
player.set_choose_action(
|
player.set_choose_action(
|
||||||
"choose_buy_train",
|
"choose_buy_train",
|
||||||
|
@ -339,6 +339,7 @@ export default {
|
|||||||
}
|
}
|
||||||
.cant-play {
|
.cant-play {
|
||||||
filter: brightness(0.5);
|
filter: brightness(0.5);
|
||||||
|
cursor: not-allowed;
|
||||||
}
|
}
|
||||||
.expansion {
|
.expansion {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
@ -12,7 +12,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="currentStations.length > 0" class="deck" :style="`position:relative;border: 2px dashed #6a6a6a42;border-radius:8pt;align-items: flex-end;flex-direction:row;`" >
|
<div v-if="currentStations.length > 0" class="deck" :style="`position:relative;border: 2px dashed #6a6a6a42;border-radius:8pt;align-items: flex-end;flex-direction:row;`" >
|
||||||
<station-card @click.native="()=>{buyTrain(i)}" v-for="station, i in currentStations" :key="station.name" :card="station" :price="station.price" :trainPiece="trainPieceForStation(i)"/>
|
<station-card @click.native="()=>{buyTrain(i)}" v-for="station, i in currentStations" :key="station.name" :card="station" :price="station.price" :trainPiece="trainPieceForStation(i)"
|
||||||
|
@pointerenter.native="()=>{setStationDesc(i)}" @pointerleave.native="stationDesc = null"/>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="eventCard" style="position:relative">
|
<div v-if="eventCard" style="position:relative">
|
||||||
<div class="card fistful-of-cards" style="position:relative; bottom:-3pt;right:-3pt;"/>
|
<div class="card fistful-of-cards" style="position:relative; bottom:-3pt;right:-3pt;"/>
|
||||||
@ -41,15 +42,14 @@
|
|||||||
</div>
|
</div>
|
||||||
<transition name="list">
|
<transition name="list">
|
||||||
<p v-if="eventCard" class="center-stuff"><b>{{eventDesc}}</b></p>
|
<p v-if="eventCard" class="center-stuff"><b>{{eventDesc}}</b></p>
|
||||||
</transition>
|
|
||||||
<transition name="list">
|
|
||||||
<p v-if="eventCardWildWestShow && !eventCardWildWestShow.back" class="center-stuff">🎪 <b>{{eventDescWildWestShow}}</b> 🎪</p>
|
<p v-if="eventCardWildWestShow && !eventCardWildWestShow.back" class="center-stuff">🎪 <b>{{eventDescWildWestShow}}</b> 🎪</p>
|
||||||
</transition>
|
|
||||||
<transition name="list">
|
|
||||||
<div v-if="goldRushDesc">
|
<div v-if="goldRushDesc">
|
||||||
<p class="center-stuff">🤑️ <i>{{$t(`cards.${goldRushDesc.name}.desc`)}}</i> 🤑️</p>
|
<p class="center-stuff">🤑️ <i>{{$t(`cards.${goldRushDesc.name}.desc`)}}</i> 🤑️</p>
|
||||||
<p class="center-stuff">🤑️ <b>{{goldRushDesc.number - gold_rush_discount}} 💵️</b> 🤑️</p>
|
<p class="center-stuff">🤑️ <b>{{goldRushDesc.number - gold_rush_discount}} 💵️</b> 🤑️</p>
|
||||||
</div>
|
</div>
|
||||||
|
<div v-if="stationDesc">
|
||||||
|
<p class="center-stuff"><i>{{stationDesc}}</i></p>
|
||||||
|
</div>
|
||||||
</transition>
|
</transition>
|
||||||
<div style="margin-bottom:6pt;margin-bottom: 6pt;display: flex;flex-direction: column;">
|
<div style="margin-bottom:6pt;margin-bottom: 6pt;display: flex;flex-direction: column;">
|
||||||
<button class="btn" v-if="pending_action == 2 && can_gold_rush_discard" @click="$socket.emit('gold_rush_discard')">{{$t('gold_rush_discard')}}</button>
|
<button class="btn" v-if="pending_action == 2 && can_gold_rush_discard" @click="$socket.emit('gold_rush_discard')">{{$t('gold_rush_discard')}}</button>
|
||||||
@ -93,6 +93,7 @@ export default {
|
|||||||
goldRushCards: [],
|
goldRushCards: [],
|
||||||
gold_nuggets: 0,
|
gold_nuggets: 0,
|
||||||
goldRushDesc: null,
|
goldRushDesc: null,
|
||||||
|
stationDesc: null,
|
||||||
can_gold_rush_discard: false,
|
can_gold_rush_discard: false,
|
||||||
gold_rush_discount: 0,
|
gold_rush_discount: 0,
|
||||||
currentStations: [],
|
currentStations: [],
|
||||||
@ -210,6 +211,14 @@ export default {
|
|||||||
setGoldRushDesc(card) {
|
setGoldRushDesc(card) {
|
||||||
this.goldRushDesc = 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() {
|
mounted() {
|
||||||
if (window.innerWidth < 1000) {
|
if (window.innerWidth < 1000) {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="stationcard">
|
<div :class="{stationcard:true, 'cant-play':!trainPiece || trainPiece.is_locomotive}">
|
||||||
<h4>{{ cardName }}</h4>
|
<h4>{{ cardName }}</h4>
|
||||||
<div :class="{ emoji: true, bottomed: card.avatar }">{{ emoji }}</div>
|
<div :class="{ emoji: true, bottomed: card.avatar }">{{ emoji }}</div>
|
||||||
<div class="alt_text">{{ card.alt_text }}</div>
|
<div class="alt_text">{{ card.alt_text }}</div>
|
||||||
@ -8,7 +8,7 @@
|
|||||||
<card v-for="c, i in price" :key="i" :card="c"/>
|
<card v-for="c, i in price" :key="i" :card="c"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<card v-if="trainPiece" class="train-piece" :card="trainPiece" />
|
<card v-if="trainPiece" :card="trainPiece" :class="{'cant-play':trainPiece.is_locomotive}"/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -117,4 +117,10 @@ export default {
|
|||||||
.train-piece {
|
.train-piece {
|
||||||
margin: 6pt;
|
margin: 6pt;
|
||||||
}
|
}
|
||||||
|
.cant-play {
|
||||||
|
cursor: not-allowed;
|
||||||
|
}
|
||||||
|
.stationcard .card {
|
||||||
|
cursor: unset;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
@ -855,6 +855,130 @@
|
|||||||
"Wild West Show": {
|
"Wild West Show": {
|
||||||
"name": "Wild West Show",
|
"name": "Wild West Show",
|
||||||
"desc": "The goal for each player becomes: \"Be the last one standing!\""
|
"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": {
|
"help": {
|
||||||
|
@ -855,6 +855,130 @@
|
|||||||
"Wild West Show": {
|
"Wild West Show": {
|
||||||
"name": "Wild West Show",
|
"name": "Wild West Show",
|
||||||
"desc": "L'obiettivo di ogni giocatore diventa: \"Rimani l'ultimo in gioco!\""
|
"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": {
|
"help": {
|
||||||
|
Loading…
Reference in New Issue
Block a user