diff --git a/code/__HELPERS/pronouns.dm b/code/__HELPERS/pronouns.dm
index c2c6eb234a2..3446a750eef 100644
--- a/code/__HELPERS/pronouns.dm
+++ b/code/__HELPERS/pronouns.dm
@@ -24,6 +24,12 @@
/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(p_have(temp_gender), 3)
+
/datum/proc/p_theyre(capitalized, temp_gender)
. = p_they(capitalized, temp_gender) + "'" + copytext(p_are(temp_gender), 2)
@@ -88,6 +94,13 @@
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
@@ -158,6 +171,13 @@
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
@@ -207,6 +227,13 @@
temp_gender = PLURAL
return ..()
+/mob/living/carbon/human/p_do(temp_gender)
+ var/list/obscured = check_obscured_slots()
+ var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE))
+ if((slot_w_uniform in obscured) && skipface)
+ temp_gender = PLURAL
+ return ..()
+
/mob/living/carbon/human/p_s(temp_gender)
var/list/obscured = check_obscured_slots()
var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE))
diff --git a/code/datums/antagonists/datum_cult.dm b/code/datums/antagonists/datum_cult.dm
index 1788dd7d12b..9451871280d 100644
--- a/code/datums/antagonists/datum_cult.dm
+++ b/code/datums/antagonists/datum_cult.dm
@@ -46,5 +46,5 @@
owner << "An unfamiliar white light flashes through your mind, cleansing the taint of the Dark One and all your memories as its servant."
owner.attack_log += "\[[time_stamp()]\] Has renounced the cult of Nar'Sie!"
if(!silent_update)
- owner.visible_message("[owner] looks like they just reverted to their old faith!")
+ owner.visible_message("[owner] looks like [owner.p_they()] just reverted to their old faith!")
..()
diff --git a/code/game/gamemodes/changeling/powers/biodegrade.dm b/code/game/gamemodes/changeling/powers/biodegrade.dm
index 84153f8825c..547ea785069 100644
--- a/code/game/gamemodes/changeling/powers/biodegrade.dm
+++ b/code/game/gamemodes/changeling/powers/biodegrade.dm
@@ -1,8 +1,7 @@
/obj/effect/proc_holder/changeling/biodegrade
name = "Biodegrade"
desc = "Dissolves restraints or other objects preventing free movement."
- helptext = "This is obvious to nearby people, and can destroy \
- standard restraints and closets."
+ helptext = "This is obvious to nearby people, and can destroy standard restraints and closets."
chemical_cost = 30 //High cost to prevent spam
dna_cost = 2
req_human = 1
@@ -20,10 +19,8 @@
var/obj/O = user.get_item_by_slot(slot_handcuffed)
if(!istype(O))
return 0
- user.visible_message("[user] vomits a glob of \
- acid on \his [O]!", \
- "We vomit acidic ooze onto our \
- restraints!")
+ user.visible_message("[user] vomits a glob of acid on [user.p_their()] [O]!", \
+ "We vomit acidic ooze onto our restraints!")
addtimer(src, "dissolve_handcuffs", 30, TIMER_NORMAL, user, O)
used = TRUE
@@ -32,10 +29,8 @@
var/obj/item/clothing/suit/S = user.get_item_by_slot(slot_wear_suit)
if(!istype(S))
return 0
- user.visible_message("[user] vomits a glob \
- of acid across the front of \his [S]!", \
- "We vomit acidic ooze onto our straight \
- jacket!")
+ user.visible_message("[user] vomits a glob of acid across the front of [user.p_their()] [S]!", \
+ "We vomit acidic ooze onto our straight jacket!")
addtimer(src, "dissolve_straightjacket", 30, TIMER_NORMAL, user, S)
used = TRUE
@@ -44,10 +39,8 @@
var/obj/structure/closet/C = user.loc
if(!istype(C))
return 0
- C.visible_message("[C]'s hinges suddenly \
- begin to melt and run!")
- user << "We vomit acidic goop onto the \
- interior of [C]!"
+ C.visible_message("[C]'s hinges suddenly begin to melt and run!")
+ user << "We vomit acidic goop onto the interior of [C]!"
addtimer(src, "open_closet", 70, TIMER_NORMAL, user, C)
used = TRUE
@@ -67,8 +60,7 @@
/obj/effect/proc_holder/changeling/biodegrade/proc/dissolve_handcuffs(mob/living/carbon/human/user, obj/O)
if(O && user.handcuffed == O)
user.unEquip(O)
- O.visible_message("[O] dissolves into a \
- puddle of sizzling goop.")
+ O.visible_message("[O] dissolves into a puddle of sizzling goop.")
O.loc = get_turf(user)
qdel(O)
@@ -81,14 +73,12 @@
/obj/effect/proc_holder/changeling/biodegrade/proc/open_closet(mob/living/carbon/human/user, obj/structure/closet/C)
if(C && user.loc == C)
- C.visible_message("[C]'s door breaks and \
- opens!")
+ C.visible_message("[C]'s door breaks and opens!")
C.welded = FALSE
C.locked = FALSE
C.broken = TRUE
C.open()
- user << "We open the container restraining \
- us!"
+ user << "We open the container restraining us!"
/obj/effect/proc_holder/changeling/biodegrade/proc/dissolve_cocoon(mob/living/carbon/human/user, obj/structure/spider/cocoon/C)
if(C && user.loc == C)
diff --git a/code/game/gamemodes/changeling/powers/linglink.dm b/code/game/gamemodes/changeling/powers/linglink.dm
index 3b90ee14bd5..204888db7b4 100644
--- a/code/game/gamemodes/changeling/powers/linglink.dm
+++ b/code/game/gamemodes/changeling/powers/linglink.dm
@@ -46,7 +46,7 @@
user << "We stealthily stab [target] with a minor proboscis..."
target << "You experience a stabbing sensation and your ears begin to ring..."
if(3)
- user << "You mold the [target]'s mind like clay, they can now speak in the hivemind!"
+ user << "We mold the [target]'s mind like clay, granting [target.p_them()] the ability to speak in the hivemind!"
target << "A migraine throbs behind your eyes, you hear yourself screaming - but your mouth has not opened!"
for(var/mob/M in mob_list)
if(M.lingcheck() == 2)
diff --git a/code/game/gamemodes/clock_cult/clock_mobs.dm b/code/game/gamemodes/clock_cult/clock_mobs.dm
index 9ebd2f78ef6..f100930ce36 100644
--- a/code/game/gamemodes/clock_cult/clock_mobs.dm
+++ b/code/game/gamemodes/clock_cult/clock_mobs.dm
@@ -243,7 +243,7 @@
if(host)
src << "The fatigue becomes too much!"
src << "You retreat to [host] - you will have to wait before being deployed again."
- host << "[true_name] is too fatigued to fight - you will need to wait until they are strong enough."
+ host << "[true_name] is too fatigued to fight - you will need to wait until [p_they()] [p_are()] strong enough."
recovering = TRUE
return_to_host()
else
diff --git a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_revenant.dm b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_revenant.dm
index 6a488933cdb..e55d9d5392b 100644
--- a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_revenant.dm
+++ b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_revenant.dm
@@ -192,7 +192,7 @@
/datum/clockwork_scripture/invoke_nzcrentr/scripture_effects()
new/obj/effect/clockwork/general_marker/nzcrentr(get_turf(invoker))
clockwork_generals_invoked["nzcrentr"] = world.time + CLOCKWORK_GENERAL_COOLDOWN
- hierophant_message("[text2ratvar("Amperage: \"[invoker.real_name] has called forth my power. Hope they do not shatter under it!")]\"", FALSE, invoker)
+ hierophant_message("[text2ratvar("Amperage: \"[invoker.real_name] has called forth my power. Hope [invoker.p_they()] [invoker.p_do()] not shatter under it!")]\"", FALSE, invoker)
invoker.visible_message("[invoker] begins to radiate a blinding light!", \
"\"[text2ratvar("The boss says it's okay to do this. Don't blame me if you die from it.")]\"\n \
You feel limitless power surging through you!")
diff --git a/code/game/gamemodes/cult/talisman.dm b/code/game/gamemodes/cult/talisman.dm
index 4779b56d1d1..c11bb181365 100644
--- a/code/game/gamemodes/cult/talisman.dm
+++ b/code/game/gamemodes/cult/talisman.dm
@@ -153,7 +153,7 @@
if(is_blocked_turf(target))
user << "The target rune is blocked. Attempting to teleport to it would be massively unwise."
return ..(user, 0)
- user.visible_message("Dust flows from [user]'s hand, and they disappear in a flash of red light!", \
+ user.visible_message("Dust flows from [user]'s hand, and [user.p_they()] disappear in a flash of red light!", \
"You speak the words of the talisman and find yourself somewhere else!")
user.forceMove(target)
return ..()
diff --git a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm
index ef726faa6c6..8fcf1beac05 100644
--- a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm
+++ b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm
@@ -15,7 +15,7 @@
src << "You are already siphoning the essence of a soul!"
return
if(!target.stat)
- src << "This being's soul is too strong to harvest."
+ src << "[target.p_their(TRUE)] soul is too strong to harvest."
if(prob(10))
target << "You feel as if you are being watched."
return
@@ -24,13 +24,13 @@
src << "You search for the soul of [target]."
if(do_after(src, rand(10, 20), 0, target)) //did they get deleted in that second?
if(target.ckey)
- src << "Their soul burns with intelligence."
+ src << "[target.p_their(TRUE)] soul burns with intelligence."
essence_drained += rand(20, 30)
if(target.stat != DEAD)
- src << "Their soul blazes with life!"
+ src << "[target.p_their(TRUE)] soul blazes with life!"
essence_drained += rand(40, 50)
else
- src << "Their soul is weak and faltering."
+ src << "[target.p_their(TRUE)] soul is weak and faltering."
if(do_after(src, rand(15, 20), 0, target)) //did they get deleted NOW?
switch(essence_drained)
if(1 to 30)
@@ -43,7 +43,7 @@
src << "Ah, the perfect soul. [target] will yield massive amounts of essence to you."
if(do_after(src, rand(15, 25), 0, target)) //how about now
if(!target.stat)
- src << "They are now powerful enough to fight off your draining."
+ src << "[target.p_they(TRUE)] [target.p_are()] now powerful enough to fight off your draining."
target << "You feel something tugging across your body before subsiding."
draining = 0
essence_drained = 0
@@ -53,7 +53,7 @@
target << "You feel a horribly unpleasant draining sensation as your grip on life weakens..."
reveal(46)
stun(46)
- target.visible_message("[target] suddenly rises slightly into the air, their skin turning an ashy gray.")
+ target.visible_message("[target] suddenly rises slightly into the air, [target.p_their()] skin turning an ashy gray.")
var/datum/beam/B = Beam(target,icon_state="drain_life",time=46)
if(do_after(src, 46, 0, target)) //As one cannot prove the existance of ghosts, ghosts cannot prove the existance of the target they were draining.
qdel(B)
@@ -73,20 +73,13 @@
else
qdel(B)
src << "[target ? "[target] has":"They have"] been drawn out of your grasp. The link has been broken."
- draining = 0
- essence_drained = 0
if(target) //Wait, target is WHERE NOW?
target.visible_message("[target] slumps onto the ground.", \
"Violets lights, dancing in your vision, receding--")
- return
else
src << "You are not close enough to siphon [target ? "[target]'s":"their"] soul. The link has been broken."
- draining = 0
- essence_drained = 0
- return
draining = 0
essence_drained = 0
- return
//Toggle night vision: lets the revenant toggle its night vision
/obj/effect/proc_holder/spell/targeted/night_vision/revenant
diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm
index 3d25b59c96c..6cbbd46b5af 100644
--- a/code/game/gamemodes/wizard/artefact.dm
+++ b/code/game/gamemodes/wizard/artefact.dm
@@ -159,7 +159,7 @@
M.revive(full_heal = 1, admin_revive = 1)
spooky_scaries |= M
M << "You have been revived by [user.real_name]!"
- M << "They are your master now, assist them even if it costs you your new life!"
+ M << "[user.p_they(TRUE)] [user.p_are()] your master now, assist them even if it costs you your new life!"
equip_roman_skeleton(M)
diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm
index 1207cf802e3..e9e3e877a32 100644
--- a/code/game/machinery/computer/arcade.dm
+++ b/code/game/machinery/computer/arcade.dm
@@ -885,7 +885,7 @@
if(ORION_TRAIL_SPACEPORT)
gameStatus = ORION_STATUS_MARKET
if(spaceport_raided)
- eventdat += "The Spaceport is on high alert! they wont let you dock since you tried to attack them!"
+ eventdat += "The Spaceport is on high alert! They won't let you dock since you tried to attack them!"
if(last_spaceport_action)
eventdat += "
Last Spaceport Action: [last_spaceport_action]"
eventdat += "
Depart Spaceport
"
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index 1e19475213f..bf485896b3f 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -714,7 +714,7 @@ var/list/airlock_overlays = list()
H.Weaken(5)
H.apply_damage(10, BRUTE, "head")
else
- visible_message("[user] headbutts the airlock. Good thing they're wearing a helmet.")
+ visible_message("[user] headbutts the airlock. Good thing [user.p_theyre()] wearing a helmet.")
return
if(panel_open)
diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm
index edd28df385d..f8f5c75ea75 100644
--- a/code/game/machinery/newscaster.dm
+++ b/code/game/machinery/newscaster.dm
@@ -899,7 +899,7 @@ var/list/obj/machinery/newscaster/allCasters = list()
var/creationTime
/obj/item/weapon/newspaper/suicide_act(mob/user)
- user.visible_message("[user] is focusing intently on [src]! It looks like [user.p_theyre()] trying to commit sudoku... until their eyes light up with realization!")
+ user.visible_message("[user] is focusing intently on [src]! It looks like [user.p_theyre()] trying to commit sudoku... until [user.p_their()] eyes light up with realization!")
user.say(";JOURNALISM IS MY CALLING! EVERYBODY APPRECIATES UNBIASED REPORTI-GLORF")
var/mob/living/carbon/human/H = user
var/obj/W = new /obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey(H.loc)
diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm
index 0f3e88fcfb6..442f5137d82 100644
--- a/code/game/mecha/equipment/tools/medical_tools.dm
+++ b/code/game/mecha/equipment/tools/medical_tools.dm
@@ -75,7 +75,7 @@
/obj/item/mecha_parts/mecha_equipment/medical/sleeper/proc/patient_insertion_check(mob/living/carbon/target)
if(target.buckled)
- occupant_message("[target] will not fit into the sleeper because they are buckled to [target.buckled]!")
+ occupant_message("[target] will not fit into the sleeper because [target.p_they()] [target.p_are()] buckled to [target.buckled]!")
return
if(target.has_buckled_mobs())
occupant_message("[target] will not fit into the sleeper because of the creatures attached to it!")
diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm
index fdca15aa115..56ec099fbdf 100644
--- a/code/game/objects/items/devices/flashlight.dm
+++ b/code/game/objects/items/devices/flashlight.dm
@@ -62,11 +62,9 @@
if(M == user) //they're using it on themselves
if(M.flash_act(visual = 1))
- M.visible_message("[M] directs [src] to \his eyes.", \
- "You wave the light in front of your eyes! Trippy!")
+ M.visible_message("[M] directs [src] to [M.p_their()] eyes.", "You wave the light in front of your eyes! Trippy!")
else
- M.visible_message("[M] directs [src] to \his eyes.", \
- "You wave the light in front of your eyes.")
+ M.visible_message("[M] directs [src] to [M.p_their()] eyes.", "You wave the light in front of your eyes.")
else
user.visible_message("[user] directs [src] to [M]'s eyes.", \
"You direct [src] to [M]'s eyes.")
diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm
index 299b30aa08d..c6365a2ce12 100644
--- a/code/game/objects/items/robot/robot_items.dm
+++ b/code/game/objects/items/robot/robot_items.dm
@@ -76,11 +76,11 @@
playsound(loc, 'sound/weapons/tap.ogg', 50, 1, -1)
else if(ishuman(M))
if(M.lying)
- user.visible_message("[user] shakes [M] trying to get \him up!", \
- "You shake [M] trying to get \him up!")
+ user.visible_message("[user] shakes [M] trying to get [M.p_them()] up!", \
+ "You shake [M] trying to get [M.p_them()] up!")
else
- user.visible_message("[user] hugs [M] to make \him feel better!", \
- "You hug [M] to make \him feel better!")
+ user.visible_message("[user] hugs [M] to make [M.p_them()] feel better!", \
+ "You hug [M] to make [M.p_them()] feel better!")
if(M.resting)
M.resting = FALSE
M.update_canmove()
@@ -92,15 +92,15 @@
if(M.health >= 0)
if(ishuman(M))
if(M.lying)
- user.visible_message("[user] shakes [M] trying to get \him up!", \
- "You shake [M] trying to get \him up!")
+ user.visible_message("[user] shakes [M] trying to get [M.p_them()] up!", \
+ "You shake [M] trying to get [M.p_them()] up!")
else if(user.zone_selected == "head")
user.visible_message("[user] bops [M] on the head!", \
"You bop [M] on the head!")
user.do_attack_animation(M, ATTACK_EFFECT_PUNCH)
else
user.visible_message("[user] hugs [M] in a firm bear-hug! [M] looks uncomfortable...", \
- "You hug [M] firmly to make \him feel better! [M] looks uncomfortable...")
+ "You hug [M] firmly to make [M.p_them()] feel better! [M] looks uncomfortable...")
if(M.resting)
M.resting = FALSE
M.update_canmove()
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index 884669d0965..68409aad481 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -822,7 +822,7 @@
C.apply_card_vars(C,O)
C.pickup(cardUser)
cardUser.put_in_hands(C)
- cardUser.visible_message("[cardUser] draws a card from \his hand.", "You take the [C.cardname] from your hand.")
+ cardUser.visible_message("[cardUser] draws a card from [cardUser.p_their()] hand.", "You take the [C.cardname] from your hand.")
interact(cardUser)
if(src.currenthand.len < 3)
@@ -849,7 +849,7 @@
if(C.parentdeck == src.parentdeck)
src.currenthand += C.cardname
user.unEquip(C)
- user.visible_message("[user] adds a card to their hand.", "You add the [C.cardname] to your hand.")
+ user.visible_message("[user] adds a card to [user.p_their()] hand.", "You add the [C.cardname] to your hand.")
interact(user)
if(currenthand.len > 4)
src.icon_state = "[deckstyle]_hand5"
@@ -890,7 +890,7 @@
if(ishuman(user))
var/mob/living/carbon/human/cardUser = user
if(cardUser.is_holding(src))
- cardUser.visible_message("[cardUser] checks \his card.", "The card reads: [src.cardname]")
+ cardUser.visible_message("[cardUser] checks [cardUser.p_their()] card.", "The card reads: [cardname]")
else
cardUser << "You need to have the card in your hand to check it!"
@@ -939,7 +939,7 @@
if(H.parentdeck == parentdeck)
H.currenthand += cardname
user.unEquip(src)
- user.visible_message("[user] adds a card to \his hand.", "You add the [cardname] to your hand.")
+ user.visible_message("[user] adds a card to [user.p_their()] hand.", "You add the [cardname] to your hand.")
H.interact(user)
if(H.currenthand.len > 4)
H.icon_state = "[deckstyle]_hand5"
diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm
index 2f2ff9a1d02..c2f5e25e5d5 100644
--- a/code/game/objects/items/weapons/cigs_lighters.dm
+++ b/code/game/objects/items/weapons/cigs_lighters.dm
@@ -463,12 +463,10 @@ CIGARETTE PACKETS ARE IN FANCY.DM
add_overlay(I)
/obj/item/weapon/lighter/greyscale/ignition_effect(atom/A, mob/user)
- . = "After some fiddling, [user] manages to \
- light [A] with [src]."
+ . = "After some fiddling, [user] manages to light [A] with [src]."
/obj/item/weapon/lighter/ignition_effect(atom/A, mob/user)
- . = "With a single flick of their wrist, [user] \
- smoothly lights [A] with [src]. Damn they're cool."
+ . = "With a single flick of their wrist, [user] smoothly lights [A] with [src]. Damn [user.p_theyre()] cool."
/obj/item/weapon/lighter/update_icon()
icon_state = lit ? "[icon_state]_on" : "[initial(icon_state)]"
@@ -500,7 +498,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
else
var/hitzone = user.held_index_to_dir(user.active_hand_index) == "r" ? "r_hand" : "l_hand"
user.apply_damage(5, BURN, hitzone)
- user.visible_message("After a few attempts, [user] manages to light [src] - they however burn their finger in the process.", "You burn yourself while lighting the lighter!")
+ user.visible_message("After a few attempts, [user] manages to light [src] - however, [user.p_they()] burn their finger in the process.", "You burn yourself while lighting the lighter!")
user.AddLuminosity(1)
START_PROCESSING(SSobj, src)
@@ -511,7 +509,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
force = 0
attack_verb = null //human_defense.dm takes care of it
if(!istype(src, /obj/item/weapon/lighter/greyscale))
- user.visible_message("You hear a quiet click, as [user] shuts off [src] without even looking at what they're doing. Wow.", "You quietly shut off [src] without even looking at what you're doing. Wow.")
+ user.visible_message("You hear a quiet click, as [user] shuts off [src] without even looking at what [user.p_theyre()] doing. Wow.", "You quietly shut off [src] without even looking at what you're doing. Wow.")
else
user.visible_message("[user] quietly shuts off [src].", "You quietly shut off [src].")
user.AddLuminosity(-1)
@@ -531,7 +529,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
cig.attackby(src, user)
else
if(!istype(src, /obj/item/weapon/lighter/greyscale))
- cig.light("[user] whips the [name] out and holds it for [M]. Their arm is as steady as the unflickering flame they light \the [cig] with.")
+ cig.light("[user] whips the [name] out and holds it for [M]. [user.p_their(TRUE)] arm is as steady as the unflickering flame they light \the [cig] with.")
else
cig.light("[user] holds the [name] out for [M], and lights the [cig.name].")
else
diff --git a/code/game/objects/items/weapons/dna_injector.dm b/code/game/objects/items/weapons/dna_injector.dm
index 008d420c9a4..70b456ab6a0 100644
--- a/code/game/objects/items/weapons/dna_injector.dm
+++ b/code/game/objects/items/weapons/dna_injector.dm
@@ -310,7 +310,7 @@
if(M.has_dna() && !(M.disabilities & NOCLONE))
if(M.stat == DEAD) //prevents dead people from having their DNA changed
- user << "You can't modify [M]'s DNA while \he's dead."
+ user << "You can't modify [M]'s DNA while [M.p_theyre()] dead."
return
M.radiation += rand(20/(damage_coeff ** 2),50/(damage_coeff ** 2))
var/log_msg = "[key_name(user)] injected [key_name(M)] with the [name]"
diff --git a/code/modules/client/verbs/suicide.dm b/code/modules/client/verbs/suicide.dm
index 3dee26565f4..a91c7bca03b 100644
--- a/code/modules/client/verbs/suicide.dm
+++ b/code/modules/client/verbs/suicide.dm
@@ -43,10 +43,10 @@
death(0)
return
- var/suicide_message = pick("[src] is attempting to bite \his tongue off! It looks like \he's trying to commit suicide.", \
- "[src] is jamming \his thumbs into \his eye sockets! It looks like \he's trying to commit suicide.", \
- "[src] is twisting \his own neck! It looks like \he's trying to commit suicide.", \
- "[src] is holding \his breath! It looks like \he's trying to commit suicide.")
+ var/suicide_message = pick("[src] is attempting to bite [p_their()] tongue off! It looks like [p_theyre()] trying to commit suicide.", \
+ "[src] is jamming [p_their()] thumbs into [p_their()] eye sockets! It looks like [p_theyre()] trying to commit suicide.", \
+ "[src] is twisting [p_their()] own neck! It looks like [p_theyre()] trying to commit suicide.", \
+ "[src] is holding [p_their()] breath! It looks like [p_theyre()] trying to commit suicide.")
visible_message("[suicide_message]", "[suicide_message]")
@@ -62,10 +62,9 @@
return
if(confirm == "Yes")
suiciding = 1
- visible_message("[src]'s brain is growing dull and lifeless. It looks like it's lost the will to live.", \
- "[src]'s brain is growing dull and lifeless. It looks like it's lost the will to live.")
- spawn(50)
- death(0)
+ visible_message("[src]'s brain is growing dull and lifeless. [p_they(TRUE)] look[p_s()] like [p_theyve()] lost the will to live.", \
+ "[src]'s brain is growing dull and lifeless. [p_they(TRUE)] look[p_s()] like [p_theyve()] lost the will to live.")
+ death(0)
/mob/living/carbon/monkey/verb/suicide()
set hidden = 1
@@ -76,9 +75,8 @@
return
if(confirm == "Yes")
suiciding = 1
- //instead of killing them instantly, just put them at -175 health and let 'em gasp for a while
- visible_message("[src] is attempting to bite \his tongue. It looks like \he's trying to commit suicide.", \
- "[src] is attempting to bite \his tongue. It looks like \he's trying to commit suicide.")
+ visible_message("[src] is attempting to bite [p_their()] tongue. It looks like [p_theyre()] trying to commit suicide.", \
+ "[src] is attempting to bite [p_their()] tongue. It looks like [p_theyre()] trying to commit suicide.")
adjustOxyLoss(max(200- getToxLoss() - getFireLoss() - getBruteLoss() - getOxyLoss(), 0))
death(0)
@@ -91,8 +89,8 @@
return
if(confirm == "Yes")
suiciding = 1
- visible_message("[src] is powering down. It looks like \he's trying to commit suicide.", \
- "[src] is powering down. It looks like \he's trying to commit suicide.")
+ visible_message("[src] is powering down. It looks like [p_theyre()] trying to commit suicide.", \
+ "[src] is powering down. It looks like [p_theyre()] trying to commit suicide.")
//put em at -175
adjustOxyLoss(max(maxHealth * 2 - getToxLoss() - getFireLoss() - getBruteLoss() - getOxyLoss(), 0))
death(0)
@@ -106,8 +104,8 @@
return
if(confirm == "Yes")
suiciding = 1
- visible_message("[src] is powering down. It looks like \he's trying to commit suicide.", \
- "[src] is powering down. It looks like \he's trying to commit suicide.")
+ visible_message("[src] is powering down. It looks like [p_theyre()] trying to commit suicide.", \
+ "[src] is powering down. It looks like [p_theyre()] trying to commit suicide.")
//put em at -175
adjustOxyLoss(max(maxHealth * 2 - getToxLoss() - getFireLoss() - getBruteLoss() - getOxyLoss(), 0))
death(0)
@@ -134,8 +132,8 @@
return
if(confirm == "Yes")
suiciding = 1
- visible_message("[src] is thrashing wildly! It looks like \he's trying to commit suicide.", \
- "[src] is thrashing wildly! It looks like \he's trying to commit suicide.", \
+ visible_message("[src] is thrashing wildly! It looks like [p_theyre()] trying to commit suicide.", \
+ "[src] is thrashing wildly! It looks like [p_theyre()] trying to commit suicide.", \
"You hear thrashing.")
//put em at -175
adjustOxyLoss(max(200 - getFireLoss() - getBruteLoss() - getOxyLoss(), 0))
@@ -150,8 +148,8 @@
return
if(confirm == "Yes")
suiciding = 1
- visible_message("[src] begins to fall down. It looks like \he's lost the will to live.", \
- "[src] begins to fall down. It looks like \he's lost the will to live.")
+ visible_message("[src] begins to fall down. It looks like [p_theyve()] lost the will to live.", \
+ "[src] begins to fall down. It looks like [p_theyve()] lost the will to live.")
death(0)
diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm
index e2bf191bd27..983b8338a71 100644
--- a/code/modules/food_and_drinks/drinks/drinks.dm
+++ b/code/modules/food_and_drinks/drinks/drinks.dm
@@ -310,7 +310,7 @@
/obj/item/weapon/reagent_containers/food/drinks/soda_cans/attack(mob/M, mob/user)
if(M == user && !src.reagents.total_volume && user.a_intent == INTENT_HARM && user.zone_selected == "head")
- user.visible_message("[user] crushes the can of [src] on \his forehead!", "You crush the can of [src] on your forehead.")
+ user.visible_message("[user] crushes the can of [src] on [user.p_their()] forehead!", "You crush the can of [src] on your forehead.")
playsound(user.loc,'sound/weapons/pierce.ogg', rand(10,50), 1)
var/obj/item/trash/can/crushed_can = new /obj/item/trash/can(user.loc)
crushed_can.icon_state = icon_state
diff --git a/code/modules/holodeck/items.dm b/code/modules/holodeck/items.dm
index c146cb2f89e..144b13aae95 100644
--- a/code/modules/holodeck/items.dm
+++ b/code/modules/holodeck/items.dm
@@ -82,7 +82,7 @@
M.apply_damage(10, STAMINA)
if(prob(5))
M.Weaken(3)
- visible_message("[M] is knocked right off \his feet!")
+ visible_message("[M] is knocked right off [M.p_their()] feet!")
//
// Structures
diff --git a/code/modules/mob/living/brain/brain_item.dm b/code/modules/mob/living/brain/brain_item.dm
index 0829992a4be..f9b84a4abac 100644
--- a/code/modules/mob/living/brain/brain_item.dm
+++ b/code/modules/mob/living/brain/brain_item.dm
@@ -95,9 +95,9 @@
if(!C.get_bodypart("head"))
return
user.drop_item()
- var/msg = "[C] has [src] inserted into \his head by [user]."
+ var/msg = "[C] has [src] inserted into [C.p_their()] head by [user]."
if(C == user)
- msg = "[user] inserts [src] into \his head!"
+ msg = "[user] inserts [src] into [user.p_their()] head!"
C.visible_message("[msg]",
"[msg]")
diff --git a/code/modules/mob/living/carbon/human/species_types.dm b/code/modules/mob/living/carbon/human/species_types.dm
index 7fbd2fd55a2..503a71c410a 100644
--- a/code/modules/mob/living/carbon/human/species_types.dm
+++ b/code/modules/mob/living/carbon/human/species_types.dm
@@ -129,7 +129,7 @@
if(prob(15))
H.rad_act(rand(30,80))
H.Weaken(5)
- H.visible_message("[H] writhes in pain as \his vacuoles boil.", "You writhe in pain as your vacuoles boil!", "You hear the crunching of leaves.")
+ H.visible_message("[H] writhes in pain as [H.p_their()] vacuoles boil.", "You writhe in pain as your vacuoles boil!", "You hear the crunching of leaves.")
if(prob(80))
H.randmutb()
else
diff --git a/code/modules/mob/living/silicon/pai/software.dm b/code/modules/mob/living/silicon/pai/software.dm
index 9b6704bfcf9..6739008f48e 100644
--- a/code/modules/mob/living/silicon/pai/software.dm
+++ b/code/modules/mob/living/silicon/pai/software.dm
@@ -372,7 +372,7 @@
/mob/living/silicon/pai/proc/CheckDNA(mob/living/carbon/M, mob/living/silicon/pai/P)
var/answer = input(M, "[P] is requesting a DNA sample from you. Will you allow it to confirm your identity?", "[P] Check DNA", "No") in list("Yes", "No")
if(answer == "Yes")
- M.visible_message("[M] presses \his thumb against [P].",\
+ M.visible_message("[M] presses [M.p_their()] thumb against [P].",\
"You press your thumb against [P].",\
"[P] makes a sharp clicking sound as it extracts DNA material from [M].")
if(!M.has_dna())
@@ -384,7 +384,7 @@
else
P << "DNA does not match stored Master DNA."
else
- P << "[M] does not seem like \he is going to provide a DNA sample willingly."
+ P << "[M] does not seem like [M.p_they()] [M.p_are()] going to provide a DNA sample willingly."
// -=-=-=-= Software =-=-=-=-=- //
diff --git a/code/modules/mob/living/silicon/robot/emote.dm b/code/modules/mob/living/silicon/robot/emote.dm
index bbb524a7dc7..cfb3864cdd1 100644
--- a/code/modules/mob/living/silicon/robot/emote.dm
+++ b/code/modules/mob/living/silicon/robot/emote.dm
@@ -8,7 +8,7 @@
switch(act)//01000001011011000111000001101000011000010110001001100101011101000110100101111010011001010110010000100001 (Seriously please keep it that way.)
if ("aflap")
if (!src.restrained())
- message = "[src] flaps \his wings ANGRILY!"
+ message = "[src] flaps [p_their()] wings ANGRILY!"
m_type = 2
m_type = 1
@@ -108,7 +108,7 @@
if ("flap","flaps")
if (!src.restrained())
- message = "[src] flaps \his wings."
+ message = "[src] flaps [p_their()] wings."
m_type = 2
if ("glare","glares")
diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm
index e3f251bf219..2f2319c949a 100644
--- a/code/modules/mob/living/simple_animal/friendly/dog.dm
+++ b/code/modules/mob/living/simple_animal/friendly/dog.dm
@@ -75,10 +75,10 @@
//helmet and armor = 100% protection
if( istype(inventory_head,/obj/item/clothing/head/helmet) && istype(inventory_back,/obj/item/clothing/suit/armor) )
if( O.force )
- user << "[src] is wearing too much armor! You can't cause \him any damage."
+ user << "[src] is wearing too much armor! You can't cause [p_them()] any damage."
visible_message("[user] hits [src] with [O], however [src] is too armored.")
else
- user << "[src] is wearing too much armor! You can't reach \his skin."
+ user << "[src] is wearing too much armor! You can't reach [p_their()] skin."
visible_message("[user] gently taps [src] with [O].")
if(health>0 && prob(15))
emote("me", 1, "looks at [user] with [pick("an amused","an annoyed","a confused","a resentful", "a happy", "an excited")] expression.")
@@ -224,10 +224,10 @@
if(valid)
if(health <= 0)
- user << "There is merely a dull, lifeless look in [real_name]'s eyes as you put the [item_to_add] on \him."
+ user << "There is merely a dull, lifeless look in [real_name]'s eyes as you put the [item_to_add] on [p_them()]."
else if(user)
user.visible_message("[user] puts [item_to_add] on [real_name]'s head. [src] looks at [user] and barks once.",
- "You put [item_to_add] on [real_name]'s head. [src] gives you a peculiar look, then wags \his tail once and barks.",
+ "You put [item_to_add] on [real_name]'s head. [src] gives you a peculiar look, then wags [p_their()] tail once and barks.",
"You hear a friendly-sounding bark.")
item_to_add.loc = src
src.inventory_head = item_to_add
diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
index 277bb22e818..b024938caf8 100644
--- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
+++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
@@ -62,7 +62,7 @@
/mob/living/simple_animal/hostile/retaliate/goat/Retaliate()
..()
- src.visible_message("[src] gets an evil-looking gleam in \his eye.")
+ src.visible_message("[src] gets an evil-looking gleam in [p_their()] eye.")
/mob/living/simple_animal/hostile/retaliate/goat/Move()
..()
diff --git a/code/modules/mob/living/simple_animal/guardian/types/protector.dm b/code/modules/mob/living/simple_animal/guardian/types/protector.dm
index 275c5bb8f81..5c04515ddcd 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/protector.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/protector.dm
@@ -61,7 +61,7 @@
return
else
summoner << "You moved out of range, and were pulled back! You can only move [range] meters from [real_name]!"
- summoner.visible_message("\The [summoner] jumps back to \his protector.")
+ summoner.visible_message("\The [summoner] jumps back to [summoner.p_their()] protector.")
PoolOrNew(/obj/effect/overlay/temp/guardian/phase/out, get_turf(summoner))
summoner.forceMove(get_turf(src))
PoolOrNew(/obj/effect/overlay/temp/guardian/phase, get_turf(summoner))
diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm
index 13a2ed09da0..fe925c1fedf 100644
--- a/code/modules/power/supermatter/supermatter.dm
+++ b/code/modules/power/supermatter/supermatter.dm
@@ -273,7 +273,7 @@
/obj/machinery/power/supermatter_shard/attack_hand(mob/living/user)
if(!istype(user))
return
- user.visible_message("\The [user] reaches out and touches \the [src], inducing a resonance... \his body starts to glow and bursts into flames before flashing into ash.",\
+ user.visible_message("\The [user] reaches out and touches \the [src], inducing a resonance... [user.p_their()] body starts to glow and bursts into flames before flashing into ash.",\
"You reach out and touch \the [src]. Everything starts burning and all you can hear is ringing. Your last thought is \"That was not a wise decision.\"",\
"You hear an unearthly noise as a wave of heat washes over you.")
@@ -302,7 +302,7 @@
/obj/machinery/power/supermatter_shard/Bumped(atom/AM)
if(isliving(AM))
- AM.visible_message("\The [AM] slams into \the [src] inducing a resonance... \his body starts to glow and catch flame before flashing into ash.",\
+ AM.visible_message("\The [AM] slams into \the [src] inducing a resonance... [AM.p_their()] body starts to glow and catch flame before flashing into ash.",\
"You slam into \the [src] as your ears are filled with unearthly ringing. Your last thought is \"Oh, fuck.\"",\
"You hear an unearthly noise as a wave of heat washes over you.")
else if(isobj(AM) && !istype(AM, /obj/effect))
diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm
index 5c3c4515014..96845325172 100644
--- a/code/modules/projectiles/guns/ballistic/revolver.dm
+++ b/code/modules/projectiles/guns/ballistic/revolver.dm
@@ -245,7 +245,7 @@
if(zone == "head" || zone == "eyes" || zone == "mouth")
shoot_self(user, affecting)
else
- user.visible_message("[user.name] cowardly fires [src] at \his [affecting.name]!", "You cowardly fire [src] at your [affecting.name]!", "You hear a gunshot!")
+ user.visible_message("[user.name] cowardly fires [src] at [user.p_their()] [affecting.name]!", "You cowardly fire [src] at your [affecting.name]!", "You hear a gunshot!")
return
user.visible_message("*click*")
@@ -253,7 +253,7 @@
/obj/item/weapon/gun/ballistic/revolver/russian/proc/shoot_self(mob/living/carbon/human/user, affecting = "head")
user.apply_damage(300, BRUTE, affecting)
- user.visible_message("[user.name] fires [src] at \his head!", "You fire [src] at your head!", "You hear a gunshot!")
+ user.visible_message("[user.name] fires [src] at [user.p_their()] head!", "You fire [src] at your head!", "You hear a gunshot!")
/obj/item/weapon/gun/ballistic/revolver/russian/soul
name = "cursed russian revolver"
diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm
index 7cc303bc814..7df92fd6420 100644
--- a/code/modules/reagents/reagent_dispenser.dm
+++ b/code/modules/reagents/reagent_dispenser.dm
@@ -103,11 +103,11 @@
user << "Your [W.name] is already full!"
return
reagents.trans_to(W, W.max_fuel)
- user.visible_message("[user] refills \his [W.name].", "You refill [W].")
+ user.visible_message("[user] refills [user.p_their()] [W.name].", "You refill [W].")
playsound(src, 'sound/effects/refill.ogg', 50, 1)
update_icon()
else
- user.visible_message("[user] catastrophically fails at refilling \his [W.name]!", "That was stupid of you.")
+ user.visible_message("[user] catastrophically fails at refilling [user.p_their()] [W.name]!", "That was stupid of you.")
var/message = "[key_name_admin(user)] triggered a fueltank explosion via welding tool."
bombers += message
message_admins(message)
diff --git a/code/modules/surgery/bodyparts/bodyparts.dm b/code/modules/surgery/bodyparts/bodyparts.dm
index 38ecc4e5295..d8a132363cc 100644
--- a/code/modules/surgery/bodyparts/bodyparts.dm
+++ b/code/modules/surgery/bodyparts/bodyparts.dm
@@ -62,7 +62,7 @@
if(EASYLIMBATTACHMENT in H.dna.species.species_traits)
if(!H.get_bodypart(body_zone) && !animal_origin)
if(H == user)
- H.visible_message("[H] jams [src] into \his empty socket!",\
+ H.visible_message("[H] jams [src] into [H.p_their()] empty socket!",\
"You force [src] into your empty socket, and it locks into place!")
else
H.visible_message("[user] jams [src] into [H]'s empty socket!",\
diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm
index 95678fb597f..a9dcf674556 100644
--- a/code/modules/surgery/organs/augments_arms.dm
+++ b/code/modules/surgery/organs/augments_arms.dm
@@ -64,7 +64,7 @@
if(!holder || (holder in src))
return
- owner.visible_message("[owner] retracts [holder] back into \his [zone == "r_arm" ? "right" : "left"] arm.",
+ owner.visible_message("[owner] retracts [holder] back into [owner.p_their()] [zone == "r_arm" ? "right" : "left"] arm.",
"[holder] snaps back into your [zone == "r_arm" ? "right" : "left"] arm.",
"You hear a short mechanical noise.")
@@ -110,7 +110,7 @@
// Activate the hand that now holds our item.
owner.swap_hand(result)//... or the 1st hand if the index gets lost somehow
- owner.visible_message("[owner] extends [holder] from \his [zone == "r_arm" ? "right" : "left"] arm.",
+ owner.visible_message("[owner] extends [holder] from [owner.p_their()] [zone == "r_arm" ? "right" : "left"] arm.",
"You extend [holder] from your [zone == "r_arm" ? "right" : "left"] arm.",
"You hear a short mechanical noise.")
playsound(get_turf(owner), 'sound/mecha/mechmove03.ogg', 50, 1)