* Component for clothes to suppress scream noise
GaggedComponent + AddGaggedClothingComponent and relevant systems to make them work.
Currently only stifles the scream _action_, not all emotes
because if a mime can silently emote, so can gagged you!
* fix comments
* swap to inventory relay
and make it more general such that specific emotes or emotes of a given category can be blocked
* power gloves shouldn't block snapping
* easy fixes
* blockable emote event
* pr comments, switch to using emote event mostly
* pr comments
add beforeEmoteEvent
add emote blocker name to popup
maybe some other stuff, I forget
* get rid of emoteevent's source because I don't need it anymore
* smol clean
* formatting, style, and one minor thing where having a muzzle in your pocket would gag you
* Rename ChatSanitizationManager to ChatEmoteSanitizationManager
The prior name was kind of confusing as there's a emote one and
then now there's also chat expansion happening in the accent system,
so knowing which I actually need to edit is useful.
So, I just need to keep myself not confused.
* Rename smileyToEmote and remove punctuation duplicates
The name SmileyToEmote is just... Bad.
Plus, I needed to remove the punctuation duplicates as that would
break any kind of regex parsing that I tried.
* Switch to regex from checking end of string
I also changed from System.Globalization to ILocalizationManager.
Writing that regex was definitely an experience.
* Document regex and the manager
* Rename it back
* Simplify regex
The ChatSystem code for re-enabling OOC only ran during PostRound, which gets skipped over when doing restartroundnow. Now it does this on PreRoundLobby too.
* Replace obsolete whitelist is valid with whitelist system
* Consistency
* Fix logic
* Bork
* I figured out how to get whitelists on the client lol
* test fail
* woops
* HELP ME FUNCTIONS
* Fix errors
* simplify
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* Make anomaly, artifact and gifts events announcement sound optional
* Requested changes + Added new "GameRuleAfterAddedEvent" for StationEventSystem
We need to call "Add" in "StationEventSystem" after others GameRule's in case if we need to change StationEventComponent variables.
* Fix margins
* Makes use of GameRuleComponent.Delay and remove station system handling of delays plus small cleanup
* Fix merge
---------
Co-authored-by: AJCM <AJCM@tutanota.com>
* Change BanExemption command to AdminFlags.Ban permissions
* Change LOOC to check for Moderator permission
* Change ListVerbs from Admin to Debug AdminFlags
* Change RunVerbAs from Admin to Fun AdminFlags
* More permission changes
* Change GhostKick to Moderator perm
* Clean up command perms
* fuck
---------
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* Basic emote radial menu
* Move out from corvax
* Move to UI controller & add to top menu bar and key bind
* Make emote play
* Add name localization for emotes
* Localize chat messages
* Fix emote menu
* Add categories localization
* Fixes
* Fix
* Add emotes entity blacklist
* Fix entity whitelist required all logic
* Remove unused wagging emote
* Revert sprite
* Set default texture for emote icon
* Update Resources/keybinds.yml
---------
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* Use new Subs.CVar helper
Removes manual config OnValueChanged calls, removes need to remember to manually unsubscribe.
This both reduces boilerplate and fixes many issues where subscriptions weren't removed on entity system shutdown.
* Fix a bunch of warnings
* More warning fixes
* Use new DateTime serializer to get rid of ISerializationHooks in changelog code.
* Get rid of some more ISerializationHooks for enums
* And a little more
* Apply suggestions from code review
Co-authored-by: 0x6273 <0x40@keemail.me>
---------
Co-authored-by: 0x6273 <0x40@keemail.me>
* Adds option to disable character names in chat/speechbubbles
* Moved the coloring of names to clientside
* Move string functions to SharedChatSystem to avoid duplicate code in SpeechBubble.cs
* Changed to be put under Accessibility section
* Cache CVar
* Implemented electricity speech verb masking
* Handle speech verb override elsewhere in the system, even though we're not using it
* Fix that protoId business
* No nullable component fields
* Use ProtoId, and try going back to a nullable.
Specifiy DataFields on VoiceMaskComponent.
A few bugs have popped up where (legal) string formatting tags
have been duplicated out into whisper and local.
Using the RemoveMarkup static we can sanitize attempted
speech to remove markup.
* Borgs can speak while crit, also radio bug fix
* Revert "Borgs can speak while crit, also radio bug fix"
This reverts commit e1136ad781229cf5fc3cadcf70742168fc73d961.
* Borgs can speak in crit + radio bug fix
* Tied to a new generic component on SpeechComponent
* Ignoring Speech Block via Component uses an event!
* Remove debug logs and bypass if already true