From 84a045ffe568ec98781c69f1b06b31b4633b629c Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Tue, 9 Feb 2016 18:06:30 +1030 Subject: [PATCH] Moved age min and max to the species datum. --- code/__defines/misc.dm | 5 ----- .../client/preference_setup/general/01_basic.dm | 8 +++++--- .../client/preference_setup/general/03_body.dm | 4 ++++ .../mob/living/carbon/human/species/species.dm | 3 +++ .../carbon/human/species/station/seromi.dm | 2 ++ .../carbon/human/species/station/station.dm | 17 +++++++++++++++-- .../modules/mob/new_player/preferences_setup.dm | 3 ++- 7 files changed, 31 insertions(+), 11 deletions(-) diff --git a/code/__defines/misc.dm b/code/__defines/misc.dm index 261f144713..9741282f93 100644 --- a/code/__defines/misc.dm +++ b/code/__defines/misc.dm @@ -23,11 +23,6 @@ // Some arbitrary defines to be used by self-pruning global lists. (see master_controller) #define PROCESS_KILL 26 // Used to trigger removal from a processing list. - -// Age limits on a character. -#define AGE_MIN 17 -#define AGE_MAX 85 - #define MAX_GEAR_COST 10 // Used in chargen for accessory loadout limit. // Preference toggles. diff --git a/code/modules/client/preference_setup/general/01_basic.dm b/code/modules/client/preference_setup/general/01_basic.dm index 0f993b0fca..00027a08c5 100644 --- a/code/modules/client/preference_setup/general/01_basic.dm +++ b/code/modules/client/preference_setup/general/01_basic.dm @@ -20,7 +20,8 @@ S["OOC_Notes"] << pref.metadata /datum/category_item/player_setup_item/general/basic/sanitize_character() - pref.age = sanitize_integer(pref.age, AGE_MIN, AGE_MAX, initial(pref.age)) + var/datum/species/S = all_species[pref.species] + pref.age = sanitize_integer(pref.age, S.min_age, S.max_age, initial(pref.age)) pref.gender = sanitize_inlist(pref.gender, valid_player_genders, pick(valid_player_genders)) pref.real_name = sanitize_name(pref.real_name, pref.species) if(!pref.real_name) @@ -65,9 +66,10 @@ return TOPIC_REFRESH else if(href_list["age"]) - var/new_age = input(user, "Choose your character's age:\n([AGE_MIN]-[AGE_MAX])", "Character Preference", pref.age) as num|null + var/datum/species/S = all_species[pref.species] + var/new_age = input(user, "Choose your character's age:\n([S.min_age]-[S.max_age])", "Character Preference", pref.age) as num|null if(new_age && CanUseTopic(user)) - pref.age = max(min(round(text2num(new_age)), AGE_MAX), AGE_MIN) + pref.age = max(min(round(text2num(new_age)), S.max_age), S.min_age) return TOPIC_REFRESH else if(href_list["spawnpoint"]) diff --git a/code/modules/client/preference_setup/general/03_body.dm b/code/modules/client/preference_setup/general/03_body.dm index 3df5086cf0..93449981e4 100644 --- a/code/modules/client/preference_setup/general/03_body.dm +++ b/code/modules/client/preference_setup/general/03_body.dm @@ -264,6 +264,10 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O pref.s_tone = 0 reset_limbs() // Safety for species with incompatible manufacturers; easier than trying to do it case by case. + + var/datum/species/S = all_species[pref.species] + pref.age = max(min(pref.age, S.max_age), S.min_age) + return TOPIC_REFRESH else if(href_list["hair_color"]) diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index 0677171f05..47c6f3c304 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -32,6 +32,9 @@ var/virus_immune var/short_sighted + var/min_age = 17 + var/max_age = 70 + // Language/culture vars. var/default_language = "Galactic Common" // Default language is used when 'say' is used without modifiers. var/language = "Galactic Common" // Default racial language, if any. diff --git a/code/modules/mob/living/carbon/human/species/station/seromi.dm b/code/modules/mob/living/carbon/human/species/station/seromi.dm index 40fd5c63b8..eebd7f7efd 100644 --- a/code/modules/mob/living/carbon/human/species/station/seromi.dm +++ b/code/modules/mob/living/carbon/human/species/station/seromi.dm @@ -9,6 +9,8 @@ num_alternate_languages = 2 secondary_langs = list("Schechi", "Skrellian") name_language = "Schechi" + min_age = 12 + max_age = 45 blood_color = "#D514F7" flesh_color = "#5F7BB0" diff --git a/code/modules/mob/living/carbon/human/species/station/station.dm b/code/modules/mob/living/carbon/human/species/station/station.dm index 9d2ac99825..d27955858b 100644 --- a/code/modules/mob/living/carbon/human/species/station/station.dm +++ b/code/modules/mob/living/carbon/human/species/station/station.dm @@ -11,6 +11,8 @@ num_alternate_languages = 2 secondary_langs = list("Sol Common") name_language = null // Use the first-name last-name generator rather than a language scrambler + min_age = 17 + max_age = 110 spawn_flags = CAN_JOIN appearance_flags = HAS_HAIR_COLOR | HAS_SKIN_TONE | HAS_LIPS | HAS_UNDERWEAR | HAS_EYE_COLOR @@ -35,6 +37,9 @@ secondary_langs = list("Sinta'unathi") name_language = "Sinta'unathi" + min_age = 18 + max_age = 60 + blurb = "A heavily reptillian species, Unathi (or 'Sinta as they call themselves) hail from the \ Uuosa-Eso system, which roughly translates to 'burning mother'.

Coming from a harsh, radioactive \ desert planet, they mostly hold ideals of honesty, virtue, martial combat and bravery above all \ @@ -92,6 +97,9 @@ secondary_langs = list("Siik'tajr") name_language = "Siik'tajr" + min_age = 17 + max_age = 80 + blurb = "The Tajaran race is a species of feline-like bipeds hailing from the planet of Ahdomai in the \ S'randarr system. They have been brought up into the space age by the Humans and Skrell, and have been \ influenced heavily by their long history of Slavemaster rule. They have a structured, clan-influenced way \ @@ -139,9 +147,12 @@ herbivores on the whole and tend to be co-operative with the other species of the galaxy, although they rarely reveal \ the secrets of their empire to their allies." num_alternate_languages = 2 - secondary_langs = list("Skrellian") + secondary_langs = list("Skrellian", "Teshari") name_language = null + min_age = 19 + max_age = 80 + spawn_flags = CAN_JOIN | IS_WHITELISTED appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR @@ -181,6 +192,9 @@ num_alternate_languages = 1 name_language = "Rootspeak" + min_age = 1 + max_age = 300 + blurb = "Commonly referred to (erroneously) as 'plant people', the Dionaea are a strange space-dwelling collective \ species hailing from Epsilon Ursae Minoris. Each 'diona' is a cluster of numerous cat-sized organisms called nymphs; \ there is no effective upper limit to the number that can fuse in gestalt, and reports exist of the Epsilon Ursae \ @@ -271,4 +285,3 @@ qdel(D) H.visible_message("\The [H] splits apart with a wet slithering noise!") - diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index 49d2e9d068..f7416c5024 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -32,7 +32,8 @@ datum/preferences socks = rand(1,socks_t.len) backbag = 2 - age = rand(AGE_MIN,AGE_MAX) + var/datum/species/S = all_species[species] + age = rand(S.min_age,S.max_age) if(H) copy_to(H,1)