Skip to content

Commit f3f9fff

Browse files
committed
force refresh on emag
1 parent 24c9cce commit f3f9fff

1 file changed

Lines changed: 4 additions & 3 deletions

File tree

Content.Server/Access/Systems/IdCardConsoleSystem.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,8 @@ private void OnGotEmagged(Entity<IdCardConsoleComponent> ent, ref GotEmaggedEven
8080
_adminLogger.Add(LogType.Action,
8181
$"{ToPrettyString(args.UserUid)} emagged {ToPrettyString(ent)}, unlocking every job icon");
8282

83-
UpdateUserInterface(ent, ent.Comp);
83+
// The EmaggedComponent flag isn't persisted until after this event returns, so CheckFlag would still report locked here - override it explicitly.
84+
UpdateUserInterface(ent, ent.Comp, allIconsUnlockedOverride: true);
8485
}
8586
// Starlight-edit: End
8687

@@ -108,7 +109,7 @@ private void OnAccessGroupSelected(EntityUid uid, IdCardConsoleComponent compone
108109
private void UpdateUserInterface(EntityUid uid, IdCardConsoleComponent component, EntityEventArgs args) =>
109110
UpdateUserInterface(uid, component);
110111

111-
private void UpdateUserInterface(EntityUid uid, IdCardConsoleComponent component)
112+
private void UpdateUserInterface(EntityUid uid, IdCardConsoleComponent component, bool? allIconsUnlockedOverride = null)
112113
{
113114
if (!component.Initialized)
114115
return;
@@ -184,7 +185,7 @@ private void UpdateUserInterface(EntityUid uid, IdCardConsoleComponent component
184185
}
185186

186187
var showGroups = availableGroups.Count > 1;
187-
var allIconsUnlocked = component.AllIconsUnlocked || _emag.CheckFlag(uid, EmagType.Interaction);
188+
var allIconsUnlocked = allIconsUnlockedOverride ?? (component.AllIconsUnlocked || _emag.CheckFlag(uid, EmagType.Interaction));
188189
// Starlight-edit: End
189190

190191
IdCardConsoleBoundUserInterfaceState newState;

0 commit comments

Comments
 (0)