vera custer
This commit is contained in:
parent
88f452df8f
commit
de303b7eb5
@ -71,6 +71,14 @@ class BelleStar(Character):
|
||||
self.desc_eng = "During her turn the green cards of the other players do not work."
|
||||
self.icon = '❎'
|
||||
|
||||
class VeraCuster(Character):
|
||||
def __init__(self):
|
||||
super().__init__("Vera Custer", max_lives=3)
|
||||
self.desc = "Prima di pescare le sue carte può scegliere l'abilità speciale di un altro giocatore fino al prossimo turno."
|
||||
self.desc_eng = "Before drawing, she may choose the special ability on another alive player. This ability is used until next turn."
|
||||
self.icon = '🎭'
|
||||
|
||||
|
||||
def all_characters() -> List[Character]:
|
||||
return [
|
||||
PixiePete(),
|
||||
@ -83,6 +91,7 @@ def all_characters() -> List[Character]:
|
||||
ApacheKid(),
|
||||
SeanMallory(),
|
||||
BelleStar(),
|
||||
VeraCuster(),
|
||||
]
|
||||
|
||||
#Apache Kid: il suo effetto non conta nei duelli
|
||||
|
@ -30,6 +30,7 @@ class Player:
|
||||
self.equipment: cs.Card = []
|
||||
self.role: r.Role = None
|
||||
self.character: chars.Character = None
|
||||
self.real_character: chars.Character = None
|
||||
self.lives = 0
|
||||
self.max_lives = 0
|
||||
self.game: g = None
|
||||
@ -55,6 +56,7 @@ class Player:
|
||||
self.equipment: cs.Card = []
|
||||
self.role: r.Role = None
|
||||
self.character: chars.Character = None
|
||||
self.real_character: chars.Character = None
|
||||
self.lives = 0
|
||||
self.max_lives = 0
|
||||
self.is_my_turn = False
|
||||
@ -92,13 +94,24 @@ class Player:
|
||||
|
||||
def set_character(self, character: str):
|
||||
print(self.available_characters, character)
|
||||
self.character = next(
|
||||
x for x in self.available_characters if x.name == character)
|
||||
self.available_characters = []
|
||||
print(f'I {self.name} chose character {self.character.name}')
|
||||
self.sio.emit('chat_message', room=self.game.name,
|
||||
data=f'_did_choose_character|{self.name}')
|
||||
self.game.notify_character_selection()
|
||||
if self.character == None:
|
||||
self.character = next(
|
||||
x for x in self.available_characters if x.name == character)
|
||||
self.real_character = self.character
|
||||
self.available_characters = []
|
||||
print(f'I {self.name} chose character {self.character.name}')
|
||||
self.sio.emit('chat_message', room=self.game.name,
|
||||
data=f'_did_choose_character|{self.name}')
|
||||
self.game.notify_character_selection()
|
||||
elif self.real_character and isinstance(self.real_character, chd.VeraCuster):
|
||||
self.character = next(
|
||||
x for x in self.available_characters if x.name == character)
|
||||
self.available_characters = []
|
||||
self.sio.emit('chat_message', room=self.game.name,
|
||||
data=f'_did_choose_character|{self.name}')
|
||||
self.pending_action = PendingAction.DRAW
|
||||
self.notify_self()
|
||||
|
||||
|
||||
def prepare(self):
|
||||
self.max_lives = self.character.max_lives + self.role.health_mod
|
||||
@ -281,7 +294,10 @@ class Player:
|
||||
if any([isinstance(c, cs.Dinamite) or isinstance(c, cs.Prigione) for c in self.equipment]):
|
||||
self.pending_action = PendingAction.PICK
|
||||
else:
|
||||
self.pending_action = PendingAction.DRAW
|
||||
if isinstance(self.real_character, chd.VeraCuster):
|
||||
self.set_available_character([p.character for p in self.game.players if p != self])
|
||||
else:
|
||||
self.pending_action = PendingAction.DRAW
|
||||
self.notify_self()
|
||||
|
||||
def draw(self, pile):
|
||||
|
@ -1,7 +1,7 @@
|
||||
certifi==2020.11.8
|
||||
dnspython==1.16.0
|
||||
eventlet==0.29.1
|
||||
eventlet==0.30.0
|
||||
greenlet==0.4.17
|
||||
python-engineio==3.13.2
|
||||
python-socketio==4.6.0
|
||||
python-engineio==4.0.0
|
||||
python-socketio==5.0.3
|
||||
six==1.15.0
|
||||
|
Loading…
Reference in New Issue
Block a user