Decompiled source of NorseDemiGodV2Russian v1.0.0

BepInEx/plugins/WDIENAT-NorseDemiGodV2Russian/NorseDemiGodV2Russian.dll

Decompiled a week ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Reflection.Emit;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Text.RegularExpressions;
using BepInEx;
using HarmonyLib;
using Jotunn.Entities;
using Jotunn.Managers;
using Jotunn.Utils;
using Microsoft.CodeAnalysis;
using NorseDemigods;
using NorseDemigods.Abilities;
using NorseDemigods.Demigods;
using NorseDemigods.StatusEffects;
using UnityEngine;
using UnityEngine.UI;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: AssemblyCompany("WDIENAT")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("NorseDemiGodV2Russian")]
[assembly: AssemblyTitle("NorseDemiGodV2Russian")]
[assembly: AssemblyVersion("1.0.0.0")]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[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 NorseDemiGodV2Russian
{
	[BepInPlugin("WDIENAT.NorseDemiGodV2Russian", "NorseDemiGodV2 — русский перевод", "1.0.0")]
	[BepInDependency("NorseDemigods", "2.1.2")]
	[BepInDependency("IknowImMusic.NorseWaysBridge", "2.1.2")]
	[BepInDependency("com.jotunn.jotunn", "2.30.0")]
	[BepInIncompatibility("WDIENAT.NorseDemigodsRussian")]
	[NetworkCompatibility(/*Could not decode attribute arguments.*/)]
	public sealed class Plugin : BaseUnityPlugin
	{
		private sealed class SelectHraesvelgr : ConsoleCommand
		{
			public override string Name => "MakeMeHraesvelgr";

			public override string Help
			{
				get
				{
					if (!IsRussian)
					{
						return "Choose Hraesvelgr with the normal god-switching level cost. Host or admin only. Requires experimental features.";
					}
					return "Выбирает Хрэсвельга с обычной потерей уровней при смене бога. Для хозяина мира или администратора. Требуются экспериментальные возможности.";
				}
			}

			public override bool IsCheat => false;

			private static bool IsRussian
			{
				get
				{
					if (Localization.instance != null)
					{
						return Localization.instance.GetSelectedLanguage() == "Russian";
					}
					return false;
				}
			}

			public override void Run(string[] args)
			{
				Player localPlayer = Player.m_localPlayer;
				bool isHost = (Object)(object)ZNet.instance != (Object)null && ZNet.instance.IsServer();
				bool playerIsAdmin = SynchronizationManager.Instance.PlayerIsAdmin;
				bool value = Configs.EnableExperimentalFeatures.Value;
				bool disabled = Configs.DisabledDemigodsListNames != null && Configs.DisabledDemigodsListNames.Any((string n) => string.Equals(n, "Hraesvelgr", StringComparison.OrdinalIgnoreCase));
				DemigodDefaults val = Demigod.DemigodDefaults?.FirstOrDefault((Func<DemigodDefaults, bool>)((DemigodDefaults d) => d.Name == "Hraesvelgr" && d.Type == typeof(DemigodHraesvelgr)));
				bool alreadyChosen = (Object)(object)localPlayer != (Object)null && (Object)(object)((Component)localPlayer).GetComponent<DemigodHraesvelgr>() != (Object)null;
				switch (SelectionPolicy.BlockReason((Object)(object)localPlayer != (Object)null, isHost, playerIsAdmin, value, disabled, val != null, alreadyChosen))
				{
				case "no_player":
					Say("Сначала войдите в мир персонажем.", "Enter a world with a character first.");
					return;
				case "not_admin":
					Say("Команда доступна только хозяину мира или администратору сервера.", "Only the world host or a server administrator may use this command.");
					return;
				case "experimental_off":
					Say("Включите Enable Experimental Features в настройках NorseDemigods на сервере и клиенте, затем перезапустите сервер и игру.", "Enable Experimental Features in the server and client NorseDemigods settings, then restart the server and game.");
					return;
				case "disabled":
					Say("Хрэсвельг отключён в списке запрещённых богов сервера.", "Hraesvelgr is disabled by the server's god list.");
					return;
				case "unavailable":
					Say("Хрэсвельг ещё не зарегистрирован. Перезапустите сервер и игру после включения экспериментальных возможностей.", "Hraesvelgr is not registered. Restart the server and game after enabling experimental features.");
					return;
				case "already_chosen":
					Say("Вы уже играете за Хрэсвельга.", "You are already Hraesvelgr.");
					return;
				}
				Demigod.RevokeDemigod(localPlayer, true);
				if ((Object)(object)Demigod.SetupDemigod(localPlayer, val, true) != (Object)null)
				{
					Say("Выбран Хрэсвельг. Способности используют назначенные клавиши полубога.", "Hraesvelgr selected. Abilities use your configured Demigod hotkeys.");
				}
				else
				{
					Say("Не удалось создать класс. Подробности в журнале NorseDemiGodV2.", "Class setup failed. See the NorseDemiGodV2 log.");
				}
			}

			private static void Say(string russian, string english)
			{
				if ((Object)(object)Console.instance != (Object)null)
				{
					((Terminal)Console.instance).AddString(IsRussian ? russian : english);
				}
			}
		}

		[HarmonyPatch(typeof(Localization), "SetupLanguage")]
		private static class LanguagePatch
		{
			[HarmonyPostfix]
			[HarmonyPriority(0)]
			[HarmonyAfter(new string[] { "com.jotunn.jotunn" })]
			private static void Postfix(Localization __instance, string language)
			{
				if (Ready && !(language != __instance.GetSelectedLanguage()))
				{
					Russian = RussianText.IsRussian(language);
					ApplyRussianWords(__instance);
				}
			}
		}

		[HarmonyPatch(typeof(DemigodAbility), "get_DisplayName")]
		private static class AbilityNamePatch
		{
			[HarmonyPostfix]
			private static void Postfix(DemigodAbility __instance, ref string __result)
			{
				if (Ready)
				{
					__result = __instance.GetName();
				}
			}
		}

		[HarmonyPatch(typeof(DemigodAttribute), "get_DisplayName")]
		private static class AttributeNamePatch
		{
			[HarmonyPostfix]
			private static void Postfix(DemigodAttribute __instance, ref string __result)
			{
				if (Ready)
				{
					__result = __instance.GetName();
				}
			}
		}

		[HarmonyPatch(typeof(DemigodAbility), "GetInputTooltip")]
		private static class HotkeyPatch
		{
			[HarmonyPostfix]
			private static void Postfix(ref string __result)
			{
				__result = RussianText.TranslateHotkeys(__result, Russian);
			}
		}

		[HarmonyPatch(typeof(Helper), "SafeFormat")]
		private static class RestrictedClassMessagePatch
		{
			[HarmonyPrefix]
			private static void Prefix(string __0, ref object[] __1)
			{
				if (Russian && !(__0 != RussianText.Tokens["attribute_demigod_restricted_message"]) && __1 != null && __1.Length != 0 && __1[0] is string original)
				{
					__1 = (object[])__1.Clone();
					__1[0] = RussianText.TranslateClassName(original, russian: true);
				}
			}
		}

		[HarmonyPatch(typeof(CustomUI), "BuildMeters")]
		private static class MeterLayoutPatch
		{
			[HarmonyPostfix]
			private static void Postfix()
			{
				FitMeters();
			}
		}

		[HarmonyPatch]
		private static class StatusNamePatch
		{
			private static IEnumerable<MethodBase> TargetMethods()
			{
				return from m in (from t in typeof(NorseDemigods).Assembly.GetTypes()
						where t.Namespace == "NorseDemigods.StatusEffects" && t.IsSubclassOf(typeof(SE_Demigod))
						select t).Select((Func<Type, MethodBase>)((Type t) => AccessTools.Constructor(t, Type.EmptyTypes, false)))
					where m != null
					select m;
			}

			[HarmonyPostfix]
			private static void Postfix(SE_Demigod __instance)
			{
				RefreshStatusName(__instance);
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private static class WolfNamePatch
		{
			[HarmonyPostfix]
			private static void Postfix(SE_Ability_Wolf __instance)
			{
				if (Russian)
				{
					((StatusEffect)__instance).m_name = "Волк";
				}
			}
		}

		[HarmonyPatch]
		private static class LiteralPatch
		{
			private static IEnumerable<MethodBase> TargetMethods()
			{
				yield return AccessTools.Method(typeof(CustomUI), "UpdateMeters", (Type[])null, (Type[])null);
				yield return AccessTools.Method(typeof(CustomUI), "GetLoreOverviewTooltip", (Type[])null, (Type[])null);
				yield return AccessTools.Method(typeof(AbilityNeck), "GetCurrentActivityText", (Type[])null, (Type[])null);
				yield return AccessTools.Method(typeof(SE_Ability_Wolf), "UpdateStatusEffect", (Type[])null, (Type[])null);
				foreach (Type item in from t in typeof(NorseDemigods).Assembly.GetTypes()
					where t.Namespace == "NorseDemigods.Console"
					select t)
				{
					MethodInfo methodInfo = AccessTools.DeclaredPropertyGetter(item, "Help");
					if (methodInfo != null)
					{
						yield return methodInfo;
					}
				}
			}

			[HarmonyTranspiler]
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions, MethodBase __originalMethod)
			{
				int count = 0;
				MethodInfo translate = AccessTools.Method(typeof(Plugin), "TranslateLiteral", (Type[])null, (Type[])null);
				foreach (CodeInstruction instruction in instructions)
				{
					yield return instruction;
					if (instruction.opcode == OpCodes.Ldstr && instruction.operand is string key && RussianText.Literals.ContainsKey(key))
					{
						count++;
						yield return new CodeInstruction(OpCodes.Call, (object)translate);
					}
				}
				if (count == 0)
				{
					Plugin self = Plugin.self;
					if (self != null)
					{
						((BaseUnityPlugin)self).Logger.LogWarning((object)("No known UI strings found in " + __originalMethod.DeclaringType?.FullName + "." + __originalMethod.Name));
					}
				}
			}
		}

		[HarmonyPatch]
		private static class V2TextPatch
		{
			private static IEnumerable<MethodBase> TargetMethods()
			{
				string[] array = new string[4] { "Rebuild", "ShowTooltip", "Refresh", "Label" };
				foreach (string text in array)
				{
					yield return AccessTools.Method(V2Type("NorseDemiGodV2.GodHotbar"), text, (Type[])null, (Type[])null);
				}
				array = new string[7] { "Choose", "Refresh", "BuildDetails", "ShowReader", "ReaderMove", "SetCard", "Label" };
				foreach (string text2 in array)
				{
					yield return AccessTools.Method(V2Type("NorseDemiGodV2.GodMenu"), text2, (Type[])null, (Type[])null);
				}
			}

			[HarmonyTranspiler]
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				MethodInfo setter = AccessTools.PropertySetter(typeof(Text), "text");
				MethodInfo localized = AccessTools.Method(typeof(Plugin), "SetLocalizedText", (Type[])null, (Type[])null);
				foreach (CodeInstruction instruction in instructions)
				{
					if ((instruction.opcode == OpCodes.Callvirt || instruction.opcode == OpCodes.Call) && object.Equals(instruction.operand, setter))
					{
						instruction.opcode = OpCodes.Call;
						instruction.operand = localized;
					}
					yield return instruction;
				}
			}
		}

		[HarmonyPatch]
		private static class V2LabelPatch
		{
			private static IEnumerable<MethodBase> TargetMethods()
			{
				return UiTypes.Select((string t) => AccessTools.Method(V2Type(t), "Label", (Type[])null, (Type[])null));
			}

			[HarmonyPostfix]
			private static void Postfix(Text __result)
			{
				FitLabel(__result);
			}
		}

		[HarmonyPatch]
		private static class V2ButtonPatch
		{
			private static MethodBase TargetMethod()
			{
				return AccessTools.Method(V2Type("NorseDemiGodV2.GodMenu"), "Action", (Type[])null, (Type[])null);
			}

			[HarmonyPrefix]
			private static void Prefix(ref string __2)
			{
				__2 = RussianText.TranslateUI(__2, Russian);
			}

			[HarmonyPostfix]
			private static void Postfix(Button __result)
			{
				FitLabel(Object.op_Implicit((Object)(object)__result) ? ((Component)__result).GetComponentInChildren<Text>() : null);
			}
		}

		[HarmonyPatch]
		private static class V2AbilityLabelPatch
		{
			private static MethodBase TargetMethod()
			{
				return AccessTools.PropertyGetter(V2Type("NorseDemiGodV2.HotbarDefinition"), "DisplayName");
			}

			[HarmonyPostfix]
			private static void Postfix(object __instance, ref string __result)
			{
				string typeName = (string)AccessTools.PropertyGetter(__instance.GetType(), "TypeName").Invoke(__instance, null);
				__result = RussianText.TranslateAbilityName(typeName, __result, Russian);
			}
		}

		[HarmonyPatch]
		private static class V2TempleTextPatch
		{
			private static IEnumerable<MethodBase> TargetMethods()
			{
				yield return AccessTools.Method(V2Type("ClassiDiValheim.Temple"), "DisplayName", (Type[])null, (Type[])null);
				yield return AccessTools.Method(V2Type("ClassiDiValheim.Temple"), "DisplayDescription", (Type[])null, (Type[])null);
				yield return AccessTools.Method(V2Type("ClassiDiValheim.TempleInteract"), "GetHoverText", (Type[])null, (Type[])null);
			}

			[HarmonyPostfix]
			private static void Postfix(ref string __result)
			{
				__result = RussianText.TranslateUI(__result, Russian);
			}
		}

		public const string Guid = "WDIENAT.NorseDemiGodV2Russian";

		internal static bool Ready;

		internal static bool Russian;

		private Harmony harmony;

		private static Plugin self;

		private static readonly FieldInfo CommandsField = AccessTools.Field(typeof(Terminal), "commands");

		private static readonly FieldRef<Localization, Dictionary<string, string>> Words = AccessTools.FieldRefAccess<Localization, Dictionary<string, string>>("m_translations");

		private static readonly FieldInfo CacheField = AccessTools.Field(typeof(Localization), "m_cache");

		private static readonly MethodInfo EvictCache = AccessTools.Method(CacheField.FieldType, "EvictAll", (Type[])null, (Type[])null);

		private static readonly string[] UiTypes = new string[2] { "NorseDemiGodV2.GodMenu", "NorseDemiGodV2.GodHotbar" };

		private static void RegisterAdditionalCommands()
		{
			CommandManager.Instance.AddConsoleCommand((ConsoleCommand)(object)new SelectHraesvelgr());
		}

		private void Awake()
		{
			//IL_003d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Expected O, but got Unknown
			self = this;
			LocalizationManager.OnLocalizationAdded += OnLocalizationsReady;
			Localization.OnLanguageChange = (Action)Delegate.Combine(Localization.OnLanguageChange, new Action(OnLanguageChanged));
			harmony = new Harmony("WDIENAT.NorseDemiGodV2Russian");
			harmony.PatchAll(typeof(Plugin).Assembly);
			RegisterAdditionalCommands();
			((BaseUnityPlugin)this).Logger.LogInfo((object)$"Russian translation loaded: {RussianText.Tokens.Count} tokens, {RussianText.Literals.Count} UI/help strings. Client only.");
		}

		private void OnLocalizationsReady()
		{
			Ready = true;
			OnLanguageChanged();
		}

		private void Start()
		{
			if (NorseDemigods.Localization != null)
			{
				OnLocalizationsReady();
			}
		}

		private void OnLanguageChanged()
		{
			if (Ready && Localization.instance != null)
			{
				Russian = RussianText.IsRussian(Localization.instance.GetSelectedLanguage());
				ApplyRussianWords(Localization.instance);
				SE_Demigod[] array = Resources.FindObjectsOfTypeAll<SE_Demigod>();
				for (int i = 0; i < array.Length; i++)
				{
					RefreshStatusName(array[i]);
				}
				SE_Ability_Wolf[] array2 = Resources.FindObjectsOfTypeAll<SE_Ability_Wolf>();
				for (int i = 0; i < array2.Length; i++)
				{
					((StatusEffect)array2[i]).m_name = (Russian ? "Волк" : "Wolf");
				}
				RefreshConsoleHelp();
				FitMeters();
				RefreshV2Interface();
			}
		}

		internal static void ApplyRussianWords(Localization localization)
		{
			if (!Ready || !Russian || NorseDemigods.Localization == null)
			{
				return;
			}
			CustomLocalization localization2 = NorseDemigods.Localization;
			string text = "Russian";
			localization2.AddTranslation(ref text, RussianText.Tokens);
			foreach (KeyValuePair<string, string> token in RussianText.Tokens)
			{
				Words.Invoke(localization)[token.Key] = token.Value;
			}
			EvictCache.Invoke(CacheField.GetValue(localization), null);
		}

		internal static void RefreshStatusName(SE_Demigod status)
		{
			string name = ((object)status).GetType().Name;
			if (name.StartsWith("SE_Demigod", StringComparison.Ordinal))
			{
				string text = name.Substring("SE_Demigod".Length);
				if (Russian && RussianText.Tokens.TryGetValue("demigod_" + text.ToLowerInvariant() + "_name", out var value))
				{
					((StatusEffect)status).m_name = value;
				}
				else if (text.Length > 0)
				{
					((StatusEffect)status).m_name = text;
				}
			}
		}

		private static void RefreshConsoleHelp()
		{
			if (!(CommandsField?.GetValue(null) is Dictionary<string, ConsoleCommand> dictionary))
			{
				return;
			}
			foreach (KeyValuePair<string, string> item in RussianText.CommandHelp)
			{
				if (dictionary.TryGetValue(item.Key.ToLowerInvariant(), out var value))
				{
					value.Description = RussianText.TranslateLiteral(item.Value, Russian);
				}
			}
		}

		public static string TranslateLiteral(string original)
		{
			return RussianText.TranslateLiteral(original, Russian);
		}

		private static void FitMeters()
		{
			if (!Russian)
			{
				return;
			}
			Text[] array = (Text[])(object)new Text[4]
			{
				CustomUI.EnergyMeterText,
				CustomUI.MinionMeterText,
				CustomUI.NeckMeterText,
				CustomUI.WolfMeterText
			};
			foreach (Text val in array)
			{
				if (Object.op_Implicit((Object)(object)val))
				{
					val.resizeTextForBestFit = true;
					val.resizeTextMinSize = 16;
					val.resizeTextMaxSize = 27;
					if (Object.op_Implicit((Object)(object)val.font) && !val.font.HasCharacter('Э') && Object.op_Implicit((Object)(object)GUIManager.Instance.AveriaSerifBold))
					{
						val.font = GUIManager.Instance.AveriaSerifBold;
					}
				}
			}
		}

		private void OnDestroy()
		{
			LocalizationManager.OnLocalizationAdded -= OnLocalizationsReady;
			Localization.OnLanguageChange = (Action)Delegate.Remove(Localization.OnLanguageChange, new Action(OnLanguageChanged));
			Harmony obj = harmony;
			if (obj != null)
			{
				obj.UnpatchSelf();
			}
			Ready = false;
			Russian = false;
			self = null;
		}

		private static Type V2Type(string name)
		{
			return typeof(NorseDemigods).Assembly.GetType(name, throwOnError: true);
		}

		private static void RefreshV2Interface()
		{
			AccessTools.Method(V2Type("ClassiDiValheim.Temple"), "RefreshLocalization", (Type[])null, (Type[])null).Invoke(null, null);
			Type type = V2Type("NorseDemiGodV2.GodMenu");
			object? value = AccessTools.Field(type, "root").GetValue(null);
			GameObject val = (GameObject)((value is GameObject) ? value : null);
			if (Object.op_Implicit((Object)(object)val))
			{
				bool activeSelf = val.activeSelf;
				AccessTools.Method(type, "Build", (Type[])null, (Type[])null).Invoke(null, null);
				if (activeSelf)
				{
					AccessTools.Method(type, "Open", (Type[])null, (Type[])null).Invoke(null, null);
				}
			}
			AccessTools.Method(V2Type("NorseDemiGodV2.GodHotbar"), "Destroy", (Type[])null, (Type[])null).Invoke(null, null);
		}

		public static void SetLocalizedText(Text target, string value)
		{
			target.text = RussianText.TranslateUI(value, Russian);
		}

		private static void FitLabel(Text text)
		{
			if (Russian && Object.op_Implicit((Object)(object)text))
			{
				if (Object.op_Implicit((Object)(object)text.font) && !text.font.HasCharacter('Ж') && Object.op_Implicit((Object)(object)GUIManager.Instance.AveriaSerifBold))
				{
					text.font = GUIManager.Instance.AveriaSerifBold;
				}
				text.resizeTextMaxSize = Math.Max(text.fontSize, 10);
				text.resizeTextMinSize = Math.Max(8, text.fontSize / 2);
				text.resizeTextForBestFit = true;
			}
		}
	}
	internal static class RussianText
	{
		private static readonly Dictionary<string, string> KeyNames = new Dictionary<string, string>(StringComparer.Ordinal)
		{
			["LeftAlt"] = "Левый Alt",
			["RightAlt"] = "Правый Alt",
			["LeftControl"] = "Левый Ctrl",
			["RightControl"] = "Правый Ctrl",
			["LeftShift"] = "Левый Shift",
			["RightShift"] = "Правый Shift",
			["LeftCommand"] = "Левая Command",
			["RightCommand"] = "Правая Command",
			["LeftApple"] = "Левая Command",
			["RightApple"] = "Правая Command",
			["LeftWindows"] = "Левая Windows",
			["RightWindows"] = "Правая Windows",
			["Space"] = "Пробел",
			["Return"] = "Ввод",
			["KeypadEnter"] = "Ввод (цифр.)",
			["Attack"] = "Атака",
			["SecondaryAttack"] = "Особая атака",
			["Block"] = "Блок",
			["Jump"] = "Прыжок",
			["Escape"] = "Esc",
			["None"] = "Не назначено",
			["Tab"] = "Tab",
			["Backspace"] = "Backspace",
			["Delete"] = "Delete",
			["Insert"] = "Insert",
			["UpArrow"] = "Стрелка вверх",
			["DownArrow"] = "Стрелка вниз",
			["LeftArrow"] = "Стрелка влево",
			["RightArrow"] = "Стрелка вправо",
			["PageUp"] = "Page Up",
			["PageDown"] = "Page Down",
			["Mouse0"] = "ЛКМ",
			["Mouse1"] = "ПКМ",
			["Mouse2"] = "СКМ",
			["Mouse3"] = "Кнопка мыши 4",
			["Mouse4"] = "Кнопка мыши 5",
			["Mouse5"] = "Кнопка мыши 6",
			["Mouse6"] = "Кнопка мыши 7",
			["KeypadPlus"] = "+ (цифр.)",
			["KeypadMinus"] = "− (цифр.)",
			["KeypadMultiply"] = "× (цифр.)",
			["KeypadDivide"] = "/ (цифр.)",
			["KeypadPeriod"] = ". (цифр.)",
			["KeypadEquals"] = "= (цифр.)"
		};

		private static readonly Regex KeyPattern = new Regex("\\b[A-Za-z][A-Za-z0-9]*\\b");

		internal static readonly Dictionary<string, string> Tokens = new Dictionary<string, string>(StringComparer.Ordinal)
		{
			["ability_acidbolt_infused_tooltip"] = "Снизить потребление эйтра на <color=orange>{0}</color>.",
			["ability_acidbolt_name"] = "Кислотный снаряд",
			["ability_acidbolt_status_tooltip"] = "Истинный урон: <color=orange>{0}</color>; урон от отравления: <color=orange>{1}</color>",
			["ability_acidbolt_tooltip"] = "Выпустить кислотный снаряд, наносящий <color=orange>{0}</color> базового истинного урона и дополнительный <color=orange>{1}</color> урона за уровень при попадании (а также <color=orange>{2}%</color> от этого урона в виде отравления), с шансом <color=orange>{3}%</color> восстановить одну единицу энергии при попадании.",
			["ability_arcanebolt_infused_tooltip"] = "Снизить расход эйтра на <color=orange>{0}</color>.",
			["ability_arcanebolt_name"] = "Магический снаряд",
			["ability_arcanebolt_status_tooltip"] = "Урон: <color=orange>{0}</color>",
			["ability_arcanebolt_tooltip"] = "Выпустить магический снаряд, наносящий при попадании <color=orange>{0}</color> базового дробящего урона и ещё <color=orange>{1}</color> урона за уровень, с шансом <color=orange>{2}%</color> восстановить одну единицу энергии.",
			["ability_blast_infused_tooltip"] = "Увеличить силу отталкивания на <color=orange>{0}%</color> и ошеломить противников.",
			["ability_blast_name"] = "Взрыв",
			["ability_blast_status_tooltip"] = "Урон: <color=orange>{0}</color>",
			["ability_blast_tooltip"] = "Создать взрыв, наносящий <color=orange>{0}</color> базового дробящего урона и дополнительный <color=orange>{1}</color> урона за уровень противникам перед вами, отталкивая их.",
			["ability_blink_infused_tooltip"] = "Совершить вторую телепортацию без затрат энергии, если она выполнена в течение <color=orange>{0}</color> сек.",
			["ability_blink_name"] = "Мгновенный скачок",
			["ability_blink_status_tooltip"] = "Дальность в метрах: <color=orange>{0}</color>",
			["ability_blink_tooltip"] = "Телепортироваться вперёд на расстояние до <color=orange>{0}</color> м на нулевом уровне и до <color=orange>{1}</color> м на максимальном. При телепортации к противнику немедленно нанести ему <color=orange>{2}</color> базового урона молнией и ещё <color=orange>{3}</color> урона за уровень.",
			["ability_bloodslash_infused_tooltip"] = "Добавить <color=orange>{0}%</color> дополнительного духовного урона к атакам.",
			["ability_bloodslash_name"] = "Кровавый удар",
			["ability_bloodslash_status_tooltip"] = "Урон: <color=orange>{0}</color>",
			["ability_bloodslash_tooltip"] = "Ранить противников, нанося <color=orange>{0}</color> базового рубящего урона и дополнительный <color=orange>{1}</color> урона за уровень.",
			["ability_bomb_infused_tooltip"] = "Сократить время перезарядки способности до <color=orange>{0}</color> секунд и разрушать более прочные деревья и руды.",
			["ability_bomb_name"] = "Бомба",
			["ability_bomb_status_tooltip"] = "Урон: <color=orange>{0}</color>",
			["ability_bomb_tooltip"] = "Бросить бомбу, наносящую <color=orange>{0}</color> базового дробящего и огненного урона и дополнительный <color=orange>{1}</color> урона за уровень при взрыве. Бомба уничтожает деревья и разрушает камни.",
			["ability_burningground_infused_tooltip"] = "Зарядить энергию и вызвать мощный взрыв, наносящий <color=orange>{0}</color> дробящего и огненного урона за уровень, а также снимая с себя негативные эффекты отравления или заморозки, пока вы находитесь в круге огня.",
			["ability_burningground_name"] = "Горящая земля",
			["ability_burningground_status_tooltip"] = "Урон в секунду: <color=orange>{0}</color>; урон от взрыва: <color=orange>{1}</color>",
			["ability_burningground_tooltip"] = "Зажечь землю на <color=orange>{0}</color> секунд, нанося <color=orange>{1}</color> базового огненного урона в секунду и дополнительный <color=orange>{2}</color> урона за уровень всем противникам, стоящим на ней.",
			["ability_charm_infused_tooltip"] = "Сделать способность бесплатной и сократить время её перезарядки до <color=orange>{0}</color> секунд.",
			["ability_charm_name"] = "Очарование",
			["ability_charm_status_tooltip"] = "Длительность в секундах: <color=orange>{0}</color>",
			["ability_charm_too_strong"] = "Это существо слишком сильное, чтобы его можно было очаровать",
			["ability_charm_tooltip"] = "Очаровать существо, взяв его под свой контроль на <color=orange>{0}</color> секунд на нулевом уровне и <color=orange>{1}</color> секунд на максимальном уровне. Доступно только для существ с максимальным запасом здоровья <color=orange>{2}</color> единиц за уровень. Есть шанс <color=orange>{3}%</color> навсегда приручить очарованное существо (если оно поддаётся приручению), или <color=orange>{4}%</color>, если процесс приручения уже начат.",
			["ability_cleave_infused_tooltip"] = "Добавить к порыву <color=orange>{0}</color> урона молнией за уровень.",
			["ability_cleave_name"] = "Рассекающий порыв",
			["ability_cleave_status_tooltip"] = "Урон: <color=orange>{0}</color>",
			["ability_cleave_tooltip"] = "Выпустить перед собой конусообразный порыв воздуха, наносящий противникам <color=orange>{0}%</color> урона вашего оружия в виде дробящего урона и отталкивающий их.",
			["ability_combustion_infused_tooltip"] = "Сократить время перезарядки способности до <color=orange>{0}</color> секунд и увеличить силу броска на <color=orange>{1}%</color>.",
			["ability_combustion_name"] = "Горение",
			["ability_combustion_tooltip"] = "В воздухе — броситься вперёд при движении или вверх, если вы не двигаетесь вперёд. Шум привлечёт врагов с большого расстояния.",
			["ability_cooldown_tooltip"] = "Перезарядка {0}",
			["ability_crush_infused_tooltip"] = "Сократить время перезарядки способности до <color=orange>{0}</color> секунд и нанести дополнительный <color=orange>{1}</color> стихийного урона за уровень при ударе.",
			["ability_crush_name"] = "Раздавливание",
			["ability_crush_status_tooltip"] = "Усиленный урон: <color=orange>{0}</color>",
			["ability_crush_tooltip"] = "Раздавить противников с высоты.",
			["ability_darkaura_infused_tooltip"] = "Увеличить длительность ауры с <color=orange>{0}</color> до <color=orange>{1}</color> секунд.",
			["ability_darkaura_name"] = "Тёмная аура",
			["ability_darkaura_tooltip"] = "Поглотить всю тёмную энергию вокруг, создав временную защитную ауру на <color=orange>{0}</color> секунд, которая даст сопротивление к дробящему, рубящему и колющему урону. Во время действия ауры восстанавливается <color=orange>{1}</color> единица выносливости в секунду. Также вы будете двигаться на <color=orange>{2}%</color> быстрее.",
			["ability_dash_infused_tooltip"] = "Совершить второй рывок без затрат энергии, если он выполнен в течение <color=orange>{0}</color> секунды(секунд).",
			["ability_dash_name"] = "Рывок",
			["ability_dash_status_tooltip"] = "Дистанция в метрах: <color=orange>{0}</color>",
			["ability_dash_tooltip_lightning"] = "Совершить рывок со скоростью света на расстояние до <color=orange>{0}</color> метров на нулевом уровне и до <color=orange>{1}</color> метров на максимальном уровне, нанося <color=orange>{2}</color> базового урона молнией и дополнительный <color=orange>{3}</color> урона за уровень противникам на пути разрушения. Если вы находитесь высоко в воздухе, рывок направится к указанной точке, потенциально вызывая взрыв при ударе.",
			["ability_dash_tooltip_nature"] = "Совершить рывок со скоростью света на расстояние до <color=orange>{0}</color> метров на нулевом уровне и до <color=orange>{1}</color> метров на максимальном уровне, нанося <color=orange>{2}</color> базового урона ядом и дополнительный <color=orange>{3}</color> урона за уровень противникам.",
			["ability_decayaura_infused_tooltip"] = "Преобразовывать дополнительно <color=orange>{0}%</color> общего урона в выносливость и <color=orange>{1}%</color> в эйтр.",
			["ability_decayaura_name"] = "Аура разложения",
			["ability_decayaura_status_tooltip"] = "Урон в секунду: <color=orange>{0}</color>",
			["ability_decayaura_tooltip"] = "Всё вокруг вас погибнет... Наносить <color=orange>{0}</color> базового истинного урона в секунду и дополнительный <color=orange>{1}</color> урона за уровень ближайшим противникам, преобразуя <color=orange>{2}%</color> этого урона в здоровье для себя, с ограничением в <color=orange>{3}</color> единицы(единиц) здоровья в секунду.",
			["ability_drainblood_full_energy"] = "Ваша энергия заполнена",
			["ability_drainblood_full_stamina"] = "Ваша выносливость заполнена",
			["ability_drainblood_infused_tooltip"] = "Восстанавливать <color=orange>{0}</color> единиц выносливости в секунду во время действия способности.",
			["ability_drainblood_low_health"] = "Ваше здоровье слишком низкое",
			["ability_drainblood_name"] = "Высасывание крови",
			["ability_drainblood_tooltip"] = "Сжигать <color=orange>{0}</color> единиц здоровья в секунду, преобразуя их в <color=orange>1</color> единицу энергии. Способность автоматически прекратится, если ваше здоровье станет слишком низким.",
			["ability_elementalgolem_infused_tooltip"] = "Сократить время перезарядки способности до <color=orange>{0}</color> секунд.",
			["ability_elementalgolem_name"] = "Каменный голем",
			["ability_elementalgolem_summon_interior"] = "Недостаточно места...",
			["ability_elementalgolem_tooltip"] = "Призвать каменного голема, который будет сражаться на вашей стороне. У него есть шанс <color=orange>{0}%</color> восстановить вам одну единицу энергии при каждом ударе по врагу.",
			["ability_elementalshield_infused_tooltip"] = "Отражать <color=orange>{0}</color> урона за уровень каждый раз, когда враг атакует вас. Восстанавливать дополнительно <color=orange>{1}</color> единиц эйтра и <color=orange>{2}</color> единиц выносливости в секунду.",
			["ability_elementalshield_name"] = "Стихийный щит",
			["ability_elementalshield_stacks_capped"] = "Слишком много зарядов",
			["ability_elementalshield_status_tooltip"] = "Снижение урона: <color=orange>{0}</color>; отражённый урон: <color=orange>{1}</color>",
			["ability_elementalshield_tooltip"] = "Высвободить энергию из своего тела, создав защитный щит, который поглотит <color=orange>{0}</color> физического урона на нулевом уровне и <color=orange>{1}</color> урона на максимальном уровне (величина зависит от выбранной сложности). Во время действия щита восстанавливается <color=orange>{2}</color> единица(ы) здоровья каждые две секунды, а скорость передвижения увеличивается на <color=orange>{3}%</color>.",
			["ability_energywisp_infused_tooltip"] = "Повысить порог лечения огонька до <color=orange>{0}%</color>, позволяя ему полностью восстанавливать здоровье игроков, и дать ему возможность добывать более твёрдую руду.",
			["ability_energywisp_name"] = "Энергетический огонёк",
			["ability_energywisp_status_tooltip"] = "Урон: <color=orange>{0}/с</color>; лечение: <color=orange>{1}/с</color>",
			["ability_energywisp_summon_interior"] = "Огоньку не хватает места...",
			["ability_energywisp_tooltip"] = "Призвать энергетический огонёк, освещающий окрестности. Он помогает в бою, атакуя врагов до <color=orange>{0}</color> сек. и каждую секунду нанося <color=orange>{1}</color> базового урона и ещё <color=orange>{2}</color> за уровень, а также добывает ближайшую руду. Он лечит тяжелораненых союзных игроков до <color=orange>{5}</color> сек., если их здоровье опускается ниже <color=orange>{3}%</color>, и прекращает лечение при достижении <color=orange>{4}%</color> здоровья. Лечение восстанавливает от <color=orange>{6}</color> ед. здоровья в секунду на базовом уровне до <color=orange>{7}</color> на максимальном. После действия огоньку требуется в среднем <color=orange>{8}</color> сек. отдыха для восстановления сил.",
			["ability_enraged_infused_tooltip"] = "Наносить дополнительный <color=orange>{0}</color> духовный урон за уровень каждую секунду ближайшим врагам.",
			["ability_enraged_name"] = "Ярость",
			["ability_enraged_tooltip"] = "Высвободить энергию из своего тела, добавив <color=orange>{0}%</color> духовного урона к своим ударам и распространив <color=orange>{1}%</color> исходного урона в виде урона холодом (помимо духовного урона) на ближайших врагов. Поглощать <color=orange>{2}%</color> любого входящего урона.",
			["ability_falseloki_infused_tooltip"] = "Полный запас Коварства создаёт несколько Ложных Локи.",
			["ability_falseloki_name"] = "Ложный Локи",
			["ability_falseloki_status_tooltip"] = "Длительность: <color=orange>{0}</color> сек.; здоровье: <color=orange>{1}</color>; урон: <color=orange>{2}</color>",
			["ability_falseloki_tooltip"] = "Создаёт призрачную приманку, которая следует за вами, сражается и отвлекает противников. Длительность — от <color=orange>{0}</color> до <color=orange>{1}</color> сек.; здоровье — от <color=orange>{2}</color> до <color=orange>{3}</color>; урон — от <color=orange>{4}</color> до <color=orange>{5}</color>. Приманка провоцирует врагов в радиусе <color=orange>{6}</color> м. Полный запас Коварства создаёт несколько приманок и продлевает их существование.",
			["ability_fireball_infused_tooltip"] = "Снизить потребление эйтра на <color=orange>{0}</color>.",
			["ability_fireball_name"] = "Огненный шар",
			["ability_fireball_status_tooltip"] = "Урон: <color=orange>{0}</color>",
			["ability_fireball_tooltip"] = "Запустить огненный шар, наносящий <color=orange>{0}</color> базового дробящего и огненного урона и дополнительный <color=orange>{1}</color> урона за уровень при ударе, с шансом <color=orange>{2}%</color> восстановить одну единицу энергии при попадании.",
			["ability_frostnova_infused_tooltip"] = "Ошеломить врагов на короткий промежуток времени.",
			["ability_frostnova_name"] = "Ледяная вспышка",
			["ability_frostnova_status_tooltip"] = "Урон: <color=orange>{0}</color>",
			["ability_frostnova_tooltip"] = "Заморозить землю, нанося <color=orange>{0}</color> базового урона холодом и дополнительный <color=orange>{1}</color> урона за уровень ближайшим врагам.",
			["ability_granddeception_infused_tooltip"] = "Полный запас Коварства увеличивает радиус, длительность обмана и число подчинённых врагов.",
			["ability_granddeception_name"] = "Великий обман",
			["ability_granddeception_status_tooltip"] = "Радиус: <color=orange>{0}</color> м; длительность: <color=orange>{1}</color> сек.",
			["ability_granddeception_tooltip"] = "Обращает врагов друг против друга. Временно подчиняет до <color=orange>{4}</color> обычных противников в радиусе <color=orange>{0}</color> м на нулевом уровне и <color=orange>{1}</color> м на максимальном. Обман длится от <color=orange>{2}</color> до <color=orange>{3}</color> сек. Подчинённые враги меняют сторону и могут атаковать прежних союзников. Боссы, игроки и приручённые существа невосприимчивы. Полный запас Коварства увеличивает радиус, длительность и число целей.",
			["ability_healovertime_infused_tooltip"] = "Снять любые негативные эффекты огня с себя.",
			["ability_healovertime_name"] = "Постепенное исцеление",
			["ability_healovertime_status_tooltip"] = "Восстановление здоровья в секунду: <color=orange>{0}</color>",
			["ability_healovertime_tooltip"] = "Восстанавливать <color=orange>{0}</color> единиц здоровья в секунду на нулевом уровне и <color=orange>{1}</color> на максимальном уровне.",
			["ability_holyconjuration_infused_tooltip"] = "Создавать также неорганическую материю.",
			["ability_holyconjuration_name"] = "Священное сотворение",
			["ability_holyconjuration_tooltip"] = "Создать рыбу с шансом <color=orange>{0}%</color> создать дополнительную органическую материю в зависимости от биома, в котором вы находитесь.",
			["ability_holyheal_infused_tooltip"] = "Снять любые негативные эффекты огня и отравления с цели или с себя и сократить время перезарядки способности до <color=orange>{0}</color> секунд.",
			["ability_holyheal_name"] = "Священное исцеление",
			["ability_holyheal_status_tooltip"] = "Количество исцеления: <color=orange>{0}</color>",
			["ability_holyheal_tooltip"] = "Исцелить себя или другого игрока на <color=orange>{0}</color> единиц здоровья на нулевом уровне и на <color=orange>{1}</color> единиц здоровья на максимальном уровне.",
			["ability_holystrike_infused_tooltip"] = "Снизить потребление эйтра на <color=orange>{0}</color>.",
			["ability_holystrike_name"] = "Священный удар",
			["ability_holystrike_status_tooltip"] = "Урон: <color=orange>{0}</color>",
			["ability_holystrike_tooltip"] = "Поразить врага священным огнём, нанося <color=orange>{0}</color> базового огненного и духовного урона и дополнительный <color=orange>{1}</color> урона за уровень, с шансом <color=orange>{2}%</color> восстановить одну единицу энергии при попадании.",
			["ability_holysun_infused_tooltip"] = "Увеличить размер луча и разрушать более прочные деревья и руды.",
			["ability_holysun_interior"] = "Солнце не будет светить под землёй...",
			["ability_holysun_name"] = "Священное солнце",
			["ability_holysun_status_tooltip"] = "Урон в секунду: <color=orange>{0}</color>",
			["ability_holysun_tooltip"] = "Спустить частицу солнца на землю, сжигая всё под собой <color=orange>{0}</color> базовым огненным и духовным уроном и дополнительным <color=orange>{1}</color> уроном за уровень каждые <color=orange>{2}</color> секунды. Солнце даже сжигает деревья и разрушает камни и руды.",
			["ability_hotkey_ignore_special_attack"] = "<color=#afafaf>(зажмите {0}, чтобы проигнорировать)</color>",
			["ability_hotkey_tooltip_prefix"] = "<color=#ff00ff>— Горячая клавиша:</color> ",
			["ability_iceshards_infused_tooltip"] = "Снизить потребление эйтра на <color=orange>{0}</color>.",
			["ability_iceshards_name"] = "Ледяные осколки",
			["ability_iceshards_status_tooltip"] = "Урон: <color=orange>{0}</color>",
			["ability_iceshards_tooltip"] = "Выстрелить ледяными осколками, нанося <color=orange>{0}</color> базового колющего и ледяного урона и дополнительный <color=orange>{1}</color> урона за уровень при попадании, с шансом <color=orange>{2}%</color> восстановить одну единицу энергии при попадании.",
			["ability_infusedarrow_infused_tooltip"] = "Насыщенная стрела взорвётся при приземлении, распространяя <color=orange>{0}%</color> от общего урона в виде дробящего и ледяного урона на ближайших врагов и объекты.",
			["ability_infusedarrow_name"] = "Насыщенная стрела",
			["ability_infusedarrow_status_tooltip"] = "Дополнительный урон: <color=orange>{0}</color>",
			["ability_infusedarrow_tooltip"] = "Наполнить стрелу силой, нанося дополнительный <color=orange>{0}</color> урон холодом плюс <color=orange>{1}</color> урона за уровень, распространяя <color=orange>{2}%</color> урона в виде холода на ближайших врагов. После насыщения у вас есть ограниченное время, чтобы выпустить стрелу.",
			["ability_infusion_tooltip_prefix"] = "<color=#add8e6>»» После усиления:</color> ",
			["ability_lightningaura_infused_tooltip"] = "Создать вращающийся вокруг вас электрический щит, дающий сопротивление к дробящему урону и полную неуязвимость к урону молнией, пока способность активна.",
			["ability_lightningaura_name"] = "Аура молнии",
			["ability_lightningaura_tooltip"] = "Высвободить энергию из своего тела, увеличивая скорость атаки благородным двуручным оружием ближнего боя на <color=orange>{0}%</color> или одноручным оружием на <color=orange>{1}%</color>. Также двигаться на <color=orange>{2}%</color> быстрее или восстанавливать <color=orange>{3}</color> единиц выносливости в секунду, когда не бежите.",
			["ability_lightningbolt_infused_tooltip"] = "Снизить потребление эйтра на <color=orange>{0}</color>.",
			["ability_lightningbolt_name"] = "Молниеносный разряд",
			["ability_lightningbolt_status_tooltip"] = "Урон: <color=orange>{0}</color>",
			["ability_lightningbolt_tooltip"] = "Запустить разряд молнии, наносящий <color=orange>{0}</color> базового дробящего и электрического урона и дополнительный <color=orange>{1}</color> урона за уровень при ударе, с шансом <color=orange>{2}%</color> восстановить одну единицу энергии при попадании.",
			["ability_lightningstorm_infused_tooltip"] = "Существует шанс <color=orange>{0}%</color>, что удар молнии вызовет взрыв и нанесёт огненный урон ближайшим целям в том же объёме.",
			["ability_lightningstorm_interior"] = "Вы когда‑нибудь слышали о грозовом шторме в пещере?",
			["ability_lightningstorm_name"] = "Грозовой шторм",
			["ability_lightningstorm_status_tooltip"] = "Урон в секунду: <color=orange>{0}</color>",
			["ability_lightningstorm_tooltip"] = "Поражать ближайших врагов молниями, вызывая <color=orange>{0}</color> разрядов в секунду, каждый из которых наносит <color=orange>{1}</color> базового урона молнией и дополнительный <color=orange>{2}</color> урона за уровень.",
			["ability_lightningstrike_infused_tooltip"] = "Снизить потребление эйтра на <color=orange>{0}</color> и поразить вторую связанную цель, если она находится достаточно близко к первой, с шансом успеха <color=orange>{1}%</color>.",
			["ability_lightningstrike_name"] = "Удар молнии",
			["ability_lightningstrike_status_tooltip"] = "Урон: <color=orange>{0}</color>",
			["ability_lightningstrike_tooltip"] = "Поразить цель молнией, нанося <color=orange>{0}</color> базового урона молнией и дополнительный <color=orange>{1}</color> урона за уровень, с шансом <color=orange>{2}%</color> восстановить одну единицу энергии при попадании.",
			["ability_lightningtorpedo_infused_tooltip"] = "Снизить потребление эйтра на <color=orange>{0}</color>, увеличить скорость вращения к цели и нацелиться на ближайшую цель вместо самой удалённой.",
			["ability_lightningtorpedo_name"] = "Молниеносная торпеда",
			["ability_lightningtorpedo_status_tooltip"] = "Урон: <color=orange>{0}</color>",
			["ability_lightningtorpedo_tooltip"] = "Запустить молниеносную торпеду, которая последует за самой удалённой целью, нанося <color=orange>{0}</color> базового дробящего и электрического урона и дополнительный <color=orange>{1}</color> урона за уровень при ударе, с шансом <color=orange>{2}%</color> восстановить одну единицу энергии при попадании.",
			["ability_meteor_infused_tooltip"] = "Снизить потребление эйтра на <color=orange>{0}</color>.",
			["ability_meteor_interior"] = "Метеориты не падают с потолка...",
			["ability_meteor_name"] = "Метеор",
			["ability_meteor_status_tooltip"] = "Урон: <color=orange>{0}</color>",
			["ability_meteor_tooltip"] = "Призвать метеорит, наносящий <color=orange>{0}</color> базового дробящего и огненного урона и дополнительный <color=orange>{1}</color> урона за уровень при ударе, с шансом <color=orange>{2}%</color> восстановить одну единицу энергии при попадании.",
			["ability_minions_infused_tooltip"] = "Если у вас есть <color=orange>{0}</color> активных скелетов, вы можете использовать способность снова, чтобы призвать призрака.",
			["ability_minions_limit_reached"] = "Слишком много костей",
			["ability_minions_name"] = "Прислужники",
			["ability_minions_tooltip"] = "Призвать скелета, затем ещё одного, и ещё... Ваши прислужники будут иметь <color=orange>{0}</color> единиц здоровья на нулевом уровне и <color=orange>{1}</color> единиц на максимальном уровне. Они будут наносить <color=orange>{2}</color> урона на нулевом уровне и <color=orange>{3}</color> урона на максимальном уровне.",
			["ability_nanocube_infused_tooltip"] = "Увеличить размер куба на <color=orange>{0}%</color>.",
			["ability_nanocube_name"] = "Нанокуб",
			["ability_nanocube_status_tooltip"] = "Урон в секунду: <color=orange>{0}</color>; восстановление здоровья в секунду: <color=orange>{1}</color>",
			["ability_nanocube_tooltip"] = "Создать нанокуб, наносящий <color=orange>{0}</color> базового электрического урона и дополнительный <color=orange>{1}</color> урона за уровень врагам внутри него, а также восстанавливающий <color=orange>{2}</color> единицы здоровья на нулевом уровне и <color=orange>{3}</color> на максимальном уровне союзникам-игрокам каждые <color=orange>{4}</color> секунды. У куба есть шанс <color=orange>{5}%</color> каждые <color=orange>{4}</color> секунды ошеломить врагов внутри него.",
			["ability_naturewisp_infused_tooltip"] = "Каждый раз, когда дух приносит древесину из рунного камня, есть шанс <color=orange>{0}%</color> принести дополнительно древесину более высокого качества.",
			["ability_naturewisp_name"] = "Дух природы",
			["ability_naturewisp_tooltip"] = "Призвать духа, который поможет вам собирать рыбу, древесину и удобрять ваши посевы. Сначала он будет искать и собирать любую рыбу поблизости и отдавать её вам. Затем он будет удобрять ближайшие посевы со базовой скоростью роста <color=orange>{0}%</color> и дополнительным <color=orange>{1}%</color> за уровень. Далее он будет искать ближайшие рунные камни и, если найдёт, будет приносить древесину из портала камня каждые <color=orange>{2}</color> секунды на нулевом уровне и каждые <color=orange>{3}</color> секунды на максимальном уровне. <color=orange>❄❄❄</color> Если при призыве духа вы укажете на рунный камень (текст камня должен быть виден), он будет отдавать приоритет сбору древесины над удобрением посевов.",
			["ability_neck_infused_tooltip"] = "Призвать дополнительного никса и усилить помощников, чтобы они могли валить более прочные деревья.",
			["ability_neck_interior"] = "Никсы не любят темноту...",
			["ability_neck_name"] = "Призыв никсов",
			["ability_neck_tooltip"] = "Призвать никсов, которые помогут собирать ресурсы, например рыбу и древесину. Никсы невосприимчивы к жару.",
			["ability_notenoughenergy_message"] = "Недостаточно энергии для применения {0} ({1} / {2}).",
			["ability_oncooldown_message"] = "{0} ещё не готова ({1} секунд осталось).",
			["ability_outofrange_message"] = "Вне досягаемости",
			["ability_poisoncloud_infused_tooltip"] = "Увеличить количество призванных смертоносных комаров до <color=orange>{0}</color>.",
			["ability_poisoncloud_name"] = "Ядовитое облако",
			["ability_poisoncloud_status_tooltip"] = "Урон: <color=orange>{0}</color>",
			["ability_poisoncloud_tooltip"] = "Осквернить землю, нанося <color=orange>{0}</color> базового урона ядом и дополнительный <color=orange>{1}</color> урона за уровень ближайшим врагам, а также призвать <color=orange>{2}</color> смертоносных комаров, которые помогут вам некоторое время.",
			["ability_poisonjavelin_infused_tooltip"] = "Снизить потребление эйтра на <color=orange>{0}</color>.",
			["ability_poisonjavelin_name"] = "Ядовитый дротик",
			["ability_poisonjavelin_status_tooltip"] = "Урон: <color=orange>{0}</color>",
			["ability_poisonjavelin_tooltip"] = "Бросить стихийный дротик, наносящий <color=orange>{0}</color> базового колющего и ядовитого урона и дополнительный <color=orange>{1}</color> урона за уровень, с шансом <color=orange>{2}%</color> восстановить одну единицу энергии при попадании.",
			["ability_restoration_infused_tooltip"] = "Снять с себя любые негативные эффекты отравления.",
			["ability_restoration_name"] = "Восстановление",
			["ability_restoration_status_tooltip"] = "Восстановление здоровья в секунду: <color=orange>{0}</color>; урон от взрыва: <color=orange>{1}</color>",
			["ability_restoration_tooltip"] = "Восстанавливать <color=orange>{0}</color> очков здоровья в секунду на нулевом уровне и дополнительно <color=orange>{1}</color> очков за уровень во время поддержания способности. Также восстанавливать <color=orange>{2}</color> единиц энергии в секунду, а также выносливость и эйтр. Восстановление расслабит ваши мышцы и даст небольшой прилив сил, если поддерживать способность не менее <color=orange>{3}</color> секунд. Если вы сконцентрируете слишком много энергии, она станет нестабильной и вызовет мощный электрический взрыв, сжигая всю вашу энергию. Чем выше ваш уровень и чем больше сожжено энергии, тем сильнее будет взрыв.",
			["ability_sacrifice_infused_tooltip"] = "Заставить всех скелетов взорваться, нанося <color=orange>{0}</color> дробящего и ядовитого урона за уровень ближайшим врагам. Также восстанавливать <color=orange>{1}</color> единиц эйтра в секунду, если жертвуете собственным здоровьем.",
			["ability_sacrifice_low_health"] = "Ваше здоровье слишком низкое",
			["ability_sacrifice_name"] = "Жертвоприношение",
			["ability_sacrifice_tooltip"] = "Принести в жертву всех своих прислужников, восстановив <color=orange>{0}</color> единиц энергии и <color=orange>{1}</color> единиц здоровья за каждого принесённого в жертву прислужника. Если прислужники не призваны, жертвовать <color=orange>{2}</color> единиц собственного здоровья в секунду, преобразуя их в <color=orange>1</color> единицу энергии. Способность автоматически прекратится, если ваше здоровье станет слишком низким.",
			["ability_sensecreatures_infused_tooltip"] = "Также обнаруживать другие типы существ.",
			["ability_sensecreatures_name"] = "Чувство существ",
			["ability_sensecreatures_tooltip"] = "Обнаруживать ближайших жертв в радиусе до <color=orange>{0}</color> метров.",
			["ability_serpentsfang_infused_tooltip"] = "Полный запас Коварства увеличивает урон, отбрасывание и силу ошеломления.",
			["ability_serpentsfang_name"] = "Клык змея",
			["ability_serpentsfang_status_tooltip"] = "Урон: <color=orange>{0}</color>",
			["ability_serpentsfang_tooltip"] = "Наносит ближайшим врагам ядовитый удар: <color=orange>{0}</color> базового урона и ещё <color=orange>{1}</color> за каждый уровень полубога. <color=orange>{2}%</color> урона приходится на яд; множитель атаки исподтишка — <color=orange>{3}×</color>. Полный запас Коварства усиливает удар.",
			["ability_sharpmist_infused_tooltip"] = "Разрушать ещё более твёрдую руду.",
			["ability_sharpmist_name"] = "Режущий туман",
			["ability_sharpmist_status_tooltip"] = "Урон в секунду: <color=orange>{0}</color>",
			["ability_sharpmist_tooltip"] = "Призвать туман из стихийных листьев, пронзающих всё вокруг: <color=orange>{0}</color> базового колющего урона и ещё <color=orange>{1}</color> урона за уровень каждые <color=orange>{2}</color> сек. Листья рассекают даже камни и руду.",
			["ability_skinwalker_form_raven"] = "Облик дракончика",
			["ability_skinwalker_form_serpent"] = "Облик морского змея",
			["ability_skinwalker_form_wolf"] = "Облик волка",
			["ability_skinwalker_infused_tooltip"] = "Полный запас Коварства усиливает выбранный облик и увеличивает его длительность.",
			["ability_skinwalker_name"] = "Оборотень",
			["ability_skinwalker_status_tooltip"] = "<color=orange>{0}</color>: осталось около <color=orange>{1}</color> сек.",
			["ability_skinwalker_tooltip"] = "Принимает подходящий облик на время от <color=orange>{0}</color> до <color=orange>{1}</color> сек.: волка на суше, дракончика в воздухе или морского змея при плавании. Превращение восстанавливает <color=orange>{2}%</color> максимальной выносливости. Полный запас Коварства усиливает выбранный облик и увеличивает его длительность.",
			["ability_slash_infused_tooltip"] = "<color=orange>{0}%</color> урона, нанесённого врагам, вернётся к вам в виде здоровья, но не более <color=orange>{1}</color> единиц здоровья.",
			["ability_slash_name"] = "Рубящий удар",
			["ability_slash_status_tooltip"] = "Урон: <color=orange>{0}</color>",
			["ability_slash_tooltip_claws"] = "Ранить врагов острыми когтями, нанося <color=orange>{0}%</color> от урона в секунду, наносимого ударом кулака, и <color=orange>{1}%</color> урона деревьям.",
			["ability_slash_tooltip_unknown"] = "Ранить врагов, нанося <color=orange>{0}%</color> от урона вашего оружия или урона в секунду, наносимого ударом кулака, и <color=orange>{1}%</color> урона деревьям.",
			["ability_slash_tooltip_weapon"] = "Ранить врагов, нанося <color=orange>{0}%</color> от урона вашего оружия и <color=orange>{1}%</color> урона деревьям.",
			["ability_soar_infused_tooltip"] = "Увеличить максимальное число рывков в воздухе до <color=orange>{0}</color>.",
			["ability_soar_name"] = "Взмывание",
			["ability_soar_tooltip"] = "Совершить рывок вперёд в воздухе. До приземления можно выполнить до <color=orange>{0}</color> рывков. Удерживайте способность до <color=orange>{1}</color> сек., чтобы также взмыть вверх: высота зависит от времени накопления заряда.",
			["ability_soar_toomanydashes_message"] = "Для следующего рывка нужно приземлиться!",
			["ability_stagger_infused_tooltip"] = "Также наносить <color=orange>{0}%</color> дробящего урона относительно урона текущего экипированного оружия.",
			["ability_stagger_name"] = "Ошеломление",
			["ability_stagger_tooltip"] = "Развернуться, поражая и ошеломляя ближайших врагов копьём.",
			["ability_stoneshield_infused_tooltip"] = "Увеличить длительность щита с <color=orange>{0}</color> до <color=orange>{1}</color> секунд.",
			["ability_stoneshield_name"] = "Каменный щит",
			["ability_stoneshield_tooltip"] = "Высвободить энергию из своего тела, создав временный защитный щит на <color=orange>{0}</color> секунд, дающий сопротивление к дробящему, рубящему и колющему урону. Каждую секунду действия щита восстанавливается <color=orange>{1}</color> единица здоровья на нулевом уровне и <color=orange>{2}</color> на максимальном уровне, а также <color=orange>{3}</color> единица(ы) выносливости в секунду. Каждую секунду есть шанс <color=orange>{4}%</color> восстановить одну единицу энергии. Кроме того, вы будете двигаться на <color=orange>{5}%</color> быстрее.",
			["ability_surtling_infused_tooltip"] = "Призвать сразу двух суртлингов, связанных друг с другом.",
			["ability_surtling_name"] = "Призыв суртлинга",
			["ability_surtling_summon_interior"] = "Слишком мало кислорода для огня...",
			["ability_surtling_tooltip"] = "Призвать суртлинга, который будет сражаться на вашей стороне. У него есть шанс <color=orange>{0}%</color> восстановить вам одну единицу энергии при каждом ударе по врагу.",
			["ability_telekinesis_infused_tooltip"] = "Увеличить максимальные массу и размер притягиваемых целей, а также дальность применения способности.",
			["ability_telekinesis_name"] = "Телекинез",
			["ability_telekinesis_toobig_message"] = "Эта цель слишком велика, чтобы её притянуть!",
			["ability_telekinesis_tooheavy_message"] = "Эта цель слишком тяжела, чтобы её притянуть!",
			["ability_telekinesis_tooltip"] = "Окружить врага силовым полем, ошеломить и притянуть к себе. При успешном притягивании есть <color=orange>{0}%</color> шанс вернуть потраченную энергию. Можно также притягивать телеги с шансом возврата энергии <color=orange>{1}%</color>. Пока вы притягиваете телегу, повторное применение способности запустит её в направлении прицела.",
			["ability_telekinesis_toopowerful_message"] = "Эта цель слишком сильна, чтобы её притянуть!",
			["ability_teleport_location_expiration_se"] = "Истечение срока действия локации",
			["ability_teleport_location_expiration_warning"] = "Срок действия вашей сохранённой точки телепортации скоро истечёт",
			["ability_teleport_name"] = "Телепортация",
			["ability_teleport_no_bed"] = "У вас пока нет закреплённой постели",
			["ability_teleport_tooltip"] = "Телепортироваться к своей постели, а затем к предыдущей сохранённой точке перед телепортацией к постели.",
			["ability_tornado_infused_tooltip"] = "У торнадо есть шанс <color=orange>{0}%</color> каждые <color=orange>{1}</color> секунды ошеломить врагов на своём пути.",
			["ability_tornado_interior"] = "Недостаточно ветра для формирования торнадо...",
			["ability_tornado_name"] = "Торнадо",
			["ability_tornado_status_tooltip"] = "Урон в секунду: <color=orange>{0}</color>",
			["ability_tornado_tooltip"] = "Призвать торнадо, электризуя всё на своём пути <color=orange>{0}</color> базовым уроном молнией и дополнительным <color=orange>{1}</color> уроном за уровень каждые <color=orange>{2}</color> секунды.",
			["ability_trickstersstep_infused_tooltip"] = "Полный запас Коварства значительно увеличивает дальность Шага трикстера и длительность его завесы.",
			["ability_trickstersstep_name"] = "Шаг трикстера",
			["ability_trickstersstep_status_tooltip"] = "Дальность: <color=orange>{0}</color> м",
			["ability_trickstersstep_tooltip"] = "Исчезает и появляется на расстоянии до <color=orange>{0}</color> м на нулевом уровне и <color=orange>{1}</color> м на максимальном. Преследующие враги теряют цель. После телепортации завеса тени действует <color=orange>{2}</color> сек. и повышает скорость на <color=orange>{3}%</color>. Первая атака из завесы наносит <color=orange>{4}%</color> дополнительного духовного урона. Полный запас Коварства увеличивает дальность, длительность завесы и урон внезапной атаки.",
			["ability_trickstersstep_veil_name"] = "Завеса трикстера",
			["ability_vortex_infused_tooltip"] = "Воронка становится настолько мощной, что может вырывать и притягивать целые деревья.",
			["ability_vortex_name"] = "Воронка",
			["ability_vortex_status_tooltip"] = "Максимальный урон взрыва: <color=orange>{0}</color>",
			["ability_vortex_tooltip"] = "Поддерживать вокруг себя мощную воронку до <color=orange>{0}</color> сек., притягивая врагов и предметы со всё большей силой. Если поддерживать её хотя бы <color=orange>{1}</color> сек., отпускание способности или завершение её действия вызовет взрыв, который нанесёт врагам урон и отбросит всё вокруг. За каждую секунду поддержания взрыв получает <color=orange>{2}</color> базового урона и ещё <color=orange>{3}</color> урона за уровень; максимальный урон достигается через <color=orange>{4}</color> сек. Враги ближе к центру получают больше урона. Дальнейшее поддержание усиливает притяжение, позволяя вытягивать даже застрявшие предметы, но больше не увеличивает урон. Если взрыв не нанесёт урона ни одному врагу, затраченная энергия может вернуться.",
			["ability_warp_infused_tooltip"] = "Сократить время перезарядки способности до <color=orange>{0}</color> секунд.",
			["ability_warp_name"] = "Искривление пространства",
			["ability_warp_status_tooltip"] = "Дистанция в метрах: <color=orange>{0}</color>",
			["ability_warp_tooltip"] = "Искривить пространство, телепортировав себя вперёд на расстояние до <color=orange>{0}</color> метров на нулевом уровне и до <color=orange>{1}</color> метров на максимальном уровне.",
			["ability_watersphere_infused_tooltip"] = "Призвать в общей сложности <color=orange>{0}</color> водяных сфер.",
			["ability_watersphere_name"] = "Водяная сфера",
			["ability_watersphere_status_tooltip"] = "Урон за сферу: <color=orange>{0}</color>",
			["ability_watersphere_tooltip"] = "Призвать <color=orange>{0}</color> водяных сфер над головой, которые будут запущены во врагов, нанося <color=orange>{1}</color> базового дробящего урона и дополнительный <color=orange>{2}</color> урона за уровень на небольшой площади.",
			["ability_whirlwind_infused_tooltip"] = "Добавить к вихрю <color=orange>{0}</color> урона молнией за уровень.",
			["ability_whirlwind_name"] = "Вихрь клинков",
			["ability_whirlwind_status_tooltip"] = "Урон: <color=orange>{0}</color>",
			["ability_whirlwind_tooltip"] = "Быстро вращаться на месте, нанося ближайшим врагам <color=orange>{0}%</color> урона вашего оружия в виде рубящего и дробящего урона и отталкивая их.",
			["ability_windshield_infused_tooltip"] = "Получить возможность накладывать щит на союзных игроков.",
			["ability_windshield_name"] = "Ветряной щит",
			["ability_windshield_status_tooltip"] = "Лечение в секунду: <color=orange>{0}</color>",
			["ability_windshield_tooltip"] = "Окружить себя защитным барьером ветра на <color=orange>{0}</color> сек., получив сопротивление <color=orange>дробящему</color>, <color=orange>рубящему</color> и <color=orange>колющему</color> урону. Пока щит действует, он восстанавливает от <color=orange>{1}</color> ед. здоровья в секунду на базовом уровне до <color=orange>{2}</color> на максимальном.",
			["ability_wolf_extended_tooltip"] = "{0}\n\nБудет становиться здоровее, сильнее, больше и быстрее с каждым уровнем навыка.\nПолучит звёзды после нескольких ударов по врагам.\n\nБонус к здоровью за звезду: <color=orange>{1}%</color>.\nБонус к урону при кормлении: <color=orange>{2}%</color>.\nВосстановление здоровья каждые пять секунд: <color=orange>{3}%</color> (<color=orange>{4}%</color> в бою).\nШанс восстановить энергию для хозяина при ударе по врагу: <color=orange>{5}%</color> за удар.\n\n<color=#00ffff>После усиления:</color> {6}",
			["ability_wolf_infused_tooltip"] = "<color=orange>{0}%</color> всего урона, нанесённого вашему волку, отразится на атакующем. Не работает против боссов.",
			["ability_wolf_name"] = "Призыв волка",
			["ability_wolf_no_longer_fed"] = "Ваш волк больше не доволен",
			["ability_wolf_pet_status_tooltip"] = "Уровень: <color=orange>{0}</color> (<color=orange>{1}</color> звезда(ы))\nУрон: <color=orange>{2}</color> (+<color=orange>{3}</color> от корма)\nМаксимальное здоровье: <color=orange>{4}</color>\nГолод: <color=orange>{5}</color>\nОбщее число ударов: <color=orange>{6}</color>",
			["ability_wolf_summon_interior"] = "Волки не любят грязные места...",
			["ability_wolf_tooltip"] = "Призвать компаньона‑волка, который будет расти в размерах и силе в зависимости от вашего уровня.",
			["attribute_already_at_max_level_message"] = "Сможете ли вы выдержать ещё больше силы?",
			["attribute_already_possessed_message"] = "Сможете ли вы выдержать ещё больше силы?",
			["attribute_aquaticbody_name"] = "Водное тело",
			["attribute_aquaticbody_tooltip"] = "Близлежащее море добавит <color=orange>{0}%</color> урона холодом к вашим стрелам, <color=orange>{1}%</color> — к топорам, мечам и древковому оружию, или <color=orange>{2}%</color> — к любому другому оружию ближнего боя (кроме ножей и когтей); будет распространять <color=orange>{3}%</color> нанесённого урона в виде урона холодом на ближайших врагов; также увеличит ваш базовый запас эйтра на <color=orange>{4}</color>; вы будете плавать быстрее, плавание будет потреблять меньше выносливости, а в воде она будет восстанавливаться, когда вы не двигаетесь; выносливость будет восстанавливаться на <color=orange>{5}%</color> быстрее, когда вы мокры.",
			["attribute_bearstrength_name"] = "Сила медведя",
			["attribute_bearstrength_status_tooltip"] = "Дополнительный переносимый вес: <color=orange>{0}</color>",
			["attribute_bearstrength_tooltip"] = "Вы можете носить тяжёлое снаряжение с уменьшенным штрафом к передвижению, игнорируя до <color=orange>{0}%</color> штрафа; переносить на <color=orange>{1}</color> единиц веса больше за уровень; наносить до <color=orange>{2}%</color> дополнительного дробящего урона оружием ближнего боя (кроме ножей и когтей) в зависимости от количества неизрасходованной энергии (чем больше энергии, тем выше урон); наносить на <color=orange>{3}%</color> больше урона деревьям топором и на <color=orange>{4}%</color> больше урона рудам киркой.",
			["attribute_blacksmith_name"] = "Кузнец",
			["attribute_blacksmith_tooltip"] = "Как мастер‑кузнец среди всех полубогов, вы делаете своё двуручное оружие настолько прочным, что оно блокирует на <color=orange>{0}%</color> больше урона; повышаете уровень любых станций крафта на <color=orange>{1}</color> просто благодаря своему мастерству.",
			["attribute_bloodyarcher_name"] = "Кровавый лучник",
			["attribute_bloodyarcher_status_tooltip"] = "Скорость натяжения лука: <color=orange>{0}%</color>; время перезарядки арбалета: <color=orange>{1}%</color>{2}",
			["attribute_bloodyarcher_tooltip"] = "Наполнять свои стрелы дополнительным уроном ядом в размере <color=orange>{0}%</color>; когда ваш запас эйтра полон, израсходовать его весь, превратив каждую единицу в <color=orange>{1}</color> единицу истинного урона, который будет нанесён основной цели; натягивать луки на <color=orange>{2}%</color> быстрее и перезаряжать арбалеты на <color=orange>{3}%</color> быстрее, если не носите тяжёлую броню; при успешном попадании в врага стрела будет отскакивать до <color=orange>{4}</color> других целей, при этом каждый отскок уменьшает общий урон на <color=orange>{5}%</color>; двигаться незаметно быстрее.",
			["attribute_boilingblood_name"] = "Кипящая кровь",
			["attribute_boilingblood_tooltip"] = "Отдыхать и восстанавливать <color=orange>{0}%</color> здоровья в секунду, сидя и находясь вне боя, даже в холоде; слабая устойчивость к яду.",
			["attribute_celestialbody_name"] = "Небесное тело",
			["attribute_celestialbody_status_tooltip"] = "Регенерация эйтра: <color=orange>{0}%</color>{1}",
			["attribute_celestialbody_tooltip"] = "Тело, способное превзойти вселенную, не ощущающее веса брони; ваши руки добавят <color=orange>{0}%</color> духовного урона двуручным топорам, двуручным мечам, древковому оружию и кинжалам или <color=orange>{1}%</color> урона ядом любому другому оружию ближнего боя (кроме когтей); будут распространять <color=orange>{2}%</color> урона, нанесённого специализированным оружием, на ближайших врагов в виде духовного и ядовитого урона; превращать <color=orange>{3}%</color> этого урона в очки здоровья с лимитом в <color=orange>{4}</color> очков здоровья за удар; также увеличат ваш базовый запас эйтра на <color=orange>{5}</color> и регенерацию на <color=orange>{6}%</color>, если вы не носите тяжёлую броню.",
			["attribute_childofdarkness_name"] = "Дитя тьмы",
			["attribute_childofdarkness_tooltip"] = "Будет отдыхать ночью; естественная слабость к духовному урону.",
			["attribute_coldblood_name"] = "Холодная кровь",
			["attribute_coldblood_tooltip"] = "Поглощать весь нанесённый себе огненный урон и превращать <color=orange>{0}%</color> его в здоровье (до применения любых эффектов брони или сопротивления); слабая устойчивость к урону холодом.",
			["attribute_corruption_name"] = "Порча",
			["attribute_corruption_tooltip"] = "Использовать свою мудрость, чтобы строить более дешёвые обереги и осквернять их своим присутствием. Осквернённый оберег ищет ближайший сундучок в радиусе <color=orange>{0}</color> метров, дублируя безжизненную, но прочную материю, некогда пульсирующую жизненной силой. Он будет дублировать древесину каждые <color=orange>{1}</color> секунды или семена каждые <color=orange>{2}</color> секунды. Тёмная аура успокаивает ваш немертвый дух, повышая комфорт на <color=orange>{3}</color> уровней.",
			["attribute_cursedhands_name"] = "Проклятые руки",
			["attribute_cursedhands_tooltip"] = "Каждое дерево, к которому вы прикасаетесь, становится проклятым, повторяя боль, которую вы причинили, нанося <color=orange>{0}%</color> от общего урона каждые <color=orange>0,5</color> секунды, действие длится до <color=orange>{1}</color> секунд.",
			["attribute_deerendurance_name"] = "Выносливость оленя",
			["attribute_deerendurance_status_tooltip"] = "Регенерация выносливости: <color=orange>{0}</color>",
			["attribute_deerendurance_tooltip"] = "Восстанавливать выносливость со скоростью <color=orange>{0}%</color> на нулевом уровне и <color=orange>{1}%</color> на максимальном уровне.",
			["attribute_demigod_restricted_message"] = "Только {0} может это использовать...",
			["attribute_eagleagility_name"] = "Орлиная ловкость",
			["attribute_eagleagility_tooltip"] = "Обрести стремительность орла: атаковать на <color=orange>{0}%</color> быстрее одноручными мечами, на <color=orange>{1}%</color> — двуручными мечами и на <color=orange>{2}%</color> — древковым оружием; двигаться на <color=orange>{3}%</color> быстрее при обычном и быстром беге.",
			["attribute_eagleendurance_name"] = "Орлиная выносливость",
			["attribute_eagleendurance_tooltip"] = "Увеличить базовый запас выносливости на <color=orange>{0}</color>; восстанавливать выносливость на <color=orange>{1}%</color> быстрее и тратить на атаки на <color=orange>{2}%</color> меньше выносливости.",
			["attribute_eagleprecision_name"] = "Орлиная точность",
			["attribute_eagleprecision_tooltip"] = "Наносить ближайшим врагам <color=orange>{0}%</color> общего урона от <color=orange>мечей</color> и <color=orange>древкового оружия</color> в виде чистого урона молнией; наносить дополнительно <color=orange>{1}%</color> колющего урона оружием ближнего боя, кроме мечей, древкового оружия и когтей, и <color=orange>{2}%</color> — луками; повысить точность стрельбы из лука на <color=orange>{3}%</color> и скорость полёта стрел на <color=orange>{4}%</color>.",
			["attribute_eaglesense_name"] = "Орлиное чутьё",
			["attribute_eaglesense_tooltip"] = "Сосредоточьтесь, стоя совершенно неподвижно, чтобы увидеть призрачные синие потоки в воздухе, указывающие путь домой. Бесценно для путешественников, исследующих мир без карты.",
			["attribute_eaglestrength_name"] = "Сила орла",
			["attribute_eaglestrength_status_tooltip"] = "Дополнительный переносимый вес: <color=orange>{0}</color>",
			["attribute_eaglestrength_tooltip"] = "Вы можете носить тяжёлое снаряжение с уменьшенным штрафом к передвижению, игнорируя до <color=orange>{0}%</color> штрафа; переносить на <color=orange>{1}</color> единиц веса больше за уровень; наносить на <color=orange>{2}%</color> больше урона деревьям топором и на <color=orange>{3}%</color> больше урона рудам киркой.",
			["attribute_flamebody_name"] = "Огненное тело",
			["attribute_flamebody_tooltip"] = "Пламя, окружающее ваше тело, добавит <color=orange>{0}%</color> огненного урона к вашим стрелам, <color=orange>{1}%</color> — к топорам, мечам и древковому оружию или <color=orange>{2}%</color> — к любому другому оружию ближнего боя (кроме ножей и когтей); будет распространять <color=orange>{3}%</color> нанесённого урона в виде огненного урона на ближайших врагов; также увеличит ваш базовый запас эйтра на <color=orange>{4}</color>; каждую секунду у вас есть шанс <color=orange>{5}%</color>, что пламя восстановит вам одну единицу энергии; естественная высокая устойчивость к огненному урону.",
			["attribute_foxlegs_name"] = "Лисьи ноги",
			["attribute_foxlegs_tooltip"] = "Бегать на <color=orange>{0}%</color> быстрее, прыгать с увеличенной на <color=orange>{1}%</color> силой и тратить на <color=orange>{2}%</color> меньше выносливости при беге и на <color=orange>{3}%</color> меньше при прыжках; получать уменьшенный урон от падения.",
			["attribute_frostbody_name"] = "Ледяное тело",
			["attribute_frostbody_status_tooltip"] = "Дополнительная броня: <color=orange>{0}</color>{1}",
			["attribute_frostbody_tooltip"] = "Получать <color=orange>{0}</color> дополнительной брони за уровень, если не носите тяжёлую броню; холодный воздух, окружающий ваше тело, добавит <color=orange>{1}%</color> урона холодом к вашим стрелам и <color=orange>{2}%</color> к ледяным осколкам (выпущенным посохом); также увеличит ваш базовый запас эйтра на <color=orange>{3}</color>; естественная высокая устойчивость к урону холодом.",
			["attribute_glide_name"] = "Планирование",
			["attribute_glide_tooltip"] = "Замедлять падение, плавно планируя в воздухе, и полностью избегать урона при приземлении.",
			["attribute_gourmand_name"] = "Обжора",
			["attribute_gourmand_tooltip"] = "Восстанавливать здоровье от еды со скоростью <color=orange>{0}%</color>, находясь вне боя; не ощущать холода ночью.",
			["attribute_harelegs_name"] = "Заячьи ноги",
			["attribute_harelegs_tooltip"] = "Бегать на <color=orange>{0}%</color> быстрее, прыгать с увеличенной на <color=orange>{1}%</color> силой и тратить на <color=orange>{2}%</color> меньше выносливости при беге и на <color=orange>{3}%</color> меньше при прыжках; иметь возможность двойного прыжка; получать уменьшенный урон от падения.",
			["attribute_holybody_name"] = "Святое тело",
			["attribute_holybody_tooltip"] = "Свет, сияющий на вашем теле, даст вам <color=orange>{0}</color> дополнительного здоровья, а также <color=orange>{1}%</color> духовного урона к стрелам, <color=orange>{2}%</color> — к копьям и мечам или <color=orange>{3}%</color> — к любому другому оружию ближнего боя (кроме ножей и когтей); будет распространять <color=orange>{4}%</color> нанесённого урона в виде духовного урона на ближайших врагов, даже если они устойчивы, с шансом <color=orange>{5}%</color> вызвать взрыв; также увеличит ваш базовый запас эйтра на <color=orange>{6}</color>; естественная высокая устойчивость к духовному урону.",
			["attribute_hunter_name"] = "Охотник",
			["attribute_hunter_status_tooltip"] = "Скорость натяжения лука: <color=orange>{0}%</color>; время перезарядки арбалета: <color=orange>{1}%</color>{2}",
			["attribute_hunter_tooltip"] = "Как прирождённый охотник, наполнять свои стрелы дополнительным уроном ядом в размере <color=orange>{0}%</color>, а копья — дополнительным уроном ядом в размере <color=orange>{1}%</color>; натягивать луки на <color=orange>{2}%</color> быстрее и перезаряжать арбалеты на <color=orange>{3}%</color> быстрее, если не носите тяжёлую броню; иметь шанс <color=orange>{4}%</color> восстановить одну единицу энергии при попадании в врага стрелой; получать в <color=orange>{5}x</color> раз больше шкур животных (например, кожи или шкуры) от убитых зверей, а также перья от птиц.",
			["attribute_infusedabilities_consumption_message"] = "Вы чувствуете прилив сил",
			["attribute_infusedabilities_name"] = "Усиленные способности",
			["attribute_infusedabilities_tooltip"] = "Значительно усиливает ваши способности. Дополнительные эффекты усиления указаны в описании каждой способности.",
			["attribute_infusedbloodbag_consumption_message"] = "Ваше сердце бьётся сильнее",
			["attribute_infusedbloodbag_name"] = "Усиленный кровяной мешок",
			["attribute_infusedbloodbag_tooltip"] = "Увеличить максимальный запас здоровья на <color=orange>{0}</color>.",
			["attribute_infusedchitin_consumption_message"] = "Ваши щиты сияют",
			["attribute_infusedchitin_name"] = "Усиленный хитин",
			["attribute_infusedchitin_tooltip"] = "Увеличить броню при блокировке щитами, двуручным оружием или руками титана на <color=orange>{0}</color>, а башенными щитами — на <color=orange>{1}</color>.",
			["attribute_infusedearthbreaker_consumption_message"] = "Ваши руки резонируют с силой земли",
			["attribute_infusedearthbreaker_name"] = "Усиленный сокрушитель земли",
			["attribute_infusedearthbreaker_tooltip"] = "Увеличить эффективный уровень инструмента для способностей и атрибутов, позволяющих оружию наносить урон деревьям и рудам, на <color=orange>{0}</color>.",
			["attribute_infusedeitr_consumption_message"] = "Вы ощущаете прилив энергии",
			["attribute_infusedeitr_name"] = "Усиленный эйтр",
			["attribute_infusedeitr_tooltip"] = "Увеличить базовый запас эйтра на <color=orange>{0}</color> и восстанавливать его на <color=orange>{1}%</color> быстрее за каждую неиспользованную единицу энергии.",
			["attribute_infusedhardantlers_consumption_message"] = "Ваши руки двигаются быстрее",
			["attribute_infusedhardantlers_name"] = "Усиленные твёрдые рога",
			["attribute_infusedhardantlers_status_tooltip"] = "Базовая скорость атаки: на <color=orange>{0}%</color> выше",
			["attribute_infusedhardantlers_tooltip"] = "Увеличить скорость атаки любым оружием ближнего боя на <color=orange>{0}%</color> за уровень (<color=orange>{1}</color> из <color=orange>{2}</color> использованных усиленных материалов).",
			["attribute_infusedleatherscraps_consumption_message"] = "Боги приняли вашу жертву",
			["attribute_infusedleatherscraps_name"] = "Усиленные кожаные обрывки",
			["attribute_infusedleatherscraps_status_tooltip"] = "Пассивное восстановление энергии: на <color=orange>{0}%</color> ниже (<color=orange>{1}</color> секунд на единицу энергии)",
			["attribute_infusedleatherscraps_tooltip"] = "Сократить время пассивного восстановления энергии на <color=orange>{0}%</color> за уровень (<color=orange>{1}</color> из <color=orange>{2}</color> использованных усиленных материалов).",
			["attribute_infusedserpentscale_consumption_message"] = "Ваши кости стали крепче",
			["attribute_infusedserpentscale_name"] = "Усиленная змеиная чешуя",
			["attribute_infusedserpentscale_tooltip"] = "Увеличить вашу броню на <color