def sort_players_by_tokens_in_clearing( players: list[Player], clearing: Clearing, descending: bool = True) -> list[Player]: return sorted(players, key=lambda p: clearing.get_token_count_for_player(p), reverse=descending)
def get_bonus_hits(self, clearing: Clearing, opponent: Player, is_attacker: bool = True) -> int: bonus_hits = 0 # Automated Ambush if clearing.get_warrior_count_for_player(self) > 0: bonus_hits += 1 elif self.has_trait(TRAIT_INFORMANTS) and clearing.get_token_count_for_player(self) > 0: bonus_hits += 1 return bonus_hits
def sort_players_by_cardboard_in_clearing( players: list[Player], clearing: Clearing, descending: bool = True) -> list[Player]: return sorted(players, key=lambda p: (clearing.get_building_count_for_player(p) + clearing.get_token_count_for_player(p)), reverse=descending)