mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-19 12:05:59 +01:00
[MIRROR] Adds p_They (and friends) for capitalized pronoun helpers [MDB IGNORE] (#22555)
* Adds p_They (and friends) for capitalized pronoun helpers * Fixes modular pronouns * Merge conflict * Update spank_related.dm --------- Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com> Co-authored-by: Bloop <vinylspiders@gmail.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
This commit is contained in:
+128
-135
@@ -1,259 +1,261 @@
|
||||
//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_they(temp_gender)
|
||||
return "it"
|
||||
|
||||
/datum/proc/p_their(capitalized, temp_gender)
|
||||
. = "its"
|
||||
if(capitalized)
|
||||
. = capitalize(.)
|
||||
/datum/proc/p_They(temp_gender)
|
||||
return capitalize(p_they(temp_gender))
|
||||
|
||||
/datum/proc/p_theirs(capitalized, temp_gender)
|
||||
. = "its"
|
||||
if(capitalized)
|
||||
. = capitalize(.)
|
||||
/datum/proc/p_their(temp_gender)
|
||||
return "its"
|
||||
|
||||
/datum/proc/p_them(capitalized, temp_gender)
|
||||
. = "it"
|
||||
if(capitalized)
|
||||
. = capitalize(.)
|
||||
/datum/proc/p_Their(temp_gender)
|
||||
return capitalize(p_their(temp_gender))
|
||||
|
||||
/datum/proc/p_theirs(temp_gender)
|
||||
return "its"
|
||||
|
||||
/datum/proc/p_Theirs(temp_gender)
|
||||
return capitalize(p_theirs(temp_gender))
|
||||
|
||||
/datum/proc/p_them(temp_gender)
|
||||
return "it"
|
||||
|
||||
/datum/proc/p_Them(temp_gender)
|
||||
return capitalize(p_them(temp_gender))
|
||||
|
||||
/datum/proc/p_have(temp_gender)
|
||||
. = "has"
|
||||
return "has"
|
||||
|
||||
/datum/proc/p_are(temp_gender)
|
||||
. = "is"
|
||||
return "is"
|
||||
|
||||
/datum/proc/p_were(temp_gender)
|
||||
. = "was"
|
||||
return "was"
|
||||
|
||||
/datum/proc/p_do(temp_gender)
|
||||
. = "does"
|
||||
return "does"
|
||||
|
||||
/datum/proc/p_theyve(capitalized, temp_gender)
|
||||
. = p_they(capitalized, temp_gender) + "'" + copytext_char(p_have(temp_gender), 3)
|
||||
/datum/proc/p_theyve(temp_gender)
|
||||
return p_they(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_Theyve(temp_gender)
|
||||
return p_They(temp_gender) + "'" + copytext_char(p_have(temp_gender), 3)
|
||||
|
||||
/datum/proc/p_theyre(temp_gender)
|
||||
return p_they(temp_gender) + "'" + copytext_char(p_are(temp_gender), 2)
|
||||
|
||||
/datum/proc/p_Theyre(temp_gender)
|
||||
return p_They(temp_gender) + "'" + copytext_char(p_are(temp_gender), 2)
|
||||
|
||||
/datum/proc/p_s(temp_gender) //is this a descriptive proc name, or what?
|
||||
. = "s"
|
||||
return "s"
|
||||
|
||||
/datum/proc/p_es(temp_gender)
|
||||
. = "es"
|
||||
return "es"
|
||||
|
||||
/datum/proc/plural_s(pluralize)
|
||||
switch(copytext_char(pluralize, -2))
|
||||
if ("ss")
|
||||
. = "es"
|
||||
return "es"
|
||||
if ("sh")
|
||||
. = "es"
|
||||
return "es"
|
||||
if ("ch")
|
||||
. = "es"
|
||||
return "es"
|
||||
else
|
||||
switch(copytext_char(pluralize, -1))
|
||||
if("s", "x", "z")
|
||||
. = "es"
|
||||
return "es"
|
||||
else
|
||||
. = "s"
|
||||
return "s"
|
||||
|
||||
//like clients, which do have gender.
|
||||
/client/p_they(capitalized, temp_gender)
|
||||
/client/p_they(temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
. = "they"
|
||||
switch(temp_gender)
|
||||
if(FEMALE)
|
||||
. = "she"
|
||||
return "she"
|
||||
if(MALE)
|
||||
. = "he"
|
||||
if(capitalized)
|
||||
. = capitalize(.)
|
||||
return "he"
|
||||
else
|
||||
return "they"
|
||||
|
||||
/client/p_their(capitalized, temp_gender)
|
||||
/client/p_their(temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
. = "their"
|
||||
switch(temp_gender)
|
||||
if(FEMALE)
|
||||
. = "her"
|
||||
return "her"
|
||||
if(MALE)
|
||||
. = "his"
|
||||
if(capitalized)
|
||||
. = capitalize(.)
|
||||
return "his"
|
||||
else
|
||||
return "their"
|
||||
|
||||
/client/p_theirs(capitalized, temp_gender)
|
||||
/client/p_theirs(temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
. = "theirs"
|
||||
switch(temp_gender)
|
||||
if(FEMALE)
|
||||
. = "hers"
|
||||
return "hers"
|
||||
if(MALE)
|
||||
. = "his"
|
||||
if(capitalized)
|
||||
. = capitalize(.)
|
||||
return "his"
|
||||
else
|
||||
return "theirs"
|
||||
|
||||
/client/p_them(capitalized, temp_gender)
|
||||
/client/p_them(temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
. = "them"
|
||||
switch(temp_gender)
|
||||
if(FEMALE)
|
||||
. = "her"
|
||||
return "her"
|
||||
if(MALE)
|
||||
. = "him"
|
||||
if(capitalized)
|
||||
. = capitalize(.)
|
||||
return "him"
|
||||
else
|
||||
return "them"
|
||||
|
||||
/client/p_have(temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
. = "has"
|
||||
if(temp_gender == PLURAL || temp_gender == NEUTER)
|
||||
. = "have"
|
||||
return "have"
|
||||
return "has"
|
||||
|
||||
/client/p_are(temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
. = "is"
|
||||
if(temp_gender == PLURAL || temp_gender == NEUTER)
|
||||
. = "are"
|
||||
return "are"
|
||||
return "is"
|
||||
|
||||
/client/p_were(temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
. = "was"
|
||||
if(temp_gender == PLURAL || temp_gender == NEUTER)
|
||||
. = "were"
|
||||
return "were"
|
||||
return "was"
|
||||
|
||||
/client/p_do(temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
. = "does"
|
||||
if(temp_gender == PLURAL || temp_gender == NEUTER)
|
||||
. = "do"
|
||||
return "do"
|
||||
return "does"
|
||||
|
||||
/client/p_s(temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
if(temp_gender != PLURAL && temp_gender != NEUTER)
|
||||
. = "s"
|
||||
return "s"
|
||||
|
||||
/client/p_es(temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
if(temp_gender != PLURAL && temp_gender != NEUTER)
|
||||
. = "es"
|
||||
return "es"
|
||||
|
||||
//mobs(and atoms but atoms don't really matter write your own proc overrides) also have gender!
|
||||
/mob/p_they(capitalized, temp_gender)
|
||||
/mob/p_they(temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
. = "it"
|
||||
switch(temp_gender)
|
||||
if(FEMALE)
|
||||
. = "she"
|
||||
return "she"
|
||||
if(MALE)
|
||||
. = "he"
|
||||
return "he"
|
||||
if(PLURAL)
|
||||
. = "they"
|
||||
if(capitalized)
|
||||
. = capitalize(.)
|
||||
return "they"
|
||||
else
|
||||
return "it"
|
||||
|
||||
/mob/p_their(capitalized, temp_gender)
|
||||
/mob/p_their(temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
. = "its"
|
||||
switch(temp_gender)
|
||||
if(FEMALE)
|
||||
. = "her"
|
||||
return "her"
|
||||
if(MALE)
|
||||
. = "his"
|
||||
return "his"
|
||||
if(PLURAL)
|
||||
. = "their"
|
||||
if(capitalized)
|
||||
. = capitalize(.)
|
||||
return "their"
|
||||
else
|
||||
return "its"
|
||||
|
||||
/mob/p_theirs(capitalized, temp_gender)
|
||||
/mob/p_theirs(temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
. = "its"
|
||||
switch(temp_gender)
|
||||
if(FEMALE)
|
||||
. = "hers"
|
||||
return "hers"
|
||||
if(MALE)
|
||||
. = "his"
|
||||
return "his"
|
||||
if(PLURAL)
|
||||
. = "theirs"
|
||||
if(capitalized)
|
||||
. = capitalize(.)
|
||||
return "theirs"
|
||||
else
|
||||
return "its"
|
||||
|
||||
/mob/p_them(capitalized, temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
. = "it"
|
||||
switch(temp_gender)
|
||||
if(FEMALE)
|
||||
. = "her"
|
||||
return "her"
|
||||
if(MALE)
|
||||
. = "him"
|
||||
return "him"
|
||||
if(PLURAL)
|
||||
. = "them"
|
||||
if(capitalized)
|
||||
. = capitalize(.)
|
||||
return "them"
|
||||
else
|
||||
return "it"
|
||||
|
||||
/mob/p_have(temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
. = "has"
|
||||
if(temp_gender == PLURAL)
|
||||
. = "have"
|
||||
return "have"
|
||||
return "has"
|
||||
|
||||
/mob/p_are(temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
. = "is"
|
||||
if(temp_gender == PLURAL)
|
||||
. = "are"
|
||||
return "are"
|
||||
return "is"
|
||||
|
||||
/mob/p_were(temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
. = "was"
|
||||
if(temp_gender == PLURAL)
|
||||
. = "were"
|
||||
return "were"
|
||||
return "was"
|
||||
|
||||
/mob/p_do(temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
. = "does"
|
||||
if(temp_gender == PLURAL)
|
||||
. = "do"
|
||||
return "do"
|
||||
return "does"
|
||||
|
||||
/mob/p_s(temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
if(temp_gender != PLURAL)
|
||||
. = "s"
|
||||
return "s"
|
||||
|
||||
/mob/p_es(temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
if(temp_gender != PLURAL)
|
||||
. = "es"
|
||||
return "es"
|
||||
|
||||
//humans need special handling, because they can have their gender hidden
|
||||
/mob/living/carbon/human/p_they(capitalized, temp_gender)
|
||||
/mob/living/carbon/human/p_they(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)
|
||||
/mob/living/carbon/human/p_their(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)
|
||||
@@ -316,80 +318,71 @@
|
||||
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)
|
||||
/obj/item/clothing/p_they(temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
. = "it"
|
||||
if(temp_gender == PLURAL)
|
||||
. = "they"
|
||||
if(capitalized)
|
||||
. = capitalize(.)
|
||||
return "they"
|
||||
return "it"
|
||||
|
||||
/obj/item/clothing/p_their(capitalized, temp_gender)
|
||||
/obj/item/clothing/p_their(temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
. = "its"
|
||||
if(temp_gender == PLURAL)
|
||||
. = "their"
|
||||
if(capitalized)
|
||||
. = capitalize(.)
|
||||
return "their"
|
||||
return "its"
|
||||
|
||||
/obj/item/clothing/p_theirs(capitalized, temp_gender)
|
||||
/obj/item/clothing/p_theirs(temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
. = "its"
|
||||
if(temp_gender == PLURAL)
|
||||
. = "theirs"
|
||||
if(capitalized)
|
||||
. = capitalize(.)
|
||||
return "theirs"
|
||||
return "its"
|
||||
|
||||
/obj/item/clothing/p_them(capitalized, temp_gender)
|
||||
/obj/item/clothing/p_them(temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
. = "it"
|
||||
if(temp_gender == PLURAL)
|
||||
. = "them"
|
||||
if(capitalized)
|
||||
. = capitalize(.)
|
||||
return "them"
|
||||
return "it"
|
||||
|
||||
/obj/item/clothing/p_have(temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
. = "has"
|
||||
if(temp_gender == PLURAL)
|
||||
. = "have"
|
||||
return "have"
|
||||
return "has"
|
||||
|
||||
/obj/item/clothing/p_are(temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
. = "is"
|
||||
if(temp_gender == PLURAL)
|
||||
. = "are"
|
||||
return "are"
|
||||
return "is"
|
||||
|
||||
/obj/item/clothing/p_were(temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
. = "was"
|
||||
if(temp_gender == PLURAL)
|
||||
. = "were"
|
||||
return "were"
|
||||
return "was"
|
||||
|
||||
/obj/item/clothing/p_do(temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
. = "does"
|
||||
if(temp_gender == PLURAL)
|
||||
. = "do"
|
||||
return "do"
|
||||
return "does"
|
||||
|
||||
/obj/item/clothing/p_s(temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
if(temp_gender != PLURAL)
|
||||
. = "s"
|
||||
return "s"
|
||||
|
||||
/obj/item/clothing/p_es(temp_gender)
|
||||
if(!temp_gender)
|
||||
temp_gender = gender
|
||||
if(temp_gender != PLURAL)
|
||||
. = "es"
|
||||
return "es"
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
|
||||
var/mob/living/living_pawn = pawn
|
||||
if(!IS_DEAD_OR_INCAP(living_pawn))
|
||||
examine_text += span_notice("[pawn.p_they(TRUE)] seem[pawn.p_s()] happy to see you!")
|
||||
examine_text += span_notice("[pawn.p_They()] seem[pawn.p_s()] happy to see you!")
|
||||
|
||||
// next section is regarding commands
|
||||
|
||||
|
||||
@@ -198,7 +198,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e
|
||||
/datum/component/acid/proc/on_examine(atom/source, mob/user, list/examine_list)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
examine_list += span_danger("[source.p_theyre(TRUE)] covered in a corrosive liquid!")
|
||||
examine_list += span_danger("[source.p_Theyre()] covered in a corrosive liquid!")
|
||||
|
||||
/// Makes it possible to clean acid off of objects.
|
||||
/datum/component/acid/proc/on_clean(atom/source, clean_types)
|
||||
|
||||
@@ -70,7 +70,7 @@ GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/e
|
||||
/datum/component/burning/proc/on_examine(atom/source, mob/user, list/examine_list)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
examine_list += span_danger("[source.p_theyre(TRUE)] burning!")
|
||||
examine_list += span_danger("[source.p_Theyre()] burning!")
|
||||
|
||||
/// Handles searing the hand of anyone who tries to touch parent without protection.
|
||||
/datum/component/burning/proc/on_attack_hand(atom/source, mob/living/carbon/user)
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
|
||||
var/num_crates = LAZYLEN(crates_in_hand)
|
||||
if(num_crates > 0)
|
||||
examine_list += span_notice("[source.p_theyre(TRUE)] carrying [num_crates == 1 ? "a crate":"[num_crates] crates"].")
|
||||
examine_list += span_notice("[source.p_Theyre()] carrying [num_crates == 1 ? "a crate":"[num_crates] crates"].")
|
||||
|
||||
/// Signal proc for [COMSIG_LIVING_UNARMED_ATTACK] to allow mobs to pick up or drop crates
|
||||
/datum/component/crate_carrier/proc/on_unarm_attack(mob/living/source, atom/target, proximity, modifiers)
|
||||
|
||||
@@ -190,7 +190,7 @@
|
||||
if(!isobserver(user))
|
||||
return
|
||||
|
||||
examine_list += span_notice("[A.p_theyre(TRUE)] currently under deadchat control using the [(deadchat_mode & DEMOCRACY_MODE) ? "democracy" : "anarchy"] ruleset!")
|
||||
examine_list += span_notice("[A.p_Theyre()] currently under deadchat control using the [(deadchat_mode & DEMOCRACY_MODE) ? "democracy" : "anarchy"] ruleset!")
|
||||
|
||||
if(deadchat_mode & DEMOCRACY_MODE)
|
||||
examine_list += span_notice("Type a command into chat to vote on an action. This happens once every [input_cooldown * 0.1] second\s.")
|
||||
|
||||
@@ -114,11 +114,11 @@
|
||||
var/key = scoops[1]
|
||||
var/datum/ice_cream_flavour/flavour = GLOB.ice_cream_flavours[LAZYACCESS(special_scoops, key) || key]
|
||||
if(flavour?.desc) //I scream.
|
||||
examine_list += "[source.p_theyre(TRUE)] filled with scoops of [flavour ? flavour.name : "broken, unhappy"] icecream."
|
||||
examine_list += "[source.p_Theyre()] filled with scoops of [flavour ? flavour.name : "broken, unhappy"] icecream."
|
||||
else
|
||||
examine_list += replacetext(replacetext("[source.p_theyre(TRUE)] [flavour.desc]", "$CONE_NAME", initial(source.name)), "$CUSTOM_NAME", key)
|
||||
examine_list += replacetext(replacetext("[source.p_Theyre()] [flavour.desc]", "$CONE_NAME", initial(source.name)), "$CUSTOM_NAME", key)
|
||||
else /// Many flavours.
|
||||
examine_list += "[source.p_theyre(TRUE)] filled with scoops of [english_list(scoops)] icecream. That's as many as [scoops_len] scoops!"
|
||||
examine_list += "[source.p_Theyre()] filled with scoops of [english_list(scoops)] icecream. That's as many as [scoops_len] scoops!"
|
||||
|
||||
/datum/component/ice_cream_holder/proc/on_update_overlays(atom/source, list/new_overlays)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
@@ -164,7 +164,7 @@
|
||||
owner.remove_actionspeed_modifier(/datum/actionspeed_modifier/status_effect/hazard_area, update=TRUE)
|
||||
|
||||
/datum/status_effect/hazard_area/get_examine_text()
|
||||
return span_notice("[owner.p_they(TRUE)] appear[owner.p_s()] to be largely immobilized through unknown means.")
|
||||
return span_notice("[owner.p_They()] appear[owner.p_s()] to be largely immobilized through unknown means.")
|
||||
|
||||
/atom/movable/screen/alert/status_effect/hazard_area
|
||||
name = "Hazardous Area"
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
/datum/component/multiple_lives/proc/on_examine(mob/living/source, mob/user, list/examine_list)
|
||||
SIGNAL_HANDLER
|
||||
if(isobserver(user) || source == user)
|
||||
examine_list += "[source.p_theyve(TRUE)] [lives_left] extra lives left."
|
||||
examine_list += "[source.p_Theyve()] [lives_left] extra lives left."
|
||||
|
||||
/datum/component/multiple_lives/InheritComponent(datum/component/multiple_lives/new_comp , lives_left)
|
||||
src.lives_left += new_comp ? new_comp.lives_left : lives_left
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
return
|
||||
if (!(user in source.ai_controller?.blackboard[BB_FRIENDS_LIST]))
|
||||
return
|
||||
examine_list += span_notice("[source.p_they(capitalized = TRUE)] seem[source.p_s()] happy to see you!")
|
||||
examine_list += span_notice("[source.p_They()] seem[source.p_s()] happy to see you!")
|
||||
|
||||
/// Displays a radial menu of commands
|
||||
/datum/component/obeys_commands/proc/display_menu(datum/source, mob/living/clicker)
|
||||
|
||||
@@ -180,7 +180,7 @@
|
||||
return
|
||||
|
||||
if(atom_source.Adjacent(user)) //if the item is stuck to the person, kill the person too instead of eating just the item.
|
||||
var/vis_msg = span_danger("[user] reaches out and touches [atom_source] with [item], inducing a resonance... [item] starts to glow briefly before the light continues up to [user]'s body. [user.p_they(TRUE)] bursts into flames before flashing into dust!")
|
||||
var/vis_msg = span_danger("[user] reaches out and touches [atom_source] with [item], inducing a resonance... [item] starts to glow briefly before the light continues up to [user]'s body. [user.p_They()] burst[user.p_s()] into flames before flashing into dust!")
|
||||
var/mob_msg = span_userdanger("You reach out and touch [atom_source] with [item]. Everything starts burning and all you can hear is ringing. Your last thought is \"That was not a wise decision.\"")
|
||||
dust_mob(source, user, vis_msg, mob_msg)
|
||||
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
/datum/component/thermite/proc/on_examine(turf/source, mob/user, list/examine_list)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
examine_list += span_warning("[source.p_theyre(TRUE)] covered in thermite.")
|
||||
examine_list += span_warning("[source.p_Theyre()] covered in thermite.")
|
||||
|
||||
/// Used to maintain the thermite overlay on the parent [/turf].
|
||||
/datum/component/thermite/proc/on_update_overlays(turf/parent_turf, list/overlays)
|
||||
|
||||
@@ -133,7 +133,7 @@
|
||||
/datum/component/usb_port/proc/on_examine_shell(datum/source, mob/user, list/examine_text)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
examine_text += span_notice("[source.p_they(TRUE)] [source.p_are()] attached to [parent] with a USB cable.")
|
||||
examine_text += span_notice("[source.p_They()] [source.p_are()] attached to [parent] with a USB cable.")
|
||||
|
||||
/datum/component/usb_port/proc/on_atom_usb_cable_try_attach(datum/source, obj/item/usb_cable/connecting_cable, mob/user)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
var/obj/item/carried_item = get_held_item(source)
|
||||
if (!carried_item)
|
||||
return
|
||||
examine_text += span_notice("[source.p_they(TRUE)] [source.p_are()] carrying [carried_item.get_examine_string(user)].")
|
||||
examine_text += span_notice("[source.p_They()] [source.p_are()] carrying [carried_item.get_examine_string(user)].")
|
||||
|
||||
/// If we died, drop anything we were carrying
|
||||
/datum/element/ai_held_item/proc/on_death(mob/living/ol_yeller)
|
||||
|
||||
@@ -24,10 +24,10 @@
|
||||
msg = "What \a [pick("masterpiece", "chef-d'oeuvre")]. So [pick("trascended", "awe-inspiring", "bewitching", "impeccable")]!"
|
||||
if (GOOD_ART to GREAT_ART)
|
||||
user.add_mood_event("artgood", /datum/mood_event/artgood)
|
||||
msg = "[source.p_theyre(TRUE)] a [pick("respectable", "commendable", "laudable")] art piece, easy on the keen eye."
|
||||
msg = "[source.p_Theyre()] a [pick("respectable", "commendable", "laudable")] art piece, easy on the keen eye."
|
||||
if (BAD_ART to GOOD_ART)
|
||||
user.add_mood_event("artok", /datum/mood_event/artok)
|
||||
msg = "[source.p_theyre(TRUE)] fair to middling, enough to be called an \"art object\"."
|
||||
msg = "[source.p_Theyre()] fair to middling, enough to be called an \"art object\"."
|
||||
if (0 to BAD_ART)
|
||||
user.add_mood_event("artbad", /datum/mood_event/artbad)
|
||||
msg = "Wow, [source.p_they()] sucks."
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
if (user.combat_mode)
|
||||
return // We'll deal with this later
|
||||
if (owner.stat == DEAD)
|
||||
var/additional_text = HAS_MIND_TRAIT(user, TRAIT_NAIVE) ? "It looks like [owner.p_theyre()] sleeping." : "[owner.p_they(capitalized = TRUE)] seem[owner.p_s()] to be dead."
|
||||
var/additional_text = HAS_MIND_TRAIT(user, TRAIT_NAIVE) ? "It looks like [owner.p_theyre()] sleeping." : "[owner.p_They()] seem[owner.p_s()] to be dead."
|
||||
to_chat(user, span_warning("[owner] feels cold to the touch. [additional_text]"))
|
||||
return
|
||||
if (owner.stat != CONSCIOUS)
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
|
||||
if(!should_show_text(examined))
|
||||
return
|
||||
var/examine_text = replacetext(replacetext("[body_zone ? examined.p_their(TRUE) : examined.p_they(TRUE)] [infused_desc]", "%PRONOUN_ES", examined.p_es()), "%PRONOUN_S", examined.p_s())
|
||||
var/examine_text = replacetext(replacetext("[body_zone ? examined.p_Their() : examined.p_They()] [infused_desc]", "%PRONOUN_ES", examined.p_es()), "%PRONOUN_S", examined.p_s())
|
||||
if(add_span)
|
||||
examine_text = span_notice(examine_text)
|
||||
examine_list += examine_text
|
||||
|
||||
@@ -75,16 +75,16 @@
|
||||
if(!source.override_notes)
|
||||
// Make sure not to divide by 0 on accident
|
||||
if(source.force > 0)
|
||||
readout += "[source.p_they(capitalized = TRUE)] takes about [span_warning("[HITS_TO_CRIT(source.force)] melee hit\s")] to take down an enemy."
|
||||
readout += "It takes about [span_warning("[HITS_TO_CRIT(source.force)] melee hit\s")] to take down an enemy."
|
||||
else
|
||||
readout += "[source.p_they(capitalized = TRUE)] does not deal noticeable melee damage."
|
||||
readout += "It does not deal noticeable melee damage."
|
||||
|
||||
if(source.throwforce > 0)
|
||||
readout += "[source.p_they(capitalized = TRUE)] takes about [span_warning("[HITS_TO_CRIT(source.throwforce)] throwing hit\s")] to take down an enemy."
|
||||
readout += "It takes about [span_warning("[HITS_TO_CRIT(source.throwforce)] throwing hit\s")] to take down an enemy."
|
||||
else
|
||||
readout += "[source.p_they(capitalized = TRUE)] does not deal noticeable throwing damage."
|
||||
readout += "It does not deal noticeable throwing damage."
|
||||
if(source.armour_penetration > 0 || source.block_chance > 0)
|
||||
readout += "[source.p_they(capitalized = TRUE)] has [span_warning("[weapon_tag_convert(source.armour_penetration)]")] armor-piercing capability and [span_warning("[weapon_tag_convert(source.block_chance)]")] blocking capability."
|
||||
readout += "It has [span_warning("[weapon_tag_convert(source.armour_penetration)]")] armor-piercing capability and [span_warning("[weapon_tag_convert(source.block_chance)]")] blocking capability."
|
||||
// Custom manual notes
|
||||
if(source.offensive_notes)
|
||||
readout += source.offensive_notes
|
||||
|
||||
@@ -209,7 +209,7 @@
|
||||
med_hud.hide_from(owner)
|
||||
|
||||
/datum/status_effect/hippocratic_oath/get_examine_text()
|
||||
return span_notice("[owner.p_they(TRUE)] seem[owner.p_s()] to have an aura of healing and helpfulness about [owner.p_them()].")
|
||||
return span_notice("[owner.p_They()] seem[owner.p_s()] to have an aura of healing and helpfulness about [owner.p_them()].")
|
||||
|
||||
/datum/status_effect/hippocratic_oath/tick()
|
||||
if(owner.stat == DEAD)
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
UnregisterSignal(owner, COMSIG_LIVING_GENERIC_STUN_CHECK)
|
||||
|
||||
/datum/status_effect/stun_absorption/get_examine_text()
|
||||
return replacetext(examine_message, "%EFFECT_OWNER_THEYRE", owner.p_theyre(TRUE))
|
||||
return replacetext(examine_message, "%EFFECT_OWNER_THEYRE", owner.p_Theyre())
|
||||
|
||||
/**
|
||||
* Signal proc for generic stun signals being sent, such as [COMSIG_LIVING_STATUS_STUN] or [COMSIG_LIVING_STATUS_KNOCKDOWN].
|
||||
|
||||
@@ -122,7 +122,7 @@
|
||||
choking_on.throw_at(target, distance, 1, source)
|
||||
|
||||
/datum/status_effect/choke/get_examine_text()
|
||||
return span_boldwarning("[owner.p_they(TRUE)] [owner.p_are()] choking!")
|
||||
return span_boldwarning("[owner.p_They()] [owner.p_are()] choking!")
|
||||
|
||||
/datum/status_effect/choke/proc/remove_choke(datum/source)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
@@ -421,7 +421,7 @@
|
||||
owner.emote(pick("gasp", "gag", "choke"))
|
||||
|
||||
/datum/status_effect/neck_slice/get_examine_text()
|
||||
return span_warning("[owner.p_their(TRUE)] neck is cut and is bleeding profusely!")
|
||||
return span_warning("[owner.p_Their()] neck is cut and is bleeding profusely!")
|
||||
|
||||
/mob/living/proc/apply_necropolis_curse(set_curse)
|
||||
var/datum/status_effect/necropolis_curse/C = has_status_effect(/datum/status_effect/necropolis_curse)
|
||||
@@ -571,7 +571,7 @@
|
||||
to_chat(owner, span_warning("You snap out of your trance!"))
|
||||
|
||||
/datum/status_effect/trance/get_examine_text()
|
||||
return span_warning("[owner.p_they(TRUE)] seem[owner.p_s()] slow and unfocused.")
|
||||
return span_warning("[owner.p_They()] seem[owner.p_s()] slow and unfocused.")
|
||||
|
||||
/datum/status_effect/trance/proc/hypnotize(datum/source, list/hearing_args)
|
||||
SIGNAL_HANDLER
|
||||
@@ -814,7 +814,7 @@
|
||||
return COMPONENT_CLEANED
|
||||
|
||||
/datum/status_effect/ants/get_examine_text()
|
||||
return span_warning("[owner.p_they(TRUE)] [owner.p_are()] covered in ants!")
|
||||
return span_warning("[owner.p_They()] [owner.p_are()] covered in ants!")
|
||||
|
||||
/datum/status_effect/ants/tick()
|
||||
var/mob/living/carbon/human/victim = owner
|
||||
|
||||
@@ -40,17 +40,17 @@
|
||||
// .01s are used in case the drunk value ends up to be a small decimal.
|
||||
switch(drunk_value)
|
||||
if(11 to 21)
|
||||
return span_warning("[owner.p_they(TRUE)] [owner.p_are()] slightly flushed.")
|
||||
return span_warning("[owner.p_They()] [owner.p_are()] slightly flushed.")
|
||||
if(21.01 to 41)
|
||||
return span_warning("[owner.p_they(TRUE)] [owner.p_are()] flushed.")
|
||||
return span_warning("[owner.p_They()] [owner.p_are()] flushed.")
|
||||
if(41.01 to 51)
|
||||
return span_warning("[owner.p_they(TRUE)] [owner.p_are()] quite flushed and [owner.p_their()] breath smells of alcohol.")
|
||||
return span_warning("[owner.p_They()] [owner.p_are()] quite flushed and [owner.p_their()] breath smells of alcohol.")
|
||||
if(51.01 to 61)
|
||||
return span_warning("[owner.p_they(TRUE)] [owner.p_are()] very flushed and [owner.p_their()] movements jerky, with breath reeking of alcohol.")
|
||||
return span_warning("[owner.p_They()] [owner.p_are()] very flushed and [owner.p_their()] movements jerky, with breath reeking of alcohol.")
|
||||
if(61.01 to 91)
|
||||
return span_warning("[owner.p_they(TRUE)] look[owner.p_s()] like a drunken mess.")
|
||||
return span_warning("[owner.p_They()] look[owner.p_s()] like a drunken mess.")
|
||||
if(91.01 to INFINITY)
|
||||
return span_warning("[owner.p_they(TRUE)] [owner.p_are()] a shitfaced, slobbering wreck.")
|
||||
return span_warning("[owner.p_They()] [owner.p_are()] a shitfaced, slobbering wreck.")
|
||||
|
||||
return null
|
||||
|
||||
|
||||
@@ -29,11 +29,11 @@
|
||||
/datum/status_effect/jitter/get_examine_text()
|
||||
switch(duration - world.time)
|
||||
if(5 MINUTES to INFINITY)
|
||||
return span_boldwarning("[owner.p_they(TRUE)] [owner.p_are()] convulsing violently!")
|
||||
return span_boldwarning("[owner.p_They()] [owner.p_are()] convulsing violently!")
|
||||
if(3 MINUTES to 5 MINUTES)
|
||||
return span_warning("[owner.p_they(TRUE)] [owner.p_are()] extremely jittery.")
|
||||
return span_warning("[owner.p_They()] [owner.p_are()] extremely jittery.")
|
||||
if(1 MINUTES to 3 MINUTES)
|
||||
return span_warning("[owner.p_they(TRUE)] [owner.p_are()] twitching ever so slightly.")
|
||||
return span_warning("[owner.p_They()] [owner.p_are()] twitching ever so slightly.")
|
||||
|
||||
return null
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
UnregisterSignal(owner, list(COMSIG_CARBON_PRE_BREATHE, COMSIG_ATOM_TOOL_ACT(TOOL_WIRECUTTER), COMSIG_CARBON_PRE_MISC_HELP))
|
||||
|
||||
/datum/status_effect/strandling/get_examine_text()
|
||||
return span_warning("[owner.p_they(TRUE)] seem[owner.p_s()] to be being choked by some durathread strands. You may be able to <b>cut</b> them off.")
|
||||
return span_warning("[owner.p_They()] seem[owner.p_s()] to be being choked by some durathread strands. You may be able to <b>cut</b> them off.")
|
||||
|
||||
/// Signal proc for [COMSIG_CARBON_PRE_BREATHE], causes losebreath whenever we're trying to breathe
|
||||
/datum/status_effect/strandling/proc/on_breathe(mob/living/source)
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
|
||||
/datum/status_effect/terrified/get_examine_text()
|
||||
if(terror_buildup > DARKNESS_TERROR_CAP) //If we're approaching a heart attack
|
||||
return span_boldwarning("[owner.p_they(TRUE)] [owner.p_are()] seizing up, about to collapse in fear!")
|
||||
return span_boldwarning("[owner.p_They()] [owner.p_are()] seizing up, about to collapse in fear!")
|
||||
|
||||
if(terror_buildup >= TERROR_PANIC_THRESHOLD)
|
||||
return span_boldwarning("[owner] is visibly trembling and twitching. It looks like [owner.p_theyre()] freaking out!")
|
||||
@@ -90,7 +90,7 @@
|
||||
if(terror_buildup >= TERROR_FEAR_THRESHOLD)
|
||||
return span_warning("[owner] looks very worried about something. [owner.p_are(TRUE)] [owner.p_they()] alright?")
|
||||
|
||||
return span_notice("[owner] looks rather anxious. [owner.p_they(TRUE)] could probably use a hug...")
|
||||
return span_notice("[owner] looks rather anxious. [owner.p_They()] could probably use a hug...")
|
||||
|
||||
/// If we get a hug from a friend, we calm down! If we get a hug from a nightmare, we FREAK OUT.
|
||||
/datum/status_effect/terrified/proc/comfort_owner(datum/source, mob/living/hugger)
|
||||
|
||||
@@ -33,4 +33,4 @@
|
||||
return ..()
|
||||
|
||||
/datum/status_effect/song/antimagic/get_examine_text()
|
||||
return span_notice("[owner.p_they(TRUE)] seem[owner.p_s()] to be covered in a dull, grey aura.")
|
||||
return span_notice("[owner.p_They()] seem[owner.p_s()] to be covered in a dull, grey aura.")
|
||||
|
||||
@@ -427,7 +427,7 @@
|
||||
return .
|
||||
|
||||
/datum/wound/proc/get_wound_description(mob/user)
|
||||
. = "[victim.p_their(TRUE)] [limb.plaintext_zone] [examine_desc]"
|
||||
. = "[victim.p_Their()] [limb.plaintext_zone] [examine_desc]"
|
||||
. = severity <= WOUND_SEVERITY_MODERATE ? "[.]." : "<B>[.]!</B>"
|
||||
return .
|
||||
|
||||
|
||||
@@ -152,7 +152,7 @@
|
||||
|
||||
var/list/msg = list()
|
||||
if(!limb.current_gauze)
|
||||
msg += "[victim.p_their(TRUE)] [limb.plaintext_zone] [examine_desc]"
|
||||
msg += "[victim.p_Their()] [limb.plaintext_zone] [examine_desc]"
|
||||
else
|
||||
var/sling_condition = ""
|
||||
// how much life we have left in these bandages
|
||||
@@ -166,7 +166,7 @@
|
||||
if(4 to INFINITY)
|
||||
sling_condition = "tightly"
|
||||
|
||||
msg += "[victim.p_their(TRUE)] [limb.plaintext_zone] is [sling_condition] fastened in a sling of [limb.current_gauze.name]"
|
||||
msg += "[victim.p_Their()] [limb.plaintext_zone] is [sling_condition] fastened in a sling of [limb.current_gauze.name]"
|
||||
|
||||
if(taped)
|
||||
msg += ", [span_notice("and appears to be reforming itself under some surgical tape!")]"
|
||||
|
||||
@@ -132,9 +132,9 @@
|
||||
|
||||
/datum/wound/burn/get_wound_description(mob/user)
|
||||
if(strikes_to_lose_limb <= 0)
|
||||
return span_deadsay("<B>[victim.p_their(TRUE)] [limb.plaintext_zone] has locked up completely and is non-functional.</B>")
|
||||
return span_deadsay("<B>[victim.p_Their()] [limb.plaintext_zone] has locked up completely and is non-functional.</B>")
|
||||
|
||||
var/list/condition = list("[victim.p_their(TRUE)] [limb.plaintext_zone] [examine_desc]")
|
||||
var/list/condition = list("[victim.p_Their()] [limb.plaintext_zone] [examine_desc]")
|
||||
if(limb.current_gauze)
|
||||
var/bandage_condition
|
||||
switch(limb.current_gauze.absorption_capacity)
|
||||
@@ -157,7 +157,7 @@
|
||||
if(WOUND_INFECTION_CRITICAL to WOUND_INFECTION_SEPTIC)
|
||||
condition += ", [span_deadsay("with streaks of rotten infection!")]"
|
||||
if(WOUND_INFECTION_SEPTIC to INFINITY)
|
||||
return span_deadsay("<B>[victim.p_their(TRUE)] [limb.plaintext_zone] is a mess of charred skin and infected rot!</B>")
|
||||
return span_deadsay("<B>[victim.p_Their()] [limb.plaintext_zone] is a mess of charred skin and infected rot!</B>")
|
||||
else
|
||||
condition += "!"
|
||||
|
||||
|
||||
@@ -127,7 +127,7 @@
|
||||
if(!victim || !is_visible(viewer))
|
||||
return
|
||||
|
||||
var/msg = "[victim.p_they(TRUE)] [victim.p_have()] [description] on [victim.p_their()] [precise_location]."
|
||||
var/msg = "[victim.p_They()] [victim.p_have()] [description] on [victim.p_their()] [precise_location]."
|
||||
switch(severity)
|
||||
if(WOUND_SEVERITY_MODERATE)
|
||||
msg = span_tinynoticeital("[msg]")
|
||||
@@ -136,7 +136,7 @@
|
||||
if(WOUND_SEVERITY_CRITICAL)
|
||||
msg = span_smallnoticeital("<b>[msg]</b>")
|
||||
if(WOUND_SEVERITY_LOSS)
|
||||
msg = "[victim.p_their(TRUE)] [limb.plaintext_zone] [description]." // different format
|
||||
msg = "[victim.p_Their()] [limb.plaintext_zone] [description]." // different format
|
||||
msg = span_notice("<i><b>[msg]</b></i>")
|
||||
return "\t[msg]"
|
||||
|
||||
|
||||
@@ -880,7 +880,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
return
|
||||
|
||||
if(fancy)
|
||||
cig.light(span_rose("[user] whips the [name] out and holds it for [M]. [user.p_their(TRUE)] arm is as steady as the unflickering flame [user.p_they()] light[user.p_s()] \the [cig] with."))
|
||||
cig.light(span_rose("[user] whips the [name] out and holds it for [M]. [user.p_Their()] arm is as steady as the unflickering flame [user.p_they()] light[user.p_s()] \the [cig] with."))
|
||||
else
|
||||
cig.light(span_notice("[user] holds the [name] out for [M], and lights [M.p_their()] [cig.name]."))
|
||||
|
||||
|
||||
@@ -111,7 +111,7 @@
|
||||
|
||||
/obj/item/soap/suicide_act(mob/living/user)
|
||||
user.say(";FFFFFFFFFFFFFFFFUUUUUUUDGE!!", forced="soap suicide")
|
||||
user.visible_message(span_suicide("[user] lifts [src] to [user.p_their()] mouth and gnaws on it furiously, producing a thick froth! [user.p_they(TRUE)]'ll never get that BB gun now!"))
|
||||
user.visible_message(span_suicide("[user] lifts [src] to [user.p_their()] mouth and gnaws on it furiously, producing a thick froth! [user.p_They()]'ll never get that BB gun now!"))
|
||||
var/datum/effect_system/fluid_spread/foam/foam = new
|
||||
foam.set_up(1, holder = src, location = get_turf(user))
|
||||
foam.start()
|
||||
|
||||
@@ -142,14 +142,14 @@
|
||||
render_list += span_info("You direct [src] to [M]'s eyes:\n")
|
||||
|
||||
if(M.stat == DEAD || M.is_blind() || M.get_eye_protection() > FLASH_PROTECTION_WELDER)
|
||||
render_list += "<span class='danger ml-1'>[M.p_their(TRUE)] pupils don't react to the light!</span>\n"//mob is dead
|
||||
render_list += "<span class='danger ml-1'>[M.p_Their()] pupils don't react to the light!</span>\n"//mob is dead
|
||||
else if(brain.damage > 20)
|
||||
render_list += "<span class='danger ml-1'>[M.p_their(TRUE)] pupils contract unevenly!</span>\n"//mob has sustained damage to their brain
|
||||
render_list += "<span class='danger ml-1'>[M.p_Their()] pupils contract unevenly!</span>\n"//mob has sustained damage to their brain
|
||||
else
|
||||
render_list += "<span class='notice ml-1'>[M.p_their(TRUE)] pupils narrow.</span>\n"//they're okay :D
|
||||
render_list += "<span class='notice ml-1'>[M.p_Their()] pupils narrow.</span>\n"//they're okay :D
|
||||
|
||||
if(M.dna && M.dna.check_mutation(/datum/mutation/human/xray))
|
||||
render_list += "<span class='danger ml-1'>[M.p_their(TRUE)] pupils give an eerie glow!</span>\n"//mob has X-ray vision
|
||||
render_list += "<span class='danger ml-1'>[M.p_Their()] pupils give an eerie glow!</span>\n"//mob has X-ray vision
|
||||
|
||||
//display our packaged information in an examine block for easy reading
|
||||
to_chat(user, examine_block(jointext(render_list, "")), type = MESSAGE_TYPE_INFO)
|
||||
@@ -227,9 +227,9 @@
|
||||
render_list += "<span class='notice ml-1'>Your lips appear healthy.</span>\n"//you're okay!
|
||||
else
|
||||
if(hypoxia_status)
|
||||
render_list += "<span class='danger ml-1'>[M.p_their(TRUE)] lips appear blue!</span>\n"//they have suffocation damage
|
||||
render_list += "<span class='danger ml-1'>[M.p_Their()] lips appear blue!</span>\n"//they have suffocation damage
|
||||
else
|
||||
render_list += "<span class='notice ml-1'>[M.p_their(TRUE)] lips appear healthy.</span>\n"//they're okay!
|
||||
render_list += "<span class='notice ml-1'>[M.p_Their()] lips appear healthy.</span>\n"//they're okay!
|
||||
|
||||
//assess blood level
|
||||
if(M == user)
|
||||
|
||||
@@ -176,7 +176,7 @@
|
||||
var/mob/living/carbon/C = user
|
||||
if(C.wear_mask)
|
||||
in_mouth = ", barely missing [user.p_their()] nose"
|
||||
. = span_warning("[user] swings [user.p_their()] [name][in_mouth]. [user.p_they(TRUE)] light[user.p_s()] [A.loc == user ? "[user.p_their()] [A.name]" : A] in the process.")
|
||||
. = span_warning("[user] swings [user.p_their()] [name][in_mouth]. [user.p_They()] light[user.p_s()] [A.loc == user ? "[user.p_their()] [A.name]" : A] in the process.")
|
||||
playsound(loc, hitsound, get_clamped_volume(), TRUE, -1)
|
||||
add_fingerprint(user)
|
||||
// Light your candles while spinning around the room
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
var/mob/living/carbon/carbon_user = user
|
||||
if(carbon_user.wear_mask)
|
||||
in_mouth = ", barely missing [carbon_user.p_their()] nose"
|
||||
. = span_warning("[user] swings [user.p_their()] [name][in_mouth]. [user.p_they(TRUE)] light[user.p_s()] [user.p_their()] [atom.name] in the process.")
|
||||
. = span_warning("[user] swings [user.p_their()] [name][in_mouth]. [user.p_They()] light[user.p_s()] [user.p_their()] [atom.name] in the process.")
|
||||
playsound(loc, hitsound, get_clamped_volume(), TRUE, -1)
|
||||
add_fingerprint(user)
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
/obj/item/pillow/examine(mob/user)
|
||||
. = ..()
|
||||
if(bricked)
|
||||
. += span_info("[p_they(TRUE)] feel[p_s()] unnaturally heavy.")
|
||||
. += span_info("[p_They()] feel[p_s()] unnaturally heavy.")
|
||||
if(pillow_trophy)
|
||||
. += span_notice("Alt-click to remove the tag!")
|
||||
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
return ..()
|
||||
|
||||
/datum/status_effect/golem/get_examine_text()
|
||||
return span_notice("[owner.p_their(capitalized = TRUE)] body has been augmented with veins of [mineral_name].")
|
||||
return span_notice("[owner.p_Their()] body has been augmented with veins of [mineral_name].")
|
||||
|
||||
/// Body part overlays applied by golem status effects
|
||||
/datum/bodypart_overlay/simple/golem_overlay
|
||||
|
||||
@@ -730,10 +730,10 @@
|
||||
user.Beam(human_bloodbag, icon_state="sendbeam", time = 15)
|
||||
else
|
||||
if(human_bloodbag.stat == DEAD)
|
||||
to_chat(user,span_warning("[human_bloodbag.p_their(TRUE)] blood has stopped flowing, you'll have to find another way to extract it."))
|
||||
to_chat(user,span_warning("[human_bloodbag.p_Their()] blood has stopped flowing, you'll have to find another way to extract it."))
|
||||
return
|
||||
if(human_bloodbag.has_status_effect(/datum/status_effect/speech/slurring/cult))
|
||||
to_chat(user,span_danger("[human_bloodbag.p_their(TRUE)] blood has been tainted by an even stronger form of blood magic, it's no use to us like this!"))
|
||||
to_chat(user,span_danger("[human_bloodbag.p_Their()] blood has been tainted by an even stronger form of blood magic, it's no use to us like this!"))
|
||||
return
|
||||
if(human_bloodbag.blood_volume > BLOOD_VOLUME_SAFE)
|
||||
human_bloodbag.blood_volume -= 100
|
||||
@@ -744,7 +744,7 @@
|
||||
to_chat(user,span_cultitalic("Your blood rite gains 50 charges from draining [human_bloodbag]'s blood."))
|
||||
new /obj/effect/temp_visual/cult/sparks(get_turf(human_bloodbag))
|
||||
else
|
||||
to_chat(user,span_warning("[human_bloodbag.p_theyre(TRUE)] missing too much blood - you cannot drain [human_bloodbag.p_them()] further!"))
|
||||
to_chat(user,span_warning("[human_bloodbag.p_Theyre()] missing too much blood - you cannot drain [human_bloodbag.p_them()] further!"))
|
||||
return
|
||||
if(isconstruct(target))
|
||||
var/mob/living/simple_animal/construct_thing = target
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
tick_interval = 0.2 SECONDS
|
||||
|
||||
/datum/status_effect/realignment/get_examine_text()
|
||||
return span_notice("[owner.p_theyre(TRUE)] glowing a soft white.")
|
||||
return span_notice("[owner.p_Theyre()] glowing a soft white.")
|
||||
|
||||
/datum/status_effect/realignment/on_apply()
|
||||
ADD_TRAIT(owner, TRAIT_PACIFISM, id)
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
location = null
|
||||
|
||||
/datum/status_effect/crucible_soul/get_examine_text()
|
||||
return span_notice("[owner.p_they(TRUE)] [owner.p_do()]n't seem to be all here.")
|
||||
return span_notice("[owner.p_They()] [owner.p_do()]n't seem to be all here.")
|
||||
|
||||
// DUSK AND DAWN
|
||||
/datum/status_effect/duskndawn
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
to_chat(src, span_revenwarning("You are already siphoning the essence of a soul!"))
|
||||
return
|
||||
if(!target.stat)
|
||||
to_chat(src, span_revennotice("[target.p_their(TRUE)] soul is too strong to harvest."))
|
||||
to_chat(src, span_revennotice("[target.p_Their()] soul is too strong to harvest."))
|
||||
if(prob(10))
|
||||
to_chat(target, span_revennotice("You feel as if you are being watched."))
|
||||
return
|
||||
@@ -47,16 +47,16 @@
|
||||
to_chat(src, span_revennotice("You search for the soul of [target]."))
|
||||
if(do_after(src, rand(10, 20), target, timed_action_flags = IGNORE_HELD_ITEM)) //did they get deleted in that second?
|
||||
if(target.ckey)
|
||||
to_chat(src, span_revennotice("[target.p_their(TRUE)] soul burns with intelligence."))
|
||||
to_chat(src, span_revennotice("[target.p_Their()] soul burns with intelligence."))
|
||||
essence_drained += rand(20, 30)
|
||||
if(target.stat != DEAD && !HAS_TRAIT(target, TRAIT_WEAK_SOUL))
|
||||
to_chat(src, span_revennotice("[target.p_their(TRUE)] soul blazes with life!"))
|
||||
to_chat(src, span_revennotice("[target.p_Their()] soul blazes with life!"))
|
||||
essence_drained += rand(40, 50)
|
||||
if(HAS_TRAIT(target, TRAIT_WEAK_SOUL) && !target.ckey)
|
||||
to_chat(src, span_revennotice("[target.p_their(TRUE)] soul is weak and underdeveloped. They won't be worth very much."))
|
||||
to_chat(src, span_revennotice("[target.p_Their()] soul is weak and underdeveloped. They won't be worth very much."))
|
||||
essence_drained = 5
|
||||
else
|
||||
to_chat(src, span_revennotice("[target.p_their(TRUE)] soul is weak and faltering."))
|
||||
to_chat(src, span_revennotice("[target.p_Their()] soul is weak and faltering."))
|
||||
if(do_after(src, rand(15, 20), target, timed_action_flags = IGNORE_HELD_ITEM)) //did they get deleted NOW?
|
||||
switch(essence_drained)
|
||||
if(1 to 30)
|
||||
@@ -69,7 +69,7 @@
|
||||
to_chat(src, span_revenbignotice("Ah, the perfect soul. [target] will yield massive amounts of essence to you."))
|
||||
if(do_after(src, rand(15, 25), target, timed_action_flags = IGNORE_HELD_ITEM)) //how about now
|
||||
if(!target.stat)
|
||||
to_chat(src, span_revenwarning("[target.p_theyre(TRUE)] now powerful enough to fight off your draining."))
|
||||
to_chat(src, span_revenwarning("[target.p_Theyre()] now powerful enough to fight off your draining."))
|
||||
to_chat(target, span_boldannounce("You feel something tugging across your body before subsiding."))
|
||||
draining = 0
|
||||
essence_drained = 0
|
||||
@@ -106,7 +106,7 @@
|
||||
target.investigate_log("has died from revenant harvest.", INVESTIGATE_DEATHS)
|
||||
target.death(FALSE)
|
||||
else
|
||||
to_chat(src, span_revenwarning("[target ? "[target] has":"[target.p_theyve(TRUE)]"] been drawn out of your grasp. The link has been broken."))
|
||||
to_chat(src, span_revenwarning("[target ? "[target] has":"[target.p_Theyve()]"] been drawn out of your grasp. The link has been broken."))
|
||||
if(target) //Wait, target is WHERE NOW?
|
||||
target.visible_message(span_warning("[target] slumps onto the ground."), \
|
||||
span_revenwarning("Violets lights, dancing in your vision, receding--"))
|
||||
|
||||
@@ -219,7 +219,7 @@
|
||||
if(flashed.stat == DEAD)
|
||||
return
|
||||
if(flashed.stat != CONSCIOUS)
|
||||
to_chat(source, span_warning("[flashed.p_they(capitalized = TRUE)] must be conscious before you can convert [flashed.p_them()]!"))
|
||||
to_chat(source, span_warning("[flashed.p_They()] must be conscious before you can convert [flashed.p_them()]!"))
|
||||
return
|
||||
|
||||
if(isnull(flashed.mind) || !GET_CLIENT(flashed))
|
||||
|
||||
@@ -258,7 +258,7 @@
|
||||
target.revive(ADMIN_HEAL_ALL)
|
||||
spooky_scaries |= target
|
||||
to_chat(target, span_userdanger("You have been revived by <B>[user.real_name]</B>!"))
|
||||
to_chat(target, span_userdanger("[user.p_theyre(TRUE)] your master now, assist [user.p_them()] even if it costs you your new life!"))
|
||||
to_chat(target, span_userdanger("[user.p_Theyre()] your master now, assist [user.p_them()] even if it costs you your new life!"))
|
||||
var/datum/antagonist/wizard/antag_datum = user.mind.has_antag_datum(/datum/antagonist/wizard)
|
||||
if(antag_datum)
|
||||
if(!antag_datum.wiz_team)
|
||||
|
||||
@@ -291,7 +291,7 @@
|
||||
/obj/item/clothing/examine(mob/user)
|
||||
. = ..()
|
||||
if(damaged_clothes == CLOTHING_SHREDDED)
|
||||
. += span_warning("<b>[p_theyre(TRUE)] completely shredded and require[p_s()] mending before [p_they()] can be worn again!</b>")
|
||||
. += span_warning("<b>[p_Theyre()] completely shredded and require[p_s()] mending before [p_they()] can be worn again!</b>")
|
||||
return
|
||||
|
||||
switch (max_heat_protection_temperature)
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
return
|
||||
var/obj/item/bodypart/head/noggin = target.get_bodypart(BODY_ZONE_HEAD)
|
||||
if(!noggin)
|
||||
to_chat(user, span_warning("[target.p_they(TRUE)] have no head!"))
|
||||
to_chat(user, span_warning("[target.p_They()] have no head!"))
|
||||
return
|
||||
|
||||
var/selected_hairstyle = null
|
||||
|
||||
@@ -212,13 +212,13 @@
|
||||
render_list += "<span class='danger ml-1'>[M] doesn't have any lungs!</span>\n"
|
||||
else
|
||||
if(carbon_patient.stat == DEAD || (HAS_TRAIT(carbon_patient, TRAIT_FAKEDEATH)) || (HAS_TRAIT(carbon_patient, TRAIT_NOBREATH))|| carbon_patient.failed_last_breath || carbon_patient.losebreath)//If pt is dead or otherwise not breathing
|
||||
render_list += "<span class='danger ml-1'>[M.p_theyre(TRUE)] not breathing!</span>\n"
|
||||
render_list += "<span class='danger ml-1'>[M.p_Theyre()] not breathing!</span>\n"
|
||||
else if(lungs.damage > 10)//if breathing, check for lung damage
|
||||
render_list += "<span class='danger ml-1'>You hear fluid in [M.p_their()] lungs!</span>\n"
|
||||
else if(oxy_loss > 10)//if they have suffocation damage
|
||||
render_list += "<span class='danger ml-1'>[M.p_theyre(TRUE)] breathing heavily!</span>\n"
|
||||
render_list += "<span class='danger ml-1'>[M.p_Theyre()] breathing heavily!</span>\n"
|
||||
else
|
||||
render_list += "<span class='notice ml-1'>[M.p_theyre(TRUE)] breathing normally.</span>\n"//they're okay :D
|
||||
render_list += "<span class='notice ml-1'>[M.p_Theyre()] breathing normally.</span>\n"//they're okay :D
|
||||
|
||||
//assess heart
|
||||
if(body_part == BODY_ZONE_CHEST)//if we're listening to the chest
|
||||
@@ -245,7 +245,7 @@
|
||||
liver_okay = FALSE
|
||||
else
|
||||
if(liver.damage > 10)
|
||||
render_list += "<span class='danger ml-1'>[M.p_their(TRUE)] liver feels firm.</span>\n"//their liver is damaged
|
||||
render_list += "<span class='danger ml-1'>[M.p_Their()] liver feels firm.</span>\n"//their liver is damaged
|
||||
liver_okay = FALSE
|
||||
|
||||
if(!appendix)//sanity check, ensure the patient actually has an appendix
|
||||
@@ -293,7 +293,7 @@
|
||||
else
|
||||
pulse_pressure = span_notice("strong")//they're okay :D
|
||||
|
||||
render_list += "<span class='notice ml-1'>[M.p_their(TRUE)] pulse is [pulse_pressure] and [heart_strength].</span>\n"
|
||||
render_list += "<span class='notice ml-1'>[M.p_Their()] pulse is [pulse_pressure] and [heart_strength].</span>\n"
|
||||
|
||||
//display our packaged information in an examine block for easy reading
|
||||
to_chat(user, examine_block(jointext(render_list, "")), type = MESSAGE_TYPE_INFO)
|
||||
|
||||
@@ -140,4 +140,4 @@
|
||||
user.updateappearance(mutcolor_update=1)
|
||||
user.domutcheck()
|
||||
user.visible_message(span_warning("[user]'s appearance shifts into [H]'s!"), \
|
||||
span_boldannounce("[H.p_they(TRUE)] think[H.p_s()] [H.p_theyre()] <i>sooo</i> much better than you. Not anymore, [H.p_they()] won't."))
|
||||
span_boldannounce("[H.p_They()] think[H.p_s()] [H.p_theyre()] <i>sooo</i> much better than you. Not anymore, [H.p_they()] won't."))
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
|
||||
/mob/living/simple_animal/hostile/mining_drone/examine(mob/user)
|
||||
. = ..()
|
||||
var/t_He = p_they(TRUE)
|
||||
var/t_He = p_They()
|
||||
var/t_him = p_them()
|
||||
var/t_s = p_s()
|
||||
if(health < maxHealth)
|
||||
|
||||
@@ -314,7 +314,7 @@
|
||||
/obj/item/food/deadmouse/examine(mob/user)
|
||||
. = ..()
|
||||
if (reagents?.has_reagent(/datum/reagent/yuck) || reagents?.has_reagent(/datum/reagent/fuel))
|
||||
. += span_warning("[p_theyre(TRUE)] dripping with fuel and smells terrible.")
|
||||
. += span_warning("[p_Theyre()] dripping with fuel and smells terrible.")
|
||||
|
||||
///Spawn a new mouse from this dead mouse item when hit by a lazarus injector and conditions are met.
|
||||
/obj/item/food/deadmouse/proc/use_lazarus(datum/source, obj/item/lazarus_injector/injector, mob/user)
|
||||
|
||||
@@ -41,6 +41,15 @@
|
||||
QDEL_NULL(stored_dna)
|
||||
return ..()
|
||||
|
||||
/// Override parent here because... the blind message doesn't really work given what's happen when a brain suicides. Can't hear a brain going grey. So, we omit the "blind" message.
|
||||
/mob/living/brain/send_applicable_messages()
|
||||
visible_message(span_danger(get_visible_suicide_message()), span_userdanger(get_visible_suicide_message()))
|
||||
|
||||
/mob/living/brain/get_visible_suicide_message()
|
||||
return "[src]'s brain is growing dull and lifeless. [p_They()] look[p_s()] like [p_theyve()] lost the will to live."
|
||||
|
||||
/mob/living/brain/apply_suicide_damage(obj/item/suicide_tool, damage_type = NONE) // we don't really care about applying damage to the brain mob and is just needless work.
|
||||
return FALSE
|
||||
|
||||
/mob/living/brain/ex_act() //you cant blow up brainmobs because it makes transfer_to() freak out when borgs blow up.
|
||||
return FALSE
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/mob/living/carbon/examine(mob/user)
|
||||
var/t_He = p_they(TRUE)
|
||||
var/t_His = p_their(TRUE)
|
||||
var/t_He = p_They()
|
||||
var/t_His = p_Their()
|
||||
var/t_his = p_their()
|
||||
var/t_him = p_them()
|
||||
var/t_has = p_have()
|
||||
@@ -167,7 +167,7 @@
|
||||
if(part.body_zone in covered_zones)
|
||||
continue
|
||||
if(part.limb_id != dna.species.examine_limb_id)
|
||||
. += "[span_info("[p_they(TRUE)] [p_have()] \an [part.name].")]"
|
||||
. += "[span_info("[p_They()] [p_have()] \an [part.name].")]"
|
||||
|
||||
var/list/visible_scars
|
||||
for(var/i in all_scars)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/mob/living/carbon/human/examine(mob/user)
|
||||
//this is very slightly better than it was because you can use it more places. still can't do \his[src] though.
|
||||
var/t_He = p_they(TRUE)
|
||||
var/t_His = p_their(TRUE)
|
||||
var/t_He = p_They()
|
||||
var/t_His = p_Their()
|
||||
var/t_his = p_their()
|
||||
var/t_him = p_them()
|
||||
var/t_has = p_have()
|
||||
@@ -550,4 +550,4 @@
|
||||
age_text = "very old"
|
||||
if(101 to INFINITY)
|
||||
age_text = "withering away"
|
||||
. += list(span_notice("[p_they(TRUE)] appear[p_s()] to be [age_text]."))
|
||||
. += list(span_notice("[p_They()] appear[p_s()] to be [age_text]."))
|
||||
|
||||
@@ -228,7 +228,7 @@
|
||||
///Returns death message for mob examine text
|
||||
/mob/living/carbon/human/proc/generate_death_examine_text()
|
||||
var/mob/dead/observer/ghost = get_ghost(TRUE, TRUE)
|
||||
var/t_He = p_they(TRUE)
|
||||
var/t_He = p_They()
|
||||
var/t_his = p_their()
|
||||
var/t_is = p_are()
|
||||
//This checks to see if the body is revivable
|
||||
|
||||
@@ -380,7 +380,7 @@
|
||||
return
|
||||
|
||||
if(IS_DEAD_OR_INCAP(offered))
|
||||
to_chat(src, span_warning("[offered.p_theyre(TRUE)] unable to take anything in [offered.p_their()] current state!"))
|
||||
to_chat(src, span_warning("[offered.p_Theyre()] unable to take anything in [offered.p_their()] current state!"))
|
||||
return
|
||||
|
||||
if(!CanReach(offered))
|
||||
|
||||
@@ -227,7 +227,7 @@
|
||||
if(len)
|
||||
for(var/obj/item/I in held_items)
|
||||
if(!holding.len)
|
||||
holding += "[p_they(TRUE)] [p_are()] holding \a [I]"
|
||||
holding += "[p_They()] [p_are()] holding \a [I]"
|
||||
else if(held_items.Find(I) == len)
|
||||
holding += ", and \a [I]."
|
||||
else
|
||||
|
||||
@@ -169,7 +169,7 @@
|
||||
/mob/living/silicon/try_inject(mob/user, target_zone, injection_flags)
|
||||
. = ..()
|
||||
if(!. && (injection_flags & INJECT_TRY_SHOW_ERROR_MESSAGE))
|
||||
to_chat(user, span_alert("[p_their(TRUE)] outer shell is too tough."))
|
||||
to_chat(user, span_alert("[p_Their()] outer shell is too tough."))
|
||||
|
||||
/proc/islinked(mob/living/silicon/robot/bot, mob/living/silicon/ai/ai)
|
||||
if(!istype(bot) || !istype(ai))
|
||||
|
||||
@@ -80,8 +80,6 @@
|
||||
to_chat(src, playstyle_string)
|
||||
|
||||
/mob/living/simple_animal/hostile/construct/examine(mob/user)
|
||||
var/pronoun = p_they(TRUE)
|
||||
var/plural = p_s()
|
||||
var/text_span
|
||||
switch(theme)
|
||||
if(THEME_CULT)
|
||||
@@ -93,9 +91,9 @@
|
||||
. = list("<span class='[text_span]'>This is [icon2html(src, user)] \a <b>[src]</b>!\n[desc]")
|
||||
if(health < maxHealth)
|
||||
if(health >= maxHealth/2)
|
||||
. += span_warning("[pronoun] look[plural] slightly dented.")
|
||||
. += span_warning("[p_They()] look[p_s()] slightly dented.")
|
||||
else
|
||||
. += span_warning("<b>[pronoun] look[plural] severely dented!</b>")
|
||||
. += span_warning("<b>[p_They()] look[p_s()] severely dented!</b>")
|
||||
. += "</span>"
|
||||
|
||||
/mob/living/simple_animal/hostile/construct/attack_animal(mob/living/simple_animal/user, list/modifiers)
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
SSpai.pai_card_list += src
|
||||
|
||||
/obj/item/pai_card/suicide_act(mob/living/user)
|
||||
user.visible_message(span_suicide("[user] is staring sadly at [src]! [user.p_they(TRUE)] can't keep living without real human intimacy!"))
|
||||
user.visible_message(span_suicide("[user] is staring sadly at [src]! [user.p_They()] can't keep living without real human intimacy!"))
|
||||
return OXYLOSS
|
||||
|
||||
/obj/item/pai_card/update_overlays()
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
var/mode = 0
|
||||
|
||||
/obj/item/hand_labeler/suicide_act(mob/living/user)
|
||||
user.visible_message(span_suicide("[user] is pointing [src] at [user.p_them()]self. [user.p_theyre(TRUE)] going to label [user.p_them()]self as a suicide!"))
|
||||
user.visible_message(span_suicide("[user] is pointing [src] at [user.p_them()]self. [user.p_Theyre()] going to label [user.p_them()]self as a suicide!"))
|
||||
labels_left = max(labels_left - 1, 0)
|
||||
|
||||
var/old_real_name = user.real_name
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
sleep(0.5 SECONDS)
|
||||
shoot_with_empty_chamber(user)
|
||||
sleep(2 SECONDS)
|
||||
user.visible_message(span_warning("[user] looks about the room realizing [user.p_theyre()] still there. [user.p_they(TRUE)] proceed to shove [src] down their throat and choke [user.p_them()]self with it!"), \
|
||||
user.visible_message(span_warning("[user] looks about the room realizing [user.p_theyre()] still there. [user.p_They()] proceed to shove [src] down their throat and choke [user.p_them()]self with it!"), \
|
||||
span_userdanger("You look around after realizing you're still here, then proceed to choke yourself to death with [src]!"))
|
||||
sleep(2 SECONDS)
|
||||
return OXYLOSS
|
||||
|
||||
@@ -527,7 +527,7 @@
|
||||
|
||||
/datum/status_effect/stabilized/purple/get_examine_text()
|
||||
if(healed_last_tick)
|
||||
return span_warning("[owner.p_they(TRUE)] [owner.p_are()] regenerating slowly, purplish goo filling in small injuries!")
|
||||
return span_warning("[owner.p_They()] [owner.p_are()] regenerating slowly, purplish goo filling in small injuries!")
|
||||
|
||||
return null
|
||||
|
||||
@@ -620,7 +620,7 @@
|
||||
qdel(fire)
|
||||
|
||||
/datum/status_effect/stabilized/darkpurple/get_examine_text()
|
||||
return span_notice("[owner.p_their(TRUE)] fingertips burn brightly!")
|
||||
return span_notice("[owner.p_Their()] fingertips burn brightly!")
|
||||
|
||||
/datum/status_effect/stabilized/darkblue
|
||||
id = "stabilizeddarkblue"
|
||||
@@ -811,7 +811,7 @@
|
||||
// Only occasionally give examiners a warning.
|
||||
/datum/status_effect/stabilized/green/get_examine_text()
|
||||
if(prob(50))
|
||||
return span_warning("[owner.p_they(TRUE)] look[owner.p_s()] a bit green and gooey...")
|
||||
return span_warning("[owner.p_They()] look[owner.p_s()] a bit green and gooey...")
|
||||
|
||||
return null
|
||||
|
||||
@@ -923,7 +923,7 @@
|
||||
return ..()
|
||||
|
||||
/datum/status_effect/stabilized/oil/get_examine_text()
|
||||
return span_warning("[owner.p_they(TRUE)] smell[owner.p_s()] of sulfur and oil!")
|
||||
return span_warning("[owner.p_They()] smell[owner.p_s()] of sulfur and oil!")
|
||||
|
||||
/// How much damage is dealt per healing done for the stabilized back.
|
||||
/// This multiplier is applied to prevent two people from converting each other's damage away.
|
||||
@@ -966,7 +966,7 @@
|
||||
if(!draining)
|
||||
return null
|
||||
|
||||
return span_warning("[owner.p_they(TRUE)] [owner.p_are()] draining health from [draining]!")
|
||||
return span_warning("[owner.p_They()] [owner.p_are()] draining health from [draining]!")
|
||||
|
||||
/datum/status_effect/stabilized/black/tick()
|
||||
if(owner.grab_state < GRAB_KILL || !IS_WEAKREF_OF(owner.pulling, draining_ref))
|
||||
@@ -1022,7 +1022,7 @@
|
||||
colour = "adamantine"
|
||||
|
||||
/datum/status_effect/stabilized/adamantine/get_examine_text()
|
||||
return span_warning("[owner.p_they(TRUE)] [owner.p_have()] strange metallic coating on [owner.p_their()] skin.")
|
||||
return span_warning("[owner.p_They()] [owner.p_have()] strange metallic coating on [owner.p_their()] skin.")
|
||||
|
||||
/datum/status_effect/stabilized/gold
|
||||
id = "stabilizedgold"
|
||||
|
||||
@@ -69,10 +69,10 @@
|
||||
to_chat(owner, span_warning("You don't particularly want to be dead!"))
|
||||
return FALSE
|
||||
if(!living_target.mind && target_requires_mind)
|
||||
to_chat(owner, span_warning("[living_target.p_theyve(TRUE)] doesn't appear to have a mind to swap into!"))
|
||||
to_chat(owner, span_warning("[living_target.p_They()] [living_target.p_do()]n't appear to have a mind to swap into!"))
|
||||
return FALSE
|
||||
if(!living_target.key && target_requires_key)
|
||||
to_chat(owner, span_warning("[living_target.p_theyve(TRUE)] appear[living_target.p_s()] to be catatonic! \
|
||||
to_chat(owner, span_warning("[living_target.p_They()] appear[living_target.p_s()] to be catatonic! \
|
||||
Not even magic can affect [living_target.p_their()] vacant mind."))
|
||||
return FALSE
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
|| mind_to_swap.has_antag_datum(/datum/antagonist/rev) \
|
||||
|| mind_to_swap.key?[1] == "@" \
|
||||
)
|
||||
to_chat(caster, span_warning("[to_swap.p_their(TRUE)] mind is resisting your spell!"))
|
||||
to_chat(caster, span_warning("[to_swap.p_Their()] mind is resisting your spell!"))
|
||||
return FALSE
|
||||
|
||||
// MIND TRANSFER BEGIN
|
||||
|
||||
@@ -229,7 +229,7 @@
|
||||
if(3 * LIVER_FAILURE_STAGE_SECONDS to 4 * LIVER_FAILURE_STAGE_SECONDS - 1)
|
||||
examine_list += span_notice("[owner]'s eyes are completely yellow, and [owner.p_they()] [owner.p_are()] visibly suffering.")
|
||||
if(4 * LIVER_FAILURE_STAGE_SECONDS to INFINITY)
|
||||
examine_list += span_danger("[owner]'s eyes are completely yellow and swelling with pus. [owner.p_they(TRUE)] [owner.p_do()]n't look like [owner.p_they()] will be alive for much longer.")
|
||||
examine_list += span_danger("[owner]'s eyes are completely yellow and swelling with pus. [owner.p_They()] [owner.p_do()]n't look like [owner.p_they()] will be alive for much longer.")
|
||||
|
||||
/obj/item/organ/internal/liver/get_availability(datum/species/owner_species, mob/living/owner_mob)
|
||||
return owner_species.mutantliver
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
return TRUE
|
||||
|
||||
/datum/status_effect/golem_statued/get_examine_text()
|
||||
return span_warning("[owner.p_they(TRUE)] are as still as a statue!")
|
||||
return span_warning("[owner.p_They()] are as still as a statue!")
|
||||
|
||||
/datum/status_effect/golem_statued/on_remove()
|
||||
owner.visible_message(span_notice("[owner] slowly stirs back into motion!"), span_notice("You have gathered enough strength to move your body once more."))
|
||||
|
||||
@@ -223,7 +223,7 @@
|
||||
SIGNAL_HANDLER
|
||||
|
||||
if (isobserver(mob))
|
||||
examine_text += span_notice("[source.p_they(capitalized = TRUE)] [source.p_have()] <a href='?src=[REF(src)];open_bci=1'>\a [parent] implanted in [source.p_them()]</a>.")
|
||||
examine_text += span_notice("[source.p_They()] [source.p_have()] <a href='?src=[REF(src)];open_bci=1'>\a [parent] implanted in [source.p_them()]</a>.")
|
||||
|
||||
/obj/item/circuit_component/bci_core/Topic(href, list/href_list)
|
||||
..()
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
//Overrides TG's version of the proc - only changes are the examine texts, and the extra DNR check
|
||||
/mob/living/carbon/human/generate_death_examine_text()
|
||||
var/mob/dead/observer/ghost = get_ghost(TRUE, TRUE)
|
||||
var/t_He = p_they(TRUE)
|
||||
var/t_He = p_They()
|
||||
var/t_is = p_are()
|
||||
//This checks to see if the body is revivable
|
||||
if(key || !get_organ_by_type(/obj/item/organ/internal/brain) || ghost?.can_reenter_corpse)
|
||||
return span_deadsay("[t_He] [t_is] limp and unresponsive; they're still twitching on occasion, perhaps [p_they(FALSE)] can still be saved..!")
|
||||
return span_deadsay("[t_He] [t_is] limp and unresponsive; they're still twitching on occasion, perhaps [p_they()] can still be saved..!")
|
||||
else
|
||||
return span_deadsay("[t_He] [t_is] limp and unresponsive; there are no signs of life and they've degraded beyond revival...")
|
||||
|
||||
@@ -483,7 +483,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/cryopod, 32)
|
||||
// Allows admins to enable players to override SSD Time check.
|
||||
if(allow_timer_override)
|
||||
if(tgui_alert(user, "Would you like to place [target] into [src]?", "Place into Cryopod?", list("Yes", "No")) != "No")
|
||||
to_chat(user, span_danger("You put [target] into [src]. [target.p_theyre(capitalized = TRUE)] in the cryopod."))
|
||||
to_chat(user, span_danger("You put [target] into [src]. [target.p_Theyre()] in the cryopod."))
|
||||
log_admin("[key_name(user)] has put [key_name(target)] into a overridden stasis pod.")
|
||||
message_admins("[key_name(user)] has put [key_name(target)] into a overridden stasis pod. [ADMIN_JMP(src)]")
|
||||
|
||||
@@ -504,7 +504,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/cryopod, 32)
|
||||
else if(tgui_alert(user, "Would you like to place [target] into [src]?", "Place into Cryopod?", list("Yes", "No")) == "Yes")
|
||||
if(target.mind.assigned_role.req_admin_notify)
|
||||
tgui_alert(user, "They are an important role! [AHELP_FIRST_MESSAGE]")
|
||||
to_chat(user, span_danger("You put [target] into [src]. [target.p_theyre(capitalized = TRUE)] in the cryopod."))
|
||||
to_chat(user, span_danger("You put [target] into [src]. [target.p_Theyre()]] in the cryopod."))
|
||||
log_admin("[key_name(user)] has put [key_name(target)] into a stasis pod.")
|
||||
message_admins("[key_name(user)] has put [key_name(target)] into a stasis pod. [ADMIN_JMP(src)]")
|
||||
|
||||
@@ -514,9 +514,9 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/cryopod, 32)
|
||||
name = "[name] ([target.name])"
|
||||
|
||||
else if(iscyborg(target))
|
||||
to_chat(user, span_danger("You can't put [target] into [src]. [target.p_theyre(capitalized = TRUE)] online."))
|
||||
to_chat(user, span_danger("You can't put [target] into [src]. [target.p_Theyre()]] online."))
|
||||
else
|
||||
to_chat(user, span_danger("You can't put [target] into [src]. [target.p_theyre(capitalized = TRUE)] conscious."))
|
||||
to_chat(user, span_danger("You can't put [target] into [src]. [target.p_Theyre()]] conscious."))
|
||||
return
|
||||
|
||||
if(target == user && (tgui_alert(target, "Would you like to enter cryosleep?", "Enter Cryopod?", list("Yes", "No")) != "Yes"))
|
||||
|
||||
@@ -25,12 +25,12 @@
|
||||
return
|
||||
var/mob/living/carbon/C = usr
|
||||
var/self = (C == bodypart.owner)
|
||||
C.visible_message(span_notice("[C] begins removing [name] from [self ? "[bodypart.owner.p_their(TRUE)]" : "[bodypart.owner]'s" ] [bodypart.name]..."), span_notice("You begin to remove [name] from [self ? "your" : "[bodypart.owner]'s"] [bodypart.name]..."))
|
||||
C.visible_message(span_notice("[C] begins removing [name] from [self ? "[bodypart.owner.p_Their()]" : "[bodypart.owner]'s" ] [bodypart.name]..."), span_notice("You begin to remove [name] from [self ? "your" : "[bodypart.owner]'s"] [bodypart.name]..."))
|
||||
if(!do_after(C, (self ? SELF_AID_REMOVE_DELAY : OTHER_AID_REMOVE_DELAY), target=bodypart.owner))
|
||||
return
|
||||
if(QDELETED(src))
|
||||
return
|
||||
C.visible_message(span_notice("[C] removes [name] from [self ? "[bodypart.owner.p_their(TRUE)]" : "[bodypart.owner]'s" ] [bodypart.name]."), span_notice("You remove [name] from [self ? "your" : "[bodypart.owner]'s" ] [bodypart.name]."))
|
||||
C.visible_message(span_notice("[C] removes [name] from [self ? "[bodypart.owner.p_Their()]" : "[bodypart.owner]'s" ] [bodypart.name]."), span_notice("You remove [name] from [self ? "your" : "[bodypart.owner]'s" ] [bodypart.name]."))
|
||||
var/obj/item/gotten = rip_off()
|
||||
if(gotten && !C.put_in_hands(gotten))
|
||||
gotten.forceMove(get_turf(C))
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/mob/living/carbon/examine_more(mob/user)
|
||||
. = ..()
|
||||
var/msg = list(span_notice("<i>You examine [src] closer, and note the following...</i>"))
|
||||
var/t_His = p_their(TRUE)
|
||||
var/t_He = p_they(TRUE)
|
||||
var/t_His = p_Their()
|
||||
var/t_He = p_They()
|
||||
var/t_Has = p_have()
|
||||
|
||||
var/any_bodypart_damage = FALSE
|
||||
@@ -82,7 +82,7 @@
|
||||
if(part.body_zone in covered_zones)
|
||||
continue
|
||||
if(part.limb_id != (dna.species.examine_limb_id ? dna.species.examine_limb_id : dna.species.id))
|
||||
. += "[span_info("[p_they(TRUE)] [p_have()] \an [part.name].")]"
|
||||
. += "[span_info("[p_They()] [p_have()] \an [part.name].")]"
|
||||
|
||||
|
||||
return msg
|
||||
|
||||
@@ -122,9 +122,9 @@
|
||||
|
||||
/datum/wound/burn/get_examine_description(mob/user)
|
||||
if(strikes_to_lose_limb <= 0)
|
||||
return span_deadsay("<B>[victim.p_their(TRUE)] [parse_zone(limb.body_zone)] has locked up completely and is non-functional. Amputate or augment limb immediately, or place the patient in a cryotube.</B>")
|
||||
return span_deadsay("<B>[victim.p_Their()] [parse_zone(limb.body_zone)] has locked up completely and is non-functional. Amputate or augment limb immediately, or place the patient in a cryotube.</B>")
|
||||
|
||||
var/list/condition = list("[victim.p_their(TRUE)] [parse_zone(limb.body_zone)] [examine_desc]")
|
||||
var/list/condition = list("[victim.p_Their()] [parse_zone(limb.body_zone)] [examine_desc]")
|
||||
if(limb.current_gauze)
|
||||
var/bandage_condition
|
||||
switch(limb.current_gauze.absorption_capacity)
|
||||
@@ -147,7 +147,7 @@
|
||||
if(WOUND_INFECTION_CRITICAL to WOUND_INFECTION_SEPTIC)
|
||||
condition += ", <span class='deadsay'>with streaks of rotten, pulsating infection!</span>"
|
||||
if(WOUND_INFECTION_SEPTIC to INFINITY)
|
||||
return span_deadsay("<B>[victim.p_their(TRUE)] [parse_zone(limb.body_zone)] is a mess of charred skin and infected rot!</B>")
|
||||
return span_deadsay("<B>[victim.p_Their()] [parse_zone(limb.body_zone)] is a mess of charred skin and infected rot!</B>")
|
||||
else
|
||||
condition += "!"
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
|
||||
var/list/msg = list()
|
||||
if(!limb.current_splint)
|
||||
msg += "[victim.p_their(TRUE)] [parse_zone(limb.body_zone)] [examine_desc]"
|
||||
msg += "[victim.p_Their()] [parse_zone(limb.body_zone)] [examine_desc]"
|
||||
else
|
||||
var/sling_condition = ""
|
||||
// how much life we have left in these bandages
|
||||
@@ -102,7 +102,7 @@
|
||||
if(4 to INFINITY)
|
||||
sling_condition = "tightly"
|
||||
|
||||
msg += "[victim.p_their(TRUE)] [parse_zone(limb.body_zone)] is [sling_condition] fastened with a [limb.current_splint.name]!"
|
||||
msg += "[victim.p_Their()] [parse_zone(limb.body_zone)] is [sling_condition] fastened with a [limb.current_splint.name]!"
|
||||
|
||||
return "<B>[msg.Join()]</B>"
|
||||
|
||||
|
||||
+1
-1
@@ -31,7 +31,7 @@
|
||||
if(stat >= DEAD || HAS_TRAIT(src, TRAIT_FAKEDEATH) || src == user || !has_status_effect(/datum/status_effect/spanked) || !is_bottomless())
|
||||
return
|
||||
|
||||
. += span_purple("[user.p_their(TRUE)] butt has a red tint to it.") + "\n"
|
||||
. += span_purple("[user.p_Their()] butt has a red tint to it.") + "\n"
|
||||
|
||||
//Mood boost for masochist
|
||||
/datum/mood_event/perv_spanked
|
||||
|
||||
Reference in New Issue
Block a user