diff --git a/scripts/scenes/battle_scene.gd b/scripts/scenes/battle_scene.gd index 2d9f776..e094a47 100644 --- a/scripts/scenes/battle_scene.gd +++ b/scripts/scenes/battle_scene.gd @@ -10751,6 +10751,7 @@ func _on_side_unit_overview_row_pressed(unit_id: String) -> void: _hide_equip_menu() _hide_post_move_menu() state.select_unit(unit_id) + _refresh_ranges() _play_ui_confirm() else: _play_ui_click() @@ -15934,6 +15935,7 @@ func _on_battle_unit_list_row_pressed(unit_id: String) -> void: _hide_equip_menu() _hide_post_move_menu() state.select_unit(unit_id) + _refresh_ranges() _play_ui_confirm() else: _play_ui_click() diff --git a/tools/smoke_visual_assets.gd b/tools/smoke_visual_assets.gd index f6b707a..14e6e44 100644 --- a/tools/smoke_visual_assets.gd +++ b/tools/smoke_visual_assets.gd @@ -3585,6 +3585,16 @@ func _check_hud_focus_text(failures: Array[String]) -> void: failures.append("side unit overview should expose ally/enemy tabs") elif not scene.side_unit_overview_ally_button.button_pressed or scene.side_unit_overview_enemy_button.button_pressed: failures.append("side unit overview should default to the ally tab") + scene._on_side_unit_overview_row_pressed("xiahou_dun") + if scene.state.selected_unit_id != "xiahou_dun": + failures.append("ally overview row click should select the chosen unit: %s" % scene.state.selected_unit_id) + if scene.move_cells.is_empty(): + failures.append("ally overview row click should immediately refresh movement range") + if scene.side_unit_overview_panel != null and scene.side_unit_overview_panel.visible: + failures.append("ally overview row click should swap the list back to selected-unit detail") + scene.state.clear_selection() + scene._refresh_ranges() + scene._update_hud() scene._on_side_unit_overview_tab_pressed("enemy") if scene.side_unit_overview_status_label == null or not scene.side_unit_overview_status_label.text.contains("적군"): failures.append("enemy overview tab should summarize remaining enemies: %s" % ("" if scene.side_unit_overview_status_label == null else scene.side_unit_overview_status_label.text)) @@ -3592,6 +3602,11 @@ func _check_hud_focus_text(failures: Array[String]) -> void: failures.append("enemy overview tab should stay visually selected") if scene.side_unit_overview_rows == null or scene.side_unit_overview_rows.get_child_count() < 4: failures.append("enemy overview tab should list visible enemy forces") + scene._on_side_unit_overview_row_pressed("yellow_turban_1") + if scene.state.selected_unit_id != "": + failures.append("enemy overview row click should focus without selecting enemy units: %s" % scene.state.selected_unit_id) + if not scene.move_cells.is_empty(): + failures.append("enemy overview row click should not leave player movement ranges visible") scene._on_side_unit_overview_tab_pressed("ally") if scene.inventory_label == null or scene.inventory_label.text != "군수 대기": failures.append("empty battle inventory line should not show noisy stock text: %s" % ("" if scene.inventory_label == null else scene.inventory_label.text))