diff --git a/code/modules/client/preference/character.dm b/code/modules/client/preference/character.dm index 7ab967ed7e0..a55b0cb0ac7 100644 --- a/code/modules/client/preference/character.dm +++ b/code/modules/client/preference/character.dm @@ -95,6 +95,11 @@ /// Character slot number, used for saves and stuff. var/slot_number = 0 +// Fuckery to prevent null characters +/datum/character_save/New() + randomise() + real_name = random_name(gender, species) + /datum/character_save/proc/save(client/C) var/organlist var/rlimblist diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index befa6f05c8e..dced83d93db 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -494,7 +494,10 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts for(var/i in 1 to length(character_saves)) var/datum/character_save/CS = character_saves[i] - name = CS.real_name || "Character [i]" + if(CS.from_db) + name = CS.real_name + else + name = "Character [i]" if(i == default_slot) name = "[name]" dat += "[name]
"