Character Creation Tweak (#11207)

This commit is contained in:
Geeves
2021-03-12 22:52:11 +01:00
committed by GitHub
parent d786f622c6
commit 412eeec1df
29 changed files with 306 additions and 243 deletions
+3
View File
@@ -76,3 +76,6 @@ var/list/datum/gender/gender_datums = list()
/atom/proc/get_pronoun(var/wordtype)
var/gender_to_use = get_gender()
return gender_datums[gender_to_use][wordtype]
/mob/living/carbon/human/get_pronoun(var/wordtype)
return gender_datums[pronouns][wordtype]
@@ -1,7 +1,7 @@
/mob/living/carbon/human/proc/change_appearance(var/flags = APPEARANCE_ALL_HAIR, var/location = src, var/mob/user = src, var/check_species_whitelist = 1, var/list/species_whitelist = list(), var/list/species_blacklist = list(), var/datum/topic_state/state = default_state)
var/datum/nano_module/appearance_changer/AC = new(location, src, check_species_whitelist, species_whitelist, species_blacklist)
/mob/living/carbon/human/proc/change_appearance(var/flags = APPEARANCE_ALL_HAIR, var/mob/user = src, var/check_species_whitelist = TRUE, var/list/species_whitelist = list(), var/list/species_blacklist = list(), var/datum/topic_state/ui_state = interactive_state, var/datum/state_object = src)
var/datum/vueui_module/appearance_changer/AC = new /datum/vueui_module/appearance_changer(src, check_species_whitelist, species_whitelist, species_blacklist, ui_state, state_object)
AC.flags = flags
AC.ui_interact(user, state = state)
AC.ui_interact(user)
/mob/living/carbon/human/proc/change_species(var/new_species)
if(!new_species)
@@ -17,12 +17,13 @@
reset_hair()
return 1
/mob/living/carbon/human/proc/change_gender(var/gender)
if(src.gender == gender)
/mob/living/carbon/human/proc/change_gender(var/set_gender)
if(gender == set_gender)
return
src.gender = gender
dna.SetUIState(DNA_UI_GENDER, src.gender != MALE, 1)
gender = set_gender
pronouns = gender
dna.SetUIState(DNA_UI_GENDER, gender != MALE, 1)
reset_hair()
update_body()
species.create_organs(src)
@@ -62,13 +63,13 @@
var/list/valid_hairstyles = generate_valid_hairstyles()
var/list/valid_facial_hairstyles = generate_valid_facial_hairstyles()
if(valid_hairstyles.len)
if(length(valid_hairstyles))
h_style = pick(valid_hairstyles)
else
//this shouldn't happen
h_style = "Bald"
if(valid_facial_hairstyles.len)
if(length(valid_facial_hairstyles))
f_style = pick(valid_facial_hairstyles)
else
//this shouldn't happen
@@ -5,6 +5,8 @@
icon = 'icons/mob/human.dmi'
icon_state = "body_m_s"
var/pronouns = NEUTER
var/species_items_equipped // used so species that need special items (autoinhalers for vaurca/RMT for offworlders) don't get them twice when they shouldn't.
var/list/hud_list[10]
@@ -2006,14 +2008,8 @@
return ..(speaking, hearer, used_accent)
/mob/living/carbon/human/proc/generate_valid_accent()
var/list/valid_accents = list()
for(var/current_accents in species.allowed_accents)
valid_accents += current_accents
return valid_accents
/mob/living/carbon/human/proc/generate_valid_languages()
var/list/available_languages = species.secondary_langs.Copy()
var/list/available_languages = species.secondary_langs.Copy() + LANGUAGE_TCB
for(var/L in all_languages)
var/datum/language/lang = all_languages[L]
if(!(lang.flags & RESTRICTED) && (!config.usealienwhitelist || is_alien_whitelisted(src, L) || !(lang.flags & WHITELISTED)))
@@ -2036,7 +2032,7 @@
to_chat(src, SPAN_NOTICE("You no longer know <b>[new_language.name]</b>."))
return TRUE
var/total_alternate_languages = languages.Copy()
total_alternate_languages -= all_languages[LANGUAGE_TCB]
total_alternate_languages -= all_languages[species.language]
if(length(total_alternate_languages) >= species.num_alternate_languages)
to_chat(src, SPAN_WARNING("You can't add any more languages!"))
return TRUE
@@ -16,6 +16,7 @@
var/age_max = 85
var/economic_modifier = 0
var/list/default_genders = list(MALE, FEMALE)
var/list/selectable_pronouns = list(MALE, FEMALE, PLURAL)
// Icon/appearance vars.
var/icobase = 'icons/mob/human_races/human/r_human.dmi' // Normal icon set.
@@ -423,6 +424,7 @@
H.dna.SetSEState(MONKEYBLOCK,0)
if(!H.client || !H.client.prefs || !H.client.prefs.gender)
H.gender = pick(default_genders)
H.pronouns = H.gender
/datum/species/proc/handle_death(var/mob/living/carbon/human/H, var/gibbed = 0) //Handles any species-specific death events (such as dionaea nymph spawns).
return
@@ -8,6 +8,7 @@
age_min = 1
age_max = 1000
default_genders = list(NEUTER)
selectable_pronouns = list(NEUTER, PLURAL)
economic_modifier = 3
icobase = 'icons/mob/human_races/diona/r_diona.dmi'
deform = 'icons/mob/human_races/diona/r_def_plant.dmi'
@@ -8,6 +8,7 @@
age_max = 60
economic_modifier = 3
default_genders = list(NEUTER)
selectable_pronouns = list(NEUTER, PLURAL)
blurb = "IPCs are, quite simply, \"Integrated Positronic Chassis.\" In this scenario, 'positronic' implies that the chassis possesses a positronic processing core (or positronic brain), meaning that an IPC must be positronic to be considered an IPC. The Baseline model is more of a category - the long of the short is that they represent all unbound synthetic units. Baseline models cover anything that is not an Industrial chassis or a Shell chassis. They can be custom made or assembly made. The most common feature of the Baseline model is a simple design, skeletal or semi-humanoid, and ordinary atmospheric diffusion cooling systems."
@@ -5,6 +5,7 @@
name_plural = "Shells"
bodytype = BODYTYPE_HUMAN
default_genders = list(MALE, FEMALE)
selectable_pronouns = list(MALE, FEMALE, PLURAL, NEUTER)
burn_mod = 1.2
grab_mod = 1
@@ -9,8 +9,9 @@
damage_overlays = 'icons/mob/human_races/masks/dam_monkey.dmi'
damage_mask = 'icons/mob/human_races/masks/dam_mask_monkey.dmi'
blood_mask = 'icons/mob/human_races/masks/blood_monkey.dmi'
language = null
language = LANGUAGE_CHIMPANZEE
default_language = LANGUAGE_CHIMPANZEE
secondary_langs = list(LANGUAGE_CHIMPANZEE)
greater_form = SPECIES_HUMAN
mob_size = MOB_SMALL
has_fine_manipulation = 0
@@ -6,6 +6,7 @@
bodytype = BODYTYPE_SKRELL
age_max = 500
default_genders = list(PLURAL)
selectable_pronouns = null
economic_modifier = 12
icobase = 'icons/mob/human_races/skrell/r_skrell.dmi'
deform = 'icons/mob/human_races/skrell/r_def_skrell.dmi'
@@ -30,6 +30,7 @@
ethanol_resistance = 0.8//Gets drunk a little faster
rarity_value = 2
economic_modifier = 7
selectable_pronouns = null
stamina = 90 // Tajara evolved to maintain a steady pace in the snow, sprinting wastes energy
stamina_recovery = 4
@@ -7,6 +7,7 @@
age_min = 1
age_max = 20
default_genders = list(NEUTER)
selectable_pronouns = null
economic_modifier = 2
language = LANGUAGE_VAURCA
primitive_form = SPECIES_MONKEY_VAURCA
@@ -265,7 +265,7 @@
newname = L.get_random_name()
new_shell.real_name = newname
new_shell.name = new_shell.real_name
new_shell.change_appearance(APPEARANCE_ALL_HAIR | APPEARANCE_SKIN | APPEARANCE_EYE_COLOR, new_shell.loc, new_shell)
new_shell.change_appearance(APPEARANCE_ALL_HAIR | APPEARANCE_SKIN | APPEARANCE_EYE_COLOR, new_shell)
qdel(src)
return