* Add AutoEmote comp/system
* Reduce groan chance so it's the same as before
Old code did 0.2 and then 0.5, now it's just one Prob(0.1)
* Fix typo, curTime var, don't log Resolve
* Maybe fix pausing?
* Fix mistake
* Update NextEmoteTime if an auto emote is removed
* Fix stuff
Get CurTime outside update loop
Use MapInit instead of ComponentInit
Fix a typo in a comment
Debug assert prototype ID in RemoveEmote
Do += PausedTime in OnUnpaused
Add prototype as arg to ResetTimer to avoid an indexing
* MOTD
* Message of the Day
* Pretty sure the tests aren't me. Let's check.
* Update Content.Shared/CCVar/CCVars.cs
Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
* command dependencies and moving MOTD to its own system
* Some doc comments
* Let's try those tests again
* More doc comments, most of the github reviews, and aliases for get-motd and set-motd
* Clear test MOTD
* Localized motd commands and completion hints
* Makes set-motd only show up in the alias command if the player has access to it.
---------
Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
* add ability to prevent ghosting to MindComponent.cs
* make minds preserve properties in certain transfer scenarios
* Revert "make minds preserve properties in certain transfer scenarios"
This reverts commit 333cae0db0faf4ef81767b93332271d944c90a0e.
* move PreventGhosting to the actual mind
* split admin chat into new channel
* add ability to play audio when a chat message is received and add audio to admin chat
* give client control of AdminChat sound and volume + suppress sound for senders
* Add department-specific radio channels
This commit adds working department-specific radio channels, while
minimizing damage to the current codebase. It is expected that a future
refactor will clean this up a bit.
ChatSystem now has a RadioPrefix() method that recognizes
department-specific channels (e.g. ":e" and ":m") in addition to the
global channel (";"). It strips the prefix from the message and assigns
messages an integer representing the destination channel, if any.
IListen and IRadio now accept optional 'channel' arguments with this
channel in mind.
The ugly is that the integer channel number is hard-coded and also shows
up in chat.
Comms are not modeled at this time. You cannot break comms (yet).
All headsets have channels soldered into them. You cannot change
encryption keys to hop on new channels. Steal a headset instead.
* Remove debugging print
* Convert to prototypes
* Use prototype names in headset prototype
* Adjust list style
* Document prototype fields
* cringe
* some cleanup
* colours
* Remove alphas at least
* cc
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>