add colorado bill
This commit is contained in:
parent
2a69f8ba7c
commit
decd959328
@ -52,7 +52,7 @@ class TucoFranziskaner(Character):
|
||||
def all_characters() -> List[Character]:
|
||||
cards = [
|
||||
# BlackFlower(),
|
||||
# ColoradoBill(),
|
||||
ColoradoBill(),
|
||||
# DerSpotBurstRinger(),
|
||||
# EvelynShebang(),
|
||||
# HenryBlock(),
|
||||
|
@ -1122,10 +1122,16 @@ class Player:
|
||||
self.available_cards.append({'name': '-1hp', 'icon': '💔', 'noDesc': True})
|
||||
return True
|
||||
|
||||
def get_banged(self, attacker, double=False, no_dmg=False, card_index=None, card_name=None):
|
||||
def get_banged(self, attacker, double:bool=False, no_dmg:bool=False, card_index:int|None=None, card_name:str|None=None):
|
||||
self.attacker = attacker
|
||||
self.attacking_card = card_name
|
||||
print(f'attacker -> {attacker}')
|
||||
if isinstance(attacker, Player) and attacker.character.check(self.game, tvosch.ColoradoBill) and card_name == 'Bang!':
|
||||
picked: cs.Card = self.game.deck.pick_and_scrap()
|
||||
G.sio.emit('chat_message', room=self.game.name, data=f'_flipped|{attacker.name}|{picked.name}|{picked.num_suit()}')
|
||||
if picked.check_suit(self.game, [cs.Suit.SPADES]):
|
||||
self.take_damage_response()
|
||||
return False
|
||||
self.mancato_needed = 1 if not double else 2
|
||||
if card_index is not None:
|
||||
self.dmg_card_index = card_index
|
||||
|
@ -7,6 +7,8 @@ class DummySocket():
|
||||
# print(f'event: {event}, data: {data}, to: {to}, room: {room}')
|
||||
if self.true_sio and event == 'chat_message':
|
||||
self.true_sio.emit(event, data, to, room, skip_sid, namespace, callback, **kwargs)
|
||||
elif event == 'chat_message':
|
||||
print(f'event: {event}, data: {data}, to: {to}, room: {room}')
|
||||
return True
|
||||
|
||||
def sleep(self, seconds):
|
||||
|
@ -26,3 +26,27 @@ def test_TucoFranziskaner():
|
||||
p.equipment = [cs.Barile(0,0)]
|
||||
p.draw('')
|
||||
assert len(p.hand) == 2
|
||||
|
||||
# test ColoradoBill
|
||||
def test_ColoradoBill():
|
||||
g = Game('test')
|
||||
ps = [Player(f'p{i}', f'p{i}') for i in range(2)]
|
||||
for p in ps:
|
||||
g.add_player(p)
|
||||
g.start_game()
|
||||
for p in ps:
|
||||
p.available_characters = [ColoradoBill()]
|
||||
p.set_character(p.available_characters[0].name)
|
||||
p = g.players[g.turn]
|
||||
p1 = g.players[(g.turn+1)%2]
|
||||
p.draw('')
|
||||
p.hand = [cs.Volcanic(0,0), cs.Bang(0,0), cs.Bang(0,0)]
|
||||
p.play_card(0)
|
||||
g.deck.cards.insert(0, cs.Bang(cs.Suit.SPADES,0))
|
||||
g.deck.cards.insert(1, cs.Bang(cs.Suit.HEARTS,0))
|
||||
p1.hand = [cs.Mancato(0,0)]
|
||||
p.play_card(0, p1.name)
|
||||
assert len(p1.hand) == 1
|
||||
assert p1.lives == 3
|
||||
p.play_card(0, p1.name)
|
||||
assert p1.pending_action == PendingAction.RESPOND
|
||||
|
Loading…
Reference in New Issue
Block a user