Gauntlet UI fixes and cleanser improvements
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
/func _find_valid_drop_position/,/return Vector2i(-1, -1)/c\
|
||||
func _find_valid_drop_position() -> Vector2i:\
|
||||
# Try random adjacent cells\
|
||||
var neighbors = enhanced_gridmap.get_neighbors(current_position, 0)\
|
||||
neighbors.shuffle()\
|
||||
\
|
||||
for neighbor in neighbors:\
|
||||
var pos = neighbor.position\
|
||||
# Check item layer\
|
||||
var item_cell = Vector3i(pos.x, 1, pos.y)\
|
||||
if enhanced_gridmap.get_cell_item(item_cell) == -1:\
|
||||
if not is_position_occupied(pos):\
|
||||
# Gauntlet Mode explicit overrides\
|
||||
var gm = null\
|
||||
var main_gauntlet = get_tree().root.get_node_or_null("Main")\
|
||||
if main_gauntlet and main_gauntlet.get("gauntlet_manager"):\
|
||||
gm = main_gauntlet.gauntlet_manager\
|
||||
if gm and gm.is_active:\
|
||||
if pos.x == 0 or pos.x == gm.ARENA_COLUMNS - 1 or pos.y == 0 or pos.y == gm.ARENA_ROWS - 1:\
|
||||
continue\
|
||||
if gm._is_npc_zone(pos):\
|
||||
continue\
|
||||
return pos\
|
||||
\
|
||||
return Vector2i(-1, -1)
|
||||
Reference in New Issue
Block a user