mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-21 19:17:50 +01:00
@@ -868,10 +868,10 @@ var/list/admin_verbs_ticket = list(
|
||||
|
||||
switch(alert("Do you wish for [H] to be allowed to select non-whitelisted races?","Alter Mob Appearance","Yes","No","Cancel"))
|
||||
if("Yes")
|
||||
admin_log_and_message_admins("has allowed [H] to change \his appearance, without whitelisting of races.")
|
||||
admin_log_and_message_admins("has allowed [H] to change [H.p_their()] appearance, without whitelisting of races.")
|
||||
H.change_appearance(APPEARANCE_ALL, H.loc, check_species_whitelist = 0)
|
||||
if("No")
|
||||
admin_log_and_message_admins("has allowed [H] to change \his appearance, with whitelisting of races.")
|
||||
admin_log_and_message_admins("has allowed [H] to change [H.p_their()] 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!
|
||||
|
||||
|
||||
@@ -1622,14 +1622,14 @@
|
||||
H.equip_to_slot_or_del( new /obj/item/reagent_containers/food/snacks/cookie(H), slot_r_hand )
|
||||
if(!(istype(H.r_hand,/obj/item/reagent_containers/food/snacks/cookie)))
|
||||
log_admin("[key_name(H)] has their hands full, so they did not receive their cookie, spawned by [key_name(src.owner)].")
|
||||
message_admins("[key_name_admin(H)] has their hands full, so they did not receive their cookie, spawned by [key_name_admin(src.owner)].")
|
||||
message_admins("[key_name_admin(H)] has [H.p_their()] hands full, so [H.p_they()] did not receive [H.p_their()] cookie, spawned by [key_name_admin(src.owner)].")
|
||||
return
|
||||
else
|
||||
H.update_inv_r_hand()//To ensure the icon appears in the HUD
|
||||
else
|
||||
H.update_inv_l_hand()
|
||||
log_admin("[key_name(H)] got their cookie, spawned by [key_name(src.owner)]")
|
||||
message_admins("[key_name_admin(H)] got their cookie, spawned by [key_name_admin(src.owner)]")
|
||||
message_admins("[key_name_admin(H)] got [H.p_their()] cookie, spawned by [key_name_admin(src.owner)]")
|
||||
feedback_inc("admin_cookies_spawned",1)
|
||||
to_chat(H, "<span class='notice'>Your prayers have been answered!! You received the <b>best cookie</b>!</span>")
|
||||
|
||||
@@ -1683,7 +1683,7 @@
|
||||
to_chat(usr, "The person you are trying to contact is not wearing a headset")
|
||||
return
|
||||
|
||||
var/input = input(src.owner, "Please enter a message to reply to [key_name(H)] via their headset.","Outgoing message from Centcomm", "")
|
||||
var/input = input(src.owner, "Please enter a message to reply to [key_name(H)] via [H.p_their()] headset.","Outgoing message from Centcomm", "")
|
||||
if(!input) return
|
||||
|
||||
to_chat(src.owner, "You sent [input] to [H] via a secure channel.")
|
||||
@@ -2045,7 +2045,7 @@
|
||||
if(!istype(H.l_ear, /obj/item/radio/headset) && !istype(H.r_ear, /obj/item/radio/headset))
|
||||
to_chat(usr, "The person you are trying to contact is not wearing a headset")
|
||||
return
|
||||
var/input = input(src.owner, "Please enter a message to reply to [key_name(H)] via their headset.","Outgoing message from The Syndicate", "")
|
||||
var/input = input(src.owner, "Please enter a message to reply to [key_name(H)] via [H.p_their()] headset.","Outgoing message from The Syndicate", "")
|
||||
if(!input)
|
||||
return
|
||||
to_chat(src.owner, "You sent [input] to [H] via a secure channel.")
|
||||
@@ -2061,7 +2061,7 @@
|
||||
to_chat(usr, "The person you are trying to contact is not wearing a headset")
|
||||
return
|
||||
|
||||
var/input = input(src.owner, "Please enter a message to reply to [key_name(H)] via their headset.","Outgoing message from HONKplanet", "")
|
||||
var/input = input(src.owner, "Please enter a message to reply to [key_name(H)] via [H.p_their()] headset.","Outgoing message from HONKplanet", "")
|
||||
if(!input) return
|
||||
|
||||
to_chat(src.owner, "You sent [input] to [H] via a secure channel.")
|
||||
@@ -3425,7 +3425,7 @@
|
||||
to_chat(hunter_mob, "<span class='danger'>ATTENTION:</span> You are now on a mission!")
|
||||
to_chat(hunter_mob, "<B>Goal: <span class='danger'>[killthem ? "MURDER" : "PROTECT"] [H.real_name]</span>, currently in [get_area(H.loc)]. </B>");
|
||||
if(killthem)
|
||||
to_chat(hunter_mob, "<B>If you kill them, they cannot be revived.</B>");
|
||||
to_chat(hunter_mob, "<B>If you kill [H.p_them()], [H.p_they()] cannot be revived.</B>");
|
||||
hunter_mob.mind.special_role = SPECIAL_ROLE_TRAITOR
|
||||
var/datum/atom_hud/antag/tatorhud = huds[ANTAG_HUD_TRAITOR]
|
||||
tatorhud.join_hud(hunter_mob)
|
||||
|
||||
@@ -266,7 +266,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
if(!choice)
|
||||
return 0
|
||||
if(!istype(choice, /mob/dead/observer))
|
||||
var/confirm = input("[choice.key] isn't ghosting right now. Are you sure you want to yank him out of them out of their body and place them in this pAI?", "Spawn pAI Confirmation", "No") in list("Yes", "No")
|
||||
var/confirm = input("[choice.key] isn't ghosting right now. Are you sure you want to yank [choice.p_them()] out of [choice.p_their()] body and place [choice.p_them()] in this pAI?", "Spawn pAI Confirmation", "No") in list("Yes", "No")
|
||||
if(confirm != "Yes")
|
||||
return 0
|
||||
var/obj/item/paicard/card = new(T)
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
if(!user.hand)
|
||||
which_hand = "r_hand"
|
||||
triggered(user, which_hand)
|
||||
user.visible_message("<span class='warning'>[user] accidentally sets off [src], breaking their fingers.</span>", \
|
||||
user.visible_message("<span class='warning'>[user] accidentally sets off [src], breaking [user.p_their()] fingers.</span>", \
|
||||
"<span class='warning'>You accidentally trigger [src]!</span>")
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You disarm [src].</span>")
|
||||
@@ -91,7 +91,7 @@
|
||||
if(!user.hand)
|
||||
which_hand = "r_hand"
|
||||
triggered(user, which_hand)
|
||||
user.visible_message("<span class='warning'>[user] accidentally sets off [src], breaking their fingers.</span>", \
|
||||
user.visible_message("<span class='warning'>[user] accidentally sets off [src], breaking [user.p_their()] fingers.</span>", \
|
||||
"<span class='warning'>You accidentally trigger [src]!</span>")
|
||||
return
|
||||
..()
|
||||
@@ -114,7 +114,7 @@
|
||||
|
||||
on_found(mob/finder as mob)
|
||||
if(armed)
|
||||
finder.visible_message("<span class='warning'>[finder] accidentally sets off [src], breaking their fingers.</span>", \
|
||||
finder.visible_message("<span class='warning'>[finder] accidentally sets off [src], breaking [finder.p_their()] fingers.</span>", \
|
||||
"<span class='warning'>You accidentally trigger [src]!</span>")
|
||||
triggered(finder, finder.hand ? "l_hand" : "r_hand")
|
||||
return 1 //end the search!
|
||||
|
||||
@@ -411,7 +411,7 @@ BLIND // can't see anything
|
||||
desc = "[desc] They have had their toes opened up."
|
||||
update_icon()
|
||||
else
|
||||
to_chat(user, "<span class='notice'>[src] have already had their toes cut open!</span>")
|
||||
to_chat(user, "<span class='notice'>[src] have already had [p_their()] toes cut open!</span>")
|
||||
return
|
||||
else
|
||||
..()
|
||||
@@ -489,7 +489,7 @@ BLIND // can't see anything
|
||||
for(var/obj/item/I in O.contents) //Dump the pocket out onto the floor below the user.
|
||||
user.unEquip(I,1)
|
||||
|
||||
user.visible_message("<span class='warning'>[user] bellows, [pick("shredding", "ripping open", "tearing off")] their jacket in a fit of rage!</span>","<span class='warning'>You accidentally [pick("shred", "rend", "tear apart")] \the [src] with your [pick("excessive", "extreme", "insane", "monstrous", "ridiculous", "unreal", "stupendous")] [pick("power", "strength")]!</span>")
|
||||
user.visible_message("<span class='warning'>[user] bellows, [pick("shredding", "ripping open", "tearing off")] [user.p_their()] jacket in a fit of rage!</span>","<span class='warning'>You accidentally [pick("shred", "rend", "tear apart")] [src] with your [pick("excessive", "extreme", "insane", "monstrous", "ridiculous", "unreal", "stupendous")] [pick("power", "strength")]!</span>")
|
||||
user.unEquip(src)
|
||||
qdel(src) //Now that the pockets have been emptied, we can safely destroy the jacket.
|
||||
user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!"))
|
||||
|
||||
@@ -222,7 +222,7 @@
|
||||
return 1
|
||||
|
||||
/obj/item/clothing/head/fedora/proc/tip_fedora(mob/user)
|
||||
user.visible_message("[user] tips their fedora.", "You tip your fedora")
|
||||
user.visible_message("[user] tips [user.p_their()] fedora.", "You tip your fedora")
|
||||
|
||||
|
||||
/obj/item/clothing/head/fez
|
||||
|
||||
@@ -22,8 +22,8 @@
|
||||
return 0
|
||||
else if(security_lock && locked)
|
||||
if(do_unlock(user))
|
||||
visible_message("<span class='danger'>[user] unlocks their [src.name].</span>", \
|
||||
"<span class='userdanger'>[user] unlocks their [src.name].</span>")
|
||||
visible_message("<span class='danger'>[user] unlocks [user.p_their()] [src.name].</span>", \
|
||||
"<span class='userdanger'>[user] unlocks [user.p_their()] [src.name].</span>")
|
||||
..()
|
||||
return 1
|
||||
|
||||
@@ -169,7 +169,7 @@
|
||||
return 1
|
||||
|
||||
/obj/item/clothing/mask/fakemoustache/proc/pontificate(mob/user)
|
||||
user.visible_message("<span class='danger'>\ [user] twirls \his moustache and laughs [pick("fiendishly","maniacally","diabolically","evilly")]!</span>")
|
||||
user.visible_message("<span class='danger'>\ [user] twirls [user.p_their()] moustache and laughs [pick("fiendishly","maniacally","diabolically","evilly")]!</span>")
|
||||
|
||||
//scarves (fit in in mask slot)
|
||||
|
||||
|
||||
@@ -366,7 +366,7 @@
|
||||
correct_piece.icon_state = "[initial(icon_state)]"
|
||||
switch(msg_type)
|
||||
if("boots")
|
||||
to_chat(wearer, "<font color='blue'>\The [correct_piece] relax their grip on your legs.</font>")
|
||||
to_chat(wearer, "<font color='blue'>\The [correct_piece] relax [correct_piece.p_their()] grip on your legs.</font>")
|
||||
if(user != wearer)
|
||||
to_chat(user, "<span class='notice'>\The [correct_piece] has been unsealed.</span>")
|
||||
wearer.update_inv_shoes()
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
/obj/item/clothing/accessory/stethoscope/attack(mob/living/carbon/human/M, mob/living/user)
|
||||
if(ishuman(M) && isliving(user))
|
||||
if(user == M)
|
||||
user.visible_message("[user] places \the [src] against \his chest and listens attentively.", "You place \the [src] against your chest...")
|
||||
user.visible_message("[user] places [src] against [user.p_their()] chest and listens attentively.", "You place [src] against your chest...")
|
||||
else
|
||||
user.visible_message("[user] places \the [src] against [M]'s chest and listens attentively.", "You place \the [src] against [M]'s chest...")
|
||||
var/obj/item/organ/internal/H = M.get_int_organ(/obj/item/organ/internal/heart)
|
||||
@@ -250,7 +250,7 @@
|
||||
to_chat(user, "Waving around a badge before swiping an ID would be pretty pointless.")
|
||||
return
|
||||
if(isliving(user))
|
||||
user.visible_message("<span class='warning'>[user] displays their Nanotrasen Internal Security Legal Authorization Badge.\nIt reads: [stored_name], NT Security.</span>","<span class='warning'>You display your Nanotrasen Internal Security Legal Authorization Badge.\nIt reads: [stored_name], NT Security.</span>")
|
||||
user.visible_message("<span class='warning'>[user] displays [user.p_their()] Nanotrasen Internal Security Legal Authorization Badge.\nIt reads: [stored_name], NT Security.</span>","<span class='warning'>You display your Nanotrasen Internal Security Legal Authorization Badge.\nIt reads: [stored_name], NT Security.</span>")
|
||||
|
||||
/obj/item/clothing/accessory/holobadge/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
|
||||
if(istype(O, /obj/item/card/id) || istype(O, /obj/item/pda))
|
||||
@@ -284,7 +284,7 @@
|
||||
|
||||
/obj/item/clothing/accessory/holobadge/attack(mob/living/carbon/human/M, mob/living/user)
|
||||
if(isliving(user))
|
||||
user.visible_message("<span class='warning'>[user] invades [M]'s personal space, thrusting [src] into their face insistently.</span>","<span class='warning'>You invade [M]'s personal space, thrusting [src] into their face insistently. You are the law.</span>")
|
||||
user.visible_message("<span class='warning'>[user] invades [M]'s personal space, thrusting [src] into [M.p_their()] face insistently.</span>","<span class='warning'>You invade [M]'s personal space, thrusting [src] into [M.p_their()] face insistently. You are the law.</span>")
|
||||
|
||||
/obj/item/storage/box/holobadge
|
||||
name = "holobadge box"
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
var/mob/living/carbon/human/target = M
|
||||
|
||||
if(istype(target.species, /datum/species/machine))
|
||||
to_chat(user, "<span class= 'notice'>[target] has no skin, how do you expect to tattoo them?</span>")
|
||||
to_chat(user, "<span class= 'notice'>[target] has no skin, how do you expect to tattoo [target.p_them()]?</span>")
|
||||
return
|
||||
|
||||
if(target.m_styles["body"] != "None")
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
throw_range = 7
|
||||
|
||||
suicide_act(mob/user) //"A tiny net is a death sentence: it's a net and it's tiny!" https://www.youtube.com/watch?v=FCI9Y4VGCVw
|
||||
to_chat(viewers(user), "<span class='warning'>[user] places the [src.name] on top of \his head, \his fingers tangled in the netting! It looks like \he's trying to commit suicide.</span>")
|
||||
to_chat(viewers(user), "<span class='warning'>[user] places the [src.name] on top of [user.p_their()] head, [user.p_their()] fingers tangled in the netting! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
return(OXYLOSS)
|
||||
|
||||
/obj/item/fishfood
|
||||
@@ -52,7 +52,7 @@
|
||||
attack_verb = list("scrubbed", "brushed", "scraped")
|
||||
|
||||
suicide_act(mob/user)
|
||||
to_chat(viewers(user), "<span class='warning'>[user] is vigorously scrubbing \himself raw with the [src.name]! It looks like \he's trying to commit suicide.</span>")
|
||||
to_chat(viewers(user), "<span class='warning'>[user] is vigorously scrubbing [user.p_them()]self raw with the [name]! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
return(BRUTELOSS|FIRELOSS)
|
||||
|
||||
//////////////////////////////////////////////
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
nightmare()
|
||||
if(ishuman(src))
|
||||
if(prob(10))
|
||||
emote("writhes in their sleep.")
|
||||
emote("writhes in [p_their()] sleep.")
|
||||
dir = pick(cardinal)
|
||||
|
||||
/mob/living/carbon/proc/experience_dream(dream_image, isNightmare)
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
to_chat(chugger, "<span class='notice'>You need to open [src] first!</span>")
|
||||
return
|
||||
if(istype(chugger) && loc == chugger && src == chugger.get_active_hand() && reagents.total_volume)
|
||||
chugger.visible_message("<span class='notice'>[chugger] raises the [src] to their mouth and starts [pick("chugging","gulping")] it down like [pick("a savage","a mad beast","it's going out of style","there's no tomorrow")]!</span>", "<span class='notice'>You start chugging \the [src].</span>", "<span class='notice'>You hear what sounds like gulping.</span>")
|
||||
chugger.visible_message("<span class='notice'>[chugger] raises the [src] to [chugger.p_their()] mouth and starts [pick("chugging","gulping")] it down like [pick("a savage","a mad beast","it's going out of style","there's no tomorrow")]!</span>", "<span class='notice'>You start chugging [src].</span>", "<span class='notice'>You hear what sounds like gulping.</span>")
|
||||
while(do_mob(chugger, chugger, 40)) //Between the default time for do_mob and the time it takes for a vampire to suck blood.
|
||||
chugger.eat(src, chugger, 25) //Half of a glass, quarter of a bottle.
|
||||
if(!reagents.total_volume) //Finish in style.
|
||||
|
||||
@@ -102,8 +102,8 @@
|
||||
target.visible_message("<span class='danger'>[user] has hit [target][head_attack_message] with a bottle of [name]!</span>", \
|
||||
"<span class='userdanger'>[user] has hit [target][head_attack_message] with a bottle of [name]!</span>")
|
||||
else
|
||||
user.visible_message("<span class='danger'>[target] hits \himself with a bottle of [name][head_attack_message]!</span>", \
|
||||
"<span class='userdanger'>[target] hits \himself with a bottle of [name][head_attack_message]!</span>")
|
||||
user.visible_message("<span class='danger'>[target] hits [target.p_them()]self with a bottle of [name][head_attack_message]!</span>", \
|
||||
"<span class='userdanger'>[target] hits [target.p_them()]self with a bottle of [name][head_attack_message]!</span>")
|
||||
|
||||
//Attack logs
|
||||
add_attack_logs(user, target, "Hit with [src]")
|
||||
|
||||
@@ -33,14 +33,14 @@
|
||||
to_chat(user, "<span class='notice'>You need to open the drink!</span>")
|
||||
return
|
||||
else if(M == user && !reagents.total_volume && user.a_intent == INTENT_HARM && user.zone_sel.selecting == "head")
|
||||
user.visible_message("<span class='warning'>[user] crushes ["\the [src]"] on \his forehead!</span>", "<span class='notice'>You crush \the [src] on your forehead.</span>")
|
||||
user.visible_message("<span class='warning'>[user] crushes [src] on [user.p_their()] forehead!</span>", "<span class='notice'>You crush [src] on your forehead.</span>")
|
||||
crush(user)
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/item/reagent_containers/food/drinks/cans/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/storage/bag/trash/cyborg))
|
||||
user.visible_message("<span class='notice'>[user] crushes \the [src] in their trash compactor.</span>", "<span class='notice'>You crush \the [src] in your trash compactor.</span>")
|
||||
user.visible_message("<span class='notice'>[user] crushes [src] in [user.p_their()] trash compactor.</span>", "<span class='notice'>You crush [src] in your trash compactor.</span>")
|
||||
var/obj/can = crush(user)
|
||||
can.attackby(I, user, params)
|
||||
return 1
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass/proc/clumsilyDrink(mob/living/carbon/human/user) //Clowns beware
|
||||
if(burn_state != ON_FIRE)
|
||||
return
|
||||
user.visible_message("<span class = 'warning'>[user] pours [src] all over themself!</span>", "<span class = 'danger'>You pour [src] all over yourself!</span>", "<span class = 'warning'>You hear a 'whoompf' and a sizzle.</span>")
|
||||
user.visible_message("<span class = 'warning'>[user] pours [src] all over [user.p_them()]self!</span>", "<span class = 'danger'>You pour [src] all over yourself!</span>", "<span class = 'warning'>You hear a 'whoompf' and a sizzle.</span>")
|
||||
extinguish(TRUE)
|
||||
reagents.reaction(user, TOUCH)
|
||||
reagents.clear_reagents()
|
||||
@@ -90,7 +90,7 @@
|
||||
if((CLUMSY in user.mutations) && prob(50))
|
||||
clumsilyDrink(user)
|
||||
else
|
||||
user.visible_message("<span class = 'notice'>[user] places their hand over [src] to put it out!</span>", "<span class = 'notice'>You use your hand to extinguish [src]!</span>")
|
||||
user.visible_message("<span class = 'notice'>[user] places [user.p_their()] hand over [src] to put it out!</span>", "<span class = 'notice'>You use your hand to extinguish [src]!</span>")
|
||||
extinguish()
|
||||
|
||||
/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass/MouseDrop(mob/living/carbon/human/user)
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
possible_states = list()
|
||||
|
||||
/obj/item/reagent_containers/food/condiment/saltshaker/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] begins to swap forms with the salt shaker! It looks like \he's trying to commit suicide.</span>")
|
||||
user.visible_message("<span class='suicide'>[user] begins to swap forms with the salt shaker! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
var/newname = "[name]"
|
||||
name = "[user.name]"
|
||||
user.name = newname
|
||||
|
||||
@@ -179,7 +179,7 @@
|
||||
visible_message("<span class='notice'>The [qb] refuses to settle down. Maybe it's something to do with its reagent?</span>")
|
||||
|
||||
if(queen_bee)
|
||||
visible_message("<span class='notice'>[user] sets [qb] down inside the apiary, making it their new home.</span>")
|
||||
visible_message("<span class='notice'>[user] sets [qb] down inside the apiary, making it [user.p_their()] new home.</span>")
|
||||
var/relocated = 0
|
||||
for(var/b in bees)
|
||||
var/mob/living/simple_animal/hostile/poison/bees/worker/B = b
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
bitesize = 5
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/banana/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] is aiming the [src.name] at themself! It looks like \he's trying to commit suicide.</span>")
|
||||
user.visible_message("<span class='suicide'>[user] is aiming the [name] at [user.p_them()]self! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
playsound(loc, 'sound/items/bikehorn.ogg', 50, 1, -1)
|
||||
sleep(25)
|
||||
if(!user)
|
||||
@@ -34,7 +34,7 @@
|
||||
sleep(25)
|
||||
if(!user)
|
||||
return (OXYLOSS)
|
||||
user.visible_message("<B>[user]</B> laughs so hard they begin to suffocate!")
|
||||
user.visible_message("<B>[user]</B> laughs so hard [user.p_they()] begin[user.p_s()] to suffocate!")
|
||||
return (OXYLOSS)
|
||||
|
||||
/obj/item/grown/bananapeel
|
||||
@@ -49,7 +49,7 @@
|
||||
throw_range = 7
|
||||
|
||||
/obj/item/grown/bananapeel/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] is deliberately slipping on the [src.name]! It looks like \he's trying to commit suicide.</span>")
|
||||
user.visible_message("<span class='suicide'>[user] is deliberately slipping on the [src.name]! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
playsound(loc, 'sound/misc/slip.ogg', 50, 1, -1)
|
||||
return (BRUTELOSS)
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
return S
|
||||
|
||||
/obj/item/seeds/kudzu/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] swallows the pack of kudzu seeds! It looks like \he's trying to commit suicide..</span>")
|
||||
user.visible_message("<span class='suicide'>[user] swallows the pack of kudzu seeds! It looks like [user.p_theyre()] trying to commit suicide..</span>")
|
||||
plant(user)
|
||||
return (BRUTELOSS)
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
attack_verb = list("stung")
|
||||
|
||||
/obj/item/grown/nettle/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] is eating some of the [src.name]! It looks like \he's trying to commit suicide.</span>")
|
||||
user.visible_message("<span class='suicide'>[user] is eating some of the [src.name]! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
return (BRUTELOSS|TOXLOSS)
|
||||
|
||||
/obj/item/grown/nettle/pickup(mob/living/user)
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
reagents.add_reagent("atrazine", 100)
|
||||
|
||||
/obj/item/reagent_containers/spray/weedspray/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] is huffing the [src.name]! It looks like \he's trying to commit suicide.</span>")
|
||||
user.visible_message("<span class='suicide'>[user] is huffing the [src.name]! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
return (TOXLOSS)
|
||||
|
||||
/obj/item/reagent_containers/spray/pestspray // -- Skie
|
||||
@@ -55,7 +55,7 @@
|
||||
reagents.add_reagent("pestkiller", 100)
|
||||
|
||||
/obj/item/reagent_containers/spray/pestspray/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] is huffing the [src.name]! It looks like \he's trying to commit suicide.</span>")
|
||||
user.visible_message("<span class='suicide'>[user] is huffing the [src.name]! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
return (TOXLOSS)
|
||||
|
||||
/obj/item/cultivator
|
||||
@@ -89,7 +89,7 @@
|
||||
sharp = 1
|
||||
|
||||
/obj/item/hatchet/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] is chopping at \himself with the [src.name]! It looks like \he's trying to commit suicide.</span>")
|
||||
user.visible_message("<span class='suicide'>[user] is chopping at [user.p_them()]self with the [name]! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1)
|
||||
return (BRUTELOSS)
|
||||
|
||||
@@ -119,7 +119,7 @@
|
||||
var/swiping = FALSE
|
||||
|
||||
/obj/item/scythe/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] is beheading \himself with the [src.name]! It looks like \he's trying to commit suicide.</span>")
|
||||
user.visible_message("<span class='suicide'>[user] is beheading [user.p_them()]self with the [name]! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
var/obj/item/organ/external/affecting = H.get_organ("head")
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
if(src.arcanecheckout)
|
||||
new /obj/item/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("[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.", 2)
|
||||
user.visible_message("[user] stares at the blank screen for a few moments, [user.p_their()] expression frozen in fear. When [user.p_they()] finally awaken[user.p_s()] from it, [user.p_they()] look[user.p_s()] a lot older.", 2)
|
||||
src.arcanecheckout = 0
|
||||
if(1)
|
||||
// Inventory
|
||||
|
||||
@@ -210,7 +210,7 @@
|
||||
return ..()
|
||||
var/mob/living/carbon/C = target
|
||||
if(C.stat)
|
||||
to_chat(user, "<span class='warning'>It would be dishonorable to attack a foe while they cannot retaliate.</span>")
|
||||
to_chat(user, "<span class='warning'>It would be dishonorable to attack a foe while [C.p_they()] cannot retaliate.</span>")
|
||||
return
|
||||
switch(user.a_intent)
|
||||
if(INTENT_DISARM)
|
||||
@@ -236,7 +236,7 @@
|
||||
if(H.staminaloss && !H.sleeping)
|
||||
var/total_health = (H.health - H.staminaloss)
|
||||
if(total_health <= config.health_threshold_crit && !H.stat)
|
||||
H.visible_message("<span class='warning'>[user] delivers a heavy hit to [H]'s head, knocking them out cold!</span>", \
|
||||
H.visible_message("<span class='warning'>[user] delivers a heavy hit to [H]'s head, knocking [H.p_them()] out cold!</span>", \
|
||||
"<span class='userdanger'>[user] knocks you unconscious!</span>")
|
||||
H.SetSleeping(30)
|
||||
H.adjustBrainLoss(25)
|
||||
|
||||
@@ -55,8 +55,8 @@
|
||||
|
||||
/datum/martial_art/mimejutsu/proc/mimePalm(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
|
||||
if(!D.stat && !D.stunned && !D.weakened)
|
||||
D.visible_message("<span class='danger'>[A] has barely touched [D] with their palm!</span>", \
|
||||
"<span class='userdanger'>[A] hovers their palm over your face!</span>")
|
||||
D.visible_message("<span class='danger'>[A] has barely touched [D] with [A.p_their()] palm!</span>", \
|
||||
"<span class='userdanger'>[A] hovers [A.p_their()] palm over your face!</span>")
|
||||
|
||||
var/atom/throw_target = get_edge_target_turf(D, get_dir(D, get_step_away(D, A)))
|
||||
D.throw_at(throw_target, 200, 4,A)
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
if(D.weakened || D.resting || D.stat)
|
||||
A.do_attack_animation(D, ATTACK_EFFECT_PUNCH)
|
||||
D.visible_message("<span class='warning'>[A] elbow drops [D]!</span>", \
|
||||
"<span class='userdanger'>[A] piledrives you with their elbow!</span>")
|
||||
"<span class='userdanger'>[A] piledrives you with [A.p_their()] elbow!</span>")
|
||||
if(D.stat)
|
||||
D.death() //FINISH HIM!
|
||||
D.apply_damage(50, BRUTE, "chest")
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
return
|
||||
to_chat(user, "You call out for aid, attempting to summon spirits to your side.")
|
||||
|
||||
notify_ghosts("[user] is raising their [src], calling for your help!", enter_link="<a href=?src=[UID()];follow=1>(Click to help)</a>", source = user, action = NOTIFY_FOLLOW)
|
||||
notify_ghosts("[user] is raising [user.p_their()] [src], calling for your help!", enter_link="<a href=?src=[UID()];follow=1>(Click to help)</a>", source = user, action = NOTIFY_FOLLOW)
|
||||
|
||||
summon_cooldown = world.time + 600
|
||||
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
for(var/mob/living/carbon/human/H in player_list)
|
||||
if(H == L)
|
||||
continue
|
||||
to_chat(H, "<span class='userdanger'>You have an overwhelming desire to kill [L]. They have been marked red! Go kill them!</span>")
|
||||
to_chat(H, "<span class='userdanger'>You have an overwhelming desire to kill [L]. [L.p_they(TRUE)] [L.p_have()] been marked red! Go kill [L.p_them()]!</span>")
|
||||
H.put_in_hands(new /obj/item/kitchen/knife/butcher(H))
|
||||
|
||||
qdel(src)
|
||||
@@ -57,7 +57,7 @@
|
||||
return
|
||||
if(!rune)
|
||||
if(isturf(user.loc))
|
||||
user.visible_message("<span class='hierophant_warning'>[user] holds [src] carefully in front of them, moving it in a strange pattern...</span>", \
|
||||
user.visible_message("<span class='hierophant_warning'>[user] holds [src] carefully in front of [user.p_them()], moving it in a strange pattern...</span>", \
|
||||
"<span class='notice'>You start creating a hierophant rune to teleport to...</span>")
|
||||
timer = world.time + 51
|
||||
if(do_after(user, 50, target = user))
|
||||
@@ -67,7 +67,7 @@
|
||||
var/obj/effect/hierophant/H = new/obj/effect/hierophant(T)
|
||||
rune = H
|
||||
user.update_action_buttons_icon()
|
||||
user.visible_message("<span class='hierophant_warning'>[user] creates a strange rune beneath them!</span>", \
|
||||
user.visible_message("<span class='hierophant_warning'>[user] creates a strange rune beneath [user.p_them()]!</span>", \
|
||||
"<span class='hierophant'>You create a hierophant rune, which you can teleport yourself and any allies to at any time!</span>\n\
|
||||
<span class='notice'>You can remove the rune to place a new one by striking it with the staff.</span>")
|
||||
else
|
||||
|
||||
@@ -355,7 +355,7 @@
|
||||
if(cooldown < world.time)
|
||||
feedback_add_details("immortality_talisman","U") // usage
|
||||
cooldown = world.time + 600
|
||||
user.visible_message("<span class='danger'>[user] vanishes from reality, leaving a a hole in their place!</span>")
|
||||
user.visible_message("<span class='danger'>[user] vanishes from reality, leaving a a hole in [user.p_their()] place!</span>")
|
||||
var/obj/effect/immortality_talisman/Z = new(get_turf(src.loc))
|
||||
Z.name = "hole in reality"
|
||||
Z.desc = "It's shaped an awful lot like [user.name]."
|
||||
|
||||
@@ -70,7 +70,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 them.")
|
||||
to_chat(src, "<span class='name'>[speaker_name]</span>[alt_name] talks but you cannot hear [speaker.p_them()].")
|
||||
else
|
||||
if(language)
|
||||
to_chat(src, "<span class='game say'><span class='name'>[speaker_name]</span>[alt_name] [track][language.format_message(message, verb)]</span>")
|
||||
|
||||
@@ -310,12 +310,7 @@
|
||||
to_chat(speaker,"<span class='warning'>You can't communicate while unable to move your hands to your head!</span>")
|
||||
return FALSE
|
||||
|
||||
var/their = "their"
|
||||
if(speaker.gender == "female")
|
||||
their = "her"
|
||||
if(speaker.gender == "male")
|
||||
their = "his"
|
||||
speaker.visible_message("<span class='notice'>[speaker] touches [their] fingers to [their] temple.</span>") //If placed in grey/broadcast, it will happen regardless of the success of the action.
|
||||
speaker.visible_message("<span class='notice'>[speaker] touches [speaker.p_their()] fingers to [speaker.p_their()] temple.</span>") //If placed in grey/broadcast, it will happen regardless of the success of the action.
|
||||
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -161,7 +161,7 @@ Doesn't work on other aliens/AI.*/
|
||||
stomach_contents.Remove(M)
|
||||
M.loc = loc
|
||||
//Paralyse(10)
|
||||
src.visible_message("<span class='alertalien'><B>[src] hurls out the contents of their stomach!</span>")
|
||||
src.visible_message("<span class='alertalien'><B>[src] hurls out the contents of [p_their()] stomach!</span>")
|
||||
return
|
||||
|
||||
/mob/living/carbon/proc/getPlasma()
|
||||
|
||||
@@ -256,14 +256,9 @@
|
||||
H.play_xylophone()
|
||||
else
|
||||
if(player_logged)
|
||||
M.visible_message("<span class='notice'>[M] shakes [src], but they do not respond. Probably suffering from SSD.", \
|
||||
"<span class='notice'>You shake [src], but they are unresponsive. Probably suffering from SSD.</span>")
|
||||
M.visible_message("<span class='notice'>[M] shakes [src], but [p_they()] [p_do()] not respond. Probably suffering from SSD.", \
|
||||
"<span class='notice'>You shake [src], but [p_theyre()] unresponsive. Probably suffering from SSD.</span>")
|
||||
if(lying) // /vg/: For hugs. This is how update_icon figgers it out, anyway. - N3X15
|
||||
var/t_him = "it"
|
||||
if(gender == MALE)
|
||||
t_him = "him"
|
||||
else if(gender == FEMALE)
|
||||
t_him = "her"
|
||||
if(ishuman(src))
|
||||
var/mob/living/carbon/human/H = src
|
||||
if(H.w_uniform)
|
||||
@@ -277,8 +272,8 @@
|
||||
playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1)
|
||||
if(!player_logged)
|
||||
M.visible_message( \
|
||||
"<span class='notice'>[M] shakes [src] trying to wake [t_him] up!</span>",\
|
||||
"<span class='notice'>You shake [src] trying to wake [t_him] up!</span>",\
|
||||
"<span class='notice'>[M] shakes [src] trying to wake [p_them()] up!</span>",\
|
||||
"<span class='notice'>You shake [src] trying to wake [p_them()] up!</span>",\
|
||||
)
|
||||
// BEGIN HUGCODE - N3X
|
||||
else
|
||||
@@ -745,7 +740,7 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump,
|
||||
if(restrained())
|
||||
changeNext_move(CLICK_CD_BREAKOUT)
|
||||
last_special = world.time + CLICK_CD_BREAKOUT
|
||||
visible_message("<span class='warning'>[src] attempts to unbuckle themself!</span>", \
|
||||
visible_message("<span class='warning'>[src] attempts to unbuckle [p_them()]self!</span>", \
|
||||
"<span class='notice'>You attempt to unbuckle yourself... (This will take around one minute and you need to stay still.)</span>")
|
||||
if(do_after(src, 600, 0, target = src))
|
||||
if(!buckled)
|
||||
@@ -762,11 +757,11 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump,
|
||||
Weaken(3, 1, 1) //We dont check for CANWEAKEN, I don't care how immune to weakening you are, if you're rolling on the ground, you're busy.
|
||||
update_canmove()
|
||||
spin(32,2)
|
||||
visible_message("<span class='danger'>[src] rolls on the floor, trying to put themselves out!</span>", \
|
||||
visible_message("<span class='danger'>[src] rolls on the floor, trying to put [p_them()]self out!</span>", \
|
||||
"<span class='notice'>You stop, drop, and roll!</span>")
|
||||
sleep(30)
|
||||
if(fire_stacks <= 0)
|
||||
visible_message("<span class='danger'>[src] has successfully extinguished themselves!</span>", \
|
||||
visible_message("<span class='danger'>[src] has successfully extinguished [p_them()]self!</span>", \
|
||||
"<span class='notice'>You extinguish yourself.</span>")
|
||||
ExtinguishMob()
|
||||
|
||||
|
||||
@@ -173,14 +173,14 @@
|
||||
if("clack", "clacks")
|
||||
var/M = handle_emote_param(param)
|
||||
|
||||
message = "<B>[src]</B> clacks their mandibles[M ? " at [M]" : ""]."
|
||||
message = "<B>[src]</B> clacks [p_their()] mandibles[M ? " at [M]" : ""]."
|
||||
playsound(loc, 'sound/effects/Kidanclack.ogg', 50, 0) //Credit to DrMinky (freesound.org) for the sound.
|
||||
m_type = 2
|
||||
|
||||
if("click", "clicks")
|
||||
var/M = handle_emote_param(param)
|
||||
|
||||
message = "<B>[src]</B> clicks their mandibles[M ? " at [M]" : ""]."
|
||||
message = "<B>[src]</B> clicks [p_their()] mandibles[M ? " at [M]" : ""]."
|
||||
playsound(loc, 'sound/effects/Kidanclack2.ogg', 50, 0) //Credit to DrMinky (freesound.org) for the sound.
|
||||
m_type = 2
|
||||
|
||||
@@ -201,7 +201,7 @@
|
||||
if("quill", "quills")
|
||||
var/M = handle_emote_param(param)
|
||||
|
||||
message = "<B>[src]</B> rustles their quills[M ? " at [M]" : ""]."
|
||||
message = "<B>[src]</B> rustles [p_their()] quills[M ? " at [M]" : ""]."
|
||||
playsound(loc, 'sound/effects/voxrustle.ogg', 50, 0) //Credit to sound-ideas (freesfx.co.uk) for the sound.
|
||||
m_type = 2
|
||||
|
||||
@@ -222,12 +222,12 @@
|
||||
if("wag", "wags")
|
||||
if(body_accessory)
|
||||
if(body_accessory.try_restrictions(src))
|
||||
message = "<B>[src]</B> starts wagging \his tail."
|
||||
message = "<B>[src]</B> starts wagging [p_their()] tail."
|
||||
start_tail_wagging(1)
|
||||
|
||||
else if(species.bodyflags & TAIL_WAGGING)
|
||||
if(!wear_suit || !(wear_suit.flags_inv & HIDETAIL) && !istype(wear_suit, /obj/item/clothing/suit/space))
|
||||
message = "<B>[src]</B> starts wagging \his tail."
|
||||
message = "<B>[src]</B> starts wagging [p_their()] tail."
|
||||
start_tail_wagging(1)
|
||||
else
|
||||
return
|
||||
@@ -237,7 +237,7 @@
|
||||
|
||||
if("swag", "swags")
|
||||
if(species.bodyflags & TAIL_WAGGING || body_accessory)
|
||||
message = "<B>[src]</B> stops wagging \his tail."
|
||||
message = "<B>[src]</B> stops wagging [p_their()] tail."
|
||||
stop_tail_wagging(1)
|
||||
else
|
||||
return
|
||||
@@ -282,7 +282,7 @@
|
||||
|
||||
if("choke", "chokes")
|
||||
if(miming)
|
||||
message = "<B>[src]</B> clutches \his throat desperately!"
|
||||
message = "<B>[src]</B> clutches [p_their()] throat desperately!"
|
||||
m_type = 1
|
||||
else
|
||||
if(!muzzled)
|
||||
@@ -294,7 +294,7 @@
|
||||
|
||||
if("burp", "burps")
|
||||
if(miming)
|
||||
message = "<B>[src]</B> opens their mouth rather obnoxiously."
|
||||
message = "<B>[src]</B> opens [p_their()] mouth rather obnoxiously."
|
||||
m_type = 1
|
||||
else
|
||||
if(!muzzled)
|
||||
@@ -330,7 +330,7 @@
|
||||
|
||||
if("flap", "flaps")
|
||||
if(!restrained())
|
||||
message = "<B>[src]</B> flaps \his wings."
|
||||
message = "<B>[src]</B> flaps [p_their()] wings."
|
||||
m_type = 2
|
||||
if(miming)
|
||||
m_type = 1
|
||||
@@ -382,7 +382,7 @@
|
||||
|
||||
if("aflap", "aflaps")
|
||||
if(!restrained())
|
||||
message = "<B>[src]</B> flaps \his wings ANGRILY!"
|
||||
message = "<B>[src]</B> flaps [p_their()] wings ANGRILY!"
|
||||
m_type = 2
|
||||
if(miming)
|
||||
m_type = 1
|
||||
@@ -479,7 +479,7 @@
|
||||
m_type = 2
|
||||
|
||||
if("deathgasp", "deathgasps")
|
||||
message = "<B>[src]</B> [species.death_message]"
|
||||
message = "<B>[src]</B> [replacetext(species.death_message, "their", p_their())]"
|
||||
m_type = 1
|
||||
|
||||
if("giggle", "giggles")
|
||||
@@ -527,7 +527,7 @@
|
||||
message = "<B>[src]</B> cries."
|
||||
m_type = 2
|
||||
else
|
||||
message = "<B>[src]</B> makes a weak noise. \He frowns."
|
||||
message = "<B>[src]</B> makes a weak noise. [p_they(TRUE)] frown[p_s()]."
|
||||
m_type = 2
|
||||
|
||||
if("sigh", "sighs")
|
||||
@@ -605,7 +605,7 @@
|
||||
message = "<B>[src]</B> takes a drag from a cigarette and blows \"[M]\" out in smoke."
|
||||
m_type = 1
|
||||
else
|
||||
message = "<B>[src]</B> says, \"[M], please. They had a family.\" [name] takes a drag from a cigarette and blows their name out in smoke."
|
||||
message = "<B>[src]</B> says, \"[M], please. They had a family.\" [name] takes a drag from a cigarette and blows [p_their()] name out in smoke."
|
||||
m_type = 2
|
||||
|
||||
if("point", "points")
|
||||
@@ -631,7 +631,7 @@
|
||||
if("shake", "shakes")
|
||||
var/M = handle_emote_param(param, 1) //Check to see if the param is valid (mob with the param name is in view) but exclude ourselves.
|
||||
|
||||
message = "<B>[src]</B> shakes \his head[M ? " at [M]" : ""]."
|
||||
message = "<B>[src]</B> shakes [p_their()] head[M ? " at [M]" : ""]."
|
||||
m_type = 1
|
||||
|
||||
if("shrug", "shrugs")
|
||||
@@ -742,7 +742,7 @@
|
||||
if(M)
|
||||
message = "<B>[src]</B> hugs [M]."
|
||||
else
|
||||
message = "<B>[src]</B> hugs \himself."
|
||||
message = "<B>[src]</B> hugs [p_them()]self."
|
||||
|
||||
if("handshake")
|
||||
m_type = 1
|
||||
@@ -753,7 +753,7 @@
|
||||
if(M.canmove && !M.r_hand && !M.restrained())
|
||||
message = "<B>[src]</B> shakes hands with [M]."
|
||||
else
|
||||
message = "<B>[src]</B> holds out \his hand to [M]."
|
||||
message = "<B>[src]</B> holds out [p_their()] hand to [M]."
|
||||
|
||||
if("dap", "daps")
|
||||
m_type = 1
|
||||
@@ -763,7 +763,7 @@
|
||||
if(M)
|
||||
message = "<B>[src]</B> gives daps to [M]."
|
||||
else
|
||||
message = "<B>[src]</B> sadly can't find anybody to give daps to, and daps \himself. Shameful."
|
||||
message = "<B>[src]</B> sadly can't find anybody to give daps to, and daps [p_them()]self. Shameful."
|
||||
|
||||
if("slap", "slaps")
|
||||
m_type = 1
|
||||
@@ -773,7 +773,7 @@
|
||||
if(M)
|
||||
message = "<span class='danger'>[src] slaps [M] across the face. Ouch!</span>"
|
||||
else
|
||||
message = "<span class='danger'>[src] slaps \himself!</span>"
|
||||
message = "<span class='danger'>[src] slaps [p_them()]self!</span>"
|
||||
adjustFireLoss(4)
|
||||
playsound(loc, 'sound/effects/snap.ogg', 50, 1)
|
||||
|
||||
@@ -814,10 +814,10 @@
|
||||
|
||||
var/M = handle_emote_param(param)
|
||||
|
||||
message = "<b>[src]</b> snaps \his fingers[M ? " at [M]" : ""]."
|
||||
message = "<b>[src]</b> snaps [p_their()] fingers[M ? " at [M]" : ""]."
|
||||
playsound(loc, 'sound/effects/fingersnap.ogg', 50, 1, -3)
|
||||
else
|
||||
message = "<span class='danger'><b>[src]</b> snaps \his fingers right off!</span>"
|
||||
message = "<span class='danger'><b>[src]</b> snaps [p_their()] fingers right off!</span>"
|
||||
playsound(loc, 'sound/effects/snap.ogg', 50, 1)
|
||||
|
||||
// Needed for M_TOXIC_FART
|
||||
@@ -941,7 +941,7 @@
|
||||
set desc = "Sets a description which will be shown when someone examines you."
|
||||
set category = "IC"
|
||||
|
||||
pose = sanitize(copytext(input(usr, "This is [src]. \He is...", "Pose", null) as text, 1, MAX_MESSAGE_LEN))
|
||||
pose = sanitize(copytext(input(usr, "This is [src]. [p_they(TRUE)] [p_are()]...", "Pose", null) as text, 1, MAX_MESSAGE_LEN))
|
||||
|
||||
/mob/living/carbon/human/verb/set_flavor()
|
||||
set name = "Set Flavour Text"
|
||||
|
||||
@@ -23,41 +23,10 @@
|
||||
|
||||
if(wear_mask)
|
||||
skipface |= wear_mask.flags_inv & HIDEFACE
|
||||
|
||||
// crappy hacks because you can't do \his[src] etc. I'm sorry this proc is so unreadable, blame the text macros :<
|
||||
var/t_He = "It" //capitalised for use at the start of each line.
|
||||
var/t_his = "its"
|
||||
var/t_him = "it"
|
||||
var/t_has = "has"
|
||||
var/t_is = "is"
|
||||
|
||||
var/msg = "<span class='info'>*---------*\nThis is "
|
||||
|
||||
if((skipjumpsuit && skipface)) //big suits/masks/helmets make it hard to tell their gender
|
||||
t_He = "They"
|
||||
t_his = "their"
|
||||
t_him = "them"
|
||||
t_has = "have"
|
||||
t_is = "are"
|
||||
else
|
||||
if(icon)
|
||||
msg += "[bicon(icon(icon, dir=SOUTH))] " //fucking BYOND: this should stop dreamseeker crashing if we -somehow- examine somebody before their icon is generated
|
||||
switch(gender)
|
||||
if(MALE)
|
||||
t_He = "He"
|
||||
t_his = "his"
|
||||
t_him = "him"
|
||||
if(FEMALE)
|
||||
t_He = "She"
|
||||
t_his = "her"
|
||||
t_him = "her"
|
||||
if(PLURAL)
|
||||
t_He = "They"
|
||||
t_his = "their"
|
||||
t_him = "them"
|
||||
t_has = "have"
|
||||
t_is = "are"
|
||||
|
||||
if(!(skipjumpsuit && skipface) && icon) //big suits/masks/helmets make it hard to tell their gender
|
||||
msg += "[bicon(icon(icon, dir=SOUTH))] " //fucking BYOND: this should stop dreamseeker crashing if we -somehow- examine somebody before their icon is generated
|
||||
msg += "<EM>[name]</EM>"
|
||||
|
||||
var/list/nospecies = list("Abductor", "Shadowling", "Neara", "Monkey", "Stok", "Farwa", "Wolpin") //species that won't show their race no matter what
|
||||
@@ -86,129 +55,129 @@
|
||||
tie_msg += " with [english_accessory_list(U)]"
|
||||
|
||||
if(w_uniform.blood_DNA)
|
||||
msg += "<span class='warning'>[t_He] [t_is] wearing [bicon(w_uniform)] [w_uniform.gender==PLURAL?"some":"a"] [w_uniform.blood_color != "#030303" ? "blood-stained":"oil-stained"] [w_uniform.name][tie_msg]!</span>\n"
|
||||
msg += "<span class='warning'>[p_they(TRUE)] [p_are()] wearing [bicon(w_uniform)] [w_uniform.gender==PLURAL?"some":"a"] [w_uniform.blood_color != "#030303" ? "blood-stained":"oil-stained"] [w_uniform.name][tie_msg]!</span>\n"
|
||||
else
|
||||
msg += "[t_He] [t_is] wearing [bicon(w_uniform)] \a [w_uniform][tie_msg].\n"
|
||||
msg += "[p_they(TRUE)] [p_are()] wearing [bicon(w_uniform)] \a [w_uniform][tie_msg].\n"
|
||||
|
||||
//head
|
||||
if(head && !(head.flags & ABSTRACT))
|
||||
if(head.blood_DNA)
|
||||
msg += "<span class='warning'>[t_He] [t_is] wearing [bicon(head)] [head.gender==PLURAL?"some":"a"] [head.blood_color != "#030303" ? "blood-stained":"oil-stained"] [head.name] on [t_his] head!</span>\n"
|
||||
msg += "<span class='warning'>[p_they(TRUE)] [p_are()] wearing [bicon(head)] [head.gender==PLURAL?"some":"a"] [head.blood_color != "#030303" ? "blood-stained":"oil-stained"] [head.name] on [p_their()] head!</span>\n"
|
||||
else
|
||||
msg += "[t_He] [t_is] wearing [bicon(head)] \a [head] on [t_his] head.\n"
|
||||
msg += "[p_they(TRUE)] [p_are()] wearing [bicon(head)] \a [head] on [p_their()] head.\n"
|
||||
|
||||
//suit/armour
|
||||
if(wear_suit && !(wear_suit.flags & ABSTRACT))
|
||||
if(wear_suit.blood_DNA)
|
||||
msg += "<span class='warning'>[t_He] [t_is] wearing [bicon(wear_suit)] [wear_suit.gender==PLURAL?"some":"a"] [wear_suit.blood_color != "#030303" ? "blood-stained":"oil-stained"] [wear_suit.name]!</span>\n"
|
||||
msg += "<span class='warning'>[p_they(TRUE)] [p_are()] wearing [bicon(wear_suit)] [wear_suit.gender==PLURAL?"some":"a"] [wear_suit.blood_color != "#030303" ? "blood-stained":"oil-stained"] [wear_suit.name]!</span>\n"
|
||||
else
|
||||
msg += "[t_He] [t_is] wearing [bicon(wear_suit)] \a [wear_suit].\n"
|
||||
msg += "[p_they(TRUE)] [p_are()] wearing [bicon(wear_suit)] \a [wear_suit].\n"
|
||||
|
||||
//suit/armour storage
|
||||
if(s_store && !skipsuitstorage)
|
||||
if(s_store.blood_DNA)
|
||||
msg += "<span class='warning'>[t_He] [t_is] carrying [bicon(s_store)] [s_store.gender==PLURAL?"some":"a"] [s_store.blood_color != "#030303" ? "blood-stained":"oil-stained"] [s_store.name] on [t_his] [wear_suit.name]!</span>\n"
|
||||
msg += "<span class='warning'>[p_they(TRUE)] [p_are()] carrying [bicon(s_store)] [s_store.gender==PLURAL?"some":"a"] [s_store.blood_color != "#030303" ? "blood-stained":"oil-stained"] [s_store.name] on [p_their()] [wear_suit.name]!</span>\n"
|
||||
else
|
||||
msg += "[t_He] [t_is] carrying [bicon(s_store)] \a [s_store] on [t_his] [wear_suit.name].\n"
|
||||
msg += "[p_they(TRUE)] [p_are()] carrying [bicon(s_store)] \a [s_store] on [p_their()] [wear_suit.name].\n"
|
||||
|
||||
//back
|
||||
if(back && !(back.flags & ABSTRACT))
|
||||
if(back.blood_DNA)
|
||||
msg += "<span class='warning'>[t_He] [t_has] [bicon(back)] [back.gender==PLURAL?"some":"a"] [back.blood_color != "#030303" ? "blood-stained":"oil-stained"] [back] on [t_his] back.</span>\n"
|
||||
msg += "<span class='warning'>[p_they(TRUE)] [p_have()] [bicon(back)] [back.gender==PLURAL?"some":"a"] [back.blood_color != "#030303" ? "blood-stained":"oil-stained"] [back] on [p_their()] back.</span>\n"
|
||||
else
|
||||
msg += "[t_He] [t_has] [bicon(back)] \a [back] on [t_his] back.\n"
|
||||
msg += "[p_they(TRUE)] [p_have()] [bicon(back)] \a [back] on [p_their()] back.\n"
|
||||
|
||||
//left hand
|
||||
if(l_hand && !(l_hand.flags & ABSTRACT))
|
||||
if(l_hand.blood_DNA)
|
||||
msg += "<span class='warning'>[t_He] [t_is] holding [bicon(l_hand)] [l_hand.gender==PLURAL?"some":"a"] [l_hand.blood_color != "#030303" ? "blood-stained":"oil-stained"] [l_hand.name] in [t_his] left hand!</span>\n"
|
||||
msg += "<span class='warning'>[p_they(TRUE)] [p_are()] holding [bicon(l_hand)] [l_hand.gender==PLURAL?"some":"a"] [l_hand.blood_color != "#030303" ? "blood-stained":"oil-stained"] [l_hand.name] in [p_their()] left hand!</span>\n"
|
||||
else
|
||||
msg += "[t_He] [t_is] holding [bicon(l_hand)] \a [l_hand] in [t_his] left hand.\n"
|
||||
msg += "[p_they(TRUE)] [p_are()] holding [bicon(l_hand)] \a [l_hand] in [p_their()] left hand.\n"
|
||||
|
||||
//right hand
|
||||
if(r_hand && !(r_hand.flags & ABSTRACT))
|
||||
if(r_hand.blood_DNA)
|
||||
msg += "<span class='warning'>[t_He] [t_is] holding [bicon(r_hand)] [r_hand.gender==PLURAL?"some":"a"] [r_hand.blood_color != "#030303" ? "blood-stained":"oil-stained"] [r_hand.name] in [t_his] right hand!</span>\n"
|
||||
msg += "<span class='warning'>[p_they(TRUE)] [p_are()] holding [bicon(r_hand)] [r_hand.gender==PLURAL?"some":"a"] [r_hand.blood_color != "#030303" ? "blood-stained":"oil-stained"] [r_hand.name] in [p_their()] right hand!</span>\n"
|
||||
else
|
||||
msg += "[t_He] [t_is] holding [bicon(r_hand)] \a [r_hand] in [t_his] right hand.\n"
|
||||
msg += "[p_they(TRUE)] [p_are()] holding [bicon(r_hand)] \a [r_hand] in [p_their()] right hand.\n"
|
||||
|
||||
//gloves
|
||||
if(gloves && !skipgloves && !(gloves.flags & ABSTRACT))
|
||||
if(gloves.blood_DNA)
|
||||
msg += "<span class='warning'>[t_He] [t_has] [bicon(gloves)] [gloves.gender==PLURAL?"some":"a"] [gloves.blood_color != "#030303" ? "blood-stained":"oil-stained"] [gloves.name] on [t_his] hands!</span>\n"
|
||||
msg += "<span class='warning'>[p_they(TRUE)] [p_have()] [bicon(gloves)] [gloves.gender==PLURAL?"some":"a"] [gloves.blood_color != "#030303" ? "blood-stained":"oil-stained"] [gloves.name] on [p_their()] hands!</span>\n"
|
||||
else
|
||||
msg += "[t_He] [t_has] [bicon(gloves)] \a [gloves] on [t_his] hands.\n"
|
||||
msg += "[p_they(TRUE)] [p_have()] [bicon(gloves)] \a [gloves] on [p_their()] hands.\n"
|
||||
else if(blood_DNA)
|
||||
msg += "<span class='warning'>[t_He] [t_has] [hand_blood_color != "#030303" ? "blood-stained":"oil-stained"] hands!</span>\n"
|
||||
msg += "<span class='warning'>[p_they(TRUE)] [p_have()] [hand_blood_color != "#030303" ? "blood-stained":"oil-stained"] hands!</span>\n"
|
||||
|
||||
//handcuffed?
|
||||
if(handcuffed)
|
||||
if(istype(handcuffed, /obj/item/restraints/handcuffs/cable/zipties))
|
||||
msg += "<span class='warning'>[t_He] [t_is] [bicon(handcuffed)] restrained with zipties!</span>\n"
|
||||
msg += "<span class='warning'>[p_they(TRUE)] [p_are()] [bicon(handcuffed)] restrained with zipties!</span>\n"
|
||||
else if(istype(handcuffed, /obj/item/restraints/handcuffs/cable))
|
||||
msg += "<span class='warning'>[t_He] [t_is] [bicon(handcuffed)] restrained with cable!</span>\n"
|
||||
msg += "<span class='warning'>[p_they(TRUE)] [p_are()] [bicon(handcuffed)] restrained with cable!</span>\n"
|
||||
else
|
||||
msg += "<span class='warning'>[t_He] [t_is] [bicon(handcuffed)] handcuffed!</span>\n"
|
||||
msg += "<span class='warning'>[p_they(TRUE)] [p_are()] [bicon(handcuffed)] handcuffed!</span>\n"
|
||||
|
||||
//belt
|
||||
if(belt)
|
||||
if(belt.blood_DNA)
|
||||
msg += "<span class='warning'>[t_He] [t_has] [bicon(belt)] [belt.gender==PLURAL?"some":"a"] [belt.blood_color != "#030303" ? "blood-stained":"oil-stained"] [belt.name] about [t_his] waist!</span>\n"
|
||||
msg += "<span class='warning'>[p_they(TRUE)] [p_have()] [bicon(belt)] [belt.gender==PLURAL?"some":"a"] [belt.blood_color != "#030303" ? "blood-stained":"oil-stained"] [belt.name] about [p_their()] waist!</span>\n"
|
||||
else
|
||||
msg += "[t_He] [t_has] [bicon(belt)] \a [belt] about [t_his] waist.\n"
|
||||
msg += "[p_they(TRUE)] [p_have()] [bicon(belt)] \a [belt] about [p_their()] waist.\n"
|
||||
|
||||
//shoes
|
||||
if(shoes && !skipshoes && !(shoes.flags & ABSTRACT))
|
||||
if(shoes.blood_DNA)
|
||||
msg += "<span class='warning'>[t_He] [t_is] wearing [bicon(shoes)] [shoes.gender==PLURAL?"some":"a"] [shoes.blood_color != "#030303" ? "blood-stained":"oil-stained"] [shoes.name] on [t_his] feet!</span>\n"
|
||||
msg += "<span class='warning'>[p_they(TRUE)] [p_are()] wearing [bicon(shoes)] [shoes.gender==PLURAL?"some":"a"] [shoes.blood_color != "#030303" ? "blood-stained":"oil-stained"] [shoes.name] on [p_their()] feet!</span>\n"
|
||||
else
|
||||
msg += "[t_He] [t_is] wearing [bicon(shoes)] \a [shoes] on [t_his] feet.\n"
|
||||
msg += "[p_they(TRUE)] [p_are()] wearing [bicon(shoes)] \a [shoes] on [p_their()] feet.\n"
|
||||
else if(blood_DNA)
|
||||
msg += "<span class='warning'>[t_He] [t_has] [feet_blood_color != "#030303" ? "blood-stained":"oil-stained"] feet!</span>\n"
|
||||
msg += "<span class='warning'>[p_they(TRUE)] [p_have()] [feet_blood_color != "#030303" ? "blood-stained":"oil-stained"] feet!</span>\n"
|
||||
|
||||
|
||||
//mask
|
||||
if(wear_mask && !skipmask && !(wear_mask.flags & ABSTRACT))
|
||||
if(wear_mask.blood_DNA)
|
||||
msg += "<span class='warning'>[t_He] [t_has] [bicon(wear_mask)] [wear_mask.gender==PLURAL?"some":"a"] [wear_mask.blood_color != "#030303" ? "blood-stained":"oil-stained"] [wear_mask.name] on [t_his] face!</span>\n"
|
||||
msg += "<span class='warning'>[p_they(TRUE)] [p_have()] [bicon(wear_mask)] [wear_mask.gender==PLURAL?"some":"a"] [wear_mask.blood_color != "#030303" ? "blood-stained":"oil-stained"] [wear_mask.name] on [p_their()] face!</span>\n"
|
||||
else
|
||||
msg += "[t_He] [t_has] [bicon(wear_mask)] \a [wear_mask] on [t_his] face.\n"
|
||||
msg += "[p_they(TRUE)] [p_have()] [bicon(wear_mask)] \a [wear_mask] on [p_their()] face.\n"
|
||||
|
||||
//eyes
|
||||
if(glasses && !skipeyes && !(glasses.flags & ABSTRACT))
|
||||
if(glasses.blood_DNA)
|
||||
msg += "<span class='warning'>[t_He] [t_has] [bicon(glasses)] [glasses.gender==PLURAL?"some":"a"] [glasses.blood_color != "#030303" ? "blood-stained":"oil-stained"] [glasses] covering [t_his] eyes!</span>\n"
|
||||
msg += "<span class='warning'>[p_they(TRUE)] [p_have()] [bicon(glasses)] [glasses.gender==PLURAL?"some":"a"] [glasses.blood_color != "#030303" ? "blood-stained":"oil-stained"] [glasses] covering [p_their()] eyes!</span>\n"
|
||||
else
|
||||
msg += "[t_He] [t_has] [bicon(glasses)] \a [glasses] covering [t_his] eyes.\n"
|
||||
msg += "[p_they(TRUE)] [p_have()] [bicon(glasses)] \a [glasses] covering [p_their()] eyes.\n"
|
||||
|
||||
//left ear
|
||||
if(l_ear && !skipears)
|
||||
msg += "[t_He] [t_has] [bicon(l_ear)] \a [l_ear] on [t_his] left ear.\n"
|
||||
msg += "[p_they(TRUE)] [p_have()] [bicon(l_ear)] \a [l_ear] on [p_their()] left ear.\n"
|
||||
|
||||
//right ear
|
||||
if(r_ear && !skipears)
|
||||
msg += "[t_He] [t_has] [bicon(r_ear)] \a [r_ear] on [t_his] right ear.\n"
|
||||
msg += "[p_they(TRUE)] [p_have()] [bicon(r_ear)] \a [r_ear] on [p_their()] right ear.\n"
|
||||
|
||||
//ID
|
||||
if(wear_id)
|
||||
msg += "[t_He] [t_is] wearing [bicon(wear_id)] \a [wear_id].\n"
|
||||
msg += "[p_they(TRUE)] [p_are()] wearing [bicon(wear_id)] \a [wear_id].\n"
|
||||
|
||||
//Jitters
|
||||
switch(jitteriness)
|
||||
if(300 to INFINITY)
|
||||
msg += "<span class='warning'><B>[t_He] [t_is] convulsing violently!</B></span>\n"
|
||||
msg += "<span class='warning'><B>[p_they(TRUE)] [p_are()] convulsing violently!</B></span>\n"
|
||||
if(200 to 300)
|
||||
msg += "<span class='warning'>[t_He] [t_is] extremely jittery.</span>\n"
|
||||
msg += "<span class='warning'>[p_they(TRUE)] [p_are()] extremely jittery.</span>\n"
|
||||
if(100 to 200)
|
||||
msg += "<span class='warning'>[t_He] [t_is] twitching ever so slightly.</span>\n"
|
||||
msg += "<span class='warning'>[p_they(TRUE)] [p_are()] twitching ever so slightly.</span>\n"
|
||||
|
||||
|
||||
var/appears_dead = FALSE
|
||||
if(stat == DEAD || (status_flags & FAKEDEATH))
|
||||
appears_dead = TRUE
|
||||
if(suiciding)
|
||||
msg += "<span class='warning'>[t_He] appears to have committed suicide... there is no hope of recovery.</span>\n"
|
||||
msg += "<span class='deadsay'>[t_He] [t_is] limp and unresponsive; there are no signs of life"
|
||||
msg += "<span class='warning'>[p_they(TRUE)] appear[p_s()] to have committed suicide... there is no hope of recovery.</span>\n"
|
||||
msg += "<span class='deadsay'>[p_they(TRUE)] [p_are()] limp and unresponsive; there are no signs of life"
|
||||
if(get_int_organ(/obj/item/organ/internal/brain))
|
||||
if(!key)
|
||||
var/foundghost = FALSE
|
||||
@@ -220,11 +189,11 @@
|
||||
foundghost = FALSE
|
||||
break
|
||||
if(!foundghost)
|
||||
msg += " and [t_his] soul has departed"
|
||||
msg += " and [p_their()] soul has departed"
|
||||
msg += "...</span>\n"
|
||||
|
||||
if(!get_int_organ(/obj/item/organ/internal/brain))
|
||||
msg += "<span class='deadsay'>It appears that [t_his] brain is missing...</span>\n"
|
||||
msg += "<span class='deadsay'>It appears that [p_their()] brain is missing...</span>\n"
|
||||
|
||||
msg += "<span class='warning'>"
|
||||
|
||||
@@ -238,17 +207,17 @@
|
||||
|
||||
var/obj/item/organ/external/E = bodyparts_by_name[organ_tag]
|
||||
if(!E)
|
||||
wound_flavor_text["[organ_tag]"] = "<B>[t_He] [t_is] missing [t_his] [organ_descriptor].</B>\n"
|
||||
wound_flavor_text["[organ_tag]"] = "<B>[p_they(TRUE)] [p_are()] missing [p_their()] [organ_descriptor].</B>\n"
|
||||
else
|
||||
if(!isSynthetic())
|
||||
if(E.status & ORGAN_ROBOT)
|
||||
wound_flavor_text["[E.limb_name]"] = "[t_He] [t_has] a robotic [E.name]!\n"
|
||||
wound_flavor_text["[E.limb_name]"] = "[p_they(TRUE)] [p_have()] a robotic [E.name]!\n"
|
||||
|
||||
else if(E.status & ORGAN_SPLINTED)
|
||||
wound_flavor_text["[E.limb_name]"] = "[t_He] [t_has] a splint on [t_his] [E.name]!\n"
|
||||
wound_flavor_text["[E.limb_name]"] = "[p_they(TRUE)] [p_have()] a splint on [p_their()] [E.name]!\n"
|
||||
|
||||
for(var/obj/item/I in E.embedded_objects)
|
||||
msg += "<B>[t_He] [t_has] \a [bicon(I)] [I] embedded in [t_his] [E.name]!</B>\n"
|
||||
msg += "<B>[p_they(TRUE)] [p_have()] \a [bicon(I)] [I] embedded in [p_their()] [E.name]!</B>\n"
|
||||
|
||||
//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.
|
||||
@@ -280,101 +249,101 @@
|
||||
if(temp)
|
||||
var/brute_message = !isSynthetic() ? "bruising" : "denting"
|
||||
if(temp < 30)
|
||||
msg += "[t_He] [t_has] minor [brute_message ].\n"
|
||||
msg += "[p_they(TRUE)] [p_have()] minor [brute_message ].\n"
|
||||
else
|
||||
msg += "<B>[t_He] [t_has] severe [brute_message ]!</B>\n"
|
||||
msg += "<B>[p_they(TRUE)] [p_have()] severe [brute_message ]!</B>\n"
|
||||
|
||||
temp = getFireLoss()
|
||||
if(temp)
|
||||
if(temp < 30)
|
||||
msg += "[t_He] [t_has] minor burns.\n"
|
||||
msg += "[p_they(TRUE)] [p_have()] minor burns.\n"
|
||||
else
|
||||
msg += "<B>[t_He] [t_has] severe burns!</B>\n"
|
||||
msg += "<B>[p_they(TRUE)] [p_have()] severe burns!</B>\n"
|
||||
|
||||
temp = getCloneLoss()
|
||||
if(temp)
|
||||
if(temp < 30)
|
||||
msg += "[t_He] [t_has] minor cellular damage.\n"
|
||||
msg += "[p_they(TRUE)] [p_have()] minor cellular damage.\n"
|
||||
else
|
||||
msg += "<B>[t_He] [t_has] severe cellular damage.</B>\n"
|
||||
msg += "<B>[p_they(TRUE)] [p_have()] severe cellular damage.</B>\n"
|
||||
|
||||
|
||||
if(fire_stacks > 0)
|
||||
msg += "[t_He] [t_is] covered in something flammable.\n"
|
||||
msg += "[p_they(TRUE)] [p_are()] covered in something flammable.\n"
|
||||
if(fire_stacks < 0)
|
||||
msg += "[t_He] looks a little soaked.\n"
|
||||
msg += "[p_they(TRUE)] looks a little soaked.\n"
|
||||
|
||||
switch(wetlevel)
|
||||
if(1)
|
||||
msg += "[t_He] looks a bit damp.\n"
|
||||
msg += "[p_they(TRUE)] looks a bit damp.\n"
|
||||
if(2)
|
||||
msg += "[t_He] looks a little bit wet.\n"
|
||||
msg += "[p_they(TRUE)] looks a little bit wet.\n"
|
||||
if(3)
|
||||
msg += "[t_He] looks wet.\n"
|
||||
msg += "[p_they(TRUE)] looks wet.\n"
|
||||
if(4)
|
||||
msg += "[t_He] looks very wet.\n"
|
||||
msg += "[p_they(TRUE)] looks very wet.\n"
|
||||
if(5)
|
||||
msg += "[t_He] looks absolutely soaked.\n"
|
||||
msg += "[p_they(TRUE)] looks absolutely soaked.\n"
|
||||
|
||||
if(nutrition < NUTRITION_LEVEL_STARVING - 50)
|
||||
msg += "[t_He] [t_is] severely malnourished.\n"
|
||||
msg += "[p_they(TRUE)] [p_are()] severely malnourished.\n"
|
||||
else if(nutrition >= NUTRITION_LEVEL_FAT)
|
||||
if(user.nutrition < NUTRITION_LEVEL_STARVING - 50)
|
||||
msg += "[t_He] [t_is] plump and delicious looking - Like a fat little piggy. A tasty piggy.\n"
|
||||
msg += "[p_they(TRUE)] [p_are()] plump and delicious looking - Like a fat little piggy. A tasty piggy.\n"
|
||||
else
|
||||
msg += "[t_He] [t_is] quite chubby.\n"
|
||||
msg += "[p_they(TRUE)] [p_are()] quite chubby.\n"
|
||||
|
||||
if(blood_volume < BLOOD_VOLUME_SAFE)
|
||||
msg += "[t_He] [t_has] pale skin.\n"
|
||||
msg += "[p_they(TRUE)] [p_have()] pale skin.\n"
|
||||
|
||||
if(bleedsuppress)
|
||||
msg += "[t_He] [t_is] bandaged with something.\n"
|
||||
msg += "[p_they(TRUE)] [p_are()] bandaged with something.\n"
|
||||
else if(bleed_rate)
|
||||
if(reagents.has_reagent("heparin"))
|
||||
msg += "<B>[t_He] [t_is] bleeding uncontrollably!</B>\n"
|
||||
msg += "<B>[p_they(TRUE)] [p_are()] bleeding uncontrollably!</B>\n"
|
||||
else
|
||||
msg += "<B>[t_He] [t_is] bleeding!</B>\n"
|
||||
msg += "<B>[p_they(TRUE)] [p_are()] bleeding!</B>\n"
|
||||
|
||||
if(reagents.has_reagent("teslium"))
|
||||
msg += "[t_He] is emitting a gentle blue glow!\n"
|
||||
msg += "[p_they(TRUE)] [p_are()] emitting a gentle blue glow!\n"
|
||||
|
||||
msg += "</span>"
|
||||
|
||||
if(!appears_dead)
|
||||
if(stat == UNCONSCIOUS)
|
||||
msg += "[t_He] [t_is]n't responding to anything around [t_him] and seems to be asleep.\n"
|
||||
msg += "[p_they(TRUE)] [p_are()]n't responding to anything around [p_them()] and seems to be asleep.\n"
|
||||
else if(getBrainLoss() >= 60)
|
||||
msg += "[t_He] [t_has] a stupid expression on [t_his] face.\n"
|
||||
msg += "[p_they(TRUE)] [p_have()] a stupid expression on [p_their()] face.\n"
|
||||
|
||||
if(get_int_organ(/obj/item/organ/internal/brain))
|
||||
if(istype(src, /mob/living/carbon/human/interactive))
|
||||
var/mob/living/carbon/human/interactive/auto = src
|
||||
if(auto.showexaminetext)
|
||||
msg += "<span class='deadsay'>[t_He] [t_is] appears to be some sort of sick automaton, [t_his] eyes are glazed over and [t_his] mouth is slightly agape.</span>\n"
|
||||
msg += "<span class='deadsay'>[p_they(TRUE)] [p_are()] appears to be some sort of sick automaton, [p_their()] eyes are glazed over and [p_their()] mouth is slightly agape.</span>\n"
|
||||
if(auto.debugexamine)
|
||||
var/dodebug = auto.doing2string(auto.doing)
|
||||
var/interestdebug = auto.interest2string(auto.interest)
|
||||
msg += "<span class='deadsay'>[t_He] [t_is] appears to be [interestdebug] and [dodebug].</span>\n"
|
||||
msg += "<span class='deadsay'>[p_they(TRUE)] [p_are()] appears to be [interestdebug] and [dodebug].</span>\n"
|
||||
else if(species.show_ssd)
|
||||
if(!key)
|
||||
msg += "<span class='deadsay'>[t_He] [t_is] totally catatonic. The stresses of life in deep-space must have been too much for [t_him]. Any recovery is unlikely.</span>\n"
|
||||
msg += "<span class='deadsay'>[p_they(TRUE)] [p_are()] totally catatonic. The stresses of life in deep-space must have been too much for [p_them()]. Any recovery is unlikely.</span>\n"
|
||||
else if(!client)
|
||||
msg += "[t_He] [t_has] suddenly fallen asleep, suffering from Space Sleep Disorder. [t_He] may wake up soon.\n"
|
||||
msg += "[p_they(TRUE)] [p_have()] suddenly fallen asleep, suffering from Space Sleep Disorder. [p_they(TRUE)] may wake up soon.\n"
|
||||
|
||||
if(digitalcamo)
|
||||
msg += "[t_He] [t_is] moving [t_his] body in an unnatural and blatantly inhuman manner.\n"
|
||||
msg += "[p_they(TRUE)] [p_are()] moving [p_their()] body in an unnatural and blatantly inhuman manner.\n"
|
||||
|
||||
if(!(skipface || ( wear_mask && ( wear_mask.flags_inv & HIDEFACE || wear_mask.flags_cover & MASKCOVERSMOUTH) ) ) && is_thrall(src) && in_range(user,src))
|
||||
msg += "Their features seem unnaturally tight and drawn.\n"
|
||||
|
||||
if(decaylevel == 1)
|
||||
msg += "[t_He] [t_is] starting to smell.\n"
|
||||
msg += "[p_they(TRUE)] [p_are()] starting to smell.\n"
|
||||
if(decaylevel == 2)
|
||||
msg += "[t_He] [t_is] bloated and smells disgusting.\n"
|
||||
msg += "[p_they(TRUE)] [p_are()] bloated and smells disgusting.\n"
|
||||
if(decaylevel == 3)
|
||||
msg += "[t_He] [t_is] rotting and blackened, the skin sloughing off. The smell is indescribably foul.\n"
|
||||
msg += "[p_they(TRUE)] [p_are()] rotting and blackened, the skin sloughing off. The smell is indescribably foul.\n"
|
||||
if(decaylevel == 4)
|
||||
msg += "[t_He] [t_is] mostly dessicated now, with only bones remaining of what used to be a person.\n"
|
||||
msg += "[p_they(TRUE)] [p_are()] mostly dessicated now, with only bones remaining of what used to be a person.\n"
|
||||
|
||||
if(hasHUD(user,"security"))
|
||||
var/perpname = "wot"
|
||||
@@ -429,7 +398,7 @@
|
||||
if(pose)
|
||||
if( findtext(pose,".",lentext(pose)) == 0 && findtext(pose,"!",lentext(pose)) == 0 && findtext(pose,"?",lentext(pose)) == 0 )
|
||||
pose = addtext(pose,".") //Makes sure all emotes end with a period.
|
||||
msg += "\n[t_He] is [pose]"
|
||||
msg += "\n[p_they(TRUE)] [p_are()] [pose]"
|
||||
|
||||
to_chat(user, msg)
|
||||
|
||||
|
||||
@@ -306,7 +306,7 @@
|
||||
if(!prob(martial_art.deflection_chance))
|
||||
return ..()
|
||||
if(!src.lying && !(HULK in mutations)) //But only if they're not lying down, and hulks can't do it
|
||||
visible_message("<span class='danger'>[src] deflects the projectile; they can't be hit with ranged weapons!</span>", "<span class='userdanger'>You deflect the projectile!</span>")
|
||||
visible_message("<span class='danger'>[src] deflects the projectile; [p_they()] can't be hit with ranged weapons!</span>", "<span class='userdanger'>You deflect the projectile!</span>")
|
||||
return 0
|
||||
..()
|
||||
|
||||
@@ -608,7 +608,7 @@
|
||||
if(!I || I.loc != src) //no item, no limb, or item is not in limb or in the person anymore
|
||||
return
|
||||
var/time_taken = I.embedded_unsafe_removal_time*I.w_class
|
||||
usr.visible_message("<span class='warning'>[usr] attempts to remove [I] from their [L.name].</span>","<span class='notice'>You attempt to remove [I] from your [L.name]... (It will take [time_taken/10] seconds.)</span>")
|
||||
usr.visible_message("<span class='warning'>[usr] attempts to remove [I] from [usr.p_their()] [L.name].</span>","<span class='notice'>You attempt to remove [I] from your [L.name]... (It will take [time_taken/10] seconds.)</span>")
|
||||
if(do_after(usr, time_taken, needhand = 1, target = src))
|
||||
if(!I || !L || I.loc != src || !(I in L.embedded_objects))
|
||||
return
|
||||
@@ -617,7 +617,7 @@
|
||||
I.forceMove(get_turf(src))
|
||||
usr.put_in_hands(I)
|
||||
usr.emote("scream")
|
||||
usr.visible_message("[usr] successfully rips [I] out of their [L.name]!","<span class='notice'>You successfully remove [I] from your [L.name].</span>")
|
||||
usr.visible_message("[usr] successfully rips [I] out of [usr.p_their()] [L.name]!","<span class='notice'>You successfully remove [I] from your [L.name].</span>")
|
||||
if(!has_embedded_objects())
|
||||
clear_alert("embeddedobject")
|
||||
return
|
||||
@@ -1043,7 +1043,7 @@
|
||||
|
||||
/mob/living/carbon/human/proc/play_xylophone()
|
||||
if(!src.xylophone)
|
||||
visible_message("<span class='warning'>[src] begins playing his ribcage like a xylophone. It's quite spooky.</span>","<span class='notice'>You begin to play a spooky refrain on your ribcage.</span>","<span class='warning'>You hear a spooky xylophone melody.</span>")
|
||||
visible_message("<span class='warning'>[src] begins playing [p_their()] ribcage like a xylophone. It's quite spooky.</span>","<span class='notice'>You begin to play a spooky refrain on your ribcage.</span>","<span class='warning'>You hear a spooky xylophone melody.</span>")
|
||||
var/song = pick('sound/effects/xylophone1.ogg','sound/effects/xylophone2.ogg','sound/effects/xylophone3.ogg')
|
||||
playsound(loc, song, 50, 1, -1)
|
||||
xylophone = 1
|
||||
@@ -1064,7 +1064,7 @@
|
||||
var/fail_msg
|
||||
if(!affecting)
|
||||
. = 0
|
||||
fail_msg = "They are missing that limb."
|
||||
fail_msg = "[p_they(TRUE)] [p_are()] missing that limb."
|
||||
else if(affecting.status & ORGAN_ROBOT)
|
||||
. = 0
|
||||
fail_msg = "That limb is robotic."
|
||||
@@ -1078,7 +1078,7 @@
|
||||
. = 0
|
||||
if(!. && error_msg && user)
|
||||
if(!fail_msg)
|
||||
fail_msg = "There is no exposed flesh or thin material [target_zone == "head" ? "on their head" : "on their body"] to inject into."
|
||||
fail_msg = "There is no exposed flesh or thin material [target_zone == "head" ? "on [p_their()] head" : "on [p_their()] body"] to inject into."
|
||||
to_chat(user, "<span class='alert'>[fail_msg]</span>")
|
||||
|
||||
/mob/living/carbon/human/proc/check_obscured_slots()
|
||||
@@ -1114,8 +1114,10 @@
|
||||
return 1
|
||||
|
||||
/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
|
||||
var/list/obscured = check_obscured_slots()
|
||||
var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE))
|
||||
if((slot_w_uniform in obscured) && skipface)
|
||||
return PLURAL
|
||||
return gender
|
||||
|
||||
/mob/living/carbon/human/proc/increase_germ_level(n)
|
||||
@@ -1252,10 +1254,10 @@
|
||||
if(usr == src)
|
||||
self = 1
|
||||
if(!self)
|
||||
usr.visible_message("<span class='notice'>[usr] kneels down, puts \his hand on [src]'s wrist and begins counting their pulse.</span>",\
|
||||
usr.visible_message("<span class='notice'>[usr] kneels down, puts [usr.p_their()] hand on [src]'s wrist and begins counting [p_their()] pulse.</span>",\
|
||||
"You begin counting [src]'s pulse")
|
||||
else
|
||||
usr.visible_message("<span class='notice'>[usr] begins counting their pulse.</span>",\
|
||||
usr.visible_message("<span class='notice'>[usr] begins counting [p_their()] pulse.</span>",\
|
||||
"You begin counting your pulse.")
|
||||
|
||||
if(src.pulse)
|
||||
@@ -1746,7 +1748,7 @@ Eyes need to have significantly high darksight to shine unless the mob has the X
|
||||
to_chat(src, "<span class='warning'>Remove your mask first!</span>")
|
||||
return 0
|
||||
if((H.head && (H.head.flags_cover & HEADCOVERSMOUTH)) || (H.wear_mask && (H.wear_mask.flags_cover & MASKCOVERSMOUTH) && !H.wear_mask.mask_adjusted))
|
||||
to_chat(src, "<span class='warning'>Remove their mask first!</span>")
|
||||
to_chat(src, "<span class='warning'>Remove [H.p_their()] mask first!</span>")
|
||||
return 0
|
||||
visible_message("<span class='danger'>[src] is trying to perform CPR on [H.name]!</span>", \
|
||||
"<span class='danger'>You try to perform CPR on [H.name]!</span>")
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
continue
|
||||
|
||||
var/emote_scream = pick("screams in pain and ", "lets out a sharp cry and ", "cries out and ")
|
||||
custom_emote(1, "[(NO_PAIN in species.species_traits) ? "" : emote_scream ]drops what they were holding in their [E.name]!")
|
||||
custom_emote(1, "[(NO_PAIN in species.species_traits) ? "" : emote_scream ]drops what [p_they()] [p_were()] holding in [p_their()] [E.name]!")
|
||||
|
||||
else if(E.is_malfunctioning())
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
if(!unEquip(r_hand))
|
||||
continue
|
||||
|
||||
custom_emote(1, "drops what they were holding, their [E.name] malfunctioning!")
|
||||
custom_emote(1, "drops what [p_they()] [p_were()] holding, [p_their()] [E.name] malfunctioning!")
|
||||
|
||||
var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread()
|
||||
spark_system.set_up(5, 0, src)
|
||||
|
||||
@@ -87,11 +87,11 @@
|
||||
if(inactivity_period <= 0)
|
||||
inactivity_period = 9999 // technically infinite
|
||||
if(do_after(src, 60, target = traitorTarget))
|
||||
custom_emote(1, "A fire bursts from [src]'s eyes, igniting white hot and consuming their body in a flaming explosion!")
|
||||
custom_emote(1, "A fire bursts from [src]'s eyes, igniting white hot and consuming [p_their()] body in a flaming explosion!")
|
||||
explosion(src, 6, 6, 6)
|
||||
else
|
||||
inactivity_period = 0
|
||||
custom_emote(1, "[src]'s chest closes, hiding their insides.")
|
||||
custom_emote(1, "[src]'s chest closes, hiding [p_their()] insides.")
|
||||
if(SNPC_PSYCHO)
|
||||
var/choice = pick(typesof(/obj/item/grenade/chem_grenade) - /obj/item/grenade/chem_grenade)
|
||||
|
||||
@@ -469,7 +469,7 @@
|
||||
if(!Adjacent(SF))
|
||||
tryWalk(get_turf(SF))
|
||||
else
|
||||
custom_emote(2, "[pick("gibbers","drools","slobbers","claps wildly","spits")], grabbing various foodstuffs from [SF] and sticking them in it's mouth!")
|
||||
custom_emote(2, "[pick("gibbers","drools","slobbers","claps wildly","spits")], grabbing various foodstuffs from [SF] and sticking them in its mouth!")
|
||||
for(var/obj/item/A in SF.contents)
|
||||
if(prob(smartness/2))
|
||||
var/count = SF.item_quants[A.name]
|
||||
@@ -631,7 +631,7 @@
|
||||
TARGET = newSnack
|
||||
newSnack.reagents.remove_any((newSnack.reagents.total_volume/2)-1)
|
||||
newSnack.name = "Synthetic [newSnack.name]"
|
||||
custom_emote(2, "[pick("gibbers","drools","slobbers","claps wildly","spits")] as they vomit [newSnack] from their mouth!")
|
||||
custom_emote(2, "[pick("gibbers","drools","slobbers","claps wildly","spits")] as [p_they()] vomit[p_s()] [newSnack] from [p_their()] mouth!")
|
||||
catch(var/exception/e)
|
||||
log_runtime(e, src, "Caught in SNPC cooking module")
|
||||
doing &= ~SNPC_SPECIAL
|
||||
|
||||
@@ -150,7 +150,7 @@
|
||||
AdjustSilence(2)
|
||||
|
||||
if(getBrainLoss() >= 120 && stat != 2) //they died from stupidity--literally. -Fox
|
||||
visible_message("<span class='alert'><B>[src]</B> goes limp, their facial expression utterly blank.</span>")
|
||||
visible_message("<span class='alert'><B>[src]</B> goes limp, [p_their()] facial expression utterly blank.</span>")
|
||||
death()
|
||||
|
||||
/mob/living/carbon/human/handle_mutations_and_radiation()
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
|
||||
if(shock_stage >= 30)
|
||||
if(shock_stage == 30)
|
||||
custom_emote(1,"is having trouble keeping their eyes open.")
|
||||
custom_emote(1,"is having trouble keeping [p_their()] eyes open.")
|
||||
EyeBlurry(2)
|
||||
Stuttering(5)
|
||||
|
||||
|
||||
@@ -687,7 +687,7 @@
|
||||
var/limb_select = input(src, "Choose a limb to regrow", "Limb Regrowth") as null|anything in missing_limbs
|
||||
var/chosen_limb = missing_limbs[limb_select]
|
||||
|
||||
visible_message("<span class='notice'>[src] begins to hold still and concentrate on their missing [limb_select]...</span>", "<span class='notice'>You begin to focus on regrowing your missing [limb_select]... (This will take [round(SLIMEPERSON_REGROWTHDELAY/10)] seconds, and you must hold still.)</span>")
|
||||
visible_message("<span class='notice'>[src] begins to hold still and concentrate on [p_their()] missing [limb_select]...</span>", "<span class='notice'>You begin to focus on regrowing your missing [limb_select]... (This will take [round(SLIMEPERSON_REGROWTHDELAY/10)] seconds, and you must hold still.)</span>")
|
||||
if(do_after(src, SLIMEPERSON_REGROWTHDELAY, needhand=0, target = src))
|
||||
if(stat || paralysis || stunned)
|
||||
to_chat(src, "<span class='warning'>You cannot regenerate missing limbs in your current state.</span>")
|
||||
@@ -725,7 +725,7 @@
|
||||
updatehealth()
|
||||
UpdateDamageIcon()
|
||||
nutrition -= SLIMEPERSON_HUNGERCOST
|
||||
visible_message("<span class='notice'>[src] finishes regrowing their missing [new_limb]!</span>", "<span class='notice'>You finish regrowing your [limb_select]</span>")
|
||||
visible_message("<span class='notice'>[src] finishes regrowing [p_their()] missing [new_limb]!</span>", "<span class='notice'>You finish regrowing your [limb_select]</span>")
|
||||
else
|
||||
to_chat(src, "<span class='warning'>You need to hold still in order to regrow a limb!</span>")
|
||||
return
|
||||
|
||||
@@ -188,15 +188,15 @@
|
||||
switch(progress)
|
||||
if(1)
|
||||
to_chat(user, "<span class='notice'>You begin by introducing yourself and explaining what you're about.</span>")
|
||||
user.visible_message("<span class='danger'>[user] introduces \himself and explains \his plans.</span>")
|
||||
user.visible_message("<span class='danger'>[user] introduces [user.p_them()]self and explains [user.p_their()] plans.</span>")
|
||||
if(2)
|
||||
to_chat(user, "<span class='notice'>You begin the recruitment of [target].</span>")
|
||||
user.visible_message("<span class='danger'>[user] leans over towards [target], whispering excitedly as he gives a speech.</span>")
|
||||
user.visible_message("<span class='danger'>[user] leans over towards [target], whispering excitedly as [user.p_they()] give[user.p_s()] a speech.</span>")
|
||||
to_chat(target, "<span class='danger'>You feel yourself agreeing with [user], and a surge of loyalty begins building.</span>")
|
||||
target.Weaken(12)
|
||||
sleep(20)
|
||||
if(ismindshielded(target))
|
||||
to_chat(user, "<span class='notice'>They are enslaved by Nanotrasen. You feel their interest in your cause wane and disappear.</span>")
|
||||
to_chat(user, "<span class='notice'>[target.p_they(TRUE)] are enslaved by Nanotrasen. You feel [target.p_their()] interest in your cause wane and disappear.</span>")
|
||||
user.visible_message("<span class='danger'>[user] stops talking for a moment, then moves back away from [target].</span>")
|
||||
to_chat(target, "<span class='danger'>Your mindshield implant activates, protecting you from conversion.</span>")
|
||||
return
|
||||
@@ -214,7 +214,7 @@
|
||||
recruiting = 0
|
||||
to_chat(user, "<span class='notice'>You have recruited <b>[target]</b> as your henchman!</span>")
|
||||
to_chat(target, "<span class='deadsay'><b>You have decided to enroll as a henchman for [user]. You are now part of the feared 'Greyshirts'.</b></span>")
|
||||
to_chat(target, "<span class='deadsay'><b>You must follow the orders of [user], and help him succeed in \his dastardly schemes.</span>")
|
||||
to_chat(target, "<span class='deadsay'><b>You must follow the orders of [user], and help [user.p_them()] succeed in [user.p_their()] dastardly schemes.</span>")
|
||||
to_chat(target, "<span class='deadsay'>You may not harm other Greyshirt or [user]. However, you do not need to obey other Greyshirts.</span>")
|
||||
ticker.mode.greyshirts += target.mind
|
||||
target.set_species("Human")
|
||||
|
||||
@@ -244,7 +244,7 @@
|
||||
|
||||
var/obj/item/grab/G = new /obj/item/grab(user, src)
|
||||
if(buckled)
|
||||
to_chat(user, "<span class='notice'>You cannot grab [src], \he is buckled in!</span>")
|
||||
to_chat(user, "<span class='notice'>You cannot grab [src]; [p_they()] [p_are()] buckled in!</span>")
|
||||
if(!G) //the grab will delete itself in New if src is anchored
|
||||
return 0
|
||||
user.put_in_active_hand(G)
|
||||
|
||||
@@ -599,7 +599,7 @@
|
||||
var/mob/living/carbon/human/H = over_object //changed to human to avoid stupid issues like xenos holding pAIs.
|
||||
if(!istype(H) || !Adjacent(H)) return ..()
|
||||
if(usr == src)
|
||||
switch(alert(H, "[src] wants you to pick them up. Do it?",,"Yes","No"))
|
||||
switch(alert(H, "[src] wants you to pick [p_them()] up. Do it?",,"Yes","No"))
|
||||
if("Yes")
|
||||
if(Adjacent(H))
|
||||
get_scooped(H)
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
if(answer == "Yes")
|
||||
var/turf/T = get_turf_or_move(P.loc)
|
||||
for(var/mob/v in viewers(T))
|
||||
v.show_message("<span class='notice'>[M] presses \his thumb against [P].</span>", 3, "<span class='notice'>[P] makes a sharp clicking sound as it extracts DNA material from [M].</span>", 2)
|
||||
v.show_message("<span class='notice'>[M] presses [M.p_their()] thumb against [P].</span>", 3, "<span class='notice'>[P] makes a sharp clicking sound as it extracts DNA material from [M].</span>", 2)
|
||||
var/datum/dna/dna = M.dna
|
||||
to_chat(P, "<font color = red><h3>[M]'s UE string : [dna.unique_enzymes]</h3></font>")
|
||||
if(dna.unique_enzymes == P.master_dna)
|
||||
@@ -79,7 +79,7 @@
|
||||
else
|
||||
to_chat(P, "<b>DNA does not match stored Master DNA.</b>")
|
||||
else
|
||||
to_chat(P, "[M] does not seem like \he is going to provide a DNA sample willingly.")
|
||||
to_chat(P, "[M] does not seem like [M.p_they()] [M.p_are()] going to provide a DNA sample willingly.")
|
||||
return 1
|
||||
|
||||
/datum/pai_software/radio_config
|
||||
|
||||
@@ -142,7 +142,7 @@
|
||||
to_chat(usr, "<span class='warning'>The reboot system is currently offline. Please wait another [cooldown_time] seconds.</span>")
|
||||
return
|
||||
|
||||
user.visible_message("<span class='warning'>\the [user] swipes \his ID card through \the [src], attempting to reboot it.</span>", "<span class='warning'>You swipe your ID card through \the [src], attempting to reboot it.</span>")
|
||||
user.visible_message("<span class='warning'>\the [user] swipes [user.p_their()] ID card through [src], attempting to reboot it.</span>", "<span class='warning'>You swipe your ID card through [src], attempting to reboot it.</span>")
|
||||
last_reboot = world.time / 10
|
||||
var/drones = 0
|
||||
for(var/mob/living/silicon/robot/drone/D in world)
|
||||
@@ -153,7 +153,7 @@
|
||||
return
|
||||
|
||||
else
|
||||
user.visible_message("<span class='warning'>\the [user] swipes \his ID card through \the [src], attempting to shut it down.</span>", "<span class='warning'>You swipe your ID card through \the [src], attempting to shut it down.</span>")
|
||||
user.visible_message("<span class='warning'>\the [user] swipes [user.p_their()] ID card through [src], attempting to shut it down.</span>", "<span class='warning'>You swipe your ID card through \the [src], attempting to shut it down.</span>")
|
||||
|
||||
if(emagged)
|
||||
return
|
||||
|
||||
@@ -794,7 +794,7 @@ var/list/robot_verbs_default = list(
|
||||
laws = new /datum/ai_laws/syndicate_override
|
||||
var/time = time2text(world.realtime,"hh:mm:ss")
|
||||
lawchanges.Add("[time] <B>:</B> [M.name]([M.key]) emagged [name]([key])")
|
||||
set_zeroth_law("Only [M.real_name] and people he designates as being such are Syndicate Agents.")
|
||||
set_zeroth_law("Only [M.real_name] and people [M.p_they()] designate[M.p_s()] as being such are Syndicate Agents.")
|
||||
to_chat(src, "<span class='warning'>ALERT: Foreign software detected.</span>")
|
||||
sleep(5)
|
||||
to_chat(src, "<span class='warning'>Initiating diagnostics...</span>")
|
||||
@@ -810,7 +810,7 @@ var/list/robot_verbs_default = list(
|
||||
to_chat(src, "<span class='warning'>ERRORERRORERROR</span>")
|
||||
to_chat(src, "<b>Obey these laws:</b>")
|
||||
laws.show_laws(src)
|
||||
to_chat(src, "<span class='boldwarning'>ALERT: [M.real_name] is your new master. Obey your new laws and his commands.</span>")
|
||||
to_chat(src, "<span class='boldwarning'>ALERT: [M.real_name] is your new master. Obey your new laws and [M.p_their()] commands.</span>")
|
||||
SetLockdown(0)
|
||||
if(src.module && istype(src.module, /obj/item/robot_module/miner))
|
||||
for(var/obj/item/pickaxe/drill/cyborg/D in src.module.modules)
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
/mob/living/simple_animal/bot/ed209/set_custom_texts()
|
||||
text_hack = "You disable [name]'s combat inhibitor."
|
||||
text_dehack = "You restore [name]'s combat inhibitor."
|
||||
text_dehack_fail = "[name] ignores your attempts to restrict him!"
|
||||
text_dehack_fail = "[name] ignores your attempts to restrict [p_them()]!"
|
||||
|
||||
/mob/living/simple_animal/bot/ed209/get_controls(mob/user)
|
||||
var/dat
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
|
||||
/mob/living/simple_animal/bot/floorbot/set_custom_texts()
|
||||
text_hack = "You corrupt [name]'s construction protocols."
|
||||
text_dehack = "You detect errors in [name] and reset his programming."
|
||||
text_dehack = "You detect errors in [name] and reset [p_their()] programming."
|
||||
text_dehack_fail = "[name] is not responding to reset commands!"
|
||||
|
||||
/mob/living/simple_animal/bot/floorbot/get_controls(mob/user)
|
||||
@@ -98,7 +98,7 @@
|
||||
T.use(loaded)
|
||||
amount += loaded
|
||||
if(loaded > 0)
|
||||
to_chat(user, "<span class='notice'>You load [loaded] tiles into the floorbot. He now contains [amount] tiles.</span>")
|
||||
to_chat(user, "<span class='notice'>You load [loaded] tiles into the floorbot. [p_they(TRUE)] now contains [amount] tiles.</span>")
|
||||
nagged = 0
|
||||
update_icon()
|
||||
else
|
||||
|
||||
@@ -75,10 +75,10 @@
|
||||
//helmet and armor = 100% protection
|
||||
if( istype(inventory_head,/obj/item/clothing/head/helmet) && istype(inventory_back,/obj/item/clothing/suit/armor) )
|
||||
if( O.force )
|
||||
to_chat(user, "<span class='warning'>[src] is wearing too much armor! You can't cause \him any damage.</span>")
|
||||
to_chat(user, "<span class='warning'>[src] is wearing too much armor! You can't cause [p_them()] any damage.</span>")
|
||||
visible_message("<span class='danger'> [user] hits [src] with [O], however [src] is too armored.</span>")
|
||||
else
|
||||
to_chat(user, "<span class='warning'>[src] is wearing too much armor! You can't reach \his skin.<span>")
|
||||
to_chat(user, "<span class='warning'>[src] is wearing too much armor! You can't reach [p_their()] skin.<span>")
|
||||
visible_message("[user] gently taps [src] with [O].")
|
||||
if(health>0 && prob(15))
|
||||
custom_emote(1, "looks at [user] with [pick("an amused","an annoyed","a confused","a resentful", "a happy", "an excited")] expression.")
|
||||
@@ -180,7 +180,7 @@
|
||||
)
|
||||
|
||||
if( ! ( item_to_add.type in allowed_types ) )
|
||||
to_chat(usr, "<span class='warning'>You set [item_to_add] on [src]'s back, but \he shakes it off!</span>")
|
||||
to_chat(usr, "<span class='warning'>You set [item_to_add] on [src]'s back, but [p_they()] shake[p_s()] it off!</span>")
|
||||
if(!usr.drop_item())
|
||||
to_chat(usr, "<span class='warning'>\The [item_to_add] is stuck to your hand, you cannot put it on [src]'s back!</span>")
|
||||
return
|
||||
@@ -379,10 +379,10 @@
|
||||
to_chat(user, "<span class='warning'>\The [item_to_add] is stuck to your hand, you cannot put it on [src]'s head!</span>")
|
||||
return 0
|
||||
if(health <= 0)
|
||||
to_chat(user, "<span class ='notice'>There is merely a dull, lifeless look in [real_name]'s eyes as you put the [item_to_add] on \him.</span>")
|
||||
to_chat(user, "<span class ='notice'>There is merely a dull, lifeless look in [real_name]'s eyes as you put the [item_to_add] on [p_them()].</span>")
|
||||
else if(user)
|
||||
user.visible_message("[user] puts [item_to_add] on [real_name]'s head. [src] looks at [user] and barks once.",
|
||||
"<span class='notice'>You put [item_to_add] on [real_name]'s head. [src] gives you a peculiar look, then wags \his tail once and barks.</span>",
|
||||
"<span class='notice'>You put [item_to_add] on [real_name]'s head. [src] gives you a peculiar look, then wags [p_their()] tail once and barks.</span>",
|
||||
"<span class='italics'>You hear a friendly-sounding bark.</span>")
|
||||
item_to_add.loc = src
|
||||
src.inventory_head = item_to_add
|
||||
@@ -392,7 +392,7 @@
|
||||
if(user && !user.drop_item())
|
||||
to_chat(user, "<span class='warning'>\The [item_to_add] is stuck to your hand, you cannot put it on [src]'s head!</span>")
|
||||
return 0
|
||||
to_chat(user, "<span class='warning'>You set [item_to_add] on [src]'s head, but \he shakes it off!</span>")
|
||||
to_chat(user, "<span class='warning'>You set [item_to_add] on [src]'s head, but [p_they()] shake[p_s()] it off!</span>")
|
||||
item_to_add.loc = loc
|
||||
if(prob(25))
|
||||
step_rand(item_to_add)
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
var/emagged = 0 //is it getting ready to explode?
|
||||
var/obj/item/mmi/mmi = null
|
||||
var/emagged_master = null //for administrative purposes, to see who emagged the spiderbot; also for a holder for if someone emags an empty frame first then inserts an MMI.
|
||||
var/mob/emagged_master = null //for administrative purposes, to see who emagged the spiderbot; also for a holder for if someone emags an empty frame first then inserts an MMI.
|
||||
|
||||
/mob/living/simple_animal/spiderbot/Destroy()
|
||||
if(emagged)
|
||||
@@ -135,8 +135,8 @@
|
||||
else
|
||||
emagged = 1
|
||||
to_chat(user, "<span class='notice'>You short out the security protocols and rewrite [src]'s internal memory.</span>")
|
||||
to_chat(src, "<span class='userdanger'>You have been emagged; you are now completely loyal to [user] and their every order!</span>")
|
||||
emagged_master = user.name
|
||||
to_chat(src, "<span class='userdanger'>You have been emagged; you are now completely loyal to [user] and [user.p_their()] every order!</span>")
|
||||
emagged_master = user
|
||||
add_attack_logs(user, src, "Emagged")
|
||||
maxHealth = 60
|
||||
health = 60
|
||||
@@ -150,7 +150,7 @@
|
||||
ckey = M.brainmob.ckey
|
||||
name = "Spider-bot ([M.brainmob.name])"
|
||||
if(emagged)
|
||||
to_chat(src, "<span class='userdanger'>You have been emagged; you are now completely loyal to [emagged_master] and their every order!</span>")
|
||||
to_chat(src, "<span class='userdanger'>You have been emagged; you are now completely loyal to [emagged_master] and [emagged_master.p_their()] every order!</span>")
|
||||
|
||||
/mob/living/simple_animal/spiderbot/proc/update_icon()
|
||||
if(mmi)
|
||||
|
||||
@@ -229,7 +229,7 @@ Difficulty: Medium
|
||||
playsound(src.loc, 'sound/effects/meteorimpact.ogg', 200, 1)
|
||||
for(var/mob/living/L in orange(1, src))
|
||||
if(L.stat)
|
||||
visible_message("<span class='warning'>[src] slams down on [L], crushing them!</span>")
|
||||
visible_message("<span class='warning'>[src] slams down on [L], crushing [L.p_them()]!</span>")
|
||||
L.gib()
|
||||
else
|
||||
L.adjustBruteLoss(75)
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
L.reagents.add_reagent("terror_black_toxin", 30) // inject our special poison
|
||||
visible_message("<span class='danger'>[src] buries its long fangs deep into the [inject_target] of [target]!</span>")
|
||||
else
|
||||
visible_message("<span class='danger'>[src] bites [target], but cannot inject venom into their [inject_target]!</span>")
|
||||
visible_message("<span class='danger'>[src] bites [target], but cannot inject venom into [target.p_their()] [inject_target]!</span>")
|
||||
L.attack_animal(src)
|
||||
if(!ckey && (!(target in enemies) || L.reagents.has_reagent("terror_black_toxin", 60)))
|
||||
step_away(src, L)
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
if(W)
|
||||
melee_damage_lower = initial(melee_damage_lower) * 2
|
||||
melee_damage_upper = initial(melee_damage_upper) * 2
|
||||
visible_message("<span class='danger'>[src] savagely mauls [target] while they are stuck in the web!</span>")
|
||||
visible_message("<span class='danger'>[src] savagely mauls [target] while [L.p_theyre()] stuck in the web!</span>")
|
||||
else
|
||||
melee_damage_lower = initial(melee_damage_lower)
|
||||
melee_damage_upper = initial(melee_damage_upper)
|
||||
|
||||
@@ -93,5 +93,5 @@
|
||||
// instead of having a venom that only lasts seconds, we just add the eyeblur directly.
|
||||
visible_message("<span class='danger'>[src] buries its fangs deep into the [inject_target] of [target]!</span>")
|
||||
else
|
||||
visible_message("<span class='danger'>[src] bites [target], but cannot inject venom into their [inject_target]!</span>")
|
||||
visible_message("<span class='danger'>[src] bites [target], but cannot inject venom into [target.p_their()] [inject_target]!</span>")
|
||||
L.attack_animal(src)
|
||||
@@ -43,7 +43,7 @@
|
||||
|
||||
/mob/living/simple_animal/hostile/poison/terror_spider/prince/spider_specialattack(mob/living/carbon/human/L)
|
||||
if(prob(15))
|
||||
visible_message("<span class='danger'>[src] rams into [L], knocking them to the floor!</span>")
|
||||
visible_message("<span class='danger'>[src] rams into [L], knocking [L.p_them()] to the floor!</span>")
|
||||
L.Weaken(5)
|
||||
L.Stun(5)
|
||||
else
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
..()
|
||||
if(stat == 2)
|
||||
new /obj/item/reagent_containers/food/snacks/ectoplasm(src.loc)
|
||||
src.visible_message("<span class='warning'>\The [src] lets out a contented sigh as their form unwinds.</span>")
|
||||
src.visible_message("<span class='warning'>[src] lets out a contented sigh as [p_their()] form unwinds.</span>")
|
||||
src.ghostize()
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
@@ -1179,7 +1179,7 @@ var/list/slot_equipment_priority = list( \
|
||||
new /obj/effect/decal/cleanable/vomit/green(location)
|
||||
else
|
||||
if(!no_text)
|
||||
visible_message("<span class='warning'>[src] pukes all over \himself!</span>","<span class='warning'>You puke all over yourself!</span>")
|
||||
visible_message("<span class='warning'>[src] pukes all over [p_them()]self!</span>","<span class='warning'>You puke all over yourself!</span>")
|
||||
location.add_vomit_floor(src, 1)
|
||||
playsound(location, 'sound/effects/splat.ogg', 50, 1)
|
||||
|
||||
|
||||
@@ -269,7 +269,7 @@
|
||||
to_chat(assailant, "<span class='notice'>You squeeze [affecting], but nothing interesting happens.</span>")
|
||||
return
|
||||
|
||||
assailant.visible_message("<span class='warning'>[assailant] has reinforced \his grip on [affecting] (now neck)!</span>")
|
||||
assailant.visible_message("<span class='warning'>[assailant] has reinforced [assailant.p_their()] grip on [affecting] (now neck)!</span>")
|
||||
state = GRAB_NECK
|
||||
icon_state = "grabbed+1"
|
||||
assailant.setDir(get_dir(assailant, affecting))
|
||||
@@ -282,11 +282,11 @@
|
||||
hud.name = "kill"
|
||||
affecting.Stun(10) //10 ticks of ensured grab
|
||||
else if(state < GRAB_UPGRADING)
|
||||
assailant.visible_message("<span class='danger'>[assailant] starts to tighten \his grip on [affecting]'s neck!</span>")
|
||||
assailant.visible_message("<span class='danger'>[assailant] starts to tighten [assailant.p_their()] grip on [affecting]'s neck!</span>")
|
||||
hud.icon_state = "kill1"
|
||||
|
||||
state = GRAB_KILL
|
||||
assailant.visible_message("<span class='danger'>[assailant] has tightened \his grip on [affecting]'s neck!</span>")
|
||||
assailant.visible_message("<span class='danger'>[assailant] has tightened [assailant.p_their()] grip on [affecting]'s neck!</span>")
|
||||
add_attack_logs(assailant, affecting, "Strangled")
|
||||
|
||||
assailant.next_move = world.time + 10
|
||||
@@ -332,7 +332,7 @@
|
||||
if(last_hit_zone == "head") //This checks the hitzone the user has selected. In this specific case, they have the head selected.
|
||||
if(affecting.lying)
|
||||
return
|
||||
assailant.visible_message("<span class='danger'>[assailant] thrusts \his head into [affecting]'s skull!</span>") //A visible message for what is going on.
|
||||
assailant.visible_message("<span class='danger'>[assailant] thrusts [assailant.p_their()] head into [affecting]'s skull!</span>") //A visible message for what is going on.
|
||||
var/damage = 5
|
||||
var/obj/item/clothing/hat = attacker.head
|
||||
if(istype(hat))
|
||||
@@ -354,7 +354,7 @@
|
||||
if(!affected.internal_bodyparts_by_name["eyes"])
|
||||
to_chat(assailant, "<span class='danger'>You cannot locate any eyes on [affecting]!</span>")
|
||||
return
|
||||
assailant.visible_message("<span class='danger'>[assailant] presses \his fingers into [affecting]'s eyes!</span>")
|
||||
assailant.visible_message("<span class='danger'>[assailant] presses [assailant.p_their()] fingers into [affecting]'s eyes!</span>")
|
||||
to_chat(affecting, "<span class='danger'>You feel immense pain as digits are being pressed into your eyes!</span>")
|
||||
add_attack_logs(assailant, affecting, "Eye-fucked with their fingers")
|
||||
var/obj/item/organ/internal/eyes/eyes = affected.get_int_organ(/obj/item/organ/internal/eyes)
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
/obj/item/creeping_widow_injector/attack_self(mob/living/carbon/human/user as mob)
|
||||
if(!used)
|
||||
user.visible_message("<span class='warning'>You stick the [src]'s needle into your arm and press the button.", \
|
||||
"<span class='warning'>[user] sticks the [src]'s needle \his arm and presses the button.")
|
||||
"<span class='warning'>[user] sticks the [src]'s needle [user.p_their()] arm and presses the button.")
|
||||
to_chat(user, "<span class='info'>The nanomachines in the [src] flow through your bloodstream.")
|
||||
|
||||
var/datum/martial_art/ninja_martial_art/N = new/datum/martial_art/ninja_martial_art(null)
|
||||
@@ -98,8 +98,8 @@
|
||||
D.silent += 1
|
||||
D.adjustOxyLoss(1)
|
||||
else
|
||||
D.visible_message("<span class='warning'>[A] loses \his grip on [D]'s neck!</span>", \
|
||||
"<span class='userdanger'>[A] loses \his grip on your neck!</span>")
|
||||
D.visible_message("<span class='warning'>[A] loses [A.p_their()] grip on [D]'s neck!</span>", \
|
||||
"<span class='userdanger'>[A] loses [A.p_their()] grip on your neck!</span>")
|
||||
has_choke_hold = 0
|
||||
return 0
|
||||
I++
|
||||
|
||||
@@ -379,7 +379,7 @@
|
||||
|
||||
if(is_hot(P))
|
||||
if((CLUMSY in user.mutations) && prob(10))
|
||||
user.visible_message("<span class='warning'>[user] accidentally ignites themselves!</span>", \
|
||||
user.visible_message("<span class='warning'>[user] accidentally ignites [user.p_them()]self!</span>", \
|
||||
"<span class='userdanger'>You miss the paper and accidentally light yourself on fire!</span>")
|
||||
user.unEquip(P)
|
||||
user.adjust_fire_stacks(1)
|
||||
|
||||
@@ -79,8 +79,8 @@
|
||||
if(istype(P, /obj/item/lighter/zippo))
|
||||
class = "<span class='rose'>"
|
||||
|
||||
user.visible_message("[class][user] holds \the [P] up to \the [src], it looks like \he's trying to burn it!", \
|
||||
"[class]You hold \the [P] up to \the [src], burning it slowly.")
|
||||
user.visible_message("[class][user] holds [P] up to [src], it looks like [user.p_theyre()] trying to burn it!", \
|
||||
"[class]You hold [P] up to [src], burning it slowly.")
|
||||
|
||||
spawn(20)
|
||||
if(get_dist(src, user) < 2 && user.get_active_hand() == P && P.lit)
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
|
||||
/obj/item/paperplane/suicide_act(mob/living/user)
|
||||
user.Stun(10)
|
||||
user.visible_message("<span class='suicide'>[user] jams [name] in \his nose. It looks like \he's trying to commit suicide!</span>")
|
||||
user.visible_message("<span class='suicide'>[user] jams [name] in [user.p_their()] nose. It looks like [user.p_theyre()] trying to commit suicide!</span>")
|
||||
user.EyeBlurry(6)
|
||||
var/obj/item/organ/internal/eyes/E = user.get_int_organ(/obj/item/organ/internal/eyes)
|
||||
if(E)
|
||||
@@ -73,7 +73,7 @@
|
||||
|
||||
else if(is_hot(P))
|
||||
if(user.disabilities & CLUMSY && prob(10))
|
||||
user.visible_message("<span class='warning'>[user] accidentally ignites themselves!</span>", \
|
||||
user.visible_message("<span class='warning'>[user] accidentally ignites [user.p_them()]self!</span>", \
|
||||
"<span class='userdanger'>You miss [src] and accidentally light yourself on fire!</span>")
|
||||
user.unEquip(P)
|
||||
user.adjust_fire_stacks(1)
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
pressure_resistance = 2
|
||||
|
||||
/obj/item/pen/suicide_act(mob/user)
|
||||
to_chat(viewers(user), "<span class='suicide'>[user] starts scribbling numbers over \himself with the [src.name]! It looks like \he's trying to commit sudoku.</span>")
|
||||
to_chat(viewers(user), "<span class='suicide'>[user] starts scribbling numbers over [user.p_them()]self with the [name]! It looks like [user.p_theyre()] trying to commit sudoku.</span>")
|
||||
return (BRUTELOSS)
|
||||
|
||||
/obj/item/pen/blue
|
||||
|
||||
@@ -56,8 +56,8 @@
|
||||
if(istype(P, /obj/item/lighter/zippo))
|
||||
class = "<span class='rose'>"
|
||||
|
||||
user.visible_message("[class][user] holds \the [P] up to \the [src], it looks like \he's trying to burn it!", \
|
||||
"[class]You hold \the [P] up to \the [src], burning it slowly.")
|
||||
user.visible_message("[class][user] holds \the [P] up to \the [src], it looks like [user.p_theyre()] trying to burn it!", \
|
||||
"[class]You hold [P] up to [src], burning it slowly.")
|
||||
|
||||
spawn(20)
|
||||
if(get_dist(src, user) < 2 && user.get_active_hand() == P && P.lit)
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
attack_verb = list("stamped")
|
||||
|
||||
/obj/item/stamp/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] stamps 'VOID' on \his forehead, then promptly falls over, dead.</span>")
|
||||
user.visible_message("<span class='suicide'>[user] stamps 'VOID' on [user.p_their()] forehead, then promptly falls over, dead.</span>")
|
||||
return (OXYLOSS)
|
||||
|
||||
/obj/item/stamp/qm
|
||||
|
||||
@@ -501,9 +501,9 @@ var/global/list/datum/stack_recipe/cable_coil_recipes = list(
|
||||
|
||||
/obj/item/stack/cable_coil/suicide_act(mob/user)
|
||||
if(locate(/obj/structure/stool) in user.loc)
|
||||
user.visible_message("<span class='suicide'>[user] is making a noose with the [name]! It looks like \he's trying to commit suicide.</span>")
|
||||
user.visible_message("<span class='suicide'>[user] is making a noose with the [name]! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
else
|
||||
user.visible_message("<span class='suicide'>[user] is strangling \himself with the [name]! It looks like \he's trying to commit suicide.</span>")
|
||||
user.visible_message("<span class='suicide'>[user] is strangling [user.p_them()]self with the [name]! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
return(OXYLOSS)
|
||||
|
||||
/obj/item/stack/cable_coil/New(loc, length = MAXCOIL, var/paramcolor = null)
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
to_chat(user, "The charge meter reads [round(percent() )]%.")
|
||||
|
||||
/obj/item/stock_parts/cell/suicide_act(mob/user)
|
||||
to_chat(viewers(user), "<span class='suicide'>[user] is licking the electrodes of the [src]! It looks like \he's trying to commit suicide.</span>")
|
||||
to_chat(viewers(user), "<span class='suicide'>[user] is licking the electrodes of the [src]! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
return (FIRELOSS)
|
||||
|
||||
/obj/item/stock_parts/cell/attackby(obj/item/W, mob/user, params)
|
||||
|
||||
@@ -726,7 +726,7 @@
|
||||
update()
|
||||
|
||||
/obj/item/light/suicide_act(mob/living/carbon/human/user)
|
||||
user.visible_message("<span class=suicide>[user] touches \the [src], burning their hands off!</span>", "<span class=suicide>You touch \the [src], burning your hands off!</span>")
|
||||
user.visible_message("<span class=suicide>[user] touches [src], burning [user.p_their()] hands off!</span>", "<span class=suicide>You touch [src], burning your hands off!</span>")
|
||||
|
||||
for(var/oname in list("l_hand", "r_hand"))
|
||||
var/obj/item/organ/external/limb = user.get_organ(oname)
|
||||
|
||||
@@ -244,7 +244,7 @@
|
||||
ui_interact(user)
|
||||
|
||||
/obj/machinery/power/supermatter_shard/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.p_their(TRUE)] 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>")
|
||||
|
||||
@@ -309,7 +309,7 @@
|
||||
|
||||
/obj/machinery/power/supermatter_shard/Bumped(atom/AM as mob|obj)
|
||||
if(istype(AM, /mob/living))
|
||||
AM.visible_message("<span class='danger'>\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='danger'>\The [AM] slams into \the [src] inducing a resonance... [AM.p_their(TRUE)] body starts to glow and catch flame before flashing into ash.</span>",\
|
||||
"<span class='userdanger'>You slam into \the [src] as your ears are filled with unearthly ringing. Your last thought is \"Oh, fuck.\"</span>",\
|
||||
"<span class='italics'>You hear an unearthly noise as a wave of heat washes over you.</span>")
|
||||
else if(isobj(AM) && !istype(AM, /obj/effect))
|
||||
|
||||
@@ -347,7 +347,7 @@ obj/item/gun/proc/newshot()
|
||||
return
|
||||
|
||||
if(user == target)
|
||||
target.visible_message("<span class='warning'>[user] sticks [src] in their mouth, ready to pull the trigger...</span>", \
|
||||
target.visible_message("<span class='warning'>[user] sticks [src] in [user.p_their()] mouth, ready to pull the trigger...</span>", \
|
||||
"<span class='userdanger'>You stick [src] in your mouth, ready to pull the trigger...</span>")
|
||||
else
|
||||
target.visible_message("<span class='warning'>[user] points [src] at [target]'s head, ready to pull the trigger...</span>", \
|
||||
|
||||
@@ -146,10 +146,10 @@
|
||||
|
||||
/obj/item/gun/energy/suicide_act(mob/user)
|
||||
if(can_shoot())
|
||||
user.visible_message("<span class='suicide'>[user] is putting the barrel of the [name] in \his mouth. It looks like \he's trying to commit suicide.</span>")
|
||||
user.visible_message("<span class='suicide'>[user] is putting the barrel of the [name] in [user.p_their()] mouth. It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
sleep(25)
|
||||
if(user.l_hand == src || user.r_hand == src)
|
||||
user.visible_message("<span class='suicide'>[user] melts \his face off with the [name]!</span>")
|
||||
user.visible_message("<span class='suicide'>[user] melts [user.p_their()] face off with the [name]!</span>")
|
||||
playsound(loc, fire_sound, 50, 1, -1)
|
||||
var/obj/item/ammo_casing/energy/shot = ammo_type[select]
|
||||
power_supply.use(shot.e_cost)
|
||||
@@ -159,7 +159,7 @@
|
||||
user.visible_message("<span class='suicide'>[user] panics and starts choking to death!</span>")
|
||||
return(OXYLOSS)
|
||||
else
|
||||
user.visible_message("<span class='suicide'>[user] is pretending to blow \his brains out with the [name]! It looks like \he's trying to commit suicide!</b></span>")
|
||||
user.visible_message("<span class='suicide'>[user] is pretending to blow [user.p_their()] brains out with the [name]! It looks like [user.p_theyre()] trying to commit suicide!</b></span>")
|
||||
playsound(loc, 'sound/weapons/empty.ogg', 50, 1, -1)
|
||||
return (OXYLOSS)
|
||||
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
/obj/item/gun/energy/kinetic_accelerator/suicide_act(mob/user)
|
||||
if(!suppressed)
|
||||
playsound(loc, 'sound/weapons/kenetic_reload.ogg', 60, 1)
|
||||
user.visible_message("<span class='suicide'>[user] cocks the [name] and pretends to blow \his brains out! It looks like \he's trying to commit suicide!</b></span>")
|
||||
user.visible_message("<span class='suicide'>[user] cocks the [name] and pretends to blow [user.p_their()] brains out! It looks like [user.p_theyre()] trying to commit suicide!</b></span>")
|
||||
shoot_live_shot()
|
||||
return (OXYLOSS)
|
||||
|
||||
|
||||
@@ -76,6 +76,6 @@
|
||||
return
|
||||
|
||||
/obj/item/gun/magic/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] is twisting the [name] above \his head, releasing a magical blast! It looks like \he's trying to commit suicide.</span>")
|
||||
user.visible_message("<span class='suicide'>[user] is twisting the [name] above [user.p_their()] head, releasing a magical blast! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
playsound(loc, fire_sound, 50, 1, -1)
|
||||
return FIRELOSS
|
||||
|
||||
@@ -48,9 +48,9 @@
|
||||
update_icon()
|
||||
|
||||
/obj/item/gun/magic/wand/proc/zap_self(mob/living/user)
|
||||
user.visible_message("<span class='danger'>[user] zaps \himself with [src].</span>")
|
||||
user.visible_message("<span class='danger'>[user] zaps [user.p_them()]self with [src].</span>")
|
||||
playsound(user, fire_sound, 50, 1)
|
||||
user.create_attack_log("<b>[key_name(user)]</b> zapped \himself with a <b>[src]</b>")
|
||||
user.create_attack_log("<b>[key_name(user)]</b> zapped [user.p_them()]self with a <b>[src]</b>")
|
||||
|
||||
/////////////////////////////////////
|
||||
//WAND OF DEATH
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
var/heavy = power * 0.2
|
||||
var/medium = power * 0.5
|
||||
var/light = power
|
||||
user.visible_message("<span class='danger'>[user] opens [bomb] on \his [name] and fires a blast wave at [target]!</span>","<span class='danger'>You open [bomb] on your [name] and fire a blast wave at [target]!</span>")
|
||||
user.visible_message("<span class='danger'>[user] opens [bomb] on [user.p_their()] [name] and fires a blast wave at [target]!</span>","<span class='danger'>You open [bomb] on your [name] and fire a blast wave at [target]!</span>")
|
||||
playsound(user, "explosion", 100, 1)
|
||||
var/turf/starting = get_turf(user)
|
||||
var/turf/targturf = get_turf(target)
|
||||
|
||||
@@ -137,17 +137,17 @@
|
||||
|
||||
/obj/item/gun/projectile/suicide_act(mob/user)
|
||||
if(chambered && chambered.BB && !chambered.BB.nodamage)
|
||||
user.visible_message("<span class='suicide'>[user] is putting the barrel of the [name] in \his mouth. It looks like \he's trying to commit suicide.</span>")
|
||||
user.visible_message("<span class='suicide'>[user] is putting the barrel of the [name] in [user.p_their()] mouth. It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
sleep(25)
|
||||
if(user.l_hand == src || user.r_hand == src)
|
||||
process_fire(user, user, 0, zone_override = "head")
|
||||
user.visible_message("<span class='suicide'>[user] blows \his brains out with the [name]!</span>")
|
||||
user.visible_message("<span class='suicide'>[user] blows [user.p_their()] brains out with the [name]!</span>")
|
||||
return(BRUTELOSS)
|
||||
else
|
||||
user.visible_message("<span class='suicide'>[user] panics and starts choking to death!</span>")
|
||||
return(OXYLOSS)
|
||||
else
|
||||
user.visible_message("<span class='suicide'>[user] is pretending to blow \his brains out with the [name]! It looks like \he's trying to commit suicide!</b></span>")
|
||||
user.visible_message("<span class='suicide'>[user] is pretending to blow [user.p_their()] brains out with the [name]! It looks like [user.p_theyre()] trying to commit suicide!</b></span>")
|
||||
playsound(loc, 'sound/weapons/empty.ogg', 50, 1, -1)
|
||||
return (OXYLOSS)
|
||||
|
||||
|
||||
@@ -244,7 +244,7 @@
|
||||
if(zone == "head" || zone == "eyes" || zone == "mouth")
|
||||
shoot_self(user, zone)
|
||||
else
|
||||
user.visible_message("<span class='danger'>[user.name] cowardly fires [src] at \his [zone]!</span>", "<span class='userdanger'>You cowardly fire [src] at your [zone]!</span>", "<span class='italics'>You hear a gunshot!</span>")
|
||||
user.visible_message("<span class='danger'>[user.name] cowardly fires [src] at [user.p_their()] [zone]!</span>", "<span class='userdanger'>You cowardly fire [src] at your [zone]!</span>", "<span class='italics'>You hear a gunshot!</span>")
|
||||
return
|
||||
|
||||
user.visible_message("<span class='danger'>*click*</span>")
|
||||
@@ -252,7 +252,7 @@
|
||||
|
||||
/obj/item/gun/projectile/revolver/russian/proc/shoot_self(mob/living/carbon/human/user, affecting = "head")
|
||||
user.apply_damage(300, BRUTE, affecting)
|
||||
user.visible_message("<span class='danger'>[user.name] fires [src] at \his head!</span>", "<span class='userdanger'>You fire [src] at your head!</span>", "<span class='italics'>You hear a gunshot!</span>")
|
||||
user.visible_message("<span class='danger'>[user.name] fires [src] at [user.p_their()] head!</span>", "<span class='userdanger'>You fire [src] at your head!</span>", "<span class='italics'>You hear a gunshot!</span>")
|
||||
|
||||
/obj/item/gun/projectile/revolver/capgun
|
||||
name = "cap gun"
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
else
|
||||
G.death()
|
||||
|
||||
visible_message("<span class='danger'>[G] topples backwards as the death bolt impacts them!</span>")
|
||||
visible_message("<span class='danger'>[G] topples backwards as the death bolt impacts [G.p_them()]!</span>")
|
||||
|
||||
/obj/item/projectile/magic/fireball/Range()
|
||||
var/turf/T1 = get_step(src,turn(dir, -45))
|
||||
|
||||
@@ -137,7 +137,7 @@
|
||||
if(prob(15))
|
||||
M.apply_effect((rand(30,80)),IRRADIATE)
|
||||
M.Weaken(5)
|
||||
M.visible_message("<span class='warning'>[M] writhes in pain as \his vacuoles boil.</span>", "<span class='userdanger'>You writhe in pain as your vacuoles boil!</span>", "<span class='italics'>You hear the crunching of leaves.</span>")
|
||||
M.visible_message("<span class='warning'>[M] writhes in pain as [M.p_their()] vacuoles boil.</span>", "<span class='userdanger'>You writhe in pain as your vacuoles boil!</span>", "<span class='italics'>You hear the crunching of leaves.</span>")
|
||||
if(prob(35))
|
||||
if(prob(80))
|
||||
randmutb(M)
|
||||
|
||||
@@ -208,7 +208,7 @@
|
||||
M.reagents.add_reagent("jagged_crystals", 5)
|
||||
else if(effect <= 7)
|
||||
M.emote("scream")
|
||||
M.visible_message("<span class='warning'>[M] nervously scratches at their skin!</span>")
|
||||
M.visible_message("<span class='warning'>[M] nervously scratches at [M.p_their()] skin!</span>")
|
||||
M.Jitter(10)
|
||||
M.adjustBruteLoss(5)
|
||||
M.emote("twitch_s")
|
||||
@@ -315,7 +315,7 @@
|
||||
var/effect = ..()
|
||||
if(severity == 1)
|
||||
if(effect <= 2)
|
||||
M.visible_message("<span class='warning'>[M] can't seem to control their legs!</span>")
|
||||
M.visible_message("<span class='warning'>[M] can't seem to control [M.p_their()] legs!</span>")
|
||||
M.AdjustConfused(20)
|
||||
M.Weaken(4)
|
||||
else if(effect <= 4)
|
||||
@@ -356,7 +356,7 @@
|
||||
head_organ.f_style = "Very Long Beard"
|
||||
H.update_hair()
|
||||
H.update_fhair()
|
||||
H.visible_message("<span class='warning'>[H] has a wild look in their eyes!</span>")
|
||||
H.visible_message("<span class='warning'>[H] has a wild look in [H.p_their()] eyes!</span>")
|
||||
if(check < 60)
|
||||
M.SetParalysis(0)
|
||||
M.SetStunned(0)
|
||||
@@ -368,7 +368,7 @@
|
||||
M.AdjustConfused(10)
|
||||
if(check < 8)
|
||||
M.reagents.add_reagent(pick("methamphetamine", "crank", "neurotoxin"), rand(1,5))
|
||||
M.visible_message("<span class='warning'>[M] scratches at something under their skin!</span>")
|
||||
M.visible_message("<span class='warning'>[M] scratches at something under [M.p_their()] skin!</span>")
|
||||
M.adjustBruteLoss(5)
|
||||
else if(check < 16)
|
||||
M.AdjustHallucinate(30)
|
||||
@@ -427,7 +427,7 @@
|
||||
M.reagents.add_reagent("jagged_crystals", 5)
|
||||
else if(effect <= 7)
|
||||
M.emote("scream")
|
||||
M.visible_message("<span class='danger'>[M] tears at their own skin!</span>")
|
||||
M.visible_message("<span class='danger'>[M] tears at [M.p_their()] own skin!</span>")
|
||||
M.adjustBruteLoss(5)
|
||||
M.reagents.add_reagent("jagged_crystals", 5)
|
||||
M.emote("twitch")
|
||||
@@ -541,7 +541,7 @@
|
||||
var/effect = ..()
|
||||
if(severity == 1)
|
||||
if(effect <= 2)
|
||||
M.visible_message("<span class='warning'>[M] can't seem to control their legs!</span>")
|
||||
M.visible_message("<span class='warning'>[M] can't seem to control [M.p_their()] legs!</span>")
|
||||
M.AdjustConfused(33)
|
||||
M.Weaken(2)
|
||||
else if(effect <= 4)
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
M.visible_message("<span class='warning'>[M] suddenly and violently vomits!</span>")
|
||||
M.fakevomit(no_text = 1)
|
||||
else if(effect <= 5)
|
||||
M.visible_message("<span class='warning'>[M] staggers and drools, their eyes bloodshot!</span>")
|
||||
M.visible_message("<span class='warning'>[M] staggers and drools, [M.p_their()] eyes bloodshot!</span>")
|
||||
M.Dizzy(8)
|
||||
M.Weaken(4)
|
||||
if(effect <= 15)
|
||||
@@ -277,7 +277,7 @@
|
||||
if(severity == 1) //lesser
|
||||
M.stuttering += 1
|
||||
if(effect <= 1)
|
||||
M.visible_message("<span class='warning'>[M] suddenly cluches their gut!</span>")
|
||||
M.visible_message("<span class='warning'>[M] suddenly cluches [M.p_their()] gut!</span>")
|
||||
M.emote("scream")
|
||||
M.Stun(4)
|
||||
M.Weaken(4)
|
||||
@@ -293,7 +293,7 @@
|
||||
M.Jitter(30)
|
||||
else if(severity == 2) // greater
|
||||
if(effect <= 2)
|
||||
M.visible_message("<span class='warning'>[M] suddenly cluches their gut!</span>")
|
||||
M.visible_message("<span class='warning'>[M] suddenly cluches [M.p_their()] gut!</span>")
|
||||
M.emote("scream")
|
||||
M.Stun(7)
|
||||
M.Weaken(7)
|
||||
@@ -446,7 +446,7 @@
|
||||
M.visible_message("<span class='warning'>[M] suddenly and violently vomits!</span>")
|
||||
M.fakevomit(no_text = 1)
|
||||
else if(effect <= 5)
|
||||
M.visible_message("<span class='warning'>[M.name] staggers and drools, their eyes bloodshot!</span>")
|
||||
M.visible_message("<span class='warning'>[M.name] staggers and drools, [M.p_their()] eyes bloodshot!</span>")
|
||||
M.Dizzy(2)
|
||||
M.Weaken(3)
|
||||
if(effect <= 15)
|
||||
@@ -597,7 +597,7 @@
|
||||
M.visible_message("<span class='warning'>[M] suddenly and violently vomits!</span>")
|
||||
M.fakevomit(no_text = 1)
|
||||
else if(effect <= 5)
|
||||
M.visible_message("<span class='warning'>[M] staggers and drools, their eyes bloodshot!</span>")
|
||||
M.visible_message("<span class='warning'>[M] staggers and drools, [M.p_their()] eyes bloodshot!</span>")
|
||||
M.Dizzy(2)
|
||||
M.Weaken(3)
|
||||
if(effect <= 15)
|
||||
|
||||
@@ -557,7 +557,7 @@
|
||||
M.adjustBruteLoss(5)
|
||||
M.Weaken(5)
|
||||
M.AdjustJitter(6)
|
||||
M.visible_message("<span class='danger'>[M] falls to the floor, scratching themselves violently!</span>")
|
||||
M.visible_message("<span class='danger'>[M] falls to the floor, scratching [M.p_them()]self violently!</span>")
|
||||
M.emote("scream")
|
||||
..()
|
||||
|
||||
@@ -1016,7 +1016,7 @@
|
||||
M.Drowsy(10)
|
||||
if(11)
|
||||
M.Paralyse(10)
|
||||
M.visible_message("<B>[M]</B> seizes up and falls limp, their eyes dead and lifeless...") //so you can't trigger deathgasp emote on people. Edge case, but necessary.
|
||||
M.visible_message("<B>[M]</B> seizes up and falls limp, [M.p_their()] eyes dead and lifeless...") //so you can't trigger deathgasp emote on people. Edge case, but necessary.
|
||||
if(12 to 60)
|
||||
M.Paralyse(10)
|
||||
if(61 to INFINITY)
|
||||
|
||||
@@ -155,11 +155,11 @@
|
||||
to_chat(user, "<span class='warning'>Your [W] is already full!</span>")
|
||||
return
|
||||
reagents.trans_to(W, W.max_fuel)
|
||||
user.visible_message("<span class='notice'>[user] refills \his [W].</span>", "<span class='notice'>You refill [W].</span>")
|
||||
user.visible_message("<span class='notice'>[user] refills [user.p_their()] [W].</span>", "<span class='notice'>You refill [W].</span>")
|
||||
playsound(src, 'sound/effects/refill.ogg', 50, 1)
|
||||
W.update_icon()
|
||||
else
|
||||
user.visible_message("<span class='warning'>[user] catastrophically fails at refilling \his [W]!</span>", "<span class='userdanger'>That was stupid of you.</span>")
|
||||
user.visible_message("<span class='warning'>[user] catastrophically fails at refilling [user.p_their()] [W]!</span>", "<span class='userdanger'>That was stupid of you.</span>")
|
||||
message_admins("[key_name_admin(user)] triggered a fueltank explosion at [COORD(loc)]")
|
||||
log_game("[key_name(user)] triggered a fueltank explosion at [COORD(loc)]")
|
||||
investigate_log("[key_name(user)] triggered a fueltank explosion at [COORD(loc)]", INVESTIGATE_BOMB)
|
||||
|
||||
@@ -190,7 +190,7 @@
|
||||
if(cameranet.checkTurfVis(remote_eye.loc))
|
||||
for(var/mob/living/carbon/human/M in remote_eye.loc)
|
||||
if(issmall(M) && M.stat)
|
||||
M.visible_message("[M] vanishes as they are reclaimed for recycling!")
|
||||
M.visible_message("[M] vanishes as [M.p_theyre()] reclaimed for recycling!")
|
||||
X.monkeys = round(X.monkeys + 0.2,0.1)
|
||||
qdel(M)
|
||||
else
|
||||
|
||||
@@ -205,7 +205,7 @@
|
||||
SM.master_commander = user
|
||||
SM.sentience_act()
|
||||
to_chat(SM, "<span class='warning'>All at once it makes sense: you know what you are and who you are! Self awareness is yours!</span>")
|
||||
to_chat(SM, "<span class='userdanger'>You are grateful to be self aware and owe [user] a great debt. Serve [user], and assist them in completing their goals at any cost.</span>")
|
||||
to_chat(SM, "<span class='userdanger'>You are grateful to be self aware and owe [user] a great debt. Serve [user], and assist [user.p_them()] in completing [user.p_their()] goals at any cost.</span>")
|
||||
if(SM.flags_2 & HOLOGRAM_2) //Check to see if it's a holodeck creature
|
||||
to_chat(SM, "<span class='userdanger'>You also become depressingly aware that you are not a real creature, but instead a holoform. Your existence is limited to the parameters of the holodeck.</span>")
|
||||
to_chat(user, "<span class='notice'>[M] accepts the potion and suddenly becomes attentive and aware. It worked!</span>")
|
||||
@@ -426,7 +426,7 @@
|
||||
G.loc = src.loc
|
||||
G.key = ghost.key
|
||||
add_attack_logs(user, G, "Summoned as a golem")
|
||||
to_chat(G, "You are an adamantine golem. You move slowly, but are highly resistant to heat and cold as well as blunt trauma. You are unable to wear clothes, but can still use most tools. Serve [user], and assist them in completing their goals at any cost.")
|
||||
to_chat(G, "You are an adamantine golem. You move slowly, but are highly resistant to heat and cold as well as blunt trauma. You are unable to wear clothes, but can still use most tools. Serve [user], and assist [user.p_them()] in completing [user.p_their()] goals at any cost.")
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/golemrune/Topic(href,href_list)
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
if(!holder || (holder in src))
|
||||
return
|
||||
|
||||
owner.visible_message("<span class='notice'>[owner] retracts [holder] back into \his [parent_organ == "r_arm" ? "right" : "left"] arm.</span>",
|
||||
owner.visible_message("<span class='notice'>[owner] retracts [holder] back into [owner.p_their()] [parent_organ == "r_arm" ? "right" : "left"] arm.</span>",
|
||||
"<span class='notice'>[holder] snaps back into your [parent_organ == "r_arm" ? "right" : "left"] arm.</span>",
|
||||
"<span class='italics'>You hear a short mechanical noise.</span>")
|
||||
|
||||
@@ -114,7 +114,7 @@
|
||||
if(parent_organ == "r_arm" ? owner.hand : !owner.hand)
|
||||
owner.swap_hand()
|
||||
|
||||
owner.visible_message("<span class='notice'>[owner] extends [holder] from \his [parent_organ == "r_arm" ? "right" : "left"] arm.</span>",
|
||||
owner.visible_message("<span class='notice'>[owner] extends [holder] from [owner.p_their()] [parent_organ == "r_arm" ? "right" : "left"] arm.</span>",
|
||||
"<span class='notice'>You extend [holder] from your [parent_organ == "r_arm" ? "right" : "left"] arm.</span>",
|
||||
"<span class='italics'>You hear a short mechanical noise.</span>")
|
||||
playsound(get_turf(owner), 'sound/mecha/mechmove03.ogg', 50, 1)
|
||||
|
||||
@@ -289,7 +289,7 @@
|
||||
return
|
||||
if(owner && robotic == 2)
|
||||
Stop() // In the name of looooove~!
|
||||
owner.visible_message("<span class='danger'>[owner] clutches their chest and gasps!</span>","<span class='userdanger'>You clutch your chest in pain!</span>")
|
||||
owner.visible_message("<span class='danger'>[owner] clutches [owner.p_their()] chest and gasps!</span>","<span class='userdanger'>You clutch your chest in pain!</span>")
|
||||
else if(owner && robotic == 1)
|
||||
receive_damage(11,1)
|
||||
|
||||
|
||||
@@ -172,7 +172,7 @@
|
||||
owner.emote("scream") //getting hit on broken hand hurts
|
||||
if(status & ORGAN_SPLINTED && prob((brute + burn)*4)) //taking damage to splinted limbs removes the splints
|
||||
status &= ~ORGAN_SPLINTED
|
||||
owner.visible_message("<span class='danger'>The splint on [owner]'s left arm unravels from their [name]!</span>","<span class='userdanger'>The splint on your [name] unravels!</span>")
|
||||
owner.visible_message("<span class='danger'>The splint on [owner]'s left arm unravels from [owner.p_their()] [name]!</span>","<span class='userdanger'>The splint on your [name] unravels!</span>")
|
||||
owner.handle_splints()
|
||||
if(used_weapon)
|
||||
add_autopsy_data("[used_weapon]", brute + burn)
|
||||
@@ -442,7 +442,7 @@ Note that amputating the affected organ does in fact remove the infection from t
|
||||
return
|
||||
if(owner.step_count >= splinted_count + SPLINT_LIFE)
|
||||
status &= ~ORGAN_SPLINTED //oh no, we actually need surgery now!
|
||||
owner.visible_message("<span class='danger'>[owner] screams in pain as their splint pops off their [name]!</span>","<span class='userdanger'>You scream in pain as your splint pops off your [name]!</span>")
|
||||
owner.visible_message("<span class='danger'>[owner] screams in pain as [owner.p_their()] splint pops off their [name]!</span>","<span class='userdanger'>You scream in pain as your splint pops off your [name]!</span>")
|
||||
owner.emote("scream")
|
||||
owner.Stun(2)
|
||||
owner.handle_splints()
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
// Actually, let's make it slightly worse... just to discourage people from bringing back infections.
|
||||
alternate_ending = 1
|
||||
to_chat(owner,"<span class='danger'>The shapes extend tendrils out of your wound... no... those are legs! SPIDER LEGS! You have spiderlings growing inside you! You scratch at the wound, but it just aggrivates them - they swarm out of the wound, biting you all over!</span>")
|
||||
owner.visible_message("<span class='danger'>[owner] flails around on the floor as spiderlings erupt from their skin and swarm all over them! </span>")
|
||||
owner.visible_message("<span class='danger'>[owner] flails around on the floor as spiderlings erupt from [owner.p_their()] skin and swarm all over them! </span>")
|
||||
owner.Stun(20)
|
||||
owner.Weaken(20)
|
||||
// yes, this is a long stun - that's intentional. Gotta give the spiderlings time to escape.
|
||||
|
||||
@@ -98,6 +98,6 @@
|
||||
return 1
|
||||
|
||||
/datum/surgery_step/slime/saw_core/fail_step(mob/living/user, mob/living/carbon/slime/target, target_zone, obj/item/tool)
|
||||
user.visible_message("<span class='warning'> [user]'s hand slips, causing \him to miss the core!</span>", \
|
||||
user.visible_message("<span class='warning'> [user]'s hand slips, causing [user.p_them()] to miss the core!</span>", \
|
||||
"<span class='warning'> Your hand slips, causing you to miss the core!</span>")
|
||||
return 0
|
||||
return 0
|
||||
|
||||
@@ -48,8 +48,8 @@
|
||||
attack_verb = list("drilled")
|
||||
|
||||
suicide_act(mob/user)
|
||||
to_chat(viewers(user), pick("<span class='suicide'>[user] is pressing [src] to \his temple and activating it! It looks like \he's trying to commit suicide.</span>",
|
||||
"<span class='suicide'>[user] is pressing [src] to \his chest and activating it! It looks like \he's trying to commit suicide.</span>"))
|
||||
to_chat(viewers(user), pick("<span class='suicide'>[user] is pressing [src] to [user.p_their()] temple and activating it! It looks like [user.p_theyre()] trying to commit suicide.</span>",
|
||||
"<span class='suicide'>[user] is pressing [src] to [user.p_their()] chest and activating it! It looks like [user.p_theyre()] trying to commit suicide.</span>"))
|
||||
return (BRUTELOSS)
|
||||
|
||||
|
||||
@@ -72,9 +72,9 @@
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
|
||||
suicide_act(mob/user)
|
||||
to_chat(viewers(user), pick("<span class='suicide'>[user] is slitting \his wrists with [src]! It looks like \he's trying to commit suicide.</span>",
|
||||
"<span class='suicide'>[user] is slitting \his throat with [src]! It looks like \he's trying to commit suicide.</span>",
|
||||
"<span class='suicide'>[user] is slitting \his stomach open with [src]! It looks like \he's trying to commit seppuku.</span>"))
|
||||
to_chat(viewers(user), pick("<span class='suicide'>[user] is slitting [user.p_their()] wrists with [src]! It looks like [user.p_theyre()] trying to commit suicide.</span>",
|
||||
"<span class='suicide'>[user] is slitting [user.p_their()] throat with [src]! It looks like [user.p_theyre()] trying to commit suicide.</span>",
|
||||
"<span class='suicide'>[user] is slitting [user.p_their()] stomach open with [src]! It looks like [user.p_theyre()] trying to commit seppuku.</span>"))
|
||||
return (BRUTELOSS)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user