Языки - #432
Open
MechanicaVII wants to merge 11 commits into
Open
Conversation
Contributor
|
RSI Diff Bot; head commit 45bd46f merging into c836dd5 Resources/Textures/_Stories/Interface/language_icons.rsi
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
О PR
Полноценный языковой барьер: у каждой расы теперь свой язык, слушатель без знания языка видит вместо реплики искажённый текст (по словам, детерминированно, пересеевается каждый раунд). Дополнительно:
Machine), Shadowling и траллов (Shadowtongue), Nuclear Operatives (Codespeak), обезьян (Monkey);J).Почему / Баланс
захотелось
Технические детали
Content.Shared/_Stories/Language/):LanguagePrototype(язык как прототип: обфускация, частичное понимание, цвет, иконка),LanguageComponent(какие языки знает сущность, с учётом источника выдачи), 3 стратегии искажения текста (по словам, по слогам, по фразам).LanguageSource: раса, синтетик, антаг-статус, админ и т.д.) -- пока хотя бы один источник жив, язык остаётся.MutualUnderstanding). При неполном понимании часть слов в сообщении показывается как есть, часть -- искажённой (случайно, но детерминированно, доля зависит от процента).J.План тестирования
J) -- список известных языков не пустой, иконки отображаются у языков, для которых заданы, переключение текущего работает.Kidan<->Arachnid,Felinid<->Vulpkanin,Vox<->Avali-- слушатель без прямого знания языка должен видеть часть слов целиком, часть -- искажёнными (не 100% гиббериш).GalacticCommonиMachine, частично понимают любой расовый язык.GalacticCommon, но не говорит на нём, пока не введён когнизин; после инъекции -- начинает говорить на общем.Shadowtongueпри обращении/появлении, тралл теряет язык при излечении.Codespeak, сообщения на нём выглядят как бытовая болтовня без подсветки/иконки/подписи языка для непонимающих.language add/remove/block/unblockна сущности через админ-консоль -- язык выдаётся/снимается/блокируется корректно, блокировка текущего языка переключает на другой известный.Собирается без ошибок (
Content.Shared/Content.Server/Content.Client), сервер многократно протестирован полным рестартом на предмет ошибок загрузки прототипов и падений при старте. Визуальная проверка в графическом клиенте (рендер иконок в окне меню, цвет в чате) проводилась, но как-будто бы надо дополнительно тестировать и мне лично в падлу это делать.Media
в падлу
Требования
Changelog