add colorado bill
This commit is contained in:
parent
2a69f8ba7c
commit
decd959328
@ -52,7 +52,7 @@ class TucoFranziskaner(Character):
|
|||||||
def all_characters() -> List[Character]:
|
def all_characters() -> List[Character]:
|
||||||
cards = [
|
cards = [
|
||||||
# BlackFlower(),
|
# BlackFlower(),
|
||||||
# ColoradoBill(),
|
ColoradoBill(),
|
||||||
# DerSpotBurstRinger(),
|
# DerSpotBurstRinger(),
|
||||||
# EvelynShebang(),
|
# EvelynShebang(),
|
||||||
# HenryBlock(),
|
# HenryBlock(),
|
||||||
|
@ -1122,10 +1122,16 @@ class Player:
|
|||||||
self.available_cards.append({'name': '-1hp', 'icon': '💔', 'noDesc': True})
|
self.available_cards.append({'name': '-1hp', 'icon': '💔', 'noDesc': True})
|
||||||
return 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.attacker = attacker
|
||||||
self.attacking_card = card_name
|
self.attacking_card = card_name
|
||||||
print(f'attacker -> {attacker}')
|
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
|
self.mancato_needed = 1 if not double else 2
|
||||||
if card_index is not None:
|
if card_index is not None:
|
||||||
self.dmg_card_index = card_index
|
self.dmg_card_index = card_index
|
||||||
|
@ -7,6 +7,8 @@ class DummySocket():
|
|||||||
# print(f'event: {event}, data: {data}, to: {to}, room: {room}')
|
# print(f'event: {event}, data: {data}, to: {to}, room: {room}')
|
||||||
if self.true_sio and event == 'chat_message':
|
if self.true_sio and event == 'chat_message':
|
||||||
self.true_sio.emit(event, data, to, room, skip_sid, namespace, callback, **kwargs)
|
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
|
return True
|
||||||
|
|
||||||
def sleep(self, seconds):
|
def sleep(self, seconds):
|
||||||
|
@ -26,3 +26,27 @@ def test_TucoFranziskaner():
|
|||||||
p.equipment = [cs.Barile(0,0)]
|
p.equipment = [cs.Barile(0,0)]
|
||||||
p.draw('')
|
p.draw('')
|
||||||
assert len(p.hand) == 2
|
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