public static bool IsViableForInteracting(WoWObject wowObject,
                                                  bool ignoreMobsInBlackspots,
                                                  double nonCompeteDistance)
        {
            if (wowObject == null)
            {
                return(false);
            }

            bool isViableForInteracting =
                IsViable(wowObject) &&
                !wowObject.IsBlacklistedForInteraction() &&
                IsStateMatch_IgnoreMobsInBlackspots(wowObject, ignoreMobsInBlackspots) &&
                !IsInCompetition(wowObject, nonCompeteDistance);

            return(isViableForInteracting);
        }