Exact changes:
(from line 709)
if ((Player.CurrentHealthPct >= 1 || !Settings.Combat.Misc.CollectHealthGlobe))
{
cacheObject.Weight = 3000d;
}
// Give all globes super low weight if we don't urgently need them, but are not 100% health
else if (!true && (Player.CurrentHealthPct > _playerEmergencyHealthGlobeLimit))
//else if (Player.CurrentHealthPct > _playerEmergencyHealthGlobeLimit)
{
(from line 764)
// Close items get a weight increase
if (cacheObject.Distance <= 60f)
cacheObject.Weight += 3000d;
(from line 777)
// If there's a monster in the path-line to the item, reduce the weight by 15% for each
Vector3 point = cacheObject.Position;
foreach (CacheObstacleObject tempobstacle in CacheData.MonsterObstacles.Where(cp =>
MathUtil.IntersectsPath(cp.Position, cp.Radius, Player.Position, point)))
{
if (HiPriorityHealthGlobes)
cacheObject.Weight *= 1;
else
cacheObject.Weight *= 1;
}
if (cacheObject.Distance > 10f)
{
// See if there's any AOE avoidance in that spot, if so reduce the weight by 10%
if (HiPriorityHealthGlobes)
{
if (CacheData.TimeBoundAvoidance.Any(cp => MathUtil.IntersectsPath(cp.Position, cp.Radius, Player.Position, cacheObject.Position)))
cacheObject.Weight *= 1;
}
else
{
if (CacheData.TimeBoundAvoidance.Any(cp => MathUtil.IntersectsPath(cp.Position, cp.Radius, Player.Position, cacheObject.Position)))
cacheObject.Weight *= 1;
}
}