foxes
This commit is contained in:
1
main.py
1
main.py
@ -139,7 +139,6 @@ def parse_player_events(message, game_state, ui):
|
|||||||
player_name = re.sub(r'\^\d+$', '', player_name)
|
player_name = re.sub(r'\^\d+$', '', player_name)
|
||||||
|
|
||||||
logger.info(f'CONNECT: {repr(player_name)}')
|
logger.info(f'CONNECT: {repr(player_name)}')
|
||||||
if game_state.server_info.is_team_mode():
|
|
||||||
game_state.player_tracker.update_team(player_name, 'SPECTATOR')
|
game_state.player_tracker.update_team(player_name, 'SPECTATOR')
|
||||||
game_state.player_tracker.add_player(player_name)
|
game_state.player_tracker.add_player(player_name)
|
||||||
ui.update_server_info(game_state)
|
ui.update_server_info(game_state)
|
||||||
|
|||||||
4
state.py
4
state.py
@ -70,9 +70,6 @@ class PlayerTracker:
|
|||||||
|
|
||||||
def update_team(self, name, team):
|
def update_team(self, name, team):
|
||||||
"""Update player team. Team can be int or string"""
|
"""Update player team. Team can be int or string"""
|
||||||
if not self.server_info.is_team_mode():
|
|
||||||
return
|
|
||||||
|
|
||||||
# Convert numeric team to string
|
# Convert numeric team to string
|
||||||
if isinstance(team, int):
|
if isinstance(team, int):
|
||||||
team = TEAM_MAP.get(team, 'FREE')
|
team = TEAM_MAP.get(team, 'FREE')
|
||||||
@ -161,7 +158,6 @@ class PlayerTracker:
|
|||||||
self.player_teams.pop(old_clean, None)
|
self.player_teams.pop(old_clean, None)
|
||||||
|
|
||||||
# Add new team entries with color codes preserved
|
# Add new team entries with color codes preserved
|
||||||
if self.server_info.is_team_mode():
|
|
||||||
self.update_team(new_name, team)
|
self.update_team(new_name, team)
|
||||||
|
|
||||||
logger.debug(f'Renamed player: {old_name} -> {new_name} (team: {team})')
|
logger.debug(f'Renamed player: {old_name} -> {new_name} (team: {team})')
|
||||||
|
|||||||
28
ui.py
28
ui.py
@ -354,13 +354,27 @@ class UIManager:
|
|||||||
print_colored(self.info_window, line, 0)
|
print_colored(self.info_window, line, 0)
|
||||||
else:
|
else:
|
||||||
warmup_display = "^3Warmup: ^2YES^9" if server_info.warmup else "^3Warmup: ^1NO^9"
|
warmup_display = "^3Warmup: ^2YES^9" if server_info.warmup else "^3Warmup: ^1NO^9"
|
||||||
print_colored(self.info_window, f"^0^3(FREE) {warmup_display}\n", 0)
|
print_colored(self.info_window, f"^0^5(FREE) ^5(FREE) ^3(SPEC) {warmup_display}\n", 0)
|
||||||
free_players = teams['FREE'][:4]
|
free_players = teams['FREE']
|
||||||
for player in free_players:
|
spec_players = teams['SPECTATOR'][:4]
|
||||||
print_colored(self.info_window, f"^0{player}^9\n", 0)
|
free_col1 = free_players[:4]
|
||||||
# Fill remaining lines
|
free_col2 = free_players[4:8]
|
||||||
for i in range(4 - len(free_players)):
|
|
||||||
self.info_window.addstr("\n")
|
for i in range(4):
|
||||||
|
col1 = free_col1[i] if i < len(free_col1) else ''
|
||||||
|
col2 = free_col2[i] if i < len(free_col2) else ''
|
||||||
|
spec = spec_players[i] if i < len(spec_players) else ''
|
||||||
|
|
||||||
|
from formatter import strip_color_codes
|
||||||
|
col1_clean = strip_color_codes(col1)
|
||||||
|
col2_clean = strip_color_codes(col2)
|
||||||
|
spec_clean = strip_color_codes(spec)
|
||||||
|
|
||||||
|
col1_pad = 24 - len(col1_clean)
|
||||||
|
col2_pad = 24 - len(col2_clean)
|
||||||
|
|
||||||
|
line = f"^0{col1}^9{' ' * col1_pad}^0{col2}^9{' ' * col2_pad}^0{spec}^9\n"
|
||||||
|
print_colored(self.info_window, line, 0)
|
||||||
|
|
||||||
# Blank lines to fill
|
# Blank lines to fill
|
||||||
self.info_window.addstr("\n\n")
|
self.info_window.addstr("\n\n")
|
||||||
|
|||||||
Reference in New Issue
Block a user