- 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.
Sets the gear harness to non-covering by default, and removes the ability to adjust it. The toggle function has been updated to prevent false feedback.
* Add organ-specific estrous messages
Adds differing messages for the In Estrous quirk based on what reproductive organs the quirk holder possesses.
Adds support for changing the message ending, which is intended for use downstream.
Changes the gain text to be less specific.
* Fix minor typo for In Estrous examine text
Fixes a potential case of "currently in influenced" that could occur due to a text oversight.
* Use signals for Estrous organ change
Updates for the In Estrous quirk to use signal handlers.
This commit does the following
- Adds signal for organ insertion
- Adds signal for organ removal
- Adds quirk function for updating organs
- Adds quirk signal handlers for organ adding and removing
- Adds quirk check for no valid organs
* Fix positional argument use for organ signals
Removes improper use of positional arguments from the organ insertion and removal functions, and improves the variable name for mob.
* Organ manipulation argument fixes
Restores missing arguments and adds additional signal arguments for organ insertion and removal.
* Unregister In Estrous quirk signals as a list
Combines the UnregisterSignal functions in the In Estrous quirk removal.
Co-authored-by: SandPoot <43283559+SandPoot@users.noreply.github.com>
---------
Co-authored-by: SandPoot <43283559+SandPoot@users.noreply.github.com>
* 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>
* Port estrous quirks from SPLURT
This commit ports quirks related to the animal breeding cycle from the downstream server SPLURT.
* Add null check for ashwalker round_season
Adds a null value check for round_id in ashwalker estrous code to prevent possible runtime issues.
* Add Sandstorm balance config
Allows changing settings for the Cryptominer, Autodoc, and Bluespace Miner.
* Update server config with real-time values
Sandstorm balance configurations have been updated to read values in real time whenever possible.
Values are now set using defines, and any that could not use them have been disabled.
A new configuration has been added to control when the bluespace mining machine can produce bluespace crystals.
* Fixes a critical cryptominer issue
Fixes a tremendous coding oversight that added two additional whitespace characters to the cryptominer machine file.
* Fix incorrect config value for BSMs
Fixes a mistaken definition for BLUESPACE_MINER_CRYSTAL_TIER pointing to a previously used value.
* Undefine balance config defines
Adds an undefine statement for all balance config value defines.
* Properly undefine definitions
Fixes incorrect term usage for undefining a value.
* Saliith plushie overhaul
This commit makes the following changes
- Adds comments
- Adds resistance flags
- Adds flag unstuffable
- Adds more examine messages
- Adds exemption for brainwashed victims
- Adds a pinpointer to find the toy
- Removes obsolete grenade check
- Removes unnecessary for loop
- Removes most forms of depression
- Updates flavor text
- Updates variable names to better match standards
- Changes item to subtype of lizardplushie
- Changes knife to be thrown instead of deleted
- Changes most local messages to visible ones
- Changes antagonist penalty from gib to lightning smite
- Prevents Saliith from stabbing his own plushie
* Minor Saliith Plushie updates
- Adds the Saliith Plushie Pinpointer item to the loadout system, under the backpack tab.
- Adds the stationloving component
- Adds a pronoun support to the description
- Adds yeet penalty to kiss interaction
- Fixes a missing s
- Refactors kiss interaction
* Spawn Saliith plush on map load
Adds a global variable to load the Saliith plushie on map load.
* Add plushmium penalty to Saliith plushie
Adds a penalty for attempting to use Plushmium on the Saliith plushie, which causes the attacker to be overdosed with Unstable Mutagen, Mindbreaker Toxin, Mute Toxin, Bone Hurting Juice, and Brain Hurting Juice.
* Improve Saliith plushie plushmium checks
Changes the check from ishuman to instead check for usr and iscarbon.
* Custom icons for Saliith plushie pinpointer
Enables the custom sprite for the Saliith plushie pinpointer, and adds associated arrows to the icons file.
* Tiny improvements to Saliith plushie interactions
- Removes unnecessary use of src
- Removes hug message text
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