character icons and desc on hover

This commit is contained in:
Alberto Xamin 2020-11-23 16:35:05 +01:00
parent 274c120ba4
commit 0b7a05c3b6
No known key found for this signature in database
GPG Key ID: 4F026F48309500A2
3 changed files with 23 additions and 6 deletions

View File

@ -32,6 +32,7 @@ class BartCassidy(Character):
def __init__(self): def __init__(self):
super().__init__("Bart Cassidy", max_lives=4) super().__init__("Bart Cassidy", max_lives=4)
self.desc = "Ogni volta che viene ferito, pesca una carta" self.desc = "Ogni volta che viene ferito, pesca una carta"
self.icon = '💔'
#una sola carta per ogni gruppo di danni. es: dinamite -> 1 carta #una sola carta per ogni gruppo di danni. es: dinamite -> 1 carta
def on_hurt(self, dmg): def on_hurt(self, dmg):
@ -41,11 +42,12 @@ class BlackJack(Character):
def __init__(self): def __init__(self):
super().__init__("Black Jack", max_lives=4) super().__init__("Black Jack", max_lives=4)
self.desc = "All'inizio del suo turno, quando deve pescare, mostra a tutti la seconda carta, se è Cuori o Quadri pesca una terza carta senza farla vedere" self.desc = "All'inizio del suo turno, quando deve pescare, mostra a tutti la seconda carta, se è Cuori o Quadri pesca una terza carta senza farla vedere"
self.icon = '🎰'
class CalamityJanet(Character): class CalamityJanet(Character):
def __init__(self): def __init__(self):
super().__init__("Calamity Janet", max_lives=4) super().__init__("Calamity Janet", max_lives=4)
self.icon = '🤷‍♀️' self.icon = '🔀'
self.desc = "Può usare i Mancato! come Bang! e viceversa" self.desc = "Può usare i Mancato! come Bang! e viceversa"
#TODO: gestire bene la scelta multipla in ogni iterazione con la carta bang e mancato #TODO: gestire bene la scelta multipla in ogni iterazione con la carta bang e mancato
# vale anche per le carte indiani e duello # vale anche per le carte indiani e duello
@ -55,69 +57,81 @@ class ElGringo(Character):
def __init__(self): def __init__(self):
super().__init__("El Gringo", max_lives=3) super().__init__("El Gringo", max_lives=3)
self.desc = "Ogni volta che perde un punto vita pesca una carta dalla mano del giocatore responsabile ma solo se il giocatore in questione ha carte in mano (una carta per ogni punto vita)" self.desc = "Ogni volta che perde un punto vita pesca una carta dalla mano del giocatore responsabile ma solo se il giocatore in questione ha carte in mano (una carta per ogni punto vita)"
self.icon = '🤕'
# ovviamente la dinamite non è considerata danno inferto da un giocatore # ovviamente la dinamite non è considerata danno inferto da un giocatore
class JesseJones(Character): class JesseJones(Character):
def __init__(self): def __init__(self):
super().__init__("Jesse Jones", max_lives=4) super().__init__("Jesse Jones", max_lives=4)
self.desc = "All'inizio del suo turno, quando deve pescare, può prendere la prima carta a caso dalla mano di un giocatore e la seconda dal mazzo" self.desc = "All'inizio del suo turno, quando deve pescare, può prendere la prima carta a caso dalla mano di un giocatore e la seconda dal mazzo"
self.icon = '😜'
class Jourdonnais(Character): class Jourdonnais(Character):
def __init__(self): def __init__(self):
super().__init__("Jourdonnais", max_lives=4) super().__init__("Jourdonnais", max_lives=4)
self.desc = "Gioca come se avesse un Barile sempre attivo, nel caso in cui metta in gioco un Barile 'Reale' può estrarre due volte" self.desc = "Gioca come se avesse un Barile sempre attivo, nel caso in cui metta in gioco un Barile 'Reale' può estrarre due volte"
self.icon = '🛢'
class KitCarlson(Character): class KitCarlson(Character):
def __init__(self): def __init__(self):
super().__init__("Kit Carlson", max_lives=4) super().__init__("Kit Carlson", max_lives=4)
self.desc = "All'inizio del suo turno, quando deve pescare, pesca tre carte, ne sceglie due da tenere in mano e la rimanente la rimette in cima la mazzo" self.desc = "All'inizio del suo turno, quando deve pescare, pesca tre carte, ne sceglie due da tenere in mano e la rimanente la rimette in cima la mazzo"
self.icon = '🤔'
class LuckyDuke(Character): class LuckyDuke(Character):
def __init__(self): def __init__(self):
super().__init__("Lucky Duke", max_lives=4, pick_mod=1) super().__init__("Lucky Duke", max_lives=4, pick_mod=1)
self.desc = "Ogni volta che deve estrarre, prende due carte dal mazzo, sceglie una delle due carte per l'estrazione, infine le scarta entrambe" self.desc = "Ogni volta che deve estrarre, prende due carte dal mazzo, sceglie una delle due carte per l'estrazione, infine le scarta entrambe"
self.icon = '🍀'
class PaulRegret(Character): class PaulRegret(Character):
def __init__(self): def __init__(self):
super().__init__("Paul Regret", max_lives=3, visibility_mod=1) super().__init__("Paul Regret", max_lives=3, visibility_mod=1)
self.desc = "Gioca come se avesse una Mustang sempre attiva, nel caso in cui metta in gioco una Mustang 'Reale' l'effetto si somma tranquillamente" self.desc = "Gioca come se avesse una Mustang sempre attiva, nel caso in cui metta in gioco una Mustang 'Reale' l'effetto si somma tranquillamente"
self.icon = '🏇'
class PedroRamirez(Character): class PedroRamirez(Character):
def __init__(self): def __init__(self):
super().__init__("Pedro Ramirez", max_lives=4) super().__init__("Pedro Ramirez", max_lives=4)
self.desc = "All'inizio del suo turno, quando deve pescare, può prendere la prima carta dalla cima degli scarti e la seconda dal mazzo" self.desc = "All'inizio del suo turno, quando deve pescare, può prendere la prima carta dalla cima degli scarti e la seconda dal mazzo"
self.icon = '🚮'
class RoseDoolan(Character): class RoseDoolan(Character):
def __init__(self): def __init__(self):
super().__init__("Rose Doolan", max_lives=4, sight_mod=1) super().__init__("Rose Doolan", max_lives=4, sight_mod=1)
self.icon = '🤷‍♀️' self.icon = '🕵️‍♀️'
self.desc = "Gioca come se avesse un Mirino sempre attivo, nel caso in cui metta in gioco una Mirino 'Reale' l'effetto si somma tranquillamente" self.desc = "Gioca come se avesse un Mirino sempre attivo, nel caso in cui metta in gioco una Mirino 'Reale' l'effetto si somma tranquillamente"
class SidKetchum(Character): class SidKetchum(Character):
def __init__(self): def __init__(self):
super().__init__("Sid Ketchum", max_lives=4) super().__init__("Sid Ketchum", max_lives=4)
self.desc = "Può scartare due carte per recuperare un punto vita anche più volte di seguito a patto di avere carte da scartare, può farlo anche nel turno dell'avversario se starebbe per morire" self.desc = "Può scartare due carte per recuperare un punto vita anche più volte di seguito a patto di avere carte da scartare, può farlo anche nel turno dell'avversario se starebbe per morire"
self.icon = '🤤'
class SlabTheKiller(Character): class SlabTheKiller(Character):
def __init__(self): def __init__(self):
super().__init__("Slab The Killer", max_lives=4) super().__init__("Slab The Killer", max_lives=4)
self.desc = "Per evitare i suoi Bang servono due Mancato, un eventuale barile vale solo come un Mancato" self.desc = "Per evitare i suoi Bang servono due Mancato, un eventuale barile vale solo come un Mancato"
self.icon = '🔪'
#vale per tutte le carte bang non solo per la carta che si chiama Bang! #vale per tutte le carte bang non solo per la carta che si chiama Bang!
class SuzyLafayette(Character): class SuzyLafayette(Character):
def __init__(self): def __init__(self):
super().__init__("Suzy Lafayette", max_lives=4) super().__init__("Suzy Lafayette", max_lives=4)
self.desc = "Appena rimane senza carte in mano pesca immediatamente una carta dal mazzo" self.desc = "Appena rimane senza carte in mano pesca immediatamente una carta dal mazzo"
self.icon = '🔂'
class VultureSam(Character): class VultureSam(Character):
def __init__(self): def __init__(self):
super().__init__("Vulture Sam", max_lives=4) super().__init__("Vulture Sam", max_lives=4)
self.desc = "Quando un personaggio viene eliminato prendi tutte le carte di quel giocatore e aggiungile alla tua mano, sia le carte in mano che quelle in gioco" self.desc = "Quando un personaggio viene eliminato prendi tutte le carte di quel giocatore e aggiungile alla tua mano, sia le carte in mano che quelle in gioco"
self.icon = '💰'
class WillyTheKid(Character): class WillyTheKid(Character):
def __init__(self): def __init__(self):
super().__init__("Willy The Kid", max_lives=4) super().__init__("Willy The Kid", max_lives=4)
self.desc = "Questo personaggio può giocare quanti bang vuole nel suo turno" self.desc = "Questo personaggio può giocare quanti bang vuole nel suo turno"
self.icon = '🎉'
def all_characters(): def all_characters():
return [ return [

View File

@ -6,7 +6,7 @@
</div> </div>
<p v-if="hintText">{{hintText}}</p> <p v-if="hintText">{{hintText}}</p>
<div class="button center-stuff" v-if="showCancelBtn" @click="cancel"><span>{{cancelText}}</span></div> <div class="button center-stuff" v-if="showCancelBtn" @click="cancel"><span>{{cancelText}}</span></div>
<p v-if="desc" style="bottom:10pt;position:absolute;margin:16pt;">{{desc}}</p> <p v-if="desc" style="bottom:10pt;right:0;left:0;position:absolute;margin:16pt;font-size:18pt">{{desc}}</p>
</div> </div>
</template> </template>

View File

@ -3,12 +3,15 @@
<p v-if="instruction" class="center-stuff">{{instruction}}</p> <p v-if="instruction" class="center-stuff">{{instruction}}</p>
<button v-if="canEndTurn" @click="end_turn">Termina Turno</button> <button v-if="canEndTurn" @click="end_turn">Termina Turno</button>
<div class="equipment-slot"> <div class="equipment-slot">
<Card v-if="my_role" :card="my_role" class="back"/> <Card v-if="my_role" :card="my_role" class="back"
<Card v-if="character" :card="character" style="margin-left: -30pt;margin-right: 0pt;"/> @pointerenter.native="desc=my_role.goal" @pointerleave.native="desc=''"/>
<Card v-if="character" :card="character" style="margin-left: -30pt;margin-right: 0pt;"
@pointerenter.native="desc=character.desc" @pointerleave.native="desc=''"/>
<transition-group name="list" tag="div" style="margin: 0 0 0 10pt; display:flex;"> <transition-group name="list" tag="div" style="margin: 0 0 0 10pt; display:flex;">
<Card v-for="card in equipment" v-bind:key="card.name+card.number" :card="card" /> <Card v-for="card in equipment" v-bind:key="card.name+card.number" :card="card" />
</transition-group> </transition-group>
</div> </div>
<p v-if="desc">{{desc}}</p>
<transition-group name="list" tag="div" style="display: flex; justify-content: space-evenly; margin-bottom:2pt;"> <transition-group name="list" tag="div" style="display: flex; justify-content: space-evenly; margin-bottom:2pt;">
<span v-for="(n, i) in lives" v-bind:key="n" :alt="i"></span> <span v-for="(n, i) in lives" v-bind:key="n" :alt="i"></span>
<span v-for="(n, i) in (max_lives-lives)" v-bind:key="n" :alt="i">💀</span> <span v-for="(n, i) in (max_lives-lives)" v-bind:key="n" :alt="i">💀</span>
@ -70,6 +73,7 @@ export default {
show_role: false, show_role: false,
attacker: undefined, attacker: undefined,
notifycard: null, notifycard: null,
desc: '',
}), }),
sockets: { sockets: {
role(role) { role(role) {
@ -111,7 +115,6 @@ export default {
computed:{ computed:{
visiblePlayers() { visiblePlayers() {
this.range; this.range;
return this.playersDistances.filter(x => { return this.playersDistances.filter(x => {
if (!this.can_target_sheriff && x.is_sheriff) if (!this.can_target_sheriff && x.is_sheriff)
return false return false