From 705a71a003a0911f27a7338ef89295aae47fb7e4 Mon Sep 17 00:00:00 2001 From: Charlie Nolan Date: Mon, 18 Aug 2025 18:16:43 -0700 Subject: [PATCH] Fix Raw Gas Scan (#30120) --- code/game/objects/items/devices/scanners.dm | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 7beccb38d8e..4818a02f6d8 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -712,22 +712,22 @@ SLIME SCANNER * Used in chat-based gas scans. */ /proc/atmos_scan(mob/user, atom/target, silent = FALSE, print = TRUE, milla_turf_details = FALSE, detailed = FALSE) - var/datum/gas_mixture/gasmix var/list/airs var/list/milla = null if(milla_turf_details && istype(target, /turf)) + // This is one of the few times when it's OK to call MILLA directly, as we need more information than we normally keep, aren't trying to modify it, and don't need it to be synchronized with anything. milla = new/list(MILLA_TILE_SIZE) get_tile_atmos(target, milla) - gasmix = new() - gasmix.copy_from_milla(milla) - airs += gasmix + + var/datum/gas_mixture/air = new() + air.copy_from_milla(milla) + airs = list(air) else - gasmix = target.return_analyzable_air() - if(!istype(gasmix, /list)) - gasmix = list(gasmix) - airs += gasmix - if(!gasmix) + airs = target.return_analyzable_air() + if(!airs) return FALSE + if(!islist(airs)) + airs = list(airs) var/list/message = list() if(!silent && isliving(user))