From 6a3e80e8620c83d5fee9271e0c46ee7c2aa47a96 Mon Sep 17 00:00:00 2001 From: ComicIronic Date: Mon, 20 Apr 2015 21:37:40 +0100 Subject: [PATCH] OOP pipe-crawling procs. You can now weld scrubbers, which stops their airflow and also crawling through them. There is now a proc for if a mob can ventcrawl through a pipe. --- code/ATMOSPHERICS/atmospherics.dm | 11 ++++--- .../components/unary/vent_pump.dm | 3 ++ .../components/unary/vent_scrubber.dm | 29 ++++++++++++++++++ code/modules/mob/living/carbon/carbon.dm | 13 +++++--- icons/obj/atmospherics/vent_scrubber.dmi | Bin 14166 -> 16566 bytes 5 files changed, 47 insertions(+), 9 deletions(-) diff --git a/code/ATMOSPHERICS/atmospherics.dm b/code/ATMOSPHERICS/atmospherics.dm index fae280743aa..6d5f79398f1 100644 --- a/code/ATMOSPHERICS/atmospherics.dm +++ b/code/ATMOSPHERICS/atmospherics.dm @@ -185,21 +185,24 @@ Pipelines + Other Objects -> Pipe network var/obj/machinery/atmospherics/target_move = findConnecting(direction) if(target_move) - if(is_type_in_list(target_move, ventcrawl_machinery)) + if(is_type_in_list(target_move, ventcrawl_machinery) && target_move.can_crawl_through()) user.remove_ventcrawl() user.forceMove(target_move.loc) //handles entering and so on user.visible_message("You hear something squeezing through the ducts.", "You climb out the ventilation system.") - else + else if(target_move.can_crawl_through()) user.loc = target_move user.client.eye = target_move //if we don't do this, Byond only updates the eye every tick - required for smooth movement if(world.time - user.last_played_vent > VENT_SOUND_DELAY) user.last_played_vent = world.time playsound(src, 'sound/machines/ventcrawl.ogg', 50, 1, -3) else - if((direction & initialize_directions) || is_type_in_list(src, ventcrawl_machinery)) //if we move in a way the pipe can connect, but doesn't - or we're in a vent + if((direction & initialize_directions) || is_type_in_list(src, ventcrawl_machinery) && src.can_crawl_through()) //if we move in a way the pipe can connect, but doesn't - or we're in a vent user.remove_ventcrawl() user.forceMove(src.loc) user.visible_message("You hear something squeezing through the pipes.", "You climb out the ventilation system.") user.canmove = 0 spawn(1) - user.canmove = 1 \ No newline at end of file + user.canmove = 1 + +/obj/machinery/atmospherics/proc/can_crawl_through() + return 1 diff --git a/code/ATMOSPHERICS/components/unary/vent_pump.dm b/code/ATMOSPHERICS/components/unary/vent_pump.dm index 9d07183e9b2..82ed2586eed 100644 --- a/code/ATMOSPHERICS/components/unary/vent_pump.dm +++ b/code/ATMOSPHERICS/components/unary/vent_pump.dm @@ -313,6 +313,9 @@ "} +/obj/machinery/atmospherics/unary/vent_pump/can_crawl_through() + return !welded + /obj/machinery/atmospherics/unary/vent_pump/attackby(var/obj/item/W as obj, var/mob/user as mob) if(istype(W, /obj/item/weapon/weldingtool)) var/obj/item/weapon/weldingtool/WT = W diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm index 0a48b80861b..0bf800b2ef0 100644 --- a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm +++ b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm @@ -22,6 +22,7 @@ var/volume_rate = 1000 // 120 var/panic = 0 //is this scrubber panicked? + var/welded = 0 var/area_uid var/radio_filter_out @@ -41,6 +42,9 @@ var/hidden="" if(level == 1 && istype(loc, /turf/simulated)) hidden="h" + if(welded) + icon_state = "[hidden]weld" + return var/suffix="" if(scrub_O2) suffix="1" @@ -108,6 +112,8 @@ return if (!node) return 0 // Let's not shut it off, for now. + if(welded) + return 0 //broadcast_status() if(!on) return 0 @@ -279,10 +285,33 @@ stat |= NOPOWER update_icon() +/obj/machinery/atmospherics/unary/vent_scrubber/can_crawl_through() + return !welded + /obj/machinery/atmospherics/unary/vent_scrubber/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) if(istype(W, /obj/item/device/multitool)) update_multitool_menu(user) return 1 + if(istype(W, /obj/item/weapon/weldingtool)) + var/obj/item/weapon/weldingtool/WT = W + if (WT.remove_fuel(0,user)) + user << "Now welding the scrubber." + if(do_after(user, 20)) + if(!src || !WT.isOn()) return + playsound(get_turf(src), 'sound/items/Welder2.ogg', 50, 1) + if(!welded) + user.visible_message("[user] welds the scrubber shut.", "You weld the vent scrubber.", "You hear welding.") + welded = 1 + update_icon() + else + user.visible_message("[user] unwelds the scrubber.", "You unweld the scrubber.", "You hear welding.") + welded = 0 + update_icon() + else + user << "The welding tool needs to be on to start this task." + else + user << "You need more welding fuel to complete this task." + return 1 if (!istype(W, /obj/item/weapon/wrench)) return ..() if (!(stat & NOPOWER) && on) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 9b98d7ad4b5..bc755e052dc 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -260,19 +260,22 @@ var/obj/machinery/atmospherics/unary/vent_found if(clicked_on && Adjacent(clicked_on)) - var/obj/machinery/atmospherics/unary/vent_pump/v = clicked_on - if(!istype(v) || !v.welded) - vent_found = clicked_on + vent_found = clicked_on + if(!istype(vent_found) || !vent_found.can_crawl_through()) + vent_found = null + if(!vent_found) for(var/obj/machinery/atmospherics/machine in range(1,src)) if(is_type_in_list(machine, ventcrawl_machinery)) vent_found = machine - var/obj/machinery/atmospherics/unary/vent_pump/v = machine - if(istype(v) && v.welded) + if(!vent_found.can_crawl_through()) vent_found = null + if(vent_found) + break + if(vent_found) if(vent_found.network && (vent_found.network.normal_members.len || vent_found.network.line_members.len)) diff --git a/icons/obj/atmospherics/vent_scrubber.dmi b/icons/obj/atmospherics/vent_scrubber.dmi index b828539004a60012eb25c7695fff0a25f9e2e014..bc02e4de1756d7501fbf032cffbb77817838cdb0 100644 GIT binary patch literal 16566 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 G@IL^&Bn|oi literal 14166 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 kCk=%B-*WzcZmHzPU~yE)UXTrKZ5gD$p8QV