From 9167156db5f6c11ceabeb23bed0615b7a03a7670 Mon Sep 17 00:00:00 2001 From: Neerti Date: Thu, 9 Mar 2017 02:44:23 -0500 Subject: [PATCH] Skrell/Tesh Examination Change Examining a Skrell/Teshari while not a member of the same species will obscure the Skrell/Teshari's gender, to better reflect lore. Ghosts, and silicons (AIs/borgs) are exempt from this. --- code/modules/mob/living/carbon/human/examine.dm | 14 ++++++++++++++ .../mob/living/carbon/human/species/species.dm | 1 + .../living/carbon/human/species/station/seromi.dm | 2 ++ .../living/carbon/human/species/station/station.dm | 2 ++ 4 files changed, 19 insertions(+) diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index f9a18dbca6d..90f80ed267f 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -82,6 +82,20 @@ var/datum/gender/T = gender_datums[get_gender()] if(skipjumpsuit && skipface) //big suits/masks/helmets make it hard to tell their gender T = gender_datums[PLURAL] + + else if(species && species.ambiguous_genders) + var/can_detect_gender = FALSE + if(isobserver(user)) // Ghosts are all knowing. + can_detect_gender = TRUE + if(issilicon(user)) // Borgs are too because science. + can_detect_gender = TRUE + else if(ishuman(user)) + var/mob/living/carbon/human/H = user + if(H.species && istype(species, H.species)) + can_detect_gender = TRUE + + if(!can_detect_gender) + T = gender_datums[PLURAL] // Species with ambiguous_genders will not show their true gender upon examine if the examiner is not also the same species. else if(icon) msg += "\icon[icon] " //fucking BYOND: this should stop dreamseeker crashing if we -somehow- examine somebody before their icon is generated diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index a8cb2224368..b6f69959d9a 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -156,6 +156,7 @@ ) var/list/genders = list(MALE, FEMALE) + var/ambiguous_genders = FALSE // If true, people examining a member of this species whom are not also the same species will see them as gender neutral. Because aliens. // Bump vars var/bump_flag = HUMAN // What are we considered to be when bumped? 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 df2bbd8cc86..120400413b3 100644 --- a/code/modules/mob/living/carbon/human/species/station/seromi.dm +++ b/code/modules/mob/living/carbon/human/species/station/seromi.dm @@ -38,6 +38,8 @@ blood_volume = 400 hunger_factor = 0.2 + ambiguous_genders = TRUE + spawn_flags = SPECIES_CAN_JOIN | SPECIES_IS_WHITELISTED appearance_flags = HAS_HAIR_COLOR | HAS_SKIN_COLOR | HAS_EYE_COLOR bump_flag = MONKEY 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 88c696103d1..868c2d2f687 100644 --- a/code/modules/mob/living/carbon/human/species/station/station.dm +++ b/code/modules/mob/living/carbon/human/species/station/station.dm @@ -162,6 +162,8 @@ darksight = 4 + ambiguous_genders = TRUE + spawn_flags = SPECIES_CAN_JOIN | SPECIES_IS_WHITELISTED appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR