using Robust.Shared.GameStates;
using Content.Shared.GameTicking;
using Content.Shared.IdentityManagement;
+using Content.Shared.Tag;
using Robust.Shared.Collections;
using Robust.Shared.Prototypes;
using Robust.Shared.Timing;
[Dependency] private readonly InventorySystem _inventorySystem = default!;
[Dependency] private readonly IGameTiming _gameTiming = default!;
[Dependency] private readonly EmagSystem _emag = default!;
+ [Dependency] private readonly TagSystem _tag = default!;
[Dependency] private readonly SharedGameTicker _gameTicker = default!;
[Dependency] private readonly SharedHandsSystem _handsSystem = default!;
[Dependency] private readonly SharedContainerSystem _containerSystem = default!;
[Dependency] private readonly SharedStationRecordsSystem _recordsSystem = default!;
+ private static readonly ProtoId<TagPrototype> PreventAccessLoggingTag = "PreventAccessLogging";
+
public override void Initialize()
{
base.Initialize();
var access = FindAccessTags(user, accessSources);
FindStationRecordKeys(user, out var stationKeys, accessSources);
- if (IsAllowed(access, stationKeys, target, reader))
- {
+ if (!IsAllowed(access, stationKeys, target, reader))
+ return false;
+
+ if (!_tag.HasTag(user, PreventAccessLoggingTag))
LogAccess((target, reader), user);
- return true;
- }
- return false;
+ return true;
}
public bool GetMainAccessReader(EntityUid uid, [NotNullWhen(true)] out Entity<AccessReaderComponent>? ent)