Add Body Writing to humans (#17963)

* Add Body Writing to humans

* Make sure there's attack logs for body writing
This commit is contained in:
ShadowLarkens
2025-07-07 13:31:56 -07:00
committed by GitHub
parent a14dc37596
commit d3a54514ca
5 changed files with 52 additions and 1 deletions
@@ -77,7 +77,6 @@
BP_L_LEG = skip_body & EXAMINE_SKIPLEGS,
BP_R_LEG = skip_body & EXAMINE_SKIPLEGS)
var/gender_hidden = (skip_gear & EXAMINE_SKIPJUMPSUIT) && (skip_body & EXAMINE_SKIPFACE)
var/gender_key = get_visible_gender(user, gender_hidden)
var/datum/gender/T = GLOB.gender_datums[gender_key]
@@ -282,6 +281,7 @@
vorestrings += examine_step_size()
vorestrings += examine_nif()
vorestrings += examine_chimera()
vorestrings += examine_body_writing(hidden, T)
for(var/entry in vorestrings)
if(entry == "" || entry == null)
vorestrings -= entry
@@ -138,3 +138,20 @@
return span_notice("[t_He] [t_appear] to be in some sort of torpor.")
else if(xc.feral)
return span_warning("[t_He] [t_has] a crazed, wild look in [t_his] eyes!")
/mob/living/carbon/human/proc/examine_body_writing(list/hidden, datum/gender/G)
. = list()
for(var/bodypart in hidden)
var/is_hidden = hidden[bodypart]
if(is_hidden)
continue
var/writing = LAZYACCESS(body_writing, bodypart)
if(writing)
var/obj/item/organ/external/affecting = get_organ(bodypart)
if(!affecting || affecting.is_stump())
LAZYREMOVE(body_writing, bodypart)
continue
. += span_notice("[G.He] [G.has] \"[writing]\" written on [G.his] [parse_zone(bodypart)].")
@@ -1153,6 +1153,8 @@
/mob/living/carbon/human/wash(clean_types)
. = ..()
LAZYCLEARLIST(body_writing)
//Always do hands (or whatever's on our hands)
if(gloves)
gloves.wash(clean_types)
@@ -12,3 +12,5 @@
var/low_sorting_priority = FALSE
tail_alt = TAIL_UPPER_LAYER // not a toggle for humans but a pointer for what layer the tail should be when facing North/East/West
var/list/body_writing // assoc list by BP_ key