diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm
index a558bad3dec..3f86110346d 100644
--- a/code/modules/client/preference/preferences.dm
+++ b/code/modules/client/preference/preferences.dm
@@ -282,6 +282,8 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
dat += "Species: [species]
"
if(species == "Vox")
dat += "N2 Tank: [speciesprefs ? "Large N2 Tank" : "Specialized N2 Tank"]
"
+ if(species == "Grey")
+ dat += "Voice: [speciesprefs ? "Wingdings" : "Normal"]
"
dat += "Secondary Language: [language]
"
dat += "Blood Type: [b_type]
"
if(species in list("Human", "Drask", "Vox"))
@@ -1331,6 +1333,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
b_skin = 0
alt_head = "None" //No alt heads on species that don't have them.
+ speciesprefs = 0 //My Vox tank shouldn't change how my future Grey talks.
body_accessory = null //no vulptail on humans damnit
@@ -2035,6 +2038,10 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
character.add_language(language)
+ if(species == "Grey")
+ if(speciesprefs)
+ character.speech_span = "wingdings"
+
character.real_name = real_name
character.dna.real_name = real_name
character.name = character.real_name
diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm
index 0d30c5c8265..1216c3bda1b 100644
--- a/code/modules/mob/living/carbon/human/human_defines.dm
+++ b/code/modules/mob/living/carbon/human/human_defines.dm
@@ -43,6 +43,7 @@ var/global/default_martial_art = new/datum/martial_art
var/icon/lying_icon = null
var/voice = "" //Instead of new say code calling GetVoice() over and over and over, we're just going to ask this variable, which gets updated in Life()
+ var/speech_span
var/speech_problem_flag = 0
diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm
index 26ca4af83e8..f066a2e6b9d 100644
--- a/code/modules/mob/living/carbon/human/say.dm
+++ b/code/modules/mob/living/carbon/human/say.dm
@@ -105,6 +105,7 @@
/mob/living/carbon/human/handle_speech_problems(var/message, var/verb)
var/list/returns[3]
var/speech_problem_flag = 0
+ var/span = speech_span
if(silent || (disabilities & MUTE))
message = ""
@@ -143,8 +144,10 @@
verb = "yells loudly"
if((COMIC in mutations) || (locate(/obj/item/organ/internal/cyberimp/brain/clown_voice) in internal_organs))
- message = "[message]"
+ span = "sans"
+ if(span)
+ message = "[message]"
returns[1] = message
returns[2] = verb
returns[3] = speech_problem_flag
diff --git a/goon/browserassets/css/browserOutput.css b/goon/browserassets/css/browserOutput.css
index c7204d36577..71ec2b97028 100644
--- a/goon/browserassets/css/browserOutput.css
+++ b/goon/browserassets/css/browserOutput.css
@@ -299,6 +299,7 @@ h1.alert, h2.alert {color: #000000;}
.confirm {color: #00af3b;}
.rose {color: #ff5050;}
.sans {font-family: 'Comic Sans MS', cursive, sans-serif;}
+.wingdings {font-family: Wingdings, Webdings;}
.ancient {color: #008B8B; font-stye: italic;}
.newscaster {color: #800000;}
.mod {color: #735638; font-weight: bold;}