Updates various dependencies on organ brokenness to use the is_broken() proc. Updates external organ brokenness to ensure broken description is set.

This commit is contained in:
mwerezak
2015-04-13 16:38:33 -04:00
parent d683bb07af
commit da5518f8b2
4 changed files with 8 additions and 8 deletions

View File

@@ -74,7 +74,7 @@
stance_damage += 2 stance_damage += 2
else if (E.status & ORGAN_DESTROYED) else if (E.status & ORGAN_DESTROYED)
stance_damage += 2 // let it fail even if just foot&leg stance_damage += 2 // let it fail even if just foot&leg
else if (E.is_malfunctioning() || (E.is_broken() && !(E.status & ORGAN_SPLINTED)) || !E.is_usable()) else if (E.is_malfunctioning() || E.is_broken() || !E.is_usable())
stance_damage += 1 stance_damage += 1
// Canes and crutches help you stand (if the latter is ever added) // Canes and crutches help you stand (if the latter is ever added)

View File

@@ -36,12 +36,8 @@
if(istype(src,/mob/living/carbon/human)) if(istype(src,/mob/living/carbon/human))
var/mob/living/carbon/human/M = src var/mob/living/carbon/human/M = src
for(var/obj/item/organ/external/organ in M.organs) for(var/obj/item/organ/external/organ in M.organs)
if (!organ) if(organ && (organ.is_broken() || organ.open))
continue
else if(organ.status & ORGAN_BROKEN || organ.open)
src.traumatic_shock += 30 src.traumatic_shock += 30
if(organ.status & ORGAN_SPLINTED)
src.traumatic_shock -= 25
if(src.traumatic_shock < 0) if(src.traumatic_shock < 0)
src.traumatic_shock = 0 src.traumatic_shock = 0

View File

@@ -145,7 +145,7 @@ var/list/organ_cache = list()
return damage >= min_bruised_damage return damage >= min_bruised_damage
/obj/item/organ/proc/is_broken() /obj/item/organ/proc/is_broken()
return (damage >= min_broken_damage || (status & ORGAN_CUT_AWAY) || ((status & ORGAN_BROKEN) && !(status & ORGAN_SPLINTED))) return (damage >= min_broken_damage || (status & ORGAN_CUT_AWAY) || (status & ORGAN_BROKEN))
//Germs //Germs
/obj/item/organ/proc/handle_antibiotics() /obj/item/organ/proc/handle_antibiotics()

View File

@@ -333,8 +333,12 @@ This function completely restores a damaged organ to perfect condition.
PROCESSING & UPDATING PROCESSING & UPDATING
****************************************************/ ****************************************************/
//Determines if we even need to process this organ. //external organs handle brokenness a bit differently when it comes to damage. Instead brute_dam is checked inside process()
//this also ensures that an external organ cannot be "broken" without broken_description being set.
/obj/item/organ/external/is_broken()
return ((status & ORGAN_CUT_AWAY) || ((status & ORGAN_BROKEN) && !(status & ORGAN_SPLINTED)))
//Determines if we even need to process this organ.
/obj/item/organ/external/proc/need_process() /obj/item/organ/external/proc/need_process()
if(status && status != ORGAN_ROBOT) // If it's robotic, that's fine it will have a status. if(status && status != ORGAN_ROBOT) // If it's robotic, that's fine it will have a status.
return 1 return 1