CatStation/Content.Shared/Chat
Falcon 9805fe3956
Refactor voice to separate it from sex (#40593)
* feat: separate sex from voice

* wip: tried to make it use voice collection directly

* fix: yaml

* fix: migrations

* fix: ensure valid now validates correctly

* fix: unisex mobs wouldn't have voice

* chore: fix RT version

* refactor: clean up code into subfunctions

* refactor: swap name and protoId in voice

also rename sounds to voice

* chore: add comment

* fix: fallback sounds for non-humanoid characters

* fix: tests

* fix: tests

* refactor: change requests

* refactor: convert sheepers

* refactor: move Voice to SpeciesPrototype

* chore: add tests

* fix: test IoC error

* refactor: use null coalesing in ConvertProfiles

* refactor: move vocal sex association to speciesPrototype

* style: remove space from new()

* refactor: use name from emoteSoundsPrototype for UI

* refactor: no more null Voice on profile

* refactor: make DefaultVoice a static readonly property

* fix: add default voice to HumanoidProfileComponent

* chore: remove repeated vocal component from species yaml

It's inherited from BaseSpeciesMob

* style: correct comments for refactor

* fix: add missing locale for FemaleVulpkanin

* refactor: simplify logic based off surounding code

* test: add test to make sure that sexes are properly enumerated for the voices

* fix: add back urist sounds

* style: clarify comments again

* style: last thing im changing before I sleep

* refactor: battling programming semantics

* refactor: Name on EmoteSoundsPrototype.cs to VoiceSelectorName for clarity

* revert: isDirty change

* Fix HumanoidProfileTest.EnsureValidLoading.
    The profile's voice wasnt being updated, thus the voiceChanged event was never raised and that meant that the voice component had old EmoteSounds

* oops

* refactor: do the easy change requests

* refactor: use an array for indexing sex conversion for performance

* fix master

* mistakes were made

* chore: redo migrations

---------

Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-06-30 23:46:27 -04:00
..
Prototypes Refactor voice to separate it from sex (#40593) 2026-06-30 23:46:27 -04:00
TypingIndicator IoC source gen compatibility (#43863) 2026-05-09 03:29:58 +00:00
V2 Chatfactor: Chat Repository, Admin Commands, Chat Created Events (#26113) 2024-04-18 14:59:10 +10:00
ChatChannel.cs New Discord integration fixes (#37793) 2025-05-24 23:27:12 +02:00
ChatChannelExtensions.cs Add admin alerts (#13589) 2023-03-23 11:10:49 -04:00
ChatSelectChannel.cs Modify admin chat (#13050) 2022-12-19 21:39:01 -06:00
EmotesEvents.cs Move ChatSystem.Emotes to shared (#40866) 2025-10-13 18:06:01 +00:00
InGameOocMessageAttemptEvent.cs Admin improvements for Looc and Deadchat (#41273) 2025-11-21 21:41:24 +00:00
ISharedChatManager.cs Admin alerts now link players with tpto (#40472) 2025-10-27 02:40:07 +00:00
MsgChatMessage.cs Ghosts have follow buttons in chat (#44284) 2026-06-12 16:01:39 +00:00
MsgDeleteChatMessagesBy.cs Add admin Erase verb, add checkbox to erase from the ban panel (#20985) 2023-10-14 02:02:56 -07:00
SharedChatEvents.cs Voice mask effects are toggleable and hide your accent (#41965) 2025-12-26 02:47:05 +00:00
SharedChatSystem.cs Cleanup: ProtoMan Part 1 - remove Shared EntitySystem IPrototypeManager instances (#44386) 2026-06-29 10:18:44 +00:00
SharedChatSystem.Emote.cs Cleanup: ProtoMan Part 1 - remove Shared EntitySystem IPrototypeManager instances (#44386) 2026-06-29 10:18:44 +00:00
SharedSuicideSystem.cs Cleanup: ProtoMan Part 1 - remove Shared EntitySystem IPrototypeManager instances (#44386) 2026-06-29 10:18:44 +00:00