NEO-97: dedupe locked_target_id_from_state via helpers

Use NpcCombatHudHelpers.locked_target_id_from_state from main.gd
instead of maintaining a private copy (Bugbot).
pull/136/head
VinPropane 2026-05-29 22:02:52 -04:00
parent 1bfa13b173
commit 38fc38fde8
1 changed files with 3 additions and 10 deletions

View File

@ -305,12 +305,12 @@ func _on_authoritative_ack_for_hud(world: Vector3) -> void:
## live distance readouts stay in sync with the player capsule even while
## the server state is idle.
func _on_target_state_changed(state: Dictionary) -> void:
var prev_lock := _locked_target_id_from_state(_last_target_state)
var prev_lock := NpcCombatHudHelpers.locked_target_id_from_state(_last_target_state)
_last_target_state = state.duplicate()
if is_instance_valid(_player):
_render_target_lock_label(_player.global_position)
_render_combat_target_hp_label()
var new_lock := _locked_target_id_from_state(_last_target_state)
var new_lock := NpcCombatHudHelpers.locked_target_id_from_state(_last_target_state)
if is_instance_valid(_target_markers) and _target_markers.has_method("set_locked_target"):
_target_markers.call("set_locked_target", new_lock)
if new_lock != prev_lock:
@ -1033,17 +1033,10 @@ func _request_combat_targets_refresh() -> void:
_combat_targets_client.call("request_sync_from_server")
func _locked_target_id_from_state(state: Dictionary) -> String:
var locked_variant: Variant = state.get("lockedTargetId", null)
if locked_variant is String:
return (locked_variant as String).strip_edges()
return ""
func _render_combat_target_hp_label() -> void:
if not is_instance_valid(_combat_target_hp_label):
return
var lock_id := _locked_target_id_from_state(_last_target_state)
var lock_id := NpcCombatHudHelpers.locked_target_id_from_state(_last_target_state)
if lock_id.is_empty():
_combat_target_hp_label.text = ("Target HP: — (Tab → elite/melee/ranged near spawn)")
return