Synthetic Access to Shuttle Manifest (#20199)

Fixes https://github.com/Aurorastation/Aurora.3/issues/19899 that was
mostly fixed by https://github.com/Aurorastation/Aurora.3/pull/19860 by
replacing docking port program with shuttle manifest

I should be fine for AI to edit shuttle manifest considering it already
can edit records

Cyborgs given access to shuttle manifest considering that modules such
as Mining go on expeditions

---------

Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
This commit is contained in:
Ben
2024-12-24 12:42:18 +00:00
committed by GitHub
co-authored by Ben10083
parent 6bc8d93419
commit 0fd0dd463a
3 changed files with 86 additions and 36 deletions
@@ -13,7 +13,7 @@
hard_drive.store_file(new /datum/computer_file/program/rcon_console(src))
hard_drive.store_file(new /datum/computer_file/program/suit_sensors(src))
hard_drive.store_file(new /datum/computer_file/program/power_monitor(src))
hard_drive.store_file(new /datum/computer_file/program/docks(src))
hard_drive.store_file(new /datum/computer_file/program/away_manifest(src))
hard_drive.store_file(new /datum/computer_file/program/implant_tracker(src))
hard_drive.store_file(new /datum/computer_file/program/guntracker(src))
hard_drive.store_file(new /datum/computer_file/program/comm(src))
@@ -79,7 +79,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 || (!(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
@@ -87,10 +87,9 @@
if("addentry")
. = TRUE
var/datum/record/shuttle_manifest/m = new()
if(!computer.use_check_and_message(usr))
m.name = "Unknown"
m.shuttle = "Unknown"
active_record = m
m.name = "Unknown"
m.shuttle = "Unknown"
active_record = m
if("saveentry")
. = TRUE
@@ -110,35 +109,31 @@
for(var/datum/record/general/r in SSrecords.records)
names += r.name
var/newname = sanitize(tgui_input_list(usr, "Please select name.", "Name select", names, active_record.name))
if(!computer.use_check_and_message(usr))
if(!newname)
return
active_record.name = newname
if(!newname)
return
active_record.name = newname
if("editentrynamecustom")
. = TRUE
var/newname = sanitize(tgui_input_text(usr, "Please enter name.", "Name entry", active_record.name))
if(!computer.use_check_and_message(usr))
if(!newname)
return
active_record.name = newname
if(!newname)
return
active_record.name = newname
if("editentryshuttle")
. = TRUE
var/newshuttle = tgui_input_list(usr, "Please select shuttle.", "Shuttle select", SSatlas.current_map.shuttle_manifests, active_record.shuttle)
if(!computer.use_check_and_message(usr))
if(!newshuttle)
return
active_record.shuttle = newshuttle
if(!newshuttle)
return
active_record.shuttle = newshuttle
if("editdestination")
for(var/datum/record/shuttle_assignment/a in SSrecords.shuttle_assignments)
if(a.shuttle == params["editdestination"])
var/new_dest = sanitize(tgui_input_text(usr, "Please enter destination.", "Destination entry", a.destination))
if(!computer.use_check_and_message(usr))
if(!new_dest)
return
a.destination = new_dest
if(!new_dest)
return
a.destination = new_dest
if("editheading")
for(var/datum/record/shuttle_assignment/a in SSrecords.shuttle_assignments)
@@ -146,35 +141,31 @@
var/new_head = floor(tgui_input_number(usr, "Please enter heading.", "Heading entry", a.heading, 359, 0))
if(new_head < 0 || new_head > 359 || !new_head)
new_head = 0
if(!computer.use_check_and_message(usr))
a.heading = new_head
a.heading = new_head
if("editmission")
for(var/datum/record/shuttle_assignment/a in SSrecords.shuttle_assignments)
if(a.shuttle == params["editmission"])
var/new_mis = tgui_input_list(usr, "Please select mission.", "Mission select", SSatlas.current_map.shuttle_missions, a.mission)
if(!computer.use_check_and_message(usr))
if(!new_mis)
return
a.mission = new_mis
if(!new_mis)
return
a.mission = new_mis
if("editdeparturetime")
for(var/datum/record/shuttle_assignment/a in SSrecords.shuttle_assignments)
if(a.shuttle == params["editdeparturetime"])
var/new_depart = sanitize(tgui_input_text(usr, "Please enter new departure time.", "Departure time entry", a.departure_time))
if(!computer.use_check_and_message(usr))
if(!new_depart)
return
a.departure_time = new_depart
if(!new_depart)
return
a.departure_time = new_depart
if("editreturntime")
for(var/datum/record/shuttle_assignment/a in SSrecords.shuttle_assignments)
if(a.shuttle == params["editreturntime"])
var/new_return = sanitize(tgui_input_text(usr, "Please enter new return time.", "Return time entry", a.departure_time))
if(!computer.use_check_and_message(usr))
if(!new_return)
return
a.return_time = new_return
if(!new_return)
return
a.return_time = new_return
if("editlead")
for(var/datum/record/shuttle_manifest/m in SSrecords.shuttle_manifests)
+59
View File
@@ -0,0 +1,59 @@
################################
# Example Changelog File
#
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
#
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
# When it is, any changes listed below will disappear.
#
# Valid Prefixes:
# bugfix
# - (fixes bugs)
# wip
# - (work in progress)
# qol
# - (quality of life)
# soundadd
# - (adds a sound)
# sounddel
# - (removes a sound)
# rscadd
# - (adds a feature)
# rscdel
# - (removes a feature)
# imageadd
# - (adds an image or sprite)
# imagedel
# - (removes an image or sprite)
# spellcheck
# - (fixes spelling or grammar)
# experiment
# - (experimental change)
# balance
# - (balance changes)
# code_imp
# - (misc internal code change)
# refactor
# - (refactors code)
# config
# - (makes a change to the config files)
# admin
# - (makes changes to administrator tools)
# server
# - (miscellaneous changes to server)
#################################
# Your name.
author: Ben10083
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
# Any changes you've made. See valid prefix list above.
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
# SCREW THIS UP AND IT WON'T WORK.
# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit.
# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog.
changes:
- rscadd: "Replaces Docking port program for AI internal computer with Shuttle Manifest."
- rscadd: "Synthetics can now use Shuttle Manifest."