Files
Bubberstation/code/modules/language
MrMelbert beacfec8be Fixes some species keeping galcom because of shenanigans / codifies silverscales understanding but not speaking common (#76342)
## About The Pull Request

1. Default language holders understand GALCOM on their mind, but speak
it on their atom


0a37898f4d/code/modules/language/language_holder.dm (L39-L43)

2. Living mobs defer to their mind's language holder over their body's
language holder


0a37898f4d/code/modules/mob/living/living_say.dm (L559-L562)

3. Mind get_language_holder, an entirely different proc, makes a default
language holder when it is created


0a37898f4d/code/datums/mind/_mind.dm (L169-L172)

4. Setting species changes your language holder entirely


0a37898f4d/code/datums/dna.dm (L490-L493)
 
5. When your mind's default language holder is synced with your body's
species language holder's **ATOM LANGUAGES**, it will clear your
languages of all atom languages and then add in all the new ones. You
will notice that mind sourced languages are untouched. This leaves the
understood-via-mind galcom entry from default language holders there,
despite the mob, say, being unable to otherwise understand galcom.

I've fixed this weird chain of events by having mind language holders
default to your current species language holder or current body language
holder.

This is admittedly, kind of a bandaid. **Mind language holder should not
exist**. Mind sourced languages should just be passed around in mind
swaps as you would expect. But that's a larger refactor.

Closes #76330 , but keeps Silverscales as able to understand but not
speak galcom.
I think it's funny if they can hear the peasants but refuse to stoop to
their language no matter what.

## Why It's Good For The Game

People shouldn't able to understand common in some situations

## Changelog

🆑 Melbert
fix: Fixes some species / mobs keeping an understanding of galcom
despite not being intended to.
/🆑

---------

Co-authored-by: san7890 <the@san7890.com>
2023-07-04 17:19:13 +01:00
..