Merge pull request #2086 from Neerti/7/10/2016_freezer_fixes

Freezer Fixes
This commit is contained in:
EmperorJon
2016-07-10 10:56:59 +01:00
committed by GitHub
6 changed files with 77 additions and 16 deletions
@@ -101,6 +101,22 @@
/obj/item/organ
)
/obj/item/weapon/gripper/no_use/organ/Entered(var/atom/movable/AM)
if(istype(AM, /obj/item/organ))
var/obj/item/organ/O = AM
O.preserved = 1
for(var/obj/item/organ/organ in O)
organ.preserved = 1
..()
/obj/item/weapon/gripper/no_use/organ/Exited(var/atom/movable/AM)
if(istype(AM, /obj/item/organ))
var/obj/item/organ/O = AM
O.preserved = 0
for(var/obj/item/organ/organ in O)
organ.preserved = 0
..()
/obj/item/weapon/gripper/no_use/organ/robotics
name = "external organ gripper"
icon_state = "gripper-flesh"
+2 -1
View File
@@ -28,6 +28,7 @@ var/list/organ_cache = list()
var/min_broken_damage = 30 // Damage before becoming broken
var/max_damage // Damage cap
var/rejecting // Is this organ already being rejected?
var/preserved = 0 // If this is 1, prevents organ decay.
/obj/item/organ/Destroy()
@@ -100,7 +101,7 @@ var/list/organ_cache = list()
// Don't process if we're in a freezer, an MMI or a stasis bag.or a freezer or something I dunno
if(istype(loc,/obj/item/device/mmi))
return
if(istype(loc,/obj/structure/closet/body_bag/cryobag) || istype(loc,/obj/structure/closet/crate/freezer) || istype(loc,/obj/item/weapon/storage/box/freezer) || istype(loc,/obj/item/weapon/gripper/no_use/organ))
if(preserved)
return
//Process infections
if ((robotic >= ORGAN_ROBOT) || (owner && owner.species && (owner.species.flags & IS_PLANT)))