show character

This commit is contained in:
Alberto Xamin 2020-11-24 12:02:23 +01:00
parent 5306dc38d3
commit 68ba68a871
No known key found for this signature in database
GPG Key ID: 4F026F48309500A2
3 changed files with 10 additions and 3 deletions

View File

@ -242,6 +242,7 @@ class Game:
'is_sheriff': isinstance(p.role, roles.Sheriff), 'is_sheriff': isinstance(p.role, roles.Sheriff),
'is_my_turn': p.is_my_turn, 'is_my_turn': p.is_my_turn,
'pending_action': p.pending_action, 'pending_action': p.pending_action,
'character': p.character.__dict__
} for p in self.players] } for p in self.players]
self.sio.emit('players_update', room=self.name, data=data) self.sio.emit('players_update', room=self.name, data=data)

View File

@ -6,7 +6,8 @@ class Role(ABC):
self.name = name self.name = name
self.goal = goal self.goal = goal
self.health_mod = health_mod self.health_mod = health_mod
self.alt_goal = ''
@abstractmethod @abstractmethod
def on_player_death(self, alive_players: list, initial_players: int): def on_player_death(self, alive_players: list, initial_players: int):
pass pass

View File

@ -12,8 +12,9 @@
<span v-for="(n, i) in (p.max_lives-p.lives)" v-bind:key="n" :alt="i">💀</span> <span v-for="(n, i) in (p.max_lives-p.lives)" v-bind:key="n" :alt="i">💀</span>
</transition-group> </transition-group>
<Card :card="p.card" :class="{is_my_turn:p.is_my_turn}"/> <Card :card="p.card" :class="{is_my_turn:p.is_my_turn}"/>
<Card v-if="p.character" :card="p.character" class="character tiny-character"/>
<tiny-hand :ncards="p.ncards" @click.native="drawFromPlayer(p.name)"/> <tiny-hand :ncards="p.ncards" @click.native="drawFromPlayer(p.name)"/>
<span style="position:absolute;top:0;">{{getActionEmoji(p)}}</span> <span style="position:absolute;top:0;" class="center-stuff">{{getActionEmoji(p)}}</span>
<div class="tiny-equipment"> <div class="tiny-equipment">
<Card v-for="card in p.equipment" v-bind:key="card.name+card.number" :card="card" /> <Card v-for="card in p.equipment" v-bind:key="card.name+card.number" :card="card" />
</div> </div>
@ -139,7 +140,6 @@ export default {
name: player.name, name: player.name,
number: ((this.username == player.name) ? 'YOU' : (this.players[0].name == player.name) ? 'OWNER' :'') + (player.dist ? `${player.dist}` : ''), number: ((this.username == player.name) ? 'YOU' : (this.players[0].name == player.name) ? 'OWNER' :'') + (player.dist ? `${player.dist}` : ''),
icon: (player.lives === undefined || player.lives > 0) ? (player.is_sheriff ? '⭐' : '🤠') : '☠️', icon: (player.lives === undefined || player.lives > 0) ? (player.is_sheriff ? '⭐' : '🤠') : '☠️',
alt_text: player.character,
is_character: true, is_character: true,
} }
}, },
@ -225,6 +225,11 @@ export default {
.tiny-equipment .card:nth-child(n+2) { .tiny-equipment .card:nth-child(n+2) {
margin-top: -60pt; margin-top: -60pt;
} }
.tiny-character {
position: absolute;
transform: scale(0.6) translate(-80px, -50px);
top: 0;
}
.players-table { .players-table {
display: flex; display: flex;
justify-content: space-evenly; justify-content: space-evenly;