From b5906bba393eba58d98288081c9c314bc5cb43da Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Wed, 8 Jan 2014 22:15:47 -0700 Subject: [PATCH] Tradeband and Gutterspeak now have a different font than Tradeband. Fixes #4143 Conflicts: code/modules/mob/living/carbon/human/human.dm code/modules/mob/new_player/new_player.dm --- code/modules/mob/language.dm | 18 ++++++-------- code/modules/mob/living/carbon/human/human.dm | 13 +++++----- code/modules/mob/living/say.dm | 4 ++-- code/modules/mob/new_player/new_player.dm | 7 +++--- code/modules/mob/say.dm | 24 +++++++++---------- code/stylesheet.dm | 1 + 6 files changed, 32 insertions(+), 35 deletions(-) diff --git a/code/modules/mob/language.dm b/code/modules/mob/language.dm index 2f9969cb3ac..8818d32326f 100644 --- a/code/modules/mob/language.dm +++ b/code/modules/mob/language.dm @@ -6,7 +6,7 @@ var/name = "an unknown language" // Fluff name of language if any. var/desc = "A language." // Short description for 'Check Languages'. var/speech_verb = "says" // 'says', 'hisses', 'farts'. - var/colour = "say_quote" // CSS style to use for strings in this language. + var/colour = "body" // CSS style to use for strings in this language. var/key = "x" // Character used to speak in language eg. :o for Unathi. var/flags = 0 // Various language flags. var/native // If set, non-native speakers will have trouble speaking. @@ -62,6 +62,7 @@ /datum/language/human name = "Sol Common" desc = "A bastardized hybrid of informal English and elements of Mandarin Chinese; the common language of the Sol system." + colour = "rough" key = "1" flags = RESTRICTED @@ -71,35 +72,30 @@ name = "Tradeband" desc = "Maintained by the various trading cartels in major systems, this elegant, structured language is used for bartering and bargaining." speech_verb = "enunciates" + colour = "say_quote" key = "2" /datum/language/gutter name = "Gutter" desc = "Much like Standard, this crude pidgin tongue descended from numerous languages and serves as Tradeband for criminal elements." speech_verb = "growls" + colour = "rough" key = "3" // Language handling. /mob/proc/add_language(var/language) - for(var/datum/language/L in languages) - if(L && L.name == language) - return 0 - var/datum/language/new_language = all_languages[language] - if(!istype(new_language,/datum/language)) + if(!istype(new_language) || new_language in languages) return 0 - languages += new_language + languages.Add(new_language) return 1 /mob/proc/remove_language(var/rem_language) - for(var/datum/language/L in languages) - if(L && L.name == rem_language) - languages -= L - return 1 + languages.Remove(all_languages[rem_language]) return 0 diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 7944615ba10..f7b2de629b1 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -61,11 +61,6 @@ if(!species) set_species("Human") - if(species.language) - var/datum/language/L = all_languages[species.language] - if(L) - languages += L - var/datum/reagents/R = new/datum/reagents(1000) reagents = R R.my_atom = src @@ -1354,6 +1349,9 @@ mob/living/carbon/human/yank_out_object() if(species && (species.name && species.name == new_species)) return 1 + if(species && species.language) + remove_language(species.language) + species = all_species[new_species] see_in_dark = species.darksight @@ -1367,6 +1365,9 @@ mob/living/carbon/human/yank_out_object() mutations+=species.default_mutations + if(species.language) + add_language(species.language) + spawn(0) update_icons() @@ -1424,4 +1425,4 @@ mob/living/carbon/human/yank_out_object() var/obj/effect/decal/cleanable/blood/writing/W = new(T) W.message = message - W.add_fingerprint(src) + W.add_fingerprint(src) diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 0dc6be11b08..5412389f09b 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -109,7 +109,7 @@ var/list/department_radio_keys = list( if(client.prefs.muted & MUTE_IC) src << "\red You cannot speak in IC (muted)." return - if (src.client.handle_spam_prevention(message,MUTE_IC)) + if (src.client.handle_spam_prevention(message, MUTE_IC)) return // undo last word status. @@ -180,7 +180,7 @@ var/list/department_radio_keys = list( if(src.stunned > 2 || (traumatic_shock > 61 && prob(50))) message_mode = null //Stunned people shouldn't be able to physically turn on their radio/hold down the button to speak into it - message = capitalize(message) + message = capitalize(trim_left(message)) if (!message) return diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 806361514dc..1a84411fe0d 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -303,6 +303,9 @@ src << alert("[rank] is not available. Please try another.") return 0 + spawning = 1 + close_spawn_windows() + job_master.AssignRole(src, rank, 1) var/mob/living/carbon/human/character = create_character() //creates the human and transfers vars and mind @@ -374,6 +377,7 @@ if(client.prefs.species) chosen_species = all_species[client.prefs.species] if(chosen_species) + if(is_alien_whitelisted(src, client.prefs.species) || !config.usealienwhitelist || !(chosen_species.flags & IS_WHITELISTED) || (client.holder.rights & R_ADMIN) )// Have to recheck admin due to no usr at roundstart. Latejoins are fine though. switch(chosen_species.name) if("Slime People") @@ -395,13 +399,10 @@ if("Human") new_character = new /mob/living/carbon/human/human(loc) // new_character.set_species(client.prefs.species) - if(chosen_species.language) - new_character.add_language(chosen_species.language) else new_character = new /mob/living/carbon/human(loc) new_character.lastarea = get_area(loc) - var/datum/language/chosen_language if(client.prefs.language) chosen_language = all_languages["[client.prefs.language]"] diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm index 4ee9e80e26f..83da7343cb5 100644 --- a/code/modules/mob/say.dm +++ b/code/modules/mob/say.dm @@ -105,30 +105,28 @@ //tcomms code is still runtiming somewhere here var/ending = copytext(text, length(text)) - var/speechverb = "" + var/speech_verb = "says" + var/speech_style = "body" if (speaking) - speechverb = "[speaking.speech_verb], \"" + speech_verb = speaking.speech_verb + speech_style = speaking.colour else if(speak_emote && speak_emote.len) - speechverb = "[pick(speak_emote)], \"" + speech_verb = pick(speak_emote) else if (src.stuttering) - speechverb = "stammers, \"" + speech_verb = "stammers" else if (src.slurring) - speechverb = "slurrs, \"" + speech_verb = "slurrs" else if (ending == "?") - speechverb = "asks, \"" + speech_verb = "asks" else if (ending == "!") - speechverb = "exclaims, \"" + speech_verb = "exclaims" else if(isliving(src)) var/mob/living/L = src if (L.getBrainLoss() >= 60) - speechverb = "gibbers, \"" - else - speechverb = "says, \"" - else - speechverb = "says, \"" + speech_verb = "gibbers" - return "[speechverb][text]\"" + return "[speech_verb], \"[text]\"" /mob/proc/emote(var/act, var/type, var/message) if(act == "me") diff --git a/code/stylesheet.dm b/code/stylesheet.dm index fda3fb64e25..b7846429a66 100644 --- a/code/stylesheet.dm +++ b/code/stylesheet.dm @@ -63,6 +63,7 @@ h1.alert, h2.alert {color: #000000;} .skrell {color: #00CED1;} .soghun {color: #228B22;} .vox {color: #AA00AA;} +.rough {font-family: "Trebuchet MS", cursive, sans-serif;} .say_quote {font-family: Georgia, Verdana, sans-serif;} .interface {color: #330033;}