From 38fc38fde8122f0d8f4d3f597a06da38df7f7c98 Mon Sep 17 00:00:00 2001 From: VinPropane Date: Fri, 29 May 2026 22:02:52 -0400 Subject: [PATCH] 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). --- client/scripts/main.gd | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/client/scripts/main.gd b/client/scripts/main.gd index 66e3275..b90902d 100644 --- a/client/scripts/main.gd +++ b/client/scripts/main.gd @@ -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