diff --git a/Content.Shared/Access/Systems/AccessReaderSystem.cs b/Content.Shared/Access/Systems/AccessReaderSystem.cs index da273ab8cd..fbbf67c171 100644 --- a/Content.Shared/Access/Systems/AccessReaderSystem.cs +++ b/Content.Shared/Access/Systems/AccessReaderSystem.cs @@ -52,23 +52,22 @@ namespace Content.Shared.Access.Systems } /// - /// Searches an in the entity itself, in its active hand or in its ID slot. - /// Then compares the found access with the configured access lists to see if it is allowed. + /// Searches the given entity for access tags + /// then compares it with the readers access list to see if it is allowed. /// - /// - /// If no access is found, an empty set is used instead. - /// - /// The entity to bor access. - /// - public bool IsAllowed(EntityUid entity, AccessReaderComponent? reader = null) + /// The entity that wants access. + /// A reader from a different entity + public bool IsAllowed(EntityUid entity, AccessReaderComponent reader) { - if (!Resolve(entity, ref reader, false)) - return true; - var tags = FindAccessTags(entity); return IsAllowed(tags, reader); } + /// + /// Compares the given tags with the readers access list to see if it is allowed. + /// + /// A list of access tags + /// An access reader to check against public bool IsAllowed(ICollection accessTags, AccessReaderComponent reader) { if (!reader.Enabled) @@ -90,6 +89,10 @@ namespace Content.Shared.Access.Systems return reader.AccessLists.Count == 0 || reader.AccessLists.Any(a => a.IsSubsetOf(accessTags)); } + /// + /// Finds the access tags on the given entity + /// + /// The entity that to search. public ICollection FindAccessTags(EntityUid uid) { HashSet? tags = null;