Merge pull request #10415 from Ikarrus/lizardnames

Random Names for Lizards
This commit is contained in:
Remie Richards
2015-07-07 03:24:55 +01:00
23 changed files with 621 additions and 45 deletions
+8 -1
View File
@@ -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)
+13 -3
View File
@@ -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
+2
View File
@@ -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")
@@ -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
+3 -6
View File
@@ -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
+4 -1
View File
@@ -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)
+4 -1
View File
@@ -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)
+1 -1
View File
@@ -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)
+11 -10
View File
@@ -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
+1 -1
View File
@@ -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)
+4 -4
View File
@@ -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)
+1 -1
View File
@@ -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)
+3 -1
View File
@@ -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 << "<span class='notice'>You feel somehow... different?</span>"
+2 -2
View File
@@ -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)
@@ -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
@@ -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
+2 -2
View File
@@ -110,7 +110,7 @@
src << "<span class='notice'>Now teleporting.</span>"
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)
+1 -1
View File
@@ -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
+3 -1
View File
@@ -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)]"
+1 -1
View File
@@ -18,7 +18,7 @@
user.visible_message("[user] successfully restores [target]'s appearance!", "<span class='notice'>You successfully restore [target]'s appearance.</span>")
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]!", "<span class='notice'>You alter [oldname]'s appearance completely, they are now [newname].</span>")
return 1
+163
View File
@@ -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
+328
View File
@@ -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
+36
View File
@@ -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."