tutti vedono emporio
This commit is contained in:
parent
f628ab75dc
commit
cd9d422f44
@ -1,4 +1,5 @@
|
||||
|
||||
import json
|
||||
from typing import List, Set, Dict, Tuple, Optional
|
||||
import random
|
||||
import socketio
|
||||
@ -208,6 +209,8 @@ class Game:
|
||||
self.players[self.turn].pending_action = pl.PendingAction.CHOOSE
|
||||
self.players[self.turn].choose_text = 'choose_card_to_get'
|
||||
self.players[self.turn].available_cards = self.available_cards
|
||||
self.sio.emit('emporio', room=self.name, data=json.dumps(
|
||||
{'name':self.players[self.turn].name,'cards': self.available_cards}, default=lambda o: o.__dict__))
|
||||
self.players[self.turn].notify_self()
|
||||
|
||||
def respond_emporio(self, player, i):
|
||||
@ -218,12 +221,15 @@ class Game:
|
||||
pls = self.get_alive_players()
|
||||
nextPlayer = pls[(pls.index(self.players[self.turn])+(len(pls)-len(self.available_cards))) % len(pls)]
|
||||
if nextPlayer == self.players[self.turn]:
|
||||
self.sio.emit('emporio', room=self.name, data='{"name":"","cards":[]}')
|
||||
self.players[self.turn].pending_action = pl.PendingAction.PLAY
|
||||
self.players[self.turn].notify_self()
|
||||
else:
|
||||
nextPlayer.pending_action = pl.PendingAction.CHOOSE
|
||||
nextPlayer.choose_text = 'choose_card_to_get'
|
||||
nextPlayer.available_cards = self.available_cards
|
||||
self.sio.emit('emporio', room=self.name, data=json.dumps(
|
||||
{'name':nextPlayer.name,'cards': self.available_cards}, default=lambda o: o.__dict__))
|
||||
nextPlayer.notify_self()
|
||||
|
||||
def get_player_named(self, name:str):
|
||||
|
@ -2,7 +2,9 @@
|
||||
<div id="overlay" class="center-stuff">
|
||||
<h1>{{text}}</h1>
|
||||
<div>
|
||||
<Card v-for="(c, i) in cards" v-bind:key="i" :card="c" @click.native="select(c)" @pointerenter.native="showDesc(c)" @pointerleave.native="desc=''"/>
|
||||
<transition-group name="list" tag="div">
|
||||
<Card v-for="(c, i) in cards" v-bind:key="c.name+c.number" :alt="i" :card="c" @click.native="select(c)" @pointerenter.native="showDesc(c)" @pointerleave.native="desc=''"/>
|
||||
</transition-group>
|
||||
</div>
|
||||
<p v-if="hintText">{{hintText}}</p>
|
||||
<div style="margin-top:6pt;" class="button center-stuff" v-if="showCancelBtn" @click="cancel"><span>{{realCancelText}}</span></div>
|
||||
|
@ -36,7 +36,7 @@
|
||||
<transition name="list">
|
||||
<p v-if="hint"><i>{{hint}}</i></p>
|
||||
</transition>
|
||||
<Chooser v-if="is_my_turn && pending_action == 4 && (lives > 0 || is_ghost)" :text="$t('wait')" :cards="[]"/>
|
||||
<Chooser v-if="is_my_turn && pending_action == 4 && (lives > 0 || is_ghost) && !(emporioCards && emporioCards.cards && emporioCards.cards.length > 0)" :text="$t('wait')" :cards="[]"/>
|
||||
<Chooser v-if="card_against" :text="$t('card_against')" :hint-text="visiblePlayers.length === 0 ? $t('no_players_in_range'):''" :cards="visiblePlayers" :select="selectAgainst" :cancel="cancelCardAgainst"/>
|
||||
<Chooser v-if="pending_action == 3" :text="respondText" :cards="respondCards" :select="respond"/>
|
||||
<Chooser v-if="shouldChooseCard" :text="$t(choose_text)" :cards="available_cards" :select="choose"/>
|
||||
@ -56,6 +56,7 @@
|
||||
<Chooser v-if="holydayScrap && scrapHand.length < 2" :text="`${$t('discard')} ${2 - scrapHand.length}`"
|
||||
:cards="notScrappedHand" :select="holydayScrapAdd" :cancel="() => {holydayScrap = false;scrapHand=[]}"/>
|
||||
<Chooser v-if="holydayScrap && scrapHand.length == 2" :text="$t('card_against')" :cards="visiblePlayers" :select="holydayScrapBang" :cancel="() => {holydayScrap = false;scrapHand=[]}"/>
|
||||
<Chooser style="filter: grayscale(1);" v-if="emporioCards && emporioCards.cards && emporioCards.cards.length > 0 && pending_action === 4" :text="$t('emporio_others', [emporioCards.name])" :cards="emporioCards.cards"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -111,6 +112,7 @@ export default {
|
||||
is_ghost: false,
|
||||
name: '',
|
||||
eventCard: false,
|
||||
emporioCards: {},
|
||||
}),
|
||||
sockets: {
|
||||
role(role) {
|
||||
@ -121,6 +123,9 @@ export default {
|
||||
characters(data) {
|
||||
this.availableCharacters = JSON.parse(data)
|
||||
},
|
||||
emporio(cards) {
|
||||
this.emporioCards = JSON.parse(cards)
|
||||
},
|
||||
self(self) {
|
||||
self = JSON.parse(self)
|
||||
this.name = self.name
|
||||
|
@ -45,6 +45,7 @@
|
||||
"choose_cecchino": "Choose who to shoot",
|
||||
"choose_rimbalzo_player": "Choose the target of the bang",
|
||||
"choose_rimbalzo_card": "Choose the card to discard the bang to",
|
||||
"emporio_others": "{0} is choosing which card to get from the General Store",
|
||||
"you_died":"YOU DIED",
|
||||
"spectate":"SPECTATE",
|
||||
"you_win":"YOU WON",
|
||||
|
@ -45,6 +45,7 @@
|
||||
"choose_cecchino": "Scegli contro chi sparare",
|
||||
"choose_rimbalzo_player": "Scegli contro chi scartare il bang",
|
||||
"choose_rimbalzo_card": "Scegli contro che carta scartare il bang",
|
||||
"emporio_others": "{0} sta scegliendo che carta prendere dall'emporio",
|
||||
"you_died": "SEI MORTO",
|
||||
"spectate": "SPETTATORE",
|
||||
"you_win": "HAI VINTO",
|
||||
|
Loading…
Reference in New Issue
Block a user