diff --git a/code/game/dna/dna2.dm b/code/game/dna/dna2.dm
index edb1785fdb2..facf6835fba 100644
--- a/code/game/dna/dna2.dm
+++ b/code/game/dna/dna2.dm
@@ -79,7 +79,6 @@ GLOBAL_LIST_EMPTY_TYPED(dna_genes_bad, /datum/gene/trait)
var/species = SPECIES_HUMAN
var/list/body_markings = list()
var/list/body_markings_genetic = list()
- var/list/body_descriptors = null
var/list/genetic_modifiers = list() // Modifiers with the MODIFIER_GENETIC flag are saved. Note that only the type is saved, not an instance.
// Make a copy of this strand.
diff --git a/code/game/dna/dna_modifier.dm b/code/game/dna/dna_modifier.dm
index 3485931df0d..4ff878e5364 100644
--- a/code/game/dna/dna_modifier.dm
+++ b/code/game/dna/dna_modifier.dm
@@ -18,7 +18,6 @@
var/languages=null
var/list/flavor=null
var/gender = null
- var/list/body_descriptors = null // Guess we'll keep null.
var/list/genetic_modifiers = list() // Modifiers with the MODIFIER_GENETIC flag are saved. Note that only the type is saved, not an instance.
/datum/dna2/record/proc/GetData()
@@ -48,8 +47,6 @@
newrecord.implant = implant
newrecord.flavor = flavor
newrecord.gender = gender
- if(body_descriptors)
- newrecord.body_descriptors = body_descriptors.Copy()
newrecord.genetic_modifiers = genetic_modifiers.Copy()
return newrecord
@@ -617,7 +614,6 @@
var/mob/living/carbon/human/H = WC
databuf.mydna.dna.real_name = H.dna.real_name
databuf.mydna.gender = H.gender
- databuf.mydna.body_descriptors = H.descriptors
buffers[bufferId] = databuf
return TRUE
if("clear")
diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm
index 3547b252029..1c7a2df1251 100644
--- a/code/game/machinery/computer/cloning.dm
+++ b/code/game/machinery/computer/cloning.dm
@@ -421,7 +421,6 @@
R.types = DNA2_BUF_UI|DNA2_BUF_UE|DNA2_BUF_SE
R.languages = subject.languages
R.gender = subject.gender
- R.body_descriptors = subject.descriptors
R.flavor = subject.flavor_texts.Copy()
for(var/datum/modifier/mod in subject.modifiers)
if(mod.flags & MODIFIER_GENETIC)
diff --git a/code/modules/client/preference_setup/general/03_body.dm b/code/modules/client/preference_setup/general/03_body.dm
index fd3b9d99f6c..42a7f2f290d 100644
--- a/code/modules/client/preference_setup/general/03_body.dm
+++ b/code/modules/client/preference_setup/general/03_body.dm
@@ -95,7 +95,6 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
pref.synth_color = save_data["synth_color"]
pref.synth_markings = save_data["synth_markings"]
pref.bgstate = save_data["bgstate"]
- pref.body_descriptors = check_list_copy(save_data["body_descriptors"])
pref.ear_style = save_data["ear_style"]
pref.ear_secondary_style = save_data["ear_secondary_style"]
pref.ear_secondary_colors = save_data["ear_secondary_colors"]
@@ -121,7 +120,6 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
save_data["synth_color"] = pref.synth_color
save_data["synth_markings"] = pref.synth_markings
save_data["bgstate"] = pref.bgstate
- save_data["body_descriptors"] = check_list_copy(pref.body_descriptors)
save_data["ear_style"] = pref.ear_style
save_data["ear_secondary_style"] = pref.ear_secondary_style
save_data["ear_secondary_colors"] = pref.ear_secondary_colors
@@ -251,21 +249,6 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
O.markings[M] = list("color" = pref.body_markings[M][BP]["color"], "datum" = mark_datum, "priority" = priority, "on" = pref.body_markings[M][BP]["on"])
character.markings_len = priority
- var/list/last_descriptors = list()
- if(islist(pref.body_descriptors))
- last_descriptors = pref.body_descriptors.Copy()
- pref.body_descriptors = list()
-
- var/datum/species/mob_species = GLOB.all_species[pref.species]
- if(LAZYLEN(mob_species.descriptors))
- for(var/entry in mob_species.descriptors)
- var/datum/mob_descriptor/descriptor = mob_species.descriptors[entry]
- if(istype(descriptor))
- if(isnull(last_descriptors[entry]))
- pref.body_descriptors[entry] = descriptor.default_value // Species datums have initial default value.
- else
- pref.body_descriptors[entry] = CLAMP(last_descriptors[entry], 1, LAZYLEN(descriptor.standalone_value_descriptors))
-
/datum/category_item/player_setup_item/general/body/content(var/mob/user)
. = list()
@@ -386,13 +369,6 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
else
. += "
"
- if(LAZYLEN(pref.body_descriptors))
- . += "
"
- for(var/entry in pref.body_descriptors)
- var/datum/mob_descriptor/descriptor = mob_species.descriptors[entry]
- . += "| " + span_bold("[capitalize(descriptor.chargen_label)]:") + " | [descriptor.get_standalone_value_descriptor(pref.body_descriptors[entry])] | Change
|
"
- . += "
"
-
. += "" + span_bold("Preview") + " "
. += " Cycle background"
. += " [pref.equip_preview_mob & EQUIP_PREVIEW_LOADOUT ? "Hide loadout" : "Show loadout"]"
@@ -506,16 +482,6 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
pref.randomize_appearance_and_body_for()
return TOPIC_REFRESH_UPDATE_PREVIEW
- else if(href_list["change_descriptor"])
- if(mob_species.descriptors)
- var/desc_id = href_list["change_descriptor"]
- if(pref.body_descriptors[desc_id])
- var/datum/mob_descriptor/descriptor = mob_species.descriptors[desc_id]
- var/choice = tgui_input_list(user, "Please select a descriptor.", "Descriptor", descriptor.chargen_value_descriptors)
- if(choice && mob_species.descriptors[desc_id]) // Check in case they sneakily changed species.
- pref.body_descriptors[desc_id] = descriptor.chargen_value_descriptors[choice]
- return TOPIC_REFRESH
-
else if(href_list["blood_type"])
var/new_b_type = tgui_input_list(user, "Choose your character's blood-type:", "Character Preference", valid_bloodtypes)
if(new_b_type && CanUseTopic(user))
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index 8ee2f069c75..769730b675a 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -97,8 +97,6 @@ var/list/preferences_datums = list()
var/list/flavour_texts_robot = list()
var/custom_link = null
- var/list/body_descriptors = list()
-
var/med_record = ""
var/sec_record = ""
var/gen_record = ""
@@ -351,10 +349,6 @@ var/list/preferences_datums = list()
character.update_underwear()
character.update_hair()
- if(LAZYLEN(character.descriptors))
- for(var/entry in body_descriptors)
- character.descriptors[entry] = body_descriptors[entry]
-
/datum/preferences/proc/open_load_dialog(mob/user)
if(selecting_slots)
to_chat(user, span_warning("You already have a slot selection dialog open!"))
@@ -583,22 +577,6 @@ var/list/preferences_datums = list()
O.markings[M] = list("color" = body_markings[M][BP]["color"], "datum" = mark_datum, "priority" = priority, "on" = body_markings[M][BP]["on"])
character.markings_len = priority
- var/list/last_descriptors = list()
- if(islist(body_descriptors))
- last_descriptors = body_descriptors.Copy()
- body_descriptors = list()
-
- var/datum/species/mob_species = GLOB.all_species[species]
- if(LAZYLEN(mob_species.descriptors))
- for(var/entry in mob_species.descriptors)
- var/datum/mob_descriptor/descriptor = mob_species.descriptors[entry]
- if(istype(descriptor))
- if(isnull(last_descriptors[entry]))
- body_descriptors[entry] = descriptor.default_value // Species datums have initial default value.
- else
- body_descriptors[entry] = CLAMP(last_descriptors[entry], 1, LAZYLEN(descriptor.standalone_value_descriptors))
- character.descriptors = body_descriptors
-
if (copy_flavour)
character.flavor_texts["general"] = flavor_texts["general"]
character.flavor_texts["head"] = flavor_texts["head"]
diff --git a/code/modules/mob/living/carbon/human/descriptors/_descriptors.dm b/code/modules/mob/living/carbon/human/descriptors/_descriptors.dm
deleted file mode 100644
index 44e58d41aa3..00000000000
--- a/code/modules/mob/living/carbon/human/descriptors/_descriptors.dm
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- Small, mechanically supported physical customisation options.
- Also allows for per-species physical information ('his neck markings are more important than yours').
- ETA till a downstream ports this and adds boob and penis size: 2 days.
-*/
-
-/mob/living/carbon/human/proc/show_descriptors_to(var/mob/user)
- if(LAZYLEN(descriptors))
- if(user == src)
- for(var/entry in descriptors)
- var/datum/mob_descriptor/descriptor = species.descriptors[entry]
- LAZYADD(., "[descriptor.get_first_person_message_start()] [descriptor.get_standalone_value_descriptor(descriptors[entry])].")
- else
- for(var/entry in descriptors)
- var/datum/mob_descriptor/descriptor = species.descriptors[entry]
- LAZYADD(., descriptor.get_comparative_value_descriptor(descriptors[entry], user, src))
-
-/datum/mob_descriptor
- var/name // String ident.
- var/chargen_label // String ident for chargen.
- var/default_value // Initial value for this descriptor.
- var/comparison_offset = 0 // Used for examining similar properties between different species.
- var/comparative_value_descriptor_equivalent // String for looking at someone with roughly the same property.
- var/list/standalone_value_descriptors // String set for initial descriptor text.
- var/list/comparative_value_descriptors_smaller // String set for looking at someone smaller than you.
- var/list/comparative_value_descriptors_larger // String set for looking at someone larger than you.
- var/list/chargen_value_descriptors // Used for chargen selection of values in cases where there is a hidden meaning.
- var/skip_species_mention
-
-/datum/mob_descriptor/New()
- if(!chargen_label)
- chargen_label = name
- if(!chargen_value_descriptors)
- chargen_value_descriptors = list()
- for(var/i = 1 to LAZYLEN(standalone_value_descriptors))
- chargen_value_descriptors[standalone_value_descriptors[i]] = i
- default_value = CEILING(LAZYLEN(standalone_value_descriptors) * 0.5, 1)
- ..()
-
-/datum/mob_descriptor/proc/get_third_person_message_start(var/datum/gender/my_gender)
- return "They are"
-// return "[my_gender.He] [my_gender.is]" // Doesn't respect ambiguous_genders species var, can't figure out a fix at the moment
-
-/datum/mob_descriptor/proc/get_first_person_message_start()
- return "You are"
-
-/datum/mob_descriptor/proc/get_standalone_value_descriptor(var/check_value)
- if(isnull(check_value))
- check_value = default_value
- if(check_value && LAZYLEN(standalone_value_descriptors) >= check_value)
- return standalone_value_descriptors[check_value]
-
-// Build a species-specific descriptor string.
-/datum/mob_descriptor/proc/get_initial_comparison_component(var/mob/me, var/datum/gender/my_gender, var/datum/gender/other_gender, var/my_value)
- var/species_text
- if(ishuman(me) && !skip_species_mention)
- var/mob/living/carbon/human/H = me
- var/use_name = "\improper [H.species.name]"
- species_text = " for \a [use_name]"
- . = "[get_third_person_message_start(my_gender)] [get_standalone_value_descriptor(my_value)][species_text]"
-
-/datum/mob_descriptor/proc/get_secondary_comparison_component(var/datum/gender/my_gender, var/datum/gender/other_gender, var/my_value, var/comparing_value)
- var/raw_value = my_value
- my_value += comparison_offset
- var/variance = abs((my_value)-comparing_value)
- if(variance < 1)
- . = "[.], [get_comparative_value_string_equivalent(raw_value, my_gender, other_gender)]"
- else
- variance = variance / LAZYLEN(standalone_value_descriptors)
- if(my_value < comparing_value)
- . = "[.], [get_comparative_value_string_smaller(variance, my_gender, other_gender)]"
- else if(my_value > comparing_value)
- . = "[.], [get_comparative_value_string_larger(variance, my_gender, other_gender)]"
-
-/datum/mob_descriptor/proc/get_comparative_value_descriptor(var/my_value, var/mob/observer, var/mob/me)
-
- // Store our gender info for later.
- var/datum/gender/my_gender = GLOB.gender_datums[me.get_gender()]
- var/datum/gender/other_gender = GLOB.gender_datums[observer.get_gender()]
-
- . = get_initial_comparison_component(me, my_gender, other_gender, my_value)
-
- // Append the same-descriptor comparison text.
- var/comparing_value
- if(ishuman(observer))
- var/mob/living/carbon/human/human_observer = observer
- if(LAZYLEN(human_observer.descriptors) && !isnull(human_observer.species.descriptors[name]) && !isnull(human_observer.descriptors[name]))
- var/datum/mob_descriptor/obs_descriptor = human_observer.species.descriptors[name]
- comparing_value = human_observer.descriptors[name] + obs_descriptor.comparison_offset
-
- if(. && !isnull(comparing_value))
- . = "[.][get_secondary_comparison_component(my_gender, other_gender, my_value, comparing_value)]"
-
- // We're done, add a full stop.
- . = "[.]. "
-
-/datum/mob_descriptor/proc/get_comparative_value_string_equivalent(var/my_value, var/datum/gender/my_gender, var/datum/gender/other_gender)
- return comparative_value_descriptor_equivalent
-
-/datum/mob_descriptor/proc/get_comparative_value_string_smaller(var/value, var/datum/gender/my_gender, var/datum/gender/other_gender)
- var/maxval = LAZYLEN(comparative_value_descriptors_smaller)
- value = CLAMP(CEILING(value * maxval, 1), 1, maxval)
- return comparative_value_descriptors_smaller[value]
-
-/datum/mob_descriptor/proc/get_comparative_value_string_larger(var/value, var/datum/gender/my_gender, var/datum/gender/other_gender)
- var/maxval = LAZYLEN(comparative_value_descriptors_larger)
- value = CLAMP(CEILING(value * maxval, 1), 1, maxval)
- return comparative_value_descriptors_larger[value]
diff --git a/code/modules/mob/living/carbon/human/descriptors/descriptors_generic.dm b/code/modules/mob/living/carbon/human/descriptors/descriptors_generic.dm
deleted file mode 100644
index 934e7c79bcb..00000000000
--- a/code/modules/mob/living/carbon/human/descriptors/descriptors_generic.dm
+++ /dev/null
@@ -1,45 +0,0 @@
-/datum/mob_descriptor/height
- name = "height"
- standalone_value_descriptors = list(
- "very short",
- "short",
- "of average height",
- "tall",
- "very tall"
- )
- comparative_value_descriptor_equivalent = "around the same height as you"
- comparative_value_descriptors_smaller = list(
- "slightly shorter than you",
- "shorter than you",
- "much shorter than you",
- "tiny and insignificant next to you"
- )
- comparative_value_descriptors_larger = list(
- "slightly taller than you",
- "taller than you",
- "much taller than you",
- "towering over you"
- )
-
-/datum/mob_descriptor/build
- name = "build"
- comparative_value_descriptor_equivalent = "around the same build as you"
- standalone_value_descriptors = list(
- "rail thin",
- "thin",
- "of average build",
- "broad-shouldered",
- "heavily built"
- )
- comparative_value_descriptors_smaller = list(
- "a bit smaller in build than you",
- "smaller in build than you",
- "much smaller in build than you",
- "dwarfed by your height"
- )
- comparative_value_descriptors_larger = list(
- "slightly larger than you in build",
- "built larger than you",
- "built much larger than you",
- "dwarfing you"
- )
diff --git a/code/modules/mob/living/carbon/human/descriptors/descriptors_skrell.dm b/code/modules/mob/living/carbon/human/descriptors/descriptors_skrell.dm
deleted file mode 100644
index 64144304174..00000000000
--- a/code/modules/mob/living/carbon/human/descriptors/descriptors_skrell.dm
+++ /dev/null
@@ -1,27 +0,0 @@
-/datum/mob_descriptor/headtail_length
- name = "headtail length"
- chargen_label = "headtails (gender)"
- skip_species_mention = TRUE
- standalone_value_descriptors = list(
- "short",
- "long"
- )
- chargen_value_descriptors = list(
- "short (male)" = 1,
- "long (female)" = 2
- )
-
-/datum/mob_descriptor/headtail_length/get_first_person_message_start()
- . = "Your headtails are"
-
-/datum/mob_descriptor/headtail_length/get_third_person_message_start(var/datum/gender/my_gender)
- . = "[my_gender.His] headtails are"
-
-/datum/mob_descriptor/headtail_length/get_comparative_value_string_equivalent(var/my_value, var/datum/gender/my_gender, var/datum/gender/other_gender)
- . = "indicating [other_gender.he] [other_gender.is] [my_value == 1 ? "male" : "female"] like you"
-
-/datum/mob_descriptor/headtail_length/get_comparative_value_string_smaller(var/value, var/datum/gender/my_gender, var/datum/gender/other_gender)
- . = "indicating [other_gender.he] [other_gender.is] male"
-
-/datum/mob_descriptor/headtail_length/get_comparative_value_string_larger(var/value, var/datum/gender/my_gender, var/datum/gender/other_gender)
- . = "indicating [other_gender.he] [other_gender.is] female"
diff --git a/code/modules/mob/living/carbon/human/descriptors/descriptors_vox.dm b/code/modules/mob/living/carbon/human/descriptors/descriptors_vox.dm
deleted file mode 100644
index fa007fdaa56..00000000000
--- a/code/modules/mob/living/carbon/human/descriptors/descriptors_vox.dm
+++ /dev/null
@@ -1,35 +0,0 @@
-/datum/mob_descriptor/vox_markings
- name = "neck markings"
- chargen_label = "neck markings (rank)"
- skip_species_mention = TRUE
- standalone_value_descriptors = list(
- "very simplistic",
- "rather simple",
- "complex",
- "moderately complex",
- "bewilderingly complex"
- )
- chargen_value_descriptors = list(
- "servitor" = 1,
- "labourer" = 2,
- "cannon fodder" = 3,
- "raider" = 4,
- "leader" = 5
- )
- comparative_value_descriptor_equivalent = "around the same importance as yours"
- comparative_value_descriptors_smaller = list(
- "slightly less important than yours",
- "much less important than yours",
- "insignificant and beneath your notice"
- )
- comparative_value_descriptors_larger = list(
- "slightly more important than yours",
- "much more important than yours",
- "commanding your unquestioning obedience and respect"
- )
-
-/datum/mob_descriptor/vox_markings/get_first_person_message_start()
- . = "Your neck markings are"
-
-/datum/mob_descriptor/vox_markings/get_third_person_message_start(var/datum/gender/my_gender)
- . = "[my_gender.His] neck markings are"
diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm
index b3e8f468402..b43a5da4fea 100644
--- a/code/modules/mob/living/carbon/human/examine.dm
+++ b/code/modules/mob/living/carbon/human/examine.dm
@@ -454,10 +454,6 @@
if(applying_pressure)
msg += applying_pressure
- var/show_descs = show_descriptors_to(user)
- if(show_descs)
- msg += span_notice("[jointext(show_descs, " ")]")
-
if(pose)
if(!findtext(pose, regex("\[.?!]$"))) // Will be zero if the last character is not a member of [.?!]
pose = addtext(pose,".") //Makes sure all emotes end with a period.
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 9915e1017d3..f36597f2e8b 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -1321,15 +1321,6 @@
pixel_y = default_pixel_y
center_offset = species.center_offset
- if(LAZYLEN(descriptors))
- descriptors = null
-
- if(LAZYLEN(species.descriptors))
- descriptors = list()
- for(var/desctype in species.descriptors)
- var/datum/mob_descriptor/descriptor = species.descriptors[desctype]
- descriptors[desctype] = descriptor.default_value
-
if(vessel)
initialize_vessel()
diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm
index 0e7cad06424..42ca30d9cda 100644
--- a/code/modules/mob/living/carbon/human/species/species.dm
+++ b/code/modules/mob/living/carbon/human/species/species.dm
@@ -302,8 +302,6 @@
var/pass_flags = 0
- var/list/descriptors = list()
-
//This is used in character setup preview generation (prefences_setup.dm) and human mob
//rendering (update_icons.dm)
var/color_mult = 0
@@ -385,15 +383,6 @@
else
hud = new()
- // Prep the descriptors for the species
- if(LAZYLEN(descriptors))
- var/list/descriptor_datums = list()
- for(var/desctype in descriptors)
- var/datum/mob_descriptor/descriptor = new desctype
- descriptor.comparison_offset = descriptors[desctype]
- descriptor_datums[descriptor.name] = descriptor
- descriptors = descriptor_datums
-
//If the species has eyes, they are the default vision organ
if(!vision_organ && has_organ[O_EYES])
vision_organ = O_EYES
diff --git a/code/modules/resleeving/infocore_records.dm b/code/modules/resleeving/infocore_records.dm
index ef5832cebcb..4f8e1cdeea3 100644
--- a/code/modules/resleeving/infocore_records.dm
+++ b/code/modules/resleeving/infocore_records.dm
@@ -264,8 +264,6 @@
if(!mydna.dna.real_name)
mydna.dna.real_name = backup_name
H.real_name = mydna.dna.real_name
- H.gender = mydna.gender
- H.descriptors = mydna.body_descriptors
for(var/datum/language/L in mydna.languages)
H.add_language(L.name)
H.suiciding = 0
diff --git a/vorestation.dme b/vorestation.dme
index 0314b891d3e..be4654a7917 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -3179,10 +3179,6 @@
#include "code\modules\mob\living\carbon\human\update_icons.dm"
#include "code\modules\mob\living\carbon\human\ai_controlled\ai_controlled.dm"
#include "code\modules\mob\living\carbon\human\ai_controlled\ai_controlled_vr.dm"
-#include "code\modules\mob\living\carbon\human\descriptors\_descriptors.dm"
-#include "code\modules\mob\living\carbon\human\descriptors\descriptors_generic.dm"
-#include "code\modules\mob\living\carbon\human\descriptors\descriptors_skrell.dm"
-#include "code\modules\mob\living\carbon\human\descriptors\descriptors_vox.dm"
#include "code\modules\mob\living\carbon\human\species\species.dm"
#include "code\modules\mob\living\carbon\human\species\species_attack.dm"
#include "code\modules\mob\living\carbon\human\species\species_getters.dm"
|