From 9776d2b2863300be7d27fe4c1101f706010667e9 Mon Sep 17 00:00:00 2001 From: Aura Dusklight <46622484+NovaDusklight@users.noreply.github.com> Date: Wed, 8 Apr 2026 18:05:09 +0200 Subject: [PATCH] Fix random name causing infinite recursion (#19386) --- code/modules/client/preferences.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 77771b5ccc9..920ca0f3158 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -297,7 +297,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) character.set_species(read_preference(/datum/preference/choiced/species)) // Special Case: This references variables owned by two different datums, so do it here. if(read_preference(/datum/preference/toggle/human/name_is_always_random)) - update_preference_by_type(/datum/preference/name/real_name, random_name(read_preference(/datum/preference/choiced/gender/identifying), read_preference(/datum/preference/choiced/species))) + // write_ instead of update_ to avoid update_preference_by_type calling copy_to again. + write_preference_by_type(/datum/preference/name/real_name, random_name(read_preference(/datum/preference/choiced/gender/identifying), read_preference(/datum/preference/choiced/species))) // Ask the preferences datums to apply their own settings to the new mob player_setup.copy_to_mob(character)