def sort_players_by_pieces_in_clearing( players: list[Player], clearing: Clearing, descending: bool = True) -> list[Player]: return sorted(players, key=lambda p: clearing.get_piece_count_for_player(p), reverse=descending)
def halves_damage(self, battle_clearing: Clearing) -> bool: return (self.has_trait(TRAIT_FORTIFIED) and battle_clearing.get_building_count_for_player(self) == battle_clearing.get_piece_count_for_player(self))