mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-23 13:05:44 +01:00
Replaces \gender to fix metagaming issues. (#9745)
This commit is contained in:
@@ -929,10 +929,10 @@ var/list/admin_verbs_cciaa = list(
|
||||
|
||||
switch(alert("Do you wish for [H] to be allowed to select non-whitelisted races?","Alter Mob Appearance","Yes","No","Cancel"))
|
||||
if("Yes")
|
||||
log_and_message_admins("has allowed [H] to change \his appearance, without whitelisting of races.")
|
||||
log_and_message_admins("has allowed [H] to change [H.get_pronoun("his")] appearance, without whitelisting of races.")
|
||||
H.change_appearance(APPEARANCE_ALL, H.loc, check_species_whitelist = 0)
|
||||
if("No")
|
||||
log_and_message_admins("has allowed [H] to change \his appearance, with whitelisting of races.")
|
||||
log_and_message_admins("has allowed [H] to change [H.get_pronoun("his")] appearance, with whitelisting of races.")
|
||||
H.change_appearance(APPEARANCE_ALL, H.loc, check_species_whitelist = 1)
|
||||
feedback_add_details("admin_verb","CMAS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
@@ -711,7 +711,7 @@
|
||||
// Combat type actuators are better, they allow you to jump instantly onto
|
||||
// a ledge. Regular actuators make you have to climb the rest of the way.
|
||||
if (!combatType)
|
||||
H.visible_message(SPAN_NOTICE("\The [H] starts pulling \himself up onto the [valid_climbable]."), SPAN_NOTICE("You start pulling yourself up onto \the [valid_climbable]."))
|
||||
H.visible_message(SPAN_NOTICE("\The [H] starts pulling [H.get_pronoun("himself")] up onto the [valid_climbable]."), SPAN_NOTICE("You start pulling yourself up onto \the [valid_climbable]."))
|
||||
if (!do_after(H, 4 SECONDS, use_user_turf = TRUE))
|
||||
H.visible_message(SPAN_WARNING("\The [H] is interrupted and falls!"), SPAN_DANGER("You are interrupted and fall back down!"))
|
||||
|
||||
@@ -818,4 +818,4 @@ var/global/list/lattice_users = list()
|
||||
|
||||
var/mob/living/carbon/human/H = holder.wearer
|
||||
to_chat(H, SPAN_NOTICE("Neural lattice disengaged. Pain receptors restored."))
|
||||
lattice_users.Remove(H)
|
||||
lattice_users.Remove(H)
|
||||
|
||||
@@ -1040,7 +1040,7 @@ All custom items with worn sprites must follow the contained sprite system: http
|
||||
if (use_check_and_message(usr)) return
|
||||
|
||||
if(!lit)
|
||||
usr.visible_message("<span class='notice'>With a snap of \the [usr]'s fingers, a small lighter flame sparks from \his index fingers!</span>")
|
||||
usr.visible_message("<span class='notice'>With a snap of \the [usr]'s fingers, a small lighter flame sparks from [usr.get_pronoun("his")] index fingers!</span>")
|
||||
lit = TRUE
|
||||
playsound(src.loc, 'sound/items/cigs_lighters/zippo_on.ogg', 75, 1)
|
||||
update_icon()
|
||||
@@ -1048,7 +1048,7 @@ All custom items with worn sprites must follow the contained sprite system: http
|
||||
return
|
||||
|
||||
else
|
||||
usr.visible_message("<span class='notice'>With the flick of \the [usr] wrists and the pinch of \his fingers, the glove's flames are extinguished.</span>")
|
||||
usr.visible_message("<span class='notice'>With the flick of \the [usr]'s wrists and the pinch of [usr.get_pronoun("his")] fingers, the glove's flames are extinguished.</span>")
|
||||
lit = FALSE
|
||||
playsound(src.loc, 'sound/items/cigs_lighters/zippo_off.ogg', 75, 1)
|
||||
update_icon()
|
||||
|
||||
@@ -45,19 +45,14 @@
|
||||
target = thing
|
||||
break
|
||||
|
||||
var/datum/gender/user_gender = gender_datums[user.gender]
|
||||
var/datum/gender/target_gender
|
||||
if(target)
|
||||
target_gender = gender_datums[target.gender]
|
||||
|
||||
var/use_3p
|
||||
var/use_1p
|
||||
if(emote_message_1p)
|
||||
if(target && emote_message_1p_target)
|
||||
use_1p = get_emote_message_1p(user, target, extra_params)
|
||||
use_1p = replacetext(use_1p, "TARGET_THEM", target_gender.him)
|
||||
use_1p = replacetext(use_1p, "TARGET_THEIR", target_gender.his)
|
||||
use_1p = replacetext(use_1p, "TARGET_SELF", target_gender.self)
|
||||
use_1p = replacetext(use_1p, "TARGET_THEM", target.get_pronoun("him"))
|
||||
use_1p = replacetext(use_1p, "TARGET_THEIR", target.get_pronoun("his"))
|
||||
use_1p = replacetext(use_1p, "TARGET_SELF", target.get_pronoun("self"))
|
||||
use_1p = replacetext(use_1p, "TARGET", "<b>\the [target]</b>")
|
||||
else
|
||||
use_1p = get_emote_message_1p(user, null, extra_params)
|
||||
@@ -66,15 +61,15 @@
|
||||
if(emote_message_3p)
|
||||
if(target && emote_message_3p_target)
|
||||
use_3p = get_emote_message_3p(user, target, extra_params)
|
||||
use_3p = replacetext(use_3p, "TARGET_THEM", target_gender.him)
|
||||
use_3p = replacetext(use_3p, "TARGET_THEIR", target_gender.his)
|
||||
use_3p = replacetext(use_3p, "TARGET_SELF", target_gender.self)
|
||||
use_3p = replacetext(use_3p, "TARGET_THEM", target.get_pronoun("him"))
|
||||
use_3p = replacetext(use_3p, "TARGET_THEIR", target.get_pronoun("his"))
|
||||
use_3p = replacetext(use_3p, "TARGET_SELF", target.get_pronoun("self"))
|
||||
use_3p = replacetext(use_3p, "TARGET", "<b>\the [target]</b>")
|
||||
else
|
||||
use_3p = get_emote_message_3p(user, null, extra_params)
|
||||
use_3p = replacetext(use_3p, "USER_THEM", user_gender.him)
|
||||
use_3p = replacetext(use_3p, "USER_THEIR", user_gender.his)
|
||||
use_3p = replacetext(use_3p, "USER_SELF", user_gender.self)
|
||||
use_3p = replacetext(use_3p, "USER_THEM", user.get_pronoun("him"))
|
||||
use_3p = replacetext(use_3p, "USER_THEIR", user.get_pronoun("his"))
|
||||
use_3p = replacetext(use_3p, "USER_SELF", user.get_pronoun("self"))
|
||||
use_3p = replacetext(use_3p, "USER", "<b>\the [user]</b>")
|
||||
use_3p = capitalize(use_3p)
|
||||
|
||||
|
||||
@@ -142,7 +142,7 @@
|
||||
H.concealed = 1
|
||||
H.update_icon()
|
||||
if(user==target)
|
||||
user.visible_message("<b>\The [user]</b> deals a card to \himself.")
|
||||
user.visible_message("<b>\The [user]</b> deals a card to [user.get_pronoun("himself")].")
|
||||
else
|
||||
user.visible_message("<b>\The [user]</b> deals a card to \the [target].")
|
||||
H.throw_at(get_step(target,target.dir),10,1,H)
|
||||
@@ -341,4 +341,4 @@
|
||||
|
||||
/obj/item/hand/pickup(mob/user as mob)
|
||||
..()
|
||||
src.update_icon()
|
||||
src.update_icon()
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
to_chat(usr, SPAN_NOTICE("<b>You dip your mentality into the surface layer of \the [target]'s mind, seeking a prominent thought.</b>"))
|
||||
if(do_after(usr, 30))
|
||||
sleep(rand(50, 120))
|
||||
usr.visible_message("<B>[usr]</B> puts [usr.get_pronoun(1)] hands to [usr.get_pronoun(1)] head and mumbles incoherently as they stare, unblinking, at \the [target].",
|
||||
usr.visible_message("<B>[usr]</B> puts [usr.get_pronoun("his")] hands to [usr.get_pronoun("his")] head and mumbles incoherently as they stare, unblinking, at \the [target].",
|
||||
SPAN_NOTICE("<b>You skim thoughts from the surface of \the [target]'s mind: \"<i>[pick(SShallucinations.hallucinated_phrases)]</i>\"</b>"))
|
||||
else
|
||||
to_chat(usr, SPAN_WARNING("You need to stay still to focus your energy!"))
|
||||
@@ -173,4 +173,4 @@
|
||||
usr.visible_message("<span class='game say'><span class='name'>[usr]</span> [usr.say_quote(message)], <span class='message'><span class='body'>\"[message]\"</span></span></span>",
|
||||
SPAN_NOTICE("<b>You feel your message enter \the [target]'s mind!</b>"))
|
||||
else
|
||||
to_chat(usr, SPAN_WARNING("You need to stay still to focus your efforts!"))
|
||||
to_chat(usr, SPAN_WARNING("You need to stay still to focus your efforts!"))
|
||||
|
||||
@@ -150,7 +150,7 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f
|
||||
if(src.arcanecheckout)
|
||||
new /obj/item/book/tome(src.loc)
|
||||
to_chat(user, "<span class='warning'>Your sanity barely endures the seconds spent in the vault's browsing window. The only thing to remind you of this when you stop browsing is a dusty old tome sitting on the desk. You don't really remember printing it.</span>")
|
||||
user.visible_message("<span class='notice'>\The [user] stares at the blank screen for a few moments, \his expression frozen in fear. When \he finally awakens from it, \he looks a lot older.</span>", range = 2)
|
||||
user.visible_message("<span class='notice'>\The [user] stares at the blank screen for a few moments, [user.get_pronoun("his")] expression frozen in fear. When [user.get_pronoun("he")] finally awakens from it, [user.get_pronoun("he")] looks a lot older.</span>", range = 2)
|
||||
src.arcanecheckout = 0
|
||||
if(1)
|
||||
// Inventory
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
if(!D.lying)
|
||||
attack_message = "[A] attempted to strike [D], but missed!"
|
||||
else
|
||||
attack_message = "[A] attempted to strike [D], but \he rolled out of the way!"
|
||||
attack_message = "[A] attempted to strike [D], but [D.get_pronoun("he")] rolled out of the way!"
|
||||
D.set_dir(pick(cardinal))
|
||||
miss_type = 1
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
to_chat(user, SPAN_WARNING("The interface is fried, and a distressing burned smell wafts from the robot's interior. You're not rebooting this one."))
|
||||
return
|
||||
|
||||
user.visible_message(SPAN_WARNING("\The [user] swipes \his ID card through \the [src], attempting to reboot it."), SPAN_WARNING("You swipe your ID card through \the [src], attempting to reboot it."))
|
||||
user.visible_message(SPAN_WARNING("\The [user] swipes [user.get_pronoun("his")] ID card through \the [src], attempting to reboot it."), SPAN_WARNING("You swipe your ID card through \the [src], attempting to reboot it."))
|
||||
request_player()
|
||||
return
|
||||
..()
|
||||
@@ -183,4 +183,4 @@
|
||||
M.module.rebuild()
|
||||
M.recalculate_synth_capacities()
|
||||
qdel(src)
|
||||
return TRUE
|
||||
return TRUE
|
||||
|
||||
@@ -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]'>"
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
if(headerdata)
|
||||
data["_PC"] = headerdata
|
||||
. = data
|
||||
|
||||
|
||||
if(!istype(computer, /obj/item/modular_computer/silicon))
|
||||
return
|
||||
var/obj/item/modular_computer/silicon/true_computer = computer
|
||||
@@ -38,7 +38,7 @@
|
||||
VUEUI_SET_CHECK(data["dna"], host.master_dna, ., data)
|
||||
VUEUI_SET_CHECK(data["prime"], host.pai_law0, ., data)
|
||||
VUEUI_SET_CHECK(data["supplemental"], host.pai_laws, ., data)
|
||||
|
||||
|
||||
/datum/computer_file/program/pai_directives/Topic(href, href_list)
|
||||
. = ..()
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
if(!istype(true_computer.computer_host, /mob/living/silicon/pai))
|
||||
return
|
||||
var/mob/living/silicon/pai/host = true_computer.computer_host
|
||||
|
||||
|
||||
if(href_list["getdna"])
|
||||
var/mob/living/M = host.loc
|
||||
var/count = 0
|
||||
@@ -67,7 +67,7 @@
|
||||
if(answer == "Yes")
|
||||
var/turf/T = get_turf_or_move(host.loc)
|
||||
for (var/mob/v in viewers(T))
|
||||
v.show_message(SPAN_NOTICE("[M] presses \his thumb against [host]."), 3, SPAN_NOTICE("[host] makes a sharp clicking sound as it extracts DNA material from [M]."), 2)
|
||||
v.show_message(SPAN_NOTICE("[M] presses [M.get_pronoun("his")] thumb against [host]."), 3, SPAN_NOTICE("[host] makes a sharp clicking sound as it extracts DNA material from [M]."), 2)
|
||||
var/datum/dna/dna = M.dna
|
||||
to_chat(host, "<font color = red><h3>[M]'s UE string : [dna.unique_enzymes]</h3></font>")
|
||||
if(dna.unique_enzymes == host.master_dna)
|
||||
@@ -75,5 +75,5 @@
|
||||
else
|
||||
to_chat(host, SPAN_WARNING("<b>Provided DNA does not match stored Master DNA.</b>"))
|
||||
else
|
||||
to_chat(host, SPAN_WARNING("[M] does not seem like \he [gender_datums[M.gender].is] going to provide a DNA sample willingly."))
|
||||
to_chat(host, SPAN_WARNING("[M] does not seem like [M.get_pronoun("he")] [M.get_pronoun("is")] going to provide a DNA sample willingly."))
|
||||
return 1
|
||||
|
||||
@@ -484,7 +484,7 @@
|
||||
if (istype(rig))
|
||||
for (var/obj/item/rig_module/actuators/A in rig.installed_modules)
|
||||
if (A.active && rig.check_power_cost(src, 10, A, 0))
|
||||
visible_message(SPAN_NOTICE("\The [src] lands flawlessly with \his [rig]."),
|
||||
visible_message(SPAN_NOTICE("\The [src] lands flawlessly with [src.get_pronoun("his")] [rig]."),
|
||||
SPAN_NOTICE("You hear an electric <i>*whirr*</i> right after the slam!"))
|
||||
return FALSE
|
||||
|
||||
@@ -725,7 +725,7 @@
|
||||
else
|
||||
L.apply_damage(damage, BRUTE)
|
||||
|
||||
L.visible_message(SPAN_DANGER("\The [L] had \the [src] fall onto \him!"),
|
||||
L.visible_message(SPAN_DANGER("\The [L] had \the [src] fall onto [src.get_pronoun("him")]!"),
|
||||
SPAN_DANGER("You had \the [src] fall onto you and strike you!"))
|
||||
|
||||
admin_attack_log((ismob(src) ? src : null), L, "fell onto", "was fallen on by", "fell ontop of")
|
||||
|
||||
@@ -316,8 +316,8 @@
|
||||
if(!use_check_and_message(user))
|
||||
if(istype(P, /obj/item/flame/lighter/zippo))
|
||||
class = "rose"
|
||||
|
||||
user.visible_message("<span class='[class]'>[user] holds \the [P] up to \the [src], it looks like \he's trying to burn it!</span>", \
|
||||
|
||||
user.visible_message("<span class='[class]'>[user] holds \the [P] up to \the [src], it looks like [user.get_pronoun("he")]'s trying to burn it!</span>", \
|
||||
"<span class='[class]'>You hold \the [P] up to \the [src], burning it slowly.</span>")
|
||||
playsound(src.loc, 'sound/bureaucracy/paperburn.ogg', 50, 1)
|
||||
if(icon_state == "scrap")
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
if(istype(P, /obj/item/flame/lighter/zippo))
|
||||
class = "rose>"
|
||||
|
||||
user.visible_message("<span class='[class]'>[user] holds \the [P] up to \the [src], it looks like \he's trying to burn it!</span>", \
|
||||
user.visible_message("<span class='[class]'>[user] holds \the [P] up to \the [src], it looks like [user.get_pronoun("he")]'s trying to burn it!</span>", \
|
||||
"<span class='[class]'>You hold \the [P] up to \the [src], burning it slowly.</span>")
|
||||
|
||||
spawn(20)
|
||||
|
||||
@@ -198,7 +198,7 @@
|
||||
if(process_projectile(P, user, user, pick(BP_L_FOOT, BP_R_FOOT)))
|
||||
handle_post_fire(user, user)
|
||||
user.visible_message(
|
||||
SPAN_DANGER("\The [user] shoots \himself in the foot with \the [src]!"),
|
||||
SPAN_DANGER("\The [user] shoots [user.get_pronoun("himself")] in the foot with \the [src]!"),
|
||||
SPAN_DANGER("You shoot yourself in the foot with \the [src]!")
|
||||
)
|
||||
M.drop_item()
|
||||
|
||||
@@ -153,7 +153,7 @@
|
||||
H.apply_effect((rand(30,80)),IRRADIATE,blocked = H.getarmor(null, "rad"))
|
||||
M.Weaken(5)
|
||||
for (var/mob/V in viewers(src))
|
||||
V.show_message("<span class='warning'>[M] writhes in pain as \his vacuoles boil.</span>", 3, "<span class='warning'>You hear the crunching of leaves.</span>", 2)
|
||||
V.show_message("<span class='warning'>[M] writhes in pain as [M.get_pronoun("his")] vacuoles boil.</span>", 3, "<span class='warning'>You hear the crunching of leaves.</span>", 2)
|
||||
if(prob(35))
|
||||
// for (var/mob/V in viewers(src)) //Public messages commented out to prevent possible metaish genetics experimentation and stuff. - Cheridan
|
||||
// V.show_message("\red [M] is mutated by the radiation beam.", 3, "\red You hear the snapping of twigs.", 2)
|
||||
|
||||
@@ -106,10 +106,10 @@
|
||||
if(.)
|
||||
if(istype(target,/obj/item/clothing/mask/smokable/cigarette))
|
||||
var/obj/item/clothing/mask/smokable/cigarette/S = target
|
||||
S.light(SPAN_NOTICE("\The [user] snaps \his fingers and \the [S] lights up."))
|
||||
S.light(SPAN_NOTICE("\The [user] snaps [user.get_pronoun("his")] fingers and \the [S] lights up."))
|
||||
playsound(S.loc, "sparks", 50, 1)
|
||||
else
|
||||
var/datum/effect_system/sparks/spark_system
|
||||
spark_system = bind_spark(src, 3)
|
||||
spark_system.queue()
|
||||
return TRUE
|
||||
return TRUE
|
||||
|
||||
@@ -5,9 +5,8 @@
|
||||
var/use_He_is = "You are"
|
||||
var/use_He_has = "You have"
|
||||
if(istype(machine) || viewer != src)
|
||||
var/datum/gender/G = gender_datums[gender]
|
||||
use_He_is = "[G.He] [G.is]"
|
||||
use_He_has = "[G.He] [G.has]"
|
||||
use_He_is = "[get_pronoun("He")] [get_pronoun("is")]"
|
||||
use_He_has = "[get_pronoun("He")] [get_pronoun("has")]"
|
||||
|
||||
var/list/dat = list()
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
|
||||
if (reagents.get_reagent_amount(/datum/reagent/blood) < 1)
|
||||
break
|
||||
user.visible_message("<span class='warning'>[user] licks \his fangs dry, lowering \the [src].</span>", "<span class='notice'>You lick your fangs clean of the tasteless blood.</span>")
|
||||
user.visible_message("<span class='warning'>[user] licks [user.get_pronoun("his")] fangs dry, lowering \the [src].</span>", "<span class='notice'>You lick your fangs clean of the tasteless blood.</span>")
|
||||
being_feed = FALSE
|
||||
else
|
||||
..()
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
/obj/item/reagent_containers/food/drinks/cans/attack(mob/living/M, mob/user, var/target_zone)
|
||||
if(iscarbon(M) && !reagents.total_volume && user.a_intent == I_HURT && target_zone == BP_HEAD)
|
||||
if(M == user)
|
||||
user.visible_message(SPAN_WARNING("[user] crushes the can of [src.name] on [user.get_pronoun(1)] forehead!"), SPAN_NOTICE("You crush the can of [src.name] on your forehead."))
|
||||
user.visible_message(SPAN_WARNING("[user] crushes the can of [src.name] on [user.get_pronoun("his")] forehead!"), SPAN_NOTICE("You crush the can of [src.name] on your forehead."))
|
||||
else
|
||||
user.visible_message(SPAN_WARNING("[user] crushes the can of [src.name] on [M]'s forehead!"), SPAN_NOTICE("You crush the can of [src.name] on [M]'s forehead."))
|
||||
M.apply_damage(2,BRUTE,BP_HEAD) // ouch.
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
playsound(loc, 'sound/effects/toothbrush.ogg', 15, 1)
|
||||
if(do_after(user, 30))
|
||||
user.visible_message(
|
||||
"<span class='notice'>\The [user] brushes [user.get_pronoun(1)] teeth with \the [src]</span>",
|
||||
"<span class='notice'>\The [user] brushes [user.get_pronoun("his")] teeth with \the [src]</span>",
|
||||
"<span class='notice'>You brush your teeth with \the [src].</span>")
|
||||
reagents.trans_to_mob(user, amount_per_transfer_from_this, CHEM_BREATHE)
|
||||
update_icon()
|
||||
@@ -120,4 +120,4 @@
|
||||
icon_state = "toothbrush_g"
|
||||
|
||||
/obj/item/reagent_containers/toothbrush/red
|
||||
icon_state = "toothbrush_r"
|
||||
icon_state = "toothbrush_r"
|
||||
|
||||
@@ -343,7 +343,7 @@
|
||||
ui_interact(user)
|
||||
|
||||
/obj/machinery/power/supermatter/attack_hand(mob/user as mob)
|
||||
user.visible_message("<span class=\"warning\">\The [user] reaches out and touches \the [src], inducing a resonance... \his body starts to glow and bursts into flames before flashing into ash.</span>",\
|
||||
user.visible_message("<span class=\"warning\">\The [user] reaches out and touches \the [src], inducing a resonance... [user.get_pronoun("he")] body starts to glow and bursts into flames before flashing into ash.</span>",\
|
||||
"<span class=\"danger\">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.\"</span>",\
|
||||
"<span class=\"warning\">You hear an uneartly ringing, then what sounds like a shrilling kettle as you are washed with a wave of heat.</span>")
|
||||
|
||||
@@ -403,7 +403,7 @@
|
||||
if(isprojectile(AM))
|
||||
return
|
||||
if(istype(AM, /mob/living))
|
||||
AM.visible_message("<span class=\"warning\">\The [AM] slams into \the [src] inducing a resonance... \his body starts to glow and catch flame before flashing into ash.</span>",\
|
||||
AM.visible_message("<span class=\"warning\">\The [AM] slams into \the [src] inducing a resonance... [AM.get_pronoun("his")] body starts to glow and catch flame before flashing into ash.</span>",\
|
||||
"<span class=\"danger\">You slam into \the [src] as your ears are filled with unearthly ringing. Your last thought is \"Oh, fuck.\"</span>",\
|
||||
"<span class=\"warning\">You hear an uneartly ringing, then what sounds like a shrilling kettle as you are washed with a wave of heat.</span>")
|
||||
else if(!grav_pulling) //To prevent spam, detonating supermatter does not indicate non-mobs being destroyed
|
||||
|
||||
@@ -169,7 +169,7 @@
|
||||
if(affected.internal_organs && affected.internal_organs.len)
|
||||
if(prob(40))
|
||||
var/obj/item/organ/O = pick(affected.internal_organs) //TODO weight by organ size
|
||||
user.visible_message(SPAN_DANGER("A wayward piece of [target]'s [affected.encased] pierces \his [O.name]!"))
|
||||
user.visible_message(SPAN_DANGER("A wayward piece of [target]'s [affected.encased] pierces [target.get_pronoun("his")] [O.name]!"))
|
||||
O.bruise()
|
||||
|
||||
/decl/surgery_step/open_encased/mend
|
||||
@@ -209,4 +209,4 @@
|
||||
target.custom_pain("Something hurts horribly in your [affected.name]!", 75)
|
||||
..()
|
||||
|
||||
affected.open = ORGAN_OPEN_RETRACTED
|
||||
affected.open = ORGAN_OPEN_RETRACTED
|
||||
|
||||
@@ -92,5 +92,5 @@
|
||||
|
||||
|
||||
/decl/surgery_step/slime/saw_core/fail_step(mob/living/user, mob/living/carbon/slime/target, target_zone, obj/item/tool)
|
||||
user.visible_message(SPAN_WARNING("[user]'s hand slips, causing \him to miss the core!"), \
|
||||
SPAN_WARNING("Your hand slips, causing you to miss the core!"))
|
||||
user.visible_message(SPAN_WARNING("[user]'s hand slips, causing [user.get_pronoun("him")] to miss the core!"), \
|
||||
SPAN_WARNING("Your hand slips, causing you to miss the core!"))
|
||||
|
||||
Reference in New Issue
Block a user