private bool AiCaresAbout(BaseEntity entity) { if (entity == null) { return(false); } if (!entity.isServer) { return(false); } if (entity.EqualNetID(owner)) { return(false); } if (entity.Health() <= 0f) { return(false); } if (!IsValidSenseType(entity)) { return(false); } BaseCombatEntity baseCombatEntity = entity as BaseCombatEntity; BasePlayer basePlayer = entity as BasePlayer; if (ignoreSafeZonePlayers && basePlayer != null && basePlayer.InSafeZone()) { return(false); } if (listenRange > 0f && baseCombatEntity != null && baseCombatEntity.TimeSinceLastNoise <= 1f && baseCombatEntity.CanLastNoiseBeHeard(owner.transform.position, listenRange)) { return(true); } if (senseFriendlies && ownerSenses != null && ownerSenses.IsFriendly(entity)) { return(true); } float num = float.PositiveInfinity; if (baseCombatEntity != null && AI.accuratevisiondistance) { num = Vector3.Distance(owner.transform.position, baseCombatEntity.transform.position); if (num > maxRange) { return(false); } } if (checkVision && !IsTargetInVision(entity)) { if (!ignoreNonVisionSneakers) { return(false); } if (basePlayer != null && !basePlayer.IsNpc) { if (!AI.accuratevisiondistance) { num = Vector3.Distance(owner.transform.position, basePlayer.transform.position); } if ((basePlayer.IsDucked() && num >= 4f) || num >= 15f) { return(false); } } } if (hostileTargetsOnly && baseCombatEntity != null && !baseCombatEntity.IsHostile()) { return(false); } if (checkLOS && ownerAttack != null) { bool flag = ownerAttack.CanSeeTarget(entity); Memory.SetLOS(entity, flag); if (!flag) { return(false); } } return(true); }