feat: implement water shader and environment for free mode arena
This commit is contained in:
+3
-4
@@ -1345,18 +1345,17 @@ func is_position_occupied(pos: Vector2i) -> bool:
|
||||
if p.is_player_moving and p.target_position == pos:
|
||||
return true
|
||||
|
||||
# Prevent overlap with Static Tekton Stands (3x3 area, with 1-tile buffer = 5x5 checked)
|
||||
# Prevent overlap with Static Tekton Stands (Exactly the 3x3 area)
|
||||
if enhanced_gridmap:
|
||||
for stand in get_tree().get_nodes_in_group("StaticTektonStands"):
|
||||
var local_pos = enhanced_gridmap.to_local(stand.global_position)
|
||||
var stand_map_pos = enhanced_gridmap.local_to_map(local_pos)
|
||||
if abs(pos.x - stand_map_pos.x) <= 2 and abs(pos.y - stand_map_pos.z) <= 2:
|
||||
if abs(pos.x - stand_map_pos.x) <= 1 and abs(pos.y - stand_map_pos.z) <= 1:
|
||||
return true
|
||||
|
||||
var main_node = get_tree().get_root().get_node_or_null("Main")
|
||||
if main_node and "reserved_static_positions" in main_node:
|
||||
for reserved in main_node.reserved_static_positions:
|
||||
if abs(pos.x - reserved.x) <= 2 and abs(pos.y - reserved.y) <= 2:
|
||||
if abs(pos.x - reserved.x) <= 1 and abs(pos.y - reserved.y) <= 1:
|
||||
return true
|
||||
|
||||
return false
|
||||
|
||||
Reference in New Issue
Block a user