diff --git a/code/datums/mind.dm b/code/datums/mind.dm index fcf1ded97cc..619bc5c6045 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -54,6 +54,7 @@ var/has_been_rev = 0//Tracks if this mind has been a rev or not var/miming = 0 // Mime's vow of silence + var/speech_span // What span any body this mind has talks in. var/datum/faction/faction //associated faction var/datum/changeling/changeling //changeling holder var/datum/vampire/vampire //vampire holder @@ -1324,7 +1325,7 @@ var/explanation = "Summon [ticker.mode.cultdat.entity_name] via the use of the appropriate rune. It will only work if nine cultists stand on and around it." to_chat(current, "Objective #1: [explanation]") current.memory += "Objective #1: [explanation]
" - + var/mob/living/carbon/human/H = current if(istype(H)) diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index 3f86110346d..20cdd45d20a 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -2022,6 +2022,11 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts ShowChoices(user) return 1 +/datum/preferences/proc/copy_to_mind(datum/mind/M) + if(species == "Grey") + if(speciesprefs) + M.speech_span = "wingdings" + /datum/preferences/proc/copy_to(mob/living/carbon/human/character) var/datum/species/S = all_species[species] character.change_species(species) // Yell at me if this causes everything to melt @@ -2038,9 +2043,6 @@ 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 diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 1216c3bda1b..0d30c5c8265 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -43,7 +43,6 @@ 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 f066a2e6b9d..cac5ec6952c 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -105,7 +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 + var/span = mind.speech_span if(silent || (disabilities & MUTE)) message = "" diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index bccd7990de9..d18bad69475 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -506,6 +506,7 @@ new_character.real_name = pick(diona_names) //I hate this being here of all places but unfortunately dna is based on real_name! new_character.rename_self("diona") mind.original = new_character + client.prefs.copy_to_mind(mind) mind.transfer_to(new_character) //won't transfer key since the mind is not active