This commit adjusts the speech parsing system to allow for an infinite
number of languages to be present in the same message. You can
transition freely between any language you are able to speak simply by
putting it's language key in the middle of the sentence.
Honestly, this was a massive pain in the ass, and there's probably still
broken stuff, even though I've spent around 8 hours testing and refining
this.
- Refactored multiple bits of saycode to be less eyeburning code
- Radios now properly report special channel messages (binary, hivemind)
- Animals with no speak list no longer show unfiltered messages to
everyone.
- Fun part:
- Improves handling of headsets for the two ear system.
- The right headset will now be talked into if the left headset
reports that it is unable to send the message on the chosen
channel/mode.
- This means that instead of having to swap headsets around, wearing
a headset on either ear will grant you access to all of it's
channels.
- The left headset will take priority, which really only affects when
it's set to a non-standard frequency.
- Tweaked "Me" verb to allow inclusion of the message when typing
directly into chat box.
- Fixed ghosts, with ghostsight on, seeing emotes twice when near the
emoter.
- Fixed *flip runtiming when used with no target and no grab.
- Fixed scream not displaying any message.
- Fixed double sanitizing in custom emotes.
- Fixed several cases where user wasn't getting passed into proc calls.
- Removed a couple unnecessary periods from dialogs.
Currently, to_chat is literally just a proc that does user << message.
But it'll let us do output modification in the future, especially for
something like Goon's HTML chat.
Big thanks to PJB for his to_chat script, see
https://github.com/d3athrow/vgstation13/pull/6625 for more details.
This commit overhauls whisper to work at a /mob/living level
This means that all mobs will now be able to whisper properly, not just
humans. Exception; Drones will just say() what they attempt to whisper.
Also fixes autohiss not working for whispering.
Fixes:
- Xenomorphs having cutoff speech
- Brains fucking up all of say
- Redundant say code under slimes, simple animals, xenomorphs
- Redundant say_quotes for humans
- All mobs will now correctly process language speech verbs
Features:
- Xenomorphs now have custom speech verbs for common
- Default languges for Xenomorphs makes more sense, and work
properly
This commit updates all (hopefully) of language code to the dev branch of
bay12.
Notable changes:
- Silicon and Human say() have been reduced, via moving a large chunk of
language code to /living/say()
- say_quote is no longer 'deprecated' (i don't think it ever was), as
say() uses it.
- HULK, COMIC, slurring, and stuttering's speech effects should now work
properly for all living mobs.
- Drone only-transmit-to-other-drones code is much less messy now.
- Allows pAIs to hear from inside bags and PDAs (But if you put one
inside a PDA and then in a bag, no hearing. THANKS HORRID NON-RECURSIVE
SAY CODE)
- Allows pAIs to understand carbons speaking in common.
- Allows different caste xenos to understand each other.