Skip to content

Commit

Permalink
Removes facial disfigurement (#6651)
Browse files Browse the repository at this point in the history
# About the pull request

Removes facial disfigurement.

<!-- Remove this text and explain what the purpose of your PR is.

Mention if you have tested your changes. If you changed a map, make sure
you used the mapmerge tool.
If this is an Issue Correction, you can type "Fixes Issue #169420" to
link the PR to the corresponding Issue number #169420.

Remember: something that is self-evident to you might not be to others.
Explain your rationale fully, even if you feel it goes without saying.
-->

# Explain why it's good for the game

Facial disfigurement is a roleplay tool, one which doesn't really have a
place in CM due to its rules around messing with other people's IDs. I
have never seen any sort of impersonation plot or deeper engagement from
facial disfigurement. The most I've seen is "OH GOD MY FACE!" and then
the marine gets it fixed, or ignores it.

So why not leave it as-is? It causes no harm. While leaving it is
harmless it is just one more aspect of "standard" SS13 that doesn't fit
with CM. One more piece of code that has to be maintained through
changes and refactors. One more thing to consider when trying to
understand what the code does. In the same vein as the removal of
walk/run mode and aim mode.
# Testing Photographs and Procedure
Boots without issue. Facial damage, yautja skinning, and var editing
still work minus the facial disfigurement.


# Changelog
:cl:
del: Removed facial disfigurement
/:cl:
  • Loading branch information
Doubleumc committed Jul 19, 2024
1 parent ee0b038 commit e6cb736
Show file tree
Hide file tree
Showing 10 changed files with 8 additions and 248 deletions.
2 changes: 1 addition & 1 deletion code/__DEFINES/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@
#define CANROOT (1<<6)
#define GODMODE (1<<12)
#define FAKEDEATH (1<<13) //Replaces stuff like changeling.changeling_fakedeath
#define DISFIGURED (1<<14) //I'll probably move this elsewhere if I ever get wround to writing a bitflag mob-damage system
//#define DISFIGURED (1<<14) //unused
#define XENO_HOST (1<<15) //Tracks whether we're gonna be a baby alien's mummy.
#define IMMOBILE_ACTION (1<<16) // If you are performing an action that prevents you from being pushed by your own people.
#define PERMANENTLY_DEAD (1<<17)
Expand Down
1 change: 0 additions & 1 deletion code/_globalvars/bitfields.dm
Original file line number Diff line number Diff line change
Expand Up @@ -356,7 +356,6 @@ DEFINE_BITFIELD(status_flags, list(
"PASSEMOTES" = PASSEMOTES,
"GODMODE" = GODMODE,
"FAKEDEATH" = FAKEDEATH,
"DISFIGURED" = DISFIGURED,
"XENO_HOST" = XENO_HOST,
"IMMOBILE_ACTION" = IMMOBILE_ACTION,
"PERMANENTLY_DEAD" = PERMANENTLY_DEAD,
Expand Down
34 changes: 0 additions & 34 deletions code/game/machinery/medical_pod/autodoc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -238,11 +238,6 @@
surgery_list += create_autodoc_surgery(L,ORGAN_SURGERY,"damage",0,I)
organdamagesurgery++

if(istype(L,/obj/limb/head))
var/obj/limb/head/H = L
if(H.disfigured)
surgery_list += create_autodoc_surgery(L,LIMB_SURGERY,"facial")

if(L.status & LIMB_BROKEN)
surgery_list += create_autodoc_surgery(L,LIMB_SURGERY,"broken")
if(L.status & LIMB_DESTROYED)
Expand Down Expand Up @@ -521,20 +516,6 @@
if(!surgery) break
close_incision(H,S.limb_ref)

if("facial")
if(prob(30)) visible_message("[icon2html(src, viewers(src))] \The <b>[src]</b> speaks: Beginning Facial Reconstruction Surgery.");
if(S.unneeded)
sleep(UNNEEDED_DELAY)
visible_message("[icon2html(src, viewers(src))] \The <b>[src]</b> speaks: Procedure has been deemed unnecessary.");
surgery_todo_list -= S
continue
if(istype(S.limb_ref, /obj/limb/head))
var/obj/limb/head/F = S.limb_ref
sleep(SCALPEL_MAX_DURATION + HEMOSTAT_MAX_DURATION + RETRACTOR_MAX_DURATION + CAUTERY_MAX_DURATION)
F.remove_all_bleeding(TRUE)
F.disfigured = 0
F.owner.name = F.owner.get_visible_name()

if("open")
if(prob(30)) visible_message("[icon2html(src, viewers(src))] \The <b>[src]</b>croaks: Closing surgical incision.");
close_encased(H,S.limb_ref)
Expand Down Expand Up @@ -753,9 +734,6 @@
if("shrapnel")
surgeryqueue["shrapnel"] = 1
dat += "Shrapnel Removal Surgery"
if("facial")
surgeryqueue["facial"] = 1
dat += "Facial Reconstruction Surgery"
if("open")
surgeryqueue["open"] = 1
dat += "Close Open Incisions"
Expand Down Expand Up @@ -902,18 +880,6 @@
N.fields["autodoc_manual"] += create_autodoc_surgery(null,LIMB_SURGERY,"shrapnel",1)
updateUsrDialog()

if(href_list["facial"])
for(var/obj/limb/L in connected.occupant.limbs)
if(L)
if(istype(L,/obj/limb/head))
var/obj/limb/head/J = L
if(J.disfigured)
N.fields["autodoc_manual"] += create_autodoc_surgery(L,LIMB_SURGERY,"facial")
else
N.fields["autodoc_manual"] += create_autodoc_surgery(L,LIMB_SURGERY,"facial",1)
updateUsrDialog()
break

if(href_list["open"])
for(var/obj/limb/L in connected.occupant.limbs)
if(L)
Expand Down
1 change: 0 additions & 1 deletion code/modules/cm_preds/yaut_weapons.dm
Original file line number Diff line number Diff line change
Expand Up @@ -584,7 +584,6 @@
SPAN_DANGER("<B>[victim] is missing \his head. Pelts like this just aren't the same... You peel the skin around the stump loose with your [tool.name].</B>"))
else
victim.apply_damage(10, BRUTE, v_head, sharp = TRUE)
v_head.disfigured = TRUE
create_leftovers(victim, has_meat = FALSE, skin_amount = 1)
if(victim.h_style == "Bald") //you can't scalp someone with no hair.
user.visible_message(SPAN_DANGER("<B>[user] makes some rough cuts on [victim]'s head and face with \a [tool].</B>"),
Expand Down
15 changes: 6 additions & 9 deletions code/modules/mob/living/carbon/human/human.dm
Original file line number Diff line number Diff line change
Expand Up @@ -350,10 +350,10 @@
return "[face_name] (as [id_name])"
return face_name

//Returns "Unknown" if facially disfigured and real_name if not. Useful for setting name when polyacided or when updating a human's name variable
//Returns "Unknown" if facially unidentifiable and real_name if not. Useful for setting name when headless or when updating a human's name variable
/mob/living/carbon/human/proc/get_face_name()
var/obj/limb/head/head = get_limb("head")
if(!head || head.disfigured || (head.status & LIMB_DESTROYED) || !real_name) //disfigured. use id-name if possible
if(!head || (head.status & LIMB_DESTROYED) || !real_name) //unidentifiable. use id-name if possible
return "Unknown"
return real_name

Expand Down Expand Up @@ -907,9 +907,6 @@
var/obj/limb/head/h = get_limb("head")
if(QDELETED(h))
h = get_limb("synthetic head")
else
h.disfigured = 0
name = get_visible_name()

if(species && !(species.flags & NO_BLOOD))
restore_blood()
Expand Down Expand Up @@ -1712,15 +1709,15 @@

/mob/living/carbon/human/on_knockedout_trait_gain(datum/source)
. = ..()

update_execute_hud()

return .

/mob/living/carbon/human/on_knockedout_trait_loss(datum/source)
. = ..()

update_execute_hud()

return .

20 changes: 0 additions & 20 deletions code/modules/organs/limbs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1424,7 +1424,6 @@ treat_grafted var tells it to apply to grafted but unsalved wounds, for burn kit
has_stump_icon = TRUE
splint_icon_amount = 4
bandage_icon_amount = 4
var/disfigured = 0 //whether the head is disfigured.

var/eyes_r
var/eyes_g
Expand Down Expand Up @@ -1462,25 +1461,6 @@ treat_grafted var tells it to apply to grafted but unsalved wounds, for burn kit
mob/attack_source = null,\
brute_reduced_by = -1, burn_reduced_by = -1)
. = ..()
if (!disfigured)
if (brute_dam > 50 || brute_dam > 40 && prob(50))
disfigure("brute")
if (burn_dam > 40)
disfigure("burn")

/obj/limb/head/proc/disfigure(type = "brute")
if (disfigured)
return
if(type == "brute")
owner.visible_message(SPAN_DANGER("You hear a sickening cracking sound coming from \the [owner]'s face."), \
SPAN_DANGER("<b>Your face becomes an unrecognizible mangled mess!</b>"), \
SPAN_DANGER("You hear a sickening crack."))
else
owner.visible_message(SPAN_DANGER("[owner]'s face melts away, turning into a mangled mess!"), \
SPAN_DANGER("<b>Your face melts off!</b>"), \
SPAN_DANGER("You hear a sickening sizzle."))
disfigured = 1
owner.name = owner.get_visible_name()

/obj/limb/head/reset_limb_surgeries()
for(var/zone in list("head", "eyes", "mouth"))
Expand Down
4 changes: 1 addition & 3 deletions code/modules/reagents/chemistry_properties/prop_negative.dm
Original file line number Diff line number Diff line change
Expand Up @@ -137,11 +137,9 @@
if(affecting)
if(affecting.take_damage(4, 2))
H.UpdateDamageIcon()
if(prob(meltprob)) //Applies disfigurement
if(prob(meltprob))
if(H.pain.feels_pain)
H.emote("scream")
H.status_flags |= DISFIGURED
H.name = H.get_visible_name()
else
M.take_limb_damage(min(6, volume))
return
Expand Down
4 changes: 0 additions & 4 deletions code/modules/reagents/chemistry_properties/prop_positive.dm
Original file line number Diff line number Diff line change
Expand Up @@ -949,10 +949,6 @@
/datum/chem_property/positive/aiding/process(mob/living/M, potency = 1, delta_time)
M.disabilities = 0
M.sdisabilities = 0
M.status_flags &= ~DISFIGURED
if(ishuman(M))
var/mob/living/carbon/human/H = M
H.name = H.get_visible_name()

/datum/chem_property/positive/aiding/process_overdose(mob/living/M, potency = 1, delta_time)
M.confused = max(M.confused, 20 * potency) //Confusion and some toxins
Expand Down
174 changes: 0 additions & 174 deletions code/modules/surgery/face.dm

This file was deleted.

1 change: 0 additions & 1 deletion colonialmarines.dme
Original file line number Diff line number Diff line change
Expand Up @@ -2331,7 +2331,6 @@
#include "code\modules\surgery\brainrepair.dm"
#include "code\modules\surgery\chestburster.dm"
#include "code\modules\surgery\eye.dm"
#include "code\modules\surgery\face.dm"
#include "code\modules\surgery\generic.dm"
#include "code\modules\surgery\headreattach.dm"
#include "code\modules\surgery\implant.dm"
Expand Down

0 comments on commit e6cb736

Please sign in to comment.