diff --git a/code/_helpers/mobs.dm b/code/_helpers/mobs.dm index 89b96aa24bf..8b112a07b39 100644 --- a/code/_helpers/mobs.dm +++ b/code/_helpers/mobs.dm @@ -43,7 +43,7 @@ proc/random_name(gender, species = "Human") if(species) current_species = all_species[species] - if(!current_species || current_species.name == "Human") + if(!current_species || current_species.name_language == null) if(gender==FEMALE) return capitalize(pick(first_names_female)) + " " + capitalize(pick(last_names)) else diff --git a/code/modules/mob/language/language.dm b/code/modules/mob/language/language.dm index 3aa5e2aa628..2afb02ffd95 100644 --- a/code/modules/mob/language/language.dm +++ b/code/modules/mob/language/language.dm @@ -19,7 +19,7 @@ var/list/syllables // Used when scrambling text for a non-speaker. var/list/space_chance = 55 // Likelihood of getting a space in the random scramble string -/datum/language/proc/get_random_name(var/gender, name_count=2, syllable_count=4) +/datum/language/proc/get_random_name(var/gender, name_count=2, syllable_count=4, syllable_divisor=2) if(!syllables || !syllables.len) if(gender==FEMALE) return capitalize(pick(first_names_female)) + " " + capitalize(pick(last_names)) @@ -31,7 +31,7 @@ for(var/i = 0;i0;x--) + for(var/x = rand(Floor(syllable_count/syllable_divisor),syllable_count);x>0;x--) new_name += pick(syllables) full_name += " [capitalize(lowertext(new_name))]" diff --git a/code/modules/mob/language/station.dm b/code/modules/mob/language/station.dm index 5499283a2bc..24f455cee6f 100644 --- a/code/modules/mob/language/station.dm +++ b/code/modules/mob/language/station.dm @@ -123,7 +123,15 @@ colour = "alien" key = "v" flags = WHITELISTED - syllables = list("caw","caw","caw","caw","ka") + space_chance = 50 + syllables = list( + "ca", "ra", "ma", "sa", "na", "ta", "la", "sha", "scha", "a", "a", + "ce", "re", "me", "se", "ne", "te", "le", "she", "sche", "e", "e", + "ci", "ri", "mi", "si", "ni", "ti", "li", "shi", "schi", "i", "i" + ) + +/datum/language/resomi/get_random_name(gender) + return ..(gender, 1, 4, 1.5) //Syllable Lists /* diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index a4b8c4495ca..23907be8619 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -40,6 +40,7 @@ var/list/speech_sounds // A list of sounds to potentially play when speaking. var/list/speech_chance // The likelihood of a speech sound playing. var/num_alternate_languages = 0 // How many secondary languages are available to select at character creation + var/name_language = "Galactic Common" // The language to use when determining names for this species, or null to use the first name/last name generator // Combat vars. var/total_health = 100 // Point at which the mob will enter crit. @@ -195,7 +196,13 @@ H << "[pick(heat_discomfort_strings)]" /datum/species/proc/get_random_name(var/gender) - var/datum/language/species_language = all_languages[language] + if(!name_language) + if(gender == FEMALE) + return capitalize(pick(first_names_female)) + " " + capitalize(pick(last_names)) + else + return capitalize(pick(first_names_male)) + " " + capitalize(pick(last_names)) + + var/datum/language/species_language = all_languages[name_language] if(!species_language) species_language = all_languages[default_language] if(!species_language) diff --git a/code/modules/mob/living/carbon/human/species/station/resomi.dm b/code/modules/mob/living/carbon/human/species/station/resomi.dm index da7d4c78d15..e8a853c399f 100644 --- a/code/modules/mob/living/carbon/human/species/station/resomi.dm +++ b/code/modules/mob/living/carbon/human/species/station/resomi.dm @@ -8,6 +8,7 @@ num_alternate_languages = 2 secondary_langs = list("Resomi") + name_language = "Resomi" blood_color = "#D514F7" flesh_color = "#5F7BB0" diff --git a/code/modules/mob/living/carbon/human/species/station/station.dm b/code/modules/mob/living/carbon/human/species/station/station.dm index fd256835a7a..f34bc482af6 100644 --- a/code/modules/mob/living/carbon/human/species/station/station.dm +++ b/code/modules/mob/living/carbon/human/species/station/station.dm @@ -10,6 +10,7 @@ worlds tumultous at best." num_alternate_languages = 2 secondary_langs = list("Sol Common") + name_language = null // Use the first-name last-name generator rather than a language scrambler spawn_flags = CAN_JOIN appearance_flags = HAS_HAIR_COLOR | HAS_SKIN_TONE | HAS_LIPS | HAS_UNDERWEAR | HAS_EYE_COLOR @@ -32,6 +33,7 @@ brute_mod = 0.8 num_alternate_languages = 2 secondary_langs = list("Sinta'unathi") + name_language = "Sinta'unathi" blurb = "A heavily reptillian species, Unathi (or 'Sinta as they call themselves) hail from the \ Uuosa-Eso system, which roughly translates to 'burning mother'.

Coming from a harsh, radioactive \ @@ -88,6 +90,7 @@ gluttonous = 1 num_alternate_languages = 2 secondary_langs = list("Siik'tajr") + name_language = "Siik'tajr" blurb = "The Tajaran race is a species of feline-like bipeds hailing from the planet of Ahdomai in the \ S'randarr system. They have been brought up into the space age by the Humans and Skrell, and have been \ @@ -138,6 +141,7 @@ the secrets of their empire to their allies." num_alternate_languages = 2 secondary_langs = list("Skrellian") + name_language = null spawn_flags = CAN_JOIN | IS_WHITELISTED appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR @@ -163,7 +167,7 @@ eyes = "blank_eyes" show_ssd = "completely quiescent" num_alternate_languages = 1 - + name_language = "Rootspeak" blurb = "Commonly referred to (erroneously) as 'plant people', the Dionaea are a strange space-dwelling collective \ species hailing from Epsilon Ursae Minoris. Each 'diona' is a cluster of numerous cat-sized organisms called nymphs; \ @@ -269,6 +273,7 @@ unarmed_types = list(/datum/unarmed_attack/punch) rarity_value = 2 num_alternate_languages = 1 // potentially could be 2? + name_language = "Encoded Audio Language" eyes = "blank_eyes" brute_mod = 1.875 // 100% * 1.875 * 0.8 (robolimbs) ~= 150%