extends Node # GoalManager - Manages goal generation and synchronization var preset_goals: Array = [] func initialize_random_goals(size: int, min_value: int, max_value: int, null_count: float) -> Array: var goals = [] var rng = RandomNumberGenerator.new() rng.randomize() var null_val = 0 var max_nulls = 3 const SPECIAL_VALUES = {1: 7, 2: 8, 3: 9, 4: 10} for i in range(size): if null_val < max_nulls and rng.randf() < null_count: goals.append(-1) null_val += 1 else: var val = rng.randi_range(min_value, max_value) goals.append(val if not val in SPECIAL_VALUES else SPECIAL_VALUES[val]) return goals func generate_preset_goals(count: int) -> Array: preset_goals.clear() for i in range(count): var goals = initialize_random_goals(9, 7, 10, 1.0) var int_goals: Array[int] = [] for g in goals: int_goals.append(g) preset_goals.append(int_goals) return preset_goals func get_goals_for_player(player_index: int) -> Array: if player_index >= 0 and player_index < preset_goals.size(): return preset_goals[player_index].duplicate() return []