Ports the TG globals controller and converts globals. (#18057)

* SDQL2 update

* fix that verb

* cl

* fix that

* toworld

* this is pointless

* update info

* siiiiick..

* vv edit update

* fix that

* fix editing vars

* fix VV

* Port the /TG/ globals controller.

* part 1

* part 2

* oops

* part 3

* Hollow Purple

* sadas

* bsbsdb

* muda na agaki ta

* ids 1-15

* 16-31

* 41-75

* bring me back to how things used to be before i lost it all

* the strength of mayhem

* final touches

* cl

* protect some vars

* update sdql2 to use glob

* stuff?

* forgot that is not defined there

* whoops

* observ

* but it never gets better

* a

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
This commit is contained in:
Matt Atlas
2023-12-26 02:16:02 +01:00
committed by GitHub
parent 19292f01d3
commit cadd19beac
966 changed files with 4785 additions and 4784 deletions
@@ -22,7 +22,7 @@ var/global/ntnrc_uid = 0
/datum/ntnet_conversation/proc/process_message(var/datum/ntnet_message/message, var/update_ui = TRUE)
var/admin_log = message.format_admin_log()
if (admin_log)
log_ntirc("[message.user.client.ckey] ([message.user.client.mob.real_name])|([message.nuser.username]) -> ([title]): [admin_log]", ckey=key_name(message.user), conversation=title)
log_ntirc("[message.user.client.ckey] ([message.user.client.mob.real_name])|([message.nuser.username]) -> ([title]): [GLOB.admin_log]", ckey=key_name(message.user), conversation=title)
for(var/datum/ntnet_user/U in users)
for(var/datum/computer_file/program/chat_client/Cl in U.clients)
@@ -99,7 +99,7 @@ Command - Requires "Bridge" access on ID card (all heads)
//Emergency Shuttle Control Console - Allows calling/recalling the emergency shuttle.
//Shuttle Control Console - Allows control of various shuttles around the station (mining, research, engineering)
ID Card modifier - Allows modifying access cards. Requires access_change_ids
ID Card modifier - Allows modifying access cards. Requires ACCESS_CHANGE_IDS
*REDACTED* - Can be downloaded from SyndiCorp servers, only via emagged devices. These files are very large and limited to laptops/consoles only.
//SYSCRACK - Allows cracking of secure network terminals, such as, NTNet administration. The sysadmin will probably notice this.
@@ -558,7 +558,7 @@
return FALSE
/obj/item/modular_computer/proc/sync_linked()
var/obj/effect/overmap/visitable/sector = map_sectors["[z]"]
var/obj/effect/overmap/visitable/sector = GLOB.map_sectors["[z]"]
if(!sector)
return
return attempt_hook_up_recursive(sector)
@@ -44,7 +44,7 @@
data["PC_device_theme"] = active_program ? active_program.tgui_theme : "scc"
data["PC_ntneticon"] = get_ntnet_status_icon()
data["PC_stationtime"] = worldtime2text()
data["PC_stationdate"] = "[time2text(world.realtime, "DDD, Month DD")], [game_year]"
data["PC_stationdate"] = "[time2text(world.realtime, "DDD, Month DD")], [GLOB.game_year]"
data["PC_showexitprogram"] = !!active_program
data["PC_haslight"] = !!flashlight
data["PC_lighton"] = flashlight?.enabled ? TRUE : FALSE
@@ -244,7 +244,7 @@
return NM.grants_equipment_vision(user)
/datum/computer_file/program/proc/message_dead(var/message)
for(var/mob/M in player_list)
for(var/mob/M in GLOB.player_list)
if(M.stat == DEAD && (M.client && M.client.prefs.toggles & CHAT_GHOSTEARS))
if(isnewplayer(M))
continue
@@ -7,8 +7,8 @@
size = 12
requires_ntnet = TRUE
available_on_ntnet = TRUE
required_access_download = access_hop
required_access_run = access_cargo
required_access_download = ACCESS_HOP
required_access_run = ACCESS_CARGO
usage_flags = PROGRAM_CONSOLE | PROGRAM_TELESCREEN
tgui_id = "CargoControl"
@@ -7,7 +7,7 @@
size = 6
requires_ntnet = TRUE
available_on_ntnet = TRUE
required_access_download = access_hop
required_access_download = ACCESS_HOP
usage_flags = PROGRAM_ALL
tgui_id = "CargoDelivery"
@@ -126,7 +126,7 @@
//But only cargo can switch between the pages
if(!istype(I) || !I.registered_name || !(access_cargo in I.access) || issilicon(usr))
if(!istype(I) || !I.registered_name || !(ACCESS_CARGO in I.access) || issilicon(usr))
to_chat(usr, SPAN_WARNING("Authentication error: Unable to locate ID with appropriate access to allow this operation."))
return
@@ -7,8 +7,8 @@
size = 8
requires_ntnet = FALSE
available_on_ntnet = FALSE
required_access_run = list(access_janitor, access_first_responder)
required_access_download = access_hop
required_access_run = list(ACCESS_JANITOR, ACCESS_FIRST_RESPONDER)
required_access_download = ACCESS_HOP
requires_access_to_run = PROGRAM_ACCESS_LIST_ONE
usage_flags = PROGRAM_TELESCREEN
tgui_id = "CrusherControl"
@@ -6,8 +6,8 @@
extended_desc = "This program is used by custodial staff to keep track of work-related supplies."
usage_flags = PROGRAM_ALL_REGULAR
size = 4
required_access_run = access_janitor
required_access_download = access_janitor
required_access_run = ACCESS_JANITOR
required_access_download = ACCESS_JANITOR
requires_ntnet = TRUE
available_on_ntnet = TRUE
tgui_id = "Janitor"
@@ -33,7 +33,7 @@
var/status = ""
var/list/supplies = list()
for(var/atom/A in global.janitorial_supplies)
for(var/atom/A in GLOB.janitorial_supplies)
var/supply_type
if(istype(A, /obj/item/mop))
var/obj/item/mop/M = A
@@ -35,9 +35,9 @@
var/obj/item/card/id/held_card = get_held_card()
if (!held_card)
return 0
if(access_cent_ccia in held_card.access)
if(ACCESS_CENT_CCIA in held_card.access)
return 2
else if((access_hop in held_card.access) || (access_captain in held_card.access))
else if((ACCESS_HOP in held_card.access) || (ACCESS_CAPTAIN in held_card.access))
return 1
/datum/computer_file/program/account_db/proc/create_transation(target, reason, amount)
@@ -59,7 +59,7 @@
if(!istype(usr))
return
var/obj/item/card/id/I = usr.GetIdCard()
if(!istype(I) || !I.registered_name || issilicon(usr) || (!(access_heads in I.access) && !(access_research in I.access) && !(access_mining in I.access)))
if(!istype(I) || !I.registered_name || issilicon(usr) || (!(ACCESS_HEADS in I.access) && !(ACCESS_RESEARCH in I.access) && !(ACCESS_MINING in I.access)))
to_chat(usr, SPAN_WARNING("Authentication error: Unable to locate ID with appropriate access to allow this operation."))
return
@@ -4,8 +4,8 @@
program_icon_state = "id"
program_key_icon_state = "lightblue_key"
extended_desc = "Program for programming employee ID cards to access parts of the station."
required_access_run = access_change_ids
required_access_download = access_change_ids
required_access_run = ACCESS_CHANGE_IDS
required_access_download = ACCESS_CHANGE_IDS
usage_flags = PROGRAM_CONSOLE | PROGRAM_LAPTOP
requires_ntnet = FALSE
size = 8
@@ -4,8 +4,8 @@
program_icon_state = "comm"
program_key_icon_state = "lightblue_key"
extended_desc = "Used to command and control the station. Can relay long-range communications."
required_access_run = access_heads
required_access_download = access_heads
required_access_run = ACCESS_HEADS
required_access_download = ACCESS_HEADS
requires_ntnet = TRUE
size = 12
usage_flags = PROGRAM_CONSOLE | PROGRAM_LAPTOP
@@ -324,7 +324,7 @@ Command action procs
if((!(ROUND_IS_STARTED) || !evacuation_controller))
return FALSE
if(!universe.OnShuttleCall(usr))
if(!GLOB.universe.OnShuttleCall(usr))
to_chat(user, SPAN_WARNING("A bluespace connection cannot be established! Please check the user manual for more information."))
return FALSE
@@ -332,8 +332,8 @@ Command action procs
to_chat(user, SPAN_WARNING("An evacuation cannot be sent at this time. Please try again later."))
return FALSE
if(world.time < config.time_to_call_emergency_shuttle)
to_chat(user, SPAN_WARNING("An evacuation cannot be sent at this time. Please wait another [round((config.time_to_call_emergency_shuttle-world.time)/600)] minute\s before trying again."))
if(world.time < GLOB.config.time_to_call_emergency_shuttle)
to_chat(user, SPAN_WARNING("An evacuation cannot be sent at this time. Please wait another [round((GLOB.config.time_to_call_emergency_shuttle-world.time)/600)] minute\s before trying again."))
return FALSE
if(evacuation_controller.is_on_cooldown()) // Ten minute grace period to let the game get going without lolmetagaming. -- TLE
@@ -8,8 +8,8 @@
size = 8
requires_ntnet = TRUE
available_on_ntnet = TRUE
required_access_run = access_heads
required_access_download = access_heads
required_access_run = ACCESS_HEADS
required_access_download = ACCESS_HEADS
usage_flags = PROGRAM_CONSOLE
tgui_id = "Docks"
@@ -8,7 +8,7 @@
size = 8
requires_ntnet = TRUE
available_on_ntnet = FALSE
required_access_run = access_heads
required_access_run = ACCESS_HEADS
usage_flags = PROGRAM_CONSOLE | PROGRAM_LAPTOP
tgui_id = "Teleporter"
var/datum/weakref/pad_ref
@@ -56,7 +56,7 @@
var/list/area_index = list()
var/list/teleport_beacon_info = list()
for(var/obj/item/device/radio/beacon/R as anything in teleportbeacons)
for(var/obj/item/device/radio/beacon/R as anything in GLOB.teleportbeacons)
var/turf/BT = get_turf(R)
if(!BT)
continue
@@ -77,7 +77,7 @@
data["teleport_beacons"] = teleport_beacon_info
var/list/teleport_implant_info = list()
for(var/obj/item/implant/tracking/I in implants)
for(var/obj/item/implant/tracking/I in GLOB.implants)
if(!I.implanted || !ismob(I.loc))
continue
else
@@ -124,7 +124,7 @@
if("beacon")
var/obj/machinery/teleport/pad/linked_pad = pad_ref.resolve()
var/obj/O = locate(params["beacon"]) in teleportbeacons
var/obj/O = locate(params["beacon"]) in GLOB.teleportbeacons
if(linked_pad.locked_obj)
var/obj/LO = linked_pad.locked_obj.resolve()
if(LO == O)
@@ -139,7 +139,7 @@
if("implant")
var/obj/machinery/teleport/pad/linked_pad = pad_ref.resolve()
var/obj/O = locate(params["implant"]) in implants
var/obj/O = locate(params["implant"]) in GLOB.implants
if(linked_pad.locked_obj)
var/obj/LO = linked_pad.locked_obj.resolve()
if(LO == O)
@@ -22,8 +22,8 @@
/datum/computer_file/program/alarm_monitor/all
filename = "alarmmonitorall"
filedesc = "Alarm Monitoring (All)"
required_access_download = access_heads
required_access_run = list(access_heads, access_equipment)
required_access_download = ACCESS_HEADS
required_access_run = list(ACCESS_HEADS, ACCESS_EQUIPMENT)
requires_access_to_run = PROGRAM_ACCESS_LIST_ONE
/datum/computer_file/program/alarm_monitor/all/New()
@@ -33,8 +33,8 @@
/datum/computer_file/program/alarm_monitor/engineering
filename = "alarmmonitoreng"
filedesc = "Alarm Monitoring (Engineering)"
required_access_download = access_engine
required_access_run = access_engine
required_access_download = ACCESS_ENGINE
required_access_run = ACCESS_ENGINE
/datum/computer_file/program/alarm_monitor/engineering/New()
..()
@@ -43,8 +43,8 @@
/datum/computer_file/program/alarm_monitor/security
filename = "alarmmonitorsec"
filedesc = "Alarm Monitoring (Security)"
required_access_download = access_security
required_access_run = access_security
required_access_download = ACCESS_SECURITY
required_access_run = ACCESS_SECURITY
/datum/computer_file/program/alarm_monitor/security/New()
..()
@@ -92,7 +92,7 @@
if(.)
return
if(action == "switchTo")
var/obj/machinery/camera/C = locate(params["switchTo"]) in cameranet.cameras
var/obj/machinery/camera/C = locate(params["switchTo"]) in GLOB.cameranet.cameras
if(!C)
return
@@ -5,8 +5,8 @@
program_key_icon_state = "cyan_key"
extended_desc = "This program allows remote control of air alarms around the station. This program can not be run on tablet computers."
requires_access_to_run = PROGRAM_ACCESS_LIST_ONE
required_access_run = list(access_atmospherics)
required_access_download = list(access_atmospherics)
required_access_run = list(ACCESS_ATMOSPHERICS)
required_access_download = list(ACCESS_ATMOSPHERICS)
requires_ntnet = TRUE
network_destination = "atmospheric control system"
requires_ntnet_feature = NTNET_SYSTEMCONTROL
@@ -4,8 +4,8 @@
program_icon_state = "power_monitor"
program_key_icon_state = "yellow_key"
extended_desc = "This program allows mass-control of the station's lighting systems. This program cannot be run on tablet computers."
required_access_run = access_heads
required_access_download = access_ce
required_access_run = ACCESS_HEADS
required_access_download = ACCESS_CE
requires_ntnet = TRUE
network_destination = "APC Coordinator"
requires_ntnet_feature = NTNET_SYSTEMCONTROL
@@ -5,8 +5,8 @@
program_key_icon_state = "yellow_key"
extended_desc = "This program connects to sensors around the station to provide information about electrical systems"
ui_header = "power_norm.gif"
required_access_run = access_engine
required_access_download = access_ce
required_access_run = ACCESS_ENGINE
required_access_download = ACCESS_CE
requires_ntnet = TRUE
network_destination = "power monitoring system"
usage_flags = PROGRAM_ALL
@@ -4,8 +4,8 @@
program_icon_state = "power_monitor"
program_key_icon_state = "yellow_key"
extended_desc = "This program allows remote control of power distribution systems around the station. This program can not be run on tablet computers."
required_access_run = access_engine
required_access_download = access_ce
required_access_run = ACCESS_ENGINE
required_access_download = ACCESS_CE
requires_ntnet = TRUE
network_destination = "RCON remote control system"
requires_ntnet_feature = NTNET_SYSTEMCONTROL
@@ -129,7 +129,7 @@
data["signal"] = get_signal(NTNET_COMMUNICATION)
data["ringtone"] = ringtone
data["netadmin_mode"] = netadmin_mode
data["can_netadmin_mode"] = can_run(user, FALSE, access_network)
data["can_netadmin_mode"] = can_run(user, FALSE, ACCESS_NETWORK)
data["message_mute"] = message_mute
if(active && active.can_interact(src))
var/ref = text_ref(active)
@@ -321,7 +321,7 @@
netadmin_mode = FALSE
else
var/mob/living/user = usr
if(can_run(user, TRUE, access_network))
if(can_run(user, TRUE, ACCESS_NETWORK))
netadmin_mode = TRUE
computer.update_static_data_for_all_viewers()
. = TRUE
@@ -37,8 +37,8 @@
extended_desc = "Used to view, edit and maintain medical records."
record_prefix = "Medical "
required_access_run = list(access_medical_equip, access_forensics_lockers, access_robotics, access_hop)
required_access_download = list(access_heads, access_medical_equip, access_forensics_lockers, access_robotics)
required_access_run = list(ACCESS_MEDICAL_EQUIP, ACCESS_FORENSICS_LOCKERS, ACCESS_ROBOTICS, ACCESS_HOP)
required_access_download = list(ACCESS_HEADS, ACCESS_MEDICAL_EQUIP, ACCESS_FORENSICS_LOCKERS, ACCESS_ROBOTICS)
available_on_ntnet = TRUE
records_type = RECORD_MEDICAL | RECORD_VIRUS
@@ -54,8 +54,8 @@
extended_desc = "Used to view, edit and maintain security records"
record_prefix = "Security "
required_access_run = list(access_security, access_forensics_lockers, access_lawyer, access_hop)
required_access_download = list(access_heads, access_security)
required_access_run = list(ACCESS_SECURITY, ACCESS_FORENSICS_LOCKERS, ACCESS_LAWYER, ACCESS_HOP)
required_access_download = list(ACCESS_HEADS, ACCESS_SECURITY)
available_on_ntnet = TRUE
records_type = RECORD_SECURITY
@@ -71,9 +71,9 @@
extended_desc = "Used to view, edit and maintain employment records."
record_prefix = "Employment "
required_access_run = list(access_heads, access_lawyer, access_consular)
required_access_run = list(ACCESS_HEADS, ACCESS_LAWYER, ACCESS_CONSULAR)
requires_access_to_download = PROGRAM_ACCESS_ONE
required_access_download = access_heads
required_access_download = ACCESS_HEADS
available_on_ntnet = TRUE
records_type = RECORD_GENERAL | RECORD_SECURITY
@@ -23,8 +23,8 @@
filedesc = "Medical Analyzer"
extended_desc = "A scanning suite capable of detecting major medical problems in individuals."
available_on_ntnet = TRUE
required_access_run = access_medical
required_access_download = access_medical
required_access_run = ACCESS_MEDICAL
required_access_download = ACCESS_MEDICAL
mode = SCANNER_MEDICAL
/datum/computer_file/program/scanner/science
@@ -32,8 +32,8 @@
filedesc = "Reagent Analyzer"
extended_desc = "A scanning suite capable of detecting active chemical reagents."
available_on_ntnet = TRUE
required_access_run = access_research
required_access_download = access_research
required_access_run = ACCESS_RESEARCH
required_access_download = ACCESS_RESEARCH
mode = SCANNER_REAGENT
/datum/computer_file/program/scanner/gas
@@ -41,6 +41,6 @@
filedesc = "Gas Analyzer"
extended_desc = "A scanning suite capable of detecting and parsing gaseous conditions within a closed atmospheric system."
available_on_ntnet = TRUE
required_access_run = list(access_atmospherics, access_research)
required_access_download = list(access_atmospherics, access_research)
required_access_run = list(ACCESS_ATMOSPHERICS, ACCESS_RESEARCH)
required_access_download = list(ACCESS_ATMOSPHERICS, ACCESS_RESEARCH)
mode = SCANNER_GAS
@@ -4,8 +4,8 @@
program_icon_state = "crew"
program_key_icon_state = "teal_key"
extended_desc = "This program connects to life signs monitoring system to provide basic information on crew health."
required_access_run = access_medical
required_access_download = access_medical
required_access_run = ACCESS_MEDICAL
required_access_download = ACCESS_MEDICAL
requires_ntnet = TRUE
network_destination = "crew lifesigns monitoring system"
size = 11
@@ -41,6 +41,6 @@
if(action == "track")
if(isAI(usr))
var/mob/living/silicon/ai/AI = usr
var/mob/living/carbon/human/H = locate(params["track"]) in mob_list
var/mob/living/carbon/human/H = locate(params["track"]) in GLOB.mob_list
if(hassensorlevel(H, SUIT_SENSOR_TRACKING))
AI.ai_actual_track(H)
@@ -66,7 +66,7 @@
/mob/living/silicon/pai/proc/hackloop()
var/turf/T = get_turf_or_move(src.loc)
for(var/mob/living/silicon/ai/AI in player_list)
for(var/mob/living/silicon/ai/AI in GLOB.player_list)
if(T.loc)
to_chat(AI, "<font color = red><b>Network Alert: Brute-force encryption crack in progress in [T.loc].</b></font>")
else
@@ -7,7 +7,7 @@
size = 12
requires_ntnet = FALSE
requires_access_to_run = FALSE
required_access_download = access_heads
required_access_download = ACCESS_HEADS
available_on_ntnet = TRUE
color = LIGHT_COLOR_PURPLE
usage_flags = PROGRAM_CONSOLE
@@ -6,8 +6,8 @@
extended_desc = "Useful program to view chemical reactions and how to make them."
size = 14
requires_access_to_run = PROGRAM_ACCESS_LIST_ONE
required_access_run = list(access_medical, access_research)
required_access_download = list(access_medical, access_research)
required_access_run = list(ACCESS_MEDICAL, ACCESS_RESEARCH)
required_access_download = list(ACCESS_MEDICAL, ACCESS_RESEARCH)
available_on_ntnet = TRUE
tgui_id = "ChemCodex"
@@ -6,8 +6,8 @@
extended_desc = "This program monitors stationwide NTNet network, provides access to logging systems, and allows for configuration changes"
size = 12
requires_ntnet = TRUE
required_access_run = access_network
required_access_download = access_heads
required_access_run = ACCESS_NETWORK
required_access_download = ACCESS_HEADS
usage_flags = PROGRAM_CONSOLE | PROGRAM_SILICON_AI
color = LIGHT_COLOR_GREEN
@@ -11,21 +11,21 @@
if(NETWORK_THUNDER)
return FALSE
if(NETWORK_REACTOR,NETWORK_ENGINEERING,NETWORK_ENGINEERING_OUTPOST,NETWORK_ALARM_ATMOS,NETWORK_ALARM_FIRE,NETWORK_ALARM_POWER)
return access_engine
return ACCESS_ENGINE
if(NETWORK_MEDICAL)
return access_medical
return ACCESS_MEDICAL
if(NETWORK_SECURITY)
return access_security
return ACCESS_SECURITY
if(NETWORK_RESEARCH,NETWORK_RESEARCH_OUTPOST)
return access_research
return ACCESS_RESEARCH
if(NETWORK_MINE,NETWORK_SUPPLY,NETWORK_CIVILIAN_WEST,NETWORK_EXPEDITION,NETWORK_CALYPSO,NETWORK_POD)
return access_mailsorting // Cargo office - all cargo staff should have access here.
return ACCESS_MAILSORTING // Cargo office - all cargo staff should have access here.
if(NETWORK_COMMAND,NETWORK_TELECOM,NETWORK_CIVILIAN_EAST,NETWORK_CIVILIAN_MAIN,NETWORK_CIVILIAN_SURFACE, NETWORK_SERVICE, NETWORK_FIRST_DECK, NETWORK_SECOND_DECK, NETWORK_THIRD_DECK, NETWORK_INTREPID)
return access_heads
return ACCESS_HEADS
if(NETWORK_CRESCENT,NETWORK_ERT)
return access_cent_specops
return ACCESS_CENT_SPECOPS
return access_security // Default for all other networks
return ACCESS_SECURITY // Default for all other networks
/datum/computer_file/program/camera_monitor
filename = "cammon"
@@ -36,7 +36,7 @@
size = 12
available_on_ntnet = TRUE
requires_ntnet = TRUE
required_access_download = access_heads
required_access_download = ACCESS_HEADS
color = LIGHT_COLOR_ORANGE
usage_flags = PROGRAM_CONSOLE | PROGRAM_LAPTOP
tgui_id = "CameraMonitoring"
@@ -92,7 +92,7 @@
if(!network_access)
return TRUE
return (check_network_access(user, access_security) && security_level >= SEC_LEVEL_BLUE) || check_network_access(user, network_access)
return (check_network_access(user, ACCESS_SECURITY) && security_level >= SEC_LEVEL_BLUE) || check_network_access(user, network_access)
/datum/computer_file/program/camera_monitor/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
. = ..()
@@ -101,7 +101,7 @@
switch(action)
if("switch_camera")
var/obj/machinery/camera/C = locate(params["switch_camera"]) in cameranet.cameras
var/obj/machinery/camera/C = locate(params["switch_camera"]) in GLOB.cameranet.cameras
if(!C)
return
if(!(current_network in C.network))
@@ -8,8 +8,8 @@
size = 8
requires_ntnet = TRUE
available_on_ntnet = TRUE
required_access_download = access_hos
required_access_run = access_security
required_access_download = ACCESS_HOS
required_access_run = ACCESS_SECURITY
usage_flags = PROGRAM_ALL_REGULAR | PROGRAM_STATIONBOUND
tgui_id = "DigitalWarrant"
var/datum/record/warrant/active_warrant
@@ -67,12 +67,12 @@
if(!istype(user))
return
var/obj/item/card/id/I = user.GetIdCard()
if(!istype(I) || !I.registered_name || !(access_security in I.access) || issilicon(user))
if(!istype(I) || !I.registered_name || !(ACCESS_SECURITY in I.access) || issilicon(user))
to_chat(user, SPAN_WARNING("Authentication error: Unable to locate ID with appropriate access to allow this operation."))
return
// Require higher access to edit warrants that have already been authorized
if(active_warrant && active_warrant.authorization != "Unauthorized" && !(access_armory in I.access))
if(active_warrant && active_warrant.authorization != "Unauthorized" && !(ACCESS_ARMORY in I.access))
to_chat(user, SPAN_WARNING("Authentication error: Unable to locate ID with appropriate access to adjust an authorized warrant."))
return
@@ -134,7 +134,7 @@
active_warrant.notes = new_charges
if("editwarrantauth")
if(!(access_armory in I.access))
if(!(ACCESS_ARMORY in I.access))
to_chat(user, SPAN_WARNING("Authentication error: Unable to locate ID with appropriate access to allow this operation."))
return
. = TRUE
@@ -8,8 +8,8 @@
size = 8
requires_ntnet = TRUE
available_on_ntnet = TRUE
required_access_download = access_hos
required_access_run = access_armory
required_access_download = ACCESS_HOS
required_access_run = ACCESS_ARMORY
usage_flags = PROGRAM_CONSOLE
tgui_id = "GunTracker"
var/list/wireless_firing_pins_data
@@ -4,7 +4,7 @@
program_icon_state = "security"
program_key_icon_state = "yellow_key"
extended_desc = "This program allows authorized security personnel to track and remotely interface with active implants."
required_access_run = access_armory
required_access_run = ACCESS_ARMORY
requires_ntnet = TRUE
available_on_ntnet = FALSE
size = 6
@@ -22,7 +22,7 @@
. = data
var/list/chem_implants = list()
for(var/obj/item/implant/chem/C in implants)
for(var/obj/item/implant/chem/C in GLOB.implants)
if(!C.implanted)
continue
var/turf/Tr = get_turf(C)
@@ -36,7 +36,7 @@
chem_implants += list(chem_info)
data["chem_implants"] = chem_implants
var/list/tracking_implants = list()
for(var/obj/item/implant/tracking/T in implants)
for(var/obj/item/implant/tracking/T in GLOB.implants)
if(!T.implanted)
continue
var/turf/Tr = get_turf(T)
@@ -48,7 +48,7 @@
var/area/A = get_area(M)
loc_display = A.name
if(T.malfunction)
var/area/location = pick(the_station_areas)
var/area/location = pick(GLOB.the_station_areas)
loc_display = location.name
var/list/tracker_info = list(
"id" = T.id,
@@ -67,7 +67,7 @@
switch(action)
if("inject1")
var/obj/item/implant/I = locate(params["inject1"]) in implants
var/obj/item/implant/I = locate(params["inject1"]) in GLOB.implants
if(I)
if(I.reagents.total_volume < 1)
to_chat(usr, SPAN_WARNING("\The [I] does not have enough of a payload to do this!"))
@@ -75,7 +75,7 @@
I.activate(1)
if("inject5")
var/obj/item/implant/I = locate(params["inject5"]) in implants
var/obj/item/implant/I = locate(params["inject5"]) in GLOB.implants
if(I)
if(I.reagents.total_volume < 5)
to_chat(usr, SPAN_WARNING("\The [I] does not have enough of a payload to do this!"))
@@ -83,7 +83,7 @@
I.activate(5)
if("inject10")
var/obj/item/implant/I = locate(params["inject10"]) in implants
var/obj/item/implant/I = locate(params["inject10"]) in GLOB.implants
if(I)
if(I.reagents.total_volume < 10)
to_chat(usr, SPAN_WARNING("\The [I] does not have enough of a payload to do this!"))
@@ -97,7 +97,7 @@
warning = formalize_text(warning)
var/obj/item/implant/I = locate(params["warn"]) in implants
var/obj/item/implant/I = locate(params["warn"]) in GLOB.implants
if(istype(I) && I.imp_in)
var/mob/living/carbon/R = I.imp_in
to_chat(R, SPAN_NOTICE("You hear a voice in your head saying: '[warning]'."))
@@ -4,8 +4,8 @@
program_icon_state = "security"
program_key_icon_state = "yellow_key"
extended_desc = "This program allows monitoring and control of active penal robotics."
required_access_run = access_armory
required_access_download = access_armory
required_access_run = ACCESS_ARMORY
required_access_download = ACCESS_ARMORY
requires_ntnet = TRUE
available_on_ntnet = TRUE
network_destination = "penal robotics monitoring system"
@@ -79,7 +79,7 @@
reset_current()
usr.reset_view()
else
var/mob/living/heavy_vehicle/M = locate(params["track_mech"]) in mob_list
var/mob/living/heavy_vehicle/M = locate(params["track_mech"]) in GLOB.mob_list
if(!istype(M))
return FALSE
var/obj/machinery/camera/C = M.camera
@@ -88,20 +88,20 @@
return TRUE
if("lockdown_mech")
var/mob/living/heavy_vehicle/M = locate(params["lockdown_mech"]) in mob_list
var/mob/living/heavy_vehicle/M = locate(params["lockdown_mech"]) in GLOB.mob_list
if(ismob(M))
M.ToggleLockdown()
return TRUE
if("terminate")
var/mob/living/M = locate(params["terminate"]) in mob_list
var/mob/living/M = locate(params["terminate"]) in GLOB.mob_list
if(M?.old_mob && M.vr_mob)
to_chat(M, SPAN_WARNING("Your connection to remote-controlled [M] is forcibly severed!"))
M.body_return()
return TRUE
if("message_pilot")
var/mob/living/M = locate(params["message_pilot"]) in mob_list
var/mob/living/M = locate(params["message_pilot"]) in GLOB.mob_list
if(ismob(M))
var/message = sanitize(input("Message to [M.old_mob]", "Set Message") as text|null)
@@ -213,7 +213,7 @@
if(ishuman(usr))
var/mob/living/carbon/human/H = usr
var/obj/item/card/id/ID = H.GetIdCard()
if(access_it in ID.access)
if(ACCESS_IT in ID.access)
is_usr_tech_support = TRUE
if(!is_usr_tech_support && computer.enrolled != DEVICE_PRIVATE && istype(F, /datum/computer_file/program))
to_chat(usr, SPAN_WARNING("Work devices can't export programs to portable drives! Contact Tech Support to get them to load it."))
@@ -242,7 +242,7 @@
if(ishuman(usr))
var/mob/living/carbon/human/H = usr
var/obj/item/card/id/ID = H.GetIdCard()
if(access_it in ID.access)
if(ACCESS_IT in ID.access)
is_usr_tech_support = TRUE
if(!is_usr_tech_support && computer.enrolled != DEVICE_PRIVATE && istype(F, /datum/computer_file/program))
to_chat(usr, SPAN_WARNING("Work devices can't import programs from portable drives! Contact Tech Support to get them to load it."))