-
-
Notifications
You must be signed in to change notification settings - Fork 456
[MDB IGNORE] Access Overhaul Pt. 1 #22472
Conversation
|
Does secondary AI core require AI Master Access? If so, then the netmin would have to constantly bug the AI for both cores if they wanted to install any server racks. |
It won't. Secondary AI core can be accessed by both the net admin and the RD since it's not critical to the AI sat, and is not as secure of a place as the AI's first core (like not having turrets f.ex.) |
|
Does basic Service access include access to the Service Hall? I ask because, without being able to get in there legally, Artists need to commit breaking & entering if they want a decent supply of spray paint. |
Yes. It's basically the same thing but renamed, since we don't have any general service areas other than the service hall. |
First and foremost, big thanks to:
Son-of-Space for originally reformatting every access type so I could steal it in tgstation/tgstation#67002
san7890 for adding the initial documentation for the above so I could rewrite most of it in tgstation/tgstation#68831
dragomagol for creating and fixing the code and sprites for airlock helpers in tgstation/tgstation#65580 and subsequent PRs
JohnFulpWillard for fixing issues with said airlock helpers in tgstation/tgstation#67503
Ical92 for adding cool inaccessible helpers which I haven't put in but cool that we have them now in tgstation/tgstation#84792
and @ToasterBiome for having saved me lots of time by helping me with windoor helper code
Document the changes in your pull request
Alright this is a lot of stuff that's sadly way too interconnected to atomize, concerns a lot of background stuff players don't need to care about, and background stuff devs will care about, so let me break it down like this:
ACCESS CHANGES
If you're a player or someone who doesn't care about any of the technical stuff, this part's for you.
So essentially this PR deletes a few old, redundant access types (like gateway access), adds some new ones, and makes some adjustments to what jobs get what access, what doors need what to open, etc etc.
Command
Command
To start off, HoP/Head of staff players may notice the main access for each department is suffixed with general; Security General, Medical General, Cargo General. This is the new standard for the "base access" to a department, i.e. "this access lets you walk into a department through the front door". In the case of the Command department itself, the access to enter the bridge is now called just Command General.
All heads now enjoy EVA access, for the sake of reaching the cool command suits, or having one more place to run to in case of an emergency.
Captains are now guaranteed a complete lack of access requirements to enter their bathroom. Surely nothing bad can come of this.

AI players, but also RDs, Captains and Network Admins should understand the new access types for controlling AI equipment.
Security
Security
The new access, Security Basic, has been applied to the department. This is what Lawyers and Heads get, and lets them walk into the Brig and the Courtroom, but no further. However, it will also let you access the Security Escape Pod, provided you can reach the area to enter it first.
Detectives may notice the Security Office is a bit friendlier, as they're now guaranteed to be able to access the maint doors and windoors in the corner. Aside from that I think I also added external airlock access on skeleton crews, so emptier sec teams are less handicapping.

Security Officers may notice a little bit more access to whatever department they're assigned to, like medbay officers being able to open Paramedic rooms. In addition to that, you're also guaranteed to be able to access your hardsuits on IceMeta and Gax now, as those maps weirdly prevented you from doing that.


Also this locker. You can open them now :)
Also worth mentioning, the Brig Infirmary now has Brig Phys access instead of medical. The Warden and HoS can still open this of course, but medbay-assigned officers can no longer get around it.
Engineering
Engineering
TBD
Supply
Supply
TBD
Science
Science
TBD
Service
Service
TBD
FOR REVIEWERS
These are the main changes, simplified, with comparison:
Changing access defines from integers to strings, then formatting and documenting them - Old >> New
Rearranging department groups and access names to mirror the above file's formatting - Old >> New
Removed everything
req_access_txtandreq_one_access_txtfrom maps. See "Why is this good for the game?" section.Added access helpers for airlocks and windoors. Comes in 12 flavors, each sold separately.
And uhhh bunch of other small adjustments, ask me if you're curious or needing something cleared up.
If you want the full list of access changes in great detail here you go have fun:
Comprehensive access changes
Note: Changes applied universally, to all maps.
Removed:
ACCESS_COURT- Removed since it's redundant. Replaced instances withACCESS_SEC_BASIC.ACCESS_MAILSORTING- Removed since it's redundant. Replaced instances withACCESS_CARGO.ACCESS_GATEWAY- Removed since we don't use gateways anymore.ACCESS_MINERAL_STOREROOM- Removed since it's redundant.ACCESS_NETWORK- Removed since it's redundant. Instances replaced by other things, mostlyACCESS_ENGINEERINGiirc.ACCESS_FREEMINER/_ENGINEER/_CAPTAIN- Removed and replaced with ruins access.ACCESS_RND- Removed and replaced withACCESS_RESEARCHsince it was easy to confuse the two.Added:
ACCESS_AUX_BASE- Applied to everything in the Aux Base. Given to Curators, Engineers, Scientists, Heads of Staff.ACCESS_EXPERIMENTATION- Applied to everything in the Experimentation Lab room. Adding this now as prep for things that will come in the future.ACCESS_RND_SERVERS- ReplacesACCESS_RDin the R&D Server Room.ACCESS_MECH_RUINS- Meant to give ghost spawns more control of their mechs. Don't think I actually implemented it anywhere.ACCESS_INACCESSIBLE- For mappers to have in the future.Changed:
ACCESS_SECURITY- Now used in conjunction with Detective access in Security checkpoints and the Security Office room.ACCESS_BRIG- UnchangedACCESS_ARMORY- No longer applied to the "shotgun lethal rounds" closet in the armory (replaced withACCESS_SECURITY.ACCESS_FORENSICS_LOCKERS>>ACCESS_DETECTIVE- Renamed. Applied to everything in Security Office along with general security access.ACCESS_MEDICAL- Removed from Brig Infirmary doors.ACCESS_MORGUE- UnchangedACCESS_TOX>>ACCESS_TOXINS- Exclusively used on the Toxin Lab room instead of Science entrance doors (???).ACCESS_TOX_STORAGE>>ACCESS_TOXINS_STORAGE- RenamedACCESS_GENETICS- UnchangedACCESS_ENGINE>>ACCESS_ENGINEERING- RenamedACCESS_ENGINE_EQUIP- UnchangedACCESS_MAINT_TUNNELS- Skeleton access given to the Clown and Mime.ACCESS_EXTERNAL_AIRLOCKS- No longer used in the Engine Room airlocks. Split with Engineering access on solar array airlocks.ACCESS_CHANGE_IDS- UnchangedACCESS_AI_UPLOAD>>ACCESS_AI_MASTER- Reworked into the overarching access req for critical AI systems. See here.ACCESS_TELEPORTER- Applied to AI Sat airlocks for the sake not trapping this access there.ACCESS_EVA- Given to all Heads of Staff.ACCESS_HEADS>>ACCESS_COMMAND- Renamed to be the general access for Command department.ACCESS_CAPTAIN- Removed from the Captain's bathroom (hilarious new ambush tactic).ACCESS_ALL_PERSONAL_LOCKERS>>ACCESS_PERSONAL_LOCKERS- Renamed for brevityACCESS_CHAPEL_OFFICE- Unchanged (but I'll prob rename it to be shorter)ACCESS_TECH_STORAGE- UnchangedACCESS_ATMOSPHERICS- UnchangedACCESS_BAR- UnchangedACCESS_JANITOR- UnchangedACCESS_CREMATORIUM- UnchangedACCESS_KITCHEN- UnchangedACCESS_ROBO_CONTROL- Removed from Robotics doors and buttons. Now exclusively used for accessing bots and equipment.ACCESS_RD- Removed from R&D Server Room and AI Secondary Core.ACCESS_CARGO- Applied to everything in the Delivery Office (mailing room in cargo).ACCESS_CONSTRUCTION- Removed from a lot of misc. airlocks everywhere, most notably the Aux Base.ACCESS_CHEMISTRY- UnchangedACCESS_HYDROPONICS- UnchangedACCESS_MANUFACTURING>> ACCESS_CLERK - Renamed for clarityACCESS_LIBRARY- UnchangedACCESS_LAWYER- UnchangedACCESS_VIROLOGY- Given to Security Officers assigned to Medical.ACCESS_CMO- UnchangedACCESS_QM- UnchangedACCESS_SURGERY- UnchangedACCESS_THEATRE- UnchangedACCESS_RESEARCH- Reworked into the access req for using the "Core R&D Console" for research. Removed from everywhere else.ACCESS_MINING- UnchangedACCESS_VAULT- UnchangedACCESS_MINING_STATION- Notably renamed from "Mining EVA" to "Mining Station" in the ID change app.ACCESS_XENOBIOLOGY- UnchangedACCESS_CE- UnchangedACCESS_HOP- Grouped with Service access types in code, lmk if you'd rather it be grouped with Command. Otherwise unchanged.ACCESS_HOS- UnchangedACCESS_RC_ANNOUNCE- UnchangedACCESS_KEYCARD_AUTH- UnchangedACCESS_TCOMSAT>>ACCESS_TCOMMS- Removed from Station Engineer base access. Given to Security Officers assigned to Engineering.ACCESS_SEC_DOORS>>ACCESS_SEC_BASIC- Renamed for clarity as it's used for more than just the Brig's entrance doors. Applied to Courtroom.ACCESS_MINISAT>>ACCESS_AI_SAT- Reworked into the general access for everything in the AI Sat except the AI chambers and maintenance.ACCESS_WEAPONS>>ACCESS_WEAPONS_PERMIT- Renamed for clarityACCESS_CLONING- UnchangedACCESS_PARAMEDIC- Given to Security Officers assigned to Medical.ACCESS_TCOM_ADMIN>>ACCESS_TCOMMS_ADMIN- Renamed for consistency. Removed from a bunch of misc net admin things and applied solely to Telecomms consoles now iirc.ACCESS_BRIG_PHYS- Applied to Brig Infirmary doors.ACCESS_ROBOTICS- UnchangedACCESS_SECURE_TECH_STORAGE>>ACCESS_SECURE_TECH- Renamed for brevityACCESS_PSYCH>>ACCESS_PSYCHOLOGY- Renamed. Removed from the Psych Office doors so patients can enter/exit without fear of being locked in.ACCESS_SERVHALL>>ACCESS_SERVICE- Renamed to be the general access for Service department.(No big changes to any centcom access, just small rearrangements. See CentCom.dmm)
No changes to the rest of access on the list, except renaming "AWAY" to "RUINS" in the defines.
FOR MAPPERS/MAPTAINERS
First of all I'm sorry.
Second of all, let me introduce to you our newest suite of tools, and (when this is merged) the new standard:

Access helpers. Put them over airlocks and windoors to easily imprint whatever access requirement you want to set.
They come conveniently color-coded to the department, and are split into
/all/and/any/variants;/all/is what's used the most. It applies the access type specified directly ontoreq_access- meaning that people will need all of the access types applied to open this door./any/is more for special situations. It applies the access type specified directly ontoreq_one_access- meaning that people can have any of the access types applied to open this door. As a rule, never put these down alone. If a door only needs one type of access, use the/all/variant.P.S. It should go without saying varediting the access reqs for doors and windoors is no longer a thing, please don't do that anymore.
Lastly, it's worth noting that access helpers only work with airlocks and windoors, nothing else.

So for the sake of ease I've made and applied these subtypes of
machinery/door/morguewhich come preset with chapel office access and library access respectively.Besides that, if you have any questions on the new standards for access set in this update, feel free to look at the documentation in here: __DEFINES/access.dm or just ask me, I'd be happy to answer :)
Why is this good for the game?
This fucking sucks

Using integers here is weird and bad, so I copied what /TG/ did and swapped it to strings so they're more legible, formatted, documented, and we can now slide new access types inbetween existing ones. Instead of being forced to put new access types at the bottom each time, we'd be futureproofing it basically.
BUT I was recently made aware of what bitflags are and how they're good, so here's what imma do:
So because of that, I've removed basically everything using
req_access_txtandreq_one_access_txt(thing that applies access based on the string name) and converted it toreq_accessandreq_one_accesswhich uses just the define. Ergo ergo it'll be easier to do the system change.Example:

This is good trust
Testing
Devlog
Spriting
Two sets of 12 sprites were added; one for airlock access helpers, and the second for windoor access helpers.
Each one basically represents a region/department, with none of them appearing in-game.
Airlocks

Windoors

Wiki Documentation
Remind me pls
Changelog
🆑 AMyriad, Biome, Son-of-Space, san7890, dragomagol, JohnFulpWillard, Ical92
experimental: ID access types have been heavily adjusted everywhere, and on every map - some jobs may have more or less access to certain places than before
experimental: Please ping me or make a bug report if your job is missing access to a room it should have, or if there's problem with access!!
mapping: Added access helpers for airlocks and windoors to make mapping easier
imageadd: Added sprites for access helpers
mapping: Fixed many many minor issues on many many maps
mapping: Fixed a very large issue with Telecomms on DonutStation
bugfix: Garbage conveyer belt shutters in Cargo now properly need Cargo access to toggle
bugfix: Captain's Spare ID can no longer be unlocked with just CE access
tweak: Detectives now have access to security checkpoints/outposts, and every part of the Security Office
tweak: Engine Room airlocks can no longer be entered with just external access
tweak: Heads of staff, Detectives, and Lawyers now have access to the shuttle brig
tweak: Engineers can no longer enter Telecomms by default
tweak: Sec hardsuits can now be accessed by Security Officers on IceMeta and Gax
tweak: Mechs in the Centcom Grief Chamber can now be piloted by anyone :)
tweak: Shipbreaking now needs external airlock access
tweak: Roboticists may now open/close the main Science desk's windoor and shutters
tweak: Heads of Staff now have EVA access
wip: ...and much more!
bugfix: Fixed some stairs on IceMeta being invisible
/:cl: