From f1fd48c33e40ea8bfe486fd02fed3006c0bdb16f Mon Sep 17 00:00:00 2001 From: Geeves Date: Mon, 15 Mar 2021 22:36:36 +0200 Subject: [PATCH] Untagged Shell Records (#11374) --- code/datums/records.dm | 2 +- code/modules/mob/living/carbon/human/human.dm | 7 ++----- code/modules/mob/living/carbon/human/species/species.dm | 6 ++++++ .../carbon/human/species/station/ipc/ipc_subspecies.dm | 8 ++++++++ html/changelogs/geeves-shell_hell.yml | 6 ++++++ 5 files changed, 23 insertions(+), 6 deletions(-) create mode 100644 html/changelogs/geeves-shell_hell.yml diff --git a/code/datums/records.dm b/code/datums/records.dm index 73aa506357d..d82abadc18f 100644 --- a/code/datums/records.dm +++ b/code/datums/records.dm @@ -148,7 +148,7 @@ age = H.age fingerprint = md5(H.dna.uni_identity) sex = H.gender - species = H.get_species() + species = H.get_species(FALSE, TRUE) citizenship = H.citizenship employer = H.employer_faction religion = SSrecords.get_religion_record_name(H.religion) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 81c8c1349fc..e02fffac21c 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -862,13 +862,10 @@ dna.check_integrity(src) return -/mob/living/carbon/human/get_species(var/reference = 0) +/mob/living/carbon/human/get_species(var/reference = FALSE, var/records = FALSE) if(!species) set_species() - if (reference) - return species - else - return species.name + return species.get_species(reference, src, records) /mob/living/carbon/human/proc/play_xylophone() if(!src.xylophone) diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index b9b5089f2d8..6720397e6e0 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -661,3 +661,9 @@ /datum/species/proc/is_naturally_insulated() return FALSE + +// the records var is so that untagged shells can appear human +/datum/species/proc/get_species(var/reference, var/mob/living/carbon/human/H, var/records) + if(reference) + return src + return name \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/species/station/ipc/ipc_subspecies.dm b/code/modules/mob/living/carbon/human/species/station/ipc/ipc_subspecies.dm index 760d9da9700..17340ec34cd 100644 --- a/code/modules/mob/living/carbon/human/species/station/ipc/ipc_subspecies.dm +++ b/code/modules/mob/living/carbon/human/species/station/ipc/ipc_subspecies.dm @@ -78,6 +78,14 @@ allowed_accents = list(ACCENT_CETI, ACCENT_GIBSON, ACCENT_SOL, ACCENT_COC, ACCENT_ERIDANI, ACCENT_ERIDANIDREG, ACCENT_ELYRA, ACCENT_KONYAN, ACCENT_JUPITER, ACCENT_MARTIAN, ACCENT_LUNA, ACCENT_HIMEO, ACCENT_VENUS, ACCENT_VENUSJIN, ACCENT_PHONG, ACCENT_SILVERSUN, ACCENT_TTS, ACCENT_EUROPA, ACCENT_EARTH) +/datum/species/machine/shell/get_species(var/reference, var/mob/living/carbon/human/H, var/records) + if(reference) + return src + // it's illegal for shells in Tau Ceti space to not have tags, so their records would have to be falsified + if(records && !H.internal_organs_by_name[BP_IPCTAG]) + return "Human" + return name + /datum/species/machine/shell/get_light_color() return diff --git a/html/changelogs/geeves-shell_hell.yml b/html/changelogs/geeves-shell_hell.yml new file mode 100644 index 00000000000..464165ecd29 --- /dev/null +++ b/html/changelogs/geeves-shell_hell.yml @@ -0,0 +1,6 @@ +author: Geeves + +delete-after: True + +changes: + - tweak: "Untagged shells now appear as Human in their employment records." \ No newline at end of file