diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 238088c0c7a..aaff0c0313d 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -275,14 +275,16 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump, if(!Adjacent(clicked_on)) return - var/IsVentcrawler = 1 + var/ventcrawlerlocal = 0 + if(ventcrawler) + ventcrawlerlocal = ventcrawler + if(!ventcrawler) - IsVentcrawler = 0 if(ishuman(src)) var/mob/living/carbon/human/H = src - if(!H.species.ventcrawler) IsVentcrawler = 1 + if(!H.species.ventcrawler) ventcrawlerlocal = H.species.ventcrawler - if(!IsVentcrawler) return + if(!ventcrawlerlocal) return if(stat) src << "You must be conscious to do this!" @@ -322,11 +324,13 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump, if(!client) return - if(iscarbon(src) && contents.len && ventcrawler < 2)//It must have atleast been 1 to get this far + if(iscarbon(src) && contents.len && ventcrawlerlocal < 2)//It must have atleast been 1 to get this far for(var/obj/item/I in contents) var/failed = 0 if(istype(I, /obj/item/weapon/implant)) continue + if(istype(I, /obj/item/organ)) + continue else failed++ diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index f5cd9ab48be..95f149fa611 100755 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -6,24 +6,24 @@ density = 1 mouse_drag_pointer = MOUSE_ACTIVE_POINTER var/obj/wrapped = null + var/init_welded = 0 var/giftwrapped = 0 var/sortTag = 0 /obj/structure/bigDelivery/attack_hand(mob/user as mob) playsound(src.loc, 'sound/items/poster_ripped.ogg', 50, 1) - qdel(src) - -/obj/structure/bigDelivery/Destroy() - if(wrapped) //sometimes items can disappear. For example, bombs. --rastaf0 - wrapped.loc = (get_turf(loc)) + if(wrapped) + wrapped.loc = get_turf(src) if(istype(wrapped, /obj/structure/closet)) var/obj/structure/closet/O = wrapped - O.welded = 0 + O.welded = init_welded var/turf/T = get_turf(src) - for(var/atom/movable/AM in contents) + for(var/atom/movable/AM in src) AM.loc = T - ..() + + qdel(src) + /obj/structure/bigDelivery/attackby(obj/item/W as obj, mob/user as mob, params) if(istype(W, /obj/item/device/destTagger)) @@ -170,6 +170,7 @@ if(use(3)) var/obj/structure/bigDelivery/P = new /obj/structure/bigDelivery(get_turf(O.loc)) P.wrapped = O + P.init_welded = O.welded O.welded = 1 O.loc = P else