public override void DoPreSortLogic(EntitySystem Weapon, List <GameEntity> Targets, ArcenCharacterBuffer TracingBuffer, ArcenSimContext Context) { base.DoPreSortLogic(Weapon, Targets, TracingBuffer, Context); MyLowestSpeedMultiplier = (FInt)999; MyPrimaryUnitLocation = ArcenPoint.ZeroZeroPoint; ControlGroup group = Weapon.ParentEntity.EntitySpecificOrders.ControlGroup; if (group != null) { for (int i = 0; i < group.EntityIDs.Count; i++) { GameEntity entity = World_AIW2.Instance.GetEntityByID(group.EntityIDs[i]); if (entity == null) { continue; } FInt thisMultiplier = entity.TypeData.Balance_Speed.SpeedMultiplier; if (thisMultiplier <= FInt.Zero) { continue; } MyLowestSpeedMultiplier = Mat.Min(MyLowestSpeedMultiplier, thisMultiplier); } GameEntity primaryEntity = group.GetPrimaryEntity(); if (primaryEntity != null) { MyPrimaryUnitLocation = primaryEntity.WorldLocation; } } }