diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index 56f8eb4472e..a1730fed7f2 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -79,8 +79,7 @@ /proc/random_lizard_name(gender, attempts_to_find_unique_name=10) for(var/i=1, i<=attempts_to_find_unique_name, i++) - if(gender==FEMALE) . = capitalize(pick(lizard_names_female)) - else . = capitalize(pick(lizard_names_male)) + . = capitalize(lizard_name(gender)) if(i != attempts_to_find_unique_name && !findname(.)) break diff --git a/code/__HELPERS/names.dm b/code/__HELPERS/names.dm index d9d964190d4..d60a84fa4cf 100644 --- a/code/__HELPERS/names.dm +++ b/code/__HELPERS/names.dm @@ -1,3 +1,10 @@ +/proc/lizard_name(gender) + if(gender == MALE) + return "[pick(lizard_names_male)]-[pick(lizard_names_male)]" + else + return "[pick(lizard_names_female)]-[pick(lizard_names_female)]" + + var/church_name = null /proc/church_name() if (church_name) @@ -185,8 +192,8 @@ var/syndicate_code_response//Code response for traitors. if(names.len&&prob(70)) code_phrase += pick(names) else - if(prob(20)) - code_phrase += pick(pick(lizard_names_male,lizard_names_female)) + if(prob(10)) + code_phrase += pick(lizard_name(MALE),lizard_name(FEMALE)) else code_phrase += pick(pick(first_names_male,first_names_female)) code_phrase += " " diff --git a/code/datums/diseases/advance/symptoms/voice_change.dm b/code/datums/diseases/advance/symptoms/voice_change.dm index 273e5d4cb9c..ccc39b839f7 100644 --- a/code/datums/diseases/advance/symptoms/voice_change.dm +++ b/code/datums/diseases/advance/symptoms/voice_change.dm @@ -36,21 +36,7 @@ Bonus else if(ishuman(M)) var/mob/living/carbon/human/H = M - var/random_name = "" - if(H.dna.species.id == "lizard") - switch(H.gender) - if(MALE) - random_name = pick(lizard_names_male) - else - random_name = pick(lizard_names_female) - else - switch(H.gender) - if(MALE) - random_name = pick(first_names_male) - else - random_name = pick(first_names_female) - random_name += " [pick(last_names)]" - H.SetSpecialVoice(random_name) + H.SetSpecialVoice(H.dna.species.random_name(H.gender)) return diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index e7bc7814098..f549e8c8815 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -328,23 +328,11 @@ M << "That name is reserved." return nukelastname(M) - return newname + return capitalize(newname) /proc/NukeNameAssign(var/lastname,var/list/syndicates) for(var/datum/mind/synd_mind in syndicates) var/mob/living/carbon/human/H = synd_mind.current - if(H.dna.species.id == "lizard") - switch(synd_mind.current.gender) - if(MALE) - synd_mind.name = pick(lizard_names_male) - if(FEMALE) - synd_mind.name = pick(lizard_names_female) - else - switch(synd_mind.current.gender) - if(MALE) - synd_mind.name = pick(first_names_male) - if(FEMALE) - synd_mind.name = pick(first_names_female) - synd_mind.name += " [lastname]" + synd_mind.name = H.dna.species.random_name(H.gender,0,lastname) synd_mind.current.real_name = synd_mind.name return \ No newline at end of file diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm index 1b6d1d4aa8a..3cfe5474fd3 100644 --- a/code/game/machinery/computer/medical.dm +++ b/code/game/machinery/computer/medical.dm @@ -561,7 +561,7 @@ if(prob(10/severity)) switch(rand(1,6)) if(1) - if(prob(20)) + if(prob(10)) R.fields["name"] = random_lizard_name(R.fields["sex"],1) else R.fields["name"] = random_name(R.fields["sex"],1) diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index c4d70174cdf..64795c7684e 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -711,8 +711,8 @@ What a mess.*/ if(prob(10/severity)) switch(rand(1,8)) if(1) - if(prob(20)) - R.fields["name"] = "[pick(pick(lizard_names_male), pick(lizard_names_female))]" + if(prob(10)) + R.fields["name"] = "[pick(lizard_name(MALE),lizard_name(FEMALE))]" else R.fields["name"] = "[pick(pick(first_names_male), pick(first_names_female))] [pick(last_names)]" if(2) diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm index c02acfe81f6..04576802e53 100644 --- a/code/modules/admin/verbs/one_click_antag.dm +++ b/code/modules/admin/verbs/one_click_antag.dm @@ -422,10 +422,7 @@ var/mob/living/carbon/human/newmob = new (pick(emergencyresponseteamspawn)) chosen_candidate.client.prefs.copy_to(newmob) ready_dna(newmob) - if(newmob.dna.species.id == "lizard") - newmob.real_name = random_lizard_name(newmob.gender) - else - newmob.real_name = random_name(newmob.gender) + newmob.real_name = newmob.dna.species.random_name(newmob.gender,1) newmob.key = chosen_candidate.key newmob.mind.assigned_role = "Centcom Official" equip_centcomofficial(newmob) @@ -495,7 +492,7 @@ var/list/lastname = last_names chosen_candidate.client.prefs.copy_to(ERTOperative) ready_dna(ERTOperative) - var/ertname = ((ERTOperative.dna.species.id == "lizard") ? (ERTOperative.gender==MALE ? pick(lizard_names_male) : pick(lizard_names_female)) : pick(lastname)) + var/ertname = pick(lastname) switch(numagents) if(1) ERTOperative.real_name = "Commander [ertname]" diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 2967971a176..0878357d24e 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -286,10 +286,7 @@ Traitors and the like can also be revived with the previous role mostly intact. A.copy_to(new_character) if(!new_character.real_name) - if(new_character.dna.species.id == "lizard") - new_character.real_name = random_lizard_name(new_character.gender) - else - new_character.real_name = random_name(new_character.gender) + new_character.real_name = new_character.dna.species.random_name(new_character.gender,1) new_character.name = new_character.real_name if(G_found.mind && !G_found.mind.active) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 153569a78ad..9d5908f7655 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -111,10 +111,7 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set return //we couldn't load character data so just randomize the character appearance + name random_character() //let's create a random character then - rather than a fat, bald and naked man. - if(pref_species.id == "lizard") - real_name = random_lizard_name(gender) - else - real_name = random_name(gender) + real_name = pref_species.random_name(gender,1) if(!loaded_preferences_successfully) save_preferences() save_character() //let's save this new random character so it doesn't keep generating new ones. @@ -677,10 +674,7 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set if("random") switch(href_list["preference"]) if("name") - if(pref_species.id == "lizard") - real_name = random_lizard_name(gender) - else - real_name = random_name(gender) + real_name = pref_species.random_name(gender,1) if("age") age = rand(AGE_MIN, AGE_MAX) if("hair") diff --git a/code/modules/events/wizard/race.dm b/code/modules/events/wizard/race.dm index f1a2e3c0992..28691f84a10 100644 --- a/code/modules/events/wizard/race.dm +++ b/code/modules/events/wizard/race.dm @@ -23,18 +23,7 @@ for(var/mob/living/carbon/human/H in mob_list) //yes, even the dead if(H.dna) if(new_species.id != H.dna.species.id) //Change their name if their species changes - if(new_species.id == "lizard") - switch(H.gender) - if(MALE) - H.real_name = pick(lizard_names_male) - if(FEMALE) - H.real_name = pick(lizard_names_female) - else - switch(H.gender) - if(MALE) - H.real_name = pick(first_names_male) - if(FEMALE) - H.real_name = pick(first_names_female) + H.real_name = new_species.random_name(H.gender,1) hardset_dna(H, null, null, null, null, new_species) H.regenerate_icons() H << "You feel somehow... different?" diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 1b93a64cf9d..e8b735e2fc3 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -84,6 +84,24 @@ // PROCS // /////////// +/datum/species/proc/random_name(gender,unique,lastname) + if(unique) + return random_name(gender) + + var/randname + if(gender == MALE) + randname = pick(first_names_male) + else + randname = pick(first_names_female) + + if(lastname) + randname += " [lastname]" + else + randname += " [pick(last_names)]" + + return randname + + //Please override this locally if you want to define when what species qualifies for what rank if human authority is enforced. /datum/species/proc/qualifies_for_rank(var/rank, var/list/features) return 1 diff --git a/code/modules/mob/living/carbon/human/species_types.dm b/code/modules/mob/living/carbon/human/species_types.dm index f4673249166..3912c369172 100644 --- a/code/modules/mob/living/carbon/human/species_types.dm +++ b/code/modules/mob/living/carbon/human/species_types.dm @@ -68,6 +68,17 @@ datum/species/human/spec_death(var/gibbed, var/mob/living/carbon/human/H) miss_sound = 'sound/weapons/slashmiss.ogg' meat = /obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard +/datum/species/lizard/random_name(gender,unique,lastname) + if(unique) + return random_lizard_name(gender) + + var/randname = lizard_name(gender) + + if(lastname) + randname += " [lastname]" + + return randname + /datum/species/lizard/qualifies_for_rank(var/rank, var/list/features) if(rank in command_positions) return 0 diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 255ea3769f1..e4e1ce303f2 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -382,10 +382,7 @@ if(config.force_random_names || appearance_isbanned(src)) client.prefs.random_character() - if(client.prefs.pref_species.id == "lizard") - client.prefs.real_name = random_lizard_name(gender) - else - client.prefs.real_name = random_name(gender) + client.prefs.real_name = client.prefs.pref_species.random_name(gender,1) client.prefs.copy_to(new_character) if(mind) diff --git a/code/modules/ninja/suit/mask.dm b/code/modules/ninja/suit/mask.dm index 1b9755ba861..308f94245b7 100644 --- a/code/modules/ninja/suit/mask.dm +++ b/code/modules/ninja/suit/mask.dm @@ -115,7 +115,7 @@ Contents: if(1 to 50)//High chance of a regular name. voice = "[rand(0,1) == 1 ? pick(first_names_female) : pick(first_names_male)] [pick(last_names)]" if(51 to 70)//Smaller chance of a lizard name. - voice = "[pick(pick(lizard_names_female), pick(lizard_names_male))]" + voice = "[pick(lizard_name(MALE),lizard_name(FEMALE))]" if(71 to 80)//Small chance of a clown name. voice = "[pick(clown_names)]" if(81 to 90)//Small chance of a wizard name. diff --git a/code/modules/surgery/plastic_surgery.dm b/code/modules/surgery/plastic_surgery.dm index 3557432e9c9..4dd1f600b2d 100644 --- a/code/modules/surgery/plastic_surgery.dm +++ b/code/modules/surgery/plastic_surgery.dm @@ -18,10 +18,7 @@ user.visible_message("[user] successfully restores [target]'s appearance!", "You successfully restore [target]'s appearance.") else var/oldname = target.real_name - if(target.dna.species.id == "lizard") - target.real_name = random_lizard_name(target.gender) - else - target.real_name = random_name(target.gender) + target.real_name = target.dna.species.random_name(target.gender,1) var/newname = target.real_name //something about how the code handles names required that I use this instead of target.real_name user.visible_message("[user] alters [oldname]'s appearance completely, they are now [newname]!", "You alter [oldname]'s appearance completely, they are now [newname].") return 1 \ No newline at end of file diff --git a/config/names/lizard_female.txt b/config/names/lizard_female.txt index 61a1abe1a26..4320d8374df 100644 --- a/config/names/lizard_female.txt +++ b/config/names/lizard_female.txt @@ -1,123 +1,161 @@ -Adzi-Mota -Ah-Kajul -Ah-Meesei -Ah-Mudeska -Ah-Seeba +Adzi +Ah Ahaht -Ajim-Kiurz +Ajim Akeenus Akish Akishan Aleeto -Am-Eepa -Am-Jasuda -Am-Ra +Am Amussa -An-Deesei -An-Jeen -Anozz-Crath +An +Anozz Asheemar Asska Awas -Azbai-Meenus -Azeez-Eix +Azala +Azbai +Azeez Azum Banalz -Bar-Beekus +Bar Baseenar -Beek-Ja -Beek-Nassa +Beek Beekatan +Beekus Beela Beelei -Beem-Tei +Beem Beewos Bejeen -Ber-Jaseen +Ber Betzi Bishalus Bokeeus -Bur-Meema -Bura-Natoo +Bur +Bura Chalaree -Chana-La -Chanil-Lee -Chee-Dooka -Chee-Osheeka -Chee-Saak -Cheesh-Meeus -Cheesh-Mei +Chana +Chanil +Chee +Cheesh Chimatei Chirurgeon Cholasistu +Chuna Churasu -Dar-Ma +Crath +Dar Deeja -Deesh-Meeus +Deesei +Deesh Deetsan Deetwos +Dooka Druja -El-Lurasha -Ereel-Lei +Eepa +Ei +Eix +El +Ereel Eutei -Gih-Ja +Gai +Gih Gilm Gish -Hal-Liurz +Go +Hal Hul -Jeed-Ei -Kal-Ma +Ja +Jaseen +Jasuda +Jeed +Jeen +Kajul +Kal Kasa -Keel-Raniur +Keel Keerava -Kud-Ei -Mach-Na +Kiurz +Kud +La +Lee +Lei +Lifts +Liurz +Lurasha +Ma +Mach Marz -Meeh-Mei -Meen-Sa +Meeh +Meema +Meen +Meena +Meenus Meerana +Meesei +Meeus +Mei Milah -Mim-Jeen -Muz-Ra +Mim +Mota +Mudeska +Muz +Na Nakuma -Nam-La +Nam +Nassa +Natoo Neesha Neetizei Neetra +Neeus Niima Numeen Nuralg Nush Ocheeva Okur -Olank-Neeus -On-Wan -On-Wazei +Olank +On Onasha +Osheeka Pasha +Ra Rana -Ree-Zish +Raniur +Ree Reesa +Rei +Sa +Saak Sanax -Seed-Neeus -Seen-Rei +Seeba +Seed +Seen +Shah Shahvee Shaleez Shatalg SheerMeedish -Shei-Chuna +Shei Sigerthe Skaleel -Tar-Meena +Tail +Tar Tasha +Tei Telixith -Tumma-Shah -Veek-Gai -Weedum-Ja +Tumma +Veek +Wan +Wazei +Weedum Weewish Witseidutsei -Wuja-Ei +Wuja Wujeeta Wusha -Xil-Go +Xil +Zish Zollassa \ No newline at end of file diff --git a/config/names/lizard_male.txt b/config/names/lizard_male.txt index 9091dacafb8..e49bbb2a4d1 100644 --- a/config/names/lizard_male.txt +++ b/config/names/lizard_male.txt @@ -1,33 +1,32 @@ -Abijoo-Anoo -Ah-Malz -Ajum-Kajin -Am-Sakka +Abijoo +Ah +Ajum +Am Amusei -An-Jeen-Sakka -An-Jeen-Seek -An-Zaw -Aojee-Da +An +Anoo +Aojee Asum -Az-Muz +Az Azeel Azinar -Azjai-Tee -Baar-Taeed +Azjai +Baar Banka -Bar-Neeus +Bar Barnaxi -Batar-Meej +Batar Batuus -Beem-Ja -Beem-Kiurz +Beem Beshnus +Betu +Bex Bijot -Bimee-Kas +Bimee Binyaar Bosekus -Brand-Ra -Brand-Shei -Bun-Teemeeta +Brand +Bun Bunach Bunish Busheeus @@ -35,121 +34,163 @@ Buujhan Chakuk Chalish Chalureel -Chee-Sei -Cheedal-Gah +Chath +Chee +Cheedal Chilwir Chitakus Chiwish Chulz Chuna -Dakee-Goh -Dan-Ru +Da +Dakee +Dan +Dar DarJee Darasken Debameel -Deed-Mema +Deed Deegeeta Deeh Deekonus Deekum Deekus Deerkaza -Deetum-Ja +Deetum Demeepa -Depasa-Chath +Depasa Derkeethus -Deroh-Metaku +Deroh Dezanu -Dreet-Lai +Dreet Drumarz +Dum Dunaxith -Effe-Tei -Ei-Eiuus -Ei-Etaku -Eleedal-Lei -Er-Jaseen -Er-Teeus +Effe +Ei +Eidu +Eius +Eiuus +Eix +Eleedal +Er Esqoo +Etaku +Gah GahJulan -Gajul-Lei -Gam-Kur -Geeh-Lurz +Gajul +Gam +Geeh Geel -Geel-Lah GeemJasaiin -Gin-Wulm -Gulum-Ei -Haj-Ei -Han-Tulm +Geh +Gei +Gih +Gin +Goh +Gulum +Haj +Han Haran Hareeya Hathei Heedul -Heem-Jas -Heem-La -Heir-Zish -Hixeeh-Raj +Heem +Hei +Heir +Hixeeh Huleeya Huzei -Ilas-Tei -Im-Kajin -Im-Kilaya -Im-Zish +Ilas +Im Inee Itan -J'Ram-Dar† -Ja-Reet +J'Ram +Ja +Jah Jaraleet -Jaree-Ra -Jee-Tah +Jaree +Jas +Jaseen +Jat +Jee Jeela Jeelius Jeelus -Jeelus-Tei -Jeer-Maht -Jeer-Tei -Jeetum-Ze +Jeen +Jeer +Jeetum +Jei Jilux -Jin-Ei -Junal-Lei +Jin +Jon +Jul +Junal +Jush Juunei -Kamax-Ei -Keema-Ta -Keerasa-Tan +Kai +Kajin +Kamax +Kas +Keema +Keer +Keerasa Kepanuu +Kia Kiameed -Lara-Eix -Loh-Jat +Kilaya +Kiurz +Kur +Kuz +La +Lah +Lai +Lan +Lara +Leem +Lei +Loh Lotash -Luh-Maxath +Luh +Lurz Luteema Maahi Madesi Maheelius Mahei -Marz-Ja +Maht +Malz +Marz Mathei +Maxath +Meej Meejapa Meensuda Meer +Mema +Mere +Metaku Miharil Milos -Miun-Gei +Miun Mobareed Mohimeem Mopakuz Motuu Mujeen Muranatepa -Mush-Mere +Mush +Muz +Na Napetui Nazuux Nebutil -Neeti-Nur +Neeti Neetinei Neetrenaza Neetzara -Nema-Pachat +Neeus +Nema Neposh Netapatuu Nexith @@ -157,23 +198,25 @@ Nodeeus Nomu Nosaleeth Nowajeem -Noyei-Heem -Nulaz-Eidu +Noyei +Nulaz +Nur Obaxith -Okan-Shei +Okan Okaw Okeeh -Oleed-Ei -Oleen-Gei -Olik-Jah -Olink-Nur +Oleed +Oleen +Olik +Olink Onuja -Onurai-Betu +Onurai Opatieel Otumeel -Owai-Leem +Owai +Pachat Pacheeva -Pad-Ei +Pad Paduxi Pajeen Parash @@ -181,53 +224,70 @@ Peeradeeh Pejureel Petaxai Pideelus -Pimaxi-Loh +Pimaxi Pojeel +Ra Radithax +Raj Rareel Rasha Redieeus -Ree-Kia -Reeh-Jah +Ree +Reeh Reemukeeus Reenum Reesa -Reezal-Jul +Reet +Reezal Resari +Riker +Ru Rupah Sakeepa Sakeeus +Sakka Saliith -Sar-Keer +Sar Schiavas +Seek Seewul +Sei Sejaijilax Shakiis Shehs -Silm-Dar +Shei +Silm +Skee Skeetul Sureeus -Tah-Tehat -Taleel-Bex -Talen-Jei -Tan-Skee +Ta +Taeed +Tah +Taleel +Talen +Tan Tanaka Tanan -Tee-Lan -Teeba-Ei +Tee +Teeba Teegla Teeka Teekeeus +Teemeeta +Teeus +Tehat +Tei Teinaava Teineeja Terezeeus Tikaasi -Tim-Jush -Topeeth-Gih -Topith-Kuz +Tim +Topeeth +Topith Tsleeixth Tul -Tun-Zeeus +Tulm +Tun Ukatsei Ukawei Ula @@ -238,23 +298,30 @@ Usheeja Utadeek Utamukeeus Utatul -Uxith-Ei -Vara-Zeen +Uxith +Vara Veekas Veenaza Veezara -Vistha-Kai +Vistha Vudeelal -Wanan-Dum -Wanum-Neeus +Wanan +Wanum Wayiteh -Weebam-Na +Weebam Weeltul Weer -Wih-Eius -Wud-Neeus -Wuleen-Shei +Wih +Wud +Wuleen +Wulm Wumeek -Xal-Geh +Xal +Xemo +Yinz Yinz'r -Yinz-Hei \ No newline at end of file +Zaw +Ze +Zeen +Zeeus +Zish \ No newline at end of file diff --git a/html/changelogs/ikarrus-lizardnames.yml b/html/changelogs/ikarrus-lizardnames.yml new file mode 100644 index 00000000000..4a13636288f --- /dev/null +++ b/html/changelogs/ikarrus-lizardnames.yml @@ -0,0 +1,36 @@ +################################ +# 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 +# spellcheck (typo fixes) +# experiment +# tgs (TG-ported fixes?) +################################# + +# Your name. +author: Ikarrus + +# 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, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Lizard characters can now get random names unique from humans." \ No newline at end of file