From 3c6dc912c8b00757c13a6f5fb82ca8aeaca45bc8 Mon Sep 17 00:00:00 2001 From: Giulio Date: Thu, 31 Mar 2022 13:09:41 +0200 Subject: [PATCH 1/3] minor changes --- backend/bang/game.py | 1 + backend/server.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/backend/bang/game.py b/backend/bang/game.py index 152ff6d..1dd7902 100644 --- a/backend/bang/game.py +++ b/backend/bang/game.py @@ -90,6 +90,7 @@ class Game: for i in range(len(log)-1): print('replay:', i, 'of', len(log)-3, '->', log[i]) if (log[i] == "@@@"): + eventlet.sleep(10) if self.is_replay: self.reset() return diff --git a/backend/server.py b/backend/server.py index c9fbe64..58d0f5e 100644 --- a/backend/server.py +++ b/backend/server.py @@ -524,7 +524,7 @@ def chat_message(sid, msg, pl=None): cards = cs.get_starting_deck(ses.game.expansions) card_names = ' '.join(cmd[1:]).split(',') for cn in card_names: - ses.hand.append([c for c in cards if c.name == cn][0]) + ses.hand.append([c for c in cards if c.name.lower() == cn.lower() or c.name[0:-1].lower() == cn.lower()][0]) ses.notify_self() elif '/getnuggets' in msg: sio.emit('chat_message', room=ses.game.name, data={'color': f'red','text':f'🚨 {ses.name} is in debug mode and got nuggets'}) From 91a1d2122d5a0f586b064f9dc5be54f9c30b6699 Mon Sep 17 00:00:00 2001 From: Giulio Date: Thu, 31 Mar 2022 13:10:17 +0200 Subject: [PATCH 2/3] fix for belle star and event cards --- backend/bang/players.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/backend/bang/players.py b/backend/bang/players.py index fe45fa9..0ce2ca3 100644 --- a/backend/bang/players.py +++ b/backend/bang/players.py @@ -961,6 +961,7 @@ class Player: def get_banged(self, attacker, double=False, no_dmg=False, card_index=None): self.attacker = attacker + print(f'attacker -> {attacker}') self.mancato_needed = 1 if not double else 2 if card_index != None: self.dmg_card_index = card_index @@ -979,8 +980,9 @@ class Player: self.take_no_damage_response() return False else: - if (not self.game.check_event(ce.Lazo) and len([c for c in self.equipment if isinstance(c, cs.Barile)]) > 0) and not self.game.players[self.game.turn].character.check(self.game, chd.BelleStar)\ - or self.character.check(self.game, chars.Jourdonnais): + if ((not self.game.check_event(ce.Lazo) and len([c for c in self.equipment if isinstance(c, cs.Barile)]) > 0) \ + and not (self.game.players[self.game.turn].character.check(self.game, chd.BelleStar) and isinstance(attacker, Player))) \ + or self.character.check(self.game, chars.Jourdonnais): #se ho un barile e non c'è lazo e non mi sta attaccando Belle Star o se sono Jourdonnais print('has barrel') self.pending_action = PendingAction.PICK if not no_dmg: From 90b138d70a9ed6d575c216ad6d9e3c5a316ac066 Mon Sep 17 00:00:00 2001 From: Giulio Date: Thu, 31 Mar 2022 23:11:07 +0200 Subject: [PATCH 3/3] fixed rangeless card --- frontend/src/components/Player.vue | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/frontend/src/components/Player.vue b/frontend/src/components/Player.vue index 150b48c..926b7b1 100644 --- a/frontend/src/components/Player.vue +++ b/frontend/src/components/Player.vue @@ -111,6 +111,7 @@ export default { range: 1, sight: 1, sight_extra: 1, + norangecard: false, can_target_sheriff: true, show_role: false, attacker: undefined, @@ -240,8 +241,11 @@ export default { if (!this.can_target_sheriff && x.is_sheriff) return false else - //console.log("aa" +(this.sight-1)) - return x.dist <= this.range + this.sight_extra + //console.log(x.name +" dist:" +x.dist +" range:" +this.range +" sight:" +this.sight +" sight_extra:" +this.sight_extra) + if (this.norangecard) + return x.dist <= this.range + else + return x.dist <= this.range + this.sight_extra }).map(player => { return { name: player.name, @@ -372,10 +376,13 @@ export default { if (card.need_with && !this.card_with) { this.card_with = card } else if ((card.need_target || calamity_special) && !((card.name == 'Bang!' || (calamity_special && card.name=='Mancato!')) && cant_play_bang)) { - if (card.name == 'Bang!' || card.name == "Pepperbox" || calamity_special) + if (card.name == 'Bang!' || card.name == "Pepperbox" || calamity_special) { this.range = this.sight - else + this.norangecard = true + } else { this.range = card.range + this.norangecard = false + } if (this.visiblePlayers.length == 0 && this.hand.length > this.lives) { this.really_play_card(card, null) } @@ -401,6 +408,7 @@ export default { if (this.card_with.need_target) { this.card_against = this.card_with this.range = this.card_against.range + this.norangecard = false this.card_with = card } else { let card_data = {