/**Basic plumbing object. * It doesn't really hold anything special, YET. * Objects that are plumbing but not a subtype are as of writing liquid pumps and the reagent_dispenser tank * Also please note that the plumbing component is toggled on and off by the component using a signal from default_unfasten_wrench, so dont worry about it */ /obj/machinery/plumbing name = "pipe thing" icon = 'icons/obj/plumbing/plumbers.dmi' icon_state = "pump" density = TRUE active_power_usage = 30 use_power = ACTIVE_POWER_USE resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF ///Plumbing machinery is always gonna need reagents, so we might aswell put it here var/buffer = 50 ///Flags for reagents, like INJECTABLE, TRANSPARENT bla bla everything thats in DEFINES/reagents.dm var/reagent_flags = TRANSPARENT ///wheter we partake in rcd construction or not var/rcd_constructable = TRUE ///cost of the plumbing rcd construction var/rcd_cost = 15 ///delay of constructing it throught the plumbing rcd var/rcd_delay = 10 /obj/machinery/plumbing/Initialize(mapload, bolt = TRUE) . = ..() anchored = bolt create_reagents(buffer, reagent_flags) AddComponent(/datum/component/simple_rotation, ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS, null, CALLBACK(src, PROC_REF(can_be_rotated))) /obj/machinery/plumbing/proc/can_be_rotated(mob/user,rotation_type) return TRUE /obj/machinery/plumbing/examine(mob/user) . = ..() . += "The maximum volume display reads: [reagents.maximum_volume] units." /obj/machinery/plumbing/wrench_act(mob/living/user, obj/item/I) ..() default_unfasten_wrench(user, I) return TRUE /obj/machinery/plumbing/plunger_act(obj/item/plunger/P, mob/living/user, reinforced) to_chat(user, "You start furiously plunging [name].") if(do_after(user, 30, target = src)) to_chat(user, "You finish plunging the [name].") reagents.reaction(get_turf(src), TOUCH) //splash on the floor reagents.clear_reagents() /obj/machinery/plumbing/welder_act(mob/living/user, obj/item/I) . = ..() if(anchored) to_chat(user, "The [name] needs to be unbolted to do that!You start slicing the [name] apart.You slice the [name] apart.