Files
Bubberstation/code/modules/modular_computers/file_system/programs/atmosscan.dm
norsvenska aefec7cb2b Corrects 200+ instances of "it's" where it should've been "its" instead (#85169)
## About The Pull Request

it's - conjunction of "it" and "is"
its - possessive form of "it"

grammar is hard, and there were a lot of places where "it's" was used
where it shouldn't have been. i went and painstakingly searched the
entire repository for these instances, spending a few hours on it. i
completely ignored the changelog archive, and i may have missed some
outliers. most player-facing ones should be corrected, though
## Why It's Good For The Game
proper grammar is good

## Changelog
🆑
spellcheck: Numerous instances of "it's" have been properly replaced
with "its"
/🆑
2024-07-21 15:47:03 -04:00

89 lines
3.4 KiB
Plaintext

/// Scan the turf where the computer is on.
#define ATMOZPHERE_SCAN_ENV "env"
/// Scan the objects that the tablet clicks.
#define ATMOZPHERE_SCAN_CLICK "click"
/datum/computer_file/program/atmosscan
filename = "atmosscan"
filedesc = "AtmoZphere"
downloader_category = PROGRAM_CATEGORY_ENGINEERING
program_open_overlay = "air"
extended_desc = "A small built-in sensor reads out the atmospheric conditions around the device."
size = 4
tgui_id = "NtosGasAnalyzer"
program_icon = "thermometer-half"
/// Whether we scan the current turf automatically (env) or scan tapped objects manually (click).
var/atmozphere_mode = ATMOZPHERE_SCAN_ENV
/// Saved [GasmixParser][/proc/gas_mixture_parser] data of the last thing we scanned.
var/list/last_gasmix_data
/// Secondary attack self.
/datum/computer_file/program/atmosscan/proc/turf_analyze(datum/source, mob/user)
SIGNAL_HANDLER
if(atmozphere_mode != ATMOZPHERE_SCAN_CLICK)
return
atmos_scan(user=user, target=get_turf(computer), silent=FALSE)
on_analyze(source=source, target=get_turf(computer))
return COMPONENT_CANCEL_ATTACK_CHAIN
/// Keep this in sync with its tool based counterpart [/obj/proc/analyzer_act] and [/atom/proc/tool_act]
/datum/computer_file/program/atmosscan/tap(atom/A, mob/living/user, params)
if(atmozphere_mode != ATMOZPHERE_SCAN_CLICK)
return FALSE
if(!atmos_scan(user=user, target=A, silent=FALSE))
return FALSE
on_analyze(source=computer, target=A)
return TRUE
/// Updates our gasmix data if on click mode.
/datum/computer_file/program/atmosscan/proc/on_analyze(datum/source, atom/target)
var/mixture = target.return_analyzable_air()
if(!mixture)
return FALSE
var/list/airs = islist(mixture) ? mixture : list(mixture)
var/list/new_gasmix_data = list()
for(var/datum/gas_mixture/air as anything in airs)
var/mix_name = capitalize(LOWER_TEXT(target.name))
if(airs.len != 1) //not a unary gas mixture
mix_name += " - Node [airs.Find(air)]"
new_gasmix_data += list(gas_mixture_parser(air, mix_name))
last_gasmix_data = new_gasmix_data
/datum/computer_file/program/atmosscan/ui_static_data(mob/user)
return return_atmos_handbooks()
/datum/computer_file/program/atmosscan/ui_data(mob/user)
var/list/data = list()
var/turf/turf = get_turf(computer)
data["atmozphereMode"] = atmozphere_mode
data["clickAtmozphereCompatible"] = (computer.hardware_flag & PROGRAM_PDA)
switch (atmozphere_mode) //Null air wont cause errors, don't worry.
if(ATMOZPHERE_SCAN_ENV)
var/datum/gas_mixture/air = turf?.return_air()
data["gasmixes"] = list(gas_mixture_parser(air, "Location Reading"))
if(ATMOZPHERE_SCAN_CLICK)
LAZYINITLIST(last_gasmix_data)
data["gasmixes"] = last_gasmix_data
return data
/datum/computer_file/program/atmosscan/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
. = ..()
switch(action)
if("scantoggle")
if(atmozphere_mode == ATMOZPHERE_SCAN_CLICK)
atmozphere_mode = ATMOZPHERE_SCAN_ENV
UnregisterSignal(computer, COMSIG_ITEM_ATTACK_SELF_SECONDARY)
return TRUE
if(!(computer.hardware_flag & PROGRAM_PDA))
computer.say("Device incompatible for scanning objects!")
return FALSE
atmozphere_mode = ATMOZPHERE_SCAN_CLICK
RegisterSignal(computer, COMSIG_ITEM_ATTACK_SELF_SECONDARY, PROC_REF(turf_analyze))
var/turf/turf = get_turf(computer)
last_gasmix_data = list(gas_mixture_parser(turf?.return_air(), "Location Reading"))
return TRUE
#undef ATMOZPHERE_SCAN_ENV
#undef ATMOZPHERE_SCAN_CLICK