Clarify threat overlay reaction zones

This commit is contained in:
2026-06-20 18:36:39 +09:00
parent 9da1833949
commit 467e036cc0
2 changed files with 15 additions and 2 deletions

View File

@@ -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:

View File

@@ -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("전장도"):