feat: Introduce special tile power-up system, managing inventory, levels, cooldowns, and targeted effects like area freeze and block floor.

This commit is contained in:
Yogi Wiguna
2026-02-13 13:26:22 +08:00
parent ad16f5942b
commit 6472e47edf
3 changed files with 64 additions and 1 deletions
+5
View File
@@ -107,6 +107,11 @@ func _find_empty_tile() -> Vector2i:
# Check range logic (Euclidean or Manhattan?)
if Vector2(x, y).distance_to(Vector2(center.x, center.y)) > throw_range: continue
# EXPLICITLY EXCLUDE 3x3 BASE AREA (Tekton Stand)
# The stand occupies [center-1, center+1]. We must NOT spawn here.
if abs(x - center.x) <= 1 and abs(y - center.y) <= 1:
continue
# Check if empty (Layer 1 has no item)
if enhanced_gridmap.get_cell_item(Vector3i(x, 1, y)) == -1:
# Also check floor exist? (Layer 0)