add bigspencer
This commit is contained in:
parent
3b568c987f
commit
8f645cf82a
@ -2,16 +2,20 @@ from typing import List
|
||||
from bang.characters import Character
|
||||
|
||||
class BigSpencer(Character):
|
||||
"""
|
||||
Inizia con 5 carte. Non può giocare Mancato!
|
||||
"""
|
||||
def __init__(self):
|
||||
super().__init__("Big Spencer", max_lives=9)
|
||||
# Inizia con 5 carte. Non può giocare Mancato!
|
||||
self.icon = '🫘'
|
||||
|
||||
class FlintWestwood(Character):
|
||||
"""
|
||||
Nel suo turno può scambiare una carta dalla mano con 2 carte a caso dalla mano di un altro giocatore.
|
||||
> NOTE: La carta dalla tua mano è a scelta, non a caso. Se il giocatore bersaglio ha una sola carta, ne ricevi solo una.
|
||||
"""
|
||||
def __init__(self):
|
||||
super().__init__("Flint Westwood", max_lives=4)
|
||||
# Nel suo turno può scambiare una carta dalla mano con 2 carte a caso dalla mano di un altro giocatore.
|
||||
# NOTE: La carta dalla tua mano è a scelta, non a caso. Se il giocatore bersaglio ha una sola carta, ne ricevi solo una.
|
||||
self.icon = '🔫'
|
||||
|
||||
def special(self, player, data):
|
||||
@ -25,44 +29,56 @@ class FlintWestwood(Character):
|
||||
player.notify_self()
|
||||
|
||||
class GaryLooter(Character):
|
||||
"""
|
||||
Pesca tutte le carte in eccesso scartate dagli altri giocatori a fine turno.
|
||||
"""
|
||||
def __init__(self):
|
||||
super().__init__("Gary Looter", max_lives=5)
|
||||
# Pesca tutte le carte in eccesso scartate dagli altri giocatori a fine turno.
|
||||
self.icon = '🥲'
|
||||
|
||||
class GreygoryDeckard(Character):
|
||||
"""
|
||||
All'inizio del suo turno può pescare 2 personaggi a caso. Ha tutte le abilità dei personaggi pescati.
|
||||
"""
|
||||
def __init__(self):
|
||||
super().__init__("Greygory Deckard", max_lives=4)
|
||||
# All'inizio del suo turno può pescare 2 personaggi a caso. Ha tutte le abilità dei personaggi pescati.
|
||||
self.icon = '👨🦳'
|
||||
|
||||
class JohnPain(Character):
|
||||
"""
|
||||
Se ha meno di 6 carte in mano, quando un giocatore "estrae!" John aggiunge alla mano la carta appena estratta.
|
||||
"""
|
||||
def __init__(self):
|
||||
super().__init__("John Pain", max_lives=4)
|
||||
# Se ha meno di 6 carte in mano, quando un giocatore "estrae!" John aggiunge alla mano la carta appena estratta.
|
||||
self.icon = '🤕'
|
||||
|
||||
class LeeVanKliff(Character):
|
||||
"""
|
||||
Nel suo turno, può scartare un BANG! per ripetere l'effetto di una carta a bordo marrone che ha appena giocato.
|
||||
"""
|
||||
def __init__(self):
|
||||
super().__init__("Lee Van Kliff", max_lives=4)
|
||||
# Nel suo turno, può scartare un BANG! per ripetere l'effetto di una carta a bordo marrone che ha appena giocato.
|
||||
self.icon = '👨🦲'
|
||||
|
||||
class TerenKill(Character):
|
||||
"""
|
||||
Ogni volta che sarebbe eliminato "estrai!": se non è Picche, Teren resta a 1 punto vita e pesca 1 carta.
|
||||
"""
|
||||
def __init__(self):
|
||||
super().__init__("Teren Kill", max_lives=3)
|
||||
# Ogni volta che sarebbe eliminato "estrai!": se non è Picche, Teren resta a 1 punto vita e pesca 1 carta.
|
||||
self.icon = '👨🦰'
|
||||
|
||||
class YoulGrinner(Character):
|
||||
"""
|
||||
Prima di pescare, i giocatori con più carte in mano di lui devono dargli una carta a scelta.
|
||||
"""
|
||||
def __init__(self):
|
||||
super().__init__("Youl Grinner", max_lives=4)
|
||||
# Prima di pescare, i giocatori con più carte in mano di lui devono dargli una carta a scelta.
|
||||
self.icon = '🤡'
|
||||
|
||||
def all_characters() -> List[Character]:
|
||||
cards = [
|
||||
# BigSpencer(),
|
||||
BigSpencer(),
|
||||
FlintWestwood(),
|
||||
# GaryLooter(),
|
||||
# GreygoryDeckard(),
|
||||
|
@ -12,6 +12,7 @@ import bang.expansions.dodge_city.characters as chd
|
||||
import bang.expansions.fistful_of_cards.card_events as ce
|
||||
import bang.expansions.high_noon.card_events as ceh
|
||||
import bang.expansions.wild_west_show.card_events as cew
|
||||
import bang.expansions.wild_west_show.characters as chw
|
||||
import bang.expansions.gold_rush.shop_cards as grc
|
||||
import bang.expansions.gold_rush.characters as grch
|
||||
import bang.expansions.the_valley_of_shadows.cards as tvosc
|
||||
@ -1132,6 +1133,8 @@ class Player:
|
||||
self.expected_response = self.game.deck.mancato_cards.copy()
|
||||
if self.character.check(self.game, chars.CalamityJanet) and cs.Bang(0, 0).name not in self.expected_response:
|
||||
self.expected_response.append(cs.Bang(0, 0).name)
|
||||
if self.character.check(chw.BigSpencer):
|
||||
self.expected_response = []
|
||||
self.on_failed_response_cb = self.take_damage_response
|
||||
self.notify_self()
|
||||
|
||||
@ -1162,6 +1165,8 @@ class Player:
|
||||
self.expected_response = self.game.deck.mancato_cards.copy()
|
||||
if self.character.check(self.game, chars.CalamityJanet) and cs.Bang(0, 0).name not in self.expected_response:
|
||||
self.expected_response.append(cs.Bang(0, 0).name)
|
||||
if self.character.check(chw.BigSpencer):
|
||||
self.expected_response = []
|
||||
self.on_failed_response_cb = self.take_no_damage_response
|
||||
self.notify_self()
|
||||
|
||||
@ -1258,6 +1263,8 @@ class Player:
|
||||
self.expected_response = self.game.deck.mancato_cards_not_green_or_blue.copy()
|
||||
if self.character.check(self.game, chars.CalamityJanet) and cs.Bang(0, 0).name not in self.expected_response:
|
||||
self.expected_response.append(cs.Bang(0, 0).name)
|
||||
if self.character.check(chw.BigSpencer):
|
||||
self.expected_response = []
|
||||
if self.can_escape(card_name, with_mancato=False):
|
||||
self.expected_response.append(tvosc.Fuga(0, 0).name)
|
||||
if not no_dmg:
|
||||
|
Loading…
Reference in New Issue
Block a user