add info about which card is attacking you
This commit is contained in:
parent
f9d2d48d8a
commit
cc8cd52c6b
@ -226,7 +226,7 @@ class Bang(Card):
|
|||||||
player.has_played_bang = True if not player.game.check_event(ceh.Sparatoria) else player.bang_used > 1
|
player.has_played_bang = True if not player.game.check_event(ceh.Sparatoria) else player.bang_used > 1
|
||||||
if player.character.check(player.game, chars.WillyTheKid):
|
if player.character.check(player.game, chars.WillyTheKid):
|
||||||
player.has_played_bang = False
|
player.has_played_bang = False
|
||||||
player.game.attack(player, against, double=player.character.check(player.game, chars.SlabTheKiller))
|
player.game.attack(player, against, double=player.character.check(player.game, chars.SlabTheKiller), card_name=self.name)
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
@ -350,7 +350,7 @@ class Gatling(Card):
|
|||||||
|
|
||||||
def play_card(self, player, against, _with=None):
|
def play_card(self, player, against, _with=None):
|
||||||
super().play_card(player, against=against)
|
super().play_card(player, against=against)
|
||||||
player.game.attack_others(player)
|
player.game.attack_others(player, card_name=self.name)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
@ -385,7 +385,7 @@ class Mancato(Card):
|
|||||||
data=f'_special_calamity|{player.name}|{self.name}|{against}')
|
data=f'_special_calamity|{player.name}|{self.name}|{against}')
|
||||||
player.bang_used += 1
|
player.bang_used += 1
|
||||||
player.has_played_bang = True if not player.game.check_event(ceh.Sparatoria) else player.bang_used > 1
|
player.has_played_bang = True if not player.game.check_event(ceh.Sparatoria) else player.bang_used > 1
|
||||||
player.game.attack(player, against)
|
player.game.attack(player, against, card_name=self.name)
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ class Pugno(Card):
|
|||||||
def play_card(self, player, against, _with=None):
|
def play_card(self, player, against, _with=None):
|
||||||
if against != None:
|
if against != None:
|
||||||
super().play_card(player, against=against)
|
super().play_card(player, against=against)
|
||||||
player.game.attack(player, against)
|
player.game.attack(player, against, card_name=self.name)
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
@ -106,7 +106,7 @@ class SpringField(Card):
|
|||||||
if against != None and _with != None:
|
if against != None and _with != None:
|
||||||
player.game.deck.scrap(_with)
|
player.game.deck.scrap(_with)
|
||||||
super().play_card(player, against=against)
|
super().play_card(player, against=against)
|
||||||
player.game.attack(player, against)
|
player.game.attack(player, against, card_name=self.name)
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
@ -367,7 +367,7 @@ class Pepperbox(Bang):
|
|||||||
if self.can_be_used_now:
|
if self.can_be_used_now:
|
||||||
if against != None:
|
if against != None:
|
||||||
Card.play_card(self, player, against=against)
|
Card.play_card(self, player, against=against)
|
||||||
player.game.attack(player, against)
|
player.game.attack(player, against, card_name=self.name)
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
else:
|
else:
|
||||||
@ -392,7 +392,7 @@ class FucileDaCaccia(Card):
|
|||||||
if self.can_be_used_now:
|
if self.can_be_used_now:
|
||||||
if against != None:
|
if against != None:
|
||||||
super().play_card(player, against=against)
|
super().play_card(player, against=against)
|
||||||
player.game.attack(player, against)
|
player.game.attack(player, against, card_name=self.name)
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
else:
|
else:
|
||||||
|
@ -303,7 +303,7 @@ class Game:
|
|||||||
self.players[i].notify_self()
|
self.players[i].notify_self()
|
||||||
self.notify_event_card()
|
self.notify_event_card()
|
||||||
|
|
||||||
def attack_others(self, attacker: pl.Player):
|
def attack_others(self, attacker: pl.Player, card_name:str=None):
|
||||||
self.attack_in_progress = True
|
self.attack_in_progress = True
|
||||||
attacker.pending_action = pl.PendingAction.WAIT
|
attacker.pending_action = pl.PendingAction.WAIT
|
||||||
attacker.notify_self()
|
attacker.notify_self()
|
||||||
@ -311,7 +311,7 @@ class Game:
|
|||||||
self.ready_count = 0
|
self.ready_count = 0
|
||||||
for p in self.get_alive_players():
|
for p in self.get_alive_players():
|
||||||
if p != attacker:
|
if p != attacker:
|
||||||
if p.get_banged(attacker=attacker):
|
if p.get_banged(attacker=attacker, card_name=card_name):
|
||||||
self.waiting_for += 1
|
self.waiting_for += 1
|
||||||
p.notify_self()
|
p.notify_self()
|
||||||
if self.waiting_for == 0:
|
if self.waiting_for == 0:
|
||||||
@ -339,8 +339,8 @@ class Game:
|
|||||||
if self.pending_winners and not self.someone_won:
|
if self.pending_winners and not self.someone_won:
|
||||||
return self.announces_winners()
|
return self.announces_winners()
|
||||||
|
|
||||||
def attack(self, attacker: pl.Player, target_username:str, double:bool=False):
|
def attack(self, attacker: pl.Player, target_username:str, double:bool=False, card_name:str=None):
|
||||||
if self.get_player_named(target_username).get_banged(attacker=attacker, double=double):
|
if self.get_player_named(target_username).get_banged(attacker=attacker, double=double, card_name=card_name):
|
||||||
self.ready_count = 0
|
self.ready_count = 0
|
||||||
self.waiting_for = 1
|
self.waiting_for = 1
|
||||||
attacker.pending_action = pl.PendingAction.WAIT
|
attacker.pending_action = pl.PendingAction.WAIT
|
||||||
|
@ -57,6 +57,7 @@ class Player:
|
|||||||
self.on_failed_response_cb = None
|
self.on_failed_response_cb = None
|
||||||
self.event_type: str = None
|
self.event_type: str = None
|
||||||
self.expected_response = []
|
self.expected_response = []
|
||||||
|
self.attacking_card = None
|
||||||
self.attacker: Player = None
|
self.attacker: Player = None
|
||||||
self.target_p: str = None
|
self.target_p: str = None
|
||||||
self.is_drawing = False
|
self.is_drawing = False
|
||||||
@ -960,8 +961,9 @@ class Player:
|
|||||||
self.on_failed_response_cb = self.take_no_damage_response
|
self.on_failed_response_cb = self.take_no_damage_response
|
||||||
self.notify_self()
|
self.notify_self()
|
||||||
|
|
||||||
def get_banged(self, attacker, double=False, no_dmg=False, card_index=None):
|
def get_banged(self, attacker, double=False, no_dmg=False, card_index=None, card_name=None):
|
||||||
self.attacker = attacker
|
self.attacker = attacker
|
||||||
|
self.attacking_card = card_name
|
||||||
print(f'attacker -> {attacker}')
|
print(f'attacker -> {attacker}')
|
||||||
self.mancato_needed = 1 if not double else 2
|
self.mancato_needed = 1 if not double else 2
|
||||||
if card_index != None:
|
if card_index != None:
|
||||||
@ -1016,6 +1018,7 @@ class Player:
|
|||||||
|
|
||||||
def get_indians(self, attacker):
|
def get_indians(self, attacker):
|
||||||
self.attacker = attacker
|
self.attacker = attacker
|
||||||
|
self.attacking_card = "Indiani!"
|
||||||
if self.character.check(self.game, chd.ApacheKid) or len([c for c in self.gold_rush_equipment if isinstance(c, grc.Calumet)]) > 0: return False
|
if self.character.check(self.game, chd.ApacheKid) or len([c for c in self.gold_rush_equipment if isinstance(c, grc.Calumet)]) > 0: return False
|
||||||
if not self.game.is_competitive and len([c for c in self.hand if isinstance(c, cs.Bang) or (self.character.check(self.game, chars.CalamityJanet) and isinstance(c, cs.Mancato))]) == 0:
|
if not self.game.is_competitive and len([c for c in self.hand if isinstance(c, cs.Bang) or (self.character.check(self.game, chars.CalamityJanet) and isinstance(c, cs.Mancato))]) == 0:
|
||||||
print('Cant defend')
|
print('Cant defend')
|
||||||
@ -1033,6 +1036,7 @@ class Player:
|
|||||||
|
|
||||||
def get_dueled(self, attacker):
|
def get_dueled(self, attacker):
|
||||||
self.attacker = attacker
|
self.attacker = attacker
|
||||||
|
self.attacking_card = "Duello"
|
||||||
if (self.game.check_event(ceh.Sermone) and self.is_my_turn) or (not self.game.is_competitive and len([c for c in self.hand if isinstance(c, cs.Bang) or (self.character.check(self.game, chars.CalamityJanet) and isinstance(c, cs.Mancato))]) == 0):
|
if (self.game.check_event(ceh.Sermone) and self.is_my_turn) or (not self.game.is_competitive and len([c for c in self.hand if isinstance(c, cs.Bang) or (self.character.check(self.game, chars.CalamityJanet) and isinstance(c, cs.Mancato))]) == 0):
|
||||||
print('Cant defend')
|
print('Cant defend')
|
||||||
self.take_damage_response()
|
self.take_damage_response()
|
||||||
@ -1086,6 +1090,7 @@ class Player:
|
|||||||
self.heal_if_needed()
|
self.heal_if_needed()
|
||||||
self.mancato_needed = 0
|
self.mancato_needed = 0
|
||||||
self.expected_response = []
|
self.expected_response = []
|
||||||
|
self.attacking_card = None
|
||||||
self.event_type = ''
|
self.event_type = ''
|
||||||
self.notify_self()
|
self.notify_self()
|
||||||
self.attacker = None
|
self.attacker = None
|
||||||
@ -1096,6 +1101,7 @@ class Player:
|
|||||||
self.dmg_card_index = -1
|
self.dmg_card_index = -1
|
||||||
self.mancato_needed = 0
|
self.mancato_needed = 0
|
||||||
self.expected_response = []
|
self.expected_response = []
|
||||||
|
self.attacking_card = None
|
||||||
self.event_type = ''
|
self.event_type = ''
|
||||||
self.notify_self()
|
self.notify_self()
|
||||||
self.attacker = None
|
self.attacker = None
|
||||||
|
@ -115,6 +115,7 @@ export default {
|
|||||||
can_target_sheriff: true,
|
can_target_sheriff: true,
|
||||||
show_role: false,
|
show_role: false,
|
||||||
attacker: undefined,
|
attacker: undefined,
|
||||||
|
attacking_card: undefined,
|
||||||
notifycard: null,
|
notifycard: null,
|
||||||
desc: '',
|
desc: '',
|
||||||
scrapHand: [],
|
scrapHand: [],
|
||||||
@ -175,6 +176,7 @@ export default {
|
|||||||
this.sight = self.sight
|
this.sight = self.sight
|
||||||
this.sight_extra = self.sight_extra
|
this.sight_extra = self.sight_extra
|
||||||
this.attacker = self.attacker
|
this.attacker = self.attacker
|
||||||
|
this.attacking_card = self.attacking_card
|
||||||
this.mancato_needed = self.mancato_needed
|
this.mancato_needed = self.mancato_needed
|
||||||
this.is_ghost = self.is_ghost
|
this.is_ghost = self.is_ghost
|
||||||
if (this.pending_action == 5 && self.target_p) {
|
if (this.pending_action == 5 && self.target_p) {
|
||||||
@ -215,7 +217,8 @@ export default {
|
|||||||
},
|
},
|
||||||
computed:{
|
computed:{
|
||||||
respondText() {
|
respondText() {
|
||||||
return `${this.$t('choose_response')}${this.attacker?(this.$t('choose_response_to')+this.attacker):''}${(this.mancato_needed>1)?(` (${this.$t('choose_response_needed')} ` + this.mancato_needed + ')'):''}`
|
let attCard = this.attacking_card ? ' ('+this.$t('cards.'+this.attacking_card+'.name')+')' : '';
|
||||||
|
return `${this.$t('choose_response')}${this.attacker?(this.$t('choose_response_to')+this.attacker+attCard):''}${(this.mancato_needed>1)?(` (${this.$t('choose_response_needed')} ` + this.mancato_needed + ')'):''}`
|
||||||
},
|
},
|
||||||
showScrapScreen() {
|
showScrapScreen() {
|
||||||
return this.isEndingTurn && !this.canEndTurn && this.is_my_turn;
|
return this.isEndingTurn && !this.canEndTurn && this.is_my_turn;
|
||||||
|
Loading…
Reference in New Issue
Block a user