@@ -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