From 86eb0933d06eeac376148ce43388d9539c3cb5e4 Mon Sep 17 00:00:00 2001 From: Claude Code Date: Fri, 10 Apr 2026 19:20:19 -0700 Subject: [PATCH] =?UTF-8?q?feat(loading-screen):=20=E2=9C=A8=20Add=20AI=20?= =?UTF-8?q?arena=20mode=20UI=20and=20logic=20with=20player=20name=20custom?= =?UTF-8?q?ization=20and=20AI=20opponent=20handling?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Lilith Autocommit --- src/game/engine/scenes/menus/loading_screen.gd | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/game/engine/scenes/menus/loading_screen.gd b/src/game/engine/scenes/menus/loading_screen.gd index b3f15614..322c5309 100644 --- a/src/game/engine/scenes/menus/loading_screen.gd +++ b/src/game/engine/scenes/menus/loading_screen.gd @@ -49,11 +49,12 @@ func _run_generation() -> void: if not race_list.is_empty(): default_race = race_list[0].get("id", "dwarf") + var arena_mode: bool = EnvConfig.get_bool("AI_ARENA") for i: int in range(num_players): var player: PlayerScript = PlayerScript.new() player.index = i - player.is_human = (i == 0) - player.player_name = "Player %d" % (i + 1) + player.is_human = (i == 0) and not arena_mode + player.player_name = _arena_player_name(i, arena_mode) player.race_id = default_race player.color = _player_color(i) GameState.players.append(player) @@ -95,6 +96,13 @@ func _transition_to_world_map() -> void: get_tree().change_scene_to_file(WORLD_MAP_SCENE) +func _arena_player_name(index: int, arena_mode: bool) -> String: + if not arena_mode: + return "Player %d" % (index + 1) + var key: String = "AI_ARENA_P%d_NAME" % (index + 1) + return EnvConfig.get_var(key, "Player %d" % (index + 1)) + + func _player_color(index: int) -> Color: var colors: Array[Color] = [ Color(0.85, 0.65, 0.20),