// 24Feb2013-08:11UTC chinajade
 private bool IsViableForItemUse(WoWUnit wowUnit)
 {
     return
         (Query.IsViable(wowUnit) &&
          wowUnit.IsAlive &&
          wowUnit.Attackable &&
          MobIds.Contains((int)wowUnit.Entry) &&
          Query.IsViableForInteracting(wowUnit, IgnoreMobsInBlackspots, NonCompeteDistance) &&
          Query.IsViableForPulling(wowUnit, IgnoreMobsInBlackspots, NonCompeteDistance) &&
          (ItemUseAlwaysSucceeds || !wowUnit.HasAura(ItemAppliesAuraId)) &&
          wowUnit.CollectionDistance() <= CollectionDistance);
 }
 /// <summary> Weight unit for targeting. </summary>
 ///
 /// <remarks> raphus, 24/07/2013. </remarks>
 ///
 /// <param name="wowUnit"> The unit. </param>
 ///
 /// <returns> . </returns>
 protected virtual float WeightUnitForTargeting(WoWUnit wowUnit)
 {
     // Prefer units closest to us...
     return((float)(-wowUnit.CollectionDistance()));
 }