mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-18 03:21:13 +01:00
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:
@@ -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
|
||||
|
||||
+5
-5
@@ -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."))
|
||||
|
||||
Reference in New Issue
Block a user