diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm
index 46a58da0fb6..4abf1181a05 100644
--- a/code/__HELPERS/mobs.dm
+++ b/code/__HELPERS/mobs.dm
@@ -69,7 +69,7 @@
if(FEMALE) return pick(facial_hair_styles_female_list)
else return pick(facial_hair_styles_list)
-/proc/random_name(gender, attempts_to_find_unique_name=10)
+/proc/random_unique_name(gender, attempts_to_find_unique_name=10)
for(var/i=1, i<=attempts_to_find_unique_name, i++)
if(gender==FEMALE) . = capitalize(pick(first_names_female)) + " " + capitalize(pick(last_names))
else . = capitalize(pick(first_names_male)) + " " + capitalize(pick(last_names))
@@ -77,6 +77,13 @@
if(i != attempts_to_find_unique_name && !findname(.))
break
+/proc/random_unique_lizard_name(gender, attempts_to_find_unique_name=10)
+ for(var/i=1, i<=attempts_to_find_unique_name, i++)
+ . = capitalize(lizard_name(gender))
+
+ 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..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,9 +192,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(10))
+ code_phrase += pick(lizard_name(MALE),lizard_name(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..ccc39b839f7 100644
--- a/code/datums/diseases/advance/symptoms/voice_change.dm
+++ b/code/datums/diseases/advance/symptoms/voice_change.dm
@@ -36,14 +36,7 @@ Bonus
else
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)]"
- 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 251a562fe3c..f549e8c8815 100644
--- a/code/game/gamemodes/nuclear/nuclear.dm
+++ b/code/game/gamemodes/nuclear/nuclear.dm
@@ -328,14 +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)
- 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
+ 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 4c27c1b1552..d1d0041a41c 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(10))
+ R.fields["name"] = random_unique_lizard_name(R.fields["sex"],1)
+ else
+ R.fields["name"] = random_unique_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..64795c7684e 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(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)
R.fields["sex"] = pick("Male", "Female")
if(3)
diff --git a/code/modules/admin/create_mob.dm b/code/modules/admin/create_mob.dm
index 11ed127148b..e32260b95ef 100644
--- a/code/modules/admin/create_mob.dm
+++ b/code/modules/admin/create_mob.dm
@@ -10,7 +10,7 @@
/proc/randomize_human(mob/living/carbon/human/H)
H.gender = pick(MALE, FEMALE)
- H.real_name = random_name(H.gender)
+ H.real_name = random_unique_name(H.gender)
H.name = H.real_name
H.dna.generate_uni_identity(H)
H.underwear = random_underwear(H.gender)
diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm
index e294c26928b..04576802e53 100644
--- a/code/modules/admin/verbs/one_click_antag.dm
+++ b/code/modules/admin/verbs/one_click_antag.dm
@@ -422,7 +422,7 @@
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)
+ 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)
@@ -492,27 +492,28 @@
var/list/lastname = last_names
chosen_candidate.client.prefs.copy_to(ERTOperative)
ready_dna(ERTOperative)
+ var/ertname = 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 +591,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..0878357d24e 100644
--- a/code/modules/admin/verbs/randomverbs.dm
+++ b/code/modules/admin/verbs/randomverbs.dm
@@ -286,7 +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)
- 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 011fe1a6015..64f79d9143f 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -111,7 +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.
- 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.
@@ -674,7 +674,7 @@ 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)
+ real_name = pref_species.random_name(gender,1)
if("age")
age = rand(AGE_MIN, AGE_MAX)
if("hair")
@@ -1017,7 +1017,7 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set
if("changeslot")
if(!load_character(text2num(href_list["num"])))
random_character()
- real_name = random_name(gender)
+ real_name = random_unique_name(gender)
save_character()
if("tab")
@@ -1029,7 +1029,7 @@ 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)
+ real_name = pref_species.random_name(gender)
if(be_random_body)
random_character(gender)
diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm
index 141c043310c..86835039c0c 100644
--- a/code/modules/client/preferences_savefile.dm
+++ b/code/modules/client/preferences_savefile.dm
@@ -223,7 +223,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
real_name = reject_bad_name(real_name)
if(!features["mcolor"] || features["mcolor"] == "#000")
features["mcolor"] = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F")
- if(!real_name) real_name = random_name(gender)
+ if(!real_name) real_name = random_unique_name(gender)
be_random_name = sanitize_integer(be_random_name, 0, 1, initial(be_random_name))
be_random_body = sanitize_integer(be_random_body, 0, 1, initial(be_random_body))
gender = sanitize_gender(gender)
diff --git a/code/modules/events/wizard/race.dm b/code/modules/events/wizard/race.dm
index bed5d08b5f4..28691f84a10 100644
--- a/code/modules/events/wizard/race.dm
+++ b/code/modules/events/wizard/race.dm
@@ -15,13 +15,15 @@
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
+ 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/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm
index 1ce49c7de90..81c39b3beb4 100644
--- a/code/modules/mob/dead/observer/observer.dm
+++ b/code/modules/mob/dead/observer/observer.dm
@@ -45,7 +45,7 @@ var/list/image/ghost_darkness_images = list() //this is a list of images for thi
if(body.real_name)
name = body.real_name
else
- name = random_name(gender)
+ name = random_unique_name(gender)
mind = body.mind //we don't transfer the mind but we keep a reference to it.
@@ -53,7 +53,7 @@ var/list/image/ghost_darkness_images = list() //this is a list of images for thi
loc = T
if(!name) //To prevent nameless ghosts
- name = random_name(gender)
+ name = random_unique_name(gender)
real_name = name
if(!fun_verbs)
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index 1b93a64cf9d..5f9ea9ff9d8 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_unique_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..c8fa08fab3c 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_unique_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 05b6fdb0b8a..47399af616a 100644
--- a/code/modules/mob/new_player/new_player.dm
+++ b/code/modules/mob/new_player/new_player.dm
@@ -110,7 +110,7 @@
src << "Now teleporting."
observer.loc = O.loc
if(client.prefs.be_random_name)
- client.prefs.real_name = random_name(gender)
+ client.prefs.real_name = random_unique_name(gender)
if(client.prefs.be_random_body)
client.prefs.random_character(gender)
observer.real_name = client.prefs.real_name
@@ -382,7 +382,7 @@
if(config.force_random_names || appearance_isbanned(src))
client.prefs.random_character()
- 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/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm
index d586bc3c04c..96f631e6d71 100644
--- a/code/modules/mob/transform_procs.dm
+++ b/code/modules/mob/transform_procs.dm
@@ -156,7 +156,7 @@
O.real_name = newname
else
if(cmptext("monkey",copytext(O.dna.real_name,1,7)))
- O.dna.real_name = random_name(O.gender)
+ O.dna.real_name = random_unique_name(O.gender)
O.real_name = O.dna.real_name
O.name = O.real_name
diff --git a/code/modules/ninja/suit/mask.dm b/code/modules/ninja/suit/mask.dm
index cd8a2ba822d..308f94245b7 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(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.
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..4dd1f600b2d 100644
--- a/code/modules/surgery/plastic_surgery.dm
+++ b/code/modules/surgery/plastic_surgery.dm
@@ -18,7 +18,7 @@
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)
+ 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
new file mode 100644
index 00000000000..078ee7bcff4
--- /dev/null
+++ b/config/names/lizard_female.txt
@@ -0,0 +1,163 @@
+Adzi
+Ah
+Ahaht
+Ajim
+Akeenus
+Akish
+Akishan
+Aleeto
+Am
+Amussa
+An
+Anozz
+Asheemar
+Asska
+Awas
+Azala
+Azbai
+Azeez
+Azum
+Banalz
+Bar
+Baseenar
+Beek
+Beekatan
+Beekus
+Beela
+Beelei
+Beem
+Beewos
+Bejeen
+Ber
+Betzi
+Bishalus
+Bokeeus
+Bur
+Bura
+Chalaree
+Chana
+Chanil
+Chee
+Cheesh
+Chimatei
+Chirurgeon
+Cholasistu
+Chuna
+Churasu
+Crath
+Dar
+Deeja
+Deesei
+Deesh
+Deetsan
+Deetwos
+Dooka
+Druja
+Eepa
+Ei
+Eix
+El
+Ereel
+Eutei
+Gai
+Gih
+Gilm
+Gish
+Go
+Hal
+Hul
+Ja
+Jaseen
+Jasuda
+Jeed
+Jeen
+Kajul
+Kal
+Kasa
+Keel
+Keerava
+Kiurz
+Kud
+La
+Lee
+Lei
+Lifts
+Liurz
+Lurasha
+Ma
+Mach
+Marz
+Meedish
+Meeh
+Meema
+Meen
+Meena
+Meenus
+Meerana
+Meesei
+Meeus
+Mei
+Milah
+Mim
+Mota
+Mudeska
+Muz
+Na
+Nakuma
+Nam
+Nassa
+Natoo
+Neesha
+Neetizei
+Neetra
+Neeus
+Niima
+Numeen
+Nuralg
+Nush
+Ocheeva
+Okur
+Olank
+On
+Onasha
+Osheeka
+Pasha
+Ra
+Rana
+Raniur
+Ree
+Reesa
+Rei
+Sa
+Saak
+Sanax
+Seeba
+Seed
+Seen
+Shah
+Shahvee
+Shaleez
+Shatalg
+Sheer
+Shei
+Sigerthe
+Skaleel
+Sudie
+Tail
+Tar
+Tasha
+Tei
+Telixith
+Tumma
+Veek
+Wan
+Wazei
+Weedum
+Weewish
+Witseidutsei
+Wuja
+Wujeeta
+Wusha
+Xil
+Zish
+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..9327b92e61f
--- /dev/null
+++ b/config/names/lizard_male.txt
@@ -0,0 +1,328 @@
+Abijoo
+Ah
+Ajum
+Am
+Amusei
+An
+Anoo
+Aojee
+Asum
+Az
+Azeel
+Azinar
+Azjai
+Baar
+Banka
+Bar
+Barnaxi
+Batar
+Batuus
+Beem
+Beshnus
+Betu
+Bex
+Bijot
+Bimee
+Binyaar
+Bosekus
+Brand
+Bun
+Bunach
+Bunish
+Busheeus
+Buujhan
+Chakuk
+Chalish
+Chalureel
+Chath
+Chee
+Cheedal
+Chilwir
+Chitakus
+Chiwish
+Chulz
+Chuna
+Da
+Dakee
+Dan
+Dar
+DarJee
+Darasken
+Debameel
+Deed
+Deegeeta
+Deeh
+Deekonus
+Deekum
+Deekus
+Deerkaza
+Deetum
+Demeepa
+Depasa
+Derkeethus
+Deroh
+Dezanu
+Dreet
+Drumarz
+Dum
+Dunaxith
+Effe
+Ei
+Eidu
+Eius
+Eiuus
+Eix
+Eleedal
+Er
+Esqoo
+Etaku
+Gah
+Gajul
+Gam
+Geeh
+Geel
+Geem
+Geh
+Gei
+Gih
+Gin
+Goh
+Gulum
+Haj
+Han
+Haran
+Hareeya
+Hathei
+Heedul
+Heem
+Hei
+Heir
+Hixeeh
+Huleeya
+Huzei
+Ilas
+Im
+Inee
+Itan
+J'Ram
+Ja
+Jah
+Jaraleet
+Jaree
+Jas
+Jasaiin
+Jaseen
+Jat
+Jee
+Jeela
+Jeelius
+Jeelus
+Jeen
+Jeer
+Jeetum
+Jei
+Jilux
+Jin
+Jon
+Jul
+Julan
+Junal
+Jush
+Juunei
+Kai
+Kajin
+Kamax
+Kas
+Keema
+Keer
+Keerasa
+Kepanuu
+Kia
+Kiameed
+Kilaya
+Kiurz
+Kur
+Kuz
+La
+Lah
+Lai
+Lan
+Lara
+Leem
+Lei
+Loh
+Lotash
+Luh
+Lurz
+Luteema
+Maahi
+Madesi
+Maheelius
+Mahei
+Maht
+Malz
+Marz
+Mathei
+Maxath
+Meej
+Meejapa
+Meensuda
+Meer
+Mema
+Mere
+Metaku
+Miharil
+Milos
+Miun
+Mobareed
+Mohimeem
+Mopakuz
+Motuu
+Mujeen
+Muranatepa
+Mush
+Muz
+Na
+Napetui
+Nazuux
+Nebutil
+Neeti
+Neetinei
+Neetrenaza
+Neetzara
+Neeus
+Nema
+Neposh
+Netapatuu
+Nexith
+Nodeeus
+Nomu
+Nosaleeth
+Nowajeem
+Noyei
+Nulaz
+Nur
+Obaxith
+Okan
+Okaw
+Okeeh
+Oleed
+Oleen
+Olik
+Olink
+Onuja
+Onurai
+Opatieel
+Otumeel
+Owai
+Pachat
+Pacheeva
+Pad
+Paduxi
+Pajeen
+Parash
+Peeradeeh
+Pejureel
+Petaxai
+Pideelus
+Pimaxi
+Pojeel
+Ra
+Radithax
+Raj
+Rareel
+Rasha
+Redieeus
+Ree
+Reeh
+Reemukeeus
+Reenum
+Reesa
+Reet
+Reezal
+Resari
+Riker
+Ru
+Rupah
+Sakeepa
+Sakeeus
+Sakka
+Saliith
+Sar
+Schiavas
+Seek
+Seewul
+Sei
+Sejaijilax
+Shakiis
+Shehs
+Shei
+Silm
+Skee
+Skeetul
+Sureeus
+Ta
+Taeed
+Tah
+Taleel
+Talen
+Tan
+Tanaka
+Tanan
+Tee
+Teeba
+Teegla
+Teeka
+Teekeeus
+Teemeeta
+Teeus
+Tehat
+Tei
+Teinaava
+Teineeja
+Terezeeus
+Tikaasi
+Tim
+Topeeth
+Topith
+Tsleeixth
+Tul
+Tulm
+Tun
+Ukatsei
+Ukawei
+Ula
+Ulawa
+Ullis
+Usha
+Usheeja
+Utadeek
+Utamukeeus
+Utatul
+Uxith
+Vara
+Veekas
+Veenaza
+Veezara
+Vistha
+Vudeelal
+Wanan
+Wanum
+Wayiteh
+Weebam
+Weeltul
+Weer
+Wih
+Wud
+Wuleen
+Wulm
+Wumeek
+Xal
+Xemo
+Yinz
+Yinz'r
+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