           wolfAvoidance.y += diff.y;
            wolfAvoidanceCount++;
          }
        });

        // Calculate averages and apply weights
        if (separationCount > 0) {
          separation.x /= separationCount;
          separation.y /= separationCount;
          separation.x *= separationWeight;
          separation.y *= separationWeight;
        }
        if (alignmentCount > 0) {
          alignment.x /= alignmentCount;
          alignment.y /= alignmentCount;
          // Normalize alignment