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.
- 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
Changes the production machinery access requirement for cargo from `ACCESS_CARGO` to `ACCESS_MAILSORTING` to fix an issue that prevented Shaft Miners from using the machine.
* 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>
Updates bluespace miners construction and techweb requirements. Made at the request of SandPoot.
- Added construction requirement for activated bluespace core
- Added techweb requirement for Anomaly Research
- Removed construction requirement for bluespace crystals
Changes the Advanced Toolset Implant techweb entry to also require Alien Engineering and Cybernetic Implants. This prevents obtaining alien tool implants before researching tool implants or alien tools.