Decompiled source of RTLC Russian Translation v1.3.3
BepInEx/plugins/RTLC/RTLC.dll
Decompiled 4 months ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Text.RegularExpressions; using BepInEx; using BepInEx.Configuration; using HarmonyLib; using Patchers; using RTLC; using TMPro; using UnityEngine; using UnityEngine.EventSystems; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("RTLC")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("RTLC")] [assembly: AssemblyCopyright("Copyright © 2023")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("2ddf3c2e-6fb0-41ec-85e1-affd1baa8e5e")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyVersion("1.0.0.0")] internal class BundleLoader { public static AssetBundle RTLCBundle; public static bool TryLoadBundle() { try { string text = Path.Combine(Paths.BepInExRootPath, "plugins", "Hayrizan-RTLC_Russian_Translation", "RTLC", "Bundles", "rtlc.main"); string text2 = Path.Combine(Paths.BepInExRootPath, "plugins", "RTLC", "Bundles", "rtlc.main"); if (File.Exists(text)) { RTLCBundle = AssetBundle.LoadFromFile(text); return true; } if (File.Exists(text2)) { RTLCBundle = AssetBundle.LoadFromFile(text2); return true; } return false; } catch (Exception value) { Console.WriteLine(value); return false; } } public static bool TrySetTexture(ref Texture2D originalTexture, string textureName) { try { if (textureName == "") { return false; } Texture2D val = RTLCBundle.LoadAsset<Texture2D>(textureName); if ((Object)(object)val == (Object)null) { return false; } ImageConversion.LoadImage(originalTexture, ImageConversion.EncodeToPNG(val)); ((Texture)originalTexture).mipMapBias = -1f; return true; } catch (Exception value) { Console.WriteLine(value); return false; } } } internal class Dictionaries { public static readonly Dictionary<string, string> Nodes = new Dictionary<string, string> { { "AlreadyOnThisPlanet", "Корабль уже находится на орбите этой луны!\n\n" }, { "AlreadyUnlocked", "Это уже разблокировано для вашего корабля!\n\n" }, { "0_Bestiary", "BESTIARY\n\nДля доступа к файлу существа введите \"INFO\" после его имени.\n---------------------------------\n\n[currentScannedEnemiesList]\n\n" }, { "0_StoreHub", "Добро пожаловать в магазин Компании. \nВведите \"BUY\" или \"INFO\" для любого товара. \nЗакажите инструменты оптом, введя количество.\n____________________________\n\n[buyableItemsList]\n\nУЛУЧШЕНИЯ КОРАБЛЯ:\n* Loud horn // Цена: $100\n* Signal Translator // Цена: $255\n* Teleporter // Цена: $375\n* Inverse Teleporter // Цена: $425\n\nВыбор декора корабля меняется в зависимости от квоты. Обязательно загляните на следующей неделе:\n------------------------------\n[unlockablesSelectionList]\n\n" }, { "CancelPurchase", "Отмена заказа.\n\n" }, { "CancelRoute", "Отмена маршрута.\n\n" }, { "CompanyMoonroute", "Компания скупает за [companyBuyingPercent] от стоимости. \n\nХотите направить автопилот к зданию Компании?\n\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "CompanyMoonRouteConfirm", "Направление автопилота к зданию Компании.\n\nПриятного полёта\n\n" }, { "ConfirmEject", "Вы хотите катапультировать всех членов экипажа, включая себя? Вы должны находиться на орбите вокруг луны.\n\nВНИМАНИЕ!: Данное действие может привести к непредвиденным последствиям. Действуйте с осторожностью.\n\nВведите \"CONFIRM\"(Принять) или \"DENY\"(Отмена).\n\n" }, { "DenyEject", "Катапультирование отменено.\n\n" }, { "EjectPlayers", "Катапультирование экипажа.\n\n" }, { "FlashedRadarBooster", "Произведена вспышка радар-усилителя.\n\n" }, { "HelpCommands", ">MOONS\nУзнать список лун, к которым автопилот может проложить маршрут\n\n>STORE\nФирменный магазин компании.\n\n>BESTIARY\nЗаписи о существах, добавленные в базу.\n\n>STORAGE\nПолучить доступ к объектам, помещенным на склад.\n\n>OTHER\nУвидеть список других команд.\n\n[numberOfItemsOnRoute]\n\n" }, { "ItemsInStorage", "При перемещении объектов с помощью [B] вы можете нажать [X], чтобы отправить их на склад. Здесь вы можете вызвать их обратно.\n\nСписок объектов на складе:\n\n[storedUnlockablesList]\n\n" }, { "ParserError1", "[Команда была предоставлена без указания какого-либо действия.]\n\n" }, { "ParserError2", "[В действии не было объекта, возможно слово было набрано неправильно, или его не существует.]\n\n" }, { "ParserError3", "[Это действие несовместимо с данным объектом.]\n\n" }, { "SendSignalTranslator", "Сообщение транслировано.\n\n" }, { "Start", "Добро пожаловать в FORTUNE-9 ОС\n\tПредоставлено компанией\n\n[currentDayRussian].\n\nВведите \"Help\" для получения списка команд.\n\n" }, { "StartFirstTime", " __ _____ _ ___ ___ __ __ ___ \n \\ \\ / | __| | / __/ _ \\| \\/ | __|\n \\ \\/\\/ /| _|| |_| (_| (_) | |\\/| | _| \n \\_/\\_/ |___|____\\___\\___/|_| |_|___|\n\nДобро пожаловать в FORTUNE-9 ОС\n\tПредоставлено компанией\n\nВведите \"Help\" для получения списка команд.\n\n" }, { "SwitchedCam", "Переключение камеры.\n\n" }, { "SwitchRadarCamPlayer 1", "Переключение камеры.\n\n" }, { "SwitchRadarCamPlayer", "Переключение камеры.\n\n" }, { "ViewInsideShipCam 1", "Переключение камеры\n\n" }, { "WelcomeNode", "BG IG, Системный помощник.\nКопирайт (C) 2084-2108, Halden Electronics Inc.\nПредоставлено компанией.\n\n\n\nБиос для FORTUNE-9 87.7 Система 10 МГц\n\nТекущая дата - Вторник 3-7-2532\nТекущее время - 8:03:32.15\n\nПожалуйста, введите любимое животное: " }, { "WelcomeNode2", "\nПожалуйста, опишите свою роль в команде: " }, { "BaboonHawkFile", "Бабуиновый ястреб (Baboon hawk)\n\nУровень опасности по шкале Сигурда: 75%\n\nНаучное название: Papio - volturius\nБабуиновые ястребы — это приматы из семейства Cercopithecidae. Они горбатые, но в среднем могут вставать на ноги примерно до 2.5 метров. Их головы костлявые, с клювом и длинными рогами, которые они используют как шампуры, чтобы пронзать и питаться добычей. Их рога состоят из кератина, в отличие от костей остальной части черепа, и не содержат нервов или кровеносных сосудов. В результате бабуиновые ястребы часто могут сломать свои рога от приложенной силы, затем полностью восстанавливают их в том же сезоне. Бабунные ястребы частично задолжены своим названием их большим крыльям, которые никогда не смогут поднять их большую массу тела и используются вместо этого для устрашения и защиты от непогоды.\n\nСамый большой отряд бабуиновых ястребов, который когда-либо наблюдали, состоял из 18 особей. Они слабо территориальны, и большая часть их поведения обусловлена запугиванием и демонстрацией. Они могут стать коллекционерами, используя любой броский или красочный предмет, чтобы пометить свою территорию. Как одинокие разведчики, бабуиновые ястребы обычно робки и не нападают, если их не спровоцировать. В больших количествах они могут представлять большую опасность; держаться поближе к другим и создавать впечатление, что вы опасны - лучший способ предотвратить нападение. Они предпочитают мелких млекопитающих, но в случае отчаяния, как известно, могут напасть на животных даже вдвое крупнее себя, например на слепых собак. ОНИ ЗАБРАЛИ М О И ОГУРЦЫ\n\n" }, { "BrackenFile", "Брэкен (Bracken) — Или цветочный человек!\n\nЭто был цветочный человек, по-другому не скажешь! Я хотел найти его тело. Мы были трусами.\n\nНаучное название: Rapax-folium\nИдут дебаты относительно того рода, к которому относится Брэкен. Это двуногий позвоночный с кожей цвета и текстуры красной свеклы. Название было придумано из-за того, что кажется, будто листья выступают из его верхней части позвоночника. Считается, что их целью является запугивание, однако о многих аспектах поведения Брэкена мало известно из-за его уклончивости и низкой популяции.\n\nМы знаем немного из отчетов экологов, которые сталкивались с ним. Это одинокий охотник с высоким интеллектом. Его поведение может показаться равнодушным; он проявляет высокую агрессию даже без провокации, но быстро отступает при столкновении. Однако Брэкены известны своей враждебностью, когда их загоняют в угол или просто долго наблюдают за ними. По этой причине рекомендуется держать его в поле зрения, но не пялиться на него. Ни один экземпляр не был собран мёртвым или живым. Существует теория, что после смерти их тела подвергаются быстрому процессу разложения, уникальному для других крупных животных.\n\n" }, { "BunkerSpiderFile", "Бункерные Пауки (Bunker Spiders)\n\nУровень опасности по шкале Сигурда: 20%\n\nНаучное название: Mutinum-ficedula\nБункерные Пауки рода Theraphosa являются крупнейшими арахнидами, найденными в Тистельной Туманности и вторыми по когда-либо открытым размерам. Считается, что они эволюционировали для охоты на крупных млекопитающих в течение нескольких жалких сотен лет после того, как Корабль совершил своё путешествие вокруг Тистельной Туманности. (Смотрите также: Предположение об Увеличении Видового Разнообразия Вокруг Угасающих Туманностей)\n\nБункерные Пауки производят шёлк и раскладывают его вокруг выбранной зоны гнездования, затем ждут, чтобы кто-то на него наступил. Их можно увидеть, ожидающих на стенах, часто над дверными проемами, где добыча может войти, ничего не подозревая. Если вы обнаружили Паука будучи в \"неподготовленном\" состоянии, он может застыть в качестве защитной реакции. В этом случае лучше оставить его в покое. Если Бункерный Паук реагирует агрессивно, лучше не сражаться обычными инструментами. Они используют свои паутины, чтобы компенсировать своё довольно медленное передвижение, поэтому обратите внимание на окружающую среду. Их паутины можно легко разорвать любым тупым инструментом.\n\nБункерные Пауки могут представлять большую опасность для людей и особенно для городских жителей, не принося особой пользы экосистемам. Приказ уничтожать их при первой возможности был неформально согласован между многими государствами, где встречаются Бункерные Пауки, и сейчас одобрен Международным Обществом Охраны Дикой Природы с 10/6/2497.\n\n" }, { "CircuitBeeFile", "Электропчёлы (Circuit Bees)\n\nУровень опасности по шкале Сигурда: 90%\n\nНаучное название: Crabro-coruscus\nЭлектропчела, также известная как красная пчела, — это социальное летающее насекомое рода Apis, потомок медоносной пчелы. Их внешность легко узнаваема благодаря волосатым красным телам и двум комплектам крыльев. Как и их предки, они известны своим умным социальным поведением, большим размером колонии, строением восковых гнёзд, которые они используют для хранения мёда, а также важной ролью в опылении. В отличие от медоносной пчелы, которая часто выбирает высокие места, такие как деревья, для строительства улья, электропчёлы создают свои ульи на земле.\n\nКрасные пчёлы хорошо защищены. Они покидают улей, чтобы атаковать любое существо, находящееся в пределах нескольких метров, оставляя за собой только королеву и трутней. Это смелое поведение обеспечивается их наиболее характерной особенностью, которая заключается в их электростатическом заряде. Красные пчёлы создают трение в воздухе, а также и друг с другом, находясь в улье. То, что позволяет им создавать такой избыток электрического поля по сравнению с медоносной пчелой, всё еще находится в исследовании, поскольку они генерируют более сильное электрическое поле в состоянии паники или гнева. Эта особенность особенно полезна для них вблизи воды.\n\n\nЛучше держаться на безопасном расстоянии. Если украден улей, рой красных пчёл полетит в наступление, в ходе которого они атакуют любое живое существо. Это разрушительное поведение продлится до тех пор, пока они не обнаружат улей или полностью не истощат себя, что может занять от нескольких часов до нескольких дней. Известно, что они оставляют за собой поля тел мелких грызунов, насекомых и даже некоторых крупных млекопитающих, а в редких случаях могут вызывать пожары. Их сильные преимущества и недостатки для экосистемы широко обсуждается. ПЧЕЛУждаются!! - непокорный Сигурд.\n\n" }, { "CoilHeadFile", "COIL-HEADS - Пружиноголовый\n\nУровень опасности по шкале Сигурда: 80%\n\nНаучное название: Vir colligerus\nVir colligerus, или пружиноголовые, не были широко изучены из-за их чрезвычайной непредсказуемости и опасных свойств. Известно, что они воспламеняются при разделении или деактивации, а также содержат чрезвычайно высокий уровень радиоактивных частиц. Из-за этого и других причин существует вероятность того, что они были созданы как биологическое оружие, однако это не было доказано.\n\nВизуально пружиноголовые представляют собой кровавый манекен с головой, соединенной пружиной. Их определяющей характеристикой поведения является остановка при прямом взгляде. Однако, кажется, что это не является строгим правилом. Когда они сталкиваются с громким или ярким светом, они входят в долгий режим перезагрузки.\nПросто смотрите на них или используйте шумовую гранату! - Сигурд\n\n" }, { "EarthLeviathanFile", "ЗЕМНОЙ ЛЕВИАФАН (Earth Leviathan)\n\nУровень опасности по шкале Сигурда: 2%, потому что они не могут скрыться от камер корабля!!\n\nНаучное название: Hemibdella-gigantis\nПочтительно названный Земной Левиафан, из семьи Писцколиколидов, является одним из самых беспозвоночных, найденных вокруг Тистельной Туманности. Ни один из них ещё не был пойман, поэтому об их биологии известно немного.\n\nПохоже, они ведут себя как хищники. Предполагается, что они могут зарываться под землю на 40 метров, судя по невероятным раскопкам, которые они оставляют после себя. Они способны улавливать даже малейшие вибрации, поэтому не рекомендуется замирать, если они находятся поблизости; это миф. Вместо этого, если вы чувствуете вибрации, бегите со всех ног.\n\n" }, { "EyelessDogFile", "СЛЕПАЯ СОБАКА (EYELESS DOG)\n\nНаучное название: Leo caecus\nКрупное млекопитающее класса Saeptivus. Они социальные, потому охотятся в очень больших стаях. Их также называют \"дышащими львами\" из-за узнаваемого звука и большой пасти. Они являются выносливыми охотниками и пытаются компенсировать своё отсутствие зрения чувствительным слухом. Популярен миф, что они часто ошибочно принимают звуки своего собственного вида за добычу, вступая в борьбу внутри своих стай.\n\nИх поведение уникально среди других стаевых животных своей тенденцией распространяться на большие расстояния. Когда Слепая Собака находит добычу, она рычит, чтобы предупредить других поблизости, которые также поднимут тревогу, иногда вызывая своего рода цепную реакцию. Слепые Собаки могут быть опасными в стае. Тем не менее, характерно, что они неуклюжи, делая предположения о точном местоположении своей добычи, которые часто оказываются неверными.\n\n" }, { "ForestKeeperFile", "ХРАНИТЕЛЬ ЛЕСА (FOREST KEEPER)\n\nУровень опасности по шкале Сигурда: 50%\n\nНаучное название: Satyrid-proceritas\nВерится, что эти гиганты имеют общего предка с rapax-folium, их называют Хранителями Леса из-за биомов, которые они часто заселяют. Их тела украшают метки на передней и задней частях, имитирующие глаза -- этот признак более полезен в их юности, так как они неуклюжиe. Их кожа представляет собой уникальный, плотный материал, который уплотняется еще больше на протяжении их жизни; большие шипы и бугры по всему их телу формируются в результате старения.\n\nГоворят, что Хранители Леса проявляют интересное поведение, схожее с поведением человеческого ребенка возрастом 5-6 лет. Они съедят всё, что им покажется интересным. На самом деле Хранителям Леса не нужно ничего класть в рот, и теоретически их основным источником энергии является процесс, аналогичный фотосинтезу. Тем не менее, это делает их относительно опасными для наблюдения. Они способны видеть объекты на больших расстояниях, поэтому важно не высовываться и использовать укрытия. Они не могут проникать в узкие пространства, и как правило, не разрушительны, поэтому держитесь близко к укрытиям или навесам.\n\n" }, { "HoardingBugFile", "HOARDING BUG - Жук собиратель\n\nУровень опасности по шкале Сигурда: 0%\n\nНаучное название: Linepithema-crassus\nЖуки собиратели (отряд Hymenoptera) - это крупные социальные насекомые. Хотя их часто можно встретить, живущими в одиночестве, было установлено, что они делят свои гнезда с представителями своего вида. Средняя высота их тел составляет примерно 1 метр, их тела округлые. Тонкость их жидкости и крови, а также материал панцирей, способствуют их низкому весу, что делает их способными к полету на мембранных крыльях. Это также делает их тела отчасти прозрачными.\n\nЖуки собиратели получили свое название из-за своей территориальной природы. Как только они выбирают место для своего гнезда, они стремятся украсить его любыми предметами, которые они могут найти, и будут защищать эти предметы как часть гнезда. Жуки собиратели не так опасны в одиночку, как в больших ульях. Тем не менее, если их оставить в покое, жуки собиратели удивительно нейтральны и представляют мало опасности. Мы любим этих глупых и ласковых жуков!! - это была заметка от непокорного Сигурда.\n\n" }, { "HygrodereFile", "ГИДРОДЕР (HYGRODERE)\n\nУровень опасности по шкале Сигурда: 0%, если вы быстрее улитки!\n\nНаучное название: Hygrodere\nЭукариотический организм, классифицированный в пафилетической группе Prostita. С невероятной скоростью размножения, эти мелкие организмы могут умножаться до миллионов. Гидродеры редко расщепляются, вместо этого предпочитая формировать большие вязкие массы, которые могут занимать большие пространства и становиться опасностью, требующей применения крупных инструментов или приманок для перемещения.\n\nГигродеры тянутся к теплу и кислороду, они могут обнаруживать его практически откуда угодно. Почти нет ничего органического, что они не смогли бы преобразовать в собственную массу тела. Ничего не найдено, что могло бы их отравить. Постоянно заменяя себя, они могут существовать сотни тысяч лет. Если вы когда-либо окажетесь в тупике, найдите высокий объект, чтобы встать на него; Гидродерам трудно подниматься. У них отличный вкус! Потому что я как-то подружился с одним из них, и мы думаем, что это благодаря моей музыке.\n\n" }, { "JesterFile", "ДЖЕСТЕР (JESTER)\n\nУровень опасности по шкале Сигурда: 90% Бегите оттуда, пока не стало ПОЗДНО!! Вы не можете спрятаться от него, просто эвакуируйтесь\n\nНаучное название: БЕЗУМНИУС ШТУКУС\nНЕТ ТУТ НИКАКИХ НАУЧНЫХ ЗАПИСЕЙ! Удачи, вы знаете столько же, сколько и мы. Мы просто называем его Джестером.\n\n" }, { "LassoManFile", "ЛАССО (LASSO)\n\nУровень опасности по шкале Сигурда: 30%, но оно меня немного пугает\n\nНаучное название:\n\n" }, { "LocustFile", "Блуждающая саранча (Roaming Locusts)\n\nУровень опасности по шкале Сигурда: 0%\n\nНаучное название: Anacridium-vega\n\nИзвестная как блуждающая саранча, это вид кузнечиков. В отличие от некоторых видов, которые более склонны прыгать или летать, блуждающая саранча практически никогда не приземляется и держится близко друг к другу, даже когда их немного. Они быстро рассеются, если хищник нарушит их личное пространство. Саранчу очень сильно привлекает свет.\n\n" }, { "ManticoilFile", "Мантикоилы (Manticoils)\n\nУровень опасности по шкале Сигурда: 0%\n\nНаучное название: Quadrupes-manta\nМантикоилы - это певчие птицы из семейства Corvidae. Их тела довольно крупные по сравнению с их древними потомками, а размах их крыльев составляет от 140 до 163 сантиметров. Их самой характерной чертой является четыре крыла. Задние крылья в основном используются для стабилизации при низкой скорости, в то время как передние два крыла создают основную поддержку. Их круглые тела поражают своим ярко-жёлтым окрасом, с чёрными контурами или полосами вдоль основных (задних) перьев.\n\nМантикоилы в основном питаются мелкими насекомыми, но также не брезгуют и грызунами. Умны и общительны. Они не представляют большой угрозы и, как правило, имеют обще-пассивное отношение к людям, хотя они могут передавать Бешенство, Рубенхлорию и вирус Питта.\n\n" }, { "NutcrackerFile", "Щелкунчик\n\nОхранники дома.\n\nОни наблюдают одним неустанным глазом, который пристально следит за двигающимися объектами; он помнит последнее существо, которое заметил, независимо от того, двигается оно или нет.\n\n" }, { "PufferFile", "Споровик (Spore lizard)\n\nУровень опасности по шкале Сигурда: я не знаю, наверное, 5%? Я просто ненавижу эту пухлоногую маленькую дрянь\n\nНаучное название: Lacerta-glomerorum\nИменуемые Пухляшами или Споровиками, Lacerta-glomerorum (из семейства аллигаторовых) является одним из самых крупных и тяжёлых рептилий. Несмотря на их крупную пасть, они являются травоядными и не способны сильно укусить. Считается, что луковицы на их хвостах вырабатывают химическое вещество, которое привлекает и ускоряет рост грибного вида Lycoperdon perlatum, который затем они могут трясти, чтобы высвободить споры в качестве защитного механизма - уникальный пример взаимовыгодных симбиотических отношений.\n\nСпоровики обладают очень покладистым нравом и, по возможности, избегают всевозможной конфронтации. Если их попытки угрозы не оказывают эффекта, они могут предпринять попытку нападения, поэтому не рекомендуется загонять их в угол или преследовать. Имеются исторические записи о том, что Споровики были по меньшей мере частично одомашнены сотни лет назад, однако эти усилия были приостановлены в рамках инициативы по сбору их хвостов в медицинских целях.\n\n" }, { "SnarefleaFile", "УДУШАЮЩАЯ МНОГОНОЖКА (SNARE FLEA)\n\nУровень опасности по шкале Сигурда: 30%\n\nНаучное название: Dolus-scolopendra. \nОчень крупное членистоногое из класса Chilopoda. Его тело вырабатывает шёлк, который в основном используется им для передвижения в места, где можно спрятаться. Экзоскелет многоножки довольно хрупок; она может погибнуть при падении с большой высоты. Удушающая многоножка не вырабатывает яд и не обладает сильным укусом. Эту слабость она компенсирует способностью стягиваться вокруг крупной добычи, чтобы задушить её.\n\nУдушающая многоножка процветает в тёплых и тёмных местах. Она не может выжить при низких температурах и вообще избегает открытого воздуха и солнца; вынесите её на улицу или просто избейте! Я думаю, что из их внутренностей вышел бы хороший милкшейк.\n\n" }, { "ThumperFile", "Тамперы (Thumpers)\n\nУровень опасности по шкале Сигурда: 90%\n\nНаучное название: Pistris-saevus\nПоловинчатые, или Тамперы, представляют собой высокоагрессивный, плотоядный вид из отряда Chondrichthyes. Их скелет состоит из хрящевой ткани, придающей их телам упругость и резиновость. Их название произошло от того факта, что им приходится съедать свои задние ноги, чтобы выбраться из скорлупы своего яйца; их задние ноги изначально слабо функциональны. Их руки, или передние ноги, очень крепкие, и время от времени они используют их, чтобы топтать добычу. Они способны развивать высокие скорости на прямой линии.\n\nОни беспощадные охотники, обычно находясь на вершине своей пищевой цепи. Их основные слабости — это их интеллект и полное отсутствие слуха. Если вы столкнулись с Тампером, лучший способ выживания — оставить его поле зрения, так как он медленннно поворачивается и не может легко преследовать добычу.\n\nИз-за быстрой и нестабильной эволюции этого вида, некоторые теоретики считают, что Тамперы – это один из примеров увеличенного количества мутаций, вызывающих более высокие уровни видообразования на планетах вокруг Тистельной Туманности.\n\n" }, { "ButlerFile", "ДВОРЕЦКИЙ\n\nУровень опасности по шкале Сигурда: 70%\n\nПо поводу этого типа файла нет, поэтому я СДЕЛАЮ его сам. мы постоянно находим этих вонючих уродов в объектах, они не хотят с нами разговаривать, даже не обращают на нас внимания и выглядят как сдутые воздушные шары. запах гнилого мяса, настолько неприятный, что у Ричарда от него начинаются рвотные позывы. я слышу, как мухи жужжат внутри их тел. Джесс сказала, что видела, как что-то вылезло из его глазницы и вернулось обратно. \n\nЯ не знаю, что делать с этим человеком\n\nони просто ходят и подметают пол, думаю, поэтому в особняке так чисто. По крайней мере, они выполняют свою работу. Но клянусь, эти вонючие уроды смотрят на меня, когда я отвёрнут от них.\n\nобновление: Они преследовали Рича с ножом. мы этого не видели, но он говорит, что когда он вошёл в комнату, дворецкий просто достал метлу и начал подметать, как ни в чём не бывало. Так что с этого момента мы все держимся вместе. К чёрту этих дворецких! Теперь мне нужно держаться ближе к Ричу, а он, наверняка, обоссался в свой костюм от страха\n\n" }, { "TulipSnakeFile", "Тюльпановые змеи\n\nУровень опасности по шкале Сигурда: 1%\n\nНаучное название: Draco tulipa\nТюльпановые змеи, или тюльпановые ящерицы, представляют собой тип летающих ящериц, которых легко отличить по длинным рукам и крыльям, которые могут достигать вдвое больше других представителей своего рода (Драко) и имеют необычно яркие цвета и узоры. Их название происходит от клапанов под шеей и за головой, которые напоминают большие лепестки цветов. (К другим их необычным характеристикам относятся дополнительная пара глаз и глубоко раздвоенный хвост.)\n\nИх поведение упрямо и бесстрашно. Действительно, тюльпановые змеи редко убегают от хищника. Но по иронии судьбы многие биологи предполагают, что их цветочный внешний вид помогает им скорее в качестве камуфляжа, чем для демонстрации устрашения. Он также играет важную роль в их тщательно продуманных ритуалах ухаживания, которые больше похожи на ритуалы ухаживания птиц. \n\nПримечательно, что подъём тяжелых и больших предметов в воздух часто наблюдался как часть брачного процесса тюльпановой змеи; они способны нести камни и растения как минимум в два раза больше своего размера, чтобы произвести впечатление на своего потенциального партнёра. Защищающие, ревнивые и впадающие в ярость самцы могут в конечном итоге вступить в перетягивание каната из-за предметов, которые им нравятся, включая даже других живых существ.\n\n" }, { "RadMechFile", "СТАРИННЫЕ ПТИЦЫ\n\n \"Старинная птица\" — автономное наступательное оружие войны гуманоидной конструкции. При росте 5,7м. и ширине 3,3м. две его наиболее характерные визуальные особенности — это прожектор, расположенный на его голове, способный излучать 100 000 люмен, и акустическое устройство дальнего действия на его груди, иногда называемое звуковой пушкой. На его плечах расположены дополнительные динамики, используемые для трансляции звука на большое расстояние. Левая рука Старинной птицы представляет собой коготь, а правая — сопло, способное как запускать реактивные гранаты, так и поджигать на близком расстоянии очень горячим пламенем. Старинная птица — одно из первых вне орбитальных вооружений, которые будут использоваться и производиться серийно.\r\n Тема о том, кто разработал Старинную птицу, вызвала интенсивные споры с момента их первого появления на канале\n\nКонструкция Старинной птицы, вплоть до закалки металлов, по-видимому, призвана скрыть её происхождение. Его назвали \"ходячим письмом с требованием выкупа.\" \r\n Ноги Старинных птиц функционируют как ракеты, что позволяет им преодолевать большие расстояния и эффективно находить цели. Но наиболее вероятная причина существования этой функции — помочь им войти и приземлиться с орбиты. Материалы и топливо, на которые полагаются Старинные птицы, аналогичны материалам и топливу пассажирских космических кораблей примерно из 2130 года.\r\nСтаринные птицы приземляются и навсегда остаются на своей целевой планете. Хотя топлива у них зачастую более чем достаточно только на одну поездку, в их программах не обнаружено никакого поведения, которое бы предполагало, что они могут выбрать \"миграцию\". Тем не менее, существуют непроверенные сведения о том, что Старинные птицы самостоятельно путешествовали на новую планету после сотен лет покоя. \r\nСтаринную птицу исторически называли \"Ал\", исходя из кодового названия, присвоенного ей английскими военными, \"A16-L31\". Однако в 2384 году пост-панк-проект Under Remora выпустил песню \"Старинные Птицы\" как культовый хит; всего три года спустя, в своём самом известном одноименном произведении,уличный художник Лэнд Эйри изобразил автоматонов, прилетающих и приземляющихся между планетами с расположением, похожим на стаю гусей - это обычно считается одним из самых знаковых и влиятельных образов современной культуры и укрепило современное прозвище.\r\n В 2356 году, луна 5-Embrion была классифицирована как Отверженная для целей путешествия или поселения на Лодке; По словам очевидцев, Старинные птицы \"выстилают горизонт\". Хотя по сей день они кажутся неработоспособными, существует разумный риск того, что многие из них все еще находятся в спящем режиме, поэтому планета, скорее всего, сохранит свой статус. Маленькая луна, вероятно, использовалась в качестве испытательного полигона для лётных и приземляющихся возможностей Старинной птицы.\n\n" }, { "AutopickerInfo", "Отмычка раскроет ваш безграничный потенциал эффективности в работе. Благодаря запатентованному программному обеспечению с искусственным интеллектом, она откроет вам доступ к любой запертой двери.\n\n" }, { "BBbulbInfo", "Самый доступный источник света. Он ещё и водонепроницаемый!\n\n" }, { "BoomboxInfo", "Музыка отлично поднимет боевой дух вашего экипажа!\n\n" }, { "ExtensionLadderInfo", "Выдвижная лестница может подниматься на высоту до девяти метров! С её помощью можно преодолеть любой обрыв и дотянуться до звёзд! Для экономии энергии в батарейках, автоматически сдвигается обратно через 18 секунд\n\n" }, { "FlashlightInfo", "Благодаря увеличенному времени автономной работы и ещё более яркой лампе, ваши коллеги никогда больше не оставят вас в темноте!\n\n" }, { "JetpackInfo", "Это устройство доставит вас куда угодно! Только используйте его ответственно!\n\n" }, { "MapperInfo", "Совершенное картографическое устройство, использующее функцию обнаружения света и дальности, чтобы предоставить вам обзор местности над головой.\n\n" }, { "RadarInfo", "Радар-усилители имеют много применений! \n\nВведите команду \"SWITCH\" перед именем радар-усилителя, чтобы просмотреть его на основном мониторе. Он должен быть активирован.\n\nВведите команду \"PING\" перед именем радар-усилителя, чтобы воспроизвести с него специальный звук.\n\n" }, { "ShovelInfo", "Для самозащиты!\n\n" }, { "SignalTranslatorInfo", "Транслятор сигналов\n\nВведите команду \"transmit\", для передачи текстового сообщения всем членам экипажа. Сообщение не должно превышать 10 букв.\n\n" }, { "SurvivalKitInfo", "Набор для выживания включает в себя всё, что необходимо в удобной упаковке! :\n\n* Фонарик x4 \n* Рация x4\n* Лопата x2\n\n" }, { "TZPChemicalInfo", "Этот безопасный и законный препарат может быть принят для получения значительных преимуществ в вашей работоспособности! Ваша способность перемещаться на БОЛЬШИЕ расстояния, несмотря на ТЯЖЁЛЫЕ объекты, будет непревзойденной! Предупреждение: ТЗП-Ингалятор может воздействовать на мозг при длительном воздействии. Следуйте инструкциям, предоставленным в руководстве по использованию баллона \nНе забудьте поделиться!\n\n" }, { "WalkieTalkieInfo", "Полезно для поддержания связи! Слышно других игроков, когда рация в вашем инвентаре. Для передачи голоса нужно держать в руке и удерживать кнопку.\n\n" }, { "ZapGunInfo", "Самое специализированное средство самозащиты, способное посылать до 80 000 вольт! \n\nЧтобы как можно дольше держать кого-либо на прицеле, тяните пистолет из стороны в сторону, чтобы противостоять изгибу и бороться с притяжением электрического луча. Электрошокер может оглушать только до тех пор, пока в нём есть заряд.\n\n" }, { "LoudHornInfo", "Громкий гудок\n\nИспользуется для связи с любым членом экипажа на любом расстоянии, рация не требуется! Гудение слышно откуда угодно. Но что это значит? Это зависит от вас!\n\n" }, { "RadarBoosterInfo", "Радары-усилители имеют множество применений!\n\nИспользуйте команду \"SWITCH\" перед названием радар-усилителя, чтобы начать наблюдение за ним на главном мониторе. Он должен быть активен.\n\nИспользуйте команду \"PING\" перед названием радар-усилителя, чтобы устройство проиграло специальный звук.\n\n" }, { "TeleporterInfo", "Телепортер\n\nНажмите кнопку, чтобы активировать телепортер. Он телепортирует любого, за кем в данный момент ведётся наблюдение на главном мониторе корабля. Тот, кого телепортируют, не сможет сохранить ни один из своих предметов. Перезарядка занимает около десяти секунд.\n\n" }, { "InverseTeleporterInfo", "\nОбратный телепортер — это модифицированный телепорт, который телепортирует вас в случайное место за пределами корабля. Все ваши предметы будут выброшены перед транспортировкой. Обратный телепортер может использоваться всеми сотрудниками одновременно, его время восстановления составляет 3,5 минуты.\n\nОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Обратный телепортер может переносить вас только наружу, а не внутрь, и вы можете оказаться в ловушке. Компания не несёт ответственности за травмы или замену голов и конечностей, вызванные квантовой запутанностью или невезением.\n\n" }, { "AssInfo", "220-Assurance\n----------------------\n\nУСЛОВИЯ: Похожа на её луну-близняшку, 41-Experimentation, но с более неровным и высушенным рельефом. \n\nИСТОРИЯ: 220-Assurance гораздо моложе своей коллеги. Обнаружена незадолго до 41-Experimentation.\n\nФАУНА: Неизвестно\n\n" }, { "DineInfo", "7-Dine\n----------------------\n\nУСЛОВИЯ: Эта луна является орбитой белой карликовой звезды, делая её необитаемой. Холодные условия. Постоянные вьюги понижают видимость.\n\nИСТОРИЯ: Несколько известных путешественников пропали здесь без вести, придавая луне опредёленную репутацию. Их тела вряд ли найдут, учитывая погодные условия луны.\n\nФАУНА: Очень низкий шанс существования сложной жизни.\n\n" }, { "ExpInfo", "41-Experimentation\n----------------------\n\nУСЛОВИЯ: Засушливость. Низкая обитаемость, ухудшенная промышленными отходами.\n\nИСТОРИЯ: Не была открыта в течение некоторого времени из-за того, что была близка к орбите газового гиганта Big Grin. Однако, похоже, что эту луну секретно использовали.\n\nФАУНА: Неизвестно\n\n" }, { "MarchInfo", "61-March\n----------------------\n\nУСЛОВИЯ: На луне March проходят постоянные дожди. Её рельеф является более экспансивным.\n\nИСТОРИЯ: Эта луна часто упускается из виду из-за её близняшки, Vow. \n\nФАУНА: Неизвестно\n\n" }, { "OffenseInfo", "21-Offense\n----------------------\n\nУСЛОВИЯ: Считается, что эта луна откололась от своей сестры Assurance. Особенности Offense схожи, неровный ландшафт и сухие условия, но отличия кроются в её экосистеме.\n\nИСТОРИЯ: 21-Offense категоризирована как луна-астероид, и кажется, что не существовала сама по себе уже более нескольких сотен лет. Промышленные постройки здесь сильно пострадали; считается что они были построены задолго до того, как 21-Offense откололась.\n\nФАУНА: Конкурентная и закалённая экосистема, поддерживающая агрессивные формы жизни. Путешественники, отправляющиеся на 21-Offense, должны знать, что эта луна не для слабонервных.\n\n" }, { "RendInfo", "85-Rend\n----------------------\n\nУСЛОВИЯ: Эта луна является орбитой белой карликовой звезды, делая её необитаемой. Холодные условия. Постоянные вьюги понижают видимость. \n\nИСТОРИЯ: Несколько известных путешественников пропали здесь без вести, придавая планете опредёленную репутацию. Их тела вряд ли найдут, учитывая погодные условия луны. \n\nФАУНА: Очень низкий шанс существования сложной жизни.\n\n" }, { "TitanInfo", "8-Titan\n----------------------\n\nУСЛОВИЯ: Замёрзший, плоский ландшафт.\n\nИСТОРИЯ: Кажется, что на этой луне добывали ресурсы. Очень просто потеряться среди гигантского промышленного комплекса. Существует много входов в него, которые разбросаны по ландшафту.\n\nФАУНА: Опасные существа, по слухам, проживающие в огромной системе туннелей.\n\n" }, { "VowInfo", "56-Vow\n----------------------\n\nУСЛОВИЯ: Влажные.\n\nИСТОРИЯ: Кажется, что Vow была заселена несколькими колониями в течение её континента, но на данный момент нет никаких признаков жизни, поэтому они стали загадкой.\n\nФАУНА: Разнообразна, кишит растительной жизнью.\n\n" }, { "AdamanceInfo", "20-Adamance\n----------------------\n\nУСЛОВИЯ: Эрозия и географические силы довели луну до образования глубоких долин и гор.\n\nИСТОРИЯ: Adamance - самая большая и старейшая из тех, кого в просторечии называют \"Зелёными Ведьмами\": Луны Vow, March и Adamance, которые вращаются вокруг Не Обслуживается.\n\nФАУНА: Луна \"Adamance\" является домом для живой и разнообразной экосистемы мелких всеядных животных.\n\n" }, { "ArtificeInfo", "68-Artifice\n----------------------\n\nУСЛОВИЯ: Заброшенные объекты разбросаны по территории, которая когда-то кипела жизнью. \n\nИСТОРИЯ: Оружие и секретные технологии были найдены в различных местах на поверхности этой луны; дата изготовления не менее двухсот лет.\n\nФАУНА: Ходят слухи, что действующая техника осталась позади.\n\n" }, { "EmbrionInfo", "5-Embrion\n----------------------\n\nУСЛОВИЯ: Пустынная и плоская, с непригодным для дыхания воздухом, поверхностный слой луны Embrion почти полностью состоит из аметистового кварца, что стало возможным благодаря расстоянию луны Embrion до ближайшей звезды и связанной с этим геотермальной активности. Поверхность луны Embrion очень горячая.\n\nИСТОРИЯ: Луна Embrion была открыта всего в прошлом веке. Судя по всему, она использовалась в качестве испытательного полигона для \"Старых Птиц\" задолго до того, как была официально обнаружена. В результате этой опасности ей был присвоен статус \"Забракована\". Существуют теории, что разнообразная геотермальная экосистема может процветать в обширной сети пещер под поверхностью этой луны.\n\nФАУНА: Луна Embrion лишена биологической жизни.\n\n" }, { "buyBoombox", "Вы запросили: Бумбокс. Количество: [variableAmount]. \nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "buyBoombox2", "Вы заказали: Бумбокс х[variableAmount]. Оставшиеся кредиты: [playerCredits].\n\nНаши сотрудники пользуются быстрой и бесплатной доставкой во время работы! Все приобретённые товары будут доставлены в течение часа до вашего приблизительного местоположения.\n\n" }, { "buyExtensLadder", "Вы запросили: Выдвижная лестница. Количество: [variableAmount]. \nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "buyExtensLadder2", "Вы заказали: Выдвижная лестница х[variableAmount]. Оставшиеся кредиты: [playerCredits].\n\nНаши сотрудники пользуются быстрой и бесплатной доставкой во время работы! Все приобретённые товары будут доставлены в течение часа до вашего приблизительного местоположения.\n\n" }, { "buyFlash", "Вы запросили: Фонарик. Количество: [variableAmount]. \nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "buyFlash2", "Вы заказали: Фонарик х[variableAmount]. Оставшиеся кредиты: [playerCredits].\n\nНаши сотрудники пользуются быстрой и бесплатной доставкой во время работы! Все приобретённые товары будут доставлены в течение часа до вашего приблизительного местоположения.\n\n" }, { "buyJetpack", "Вы запросили: Реактивный ранец. Количество: [variableAmount]. \nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "buyJetpack2", "Вы заказали: Реактивный ранец х[variableAmount]. Оставшиеся кредиты: [playerCredits].\n\nНаши сотрудники пользуются быстрой и бесплатной доставкой во время работы! Все приобретённые товары будут доставлены в течение часа до вашего приблизительного местоположения.\n\n" }, { "buyLockpickers", "Вы запросили: Отмычка. Количество: [variableAmount]. \nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "buyLockpickers2", "Вы заказали: Отмычка х[variableAmount]. Оставшиеся кредиты: [playerCredits].\n\nНаши сотрудники пользуются быстрой и бесплатной доставкой во время работы! Все приобретённые товары будут доставлены в течение часа до вашего приблизительного местоположения.\n\n" }, { "buyMapper", "Вы запросили: Картограф. Количество: [variableAmount]. \nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "buyMapper2", "Вы заказали: Картограф х[variableAmount]. Оставшиеся кредиты: [playerCredits].\n\nНаши сотрудники пользуются быстрой и бесплатной доставкой во время работы! Все приобретённые товары будут доставлены в течение часа до вашего приблизительного местоположения.\n\n" }, { "buyProFlashlight1", "Вы запросили: PRO-фонарик. Количество: [variableAmount]. \nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "buyProFlashlight2", "Вы заказали: PRO-фонарик х[variableAmount]. Оставшиеся кредиты: [playerCredits].\n\nНаши сотрудники пользуются быстрой и бесплатной доставкой во время работы! Все приобретённые товары будут доставлены в течение часа до вашего приблизительного местоположения.\n\n" }, { "buyRadarBooster", "Вы запросили: Радар-усилитель. Количество: [variableAmount]. \nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "buyRadarBooster2", "Вы заказали: Радар-усилитель х[variableAmount]. Оставшиеся кредиты: [playerCredits].\n\nНаши сотрудники пользуются быстрой и бесплатной доставкой во время работы! Все приобретённые товары будут доставлены в течение часа до вашего приблизительного местоположения.\n\n" }, { "buyShovel", "Вы запросили: Лопата. Количество: [variableAmount]. \nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "buyShovel2", "Вы заказали: Лопата х[variableAmount]. Оставшиеся кредиты: [playerCredits].\n\nНаши сотрудники пользуются быстрой и бесплатной доставкой во время работы! Все приобретённые товары будут доставлены в течение часа до вашего приблизительного местоположения.\n\n" }, { "buySpraypaint", "Вы запросили: Баллончик с краской. Количество: [variableAmount].\nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "buySpraypaint2", "Вы заказали: Баллончик с краской х[variableAmount]. Оставшиеся кредиты: [playerCredits].\n\nНаши сотрудники пользуются быстрой и бесплатной доставкой во время работы! Все приобретённые товары будут доставлены в течение часа до вашего приблизительного местоположения.\n\n" }, { "buyStunGrenade", "Вы запросили: Шумовая граната. Количество: [variableAmount]. \nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "buyStunGrenade2", "Вы заказали: Шумовая граната х[variableAmount]. Оставшиеся кредиты: [playerCredits].\n\nНаши сотрудники пользуются быстрой и бесплатной доставкой во время работы! Все приобретённые товары будут доставлены в течение часа до вашего приблизительного местоположения.\n\n" }, { "buySurvivalKit", "Вы запросили: Набор для выживания:\n* Фонарик х4\n* Рация x4\n* Лопата х1\n\nКоличество: [variableAmount]. \nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "buySurvivalKit2", "Вы заказали: Набор для выживания х[variableAmount]. Оставшиеся кредиты: [playerCredits].\n\nНаши сотрудники пользуются быстрой и бесплатной доставкой во время работы! Все приобретённые товары будут доставлены в течение часа до вашего приблизительного местоположения.\n\n" }, { "buyTZP", "Вы запросили: ТЗП-ингалятор. Количество: [variableAmount]. \nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "buyTZP2", "Вы заказали: ТЗП-ингалятор х[variableAmount]. Оставшиеся кредиты: [playerCredits].\n\nНаши сотрудники пользуются быстрой и бесплатной доставкой во время работы! Все приобретённые товары будут доставлены в течение часа до вашего приблизительного местоположения.\n\n" }, { "buyWalkieTalkie", "Вы запросили: Рация. Количество: [variableAmount]. \nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "buyWalkieTalkie2", "Вы заказали: Рация х[variableAmount]. Оставшиеся кредиты: [playerCredits].\n\nНаши сотрудники пользуются быстрой и бесплатной доставкой во время работы! Все приобретённые товары будут доставлены в течение часа до вашего приблизительного местоположения.\n\n" }, { "buyZapGun", "Вы запросили: Электрошокер. Количество: [variableAmount]. \nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "buyZapGun2", "Вы заказали: Электрошокер х[variableAmount]. Оставшиеся кредиты: [playerCredits].\n\nНаши сотрудники пользуются быстрой и бесплатной доставкой во время работы! Все приобретённые товары будут доставлены в течение часа до вашего приблизительного местоположения.\n\n" }, { "FishBowlBuy", "Вы запросили: Золотая рыбка, аквариум в подарок.\nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "FishBowlBuyConfirm", "Вы заказали: Золотая рыбка! Оставшиеся кредиты [playerCredits].\nЗажмите [B], чтобы переставить рыбку на корабле, и [V] для подтверждения.\n\n" }, { "PlushiePajamaManBuy", "Вы запросили: Плюшевая игрушка.\nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "PlushiePajamaManBuyConfirm", "Вы заказали: Плюшевая игрушка! Оставшиеся кредиты [playerCredits].\nЗажмите [B], чтобы переставить игрушку на корабле, и [V] для подтверждения.\n\n" }, { "SignalTranslatorBuy", "Вы запросили улучшение корабля: Транслятор сигналов.\nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "SignalTranslatorBuyConfirm", "Вы заказали улучшение корабля: Транслятор сигналов! Оставшиеся кредиты [playerCredits].\nЗажмите [B], чтобы переставить транслятор на корабле, и [V] для подтверждения.\n\nТранслятор сигналов можно активировать командой \"transmit\", за которой следует любое сообщение длиной до 10 символов.\n\n" }, { "LoudHornBuy1", "Вы запросили улучшение корабля: Громкий гудок.\nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "LoudHornBuyConfirm", "Вы заказали улучшение корабля: Громкий гудок! Оставшиеся кредиты [playerCredits].\nЗажмите [B], чтобы переставить стойку с шнуром, и [V] для подтверждения.\n\nТяните за шнур, чтобы активировать громкий звуковой сигнал.\n\n" }, { "TeleporterBuy1", "Вы запросили улучшение корабля: Телепортер.\nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "TeleporterBuyConfirm", "Вы заказали улучшение корабля: Телепортер! Оставшиеся кредиты [playerCredits].\nНажмите кнопку, чтобы активировать телепортер. Он телепортирует любого, за кем в данный момент ведётся наблюдение на главном мониторе корабля. Тот, кого телепортируют, не сможет сохранить ни один из своих предметов. Перезарядка занимает около десяти секунд.\n\nЗажмите [B], чтобы переставить телепортер на корабле, и [V] для подтверждения.\n\n" }, { "InverseTeleporterBuy", "Вы запросили улучшение корабля: Обратный телепортер.\nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "InverseTeleporterBuyConfirm", "Вы заказали улучшение корабля: Обратный телепортер! Оставшиеся кредиты [playerCredits].\nЗажмите [B], чтобы переставить обратный телепортер на корабле, и [V] для подтверждения.\n\nНажмите кнопку и встаньте внутрь обратного телепортера, пока он начинает активацию.\n\n" }, { "WelcomeMatBuy", "Вы запросили: Входной коврик, благодаря которому каждый может почувствовать себя как дома.\nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "WelcomeMatBuyConfirm", "Вы заказали: Входной коврик! Оставшиеся кредиты [playerCredits].\nЗажмите [B], чтобы переложить коврик на корабле, и [V] для подтверждения.\n\n" }, { "CozyLightsBuy1", "Вы запросили: Гирлянду. \nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "CozyLightsBuyConfirm", "Вы заказали: Гирлянду! Оставшиеся кредиты [playerCredits].\nВыключите свет на корабле чтобы гирлянда заработала.\n\n" }, { "GreenSuitBuy1", "Вы запросили: Зелёные костюмы. \nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "GreenSuitBuyConfirm", "Вы заказали: Зелёные костюмы! Оставшиеся кредиты [playerCredits].\n\n" }, { "HazardSuitBuy1", "Вы запросили: Защитные костюмы. \nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "HazardSuitBuyConfirm", "Вы заказали: Защитные костюмы! Оставшиеся кредиты [playerCredits].\n\n" }, { "PajamaSuitBuy1", "Вы запросили: Пижамные костюмы. \nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "PajamaSuitBuyConfirm", "Вы заказали: Пижамные костюмы! Оставшиеся кредиты [playerCredits].\n\n" }, { "JackOLanternBuy", "Вы запросили: Хэллоуинскую тыкву. \nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "JackOLanternBuyConfirm", "Вы заказали: Хэллоуинскую тыкву! Оставшиеся кредиты [playerCredits].\nЗажмите [B], чтобы переставить тыкву на корабле, и [V] для подтверждения.\n\n" }, { "TelevisionBuy1", "Вы запросили: Телевизор. \nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "TelevisionBuyConfirm", "Вы заказали: Телевизор! Оставшиеся кредиты [playerCredits].\nЗажмите [B], чтобы переставить телевизор на корабле, и [V] для подтверждения.\n\n" }, { "RecordPlayerBuy", "Вы запросили: Граммофон. \nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "RecordPlayerBuyConfirm", "Вы заказали: Граммофон! Оставшиеся кредиты [playerCredits].\nЗажмите [B], чтобы переставить граммофон на корабле, и [V] для подтверждения.\n\n" }, { "RomTableBuy1", "Вы запросили: Романтический стол. \nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "RomTableBuyConfirm", "Вы заказали: Романтический стол! Оставшиеся кредиты [playerCredits].\nЗажмите [B], чтобы переставить романтический стол на корабле, и [V] для подтверждения.\n\n" }, { "ShowerBuy1", "Вы запросили: Душевую кабину. \nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "ShowerBuyConfirm", "Вы заказали: Душевую кабину! Оставшиеся кредиты [playerCredits].\nЗажмите [B], чтобы переставить душ на корабле, и [V] для подтверждения.\n\n" }, { "TableBuy1", "Вы запросили: Стол. \nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "TableBuyConfirm", "Вы заказали: Стол! Оставшиеся кредиты [playerCredits].\nЗажмите [B], чтобы переставить стол на корабле, и [V] для подтверждения.\n\n" }, { "ToiletBuy1", "Вы запросили: Унитаз. \nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "ToiletBuyConfirm", "Вы заказали: Унитаз! Оставшиеся кредиты [playerCredits].\nЗажмите [B], чтобы переставить унитаз на корабле, и [V] для подтверждения.\n\n" }, { "BunnySuitBuy", "Вы запросили: Костюмы кролика. \nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "BunnySuitBuyConfirm", "Вы заказали: Костюмы кролика! Оставшиеся кредиты [playerCredits].\n\n" }, { "DiscoBallBuy", "Вы запросили: Диско шар.\nСтоимость: [totalCost].\n\nВведите \"CONFIRM\" или \"DENY\".\n\n" }, { "DiscoBallBuyConfirm", "Вы заказали: Диско шар! Оставшиеся кредиты [playerCredits].\nИспользуйте выключатель света, чтобы начать дискотеку.\n" }, { "LogFile1", "Дата: 22 августа 1968 года\nЗдравствуйте. Я пишу этот журнал, чтобы не сойти с ума. До сих пор я просто добавлял в бестиарий всё, что знал. Мой брат сказал, что я должен вести дневник, так что я делаю то, что могу! Я пишу профессионально, так как эти записи могут стать исторической справкой, и они, вероятно, будут храниться здесь годами, пока не произойдет чистка. Так сказал Десмонд.\n\nЕсли вы читаете это в будущем, вы, вероятно, из другой команды. Текучесть кадров здесь огромная, может быть, потому, что эта работа - отстой, и каждый переворачивается замертво! Может быть, я смогу помочь, когда у меня будет опыт. Конец журнала.\nАх да, наши имена: Сигурд (я), Ричард, Десмонд и Джесс. \n\n" }, { "LogFile2", "О боже, этот костюм давит на меня, словно я проклятая мумия! Я взрослый мужчина, дайте ему немного пространства между ног! Это меня убивает, я просто умираю! Надеюсь, ты счастлив, папа, Я НАКОНЕЦ-ТО нашел работу. К чёрту тебя! Здесь всё воняет. Особенно Рич. Я собираюсь бросить его в озеро, и мне без разницы из чего оно там состоит. Мне нравится дежурить на камерах. Ох\nя забыл дату - 24 августа 1968 года. Эта клавиатура может выфвошдафыйе..а/п;\n\n\nСегодня мы нашли пару сковородок и большой болт. Почти ничего не стоит. Для чего компания вообще их использует.\n\n" }, { "LogFile3", "последние несколько дней мы попали в \"качели событий\". Вот что постоянно говорит Рич: от него пахнет прогорклой банкой тунца. Худший летний лагерь, в котором я когда-либо был. Дата - 27 августа 1968 года. \r\nмы следим за тем, чтобы у кого-то всегда была лопата, чтобы бить всё, что движется, и всегда поручаем кому-то \"дежурить камерой\", чтобы он мог открыть эти большие защитные двери с буквами и цифрами. Cпроси волшебника Десмонда, как это работает, я думаю, он просто вводит код, который указан на двери\r. Вот и всё\n\r\nсегодня мы продали компании некоторые товары по ставке 70%. У меня нервы похолодели, слушая чёртовы ПСИХОТИЧЕСКИЕ звуки за стойкой. Только у меня так. ?? \r\nНе могу это игнорировать! Мой фонарик даже не просвечивает туда, луч просто погас.\n\n" }, { "LogFile4", "Дата - 31 августа 1968 года. Я снова дежурю у камеры, ненавижу ходить на этой луне. Ахах, шучу над ними, только что начался дождь!!! Я просто сижу. Не могу спать на этих крошечных кроватях для муравьёв. \n\n\nЭта работа подозрительная. Если вы читаете это, то, скорее всего, попали сюда так же, как и я. Зарплата хорошая, контракт рассчитан только на сезон. Они прогнали вас через свой \"оценочный экзамен\" по телефону со странным голосом. Вы подписали контракт на шаттле вместе с остальными членами вашей команды. Но всё это время вы ни с кем не разговаривали. Шаттл был на автопилоте и, я думаю, что голос в телефоне был фальшивым. Мне снятся странные сны, я думаю, что просто хочу вернуться домой. Но я не собираюсь ползти домой, плача и царапая входную дверь отца. Это не его сын. Это не Сигурд!\n\n" }, { "LogFile5", "Сегодня утром меня разбудили рано, потому что мы собирались в здание компании, чтобы продать наш бесполезный мусор. Ставка составила 120%, что, по словам Десмонда, редкость, и он не хотел пропустить это, он следил за этим, как за дурацкими акциями. \n\nЗдесь по-прежнему паршиво. Рич продолжает пахнуть, как кусок дерьма. Я едва могу уснуть. Я услышал ужасный звук за стеной здания компании. Он звучал так, словно плачущие красные лица были размазаны по бетону, как ступа и пестик, в которых моя мама измельчает семена и специи. Этот кошмар не покидает меня. Никто другой не слышал этого. Они не знают, что делать. Джесс думает, что меня \"тошнит от дома\". Нет, меня тошнит от этого дешёвого костюма.\r\nДата: 4 сентября 1968 года\n\n" }, { "LogFile6", "Мы оставили Рича. Нам нужно было проверить только одну комнату, а потом мы могли бы закончить на сегодня. Я не смог открыть дверь. А потом я посмотрел, и Рича там не было. Это был грёбаный человек с морщинистой кожей и цветочной головой, который ходит на двух ногах! Это существо свернуло ему шею. Я услышал треск, но его там не было. Я хотел найти Рича, даже если бы он был мёртв, но они трусы! Их лица пусты, как у идиотов, в их тупых черепах ничего не двигается. Все, что они хотели сделать, это уйти. Они собирались бросить и меня тоже. Мы все ненавидели Рича, но мы не хотели этого. Это того не стоит, оно просто того не стоит. У нас есть пара ножниц, коробка с марками и связка шнуров, которые мы продаем за бесценок. Дело не в этом, зачем это вообще нужно компании?\n\n\nДата, когда мы последний раз видели Рича: 7 сентября 1968 года.\n\n" }, { "LogFile7", "Дата: 13 сентября 1968 года\n\nПо какой-то причине именно мне пришлось позвонить на номер компании, чтобы сообщить о происшествии. Они были слишком напуганы, чтобы сделать это. Голос был тот же, что я запомнил с телефонного собеседования дома и глупых обучающих видео. Но он услышал, что я сказал, я думаю, потому что он сказал, что они свяжутся с семьей и найдут замену, и что-то в этом роде. Он говорил так быстро\n\n\nЯ узнал, что крики можно постоянно слышать по рации, когда находишься у стены здания Компании. Они мне не поверили. Ну, теперь верят. Это звучит точно так же, как когда я слышал это пару недель назад. Они хотят уволиться. Я сказал, что я не трус. Я только что получил эту работу\n\n" }, { "LogFile8", "Я разговаривал с голосом по рации, это было как часть криков. Он сказал мне, что Золотая планета действительно существует, это не легенда. И он сказал мне, что это было не просто столкновение с метеоритом. Он сказал, что планета была поглощена \"зверем\", и они находились внутри его тела, подвергаясь перевариванию. Я спросил, что это за зверь, и он сказал, что не знает! Он сказал, что зверь съел планету, и они забыли всё.\n\nЯ не мог заставить его перестать говорить. Но я сказал ему, что он на другой стороне большой стены, и я могу его вытащить. Я сказал, что он внутри здания. И вот тогда он начал паниковать. Я не мог разобрать ни слова, но, кажется, он сказал что-то о \"выплёвывании кожуры\". Так что я просто выключил его. Какая дикая история.\n\nДжесс говорит, что Золотая планета - всего лишь рассказ. Я сказал, Я ЗНАЮ, я не идиот. Ну, она сказала, что мне следует прекратить, и она прекратит, если я прекращу. ну она и успокоилась\n\n" }, { "LogFile9", "Дата - 18 сентября 1968 года\nВ прошлые выходные казалось, что Десмонд и Джесс пришли в себя. Через несколько дней к нам присоеденится четвёртый член команды. Мы больше не рискуем, хотя и получаем меньше, но это кажется безопаснее, и я лучше сплю. Но это всё равно грустно. Я всё ещё чувствую запах Рича, клянусь, он так вонял.\n\nЯ говорил о том, как голос по телефону звучал поддельно. Тогда Десмонд придумал эту странную идею. Он - волшебник и всё такое, поэтому он думает, что есть способ использовать звонок, который я сделал на номер компании, чтобы выяснить, откуда идёт этот голос. Не знаю, почему ему это нужно, но он кажется серьезным. Он много времени проводит за терминалом.\n\n" }, { "LogFile10", "27 сентября 1968 года\n\nДесмонд хочет, чтобы я записал, что мы выяснили, и держал свой \"бред на минимуме\". Так что я собираюсь добавить очень много своего бреда. На него плевать. Новый член экипажа по имени Лукас такой сбитый и испуганный всё время, что за младенец, ну хоть не воняет как монстр.\n\nБыло так солнечно, хотя сейчас сентябрь, и эти костюмы не очень хорошо переносят это. Итак, Десмонд \"проследил звонок\" и выяснил, что есть группа людей где-то ещё, которая притворяется, будто звонит нам из здания компании. Они на другом конце солнечной системы!! Почему они так далеко?\n\nДесмонд говорит, что не знает, но я думаю. А вдруг в здании компании действительно есть большой монстр, как голос сказал мне по рации? Они его заперли, и мы его кормим, чтобы держать под контролем. Я просто хотел тупую работу!!!!!\n\n" }, { "LogFile11", "30 сентября 1968 года\r\n\r\nЯ постоянно вижу кошмары о здании Компании, где Компания выбирается из этой гигантской бетонной стены. Но я не знаю, выглядит ли оно как-то определенно, мне просто кажется, что оно огромное и быстрое. Мы не можем понять, как узнать, реальные ли голоса по телефону, Десмонд говорит, что это слишком далеко. Я спросил его, не мог бы он взять под контроль автопилот, и он сказал, что я с ума сошел, и это может нас убить. Да, я с ума сошел, Десмонд.\r\n\r\nОн говорит, что нам пришлось бы взять свой собственный частный рейс, чтобы добраться до координат, и кто знает, что там на самом деле будет. Так что, а вдруг там ничего нет? \r\nЯ стал задумываться, как я не могу вспомнить, как мы на самом деле сюда попали. Я помню только мелочи, как полет на шаттле к зданию, где мы подписали контракты. Но я не помню, как мы сели на шаттл, я даже не помню, как я попрощался с папой. В моих снах кажется, что Компания вовсе не заперта там, она просто прячется. Я не знаю, попаду ли я домой\n\n" }, { "LogFile12", "дата : 1-ое октября, 1968 года\nCнова закончились закуски и пакеты с лимонадом. Десмонд считает, что светошумовые гранаты \"более выгодны\", ну, если он отложит заказ моих вещей на другой день, я насру на рычаг управления и спрошу его, что он думает о своих светошумовых гранатах. Десмонд не читай это\n\n\nЯ знаю, что я не волшебник, но, думаю, сегодня я снова за компьютером. Каждый раз, когда я выхожу на улицу на Vow, они говорят, что я бледнею, как будто мёртвый, поэтому меня поставили дежурить у экрана. Они думают, что я стал мягким или что-то в этом роде. Неважно, Лукас напуган. Удачи, не дай ему сойти с ума. Я мог бы прогуляться ночью, как будто это мой задний двор! Просто я видел Рича на холме. Он был на другом берегу реки. Но это было три дня назад. Мне не страшно, просто на улице становится холодно. Я думаю, они просто хотят, чтобы я каждый день дежурил у экрана, и у них у всех есть оправдание\n\nЯ скучаю по папе. Надеюсь, он не останется на Титане. Люди говорят, что через два года всё будет выглядеть по-другому. Джесс сказала нам, что они собираются начать войну, и все её только и ждут. Каждый раз, когда мы идём продавать лом, здание компании трясется, как будто внутри шумит печь. Они слишком боятся выходить. Мы едва можем спать, чтобы выполнить квоту, и с каждым разом становится хуже. Боже, у меня такое ощущение, будто меня проткнули иглой. Мне бы хотелось, чтобы мы могли вернуться. Лучше было работать на папу, даже когда я ничего не получал, кроме ежедневных содержаний. Мне нравилось, когда он вывозил нас из города посмотреть водопад, и мы поднимались по старой деревянной лестнице. Я просто хотел настоящую работу\n\n" }, { "LogFile13", "Десмонд. 15 октября 1968 года\n\nЯ шифрую эти записи, чтобы сохранить их в тайне, так как боюсь, что система будет стёрта, если их найдут. Это всё обман. Мы должны думать, что это всего лишь операция, но на самом деле мы работаем над тем, чтобы поддерживать невероятный ужас. Как скоро его сытость закончится, а голод станет
BepInEx/plugins/RTLC/RTLC.Font.dll
Decompiled 4 months agousing System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Configuration; using GameNetcodeStuff; using HarmonyLib; using Microsoft.CodeAnalysis; using TMPro; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.Events; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: AssemblyCompany("RTLC.Font")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyDescription("Replace in-game font with other things")] [assembly: AssemblyFileVersion("1.1.5.0")] [assembly: AssemblyInformationalVersion("1.1.5")] [assembly: AssemblyProduct("RTLC.Font")] [assembly: AssemblyTitle("RTLC.Font")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.1.5.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } internal class ResourcePath { public const string FontPath = "Bundles"; public const string NormalFont = "3270_font"; public const string TransmitFont = "eduline_font"; } [HarmonyPatch(typeof(HUDManager))] internal class HUDManagerPatch { [HarmonyPostfix] [HarmonyPatch("OnEnable")] private static void PostfixOnEnable() { ((UnityEvent<string>)(object)HUDManager.Instance.chatTextField.onSubmit).AddListener((UnityAction<string>)OnSubmitChat); } [HarmonyPostfix] [HarmonyPatch("OnDisable")] private static void PrefixOnDisable() { ((UnityEvent<string>)(object)HUDManager.Instance.chatTextField.onSubmit).RemoveListener((UnityAction<string>)OnSubmitChat); } private static void OnSubmitChat(string chatString) { //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) PlayerControllerB localPlayerController = GameNetworkManager.Instance.localPlayerController; if (!string.IsNullOrEmpty(chatString) && chatString.Length < 50) { HUDManager.Instance.AddTextToChatOnServer(chatString, (int)localPlayerController.playerClientId); } for (int i = 0; i < StartOfRound.Instance.allPlayerScripts.Length; i++) { if (StartOfRound.Instance.allPlayerScripts[i].isPlayerControlled && Vector3.Distance(((Component)GameNetworkManager.Instance.localPlayerController).transform.position, ((Component)StartOfRound.Instance.allPlayerScripts[i]).transform.position) > 24.4f && (!GameNetworkManager.Instance.localPlayerController.holdingWalkieTalkie || !StartOfRound.Instance.allPlayerScripts[i].holdingWalkieTalkie)) { HUDManager.Instance.playerCouldRecieveTextChatAnimator.SetTrigger("ping"); break; } } localPlayerController.isTypingChat = false; HUDManager.Instance.chatTextField.text = ""; EventSystem.current.SetSelectedGameObject((GameObject)null); HUDManager.Instance.PingHUDElement(HUDManager.Instance.Chat, 2f, 1f, 0.2f); ((Behaviour)HUDManager.Instance.typingIndicator).enabled = false; } [HarmonyPrefix] [HarmonyPatch("SubmitChat_performed")] private static void PrefixSubmitChat_performed(ref bool __runOriginal) { __runOriginal = false; } } namespace RTLC.Font { public static class MyPluginInfo { public const string PLUGIN_GUID = "RTLC.Font"; public const string PLUGIN_NAME = "RTLC.Font"; public const string PLUGIN_VERSION = "1.1.5"; } } namespace FontPatcher { [HarmonyPatch] internal class FontLoader { private class FontBundle { public TMP_FontAsset Normal; public TMP_FontAsset Transmit; } private static List<FontBundle> fontBundles = new List<FontBundle>(); public static void Load(string location) { try { string directoryName = Path.GetDirectoryName(location); string path = Path.Combine(directoryName, "Bundles"); DirectoryInfo directoryInfo = new DirectoryInfo(path); FileInfo[] files = directoryInfo.GetFiles("rtlc.font"); FileInfo[] array = files; foreach (FileInfo fileInfo in array) { AssetBundle val = AssetBundle.LoadFromFile(fileInfo.FullName); FontBundle fontBundle = new FontBundle { Normal = val.LoadAsset<TMP_FontAsset>("3270_font"), Transmit = val.LoadAsset<TMP_FontAsset>("eduline_font") }; if (Object.op_Implicit((Object)(object)fontBundle.Normal)) { ((Object)fontBundle.Normal).name = fileInfo.Name + "(3270_font)"; } if (Object.op_Implicit((Object)(object)fontBundle.Transmit)) { ((Object)fontBundle.Transmit).name = fileInfo.Name + "(eduline_font)"; } fontBundles.Add(fontBundle); } Plugin.Instance.LogInfo("Font loaded!"); } catch (Exception ex) { Plugin.Instance.LogError(ex.Message); } } [HarmonyPrefix] [HarmonyPatch(typeof(TMP_FontAsset), "Awake")] private static void PrefixAwake(TMP_FontAsset __instance) { switch (((Object)__instance).name.Split(new char[1] { ' ' })[0]) { case "3270-Regular": case "3270-HUDIngame": case "3270-HUDIngameB": case "DialogueText": case "b": if (!Plugin.Instance.configNormalIngameFont.Value) { DisableFont(__instance); } { foreach (FontBundle fontBundle in fontBundles) { if (Object.op_Implicit((Object)(object)fontBundle.Normal)) { __instance.fallbackFontAssetTable.Add(fontBundle.Normal); } } break; } case "edunline": if (!Plugin.Instance.configTransmitIngameFont.Value) { DisableFont(__instance); } { foreach (FontBundle fontBundle2 in fontBundles) { if (Object.op_Implicit((Object)(object)fontBundle2.Transmit)) { __instance.fallbackFontAssetTable.Add(fontBundle2.Transmit); } } break; } } } private static void DisableFont(TMP_FontAsset font) { font.characterLookupTable.Clear(); font.atlasPopulationMode = (AtlasPopulationMode)0; } } internal class PluginInfo { public const string GUID = "RTLC.Font"; public const string Name = "RTLC.Font"; public const string Version = "1.1.2"; } [BepInPlugin("RTLC.Font", "RTLC.Font", "1.1.2")] internal class Plugin : BaseUnityPlugin { public ConfigEntry<bool> configNormalIngameFont; public ConfigEntry<bool> configTransmitIngameFont; public static Plugin Instance; private void Awake() { if ((Object)(object)Instance == (Object)null) { Instance = this; } configNormalIngameFont = ((BaseUnityPlugin)this).Config.Bind<bool>("Шрифты", "Стандартный шрифт", false, "Вкл/Выкл стандартный игровой шрифт."); configTransmitIngameFont = ((BaseUnityPlugin)this).Config.Bind<bool>("Шрифты", "Шрифт транслятора", false, "Вкл/Выкл стандартный шрифт транслятора сигналов."); FontLoader.Load(((BaseUnityPlugin)this).Info.Location); Harmony.CreateAndPatchAll(Assembly.GetExecutingAssembly(), (string)null); } public void LogInfo(string msg) { ((BaseUnityPlugin)this).Logger.LogInfo((object)msg); } public void LogWarning(string msg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)msg); } public void LogError(string msg) { ((BaseUnityPlugin)this).Logger.LogError((object)msg); } } }