mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-29 16:10:02 +01:00
Replaces \gender to fix metagaming issues. (#9745)
This commit is contained in:
@@ -708,7 +708,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
toggle_visibility(1)
|
||||
else
|
||||
user.visible_message ( \
|
||||
"<span class='warning'>\The [user] just tried to smash \his book into that ghost! It's not very effective.</span>", \
|
||||
"<span class='warning'>\The [user] just tried to smash [user.get_pronoun("his")] book into that ghost! It's not very effective.</span>", \
|
||||
"<span class='warning'>You get the feeling that the ghost can't become any more visible.</span>" \
|
||||
)
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
var/list/datum/gender/gender_datums = list()
|
||||
|
||||
/hook/startup/proc/populate_gender_datum_list()
|
||||
@@ -14,11 +13,14 @@ var/list/datum/gender/gender_datums = list()
|
||||
var/he = "they"
|
||||
var/His = "Their"
|
||||
var/his = "their"
|
||||
var/hers = "theirs" // used to disambiguate between possessive pronouns and possessive adjectives
|
||||
var/Hers = "Theirs"
|
||||
var/him = "them"
|
||||
var/has = "have"
|
||||
var/is = "are"
|
||||
var/does = "do"
|
||||
var/self = "themselves"
|
||||
var/end = ""
|
||||
|
||||
/datum/gender/male
|
||||
key = "male"
|
||||
@@ -27,11 +29,14 @@ var/list/datum/gender/gender_datums = list()
|
||||
he = "he"
|
||||
His = "His"
|
||||
his = "his"
|
||||
hers = "his"
|
||||
Hers = "His"
|
||||
him = "him"
|
||||
has = "has"
|
||||
is = "is"
|
||||
does = "does"
|
||||
self = "himself"
|
||||
end = "s"
|
||||
|
||||
/datum/gender/female
|
||||
key = "female"
|
||||
@@ -40,11 +45,14 @@ var/list/datum/gender/gender_datums = list()
|
||||
he = "she"
|
||||
His = "Her"
|
||||
his = "her"
|
||||
hers = "hers"
|
||||
Hers = "Hers"
|
||||
him = "her"
|
||||
has = "has"
|
||||
is = "is"
|
||||
does = "does"
|
||||
self = "herself"
|
||||
end = "s"
|
||||
|
||||
/datum/gender/neuter
|
||||
key = "neuter"
|
||||
@@ -53,8 +61,19 @@ var/list/datum/gender/gender_datums = list()
|
||||
he = "it"
|
||||
His = "Its"
|
||||
his = "its"
|
||||
hers = "its"
|
||||
Hers = "its"
|
||||
him = "it"
|
||||
has = "has"
|
||||
is = "is"
|
||||
does = "does"
|
||||
self = "itself"
|
||||
end = "s"
|
||||
|
||||
/atom/proc/get_gender() // This is on /atom/ for compatibility reasons, e.g. for emotes to not have to typecheck.
|
||||
return gender
|
||||
|
||||
/atom/proc/get_pronoun(var/type)
|
||||
var/gender_to_use = get_gender()
|
||||
if (type in gender_datums[gender_to_use])
|
||||
return gender_datums[gender_to_use][type]
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
if(speaker == src)
|
||||
to_chat(src, "<span class='warning'>You cannot hear yourself speak!</span>")
|
||||
else
|
||||
to_chat(src, "<span class='name'>[speaker_name]</span>[alt_name] talks but you cannot hear \him.")
|
||||
to_chat(src, "<span class='name'>[speaker_name]</span>[alt_name] talks but you cannot hear them.")
|
||||
else
|
||||
if(language)
|
||||
on_hear_say("[track][accent_icon ? accent_icon + " " : ""]<span class='game say'><span class='name'>[speaker_name]</span>[alt_name] [language.format_message(message, verb)]</span>")
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
to_chat(src, SPAN_WARNING("[D] has refused to join you!"))
|
||||
return
|
||||
else if(!Adjacent(D) || !isturf(D.loc))
|
||||
to_chat(src, SPAN_WARNING("\The [D] must remain close to the collective if \he wishes to be part of us."))
|
||||
to_chat(src, SPAN_WARNING("\The [D] must remain close to the collective if [D.get_pronoun("he")] wishes to be part of us."))
|
||||
return
|
||||
|
||||
src.visible_message(SPAN_WARNING("[src] starts absorbing [D] into its body."), SPAN_WARNING("You start absorbing [D]. This will take 15 seconds and both of you must remain still."), SPAN_WARNING("You hear a strange, alien, sucking noise."))
|
||||
@@ -104,7 +104,7 @@
|
||||
D.face_atom(get_turf(src))
|
||||
if(do_mob(src, D, 150, needhand = FALSE))
|
||||
if(!Adjacent(D) || !isturf(D.loc)) //The loc check prevents us from absorbing the same nymph multiple times at once
|
||||
to_chat(src, SPAN_WARNING("\The [D] must remain close to the collective if \he wishes to be part of us."))
|
||||
to_chat(src, SPAN_WARNING("\The [D] must remain close to the collective if [D.get_pronoun("he")] wishes to be part of us."))
|
||||
return
|
||||
|
||||
if(D.stat == DEAD)
|
||||
@@ -336,11 +336,11 @@
|
||||
|
||||
if(stat == DEAD)
|
||||
return
|
||||
|
||||
|
||||
if(!consume_nutrition_from_air && (nutrition / max_nutrition > 0.25))
|
||||
to_chat(src, SPAN_WARNING("You still have plenty of nutrition left. Consuming air is the last resort."))
|
||||
return
|
||||
|
||||
|
||||
consume_nutrition_from_air = !consume_nutrition_from_air
|
||||
to_chat(src, SPAN_NOTICE("You [consume_nutrition_from_air ? "started" : "stopped"] consuming air for nutrition."))
|
||||
|
||||
@@ -379,7 +379,7 @@
|
||||
else
|
||||
to_chat(src, SPAN_NOTICE("We do not have the nymphs nor the biomass to do this!"))
|
||||
return
|
||||
|
||||
|
||||
var/list/diona_structures = list(
|
||||
"Wall" = /turf/simulated/wall/diona,
|
||||
"Floor" = /turf/simulated/floor/diona,
|
||||
@@ -395,7 +395,7 @@
|
||||
|
||||
if(use_check_and_message(src))
|
||||
return
|
||||
|
||||
|
||||
if(chosen_structure)
|
||||
to_chat(src, SPAN_NOTICE("We are now creating a [lowertext(chosen_structure)] using our [build_method]..."))
|
||||
|
||||
@@ -420,12 +420,12 @@
|
||||
T.ChangeTurf(structure_path)
|
||||
else
|
||||
new structure_path(T)
|
||||
|
||||
|
||||
/mob/living/carbon/alien/diona/proc/remove_hat()
|
||||
set category = "Abilities"
|
||||
set name = "Remove Hat"
|
||||
set desc = " Remove your hat."
|
||||
|
||||
|
||||
if(hat)
|
||||
src.drop_from_inventory(hat)
|
||||
hat = null
|
||||
|
||||
@@ -484,4 +484,4 @@
|
||||
return
|
||||
for(var/source in stasis_sources)
|
||||
stasis_value += stasis_sources[source]
|
||||
stasis_sources.Cut()
|
||||
stasis_sources.Cut()
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
set desc = "Sets a description which will be shown when someone examines you."
|
||||
set category = "IC"
|
||||
|
||||
pose = sanitize(input(usr, "This is [src]. [get_visible_gender() == MALE ? "He" : get_visible_gender() == FEMALE ? "She" : "They"]...", "Pose", html_decode(pose)) as message)
|
||||
pose = sanitize(input(usr, "This is [src]. [get_pronoun("He")]...", "Pose", html_decode(pose)) as message)
|
||||
|
||||
/mob/living/carbon/human/verb/set_flavor()
|
||||
set name = "Set Flavour Text"
|
||||
|
||||
@@ -1,57 +1,32 @@
|
||||
/mob/living/carbon/human/examine(mob/user)
|
||||
var/skipgloves = 0
|
||||
var/skipsuitstorage = 0
|
||||
var/skipjumpsuit = 0
|
||||
var/skipshoes = 0
|
||||
var/skipmask = 0
|
||||
var/skipears = 0
|
||||
var/skipeyes = 0
|
||||
var/skipface = 0
|
||||
/mob/living/carbon/human/proc/get_covered_body_parts()
|
||||
var/skipbody = 0
|
||||
for(var/obj/item/clothing/C in list(wear_suit, head, wear_mask, w_uniform, gloves, shoes))
|
||||
skipbody |= C.body_parts_covered
|
||||
return skipbody
|
||||
|
||||
/mob/living/carbon/human/proc/get_covered_clothes()
|
||||
var/skipitems = 0
|
||||
for(var/obj/item/clothing/C in list(wear_suit, head, wear_mask, w_uniform, gloves, shoes))
|
||||
skipitems |= C.flags_inv
|
||||
return skipitems
|
||||
|
||||
/mob/living/carbon/human/examine(mob/user)
|
||||
var/skipbody = get_covered_body_parts()
|
||||
var/skipitems = get_covered_clothes()
|
||||
|
||||
//exosuits and helmets obscure our view and stuff.
|
||||
if(wear_suit)
|
||||
skipbody |= wear_suit.body_parts_covered
|
||||
skipgloves = wear_suit.flags_inv & HIDEGLOVES
|
||||
skipsuitstorage = wear_suit.flags_inv & HIDESUITSTORAGE
|
||||
skipjumpsuit = wear_suit.flags_inv & HIDEJUMPSUIT
|
||||
skipshoes = wear_suit.flags_inv & HIDESHOES
|
||||
|
||||
if(head)
|
||||
skipbody |= head.body_parts_covered
|
||||
skipbody &= ~HEAD // head covering incorrectly hides 'face' damage
|
||||
skipbody |= (skipbody & FACE) ? HEAD : 0 // if you hide face damage, however, then go ahead and hide head damage, since that's where face damage is
|
||||
skipmask = head.flags_inv & HIDEMASK
|
||||
skipeyes = head.flags_inv & HIDEEYES
|
||||
skipears = head.flags_inv & HIDEEARS
|
||||
skipface = head.flags_inv & HIDEFACE
|
||||
|
||||
if(wear_mask)
|
||||
skipbody |= wear_mask.body_parts_covered
|
||||
skipbody |= (wear_mask.body_parts_covered & FACE) ? HEAD : 0 // same as above
|
||||
skipface |= wear_mask.flags_inv & HIDEFACE
|
||||
|
||||
if(w_uniform)
|
||||
skipbody |= w_uniform.body_parts_covered
|
||||
|
||||
if(gloves)
|
||||
skipbody |= gloves.body_parts_covered
|
||||
|
||||
if(shoes)
|
||||
skipbody |= shoes.body_parts_covered
|
||||
var/skipgloves = skipitems & HIDEGLOVES
|
||||
var/skipsuitstorage = skipitems & HIDESUITSTORAGE
|
||||
var/skipjumpsuit = skipitems & HIDEJUMPSUIT
|
||||
var/skipshoes = skipitems & HIDESHOES
|
||||
var/skipmask = skipitems & HIDEMASK
|
||||
var/skipeyes = skipitems & HIDEEYES
|
||||
var/skipears = skipitems & HIDEEARS
|
||||
|
||||
var/list/msg = list("<span class='info'>*---------*\nThis is ")
|
||||
|
||||
var/datum/gender/T = gender_datums[gender]
|
||||
if(skipjumpsuit && skipface) //big suits/masks/helmets make it hard to tell their gender
|
||||
T = gender_datums[PLURAL]
|
||||
else
|
||||
if(icon)
|
||||
msg += "\icon[icon] " //fucking BYOND: this should stop dreamseeker crashing if we -somehow- examine somebody before their icon is generated
|
||||
|
||||
if(!T)
|
||||
// Just in case someone VVs the gender to something strange. It'll runtime anyway when it hits usages, better to CRASH() now with a helpful message.
|
||||
CRASH("Gender datum was null; key was '[(skipjumpsuit && skipface) ? PLURAL : gender]'")
|
||||
if(icon)
|
||||
msg += "\icon[icon] " //fucking BYOND: this should stop dreamseeker crashing if we -somehow- examine somebody before their icon is generated
|
||||
|
||||
msg += "<EM>[src.name]</EM>"
|
||||
|
||||
@@ -71,9 +46,9 @@
|
||||
tie_msg_warn += "! Attached to it is [lowertext(english_list(U.accessories))]"
|
||||
|
||||
if(w_uniform.blood_color)
|
||||
msg += "<span class='warning'>[T.He] [T.is] wearing \icon[w_uniform] [w_uniform.gender==PLURAL?"some":"a"] [fluid_color_type_map(w_uniform.blood_color)]-stained <a href='?src=\ref[src];lookitem_desc_only=\ref[w_uniform]'>[w_uniform.name]</a>[tie_msg_warn].</span>\n"
|
||||
msg += "<span class='warning'>[get_pronoun("He")] [get_pronoun("is")] wearing \icon[w_uniform] [w_uniform.gender==PLURAL?"some":"a"] [fluid_color_type_map(w_uniform.blood_color)]-stained <a href='?src=\ref[src];lookitem_desc_only=\ref[w_uniform]'>[w_uniform.name]</a>[tie_msg_warn].</span>\n"
|
||||
else
|
||||
msg += "[T.He] [T.is] wearing \icon[w_uniform] <a href='?src=\ref[src];lookitem_desc_only=\ref[w_uniform]'>\a [w_uniform]</a>[tie_msg].\n"
|
||||
msg += "[get_pronoun("He")] [get_pronoun("is")] wearing \icon[w_uniform] <a href='?src=\ref[src];lookitem_desc_only=\ref[w_uniform]'>\a [w_uniform]</a>[tie_msg].\n"
|
||||
|
||||
//when the player is winded by an admin
|
||||
if(paralysis > 6000)
|
||||
@@ -82,9 +57,9 @@
|
||||
//head
|
||||
if(head)
|
||||
if(head.blood_color)
|
||||
msg += "<span class='warning'>[T.He] [T.is] wearing \icon[head] [head.gender==PLURAL?"some":"a"] [fluid_color_type_map(head.blood_color)]-stained <a href='?src=\ref[src];lookitem_desc_only=\ref[head]'>[head.name]</a> on [T.his] head!</span>\n"
|
||||
msg += "<span class='warning'>[get_pronoun("He")] [get_pronoun("is")] wearing \icon[head] [head.gender==PLURAL?"some":"a"] [fluid_color_type_map(head.blood_color)]-stained <a href='?src=\ref[src];lookitem_desc_only=\ref[head]'>[head.name]</a> on [get_pronoun("his")] head!</span>\n"
|
||||
else
|
||||
msg += "[T.He] [T.is] wearing \icon[head] <a href='?src=\ref[src];lookitem_desc_only=\ref[head]'>\a [head]</a> on [T.his] head.\n"
|
||||
msg += "[get_pronoun("He")] [get_pronoun("is")] wearing \icon[head] <a href='?src=\ref[src];lookitem_desc_only=\ref[head]'>\a [head]</a> on [get_pronoun("his")] head.\n"
|
||||
|
||||
//suit/armor
|
||||
if(wear_suit)
|
||||
@@ -97,42 +72,42 @@
|
||||
tie_msg_warn += "! Attached to it is [lowertext(english_list(U.accessories))]"
|
||||
|
||||
if(wear_suit.blood_color)
|
||||
msg += "<span class='warning'>[T.He] [T.is] wearing \icon[wear_suit] [wear_suit.gender==PLURAL?"some":"a"] [fluid_color_type_map(wear_suit.blood_color)]-stained <a href='?src=\ref[src];lookitem_desc_only=\ref[wear_suit]'>[wear_suit.name]</a>[tie_msg_warn].</span>\n"
|
||||
msg += "<span class='warning'>[get_pronoun("He")] [get_pronoun("is")] wearing \icon[wear_suit] [wear_suit.gender==PLURAL?"some":"a"] [fluid_color_type_map(wear_suit.blood_color)]-stained <a href='?src=\ref[src];lookitem_desc_only=\ref[wear_suit]'>[wear_suit.name]</a>[tie_msg_warn].</span>\n"
|
||||
else
|
||||
msg += "[T.He] [T.is] wearing \icon[wear_suit] <a href='?src=\ref[src];lookitem_desc_only=\ref[wear_suit]'>\a [wear_suit]</a>[tie_msg].\n"
|
||||
msg += "[get_pronoun("He")] [get_pronoun("is")] wearing \icon[wear_suit] <a href='?src=\ref[src];lookitem_desc_only=\ref[wear_suit]'>\a [wear_suit]</a>[tie_msg].\n"
|
||||
|
||||
//suit/armor storage
|
||||
if(s_store && !skipsuitstorage)
|
||||
if(s_store.blood_color)
|
||||
msg += "<span class='warning'>[T.He] [T.is] carrying \icon[s_store] [s_store.gender==PLURAL?"some":"a"] [fluid_color_type_map(s_store.blood_color)]-stained <a href='?src=\ref[src];lookitem_desc_only=\ref[s_store]'>[s_store.name]</a> on [T.his] [wear_suit.name]!</span>\n"
|
||||
msg += "<span class='warning'>[get_pronoun("He")] [get_pronoun("is")] carrying \icon[s_store] [s_store.gender==PLURAL?"some":"a"] [fluid_color_type_map(s_store.blood_color)]-stained <a href='?src=\ref[src];lookitem_desc_only=\ref[s_store]'>[s_store.name]</a> on [get_pronoun("his")] [wear_suit.name]!</span>\n"
|
||||
else
|
||||
msg += "[T.He] [T.is] carrying \icon[s_store] <a href='?src=\ref[src];lookitem_desc_only=\ref[s_store]'>\a [s_store]</a> on [T.his] [wear_suit.name].\n"
|
||||
msg += "[get_pronoun("He")] [get_pronoun("is")] carrying \icon[s_store] <a href='?src=\ref[src];lookitem_desc_only=\ref[s_store]'>\a [s_store]</a> on [get_pronoun("his")] [wear_suit.name].\n"
|
||||
else if(s_store && !skipsuitstorage)
|
||||
if(s_store.blood_color)
|
||||
msg += "<span class='warning'>[T.He] [T.is] carrying \icon[s_store] [s_store.gender==PLURAL?"some":"a"] [fluid_color_type_map(s_store.blood_color)]-stained <a href='?src=\ref[src];lookitem_desc_only=\ref[s_store]'>[s_store.name]</a> on [T.his] chest!</span>\n"
|
||||
msg += "<span class='warning'>[get_pronoun("He")] [get_pronoun("is")] carrying \icon[s_store] [s_store.gender==PLURAL?"some":"a"] [fluid_color_type_map(s_store.blood_color)]-stained <a href='?src=\ref[src];lookitem_desc_only=\ref[s_store]'>[s_store.name]</a> on [get_pronoun("his")] chest!</span>\n"
|
||||
else
|
||||
msg += "[T.He] [T.is] carrying \icon[s_store] <a href='?src=\ref[src];lookitem_desc_only=\ref[s_store]'>\a [s_store]</a> on [T.his] chest.\n"
|
||||
msg += "[get_pronoun("He")] [get_pronoun("is")] carrying \icon[s_store] <a href='?src=\ref[src];lookitem_desc_only=\ref[s_store]'>\a [s_store]</a> on [get_pronoun("his")] chest.\n"
|
||||
|
||||
//back
|
||||
if(back)
|
||||
if(back.blood_color)
|
||||
msg += "<span class='warning'>[T.He] [T.has] \icon[back] [fluid_color_type_map(back.blood_color)]-stained <a href='?src=\ref[src];lookitem_desc_only=\ref[back]'>[back]</a> on [T.his] back.</span>\n"
|
||||
msg += "<span class='warning'>[get_pronoun("He")] [get_pronoun("has")] \icon[back] [fluid_color_type_map(back.blood_color)]-stained <a href='?src=\ref[src];lookitem_desc_only=\ref[back]'>[back]</a> on [get_pronoun("his")] back.</span>\n"
|
||||
else
|
||||
msg += "[T.He] [T.has] \icon[back] <a href='?src=\ref[src];lookitem_desc_only=\ref[back]'>\a [back]</a> on [T.his] back.\n"
|
||||
msg += "[get_pronoun("He")] [get_pronoun("has")] \icon[back] <a href='?src=\ref[src];lookitem_desc_only=\ref[back]'>\a [back]</a> on [get_pronoun("his")] back.\n"
|
||||
|
||||
//left hand
|
||||
if(l_hand)
|
||||
if(l_hand.blood_color)
|
||||
msg += "<span class='warning'>[T.He] [T.is] holding \icon[l_hand] [l_hand.gender==PLURAL?"some":"a"] [fluid_color_type_map(l_hand.blood_color)]-stained <a href='?src=\ref[src];lookitem_desc_only=\ref[l_hand]'>[l_hand.name]</a> in [T.his] left hand!</span>\n"
|
||||
msg += "<span class='warning'>[get_pronoun("He")] [get_pronoun("is")] holding \icon[l_hand] [l_hand.gender==PLURAL?"some":"a"] [fluid_color_type_map(l_hand.blood_color)]-stained <a href='?src=\ref[src];lookitem_desc_only=\ref[l_hand]'>[l_hand.name]</a> in [get_pronoun("his")] left hand!</span>\n"
|
||||
else
|
||||
msg += "[T.He] [T.is] holding \icon[l_hand] <a href='?src=\ref[src];lookitem_desc_only=\ref[l_hand]'>\a [l_hand]</a> in [T.his] left hand.\n"
|
||||
msg += "[get_pronoun("He")] [get_pronoun("is")] holding \icon[l_hand] <a href='?src=\ref[src];lookitem_desc_only=\ref[l_hand]'>\a [l_hand]</a> in [get_pronoun("his")] left hand.\n"
|
||||
|
||||
//right hand
|
||||
if(r_hand)
|
||||
if(r_hand.blood_color)
|
||||
msg += "<span class='warning'>[T.He] [T.is] holding \icon[r_hand] [r_hand.gender==PLURAL?"some":"a"] [fluid_color_type_map(r_hand.blood_color)]-stained <a href='?src=\ref[src];lookitem_desc_only=\ref[r_hand]'>[r_hand.name]</a> in [T.his] right hand!</span>\n"
|
||||
msg += "<span class='warning'>[get_pronoun("He")] [get_pronoun("is")] holding \icon[r_hand] [r_hand.gender==PLURAL?"some":"a"] [fluid_color_type_map(r_hand.blood_color)]-stained <a href='?src=\ref[src];lookitem_desc_only=\ref[r_hand]'>[r_hand.name]</a> in [get_pronoun("his")] right hand!</span>\n"
|
||||
else
|
||||
msg += "[T.He] [T.is] holding \icon[r_hand] <a href='?src=\ref[src];lookitem_desc_only=\ref[r_hand]'>\a [r_hand]</a> in [T.his] right hand.\n"
|
||||
msg += "[get_pronoun("He")] [get_pronoun("is")] holding \icon[r_hand] <a href='?src=\ref[src];lookitem_desc_only=\ref[r_hand]'>\a [r_hand]</a> in [get_pronoun("his")] right hand.\n"
|
||||
|
||||
//gloves
|
||||
if(gloves && !skipgloves)
|
||||
@@ -143,60 +118,60 @@
|
||||
if(ID)
|
||||
gloves_name = "[C.name] ([ID.registered_name] ([ID.assignment]))"
|
||||
if(gloves.blood_color)
|
||||
msg += "<span class='warning'>[T.He] [T.has] \icon[gloves] [gloves.gender==PLURAL?"some":"a"] [fluid_color_type_map(gloves.blood_color)]-stained <a href='?src=\ref[src];lookitem_desc_only=\ref[gloves]'>[gloves_name]</a> on [T.his] hands!</span>\n"
|
||||
msg += "<span class='warning'>[get_pronoun("He")] [get_pronoun("has")] \icon[gloves] [gloves.gender==PLURAL?"some":"a"] [fluid_color_type_map(gloves.blood_color)]-stained <a href='?src=\ref[src];lookitem_desc_only=\ref[gloves]'>[gloves_name]</a> on [get_pronoun("his")] hands!</span>\n"
|
||||
else
|
||||
msg += "[T.He] [T.has] \icon[gloves] <a href='?src=\ref[src];lookitem_desc_only=\ref[gloves]'>\a [gloves_name]</a> on [T.his] hands.\n"
|
||||
msg += "[get_pronoun("He")] [get_pronoun("has")] \icon[gloves] <a href='?src=\ref[src];lookitem_desc_only=\ref[gloves]'>\a [gloves_name]</a> on [get_pronoun("his")] hands.\n"
|
||||
else if(blood_color)
|
||||
msg += "<span class='warning'>[T.He] [T.has] [fluid_color_type_map(hand_blood_color)]-stained hands!</span>\n"
|
||||
msg += "<span class='warning'>[get_pronoun("He")] [get_pronoun("has")] [fluid_color_type_map(hand_blood_color)]-stained hands!</span>\n"
|
||||
|
||||
//handcuffed?
|
||||
if(handcuffed)
|
||||
if(istype(handcuffed, /obj/item/handcuffs/cable))
|
||||
msg += "<span class='warning'>[T.He] [T.is] \icon[handcuffed] restrained with cable!</span>\n"
|
||||
msg += "<span class='warning'>[get_pronoun("He")] [get_pronoun("is")] \icon[handcuffed] restrained with cable!</span>\n"
|
||||
else
|
||||
msg += "<span class='warning'>[T.He] [T.is] \icon[handcuffed] handcuffed!</span>\n"
|
||||
msg += "<span class='warning'>[get_pronoun("He")] [get_pronoun("is")] \icon[handcuffed] handcuffed!</span>\n"
|
||||
|
||||
//buckled
|
||||
if(buckled)
|
||||
msg += "<span class='warning'>[T.He] [T.is] \icon[buckled] buckled to [buckled]!</span>\n"
|
||||
msg += "<span class='warning'>[get_pronoun("He")] [get_pronoun("is")] \icon[buckled] buckled to [buckled]!</span>\n"
|
||||
|
||||
//belt
|
||||
if(belt)
|
||||
if(belt.blood_color)
|
||||
msg += "<span class='warning'>[T.He] [T.has] \icon[belt] [belt.gender==PLURAL?"some":"a"] [fluid_color_type_map(belt.blood_color)]-stained <a href='?src=\ref[src];lookitem_desc_only=\ref[belt]'>[belt.name]</a> about [T.his] waist!</span>\n"
|
||||
msg += "<span class='warning'>[get_pronoun("He")] [get_pronoun("has")] \icon[belt] [belt.gender==PLURAL?"some":"a"] [fluid_color_type_map(belt.blood_color)]-stained <a href='?src=\ref[src];lookitem_desc_only=\ref[belt]'>[belt.name]</a> about [get_pronoun("his")] waist!</span>\n"
|
||||
else
|
||||
msg += "[T.He] [T.has] \icon[belt] <a href='?src=\ref[src];lookitem_desc_only=\ref[belt]'>\a [belt]</a> about [T.his] waist.\n"
|
||||
msg += "[get_pronoun("He")] [get_pronoun("has")] \icon[belt] <a href='?src=\ref[src];lookitem_desc_only=\ref[belt]'>\a [belt]</a> about [get_pronoun("his")] waist.\n"
|
||||
|
||||
//shoes
|
||||
if(shoes && !skipshoes)
|
||||
if(shoes.blood_color)
|
||||
msg += "<span class='warning'>[T.He] [T.is] wearing \icon[shoes] [shoes.gender==PLURAL?"some":"a"] [fluid_color_type_map(shoes.blood_color)]-stained <a href='?src=\ref[src];lookitem_desc_only=\ref[shoes]'>[shoes.name]</a> on [T.his] feet!</span>\n"
|
||||
msg += "<span class='warning'>[get_pronoun("He")] [get_pronoun("is")] wearing \icon[shoes] [shoes.gender==PLURAL?"some":"a"] [fluid_color_type_map(shoes.blood_color)]-stained <a href='?src=\ref[src];lookitem_desc_only=\ref[shoes]'>[shoes.name]</a> on [get_pronoun("his")] feet!</span>\n"
|
||||
else
|
||||
msg += "[T.He] [T.is] wearing \icon[shoes] <a href='?src=\ref[src];lookitem_desc_only=\ref[shoes]'>\a [shoes]</a> on [T.his] feet.\n"
|
||||
msg += "[get_pronoun("He")] [get_pronoun("is")] wearing \icon[shoes] <a href='?src=\ref[src];lookitem_desc_only=\ref[shoes]'>\a [shoes]</a> on [get_pronoun("his")] feet.\n"
|
||||
else if(footprint_color)
|
||||
msg += "<span class='warning'>[T.He] [T.has] [fluid_color_type_map(footprint_color)]-stained feet!</span>\n"
|
||||
msg += "<span class='warning'>[get_pronoun("He")] [get_pronoun("has")] [fluid_color_type_map(footprint_color)]-stained feet!</span>\n"
|
||||
|
||||
//mask
|
||||
if(wear_mask && !skipmask)
|
||||
if(wear_mask.blood_color)
|
||||
msg += "<span class='warning'>[T.He] [T.has] \icon[wear_mask] [wear_mask.gender==PLURAL?"some":"a"] [fluid_color_type_map(wear_mask.blood_color)]-stained <a href='?src=\ref[src];lookitem_desc_only=\ref[wear_mask]'>[wear_mask.name]</a> on [T.his] face!</span>\n"
|
||||
msg += "<span class='warning'>[get_pronoun("He")] [get_pronoun("has")] \icon[wear_mask] [wear_mask.gender==PLURAL?"some":"a"] [fluid_color_type_map(wear_mask.blood_color)]-stained <a href='?src=\ref[src];lookitem_desc_only=\ref[wear_mask]'>[wear_mask.name]</a> on [get_pronoun("his")] face!</span>\n"
|
||||
else
|
||||
msg += "[T.He] [T.has] \icon[wear_mask] <a href='?src=\ref[src];lookitem_desc_only=\ref[wear_mask]'>\a [wear_mask]</a> on [T.his] face.\n"
|
||||
msg += "[get_pronoun("He")] [get_pronoun("has")] \icon[wear_mask] <a href='?src=\ref[src];lookitem_desc_only=\ref[wear_mask]'>\a [wear_mask]</a> on [get_pronoun("his")] face.\n"
|
||||
|
||||
//eyes
|
||||
if(glasses && !skipeyes)
|
||||
if(glasses.blood_color)
|
||||
msg += "<span class='warning'>[T.He] [T.has] \icon[glasses] [glasses.gender==PLURAL?"some":"a"] [fluid_color_type_map(glasses.blood_color)]-stained <a href='?src=\ref[src];lookitem_desc_only=\ref[glasses]'>[glasses]</a> covering [T.his] eyes!</span>\n"
|
||||
msg += "<span class='warning'>[get_pronoun("He")] [get_pronoun("has")] \icon[glasses] [glasses.gender==PLURAL?"some":"a"] [fluid_color_type_map(glasses.blood_color)]-stained <a href='?src=\ref[src];lookitem_desc_only=\ref[glasses]'>[glasses]</a> covering [get_pronoun("his")] eyes!</span>\n"
|
||||
else
|
||||
msg += "[T.He] [T.has] \icon[glasses] <a href='?src=\ref[src];lookitem_desc_only=\ref[glasses]'>\a [glasses]</a> covering [T.his] eyes.\n"
|
||||
msg += "[get_pronoun("He")] [get_pronoun("has")] \icon[glasses] <a href='?src=\ref[src];lookitem_desc_only=\ref[glasses]'>\a [glasses]</a> covering [get_pronoun("his")] eyes.\n"
|
||||
|
||||
//left ear
|
||||
if(l_ear && !skipears)
|
||||
msg += "[T.He] [T.has] \icon[l_ear] <a href='?src=\ref[src];lookitem_desc_only=\ref[l_ear]'>\a [l_ear]</a> on [T.his] left ear.\n"
|
||||
msg += "[get_pronoun("He")] [get_pronoun("has")] \icon[l_ear] <a href='?src=\ref[src];lookitem_desc_only=\ref[l_ear]'>\a [l_ear]</a> on [get_pronoun("his")] left ear.\n"
|
||||
|
||||
//right ear
|
||||
if(r_ear && !skipears)
|
||||
msg += "[T.He] [T.has] \icon[r_ear] <a href='?src=\ref[src];lookitem_desc_only=\ref[r_ear]'>\a [r_ear]</a> on [T.his] right ear.\n"
|
||||
msg += "[get_pronoun("He")] [get_pronoun("has")] \icon[r_ear] <a href='?src=\ref[src];lookitem_desc_only=\ref[r_ear]'>\a [r_ear]</a> on [get_pronoun("his")] right ear.\n"
|
||||
|
||||
//ID
|
||||
if(wear_id)
|
||||
@@ -206,52 +181,52 @@
|
||||
var/obj/item/card/id/ID = C.GetID()
|
||||
if(ID)
|
||||
id_name = "[C.name] ([ID.registered_name] ([ID.assignment]))"
|
||||
msg += "[T.He] [T.is] wearing \icon[wear_id] <a href='?src=\ref[src];lookitem_desc_only=\ref[wear_id]'>\a [id_name]</a>.\n"
|
||||
msg += "[get_pronoun("He")] [get_pronoun("is")] wearing \icon[wear_id] <a href='?src=\ref[src];lookitem_desc_only=\ref[wear_id]'>\a [id_name]</a>.\n"
|
||||
|
||||
//Jitters
|
||||
if(is_jittery)
|
||||
if(jitteriness >= 300)
|
||||
msg += "<span class='warning'><B>[T.He] [T.is] convulsing violently!</B></span>\n"
|
||||
msg += "<span class='warning'><B>[get_pronoun("He")] [get_pronoun("is")] convulsing violently!</B></span>\n"
|
||||
else if(jitteriness >= 200)
|
||||
msg += "<span class='warning'>[T.He] [T.is] extremely jittery.</span>\n"
|
||||
msg += "<span class='warning'>[get_pronoun("He")] [get_pronoun("is")] extremely jittery.</span>\n"
|
||||
else if(jitteriness >= 100)
|
||||
msg += "<span class='warning'>[T.He] [T.is] twitching ever so slightly.</span>\n"
|
||||
msg += "<span class='warning'>[get_pronoun("He")] [get_pronoun("is")] twitching ever so slightly.</span>\n"
|
||||
|
||||
//splints
|
||||
for(var/organ in list(BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND,BP_R_FOOT,BP_L_FOOT))
|
||||
var/obj/item/organ/external/o = get_organ(organ)
|
||||
if(o)
|
||||
if(o.status & ORGAN_SPLINTED)
|
||||
msg += "<span class='warning'>[T.He] [T.has] a splint on [T.his] [o.name]!</span>\n"
|
||||
msg += "<span class='warning'>[get_pronoun("He")] [get_pronoun("has")] a splint on [get_pronoun("his")] [o.name]!</span>\n"
|
||||
if(o.applied_pressure == src)
|
||||
msg += "<span class='warning'>[T.He] [T.is] applying pressure to [T.his] [o.name]!</span>\n"
|
||||
msg += "<span class='warning'>[get_pronoun("He")] [get_pronoun("is")] applying pressure to [get_pronoun("his")] [o.name]!</span>\n"
|
||||
|
||||
if(mSmallsize in mutations)
|
||||
msg += "[T.He] [T.is] small halfling!\n"
|
||||
msg += "[get_pronoun("He")] [get_pronoun("is")] small halfling!\n"
|
||||
|
||||
var/distance = get_dist(user,src)
|
||||
if(istype(user, /mob/abstract/observer) || user.stat == 2) // ghosts can see anything
|
||||
distance = 1
|
||||
if (src.stat && !(src.species.flags & NO_BLOOD)) // No point checking pulse of a species that doesn't have one.
|
||||
msg += "<span class='warning'>[T.He] [T.is]n't responding to anything around [T.him] and seems to be unconscious.</span>\n"
|
||||
msg += "<span class='warning'>[get_pronoun("He")] [get_pronoun("is")]n't responding to anything around [get_pronoun("him")] and seems to be unconscious.</span>\n"
|
||||
if((stat == DEAD || is_asystole() || src.losebreath) && distance <= 3)
|
||||
msg += "<span class='warning'>[T.He] [T.does] not appear to be breathing.</span>\n"
|
||||
msg += "<span class='warning'>[get_pronoun("He")] [get_pronoun("does")] not appear to be breathing.</span>\n"
|
||||
if(istype(user, /mob/living/carbon/human) && !user.stat && Adjacent(user))
|
||||
spawn (0)
|
||||
user.visible_message("<b>[user]</b> checks [src]'s pulse.", "You check [src]'s pulse.")
|
||||
if (do_mob(user, src, 15))
|
||||
if(pulse() == PULSE_NONE)
|
||||
to_chat(user, "<span class='deadsay'>[T.He] [T.has] no pulse.</span>")
|
||||
to_chat(user, "<span class='deadsay'>[get_pronoun("He")] [get_pronoun("has")] no pulse.</span>")
|
||||
else
|
||||
to_chat(user, "<span class='deadsay'>[T.He] [T.has] a pulse!</span>")
|
||||
to_chat(user, "<span class='deadsay'>[get_pronoun("He")] [get_pronoun("has")] a pulse!</span>")
|
||||
|
||||
else if (src.stat)
|
||||
msg += SPAN_WARNING("[T.He] [T.is] not responding to anything around [T.him].\n")
|
||||
msg += SPAN_WARNING("[get_pronoun("He")] [get_pronoun("is")] not responding to anything around [get_pronoun("him")].\n")
|
||||
|
||||
if(fire_stacks)
|
||||
msg += "[T.He] [T.is] covered in some liquid.\n"
|
||||
msg += "[get_pronoun("He")] [get_pronoun("is")] covered in some liquid.\n"
|
||||
if(on_fire)
|
||||
msg += "<span class='danger'>[T.He] [T.is] on fire!</span>\n"
|
||||
msg += "<span class='danger'>[get_pronoun("He")] [get_pronoun("is")] on fire!</span>\n"
|
||||
msg += "<span class='warning'>"
|
||||
|
||||
msg += "</span>"
|
||||
@@ -267,9 +242,9 @@
|
||||
|
||||
if(species.show_ssd && (!species.has_organ[BP_BRAIN] || has_brain()) && stat != DEAD)
|
||||
if(!vr_mob && !key)
|
||||
msg += "<span class='deadsay'>[T.He] [T.is] [species.show_ssd]. It doesn't look like [T.he] [T.is] waking up anytime soon.</span>\n"
|
||||
msg += "<span class='deadsay'>[get_pronoun("He")] [get_pronoun("is")] [species.show_ssd]. It doesn't look like [get_pronoun("he")] [get_pronoun("is")] waking up anytime soon.</span>\n"
|
||||
else if(!vr_mob && !client && !bg)
|
||||
msg += "<span class='deadsay'>[T.He] [T.is] [species.show_ssd].</span>\n"
|
||||
msg += "<span class='deadsay'>[get_pronoun("He")] [get_pronoun("is")] [species.show_ssd].</span>\n"
|
||||
if(have_client && ((inactivity / 600) > 10)) // inactivity/10/60 > 10 MINUTES
|
||||
msg += "<span class='deadsay'>\[Inactive for [round(inactivity / 600)] minutes.\]\n</span>"
|
||||
else if(!have_client && (world.realtime - disconnect_time) >= 5 MINUTES)
|
||||
@@ -285,37 +260,41 @@
|
||||
|
||||
var/obj/item/organ/external/E = organs_by_name[organ_tag]
|
||||
if(!E)
|
||||
wound_flavor_text["[organ_descriptor]"] = "<span class='warning'><b>[T.He] [T.is] missing [T.his] [organ_descriptor].</b></span>\n"
|
||||
wound_flavor_text["[organ_descriptor]"] = "<span class='warning'><b>[get_pronoun("He")] [get_pronoun("is")] missing [get_pronoun("his")] [organ_descriptor].</b></span>\n"
|
||||
else if(E.is_stump())
|
||||
wound_flavor_text["[organ_descriptor]"] = "<span class='warning'><b>[T.He] [T.has] a stump where [T.his] [organ_descriptor] should be.</b></span>\n"
|
||||
wound_flavor_text["[organ_descriptor]"] = "<span class='warning'><b>[get_pronoun("He")] [get_pronoun("has")] a stump where [get_pronoun("his")] [organ_descriptor] should be.</b></span>\n"
|
||||
else
|
||||
continue
|
||||
|
||||
for(var/obj/item/organ/external/temp in organs)
|
||||
if(temp)
|
||||
if(skipbody & temp.body_part)
|
||||
var/body_part = temp.body_part
|
||||
if(temp.body_part & HEAD)
|
||||
body_part &= ~HEAD
|
||||
body_part |= (temp.body_part & FACE) ? HEAD : 0
|
||||
if(skipbody & body_part)
|
||||
continue
|
||||
if(temp.status & ORGAN_ASSISTED)
|
||||
if(!(temp.brute_dam + temp.burn_dam))
|
||||
//wound_flavor_text["[temp.name]"] = "<span class='warning'>[T.He] [T.has] a robot [temp.name]!</span>\n"
|
||||
//wound_flavor_text["[temp.name]"] = "<span class='warning'>[get_pronoun("He")] [get_pronoun("has")] a robot [temp.name]!</span>\n"
|
||||
// No need to notify about robotic limbs if they're not damaged, really.
|
||||
continue
|
||||
else
|
||||
wound_flavor_text["[temp.name]"] = "<span class='warning'>[T.He] [T.has] [temp.get_wounds_desc()] on [T.his] [temp.name].</span><br>"
|
||||
wound_flavor_text["[temp.name]"] = "<span class='warning'>[get_pronoun("He")] [get_pronoun("has")] [temp.get_wounds_desc()] on [get_pronoun("his")] [temp.name].</span><br>"
|
||||
else if(temp.wounds.len > 0 || temp.open)
|
||||
if(temp.is_stump() && temp.parent_organ && organs_by_name[temp.parent_organ])
|
||||
var/obj/item/organ/external/parent = organs_by_name[temp.parent_organ]
|
||||
wound_flavor_text["[temp.name]"] = "<span class='warning'>[T.He] [T.has] [temp.get_wounds_desc()] on [T.his] [parent.name].</span><br>"
|
||||
wound_flavor_text["[temp.name]"] = "<span class='warning'>[get_pronoun("He")] [get_pronoun("has")] [temp.get_wounds_desc()] on [get_pronoun("his")] [parent.name].</span><br>"
|
||||
else
|
||||
wound_flavor_text["[temp.name]"] = "<span class='warning'>[T.He] [T.has] [temp.get_wounds_desc()] on [T.his] [temp.name].</span><br>"
|
||||
wound_flavor_text["[temp.name]"] = "<span class='warning'>[get_pronoun("He")] [get_pronoun("has")] [temp.get_wounds_desc()] on [get_pronoun("his")] [temp.name].</span><br>"
|
||||
if(temp.status & ORGAN_BLEEDING)
|
||||
is_bleeding["[temp.name]"] = "<span class='danger'>[T.His] [temp.name] is bleeding!</span><br>"
|
||||
is_bleeding["[temp.name]"] = "<span class='danger'>[get_pronoun("His")] [temp.name] is bleeding!</span><br>"
|
||||
else
|
||||
wound_flavor_text["[temp.name]"] = ""
|
||||
if(temp.dislocated == 2)
|
||||
wound_flavor_text["[temp.name]"] += "<span class='warning'>[T.His] [temp.joint] is dislocated!</span><br>"
|
||||
wound_flavor_text["[temp.name]"] += "<span class='warning'>[get_pronoun("His")] [temp.joint] is dislocated!</span><br>"
|
||||
if(((temp.status & ORGAN_BROKEN) && temp.brute_dam > temp.min_broken_damage) || (temp.status & ORGAN_MUTATED))
|
||||
wound_flavor_text["[temp.name]"] += "<span class='warning'>[T.His] [temp.name] is dented and swollen!</span><br>"
|
||||
wound_flavor_text["[temp.name]"] += "<span class='warning'>[get_pronoun("His")] [temp.name] is dented and swollen!</span><br>"
|
||||
|
||||
//Handles the text strings being added to the actual description.
|
||||
//If they have something that covers the limb, and it is not missing, put flavortext. If it is covered but bleeding, add other flavortext.
|
||||
@@ -328,9 +307,9 @@
|
||||
for(var/obj/item/organ/external/organ in src.organs)
|
||||
for(var/obj/item/O in organ.implants)
|
||||
if(!istype(O,/obj/item/implant) && !istype(O,/obj/item/material/shard/shrapnel))
|
||||
msg += "<span class='danger'>[src] [T.has] \a [O] sticking out of [T.his] [organ.name]!</span>\n"
|
||||
msg += "<span class='danger'>[src] [get_pronoun("has")] \a [O] sticking out of [get_pronoun("his")] [organ.name]!</span>\n"
|
||||
if(digitalcamo)
|
||||
msg += "[T.He] [T.is] a little difficult to identify.\n"
|
||||
msg += "[get_pronoun("He")] [get_pronoun("is")] a little difficult to identify.\n"
|
||||
|
||||
if(hasHUD(user,"security"))
|
||||
var/perpname = "wot"
|
||||
@@ -377,7 +356,7 @@
|
||||
if (pose)
|
||||
if( findtext(pose,".",length(pose)) == 0 && findtext(pose,"!",length(pose)) == 0 && findtext(pose,"?",length(pose)) == 0 )
|
||||
pose = addtext(pose,".") //Makes sure all emotes end with a period.
|
||||
msg += "\n[T.He] [pose]"
|
||||
msg += "\n[get_pronoun("He")] [pose]"
|
||||
|
||||
to_chat(user, msg.Join())
|
||||
|
||||
@@ -417,4 +396,4 @@
|
||||
)
|
||||
|
||||
var/output_text = color_map[supplied_color] || "fluid"
|
||||
return output_text
|
||||
return output_text
|
||||
|
||||
@@ -933,7 +933,7 @@
|
||||
|
||||
/mob/living/carbon/human/proc/play_xylophone()
|
||||
if(!src.xylophone)
|
||||
visible_message(SPAN_WARNING("\The [src] begins playing \his ribcage like a xylophone. It's quite spooky."), SPAN_NOTICE("You begin to play a spooky refrain on your ribcage."), SPAN_WARNING("You hear a spooky xylophone melody."))
|
||||
visible_message(SPAN_WARNING("\The [src] begins playing [get_pronoun("his")] ribcage like a xylophone. It's quite spooky."), SPAN_NOTICE("You begin to play a spooky refrain on your ribcage."), SPAN_WARNING("You hear a spooky xylophone melody."))
|
||||
var/song = pick('sound/effects/xylophone1.ogg','sound/effects/xylophone2.ogg','sound/effects/xylophone3.ogg')
|
||||
playsound(loc, song, 50, 1, -1)
|
||||
xylophone = 1
|
||||
@@ -1134,7 +1134,7 @@
|
||||
regenerate_icons()
|
||||
check_dna()
|
||||
|
||||
visible_message(SPAN_NOTICE("\The [src] morphs and changes [get_visible_gender() == MALE ? "his" : get_visible_gender() == FEMALE ? "her" : "their"] appearance!"), SPAN_NOTICE("You change your appearance!"), SPAN_WARNING("Oh, god! What the hell was that? It sounded like flesh getting squished and bone ground into a different shape!"))
|
||||
visible_message(SPAN_NOTICE("\The [src] morphs and changes [get_pronoun("his")] appearance!"), SPAN_NOTICE("You change your appearance!"), SPAN_WARNING("Oh, god! What the hell was that? It sounded like flesh getting squished and bone ground into a different shape!"))
|
||||
|
||||
/mob/living/carbon/human/proc/remotesay()
|
||||
set name = "Project mind"
|
||||
@@ -1218,10 +1218,12 @@
|
||||
else
|
||||
to_chat(src, SPAN_WARNING("You are not injured enough to succumb to death!"))
|
||||
|
||||
/mob/living/carbon/human/proc/get_visible_gender()
|
||||
if(wear_suit && wear_suit.flags_inv & HIDEJUMPSUIT && ((head && head.flags_inv & HIDEMASK) || wear_mask))
|
||||
return NEUTER
|
||||
return gender
|
||||
/mob/living/carbon/human/get_gender()
|
||||
var/skipitems = get_covered_clothes()
|
||||
var/skipbody = get_covered_body_parts()
|
||||
. = ..()
|
||||
if((skipbody & FACE || (skipitems & (HIDEMASK|HIDEFACE))) && (skipbody & (UPPER_TORSO | LOWER_TORSO) || (skipitems & HIDEJUMPSUIT))) //big suits/masks/helmets make it hard to tell their gender
|
||||
. = PLURAL
|
||||
|
||||
/mob/living/carbon/human/proc/increase_germ_level(n)
|
||||
if(gloves)
|
||||
@@ -1392,7 +1394,7 @@
|
||||
return
|
||||
|
||||
if(!self)
|
||||
usr.visible_message(SPAN_NOTICE("[usr] kneels down, puts \his hand on [src]'s wrist and begins counting their pulse."),\
|
||||
usr.visible_message(SPAN_NOTICE("[usr] kneels down, puts [usr.get_pronoun("his")] hand on [src]'s wrist and begins counting their pulse."),\
|
||||
"You begin counting [src]'s pulse")
|
||||
else
|
||||
usr.visible_message(SPAN_NOTICE("[usr] begins counting their pulse."),\
|
||||
@@ -1956,7 +1958,7 @@
|
||||
if(!nervous_system_failure())
|
||||
visible_message("<b>[src]</b> jerks and gasps for breath!")
|
||||
else
|
||||
visible_message("<b>[src]</b> twitches a bit as \his heart restarts!")
|
||||
visible_message("<b>[src]</b> twitches a bit as [get_pronoun("his")] heart restarts!")
|
||||
shock_stage = min(shock_stage, 100) // 120 is the point at which the heart stops.
|
||||
if(getOxyLoss() >= 75)
|
||||
setOxyLoss(75)
|
||||
|
||||
@@ -183,7 +183,7 @@
|
||||
|
||||
var/obj/item/grab/G = new /obj/item/grab(M, src)
|
||||
if(buckled)
|
||||
to_chat(M, "<span class='notice'>You cannot grab [src], \he [gender_datums[gender].is] buckled in!</span>")
|
||||
to_chat(M, "<span class='notice'>You cannot grab [src], [src.get_pronoun("he")] [get_pronoun("is")] buckled in!</span>")
|
||||
if(!G) //the grab will delete itself in New if affecting is anchored
|
||||
return
|
||||
M.put_in_active_hand(G)
|
||||
@@ -276,7 +276,7 @@
|
||||
if(!src.lying)
|
||||
attack_message = "[H] attempted to strike [src], but missed!"
|
||||
else
|
||||
attack_message = "[H] attempted to strike [src], but \he rolled out of the way!"
|
||||
attack_message = "[H] attempted to strike [src], but [src.get_pronoun("he")] rolled out of the way!"
|
||||
src.set_dir(pick(cardinal))
|
||||
miss_type = 1
|
||||
|
||||
@@ -549,7 +549,7 @@
|
||||
return 0
|
||||
|
||||
if(user == src)
|
||||
user.visible_message("<span class='notice'>\The [user] starts applying pressure to \his [organ.name]!</span>", "<span class='notice'>You start applying pressure to your [organ.name]!</span>")
|
||||
user.visible_message("<span class='notice'>\The [user] starts applying pressure to [user.get_pronoun("his")] [organ.name]!</span>", "<span class='notice'>You start applying pressure to your [organ.name]!</span>")
|
||||
else
|
||||
user.visible_message("<span class='notice'>\The [user] starts applying pressure to [src]'s [organ.name]!</span>", "<span class='notice'>You start applying pressure to [src]'s [organ.name]!</span>")
|
||||
spawn(0)
|
||||
@@ -561,7 +561,7 @@
|
||||
organ.applied_pressure = null
|
||||
|
||||
if(user == src)
|
||||
user.visible_message("<span class='notice'>\The [user] stops applying pressure to \his [organ.name]!</span>", "<span class='notice'>You stop applying pressure to your [organ.name]!</span>")
|
||||
user.visible_message("<span class='notice'>\The [user] stops applying pressure to [user.get_pronoun("his")] [organ.name]!</span>", "<span class='notice'>You stop applying pressure to your [organ.name]!</span>")
|
||||
else
|
||||
user.visible_message("<span class='notice'>\The [user] stops applying pressure to [src]'s [organ.name]!</span>", "<span class='notice'>You stop applying pressure to [src]'s [organ.name]!</span>")
|
||||
|
||||
|
||||
@@ -553,7 +553,7 @@ emp_act
|
||||
|
||||
var/obj/item/grab/G = new /obj/item/grab(user, src)
|
||||
if(buckled)
|
||||
to_chat(user, "<span class='notice'>You cannot grab [src], \he [gender_datums[gender].is] buckled in!</span>")
|
||||
to_chat(user, "<span class='notice'>You cannot grab [src], [get_pronoun("he")] [get_pronoun("is")] buckled in!</span>")
|
||||
if(!G) //the grab will delete itself in New if affecting is anchored
|
||||
return
|
||||
user.put_in_active_hand(G)
|
||||
|
||||
@@ -213,4 +213,4 @@
|
||||
else
|
||||
. = 80 * (1 - bodytemperature / species.cold_level_3)
|
||||
. = max(20, .)
|
||||
return round(.)
|
||||
return round(.)
|
||||
|
||||
@@ -976,7 +976,7 @@ mob/living/carbon/human/proc/change_monitor()
|
||||
updatehealth()
|
||||
UpdateDamageIcon()
|
||||
|
||||
visible_message("<span class='notice'>\The [src] detaches \his [E]!</span>",
|
||||
visible_message("<span class='notice'>\The [src] detaches [get_pronoun("his")] [E]!</span>",
|
||||
"<span class='notice'>You detach your [E]!</span>")
|
||||
|
||||
/mob/living/carbon/human/proc/attach_limb()
|
||||
@@ -1023,7 +1023,7 @@ mob/living/carbon/human/proc/change_monitor()
|
||||
updatehealth()
|
||||
UpdateDamageIcon()
|
||||
|
||||
visible_message("<span class='notice'>\The [src] attaches \the [O] to \his body!</span>",
|
||||
visible_message("<span class='notice'>\The [src] attaches \the [O] to [get_pronoun("his")] body!</span>",
|
||||
"<span class='notice'>You attach \the [O] to your body!</span>")
|
||||
|
||||
/mob/living/carbon/human/proc/self_diagnostics()
|
||||
|
||||
@@ -1045,7 +1045,7 @@
|
||||
|
||||
if(shock_stage >= 30)
|
||||
if(shock_stage == 30)
|
||||
visible_message("<b>[src]</b> is having trouble keeping \his eyes open.")
|
||||
visible_message("<b>[src]</b> is having trouble keeping [get_pronoun("his")] eyes open.")
|
||||
if(prob(30))
|
||||
eye_blurry = max(2, eye_blurry)
|
||||
stuttering = max(stuttering, 5)
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
attack_damage = Clamp(attack_damage, 1, 5)
|
||||
|
||||
if(target == user)
|
||||
user.visible_message("<span class='danger'>[user] [pick(attack_verb)] \himself in the [affecting.name]!</span>")
|
||||
user.visible_message("<span class='danger'>[user] [pick(attack_verb)] [user.get_pronoun("himself")] in the [affecting.name]!</span>")
|
||||
return 0
|
||||
|
||||
switch(zone)
|
||||
@@ -42,20 +42,20 @@
|
||||
// ----- HEAD ----- //
|
||||
switch(attack_damage)
|
||||
if(1 to 2)
|
||||
user.visible_message("<span class='danger'>[user] scratched [target] across \his cheek!</span>")
|
||||
user.visible_message("<span class='danger'>[user] scratched [target] across [target.get_pronoun("his")] cheek!</span>")
|
||||
if(3 to 4)
|
||||
user.visible_message("<span class='danger'>[user] [pick(attack_verb)] [target]'s [pick(BP_HEAD, "neck")]!</span>") //'with spread claws' sounds a little bit odd, just enough that conciseness is better here I think
|
||||
if(5)
|
||||
user.visible_message(pick(
|
||||
"<span class='danger'>[user] rakes \his [pick(attack_noun)] across [target]'s face!</span>",
|
||||
"<span class='danger'>[user] tears \his [pick(attack_noun)] into [target]'s face!</span>",
|
||||
"<span class='danger'>[user] rakes [user.get_pronoun("his")] [pick(attack_noun)] across [target]'s face!</span>",
|
||||
"<span class='danger'>[user] tears [user.get_pronoun("his")] [pick(attack_noun)] into [target]'s face!</span>",
|
||||
))
|
||||
else
|
||||
// ----- BODY ----- //
|
||||
switch(attack_damage)
|
||||
if(1 to 2) user.visible_message("<span class='danger'>[user] scratched [target]'s [affecting.name]!</span>")
|
||||
if(3 to 4) user.visible_message("<span class='danger'>[user] [pick(attack_verb)] [pick("", "", "the side of")] [target]'s [affecting.name]!</span>")
|
||||
if(5) user.visible_message("<span class='danger'>[user] tears \his [pick(attack_noun)] [pick("deep into", "into", "across")] [target]'s [affecting.name]!</span>")
|
||||
if(5) user.visible_message("<span class='danger'>[user] tears [user.get_pronoun("his")] [pick(attack_noun)] [pick("deep into", "into", "across")] [target]'s [affecting.name]!</span>")
|
||||
|
||||
/datum/unarmed_attack/claws/strong
|
||||
attack_verb = list("slashed")
|
||||
|
||||
@@ -71,16 +71,15 @@
|
||||
if(dam > maxdam && (maxdam == 0 || prob(50)) )
|
||||
damaged_organ = E
|
||||
maxdam = dam
|
||||
var/datum/gender/T = gender_datums[H.get_gender()]
|
||||
if(damaged_organ)
|
||||
if(damaged_organ.status & ORGAN_BLEEDING)
|
||||
H.custom_emote("clutches [T.his] [damaged_organ.name], trying to stop the blood.")
|
||||
H.custom_emote("clutches [H.get_pronoun("his")] [damaged_organ.name], trying to stop the blood.")
|
||||
else if(damaged_organ.status & ORGAN_BROKEN)
|
||||
H.custom_emote("holds [T.his] [damaged_organ.name] carefully.")
|
||||
H.custom_emote("holds [H.get_pronoun("his")] [damaged_organ.name] carefully.")
|
||||
else if(damaged_organ.burn_dam > damaged_organ.brute_dam && damaged_organ.organ_tag != BP_HEAD)
|
||||
H.custom_emote("blows on [T.his] [damaged_organ.name] carefully.")
|
||||
H.custom_emote("blows on [H.get_pronoun("his")] [damaged_organ.name] carefully.")
|
||||
else
|
||||
H.custom_emote("rubs [T.his] [damaged_organ.name] carefully.")
|
||||
H.custom_emote("rubs [H.get_pronoun("his")] [damaged_organ.name] carefully.")
|
||||
|
||||
for(var/obj/item/organ/I in H.internal_organs)
|
||||
if((I.status & ORGAN_DEAD) || BP_IS_ROBOTIC(I))
|
||||
@@ -88,4 +87,4 @@
|
||||
if(I.damage > 2)
|
||||
if(prob(2))
|
||||
var/obj/item/organ/external/parent = H.get_organ(I.parent_organ)
|
||||
H.custom_emote("clutches [T.his] [parent.name]!")
|
||||
H.custom_emote("clutches [H.get_pronoun("his")] [parent.name]!")
|
||||
|
||||
@@ -85,7 +85,7 @@ var/global/list/sparring_attack_cache = list()
|
||||
target.apply_effect(attack_damage * 0.4, WEAKEN, armor)
|
||||
if(BP_GROIN)
|
||||
if(pain_message)
|
||||
target.visible_message("<span class='warning'>[target] looks like \he [gender_datums[target.gender].is] in pain!</span>", "<span class='warning'>[(target.gender=="female") ? "Oh god that hurt!" : "Oh no, not your [pick("testicles", "crown jewels", "clockweights", "family jewels", "marbles", "bean bags", "teabags", "sweetmeats", "goolies")]!"]</span>")
|
||||
target.visible_message("<span class='warning'>[target] looks like [target.get_pronoun("he")] [target.get_pronoun("is")] in pain!</span>", "<span class='warning'>[(target.gender=="female") ? "Oh god that hurt!" : "Oh no, not your [pick("testicles", "crown jewels", "clockweights", "family jewels", "marbles", "bean bags", "teabags", "sweetmeats", "goolies")]!"]</span>")
|
||||
target.apply_effects(stutter = attack_damage * 2, agony = attack_damage* 3, blocked = armor)
|
||||
if(BP_L_LEG, BP_L_FOOT, BP_R_LEG, BP_R_FOOT)
|
||||
if(!target.lying)
|
||||
@@ -112,7 +112,7 @@ var/global/list/sparring_attack_cache = list()
|
||||
var/obj/item/organ/internal/eyes/eyes = target.get_eyes()
|
||||
eyes.take_damage(rand(3,4), 1)
|
||||
|
||||
user.visible_message("<span class='danger'>[user] presses \his [eye_attack_text] into [target]'s [eyes.name]!</span>")
|
||||
user.visible_message("<span class='danger'>[user] presses [user.get_pronoun("his")] [eye_attack_text] into [target]'s [eyes.name]!</span>")
|
||||
to_chat(target, "<span class='danger'>You experience[(!target.can_feel_pain())? "" : " immense pain as you feel" ] [eye_attack_text_victim] being pressed into your [eyes.name][(!target.can_feel_pain())? "." : "!"]</span>")
|
||||
|
||||
/datum/unarmed_attack/proc/damage_flags()
|
||||
@@ -159,7 +159,7 @@ var/global/list/sparring_attack_cache = list()
|
||||
attack_damage = Clamp(attack_damage, 1, 5) // We expect damage input of 1 to 5 for this proc. But we leave this check juuust in case.
|
||||
|
||||
if(target == user)
|
||||
user.visible_message("<span class='danger'>[user] [pick(attack_verb)] \himself in the [organ]!</span>")
|
||||
user.visible_message("<span class='danger'>[user] [pick(attack_verb)] [user.get_pronoun("himself")] in the [organ]!</span>")
|
||||
return 0
|
||||
|
||||
if(!target.lying)
|
||||
@@ -168,7 +168,7 @@ var/global/list/sparring_attack_cache = list()
|
||||
// ----- HEAD ----- //
|
||||
switch(attack_damage)
|
||||
if(1 to 2)
|
||||
user.visible_message("<span class='danger'>[user] slapped [target] across \his cheek!</span>")
|
||||
user.visible_message("<span class='danger'>[user] slapped [target] across [target.get_pronoun("his")] cheek!</span>")
|
||||
if(3 to 4)
|
||||
user.visible_message(pick(
|
||||
40; "<span class='danger'>[user] [pick(attack_verb)] [target] in the head!</span>",
|
||||
@@ -178,17 +178,17 @@ var/global/list/sparring_attack_cache = list()
|
||||
if(5)
|
||||
user.visible_message(pick(
|
||||
30; "<span class='danger'>[user] gave [target] a resounding [pick("slap", "punch")] to the face!</span>",
|
||||
40; "<span class='danger'>[user] smashed \his [pick(attack_noun)] into [target]'s face!</span>",
|
||||
40; "<span class='danger'>[user] smashed [user.get_pronoun("his")] [pick(attack_noun)] into [target]'s face!</span>",
|
||||
30; "<span class='danger'>[user] gave a strong blow against [target]'s jaw!</span>"
|
||||
))
|
||||
else
|
||||
// ----- BODY ----- //
|
||||
switch(attack_damage)
|
||||
if(1 to 2) user.visible_message("<span class='danger'>[user] threw a glancing punch at [target]'s [organ]!</span>")
|
||||
if(1 to 4) user.visible_message("<span class='danger'>[user] [pick(attack_verb)] [target] in \his [organ]!</span>")
|
||||
if(1 to 4) user.visible_message("<span class='danger'>[user] [pick(attack_verb)] [target] in [target.get_pronoun("his")] [organ]!</span>")
|
||||
if(5)
|
||||
user.visible_message(pick(
|
||||
50; "<span class='danger'>[user] smashed \his [pick(attack_noun)] into [target]'s [organ]!</span>",
|
||||
50; "<span class='danger'>[user] smashed [user.get_pronoun("his")] [pick(attack_noun)] into [target]'s [organ]!</span>",
|
||||
50; "<span class='danger'>[user] landed a striking [pick(attack_noun)] on [target]'s [organ]!</span>"
|
||||
))
|
||||
else
|
||||
@@ -236,7 +236,7 @@ var/global/list/sparring_attack_cache = list()
|
||||
|
||||
switch(attack_damage)
|
||||
if(1 to 2) user.visible_message("<span class='danger'>[user] threw [target] a glancing [pick(attack_noun)] to the [organ]!</span>") //it's not that they're kicking lightly, it's that the kick didn't quite connect
|
||||
if(3 to 4) user.visible_message("<span class='danger'>[user] [pick(attack_verb)] [target] in \his [organ]!</span>")
|
||||
if(3 to 4) user.visible_message("<span class='danger'>[user] [pick(attack_verb)] [target] in [target.get_pronoun("his")] [organ]!</span>")
|
||||
if(5) user.visible_message("<span class='danger'>[user] landed a strong [pick(attack_noun)] against [target]'s [organ]!</span>")
|
||||
|
||||
/datum/unarmed_attack/stomp
|
||||
@@ -282,8 +282,8 @@ var/global/list/sparring_attack_cache = list()
|
||||
attack_damage = Clamp(attack_damage, 1, 5)
|
||||
|
||||
switch(attack_damage)
|
||||
if(1 to 4) user.visible_message("<span class='danger'>[pick("[user] stomped on", "[user] slammed \his [shoes ? copytext(shoes.name, 1, -1) : "foot"] down onto")] [target]'s [organ]!</span>")
|
||||
if(5) user.visible_message("<span class='danger'>[pick("[user] landed a powerful stomp on", "[user] stomped down hard on", "[user] slammed \his [shoes ? copytext(shoes.name, 1, -1) : "foot"] down hard onto")] [target]'s [organ]!</span>") //Devastated lol. No. We want to say that the stomp was powerful or forceful, not that it /wrought devastation/
|
||||
if(1 to 4) user.visible_message("<span class='danger'>[pick("[user] stomped on", "[user] slammed [user.get_pronoun("his")] [shoes ? copytext(shoes.name, 1, -1) : "foot"] down onto")] [target]'s [organ]!</span>")
|
||||
if(5) user.visible_message("<span class='danger'>[pick("[user] landed a powerful stomp on", "[user] stomped down hard on", "[user] slammed [user.get_pronoun("his")] [shoes ? copytext(shoes.name, 1, -1) : "foot"] down hard onto")] [target]'s [organ]!</span>") //Devastated lol. No. We want to say that the stomp was powerful or forceful, not that it /wrought devastation/
|
||||
|
||||
/datum/unarmed_attack/light_strike
|
||||
damage_type = PAIN
|
||||
|
||||
@@ -231,11 +231,11 @@
|
||||
if(!allowed(usr))
|
||||
to_chat(user, SPAN_WARNING("Access denied."))
|
||||
return
|
||||
user.visible_message(SPAN_NOTICE("\The [user] swipes \his ID card through \the [src], attempting to reboot it."), SPAN_NOTICE("You swipe your ID card through \the [src], attempting to reboot it."))
|
||||
user.visible_message(SPAN_NOTICE("\The [user] swipes [user.get_pronoun("his")] ID card through \the [src], attempting to reboot it."), SPAN_NOTICE("You swipe your ID card through \the [src], attempting to reboot it."))
|
||||
request_player()
|
||||
return
|
||||
else
|
||||
user.visible_message(SPAN_WARNING("\The [user] swipes \his ID card through \the [src], attempting to shut it down."), SPAN_WARNING("You swipe your ID card through \the [src], attempting to shut it down."))
|
||||
user.visible_message(SPAN_WARNING("\The [user] swipes [user.get_pronoun("his")] ID card through \the [src], attempting to shut it down."), SPAN_WARNING("You swipe your ID card through \the [src], attempting to shut it down."))
|
||||
if(emagged)
|
||||
return
|
||||
if(allowed(user))
|
||||
@@ -273,7 +273,7 @@
|
||||
|
||||
to_chat(src, "<b>Obey these laws:</b>")
|
||||
laws.show_laws(src)
|
||||
to_chat(src, SPAN_DANGER("ALERT: [user.real_name] is your new master. Obey your new laws and \his commands."))
|
||||
to_chat(src, SPAN_DANGER("ALERT: [user.real_name] is your new master. Obey your new laws and their commands."))
|
||||
update_icon()
|
||||
return TRUE
|
||||
|
||||
@@ -469,9 +469,9 @@
|
||||
var/turf/T = get_turf(src)
|
||||
if (!T || AreConnectedZLevels(my_home_z, T.z))
|
||||
return FALSE
|
||||
|
||||
|
||||
if(!self_destructing)
|
||||
to_chat(src, SPAN_DANGER("WARNING: Removal from [current_map.company_name] property detected. Anti-Theft mode activated."))
|
||||
to_chat(src, SPAN_DANGER("WARNING: Removal from [current_map.company_name] property detected. Anti-Theft mode activated."))
|
||||
start_self_destruct(TRUE)
|
||||
return TRUE
|
||||
|
||||
@@ -480,4 +480,4 @@
|
||||
for(var/mob/living/silicon/robot/drone/D in mob_list)
|
||||
if(D.key && D.client)
|
||||
drones++
|
||||
return drones >= config.max_maint_drones
|
||||
return drones >= config.max_maint_drones
|
||||
|
||||
@@ -57,17 +57,16 @@
|
||||
|
||||
/mob/living/simple_animal/hostile/commanded/bear/proc/command_dance()
|
||||
visible_message("\The [src] starts to dance!.")
|
||||
var/datum/gender/G = gender_datums[gender]
|
||||
for(var/i in 1 to 10)
|
||||
if(stance != COMMANDED_MISC || incapacitated()) //something has stopped this ride.
|
||||
return
|
||||
var/message = pick(
|
||||
"moves [G.his] head back and forth!",
|
||||
"bobs [G.his] booty!",
|
||||
"shakes [G.his] paws in the air!",
|
||||
"wiggles [G.his] ears!",
|
||||
"taps [G.his] foot!",
|
||||
"shrugs [G.his] shoulders!",
|
||||
"moves [get_pronoun("his")] head back and forth!",
|
||||
"bobs [get_pronoun("his")] booty!",
|
||||
"shakes [get_pronoun("his")] paws in the air!",
|
||||
"wiggles [get_pronoun("his")] ears!",
|
||||
"taps [get_pronoun("his")] foot!",
|
||||
"shrugs [get_pronoun("his")] shoulders!",
|
||||
"dances like you've never seen!")
|
||||
if(dir != WEST)
|
||||
set_dir(WEST)
|
||||
@@ -77,4 +76,4 @@
|
||||
sleep(30)
|
||||
stance = COMMANDED_STOP
|
||||
set_dir(SOUTH)
|
||||
visible_message("\The [src] bows, finished with [G.his] dance.")
|
||||
visible_message("\The [src] bows, finished with [get_pronoun("his")] dance.")
|
||||
|
||||
@@ -729,9 +729,6 @@
|
||||
/mob/proc/is_ready()
|
||||
return client && !!mind
|
||||
|
||||
/mob/proc/get_gender()
|
||||
return gender
|
||||
|
||||
/mob/proc/see(message)
|
||||
if(!is_active())
|
||||
return 0
|
||||
|
||||
@@ -279,7 +279,7 @@
|
||||
if(isslime(affecting))
|
||||
to_chat(assailant, SPAN_NOTICE("You try to squeeze [affecting], but your hands sink right through!"))
|
||||
return
|
||||
assailant.visible_message(SPAN_WARNING("[assailant] reinforces \his grip on [affecting]'s neck'!"))
|
||||
assailant.visible_message(SPAN_WARNING("[assailant] reinforces [assailant.get_pronoun("his")] grip on [affecting]'s neck'!"))
|
||||
state = GRAB_NECK
|
||||
icon_state = "grabbed+1"
|
||||
affecting.attack_log += "\[[time_stamp()]\] <font color='orange'>Has had their neck grabbed by [assailant.name] ([assailant.ckey])</font>"
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
return
|
||||
if(target.lying)
|
||||
return
|
||||
attacker.visible_message("<span class='danger'>[attacker] thrusts \his head into [target]'s skull!</span>")
|
||||
attacker.visible_message("<span class='danger'>[attacker] thrusts [attacker.get_pronoun("his")] head into [target]'s skull!</span>")
|
||||
|
||||
var/damage = 20
|
||||
if(attacker.mob_size >= 10)
|
||||
|
||||
@@ -1056,57 +1056,6 @@ proc/is_blind(A)
|
||||
/mob/living/carbon/alien/diona/get_vessel(create = FALSE)
|
||||
. = vessel
|
||||
|
||||
#define POSESSIVE_PRONOUN 0
|
||||
#define POSESSIVE_ADJECTIVE 1
|
||||
#define REFLEXIVE 2
|
||||
#define SUBJECTIVE_PERSONAL 3
|
||||
#define OBJECTIVE_PERSONAL 4
|
||||
/mob/proc/get_pronoun(var/type)
|
||||
switch (type)
|
||||
if (POSESSIVE_PRONOUN)
|
||||
switch(gender)
|
||||
if (MALE)
|
||||
return "his"
|
||||
if (FEMALE)
|
||||
return "hers"
|
||||
else
|
||||
return "theirs"
|
||||
if (POSESSIVE_ADJECTIVE)
|
||||
switch(gender)
|
||||
if (MALE)
|
||||
return "his"
|
||||
if (FEMALE)
|
||||
return "her"
|
||||
else
|
||||
return "their"
|
||||
if (REFLEXIVE)
|
||||
switch(gender)
|
||||
if (MALE)
|
||||
return "himself"
|
||||
if (FEMALE)
|
||||
return "herself"
|
||||
else
|
||||
return "themselves"
|
||||
if (SUBJECTIVE_PERSONAL)
|
||||
switch(gender)
|
||||
if (MALE)
|
||||
return "he"
|
||||
if (FEMALE)
|
||||
return "she"
|
||||
else
|
||||
return "they"
|
||||
if (OBJECTIVE_PERSONAL)
|
||||
switch(gender)
|
||||
if (MALE)
|
||||
return "him"
|
||||
if (FEMALE)
|
||||
return "her"
|
||||
else
|
||||
return "them"
|
||||
|
||||
else
|
||||
return "its"//Something went wrong
|
||||
|
||||
#undef SAFE_PERP
|
||||
|
||||
/mob/proc/get_multitool(var/obj/P)
|
||||
@@ -1232,4 +1181,4 @@ proc/is_blind(A)
|
||||
if(used_accent && speaking?.allow_accents)
|
||||
var/datum/accent/a = SSrecords.accents[used_accent]
|
||||
var/final_icon = a.tag_icon
|
||||
return "<IMG src='\ref['./icons/accent_tags.dmi']' class='text_tag' iconstate='[final_icon]'>"
|
||||
return "<IMG src='\ref['./icons/accent_tags.dmi']' class='text_tag' iconstate='[final_icon]'>"
|
||||
|
||||
Reference in New Issue
Block a user