diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm
index 46a58da0fb6..56f8eb4472e 100644
--- a/code/__HELPERS/mobs.dm
+++ b/code/__HELPERS/mobs.dm
@@ -77,6 +77,14 @@
if(i != attempts_to_find_unique_name && !findname(.))
break
+/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))
+
+ if(i != attempts_to_find_unique_name && !findname(.))
+ break
+
/proc/random_skin_tone()
return pick(skin_tones)
diff --git a/code/__HELPERS/names.dm b/code/__HELPERS/names.dm
index e5976a5c460..d9d964190d4 100644
--- a/code/__HELPERS/names.dm
+++ b/code/__HELPERS/names.dm
@@ -185,9 +185,12 @@ var/syndicate_code_response//Code response for traitors.
if(names.len&&prob(70))
code_phrase += pick(names)
else
- code_phrase += pick(pick(first_names_male,first_names_female))
- code_phrase += " "
- code_phrase += pick(last_names)
+ if(prob(20))
+ code_phrase += pick(pick(lizard_names_male,lizard_names_female))
+ else
+ code_phrase += pick(pick(first_names_male,first_names_female))
+ code_phrase += " "
+ code_phrase += pick(last_names)
if(2)
code_phrase += pick(get_all_jobs())//Returns a job.
safety -= 1
diff --git a/code/_globalvars/lists/names.dm b/code/_globalvars/lists/names.dm
index edaa74eab14..834f4aa8dd6 100644
--- a/code/_globalvars/lists/names.dm
+++ b/code/_globalvars/lists/names.dm
@@ -7,6 +7,8 @@ var/list/commando_names = file2list("config/names/death_commando.txt")
var/list/first_names_male = file2list("config/names/first_male.txt")
var/list/first_names_female = file2list("config/names/first_female.txt")
var/list/last_names = file2list("config/names/last.txt")
+var/list/lizard_names_male = file2list("config/names/lizard_male.txt")
+var/list/lizard_names_female = file2list("config/names/lizard_female.txt")
var/list/clown_names = file2list("config/names/clown.txt")
var/list/mime_names = file2list("config/names/mime.txt")
diff --git a/code/datums/diseases/advance/symptoms/voice_change.dm b/code/datums/diseases/advance/symptoms/voice_change.dm
index 02f352f3550..273e5d4cb9c 100644
--- a/code/datums/diseases/advance/symptoms/voice_change.dm
+++ b/code/datums/diseases/advance/symptoms/voice_change.dm
@@ -37,12 +37,19 @@ Bonus
if(ishuman(M))
var/mob/living/carbon/human/H = M
var/random_name = ""
- switch(H.gender)
- if(MALE)
- random_name = pick(first_names_male)
- else
- random_name = pick(first_names_female)
- random_name += " [pick(last_names)]"
+ 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)
return
diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm
index 251a562fe3c..e7bc7814098 100644
--- a/code/game/gamemodes/nuclear/nuclear.dm
+++ b/code/game/gamemodes/nuclear/nuclear.dm
@@ -332,10 +332,19 @@
/proc/NukeNameAssign(var/lastname,var/list/syndicates)
for(var/datum/mind/synd_mind in syndicates)
- switch(synd_mind.current.gender)
- if(MALE)
- synd_mind.name = "[pick(first_names_male)] [lastname]"
- if(FEMALE)
- synd_mind.name = "[pick(first_names_female)] [lastname]"
+ 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.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 4c27c1b1552..1b6d1d4aa8a 100644
--- a/code/game/machinery/computer/medical.dm
+++ b/code/game/machinery/computer/medical.dm
@@ -561,7 +561,10 @@
if(prob(10/severity))
switch(rand(1,6))
if(1)
- R.fields["name"] = random_name(R.fields["sex"],1)
+ if(prob(20))
+ R.fields["name"] = random_lizard_name(R.fields["sex"],1)
+ else
+ R.fields["name"] = random_name(R.fields["sex"],1)
if(2)
R.fields["sex"] = pick("Male", "Female")
if(3)
diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm
index 4a0aad15867..c4d70174cdf 100644
--- a/code/game/machinery/computer/security.dm
+++ b/code/game/machinery/computer/security.dm
@@ -711,7 +711,10 @@ What a mess.*/
if(prob(10/severity))
switch(rand(1,8))
if(1)
- R.fields["name"] = "[pick(pick(first_names_male), pick(first_names_female))] [pick(last_names)]"
+ if(prob(20))
+ R.fields["name"] = "[pick(pick(lizard_names_male), pick(lizard_names_female))]"
+ else
+ R.fields["name"] = "[pick(pick(first_names_male), pick(first_names_female))] [pick(last_names)]"
if(2)
R.fields["sex"] = pick("Male", "Female")
if(3)
diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm
index e294c26928b..c02acfe81f6 100644
--- a/code/modules/admin/verbs/one_click_antag.dm
+++ b/code/modules/admin/verbs/one_click_antag.dm
@@ -422,7 +422,10 @@
var/mob/living/carbon/human/newmob = new (pick(emergencyresponseteamspawn))
chosen_candidate.client.prefs.copy_to(newmob)
ready_dna(newmob)
- newmob.real_name = random_name(newmob.gender)
+ if(newmob.dna.species.id == "lizard")
+ newmob.real_name = random_lizard_name(newmob.gender)
+ else
+ newmob.real_name = random_name(newmob.gender)
newmob.key = chosen_candidate.key
newmob.mind.assigned_role = "Centcom Official"
equip_centcomofficial(newmob)
@@ -492,27 +495,28 @@
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))
switch(numagents)
if(1)
- ERTOperative.real_name = "Commander [pick(lastname)]"
+ ERTOperative.real_name = "Commander [ertname]"
equip_emergencyresponsesquad(ERTOperative, "commander",redalert)
if(2)
- ERTOperative.real_name = "Security Officer [pick(lastname)]"
+ ERTOperative.real_name = "Security Officer [ertname]"
equip_emergencyresponsesquad(ERTOperative, "sec",redalert)
if(3)
- ERTOperative.real_name = "Medical Officer [pick(lastname)]"
+ ERTOperative.real_name = "Medical Officer [ertname]"
equip_emergencyresponsesquad(ERTOperative, "med",redalert)
if(4)
- ERTOperative.real_name = "Engineer [pick(lastname)]"
+ ERTOperative.real_name = "Engineer [ertname]"
equip_emergencyresponsesquad(ERTOperative, "eng",redalert)
if(5)
- ERTOperative.real_name = "Security Officer [pick(lastname)]"
+ ERTOperative.real_name = "Security Officer [ertname]"
equip_emergencyresponsesquad(ERTOperative, "sec",redalert)
if(6)
- ERTOperative.real_name = "Medical Officer [pick(lastname)]"
+ ERTOperative.real_name = "Medical Officer [ertname]"
equip_emergencyresponsesquad(ERTOperative, "med",redalert)
if(7)
- ERTOperative.real_name = "Engineer [pick(lastname)]"
+ ERTOperative.real_name = "Engineer [ertname]"
equip_emergencyresponsesquad(ERTOperative, "eng",redalert)
ERTOperative.key = chosen_candidate.key
ERTOperative.mind.assigned_role = "ERT"
@@ -590,9 +594,9 @@
temp.abductors |= list(agent_mind,scientist_mind)
temp.make_abductor_team(number,preset_scientist=scientist_mind,preset_agent=agent_mind)
temp.post_setup_team(number)
-
+
ticker.mode.abductor_teams++
-
+
if(ticker.mode.config_tag != "abduction")
ticker.mode.abductors |= temp.abductors
diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm
index 57bea51a682..2967971a176 100644
--- a/code/modules/admin/verbs/randomverbs.dm
+++ b/code/modules/admin/verbs/randomverbs.dm
@@ -286,7 +286,10 @@ Traitors and the like can also be revived with the previous role mostly intact.
A.copy_to(new_character)
if(!new_character.real_name)
- new_character.real_name = random_name(new_character.gender)
+ 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.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 011fe1a6015..153569a78ad 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -111,7 +111,10 @@ 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.
- real_name = random_name(gender)
+ if(pref_species.id == "lizard")
+ real_name = random_lizard_name(gender)
+ else
+ real_name = random_name(gender)
if(!loaded_preferences_successfully)
save_preferences()
save_character() //let's save this new random character so it doesn't keep generating new ones.
@@ -674,7 +677,10 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set
if("random")
switch(href_list["preference"])
if("name")
- real_name = random_name(gender)
+ if(pref_species.id == "lizard")
+ real_name = random_lizard_name(gender)
+ else
+ real_name = random_name(gender)
if("age")
age = rand(AGE_MIN, AGE_MAX)
if("hair")
@@ -1029,7 +1035,10 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set
proc/copy_to(mob/living/carbon/human/character)
if(be_random_name)
- real_name = random_name(gender)
+ if(pref_species.id == "lizard")
+ real_name = random_lizard_name(gender)
+ else
+ real_name = random_name(gender)
if(be_random_body)
random_character(gender)
diff --git a/code/modules/events/wizard/race.dm b/code/modules/events/wizard/race.dm
index bed5d08b5f4..f1a2e3c0992 100644
--- a/code/modules/events/wizard/race.dm
+++ b/code/modules/events/wizard/race.dm
@@ -15,13 +15,26 @@
if(!S.dangerous_existence)
all_species += speciestype
- var/new_species = pick(all_species)
+ var/datum/species/new_species = pick(all_species)
if(prob(50))
all_the_same = 1
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)
hardset_dna(H, null, null, null, null, new_species)
H.regenerate_icons()
H << "You feel somehow... different?"
diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm
index 05b6fdb0b8a..255ea3769f1 100644
--- a/code/modules/mob/new_player/new_player.dm
+++ b/code/modules/mob/new_player/new_player.dm
@@ -382,7 +382,10 @@
if(config.force_random_names || appearance_isbanned(src))
client.prefs.random_character()
- client.prefs.real_name = random_name(gender)
+ 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.copy_to(new_character)
if(mind)
diff --git a/code/modules/ninja/suit/mask.dm b/code/modules/ninja/suit/mask.dm
index cd8a2ba822d..1b9755ba861 100644
--- a/code/modules/ninja/suit/mask.dm
+++ b/code/modules/ninja/suit/mask.dm
@@ -114,7 +114,9 @@ Contents:
switch(chance)
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 80)//Smaller chance of a clown name.
+ if(51 to 70)//Smaller chance of a lizard name.
+ voice = "[pick(pick(lizard_names_female), pick(lizard_names_male))]"
+ if(71 to 80)//Small chance of a clown name.
voice = "[pick(clown_names)]"
if(81 to 90)//Small chance of a wizard name.
voice = "[pick(wizard_first)] [pick(wizard_second)]"
diff --git a/code/modules/surgery/plastic_surgery.dm b/code/modules/surgery/plastic_surgery.dm
index 52695210d1c..3557432e9c9 100644
--- a/code/modules/surgery/plastic_surgery.dm
+++ b/code/modules/surgery/plastic_surgery.dm
@@ -18,7 +18,10 @@
user.visible_message("[user] successfully restores [target]'s appearance!", "You successfully restore [target]'s appearance.")
else
var/oldname = target.real_name
- target.real_name = random_name(target.gender)
+ if(target.dna.species.id == "lizard")
+ target.real_name = random_lizard_name(target.gender)
+ else
+ target.real_name = random_name(target.gender)
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
new file mode 100644
index 00000000000..61a1abe1a26
--- /dev/null
+++ b/config/names/lizard_female.txt
@@ -0,0 +1,123 @@
+Adzi-Mota
+Ah-Kajul
+Ah-Meesei
+Ah-Mudeska
+Ah-Seeba
+Ahaht
+Ajim-Kiurz
+Akeenus
+Akish
+Akishan
+Aleeto
+Am-Eepa
+Am-Jasuda
+Am-Ra
+Amussa
+An-Deesei
+An-Jeen
+Anozz-Crath
+Asheemar
+Asska
+Awas
+Azbai-Meenus
+Azeez-Eix
+Azum
+Banalz
+Bar-Beekus
+Baseenar
+Beek-Ja
+Beek-Nassa
+Beekatan
+Beela
+Beelei
+Beem-Tei
+Beewos
+Bejeen
+Ber-Jaseen
+Betzi
+Bishalus
+Bokeeus
+Bur-Meema
+Bura-Natoo
+Chalaree
+Chana-La
+Chanil-Lee
+Chee-Dooka
+Chee-Osheeka
+Chee-Saak
+Cheesh-Meeus
+Cheesh-Mei
+Chimatei
+Chirurgeon
+Cholasistu
+Churasu
+Dar-Ma
+Deeja
+Deesh-Meeus
+Deetsan
+Deetwos
+Druja
+El-Lurasha
+Ereel-Lei
+Eutei
+Gih-Ja
+Gilm
+Gish
+Hal-Liurz
+Hul
+Jeed-Ei
+Kal-Ma
+Kasa
+Keel-Raniur
+Keerava
+Kud-Ei
+Mach-Na
+Marz
+Meeh-Mei
+Meen-Sa
+Meerana
+Milah
+Mim-Jeen
+Muz-Ra
+Nakuma
+Nam-La
+Neesha
+Neetizei
+Neetra
+Niima
+Numeen
+Nuralg
+Nush
+Ocheeva
+Okur
+Olank-Neeus
+On-Wan
+On-Wazei
+Onasha
+Pasha
+Rana
+Ree-Zish
+Reesa
+Sanax
+Seed-Neeus
+Seen-Rei
+Shahvee
+Shaleez
+Shatalg
+SheerMeedish
+Shei-Chuna
+Sigerthe
+Skaleel
+Tar-Meena
+Tasha
+Telixith
+Tumma-Shah
+Veek-Gai
+Weedum-Ja
+Weewish
+Witseidutsei
+Wuja-Ei
+Wujeeta
+Wusha
+Xil-Go
+Zollassa
\ No newline at end of file
diff --git a/config/names/lizard_male.txt b/config/names/lizard_male.txt
new file mode 100644
index 00000000000..9091dacafb8
--- /dev/null
+++ b/config/names/lizard_male.txt
@@ -0,0 +1,260 @@
+Abijoo-Anoo
+Ah-Malz
+Ajum-Kajin
+Am-Sakka
+Amusei
+An-Jeen-Sakka
+An-Jeen-Seek
+An-Zaw
+Aojee-Da
+Asum
+Az-Muz
+Azeel
+Azinar
+Azjai-Tee
+Baar-Taeed
+Banka
+Bar-Neeus
+Barnaxi
+Batar-Meej
+Batuus
+Beem-Ja
+Beem-Kiurz
+Beshnus
+Bijot
+Bimee-Kas
+Binyaar
+Bosekus
+Brand-Ra
+Brand-Shei
+Bun-Teemeeta
+Bunach
+Bunish
+Busheeus
+Buujhan
+Chakuk
+Chalish
+Chalureel
+Chee-Sei
+Cheedal-Gah
+Chilwir
+Chitakus
+Chiwish
+Chulz
+Chuna
+Dakee-Goh
+Dan-Ru
+DarJee
+Darasken
+Debameel
+Deed-Mema
+Deegeeta
+Deeh
+Deekonus
+Deekum
+Deekus
+Deerkaza
+Deetum-Ja
+Demeepa
+Depasa-Chath
+Derkeethus
+Deroh-Metaku
+Dezanu
+Dreet-Lai
+Drumarz
+Dunaxith
+Effe-Tei
+Ei-Eiuus
+Ei-Etaku
+Eleedal-Lei
+Er-Jaseen
+Er-Teeus
+Esqoo
+GahJulan
+Gajul-Lei
+Gam-Kur
+Geeh-Lurz
+Geel
+Geel-Lah
+GeemJasaiin
+Gin-Wulm
+Gulum-Ei
+Haj-Ei
+Han-Tulm
+Haran
+Hareeya
+Hathei
+Heedul
+Heem-Jas
+Heem-La
+Heir-Zish
+Hixeeh-Raj
+Huleeya
+Huzei
+Ilas-Tei
+Im-Kajin
+Im-Kilaya
+Im-Zish
+Inee
+Itan
+J'Ram-Dar†
+Ja-Reet
+Jaraleet
+Jaree-Ra
+Jee-Tah
+Jeela
+Jeelius
+Jeelus
+Jeelus-Tei
+Jeer-Maht
+Jeer-Tei
+Jeetum-Ze
+Jilux
+Jin-Ei
+Junal-Lei
+Juunei
+Kamax-Ei
+Keema-Ta
+Keerasa-Tan
+Kepanuu
+Kiameed
+Lara-Eix
+Loh-Jat
+Lotash
+Luh-Maxath
+Luteema
+Maahi
+Madesi
+Maheelius
+Mahei
+Marz-Ja
+Mathei
+Meejapa
+Meensuda
+Meer
+Miharil
+Milos
+Miun-Gei
+Mobareed
+Mohimeem
+Mopakuz
+Motuu
+Mujeen
+Muranatepa
+Mush-Mere
+Napetui
+Nazuux
+Nebutil
+Neeti-Nur
+Neetinei
+Neetrenaza
+Neetzara
+Nema-Pachat
+Neposh
+Netapatuu
+Nexith
+Nodeeus
+Nomu
+Nosaleeth
+Nowajeem
+Noyei-Heem
+Nulaz-Eidu
+Obaxith
+Okan-Shei
+Okaw
+Okeeh
+Oleed-Ei
+Oleen-Gei
+Olik-Jah
+Olink-Nur
+Onuja
+Onurai-Betu
+Opatieel
+Otumeel
+Owai-Leem
+Pacheeva
+Pad-Ei
+Paduxi
+Pajeen
+Parash
+Peeradeeh
+Pejureel
+Petaxai
+Pideelus
+Pimaxi-Loh
+Pojeel
+Radithax
+Rareel
+Rasha
+Redieeus
+Ree-Kia
+Reeh-Jah
+Reemukeeus
+Reenum
+Reesa
+Reezal-Jul
+Resari
+Rupah
+Sakeepa
+Sakeeus
+Saliith
+Sar-Keer
+Schiavas
+Seewul
+Sejaijilax
+Shakiis
+Shehs
+Silm-Dar
+Skeetul
+Sureeus
+Tah-Tehat
+Taleel-Bex
+Talen-Jei
+Tan-Skee
+Tanaka
+Tanan
+Tee-Lan
+Teeba-Ei
+Teegla
+Teeka
+Teekeeus
+Teinaava
+Teineeja
+Terezeeus
+Tikaasi
+Tim-Jush
+Topeeth-Gih
+Topith-Kuz
+Tsleeixth
+Tul
+Tun-Zeeus
+Ukatsei
+Ukawei
+Ula
+Ulawa
+Ullis
+Usha
+Usheeja
+Utadeek
+Utamukeeus
+Utatul
+Uxith-Ei
+Vara-Zeen
+Veekas
+Veenaza
+Veezara
+Vistha-Kai
+Vudeelal
+Wanan-Dum
+Wanum-Neeus
+Wayiteh
+Weebam-Na
+Weeltul
+Weer
+Wih-Eius
+Wud-Neeus
+Wuleen-Shei
+Wumeek
+Xal-Geh
+Yinz'r
+Yinz-Hei
\ No newline at end of file