diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index c86266be227..fcbd8902638 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -84,6 +84,7 @@ datum/preferences var/religion = "None" //Religious association. //Mob preview + var/mob/living/carbon/human/dummy //the mannequin var/icon/preview_icon = null var/icon/preview_icon_front = null var/icon/preview_icon_side = null diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index d233ecea400..fe1a86648da 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -5,6 +5,7 @@ var/spawning = 0//Referenced when you want to delete the new_player later on in the code. var/totalPlayers = 0 //Player counts for the Lobby tab var/totalPlayersReady = 0 + universal_speak = 1 invisibility = 101 @@ -130,6 +131,8 @@ if(client.prefs.be_random_name) client.prefs.real_name = random_name(client.prefs.gender) + if(client.prefs.dummy) + qdel(client.prefs.dummy) observer.real_name = client.prefs.real_name observer.name = observer.real_name if(!client.holder && !config.antag_hud_allowed) // For new ghosts we remove the verb from even showing up if it's not allowed. @@ -449,7 +452,8 @@ client.prefs.randomize_appearance_for(new_character) else client.prefs.copy_to(new_character) - + if(client.prefs.dummy) + qdel(client.prefs.dummy) src << sound(null, repeat = 0, wait = 0, volume = 85, channel = 1) // MAD JAMS cant last forever yo if(mind) diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index 0c10ee54c00..6970dd721cf 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -178,11 +178,11 @@ datum/preferences b_skin = blue - proc/update_preview_icon() //seriously. This is horrendous. - var/mob/living/carbon/human/H = new(null,species) -// H.set_species(species) - H.flags |= GODMODE - copy_to(H) + proc/update_preview_icon() //seriously. This is horrendous. //less so now + if(!dummy) + dummy = new(null, species) + dummy.flags |= GODMODE + copy_to(dummy) var/jobflag var/dept @@ -201,17 +201,17 @@ datum/preferences if((J.department_flag & dept) && (J.flag & jobflag)) var/alt = GetPlayerAltTitle(J) if(alt) //more hacks - H.mind = new - H.mind.role_alt_title = alt - J.equip(H) + if(!dummy.mind) + dummy.mind = new + dummy.mind.role_alt_title = alt + J.equip(dummy) break - H.update_eyes() - H.force_update_limbs() - H.regenerate_icons() - preview_icon = icon(H.icon) - for(var/image/I in H.overlays_standing) + dummy.update_eyes() + dummy.force_update_limbs() + dummy.regenerate_icons() + preview_icon = icon(dummy.icon) + for(var/image/I in dummy.overlays_standing) if(I && I.icon) preview_icon.Blend(icon(I.icon, I.icon_state), ICON_OVERLAY) preview_icon_front = new(preview_icon, dir = SOUTH) - preview_icon_side = new(preview_icon, dir = WEST) - del(H) //RIP + preview_icon_side = new(preview_icon, dir = WEST) \ No newline at end of file