Merge pull request #10856 from PsiOmegaDelta/150824-OrganCrawling

Having organs should no longer prevent vent crawling.
This commit is contained in:
Zuhayr
2015-08-25 01:02:54 +09:30

View File

@@ -660,6 +660,26 @@ default behaviour is:
resting = !resting resting = !resting
src << "\blue You are now [resting ? "resting" : "getting up"]" src << "\blue You are now [resting ? "resting" : "getting up"]"
/mob/living/proc/is_allowed_vent_crawl_item(var/obj/item/carried_item)
if(istype(carried_item, /obj/item/weapon/implant))
return 1
if(istype(carried_item, /obj/item/clothing/mask/facehugger))
return 1
return 0
/mob/living/carbon/is_allowed_vent_crawl_item(var/obj/item/carried_item)
if(carried_item in internal_organs)
return 1
return ..()
/mob/living/carbon/human/is_allowed_vent_crawl_item(var/obj/item/carried_item)
if(carried_item in organs)
return 1
return ..()
/mob/living/simple_animal/spiderbot/is_allowed_vent_crawl_item(var/obj/item/carried_item)
return carried_item != held_item
/mob/living/proc/handle_ventcrawl(var/obj/machinery/atmospherics/unary/vent_pump/vent_found = null, var/ignore_items = 0) // -- TLE -- Merged by Carn /mob/living/proc/handle_ventcrawl(var/obj/machinery/atmospherics/unary/vent_pump/vent_found = null, var/ignore_items = 0) // -- TLE -- Merged by Carn
if(stat) if(stat)
src << "You must be conscious to do this!" src << "You must be conscious to do this!"
@@ -722,8 +742,9 @@ default behaviour is:
if(!ignore_items) if(!ignore_items)
for(var/obj/item/carried_item in contents)//If the monkey got on objects. for(var/obj/item/carried_item in contents)//If the monkey got on objects.
if( !istype(carried_item, /obj/item/weapon/implant) && !istype(carried_item, /obj/item/clothing/mask/facehugger) )//If it's not an implant or a facehugger if(is_allowed_vent_crawl_item(carried_item))
src << "\red You can't be carrying items or have items equipped when vent crawling!" continue
src << "<span class='warning'>You can't be carrying items or have items equipped when vent crawling!</span>"
return return
if(isslime(src)) if(isslime(src))