mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-20 03:25:49 +01:00
Added organ mutations.
Only have sprites for humans yet. Added is_usable() proc that checks for both limb missing or being a tentacle
This commit is contained in:
@@ -11,6 +11,9 @@
|
||||
proc/receive_chem(chemical as obj)
|
||||
return 0
|
||||
|
||||
/datum/organ/proc/get_icon()
|
||||
return icon('icons/mob/human.dmi',"blank")
|
||||
|
||||
//Handles chem traces
|
||||
/mob/living/carbon/human/proc/handle_trace_chems()
|
||||
//New are added for reagents to random organs.
|
||||
|
||||
@@ -547,6 +547,11 @@
|
||||
if(T)
|
||||
T.robotize()
|
||||
|
||||
/datum/organ/external/proc/mutate()
|
||||
src.status |= ORGAN_MUTATED
|
||||
owner << "<span class = 'notice'>Something is not right with your [display_name]...</span>"
|
||||
owner.update_body()
|
||||
|
||||
/datum/organ/external/proc/get_damage() //returns total damage
|
||||
return max(brute_dam + burn_dam - perma_injury, perma_injury) //could use health?
|
||||
|
||||
@@ -556,6 +561,15 @@
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/datum/organ/external/get_icon()
|
||||
if (status & ORGAN_MUTATED)
|
||||
. = new /icon(owner.deform_icon, "[icon_name]")
|
||||
else
|
||||
. = new /icon(owner.race_icon, "[icon_name]")
|
||||
|
||||
/datum/organ/external/proc/is_usable()
|
||||
return !(status & (ORGAN_DESTROYED|ORGAN_MUTATED|ORGAN_DEAD))
|
||||
|
||||
/****************************************************
|
||||
ORGAN DEFINES
|
||||
****************************************************/
|
||||
@@ -576,6 +590,14 @@
|
||||
min_broken_damage = 70
|
||||
body_part = LOWER_TORSO
|
||||
|
||||
/datum/organ/external/groin/get_icon()
|
||||
var/g = "m"
|
||||
if(owner.gender == FEMALE) g = "f"
|
||||
if (status & ORGAN_MUTATED)
|
||||
. = new /icon(owner.deform_icon, "[icon_name]_[g]")
|
||||
else
|
||||
. = new /icon(owner.race_icon, "[icon_name]_[g]")
|
||||
|
||||
/datum/organ/external/l_arm
|
||||
name = "l_arm"
|
||||
display_name = "left arm"
|
||||
@@ -653,27 +675,37 @@
|
||||
body_part = HEAD
|
||||
var/disfigured = 0
|
||||
|
||||
take_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list())
|
||||
..(brute, burn, sharp, used_weapon, forbidden_limbs)
|
||||
if (!disfigured)
|
||||
if (brute_dam > 40)
|
||||
if (prob(50))
|
||||
disfigure("brute")
|
||||
if (burn_dam > 40)
|
||||
disfigure("burn")
|
||||
/datum/organ/external/head/get_icon()
|
||||
if (!owner)
|
||||
return ..()
|
||||
var/g = "m"
|
||||
if(owner.gender == FEMALE) g = "f"
|
||||
if (status & ORGAN_MUTATED)
|
||||
. = new /icon(owner.deform_icon, "[icon_name]_[g]")
|
||||
else
|
||||
. = new /icon(owner.race_icon, "[icon_name]_[g]")
|
||||
|
||||
proc/disfigure(var/type = "brute")
|
||||
if (disfigured)
|
||||
return
|
||||
if(type == "brute")
|
||||
owner.visible_message("\red You hear a sickening cracking sound coming from \the [owner]'s face.", \
|
||||
"\red <b>Your face becomes unrecognizible mangled mess!</b>", \
|
||||
"\red You hear a sickening crack.")
|
||||
else
|
||||
owner.visible_message("\red [owner]'s face melts away, turning into mangled mess!", \
|
||||
"\red <b>Your face melts off!</b>", \
|
||||
"\red You hear a sickening sizzle.")
|
||||
disfigured = 1
|
||||
/datum/organ/external/head/take_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list())
|
||||
..(brute, burn, sharp, used_weapon, forbidden_limbs)
|
||||
if (!disfigured)
|
||||
if (brute_dam > 40)
|
||||
if (prob(50))
|
||||
disfigure("brute")
|
||||
if (burn_dam > 40)
|
||||
disfigure("burn")
|
||||
|
||||
/datum/organ/external/head/proc/disfigure(var/type = "brute")
|
||||
if (disfigured)
|
||||
return
|
||||
if(type == "brute")
|
||||
owner.visible_message("\red You hear a sickening cracking sound coming from \the [owner]'s face.", \
|
||||
"\red <b>Your face becomes unrecognizible mangled mess!</b>", \
|
||||
"\red You hear a sickening crack.")
|
||||
else
|
||||
owner.visible_message("\red [owner]'s face melts away, turning into mangled mess!", \
|
||||
"\red <b>Your face melts off!</b>", \
|
||||
"\red You hear a sickening sizzle.")
|
||||
disfigured = 1
|
||||
|
||||
/****************************************************
|
||||
EXTERNAL ORGAN ITEMS
|
||||
|
||||
Reference in New Issue
Block a user