Merge pull request #3247 from VOREStation/aro-promfix

Fix several organ bugs + Prometheans
This commit is contained in:
Aronai Sieyes
2018-03-16 19:54:28 -04:00
committed by GitHub
3 changed files with 22 additions and 8 deletions
+10 -3
View File
@@ -214,8 +214,6 @@
/obj/item/organ/external/update_health()
damage = min(max_damage, (brute_dam + burn_dam))
return
/obj/item/organ/external/New(var/mob/living/carbon/holder)
..(holder, 0)
@@ -776,6 +774,8 @@ Note that amputating the affected organ does in fact remove the infection from t
if(config.bones_can_break && brute_dam > min_broken_damage * config.organ_health_multiplier && !(robotic >= ORGAN_ROBOT))
src.fracture()
update_health()
// new damage icon system
// adjusted to set damage_state to brute/burn code only (without r_name0 as before)
/obj/item/organ/external/update_icon()
@@ -811,6 +811,13 @@ Note that amputating the affected organ does in fact remove the infection from t
tbrute = 3
return "[tbrute][tburn]"
/obj/item/organ/external/take_damage()
..()
if(!cannot_amputate)
if(nonsolid && damage >= max_damage)
droplimb(DROPLIMB_BLUNT)
/****************************************************
DISMEMBERMENT
****************************************************/
@@ -1092,7 +1099,7 @@ Note that amputating the affected organ does in fact remove the infection from t
unmutate()
for(var/obj/item/organ/external/T in children)
T.robotize(company, 1)
T.robotize(company, keep_organs = keep_organs)
if(owner)
+11 -4
View File
@@ -55,14 +55,21 @@ var/global/list/limb_icon_cache = list()
overlays.Cut()
if(!owner || !owner.species)
return
if(owner.should_have_organ(O_EYES))
if(owner.species.appearance_flags & HAS_EYE_COLOR)
var/obj/item/organ/internal/eyes/eyes = owner.internal_organs_by_name[O_EYES]
if(eye_icon)
var/icon/eyes_icon = new/icon(eye_icon_location, eye_icon)
if(eyes)
eyes_icon.Blend(rgb(eyes.eye_colour[1], eyes.eye_colour[2], eyes.eye_colour[3]), ICON_ADD)
//Should have eyes
if(owner.should_have_organ(O_EYES))
//And we have them
if(eyes)
eyes_icon.Blend(rgb(eyes.eye_colour[1], eyes.eye_colour[2], eyes.eye_colour[3]), ICON_ADD)
//They're gone!
else
eyes_icon.Blend(rgb(128,0,0), ICON_ADD)
//We have weird other-sorts of eyes
else
eyes_icon.Blend(rgb(128,0,0), ICON_ADD)
eyes_icon.Blend(rgb(owner.r_eyes, owner.g_eyes, owner.b_eyes), ICON_ADD)
mob_icon.Blend(eyes_icon, ICON_OVERLAY)
overlays |= eyes_icon
+1 -1
View File
@@ -23,7 +23,7 @@
organ_rel_size = 70
base_miss_chance = 10
/obj/item/organ/external/chest/robotize()
/obj/item/organ/external/chest/robotize(var/company, var/skip_prosthetics = 0, var/keep_organs = 0)
if(..())
// Give them a new cell.
owner.internal_organs_by_name["cell"] = new /obj/item/organ/internal/cell(owner,1)