diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm
index d8d7d03b6c4..84941f4d7a7 100644
--- a/code/game/gamemodes/cult/cult_structures.dm
+++ b/code/game/gamemodes/cult/cult_structures.dm
@@ -161,7 +161,7 @@
var/obj/item/organ/external/head/head = C.get_organ("head")
if(head)
C.apply_damage(30, BURN, "head") //30 fire damage because it's FUCKING LAVA
- head.disfigure("burn") //Your face is unrecognizable because it's FUCKING LAVA
+ head.disfigure() //Your face is unrecognizable because it's FUCKING LAVA
return 1
else
..()
diff --git a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
index b4a787ea4c8..6f6d9132fdf 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
@@ -58,7 +58,7 @@
C.emote("scream")
user.changeNext_move(CLICK_CD_MELEE)
C.apply_damage(25, BURN, "head") //25 fire damage and disfigurement because your face was just deep fried!
- head.disfigure("burn")
+ head.disfigure()
add_attack_logs(user, G.affecting, "Deep-fried with [src]")
qdel(G) //Removes the grip so the person MIGHT have a small chance to run the fuck away and to prevent rapid dunks.
return 0
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index e0f90aacdd0..90fcc2a7a30 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -513,7 +513,7 @@
//Returns "Unknown" if facially disfigured and real_name if not. Useful for setting name when polyacided or when updating a human's name variable
/mob/living/carbon/human/proc/get_face_name()
var/obj/item/organ/external/head = get_organ("head")
- if( !head || head.disfigured || !real_name || (HUSK in mutations) ) //disfigured. use id-name if possible
+ if(!head || head.disfigured || cloneloss > 50 || !real_name || (HUSK in mutations)) //disfigured. use id-name if possible
return "Unknown"
return real_name
diff --git a/code/modules/reagents/chemistry/reagents/medicine.dm b/code/modules/reagents/chemistry/reagents/medicine.dm
index dd4b437a7ab..946381b6dd7 100644
--- a/code/modules/reagents/chemistry/reagents/medicine.dm
+++ b/code/modules/reagents/chemistry/reagents/medicine.dm
@@ -118,10 +118,8 @@
if(ishuman(M))
var/mob/living/carbon/human/H = M
var/obj/item/organ/external/head/head = H.get_organ("head")
- if(head && head.disfigured)
+ if(head)
head.disfigured = FALSE
- head.update_icon()
- H.regenerate_icons()
..()
/datum/reagent/medicine/rezadone
@@ -140,10 +138,8 @@
if(ishuman(M))
var/mob/living/carbon/human/H = M
var/obj/item/organ/external/head/head = H.get_organ("head")
- if(head && head.disfigured)
+ if(head)
head.disfigured = FALSE
- head.update_icon()
- H.regenerate_icons()
..()
/datum/reagent/medicine/rezadone/overdose_process(mob/living/M, severity)
diff --git a/code/modules/reagents/chemistry/reagents/toxins.dm b/code/modules/reagents/chemistry/reagents/toxins.dm
index 663c2f1fb74..9be2cebf675 100644
--- a/code/modules/reagents/chemistry/reagents/toxins.dm
+++ b/code/modules/reagents/chemistry/reagents/toxins.dm
@@ -614,10 +614,7 @@
var/obj/item/organ/external/head/affecting = H.get_organ("head")
if(affecting)
affecting.receive_damage(0, 75)
- if(!affecting.disfigured)
- affecting.disfigured = TRUE
- affecting.update_icon()
- H.regenerate_icons()
+ affecting.disfigure()
H.UpdateDamageIcon()
H.emote("scream")
diff --git a/code/modules/surgery/bones.dm b/code/modules/surgery/bones.dm
index dfe2c0feb8c..5c66ce225df 100644
--- a/code/modules/surgery/bones.dm
+++ b/code/modules/surgery/bones.dm
@@ -136,7 +136,7 @@
"Your hand slips, damaging [target]'s face with \the [tool]!")
var/obj/item/organ/external/head/h = affected
h.receive_damage(10)
- h.disfigured = 1
+ h.disfigure()
return 0
/datum/surgery_step/finish_bone
diff --git a/code/modules/surgery/organs/organ_external.dm b/code/modules/surgery/organs/organ_external.dm
index 0ebf08c225c..b20c8c34c7e 100644
--- a/code/modules/surgery/organs/organ_external.dm
+++ b/code/modules/surgery/organs/organ_external.dm
@@ -273,8 +273,7 @@ This function completely restores a damaged organ to perfect condition.
burn_dam = 0
open = 0 //Closing all wounds.
internal_bleeding = FALSE
- if(istype(src, /obj/item/organ/external/head) && disfigured) //If their head's disfigured, refigure it.
- disfigured = 0
+ disfigured = FALSE
// handle internal organs
for(var/obj/item/organ/internal/current_organ in internal_organs)
@@ -737,19 +736,14 @@ Note that amputating the affected organ does in fact remove the infection from t
qdel(spark_system)
qdel(src)
-/obj/item/organ/external/proc/disfigure(var/type = "brute")
+/obj/item/organ/external/proc/disfigure()
if(disfigured)
return
if(owner)
- if(type == "brute")
- owner.visible_message("You hear a sickening cracking sound coming from \the [owner]'s [name].", \
- "Your [name] becomes a mangled mess!", \
- "You hear a sickening crack.")
- else
- owner.visible_message("\The [owner]'s [name] melts away, turning into mangled mess!", \
- "Your [name] melts away!", \
- "You hear a sickening sizzle.")
- disfigured = 1
+ owner.visible_message("You hear a sickening sound coming from \the [owner]'s [name] as it turns into a mangled mess!", \
+ "Your [name] becomes a mangled mess!", \
+ "You hear a sickening sound.")
+ disfigured = TRUE
/obj/item/organ/external/is_primary_organ(var/mob/living/carbon/human/O = null)
if(isnull(O))
diff --git a/code/modules/surgery/organs/subtypes/standard.dm b/code/modules/surgery/organs/subtypes/standard.dm
index 3fd8effd56a..30c4e173cdc 100644
--- a/code/modules/surgery/organs/subtypes/standard.dm
+++ b/code/modules/surgery/organs/subtypes/standard.dm
@@ -211,11 +211,8 @@
/obj/item/organ/external/head/receive_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE)
..(brute, burn, sharp, used_weapon, forbidden_limbs, ignore_resists)
if(!disfigured)
- if(brute_dam > 40)
- if(prob(50))
- disfigure("brute")
- if(burn_dam > 40)
- disfigure("burn")
+ if(brute_dam + burn_dam > 50)
+ disfigure()
/obj/item/organ/external/head/proc/handle_alt_icon()
if(alt_head && alt_heads_list[alt_head])
diff --git a/code/modules/surgery/plastic_surgery.dm b/code/modules/surgery/plastic_surgery.dm
index f9008611761..113a2519323 100644
--- a/code/modules/surgery/plastic_surgery.dm
+++ b/code/modules/surgery/plastic_surgery.dm
@@ -27,8 +27,6 @@
var/species_names = target.get_species()
if(head.disfigured)
head.disfigured = FALSE
- head.update_icon()
- target.regenerate_icons()
user.visible_message("[user] successfully restores [target]'s appearance!", "You successfully restore [target]'s appearance.")
else
var/list/names = list()
diff --git a/code/modules/surgery/robotics.dm b/code/modules/surgery/robotics.dm
index 58b570eb5e3..50a99f9759c 100644
--- a/code/modules/surgery/robotics.dm
+++ b/code/modules/surgery/robotics.dm
@@ -248,10 +248,7 @@
user.visible_message(" [user] finishes patching damage to [target]'s [affected.name] with \the [tool].", \
" You finish patching damage to [target]'s [affected.name] with \the [tool].")
affected.heal_damage(rand(30,50),0,1,1)
- if(affected.disfigured)
- affected.disfigured = 0
- affected.update_icon()
- target.regenerate_icons()
+ affected.disfigured = FALSE
if("burn")
user.visible_message(" [user] finishes splicing cable into [target]'s [affected.name].", \
" You finishes splicing new cable into [target]'s [affected.name].")