mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-04 14:01:22 +00:00
* adds a 'theirs' pronoun (#65056) Greniza Contributor Greniza commented yesterday • About The Pull Request Adds proc/p_theirs() to pronouns.dm Why It's Good For The Game Streamlines finding the "theirs" pronoun, which is similar to "their", but has different outcome for feminine and plural pronounds. If you were referring to this pull request, then you would say "Oh, it's Greniza's, it's theirs"- but, not knowing my gender, you have no way of being certain you've got the right thing, and using "[Greniza.p_their()]s" could result in something like "hiss" or "itss"- A coding-career-ending blunder! Now you can call Greniza.p_theirs() to nice and easily use an in-string argument. cl code: adds p_theirs() proc /cl * Adds a 'theirs' pronoun Co-authored-by: Greniza <61635418+Greniza@users.noreply.github.com>
396 lines
9.0 KiB
Plaintext
396 lines
9.0 KiB
Plaintext
//pronoun procs, for getting pronouns without using the text macros that only work in certain positions
|
|
//datums don't have gender, but most of their subtypes do!
|
|
/datum/proc/p_they(capitalized, temp_gender)
|
|
. = "it"
|
|
if(capitalized)
|
|
. = capitalize(.)
|
|
|
|
/datum/proc/p_their(capitalized, temp_gender)
|
|
. = "its"
|
|
if(capitalized)
|
|
. = capitalize(.)
|
|
|
|
/datum/proc/p_theirs(capitalized, temp_gender)
|
|
. = "its"
|
|
if(capitalized)
|
|
. = capitalize(.)
|
|
|
|
/datum/proc/p_them(capitalized, temp_gender)
|
|
. = "it"
|
|
if(capitalized)
|
|
. = capitalize(.)
|
|
|
|
/datum/proc/p_have(temp_gender)
|
|
. = "has"
|
|
|
|
/datum/proc/p_are(temp_gender)
|
|
. = "is"
|
|
|
|
/datum/proc/p_were(temp_gender)
|
|
. = "was"
|
|
|
|
/datum/proc/p_do(temp_gender)
|
|
. = "does"
|
|
|
|
/datum/proc/p_theyve(capitalized, temp_gender)
|
|
. = p_they(capitalized, temp_gender) + "'" + copytext_char(p_have(temp_gender), 3)
|
|
|
|
/datum/proc/p_theyre(capitalized, temp_gender)
|
|
. = p_they(capitalized, temp_gender) + "'" + copytext_char(p_are(temp_gender), 2)
|
|
|
|
/datum/proc/p_s(temp_gender) //is this a descriptive proc name, or what?
|
|
. = "s"
|
|
|
|
/datum/proc/p_es(temp_gender)
|
|
. = "es"
|
|
|
|
/datum/proc/plural_s(pluralize)
|
|
switch(copytext_char(pluralize, -2))
|
|
if ("ss")
|
|
. = "es"
|
|
if ("sh")
|
|
. = "es"
|
|
if ("ch")
|
|
. = "es"
|
|
else
|
|
switch(copytext_char(pluralize, -1))
|
|
if("s", "x", "z")
|
|
. = "es"
|
|
else
|
|
. = "s"
|
|
|
|
//like clients, which do have gender.
|
|
/client/p_they(capitalized, temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
. = "they"
|
|
switch(temp_gender)
|
|
if(FEMALE)
|
|
. = "she"
|
|
if(MALE)
|
|
. = "he"
|
|
if(capitalized)
|
|
. = capitalize(.)
|
|
|
|
/client/p_their(capitalized, temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
. = "their"
|
|
switch(temp_gender)
|
|
if(FEMALE)
|
|
. = "her"
|
|
if(MALE)
|
|
. = "his"
|
|
if(capitalized)
|
|
. = capitalize(.)
|
|
|
|
/client/p_theirs(capitalized, temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
. = "theirs"
|
|
switch(temp_gender)
|
|
if(FEMALE)
|
|
. = "hers"
|
|
if(MALE)
|
|
. = "his"
|
|
if(capitalized)
|
|
. = capitalize(.)
|
|
|
|
/client/p_them(capitalized, temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
. = "them"
|
|
switch(temp_gender)
|
|
if(FEMALE)
|
|
. = "her"
|
|
if(MALE)
|
|
. = "him"
|
|
if(capitalized)
|
|
. = capitalize(.)
|
|
|
|
/client/p_have(temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
. = "has"
|
|
if(temp_gender == PLURAL || temp_gender == NEUTER)
|
|
. = "have"
|
|
|
|
/client/p_are(temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
. = "is"
|
|
if(temp_gender == PLURAL || temp_gender == NEUTER)
|
|
. = "are"
|
|
|
|
/client/p_were(temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
. = "was"
|
|
if(temp_gender == PLURAL || temp_gender == NEUTER)
|
|
. = "were"
|
|
|
|
/client/p_do(temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
. = "does"
|
|
if(temp_gender == PLURAL || temp_gender == NEUTER)
|
|
. = "do"
|
|
|
|
/client/p_s(temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
if(temp_gender != PLURAL && temp_gender != NEUTER)
|
|
. = "s"
|
|
|
|
/client/p_es(temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
if(temp_gender != PLURAL && temp_gender != NEUTER)
|
|
. = "es"
|
|
|
|
//mobs(and atoms but atoms don't really matter write your own proc overrides) also have gender!
|
|
/mob/p_they(capitalized, temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
. = "it"
|
|
switch(temp_gender)
|
|
if(FEMALE)
|
|
. = "she"
|
|
if(MALE)
|
|
. = "he"
|
|
if(PLURAL)
|
|
. = "they"
|
|
if(capitalized)
|
|
. = capitalize(.)
|
|
|
|
/mob/p_their(capitalized, temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
. = "its"
|
|
switch(temp_gender)
|
|
if(FEMALE)
|
|
. = "her"
|
|
if(MALE)
|
|
. = "his"
|
|
if(PLURAL)
|
|
. = "their"
|
|
if(capitalized)
|
|
. = capitalize(.)
|
|
|
|
/mob/p_theirs(capitalized, temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
. = "its"
|
|
switch(temp_gender)
|
|
if(FEMALE)
|
|
. = "hers"
|
|
if(MALE)
|
|
. = "his"
|
|
if(PLURAL)
|
|
. = "theirs"
|
|
if(capitalized)
|
|
. = capitalize(.)
|
|
|
|
/mob/p_them(capitalized, temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
. = "it"
|
|
switch(temp_gender)
|
|
if(FEMALE)
|
|
. = "her"
|
|
if(MALE)
|
|
. = "him"
|
|
if(PLURAL)
|
|
. = "them"
|
|
if(capitalized)
|
|
. = capitalize(.)
|
|
|
|
/mob/p_have(temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
. = "has"
|
|
if(temp_gender == PLURAL)
|
|
. = "have"
|
|
|
|
/mob/p_are(temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
. = "is"
|
|
if(temp_gender == PLURAL)
|
|
. = "are"
|
|
|
|
/mob/p_were(temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
. = "was"
|
|
if(temp_gender == PLURAL)
|
|
. = "were"
|
|
|
|
/mob/p_do(temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
. = "does"
|
|
if(temp_gender == PLURAL)
|
|
. = "do"
|
|
|
|
/mob/p_s(temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
if(temp_gender != PLURAL)
|
|
. = "s"
|
|
|
|
/mob/p_es(temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
if(temp_gender != PLURAL)
|
|
. = "es"
|
|
|
|
//humans need special handling, because they can have their gender hidden
|
|
/mob/living/carbon/human/p_they(capitalized, temp_gender)
|
|
var/obscured = check_obscured_slots()
|
|
var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE))
|
|
if((obscured & ITEM_SLOT_ICLOTHING) && skipface)
|
|
temp_gender = PLURAL
|
|
return ..()
|
|
|
|
/mob/living/carbon/human/p_their(capitalized, temp_gender)
|
|
var/obscured = check_obscured_slots()
|
|
var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE))
|
|
if((obscured & ITEM_SLOT_ICLOTHING) && skipface)
|
|
temp_gender = PLURAL
|
|
return ..()
|
|
|
|
/mob/living/carbon/human/p_theirs(capitalized, temp_gender)
|
|
var/obscured = check_obscured_slots()
|
|
var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE))
|
|
if((obscured & ITEM_SLOT_ICLOTHING) && skipface)
|
|
temp_gender = PLURAL
|
|
return ..()
|
|
|
|
/mob/living/carbon/human/p_them(capitalized, temp_gender)
|
|
var/obscured = check_obscured_slots()
|
|
var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE))
|
|
if((obscured & ITEM_SLOT_ICLOTHING) && skipface)
|
|
temp_gender = PLURAL
|
|
return ..()
|
|
|
|
/mob/living/carbon/human/p_have(temp_gender)
|
|
var/obscured = check_obscured_slots()
|
|
var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE))
|
|
if((obscured & ITEM_SLOT_ICLOTHING) && skipface)
|
|
temp_gender = PLURAL
|
|
return ..()
|
|
|
|
/mob/living/carbon/human/p_are(temp_gender)
|
|
var/obscured = check_obscured_slots()
|
|
var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE))
|
|
if((obscured & ITEM_SLOT_ICLOTHING) && skipface)
|
|
temp_gender = PLURAL
|
|
return ..()
|
|
|
|
/mob/living/carbon/human/p_were(temp_gender)
|
|
var/obscured = check_obscured_slots()
|
|
var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE))
|
|
if((obscured & ITEM_SLOT_ICLOTHING) && skipface)
|
|
temp_gender = PLURAL
|
|
return ..()
|
|
|
|
/mob/living/carbon/human/p_do(temp_gender)
|
|
var/obscured = check_obscured_slots()
|
|
var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE))
|
|
if((obscured & ITEM_SLOT_ICLOTHING) && skipface)
|
|
temp_gender = PLURAL
|
|
return ..()
|
|
|
|
/mob/living/carbon/human/p_s(temp_gender)
|
|
var/obscured = check_obscured_slots()
|
|
var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE))
|
|
if((obscured & ITEM_SLOT_ICLOTHING) && skipface)
|
|
temp_gender = PLURAL
|
|
return ..()
|
|
|
|
/mob/living/carbon/human/p_es(temp_gender)
|
|
var/obscured = check_obscured_slots()
|
|
var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE))
|
|
if((obscured & ITEM_SLOT_ICLOTHING) && skipface)
|
|
temp_gender = PLURAL
|
|
return ..()
|
|
|
|
|
|
//clothing need special handling due to pairs of items, ie gloves vs a singular glove, shoes, ect.
|
|
/obj/item/clothing/p_they(capitalized, temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
. = "it"
|
|
if(temp_gender == PLURAL)
|
|
. = "they"
|
|
if(capitalized)
|
|
. = capitalize(.)
|
|
|
|
/obj/item/clothing/p_their(capitalized, temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
. = "its"
|
|
if(temp_gender == PLURAL)
|
|
. = "their"
|
|
if(capitalized)
|
|
. = capitalize(.)
|
|
|
|
/obj/item/clothing/p_theirs(capitalized, temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
. = "its"
|
|
if(temp_gender == PLURAL)
|
|
. = "theirs"
|
|
if(capitalized)
|
|
. = capitalize(.)
|
|
|
|
/obj/item/clothing/p_them(capitalized, temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
. = "it"
|
|
if(temp_gender == PLURAL)
|
|
. = "them"
|
|
if(capitalized)
|
|
. = capitalize(.)
|
|
|
|
/obj/item/clothing/p_have(temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
. = "has"
|
|
if(temp_gender == PLURAL)
|
|
. = "have"
|
|
|
|
/obj/item/clothing/p_are(temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
. = "is"
|
|
if(temp_gender == PLURAL)
|
|
. = "are"
|
|
|
|
/obj/item/clothing/p_were(temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
. = "was"
|
|
if(temp_gender == PLURAL)
|
|
. = "were"
|
|
|
|
/obj/item/clothing/p_do(temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
. = "does"
|
|
if(temp_gender == PLURAL)
|
|
. = "do"
|
|
|
|
/obj/item/clothing/p_s(temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
if(temp_gender != PLURAL)
|
|
. = "s"
|
|
|
|
/obj/item/clothing/p_es(temp_gender)
|
|
if(!temp_gender)
|
|
temp_gender = gender
|
|
if(temp_gender != PLURAL)
|
|
. = "es"
|