-- pad out one node fully, and all other nodes just enough to keep them from overlapping. -- We don't want cascading movements to get too chaotic. prepare_to_move = function(target) populate_collision_data() -- give the target a little more buffer target.hs.x = target.hs.x + 50 target.hs.y = target.hs.y + math.max(30, math.min(target.h/3, 200)) end