diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index 719bf3eff98..f67b2d91dd8 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -388,6 +388,7 @@ datum/preferences
character.b_eyes = b_eyes
character.set_tail_style(tail_style)
+ character.speech_bubble_type = speech_bubble_type
character.h_style = h_style
character.r_hair = r_hair
diff --git a/code/modules/ghostroles/spawner/human/human.dm b/code/modules/ghostroles/spawner/human/human.dm
index a32932970a1..e2c0f22e1cb 100644
--- a/code/modules/ghostroles/spawner/human/human.dm
+++ b/code/modules/ghostroles/spawner/human/human.dm
@@ -184,8 +184,3 @@
/mob/living/carbon/human/Destroy()
ghost_spawner = null
return ..()
-
-/mob/living/carbon/human/get_speech_bubble_state_modifier()
- if(client && client.prefs && client.prefs.speech_bubble_type)
- return client.prefs.speech_bubble_type
- return ..()
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 5ca0f9fab41..b68eddec69b 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -5,6 +5,8 @@
icon = 'icons/mob/human.dmi'
icon_state = "body_m_s"
+ mob_size = 9 //Based on average weight of a human
+
var/pronouns = NEUTER
var/species_items_equipped // used so species that need special items (autoinhalers for vaurca/RMT for offworlders) don't get them twice when they shouldn't.
@@ -12,7 +14,8 @@
var/list/hud_list[11]
var/embedded_flag //To check if we've need to roll for damage on movement while an item is imbedded in us.
var/obj/item/rig/wearing_rig // This is very not good, but it's much much better than calling get_rig() every update_canmove() call.
- mob_size = 9 //Based on average weight of a human
+ /// Pref holder for the speech bubble style.
+ var/speech_bubble_type
/mob/living/carbon/human/Initialize(mapload, var/new_species = null)
if(!dna)
@@ -2218,3 +2221,9 @@
to_chat(src, "You can see \the [T ? T : "floor"].")
else
to_chat(src, "You can't look below right now.")
+
+/mob/living/carbon/human/get_speech_bubble_state_modifier()
+ if(speech_bubble_type)
+ return speech_bubble_type
+ else
+ return ..()
diff --git a/html/changelogs/mattatlas-brokenfaded.yml b/html/changelogs/mattatlas-brokenfaded.yml
new file mode 100644
index 00000000000..c55ff3da484
--- /dev/null
+++ b/html/changelogs/mattatlas-brokenfaded.yml
@@ -0,0 +1,41 @@
+################################
+# Example Changelog File
+#
+# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
+#
+# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
+# When it is, any changes listed below will disappear.
+#
+# Valid Prefixes:
+# bugfix
+# wip (For works in progress)
+# tweak
+# soundadd
+# sounddel
+# rscadd (general adding of nice things)
+# rscdel (general deleting of nice things)
+# imageadd
+# imagedel
+# maptweak
+# spellcheck (typo fixes)
+# experiment
+# balance
+# admin
+# backend
+# security
+# refactor
+#################################
+
+# Your name.
+author: MattAtlas
+
+# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
+delete-after: True
+
+# Any changes you've made. See valid prefix list above.
+# INDENT WITH TWO SPACES. NOT TABS. SPACES.
+# SCREW THIS UP AND IT WON'T WORK.
+# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
+# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
+changes:
+ - bugfix: "Speech bubble prefs now persist on the character even after changing the pref in round."