diff --git a/Content.Client/Lobby/LobbyUIController.cs b/Content.Client/Lobby/LobbyUIController.cs index 50a25519988616..56dc9d6d412326 100644 --- a/Content.Client/Lobby/LobbyUIController.cs +++ b/Content.Client/Lobby/LobbyUIController.cs @@ -455,7 +455,21 @@ public EntityUid LoadProfileEntity(HumanoidCharacterProfile? humanoid, JobProtot { EntityUid dummyEnt; - if (humanoid is not null) + EntProtoId? previewEntity = null; + if (humanoid != null && jobClothes) + { + job ??= GetPreferredJob(humanoid); + + previewEntity = job.JobPreviewEntity ?? (EntProtoId?)job?.JobEntity; + } + + if (previewEntity != null) + { + // Special type like borg or AI, do not spawn a human just spawn the entity. + dummyEnt = EntityManager.SpawnEntity(previewEntity, MapCoordinates.Nullspace); + return dummyEnt; + } + else if (humanoid is not null) { var dummy = _prototypeManager.Index(humanoid.Species).DollPrototype; dummyEnt = EntityManager.SpawnEntity(dummy, MapCoordinates.Nullspace); @@ -469,7 +483,8 @@ public EntityUid LoadProfileEntity(HumanoidCharacterProfile? humanoid, JobProtot if (humanoid != null && jobClothes) { - job ??= GetPreferredJob(humanoid); + DebugTools.Assert(job != null); + GiveDummyJobClothes(dummyEnt, humanoid, job); if (_prototypeManager.HasIndex(LoadoutSystem.GetJobPrototype(job.ID))) diff --git a/Content.Client/Lobby/UI/CharacterPickerButton.xaml b/Content.Client/Lobby/UI/CharacterPickerButton.xaml index af1e640aadb652..2edfd19a24e8a3 100644 --- a/Content.Client/Lobby/UI/CharacterPickerButton.xaml +++ b/Content.Client/Lobby/UI/CharacterPickerButton.xaml @@ -6,6 +6,7 @@ SeparationOverride="0" Name="InternalHBox">