Autohiss can now be set to Full/Basic/None from the character menu, and by default, it is assumed Full. It will respect save/load and client connect/disconnect, meaning you no longer have to constantly toggle autohiss.
Preferred Language can now be set. This allows a default spoken language other than Common to be set from spawn, allowing characters to simply join with the language they'd prefer speaking, rather than having to fiddle with "Set Default Language" every time they spawn.
Server rules do still apply, ofc. You must be able to speak Common or at least +understand+ it capably enough to do your job.
See Preferred Language Setting here;

Menu for it here:

See Autohiss Settings here:

Yes, Autohiss is set underneath Egg Type. I wanted to use some of the space there. I can move it up under the Size/etc panels and speech verbs if requested.
Looks like the despawn persistence settings have a tendency to hit that save_character button after the victim has already disconnected, which would lead into complications right here because the language whitelist check will automatically fail when fed a null in the client's place.
* Checks list length after input() returns so you can't cheese it.
* Sanitizes list to proper length so existing characters over the limit will be fixed.
Begins breaking down the large character setup in more manageable modules, allowing for easier additions, edits, and removals.
(cherry picked from commit e116721977)
Conflicts:
code/modules/client/preferences.dm
code/modules/client/preferences_savefile.dm
polaris.dme