using Content.Server.AI.Components; using Content.Server.AI.Utils; using Content.Server.Weapon.Melee.Components; using JetBrains.Annotations; namespace Content.Server.AI.WorldState.States.Combat.Nearby { [UsedImplicitly] public sealed class NearbyMeleeWeapons : CachedStateData> { public override string Name => "NearbyMeleeWeapons"; protected override List GetTrueValue() { var result = new List(); var entMan = IoCManager.Resolve(); if (!entMan.TryGetComponent(Owner, out AiControllerComponent? controller)) { return result; } foreach (var entity in Visibility.GetNearestEntities(entMan.GetComponent(Owner).Coordinates, typeof(MeleeWeaponComponent), controller.VisionRadius)) { result.Add(entity); } return result; } } }