* Make mind shield implants unable to be implanted more than once
* Default AllowMultipleImplants to false and update implanters.yml
* Use TryComp instead of TryGetComponent
* Deny multiple implants for fun implants too.
* Make comment more precise
* SS14-17313 Chat Censorship Systems
Adds some systems to manage chat censorship:
1. No-op: does nothing
2. SimpleCensor: a regex-free censor with a variety of rules to use
3. RegexCensor: a censor that uses regex.
This exposes a singleton backed by a builder pattern (ChatCensor) that
is set up, probably during the code init phase, and then globally available
for your censorship needs.
* Migrate to Shared
* Add a reset function to the builder.
* Resolve PJB's feedback; add unit tests
* Adds Church Bells
* I'm dumb.
* The bell is no longer haunted.
* forgot attributions
* change sounds so scary law no hunt
* One day I'll stop needing to make an immediate micro-commit. One day.
* God damn it.
* Wearable Instrument Base + Changed harmonica base
Created the BaseWornInstrument base and updated the Harmonica to use it, being equipable in the neck slot.
* Update instruments_wind.yml
* compositions are cool and awesome
* Add DeviceNetworkJammerComponent & System
Allows for entities to "jam" DeviceNetwork packets.
Whenever a device attempts to send a packet, the
DeviceNetworkJammerSystem listens for the BeforePacketSentEvent.
From there if any entity with the jammer component is within range of
either the sender or receiver of the packet the event will be cancelled.
Additionally jammers can only block packets in certain networks. If a
packet is not being transmitted in one of the networks it can block then
even if the jammer is in range the event will not be cancelled.
The range is stored in the jammer component along with the networks it
can jam.
Jammable network ids are stored as strings which seems to be how custom
networks are stored (E.g. network ids for suit sensors).
To allow for all of this, the BeforePacketSentEvent was modified to
provide the NetworkId.
* Make JammerSystem for the radio jammer use the DeviceNetworkJammer. Remove redundant event.
* Replace calls to TryDistance with InRange
Adds versions of the holoprojectors (janitoral, fan, and field) that start without a battery and changes the lathe recipe to use these instead. This is consistant with flashlights, which when made do not start with a cell.
Also it's a bit silly to have cargo printing a bunch of these to sell.
* Adds variations to immovable rod
* slash oopsie
* Changed prototypes from being hardcoded to being defined in the rules component
* Changed from 10% chance to 5%
* Changes based on feedback
* Fix nullable error
* Moved randomized logic to .yaml. Probabilities of alternate rods add up to 5%.
* Check for CRLF in actions workflow
Make emisse weep
* Copy paste bottom text
* I would like to thank StackOverflow for this spite PR.
* Mention file name in message because the workflow tab doesn't display it.
* dos2unix everything
* Origin Station Update 12.03.2024
* implement PJB requested changes
* changed ap magnum rounds for magnum rounds.
* added west side maints door per pjb request.
* removed laser glass box from captain quarters.