From 4ce917db0fb765dbfd24b352e3354214d9f75d20 Mon Sep 17 00:00:00 2001 From: Yogi Wiguna Date: Wed, 18 Feb 2026 17:49:55 +0800 Subject: [PATCH] feat: Add StaticTektonManager for calculating and placing static tekton spawn points using a zone-based 3x3 grid approach. --- scripts/managers/static_tekton_manager.gd | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/managers/static_tekton_manager.gd b/scripts/managers/static_tekton_manager.gd index fc16a2d..2777817 100644 --- a/scripts/managers/static_tekton_manager.gd +++ b/scripts/managers/static_tekton_manager.gd @@ -36,6 +36,7 @@ func calculate_spawn_points(count: int, gridmap: Node) -> Array[Vector2i]: # 2. Select Fixed Targets: TL(0), TR(2), Center(4), BL(6), BR(8) # This ensures they are never adjacent (always separated by a middle zone) var target_indices = [0, 2, 6, 8, 4] + target_indices.shuffle() # Randomize which of the 5 zones we pick # If count < 5, we prioritize corners then center # If count > 5, we only return 5 because that's the max safe non-adjacent set in 3x3 @@ -56,7 +57,9 @@ func calculate_spawn_points(count: int, gridmap: Node) -> Array[Vector2i]: 8: pos_type = 3 # BR 4: pos_type = 4 # Center - var pos = _pick_spot_in_zone_biased(zone, gridmap, pos_type) + # Use PURE RANDOM spot in zone (User Request #2) + # instead of biased corner/center logic + var pos = _pick_spot_in_zone(zone, gridmap) if pos != Vector2i(-1, -1): spawn_points.append(pos)