From 467e036cc0a8b02c6e5d7fdc8187523992eef678 Mon Sep 17 00:00:00 2001 From: Wickedness Date: Sat, 20 Jun 2026 18:36:39 +0900 Subject: [PATCH] Clarify threat overlay reaction zones --- scripts/scenes/battle_scene.gd | 8 ++++++-- tools/smoke_visual_assets.gd | 9 +++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/scripts/scenes/battle_scene.gd b/scripts/scenes/battle_scene.gd index d37627e..8d85d55 100644 --- a/scripts/scenes/battle_scene.gd +++ b/scripts/scenes/battle_scene.gd @@ -1816,6 +1816,10 @@ func _format_local_command_tooltip(label: String, hint: String) -> String: return "%s\n%s" % [normalized_label, normalized_hint] +func _threat_overlay_tooltip_text() -> String: + return "적의 무기와 책략 사거리, 초병 유인 반경, 거점 경계권을 함께 살핍니다.\n행군 후보 위의 위험/유인/경계 표식으로 반응 범위를 확인합니다." + + func _connect_command_hint_button(button: Button) -> void: if button == null or bool(button.get_meta("command_hint_connected", false)): return @@ -3301,7 +3305,7 @@ func _create_hud() -> void: top_tool_row.add_child(end_turn_button) threat_button = Button.new() - _configure_top_tool_button(threat_button, "TopThreatButton", "threat", "적정\n적의 무기와 책략 사거리를 살핍니다.") + _configure_top_tool_button(threat_button, "TopThreatButton", "threat", _format_local_command_tooltip("적정", _threat_overlay_tooltip_text())) threat_button.toggle_mode = true threat_button.pressed.connect(_on_threat_pressed) top_tool_row.add_child(threat_button) @@ -18274,7 +18278,7 @@ func _update_threat_button() -> void: if state.battle_status != BattleState.STATUS_ACTIVE: _set_action_button_blocked(threat_button, "적정", "전장 종결", "전투 중에만 적진을 살필 수 있습니다.") return - _set_action_button_state(threat_button, "적정", false, "적의 무기와 책략 사거리를 살핍니다.") + _set_action_button_state(threat_button, "적정", false, _threat_overlay_tooltip_text()) func _update_tactic_button(selected: Dictionary) -> void: diff --git a/tools/smoke_visual_assets.gd b/tools/smoke_visual_assets.gd index 2f5e8fd..5a857b9 100644 --- a/tools/smoke_visual_assets.gd +++ b/tools/smoke_visual_assets.gd @@ -5078,6 +5078,15 @@ func _check_action_button_disabled_reasons(failures: Array[String]) -> void: ]) scene.state.current_team = BattleState.TEAM_PLAYER + scene.battle_started = true + scene._update_threat_button() + if scene.threat_button.text != "" or not scene.threat_button.tooltip_text.contains("유인 반경") or not scene.threat_button.tooltip_text.contains("거점 경계권") or not scene.threat_button.tooltip_text.contains("위험/유인/경계"): + failures.append("active threat button should explain range, lure, and guard overlays: %s | %s" % [scene.threat_button.text, scene.threat_button.tooltip_text]) + if str(scene.threat_button.get_meta("command_label", "")) != "적정" or bool(scene.threat_button.get_meta("command_disabled", false)): + failures.append("active threat button should preserve reusable active metadata: %s / %s" % [ + str(scene.threat_button.get_meta("command_label", "")), + str(scene.threat_button.get_meta("command_disabled", false)) + ]) scene.battle_started = false scene._update_threat_button() if scene.threat_button.text != "" or not scene.threat_button.tooltip_text.contains("적정") or not scene.threat_button.tooltip_text.contains("전장도 미개봉") or not scene.threat_button.tooltip_text.contains("전장도"):