From af1d624a992bd1b29e7387c696a10383893df2a1 Mon Sep 17 00:00:00 2001
From: CHOMPStation2StaffMirrorBot
<94713762+CHOMPStation2StaffMirrorBot@users.noreply.github.com>
Date: Fri, 28 Mar 2025 09:29:18 -0700
Subject: [PATCH] [MIRROR] Changes how pronouns are selected on character setup
(#10541)
Co-authored-by: TheToaster98 <51209769+TheToaster98@users.noreply.github.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
---
code/_helpers/global_lists.dm | 14 ++++++++++++++
code/game/machinery/adv_med.dm | 2 +-
code/game/objects/items/devices/scanners/health.dm | 2 +-
.../client/preference_setup/general/01_basic.dm | 6 +++---
.../modules/organs/internal/malignant/malignant.dm | 13 +++++++------
5 files changed, 26 insertions(+), 11 deletions(-)
diff --git a/code/_helpers/global_lists.dm b/code/_helpers/global_lists.dm
index 67f77063c8..aa3f239bdc 100644
--- a/code/_helpers/global_lists.dm
+++ b/code/_helpers/global_lists.dm
@@ -22,6 +22,20 @@ var/global/list/joblist = list() //list of all jobstypes, minus borg and AI
#define all_genders_define_list list(MALE,FEMALE,PLURAL,NEUTER,HERM) //VOREStaton Edit
#define all_genders_text_list list("Male","Female","Plural","Neuter","Herm") //VOREStation Edit
+#define pronoun_set_to_genders list(\
+ "He/Him" = MALE,\
+ "She/Her" = FEMALE,\
+ "It/Its" = NEUTER,\
+ "They/Them" = PLURAL,\
+ "Shi/Hir" = HERM\
+ )
+#define genders_to_pronoun_set list(\
+ MALE = "He/Him",\
+ FEMALE = "She/Her",\
+ NEUTER = "It/Its",\
+ PLURAL = "They/Them",\
+ HERM = "Shi/Hir"\
+ )
var/list/mannequins_
diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm
index fab37194a6..f1b90b0fba 100644
--- a/code/game/machinery/adv_med.dm
+++ b/code/game/machinery/adv_med.dm
@@ -538,7 +538,7 @@
// CHOMPedit begin - malignant organs
if(istype(i, /obj/item/organ/internal/malignant))
- var/obj/item/organ/internal/ORG = occupant.organs_by_name[i.parent_organ]
+ var/obj/item/organ/external/ORG = occupant.organs_by_name[i.parent_organ]
hasMalignants += span_red(" -[ORG.name]") + "
"
// CHOMPedit end
diff --git a/code/game/objects/items/devices/scanners/health.dm b/code/game/objects/items/devices/scanners/health.dm
index a72e9d8499..0a90f241c5 100644
--- a/code/game/objects/items/devices/scanners/health.dm
+++ b/code/game/objects/items/devices/scanners/health.dm
@@ -304,7 +304,7 @@
dat += "
"
else if(istype(io,/obj/item/organ/internal/malignant))
if(advscan >= 2)
- var/obj/item/organ/internal/ORG = H.organs_by_name[io.parent_organ]
+ var/obj/item/organ/external/ORG = H.organs_by_name[io.parent_organ]
dat += span_warning("Anatomical irregularities detected in subject's [ORG.name].")
dat += "
"
else
diff --git a/code/modules/client/preference_setup/general/01_basic.dm b/code/modules/client/preference_setup/general/01_basic.dm
index e9a980a77a..1894b253bd 100644
--- a/code/modules/client/preference_setup/general/01_basic.dm
+++ b/code/modules/client/preference_setup/general/01_basic.dm
@@ -61,7 +61,7 @@
. += "(Clear)"
. += "
"
. += span_bold("Biological Sex:") + " [gender2text(pref.biological_gender)]
"
- . += span_bold("Pronouns:") + " [gender2text(pref.identifying_gender)]
"
+ . += span_bold("Pronouns:") + " [genders_to_pronoun_set[pref.identifying_gender]]
"
. += span_bold("Age:") + " [pref.read_preference(/datum/preference/numeric/human/age)] Birthday: [pref.read_preference(/datum/preference/numeric/human/bday_month)]/[pref.read_preference(/datum/preference/numeric/human/bday_day)] - Announce?: [pref.read_preference(/datum/preference/toggle/human/bday_announce) ? "Yes" : "Disabled"]
" //ChompEDIT - DISABLE the announcement
. += span_bold("Spawn Point:") + " [pref.read_preference(/datum/preference/choiced/living/spawnpoint)]
"
if(CONFIG_GET(flag/allow_metadata))
@@ -115,9 +115,9 @@
return TOPIC_REFRESH_UPDATE_PREVIEW
else if(href_list["id_gender"])
- var/new_gender = tgui_input_list(user, "Choose your character's pronouns:", "Character Preference", all_genders_define_list, pref.identifying_gender)
+ var/new_gender = tgui_input_list(user, "Choose your character's pronouns:", "Character Preference", pronoun_set_to_genders, genders_to_pronoun_set[pref.identifying_gender])
if(new_gender && CanUseTopic(user))
- pref.identifying_gender = new_gender
+ pref.identifying_gender = pronoun_set_to_genders[new_gender]
return TOPIC_REFRESH
else if(href_list["age"])
diff --git a/modular_chomp/code/modules/organs/internal/malignant/malignant.dm b/modular_chomp/code/modules/organs/internal/malignant/malignant.dm
index 59cf145511..f11c3915a0 100644
--- a/modular_chomp/code/modules/organs/internal/malignant/malignant.dm
+++ b/modular_chomp/code/modules/organs/internal/malignant/malignant.dm
@@ -22,9 +22,10 @@
while(++i < 10)
// done here, because New() does all the setup for placing the organ...
// attempt to select a valid exterior organ that isn't synthetic!
- parent_organ = pick(validBPspawns)
- if(isliving(owner))
- var/obj/item/organ/checklimb = owner.organs_by_name[parent_organ]
+ if(isliving(loc))
+ parent_organ = pick(validBPspawns)
+ var/mob/living/L = loc
+ var/obj/item/organ/checklimb = L.organs_by_name[parent_organ]
if(checklimb)
// valid limb, check if organic!
if(checklimb.status == 0 && checklimb.robotic < ORGAN_ROBOT)
@@ -155,7 +156,7 @@
owner.AdjustWeakened(3 * base_mult)
if(prob(75))
owner.AdjustConfused(4 * base_mult)
- var/obj/item/organ/O = owner.organs_by_name[parent_organ]
+ var/obj/item/organ/external/O = owner.organs_by_name[parent_organ]
if(damage >= min_broken_damage)
owner.custom_pain(span_warning("You feel a painful sensation in your [O.name]."),damage,TRUE)
owner.AdjustBlinded(6 * base_mult)
@@ -303,7 +304,7 @@
owner.Confuse(30)
if(prob(2))
- var/obj/item/organ/O = owner.organs_by_name[parent_organ]
+ var/obj/item/organ/external/O = owner.organs_by_name[parent_organ]
if(stage_progress > 200)
owner.custom_pain(span_warning("You feel bloated. The pain in your [O.name] is agonizing."),20,TRUE)
owner.automatic_custom_emote(VISIBLE_MESSAGE, "winces slightly.", check_stat = TRUE)
@@ -455,7 +456,7 @@
supply_conversion_value = initial(supply_conversion_value) + ((thalers * SSsupply.points_per_money))
if(prob(2))
- var/obj/item/organ/O = owner.organs_by_name[parent_organ]
+ var/obj/item/organ/external/O = owner.organs_by_name[parent_organ]
if(thalers < 100)
pass()
else if(thalers < 500)