From 839911e7ac19d66d651e67126706920773ef3c95 Mon Sep 17 00:00:00 2001 From: Mechoid Date: Wed, 24 Jul 2019 14:37:17 -0700 Subject: [PATCH] Shutoff valves now behave like other valves. --- code/ATMOSPHERICS/components/shutoff.dm | 50 ++++++++++++++++++++++++ icons/obj/pipe-item.dmi | Bin 29575 -> 30440 bytes 2 files changed, 50 insertions(+) create mode 100644 code/ATMOSPHERICS/components/shutoff.dm diff --git a/code/ATMOSPHERICS/components/shutoff.dm b/code/ATMOSPHERICS/components/shutoff.dm new file mode 100644 index 0000000000..62587c44df --- /dev/null +++ b/code/ATMOSPHERICS/components/shutoff.dm @@ -0,0 +1,50 @@ +/obj/machinery/atmospherics/valve/shutoff + icon = 'icons/atmos/clamp.dmi' + icon_state = "map_vclamp0" + pipe_state = "vclamp" + + name = "automatic shutoff valve" + desc = "An automatic valve with control circuitry and pipe integrity sensor, capable of automatically isolating damaged segments of the pipe network." + var/close_on_leaks = TRUE // If false it will be always open + level = 1 + +/obj/machinery/atmospherics/valve/shutoff/update_icon() + icon_state = "vclamp[open]" + +/obj/machinery/atmospherics/valve/shutoff/examine(var/mob/user) + ..() + to_chat(user, "The automatic shutoff circuit is [close_on_leaks ? "enabled" : "disabled"].") + +/obj/machinery/atmospherics/valve/shutoff/Initialize() + . = ..() + open() + hide(1) + +/obj/machinery/atmospherics/valve/shutoff/attack_ai(mob/user as mob) + return src.attack_hand(user) + +/obj/machinery/atmospherics/valve/shutoff/attack_hand(var/mob/user) + src.add_fingerprint(usr) + update_icon(1) + close_on_leaks = !close_on_leaks + to_chat(user, "You [close_on_leaks ? "enable" : "disable"] the automatic shutoff circuit.") + return TRUE + +/obj/machinery/atmospherics/valve/shutoff/process() + ..() + + if (!network_node1 || !network_node2) + if(open) + close() + return + + if (!close_on_leaks) + if (!open) + open() + return + + if (network_node1.leaks.len || network_node2.leaks.len) + if (open) + close() + else if (!open) + open() diff --git a/icons/obj/pipe-item.dmi b/icons/obj/pipe-item.dmi index 516178b6cc75f785e9d4218c9b91386b603acdee..e0b5a4f501f29f8d97726f07621224255642927a 100644 GIT binary patch delta 7118 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 v&4vnX