diff --git a/scenes/main.gd b/scenes/main.gd index 274c4f3..af4eca5 100644 --- a/scenes/main.gd +++ b/scenes/main.gd @@ -1754,7 +1754,9 @@ func randomize_game_grid(): # This ensures StaticTektonManager calculation (which checks Floor 0) succeeds. for x in range(enhanced_gridmap.columns): for z in range(enhanced_gridmap.rows): - if enhanced_gridmap.get_cell_item(Vector3i(x, 0, z)) == -1: + var f0_item = enhanced_gridmap.get_cell_item(Vector3i(x, 0, z)) + # If empty OR it's a tile/powerup (7-20) accidentally stuck on the ground layer, replace with Base Floor (0) + if f0_item == -1 or (f0_item >= 7 and f0_item <= 20): enhanced_gridmap.set_cell_item(Vector3i(x, 0, z), 0) # Custom spawn ratio for Free Mode: 80% common tiles, 20% empty tiles (start of game) diff --git a/scripts/static_tekton_controller.gd b/scripts/static_tekton_controller.gd index 4d169cd..b093214 100644 --- a/scripts/static_tekton_controller.gd +++ b/scripts/static_tekton_controller.gd @@ -60,7 +60,7 @@ func _attempt_throw(): if enhanced_gridmap and "cell_size" in enhanced_gridmap: target_world_pos = Vector3( target.x * enhanced_gridmap.cell_size.x + enhanced_gridmap.cell_size.x / 2, - 0, + enhanced_gridmap.cell_size.y, target.y * enhanced_gridmap.cell_size.z + enhanced_gridmap.cell_size.z / 2 ) diff --git a/scripts/tekton.gd b/scripts/tekton.gd index f382489..b15ee4e 100644 --- a/scripts/tekton.gd +++ b/scripts/tekton.gd @@ -451,11 +451,11 @@ func spawn_tiles_around(count: int = 4): else: item_id = rng.randi_range(11, 14) - if item_id != -1: - var main = get_tree().get_root().get_node_or_null("Main") - if main and can_rpc(): - main.rpc("sync_grid_item", pos.x, 1, pos.y, item_id) - spawned += 1 + if item_id != -1: + var main = get_tree().get_root().get_node_or_null("Main") + if main and can_rpc(): + main.rpc("sync_grid_item", pos.x, 1, pos.y, item_id) + spawned += 1 @rpc("call_local", "reliable") func play_animation_rpc(anim_name: String):