diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index e8f43f316f..28e1e1294f 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -655,9 +655,10 @@ GENETICS SCANNER amount += inaccurate return DisplayTimeText(max(1,amount)) -/proc/atmosanalyzer_scan(mixture, mob/living/user, atom/target = src) +/proc/atmosanalyzer_scan(mixture, mob/living/user, atom/target = src, visible = TRUE) var/icon = target - user.visible_message("[user] has used the analyzer on [icon2html(icon, viewers(user))] [target].", "You use the analyzer on [icon2html(icon, user)] [target].") + if(visible) + user.visible_message("[user] has used the analyzer on [icon2html(icon, viewers(user))] [target].", "You use the analyzer on [icon2html(icon, user)] [target].") to_chat(user, "Results of analysis of [icon2html(icon, user)] [target].") var/list/airs = islist(mixture) ? mixture : list(mixture) diff --git a/code/game/objects/items/tanks/tanks.dm b/code/game/objects/items/tanks/tanks.dm index 95712f386a..00fbc41516 100644 --- a/code/game/objects/items/tanks/tanks.dm +++ b/code/game/objects/items/tanks/tanks.dm @@ -153,6 +153,10 @@ return (BRUTELOSS) +/obj/item/tank/attack_ghost(mob/dead/observer/O) + . = ..() + atmosanalyzer_scan(air_contents, O, src, FALSE) + /obj/item/tank/attackby(obj/item/W, mob/user, params) add_fingerprint(user) if(istype(W, /obj/item/assembly_holder)) diff --git a/code/modules/atmospherics/machinery/components/components_base.dm b/code/modules/atmospherics/machinery/components/components_base.dm index c229a4ba27..33fd160b1a 100644 --- a/code/modules/atmospherics/machinery/components/components_base.dm +++ b/code/modules/atmospherics/machinery/components/components_base.dm @@ -162,6 +162,9 @@ to_chat(user, "Access denied.") return UI_CLOSE +/obj/machinery/atmospherics/components/attack_ghost(mob/dead/observer/O) + . = ..() + atmosanalyzer_scan(airs, O, src, FALSE) // Tool acts diff --git a/code/modules/atmospherics/machinery/pipes/pipes.dm b/code/modules/atmospherics/machinery/pipes/pipes.dm index c466a422b2..4a6170c251 100644 --- a/code/modules/atmospherics/machinery/pipes/pipes.dm +++ b/code/modules/atmospherics/machinery/pipes/pipes.dm @@ -111,3 +111,10 @@ pipe_color = paint_color update_node_icon() return TRUE + +/obj/machinery/atmospherics/pipe/attack_ghost(mob/dead/observer/O) + . = ..() + if(parent) + atmosanalyzer_scan(parent.air, O, src, FALSE) + else + to_chat(O, "[src] doesn't have a pipenet, which is probably a bug.") diff --git a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm index 8bf0554070..f3b65c5724 100644 --- a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm +++ b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm @@ -154,3 +154,7 @@ investigate_log("was smacked with \a [I] by [key_name(user)].", INVESTIGATE_ATMOS) add_fingerprint(user) ..() + +/obj/machinery/portable_atmospherics/attack_ghost(mob/dead/observer/O) + . = ..() + atmosanalyzer_scan(air_contents, O, src, FALSE)