From 8ee04f3b400105f9dedaad057ae638f0df15d592 Mon Sep 17 00:00:00 2001
From: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>
Date: Thu, 5 Aug 2021 23:01:04 +0100
Subject: [PATCH] Null character hotfix
---
code/modules/client/preference/character.dm | 5 +++++
code/modules/client/preference/preferences.dm | 5 ++++-
2 files changed, 9 insertions(+), 1 deletion(-)
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]
"