9 Commits
Author SHA1 Message Date
Darius 05db5f8997 Add robotics production restrictions
This commit updates the production machinery restrictions to include mech fabricators. Old production check code has been updated for use with generic machines, and some checks have been moved.
2023-03-09 20:46:51 -05:00
Darius f30815b889 Production topic restrictions rework
- Production access checks now use the `allowed` proc before attempting normal ID checks.
- Each successful return case now uses a unique DEFINE to allow future control over access types.
- Topic checks use a separate function
- Feedback messages have been moved out of the access check procs
2023-03-07 20:51:05 -05:00
Darius 720b4be2c1 Allow material access from protolathes
Allows crew with `ACCESS_MINERAL_STOREROOM` access to use production machinery in 'mineral only' mode when normal access isn't found.
2023-03-07 16:39:03 -05:00
50e0ed8105 Job Restricted Protolathes (#303)
* Block protolathe use without job access

Prevents opening the UI for any R&D production machinery without proper job access on the mob's mind. This change impacts protolathes and circuit imprinters.

* Check protolathe access using face and ID

Changes the protolathe access check to use ID card or face name, instead of mind.

* Always allow Captain protolathe use

Allows the captain to use any protolathe or circuit imprinter.

* Check protolathe access using only ID

Updates the RND production machine access checks to only use the ID card, instead of checking face or security records.

* Lock RND console by default

Sets the R&D console locked variable to TRUE by default to prevent unauthorized access exploits.

* Use req_access for RND production machines

Converts the ID check used by RND production machines to use req_access flags.

* Check Topic for protolathe restrictions

Moves protolathe access checks into a mob proc, and checks Topic call the same way UI open is checked.

* Production restriction low-population improvements

This commit fixes potential problems for low-population servers using production machinery restrictions. The following changes are made:

- Allow skeleton crew to ignore research machinery restrictions
- Option to check all living crew IDs for access (disabled by default)
- Configuration options for using global ID checks and skeleton crew access

* Production machine locking feedback commit

This commit makes changes requested by Sandpoot:
- Renames 'nonmin' to 'lowpop'
- Removes all global ID check code

* Fix improper configuration defines

Fixes an oversight that caused some variable names to not be updated.

* Remove obsolete mob defines

Removes the obsolete PROTOLOCK_CHECK_ALL_IDS define, which related to a removed feature.

* Reverse protolock check ordering

Reverses the configuration check order for PROTOLOCK_DURING_LOWPOP and JOB_MINIMAL_ACCESS at the request of SandPoot.

Co-authored-by: SandPoot <43283559+SandPoot@users.noreply.github.com>

---------

Co-authored-by: SandPoot <43283559+SandPoot@users.noreply.github.com>
2023-02-19 15:05:44 -03:00
SandPoot 04eb7226e6 general better handling of code + interaction screen tip 2023-02-15 23:26:59 -03:00
SandPoot 243e7ea02f safety i guess, people are afraid that someone is SOMEHOW gonna manage to open their menu without being admin 2023-02-11 21:54:20 -03:00
SandPootandGitHub 117919fe2b Componentizes Interaction menu + prepares it for screentips by adding a shortcut (#301)
* files

* let's just use our own parent

* necessary

* two istypes on a row
2023-02-11 14:39:29 -03:00
SandPootandGitHub 1b851c4826 Thirst rework (#184) 2021-10-02 22:29:34 -03:00
SandPootandGitHub 6f15641f33 Thirst (#151)
* upload files

* upload files

* upload examine.dm

* Update modular_citadel/code/modules/reagents/chemistry/reagents/SDGF.dm
2021-04-03 19:54:56 -03:00