if (!InventorySystem.TryGetSlotEntity(entity, "id", out var idUid))
return;
- if (!EntityManager.TryGetComponent(idUid, out PdaComponent? pdaComponent) || !TryComp<IdCardComponent>(pdaComponent.ContainedId, out var card))
+ var cardId = idUid.Value;
+ if (TryComp<PdaComponent>(idUid, out var pdaComponent) && pdaComponent.ContainedId != null)
+ cardId = pdaComponent.ContainedId.Value;
+
+ if (!TryComp<IdCardComponent>(cardId, out var card))
return;
- var cardId = pdaComponent.ContainedId.Value;
_cardSystem.TryChangeFullName(cardId, characterName, card);
_cardSystem.TryChangeJobTitle(cardId, jobPrototype.LocalizedName, card);
_accessSystem.SetAccessToJob(cardId, jobPrototype, extendedAccess);
- _pdaSystem.SetOwner(idUid.Value, pdaComponent, characterName);
+ if (pdaComponent != null)
+ _pdaSystem.SetOwner(idUid.Value, pdaComponent, characterName);
}