Merge pull request #9070 from Fox-McCloud/plastic-surgery

Adds Plastic Surgery; Fixes Disfigurement
This commit is contained in:
tigercat2000
2018-06-13 13:20:00 -07:00
committed by GitHub
14 changed files with 90 additions and 184 deletions
+6 -12
View File
@@ -272,8 +272,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)
@@ -736,19 +735,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("<span class='warning'>You hear a sickening cracking sound coming from \the [owner]'s [name].</span>", \
"<span class='danger'>Your [name] becomes a mangled mess!</span>", \
"<span class='warning'>You hear a sickening crack.</span>")
else
owner.visible_message("<span class='warning'>\The [owner]'s [name] melts away, turning into mangled mess!</span>", \
"<span class='danger'>Your [name] melts away!</span>", \
"<span class='warning'>You hear a sickening sizzle.</span>")
disfigured = 1
owner.visible_message("<span class='warning'>You hear a sickening sound coming from \the [owner]'s [name] as it turns into a mangled mess!</span>", \
"<span class='danger'>Your [name] becomes a mangled mess!</span>", \
"<span class='warning'>You hear a sickening sound.</span>")
disfigured = TRUE
/obj/item/organ/external/is_primary_organ(var/mob/living/carbon/human/O = null)
if(isnull(O))
@@ -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])