using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Logging;
using Inferno;
using Microsoft.CodeAnalysis;
using On.RoR2;
using R2API;
using RoR2;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName = ".NET Standard 2.0")]
[assembly: AssemblyCompany("InfernoTranslationMod")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("InfernoTranslationMod")]
[assembly: AssemblyTitle("InfernoTranslationMod")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.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;
}
}
}
namespace InfernoTranslationMod
{
[BepInPlugin("Lecarde17.InfernoRU", "InfernoRU", "1.0.8")]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
public class Main : BaseUnityPlugin
{
[CompilerGenerated]
private static class <>O
{
public static hook_GetLocalizedStringByToken <0>__Language_GetLocalizedStringByToken;
}
public const string PluginGUID = "Lecarde17.InfernoRU";
public static ManualLogSource modLogger;
public const string PluginAuthor = "Lecarde17";
public const string PluginName = "InfernoRU";
public const string PluginVersion = "1.0.8";
public void Awake()
{
//IL_0514: Unknown result type (might be due to invalid IL or missing references)
//IL_0519: Unknown result type (might be due to invalid IL or missing references)
//IL_051f: Expected O, but got Unknown
modLogger = ((BaseUnityPlugin)this).Logger;
LanguageAPI.Add("INFERNO_NAME", "Геенна", "RU");
LanguageAPI.Add("INFERNO_DESCRIPTION", "Только для опытных игроков. Каждый шаг требует сосредоточенности и сноровки. Вы будете уничтожены.<style=cStack>\n\n>Регенерация здоровья игрока: <style=cDeath>-40%</style> \n" + ((Main.Scaling.Value <= 0f) ? ">Сложность: <style=cDeath>0%</style>\n" : ((Main.Scaling.Value == 100f) ? "" : ((object)((Main.Scaling.Value < 100f) ? (">Сложность: <style=cIsHealing>" + (Main.Scaling.Value - 100f) + "% + Бесконечно</style>\n") : (">Сложность: <style=cDeath>+" + (Main.Scaling.Value - 100f) + "% + Бесконечно</style>\n"), "RU"))))?.ToString() + ((Main.LevelAttackSpeed.Value > 0f || Main.LevelMoveSpeed.Value > 0f || Main.LevelRegen.Value > 0f) ? ">Характеристики врагов: <style=cDeath>Постоянно растут</style>\n" : "", "RU").ToString() + ((Main.ProjectileSpeed.Value > 1f) ? (">Скорость вражеских снарядов: <style=cDeath>+" + (Main.ProjectileSpeed.Value - 1f) * 100f + "%</style>\n") : "", "RU").ToString() + (Main.EnableCDirector.Value ? ">Постановщик сражений: <style=cDeath>Хитрый и находчивый</style>\n" : "", "RU").ToString() + ((Main.LevelDiffBoost.Value > 0f) ? ">Начальная сложность: <style=cDeath>Увеличенная</style>\n" : "", "RU").ToString() + ((Main.EnableSkills.Value || Main.EnableStats.Value) ? ">Способности врагов: <style=cDeath>Улучшенные</style>\n" : "", "RU").ToString() + (Main.EnableAI.Value ? (">Вражеский ИИ: <style=cDeath>Обновлённый" + ((Main.AIScaling.Value > 0f) ? " + Развивающийся</style>\n" : "</style>\n")) : "", "RU").ToString() + (((float)Main.MonsterLimit.Value == 40f) ? "" : (((float)Main.MonsterLimit.Value < 40f) ? (">Предел количества врагов: <style=cIsHealing>" + ((float)Main.MonsterLimit.Value - 40f) / 40f * 100f + "%</style>") : (">Предел количества врагов: <style=cDeath>+" + ((float)Main.MonsterLimit.Value - 40f) / 40f * 100f + "%</style>\n")), "RU").ToString() + ((Main.AllyPermanentDamage.Value > 0f) ? ">Союзники получают <style=cDeath>неизгладимый урон</style>\n" : "") + "</style>", "RU");
LanguageAPI.Add("ACHIEVEMENT_COMMANDOCLEARGAMEINFERNO_NAME", "Коммандо: <style=cDeath>выживание</style>", "RU");
LanguageAPI.Add("ACHIEVEMENT_COMMANDOCLEARGAMEINFERNO_DESCRIPTION", "Играя за Коммандо, пройдите игру или уничтожьтесь на уровне сложности <style=cDeath>«Геенна»</style>.", "RU");
LanguageAPI.Add("ACHIEVEMENT_BANDIT2CLEARGAMEINFERNO_NAME", "Бандит: <style=cDeath>выживание</style>", "RU");
LanguageAPI.Add("ACHIEVEMENT_BANDIT2CLEARGAMEINFERNO_DESCRIPTION", "Играя за Бандита, пройдите игру или уничтожьтесь на уровне сложности <style=cDeath>«Геенна»</style>.", "RU");
LanguageAPI.Add("ACHIEVEMENT_CAPTAINCLEARGAMEINFERNO_NAME", "Капитан: <style=cDeath>выживание</style>", "RU");
LanguageAPI.Add("ACHIEVEMENT_CAPTAINCLEARGAMEINFERNO_DESCRIPTION", "Играя за Капитана, пройдите игру или уничтожьтесь на уровне сложности <style=cDeath>«Геенна»</style>.", "RU");
LanguageAPI.Add("ACHIEVEMENT_ARTIFICERCLEARGAMEINFERNO_NAME", "Изобретатель: <style=cDeath>выживание</style>", "RU");
LanguageAPI.Add("ACHIEVEMENT_ARTIFICERCLEARGAMEINFERNO_DESCRIPTION", "Играя за Изобретателя, пройдите игру или уничтожьтесь на уровне сложности <style=cDeath>«Геенна»</style>.", "RU");
LanguageAPI.Add("ACHIEVEMENT_MERCENARYCLEARGAMEINFERNO_NAME", "Наёмник: <style=cDeath>выживание</style>", "RU");
LanguageAPI.Add("ACHIEVEMENT_MERCENARYCLEARGAMEINFERNO_DESCRIPTION", "Играя за Наёмника, пройдите игру или уничтожьтесь на уровне сложности <style=cDeath>«Геенна»</style>.", "RU");
LanguageAPI.Add("ACHIEVEMENT_RAILGUNNERCLEARGAMEINFERNO_NAME", "Рельсотронщица: <style=cDeath>выживание</style>", "RU");
LanguageAPI.Add("ACHIEVEMENT_RAILGUNNERCLEARGAMEINFERNO_DESCRIPTION", "Играя за Рельсотронщицу, пройдите игру или уничтожьтесь на уровне сложности <style=cDeath>«Геенна»</style>.", "RU");
LanguageAPI.Add("DOTFLARE_SKIN_BCAPTAIN_NAME", "<style=cDeath>Еинеледжов</style>", "RU");
LanguageAPI.Add("DOTFLARE_SKIN_CARTI_NAME", "<style=cDeath>Кристаллический</style>", "RU");
LanguageAPI.Add("DOTFLARE_SKIN_DBANDIT_NAME", "<style=cDeath>Дэдшот</style>", "RU");
LanguageAPI.Add("DOTFLARE_SKIN_HMERC_NAME", "<style=cDeath>Безголовый</style>", "RU");
LanguageAPI.Add("DOTFLARE_SKIN_MMANDO_NAME", "<style=cDeath>Заросший</style>", "RU");
LanguageAPI.Add("DOTFLARE_SKIN_PGUNNER_NAME", "<style=cDeath>Погребённая</style>", "RU");
object obj = <>O.<0>__Language_GetLocalizedStringByToken;
if (obj == null)
{
hook_GetLocalizedStringByToken val = Language_GetLocalizedStringByToken;
<>O.<0>__Language_GetLocalizedStringByToken = val;
obj = (object)val;
}
Language.GetLocalizedStringByToken += (hook_GetLocalizedStringByToken)obj;
}
private static string Language_GetLocalizedStringByToken(orig_GetLocalizedStringByToken orig, Language self, string token)
{
if (self.name == "RU" || self.name == "ru")
{
if (token == "INFERNO_DESCRIPTION")
{
return "Только для опытных игроков. Каждый шаг требует сосредоточенности и сноровки. Вы будете уничтожены.<style=cStack>\n\n>Регенерация здоровья игрока: <style=cDeath>-40%</style> \n" + ((Main.Scaling.Value <= 0f) ? ">Сложность: <style=cDeath>0%</style>\n" : ((Main.Scaling.Value == 100f) ? "" : ((Main.Scaling.Value < 100f) ? (">Сложность: <style=cIsHealing>" + (Main.Scaling.Value - 100f) + "% + Бесконечно</style>\n") : (">Сложность: <style=cDeath>+" + (Main.Scaling.Value - 100f) + "% + Бесконечно</style>\n")))) + ((Main.LevelAttackSpeed.Value > 0f || Main.LevelMoveSpeed.Value > 0f || Main.LevelRegen.Value > 0f) ? ">Характеристики врагов: <style=cDeath>Постоянно растут</style>\n" : "") + ((Main.ProjectileSpeed.Value > 1f) ? (">Скорость вражеских снарядов: <style=cDeath>+" + (Main.ProjectileSpeed.Value - 1f) * 100f + "%</style>\n") : "") + (Main.EnableCDirector.Value ? ">Постановщик сражений: <style=cDeath>Хитрый и находчивый</style>\n" : "") + ((Main.LevelDiffBoost.Value > 0f) ? ">Начальная сложность: <style=cDeath>Увеличенная</style>\n" : "") + ((Main.EnableSkills.Value || Main.EnableStats.Value) ? ">Способности врагов: <style=cDeath>Улучшенные</style>\n" : "") + (Main.EnableAI.Value ? (">Вражеский ИИ: <style=cDeath>Обновлённый" + ((Main.AIScaling.Value > 0f) ? " + Развивающийся</style>\n" : "</style>\n")) : "") + (((float)Main.MonsterLimit.Value == 40f) ? "" : (((float)Main.MonsterLimit.Value < 40f) ? (">Предел количества врагов: <style=cIsHealing>" + ((float)Main.MonsterLimit.Value - 40f) / 40f * 100f + "%</style>") : (">Предел количества врагов: <style=cDeath>+" + ((float)Main.MonsterLimit.Value - 40f) / 40f * 100f + "%</style>\n"))) + ((Main.AllyPermanentDamage.Value > 0f) ? ">Союзники получают <style=cDeath>неизгладимый урон</style>\n" : "") + "</style>";
}
if (Main.InfernalEclipse.Value)
{
switch (token)
{
case "TITLE_ECLIPSE":
return "<style=cDeath>Геенническое Затмение</style>";
case "ECLIPSE_GAMEMODE_NAME":
return "<style=cDeath>Геенническое Затмение</style>";
case "TITLE_EXTRAGAMEMODE_DESC":
return "Сыграйте в другие режимы игры Risk of Rain 2, например «Призматические испытания» и <style=cDeath>«Геенническое Затмение»</style>.";
case "ECLIPSE_GAMEMODE_DESCRIPTION":
return "<style=cIsUtility>«Геенническое Затмение»</style>\u00a0— это режим игры, добавляющий складывающиеся модификаторы испытаний к вашей попытке. Каждый раз, когда вы <style=cIsUtility>проходите игру</style>, ваш уровень Гееннического Затмения при игре за данного выжившего <style=cIsUtility>повышается навсегда</style>. Уровень может повышаться до <style=cIsUtility>8</style> раз.";
case "ECLIPSE_GAMEMODE_START":
return "Start <style=cDeath>Геенническое Затмение</style>";
case "ECLIPSE_1_NAME":
return "<style=cDeath>Геенническое Затмение (1)</style>";
case "ECLIPSE_2_NAME":
return "<style=cDeath>Геенническое Затмение (2)</style>";
case "ECLIPSE_3_NAME":
return "<style=cDeath>Геенническое Затмение (3)</style>";
case "ECLIPSE_4_NAME":
return "<style=cDeath>Геенническое Затмение (4)</style>";
case "ECLIPSE_5_NAME":
return "<style=cDeath>Геенническое Затмение (5)</style>";
case "ECLIPSE_6_NAME":
return "<style=cDeath>Геенническое Затмение (6)</style>";
case "ECLIPSE_7_NAME":
return "<style=cDeath>Геенническое Затмение (7)</style>";
case "ECLIPSE_8_NAME":
return "<style=cDeath>Геенническое Затмение (8)</style>";
case "ECLIPSE_9_NAME":
return "<style=cDeath>Геенническое Затмение (9)</style>";
case "ECLIPSE_10_NAME":
return "<style=cDeath>Геенническое Затмение (10)</style>";
case "ECLIPSE_11_NAME":
return "<style=cDeath>Геенническое Затмение (11)</style>";
case "ECLIPSE_12_NAME":
return "<style=cDeath>Геенническое Затмение (12)</style>";
case "ECLIPSE_13_NAME":
return "<style=cDeath>Геенническое Затмение (13)</style>";
case "ECLIPSE_14_NAME":
return "<style=cDeath>Геенническое Затмение (14)</style>";
case "ECLIPSE_15_NAME":
return "<style=cDeath>Геенническое Затмение (15)</style>";
case "ECLIPSE_16_NAME":
return "<style=cDeath>Геенническое Затмение (16)</style>";
}
}
}
return orig.Invoke(self, token);
}
}
}