mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-26 09:03:37 +00:00
These are pocket devices that dispense unwrenched atmos/disposal pipes. Despite the admittedly misleading name, these have infinite ammo. There is no need to reload with matter cartridges or anything like that. Currently, they spawn in atmos tech lockers, and as an engiborg module. More can be obtained with the autolathe. They are also a traitor "steal item" objective.
53 lines
1.6 KiB
Plaintext
53 lines
1.6 KiB
Plaintext
/obj/machinery/atmospherics/pipe
|
|
var/datum/gas_mixture/air_temporary //used when reconstructing a pipeline that broke
|
|
var/datum/pipeline/parent
|
|
var/volume = 0
|
|
layer = 2.4 //under wires with their 2.44
|
|
use_power = 0
|
|
can_unwrench = 1
|
|
var/alert_pressure = 80*ONE_ATMOSPHERE
|
|
//minimum pressure before check_pressure(...) should be called
|
|
|
|
/obj/machinery/atmospherics/proc/pipeline_expansion()
|
|
return null
|
|
|
|
/obj/machinery/atmospherics/pipe/proc/check_pressure(pressure)
|
|
//Return 1 if parent should continue checking other pipes
|
|
//Return null if parent should stop checking other pipes. Recall: del(src) will by default return null
|
|
return 1
|
|
|
|
/obj/machinery/atmospherics/pipe/proc/releaseAirToTurf()
|
|
if(air_temporary)
|
|
var/turf/T = loc
|
|
T.assume_air(air_temporary)
|
|
air_update_turf()
|
|
|
|
/obj/machinery/atmospherics/pipe/return_air()
|
|
return parent.air
|
|
|
|
/obj/machinery/atmospherics/pipe/build_network()
|
|
if(!parent)
|
|
parent = new /datum/pipeline()
|
|
parent.build_pipeline(src)
|
|
|
|
/obj/machinery/atmospherics/pipe/attackby(obj/item/weapon/W, mob/user)
|
|
if(istype(W, /obj/item/device/analyzer))
|
|
atmosanalyzer_scan(parent.air, user)
|
|
|
|
if(istype(W,/obj/item/device/pipe_painter) || istype(W,/obj/item/weapon/pipe_dispenser))
|
|
return
|
|
|
|
return ..()
|
|
|
|
/obj/machinery/atmospherics/pipe/setPipenet(datum/pipeline/P)
|
|
parent = P
|
|
|
|
/obj/machinery/atmospherics/pipe/Destroy()
|
|
var/turf/T = loc
|
|
for(var/obj/machinery/meter/meter in T)
|
|
if(meter.target == src)
|
|
var/obj/item/pipe_meter/PM = new (T)
|
|
meter.transfer_fingerprints_to(PM)
|
|
qdel(meter)
|
|
..()
|