diff --git a/CLA.txt b/CLA.txt
new file mode 100644
index 0000000000..731b4ec102
--- /dev/null
+++ b/CLA.txt
@@ -0,0 +1,59 @@
+Preamble
+
+Upon receipt of a copy of the license object by any means, any person can use it if they
+accept and agree to all the terms of this license. Violation of the license terms grants us
+(the Licensor) the right to apply methods of legal and technological protection using the
+DMCA and/or other legislation of the states under whose jurisdiction hosting providers
+and other information intermediaries are located, providing services to violators of the
+terms of this license. Acceptance of the terms of this license means a definitive conclusion
+between you and FDev of a gratuitous simple non-exclusive license, hereinafter referred
+to as the "Agreement". The Agreement does not include provisions regulating issues
+related to the processing of personal data.
+
+Definitions
+
+Build is an object of Agreement, the result of the original author's work or a team of
+authors (hereinafter referred to as the "Company"), a complex intellectual property object
+– a video game that includes, but is not limited to, source, object code, tools, game assets,
+specifications, UI/UX design, elements of narrative and other creative content based on
+the revision and translation into Russian of the open version of Space Station 14 and the
+artistic vision of the authors. The set of individual elements is a Build. Any elements other
+than the original elements are objects of copyright and/or related rights created by the
+creative work of the collective.
+
+Contribution means any original author's work of Contributors, including any
+modifications or additions to the Build (any source code, object code, correction, tool,
+sample, graphics, assets, specifications, manuals, documentation), which is intentionally
+provided by the Licensee to the Licensor. For the purposes of this definition,
+submission means any form of electronic, oral or written communication sent to Licensor
+or its representatives, including, but not limited to, messages on electronic mailing lists,
+source code control systems and issue tracking systems operated by or on behalf of the
+Company for the purposes of discussing or improving software or project documentation
+and source. Communications for which it is explicitly stated in writing as "Not a
+contribution" will not be considered a contribution. When providing a Contribution to the
+Build, the Contributor provides the Company with a simple, free, irrevocable, non-exclusive
+license for the entire period of validity of the Contributor's rights to the Contribution provided
+for by the legislation of the state-jurisdiction of the Contributor
+and/or international legislation for certain forms of Contribution.
+
+Licensor – FDev. For licensing inquiries, please contact: admin@ss14.su
+
+The scope of the rights granted
+
+The license grants an unlimited number of persons the right to copy and make changes
+solely for the purpose of improving the game and subject to the further transfer of such
+changes to FDev on the terms of the Contribution, as well as for non-public hosting and
+launching the Build on the Licensee's computer for the purpose of non-commercial use
+for its intended purpose (providing access to Players and the Game process). This license
+expressly prohibits commercial use, public hosting, as well as non-licensed use. The use
+of the Build or its elements in violation of the terms of this License grants the Licensor
+the right to contact the hosting provider and other persons – information intermediaries
+to block hosting. The Licensee can carry out public hosting of the Build only if they receive
+direct permission from the Licensor.
+
+A reservation about the types of licenses
+
+Individual elements of the Build (graphics, sounds, source code) may be distributed under
+a license other than this one. Most assets are licensed under CC-BY-SA 3.0 unless
+otherwise specified. Assets have their own license and copyright in the metadata file. If
+the license type is not specified, such files are distributed under the terms of this license.
\ No newline at end of file
diff --git a/Content.Client/Lobby/LobbyState.cs b/Content.Client/Lobby/LobbyState.cs
index 5bc731e9f3..febe8e6cdb 100644
--- a/Content.Client/Lobby/LobbyState.cs
+++ b/Content.Client/Lobby/LobbyState.cs
@@ -295,17 +295,17 @@ namespace Content.Client.Lobby
private void MakeButtonReady(OhioLobbyTextButton button)
{
- button.ButtonText = "Ready";
+ button.ButtonText = "Готов";
}
private void MakeButtonUnReady(OhioLobbyTextButton button)
{
- button.ButtonText = "Not Ready";
+ button.ButtonText = "Не готов";
}
private void MakeButtonJoinGame(OhioLobbyTextButton button)
{
- button.ButtonText = "Join Game";
+ button.ButtonText = "Присоединиться к игре";
}
private async void PopulateChangelog()
diff --git a/Content.Client/Lobby/UI/LobbyGui.xaml b/Content.Client/Lobby/UI/LobbyGui.xaml
index b5a3d2c19f..b31b30d10b 100644
--- a/Content.Client/Lobby/UI/LobbyGui.xaml
+++ b/Content.Client/Lobby/UI/LobbyGui.xaml
@@ -75,32 +75,38 @@
Access="Public"
ToggleMode="True"
ButtonText="Ready"
- Margin="0 0 0 10" />
+ Margin="0 0 0 7" />
+ ButtonText="Наблюдать"
+ Margin="0 7 0 7" />
+ ButtonText="Настройка персонажа"
+ Margin="0 7 0 7" />
+ ButtonText="Опции"
+ Margin="0 7 0 7" />
+
+
+ Margin="0 7 0 7" />
+ ButtonText="Выйти"
+ Margin="0 7 0 0" />
diff --git a/Content.Server/Entry/EntryPoint.cs b/Content.Server/Entry/EntryPoint.cs
index fe2671b542..b69c8eb5bc 100644
--- a/Content.Server/Entry/EntryPoint.cs
+++ b/Content.Server/Entry/EntryPoint.cs
@@ -30,6 +30,7 @@ using Robust.Shared.Prototypes;
using Robust.Shared.Timing;
using Robust.Shared.Utility;
using Content.Server._White;
+using Content.Server._White.GuideGenerator;
using Content.Server._White.JoinQueue;
using Content.Server._White.Jukebox;
using Content.Server._White.PandaSocket.Main;
@@ -145,6 +146,15 @@ namespace Content.Server.Entry
file = resourceManager.UserData.OpenWriteText(resPath.WithName("react_" + dest));
ReactionJsonGenerator.PublishJson(file);
file.Flush();
+ file = resourceManager.UserData.OpenWriteText(resPath.WithName("entity_" + dest));
+ EntityJsonGenerator.PublishJson(file);
+ file.Flush();
+ file = resourceManager.UserData.OpenWriteText(resPath.WithName("mealrecipes_" + dest));
+ MealsRecipesJsonGenerator.PublishJson(file);
+ file.Flush();
+ file = resourceManager.UserData.OpenWriteText(resPath.WithName("healthchangereagents_" + dest));
+ HealthChangeReagentsJsonGenerator.PublishJson(file);
+ file.Flush();
IoCManager.Resolve().Shutdown("Data generation done");
}
else
diff --git a/Content.Server/GuideGenerator/ChemistryJsonGenerator.cs b/Content.Server/GuideGenerator/ChemistryJsonGenerator.cs
index 7e107ce1a5..b499526a28 100644
--- a/Content.Server/GuideGenerator/ChemistryJsonGenerator.cs
+++ b/Content.Server/GuideGenerator/ChemistryJsonGenerator.cs
@@ -45,7 +45,8 @@ public sealed class ChemistryJsonGenerator
new UniversalJsonConverter(),
new UniversalJsonConverter(),
new FixedPointJsonConverter()
- }
+ },
+ NumberHandling = JsonNumberHandling.AllowNamedFloatingPointLiterals
};
file.Write(JsonSerializer.Serialize(prototypes, serializeOptions));
diff --git a/Content.Server/GuideGenerator/ReactionJsonGenerator.cs b/Content.Server/GuideGenerator/ReactionJsonGenerator.cs
index 123dd5f8eb..679d900dff 100644
--- a/Content.Server/GuideGenerator/ReactionJsonGenerator.cs
+++ b/Content.Server/GuideGenerator/ReactionJsonGenerator.cs
@@ -7,7 +7,7 @@ using Robust.Shared.Prototypes;
namespace Content.Server.GuideGenerator;
-public sealed class ReactionJsonGenerator
+public sealed partial class ReactionJsonGenerator
{
public static void PublishJson(StreamWriter file)
{
@@ -19,13 +19,16 @@ public sealed class ReactionJsonGenerator
.Select(x => new ReactionEntry(x))
.ToDictionary(x => x.Id, x => x);
+ if (reactions is not null) AddMixingCategories(reactions, prototype);
+
var serializeOptions = new JsonSerializerOptions
{
WriteIndented = true,
Converters =
{
new UniversalJsonConverter(),
- }
+ },
+ NumberHandling = System.Text.Json.Serialization.JsonNumberHandling.AllowNamedFloatingPointLiterals
};
file.Write(JsonSerializer.Serialize(reactions, serializeOptions));
diff --git a/Content.Server/GuideGenerator/ReagentEntry.cs b/Content.Server/GuideGenerator/ReagentEntry.cs
index ab9e758206..68af067df7 100644
--- a/Content.Server/GuideGenerator/ReagentEntry.cs
+++ b/Content.Server/GuideGenerator/ReagentEntry.cs
@@ -1,10 +1,8 @@
using System.Linq;
using System.Text.Json.Serialization;
-using Content.Server.Body.Components;
-using Content.Shared.Body.Prototypes;
+using Content.Server._White.GuideGenerator;
using Content.Shared.Chemistry.Reaction;
using Content.Shared.Chemistry.Reagent;
-using Robust.Shared.Prototypes;
namespace Content.Server.GuideGenerator;
@@ -31,8 +29,11 @@ public sealed class ReagentEntry
[JsonPropertyName("recipes")]
public List Recipes { get; } = new();
+ [JsonPropertyName("textColor")]
+ public string TextColor { get; }
+
[JsonPropertyName("metabolisms")]
- public Dictionary? Metabolisms { get; }
+ public Dictionary? Metabolisms { get; }
public ReagentEntry(ReagentPrototype proto)
{
@@ -42,7 +43,13 @@ public sealed class ReagentEntry
Description = proto.LocalizedDescription;
PhysicalDescription = proto.LocalizedPhysicalDescription;
SubstanceColor = proto.SubstanceColor.ToHex();
- Metabolisms = proto.Metabolisms?.ToDictionary(x => x.Key.Id, x => x.Value);
+ var r = proto.SubstanceColor.R;
+ var g = proto.SubstanceColor.G;
+ var b = proto.SubstanceColor.B;
+ TextColor = (0.2126f * r + 0.7152f * g + 0.0722f * b > 0.5
+ ? Color.Black
+ : Color.White).ToHex();
+ Metabolisms = proto.Metabolisms?.ToDictionary(x => x.Key.Id, x => new _White.GuideGenerator.ReagentEffectsEntry(x.Value));
}
}
@@ -60,7 +67,18 @@ public sealed class ReactionEntry
[JsonPropertyName("products")]
public Dictionary Products { get; }
+ [JsonPropertyName("mixingCategories")]
+ public List MixingCategories { get; } = new();
+ [JsonPropertyName("minTemp")]
+ public float MinTemp { get; }
+ [JsonPropertyName("maxTemp")]
+ public float MaxTemp { get; }
+ [JsonPropertyName("hasMax")]
+ public bool HasMax { get; }
+
[JsonPropertyName("effects")]
+ public List ExportEffects { get; } = new();
+ [JsonIgnore]
public List Effects { get; }
public ReactionEntry(ReactionPrototype proto)
@@ -76,6 +94,11 @@ public sealed class ReactionEntry
.Select(x => KeyValuePair.Create(x.Key, x.Value.Float()))
.ToDictionary(x => x.Key, x => x.Value);
Effects = proto.Effects;
+
+ ExportEffects = proto.Effects.Select(x => new ReagentEffectEntry(x)).ToList();
+ MinTemp = proto.MinimumTemperature;
+ MaxTemp = proto.MaximumTemperature;
+ HasMax = !float.IsPositiveInfinity(MaxTemp);
}
}
diff --git a/Content.Server/GuideGenerator/UniversalJsonConverter.cs b/Content.Server/GuideGenerator/UniversalJsonConverter.cs
index bcf9702c1c..2e31927f95 100644
--- a/Content.Server/GuideGenerator/UniversalJsonConverter.cs
+++ b/Content.Server/GuideGenerator/UniversalJsonConverter.cs
@@ -73,6 +73,11 @@ namespace Content.Server.GuideGenerator
// If the field has a [JsonIgnore] attribute, skip it
if (Attribute.GetCustomAttribute(prop, typeof(JsonIgnoreAttribute), true) != null) continue;
+ // If GetIndexParameters().Length is not 0 then it means that property is indexed
+ // And since we cannot get its values without passing index (which type can LITERALLY BE ANYTHING) then let's just skip it
+ // Yeah, i know that this will lead to a potential data loss, but what i can do about it?
+ if (prop.GetIndexParameters().Length != 0) continue;
+
// If the property has a [JsonPropertyName] attribute, get the property name. Otherwise, use the property name.
JsonPropertyNameAttribute? attr = (JsonPropertyNameAttribute?) Attribute.GetCustomAttribute(prop, typeof(JsonPropertyNameAttribute), true);
string name = attr == null ? prop.Name : attr.Name;
diff --git a/Content.Server/_White/GuideGenerator/EntityEntry.cs b/Content.Server/_White/GuideGenerator/EntityEntry.cs
new file mode 100644
index 0000000000..8ec1b1536e
--- /dev/null
+++ b/Content.Server/_White/GuideGenerator/EntityEntry.cs
@@ -0,0 +1,23 @@
+using System.Text.Json.Serialization;
+using Robust.Shared.Prototypes;
+
+namespace Content.Server.GuideGenerator;
+
+public sealed class EntityEntry
+{
+ [JsonPropertyName("id")]
+ public string Id { get; }
+
+ [JsonPropertyName("name")]
+ public string Name { get; }
+
+ [JsonPropertyName("desc")]
+ public string Description { get; }
+
+ public EntityEntry(EntityPrototype proto)
+ {
+ Id = proto.ID;
+ Name = TextTools.TextTools.CapitalizeString(proto.Name);
+ Description = proto.Description;
+ }
+}
diff --git a/Content.Server/_White/GuideGenerator/EntityJsonGenerator.cs b/Content.Server/_White/GuideGenerator/EntityJsonGenerator.cs
new file mode 100644
index 0000000000..83669c23cd
--- /dev/null
+++ b/Content.Server/_White/GuideGenerator/EntityJsonGenerator.cs
@@ -0,0 +1,27 @@
+using System.IO;
+using System.Linq;
+using System.Text.Json;
+using Robust.Shared.Prototypes;
+
+namespace Content.Server.GuideGenerator;
+
+public sealed class EntityJsonGenerator
+{
+ public static void PublishJson(StreamWriter file)
+ {
+ var prototype = IoCManager.Resolve();
+ var prototypes =
+ prototype
+ .EnumeratePrototypes()
+ .Where(x => !x.Abstract)
+ .Select(x => new EntityEntry(x))
+ .ToDictionary(x => x.Id, x => x);
+
+ var serializeOptions = new JsonSerializerOptions
+ {
+ WriteIndented = true,
+ };
+
+ file.Write(JsonSerializer.Serialize(prototypes, serializeOptions));
+ }
+}
diff --git a/Content.Server/_White/GuideGenerator/GrindRecipeEntry.cs b/Content.Server/_White/GuideGenerator/GrindRecipeEntry.cs
new file mode 100644
index 0000000000..6b0cd08434
--- /dev/null
+++ b/Content.Server/_White/GuideGenerator/GrindRecipeEntry.cs
@@ -0,0 +1,74 @@
+using System.Text.Json.Serialization;
+using Robust.Shared.Prototypes;
+using Content.Shared.Chemistry.Reagent;
+using Content.Shared.Chemistry.Components.SolutionManager;
+using Content.Shared.Kitchen.Components;
+
+namespace Content.Server.GuideGenerator;
+
+public sealed class GrindRecipeEntry
+{
+ ///
+ /// Id of grindable item
+ ///
+ [JsonPropertyName("id")]
+ public string Id { get; }
+
+ ///
+ /// Human-readable name of recipe.
+ /// Should automatically be localized by default
+ ///
+ [JsonPropertyName("name")]
+ public string Name { get; }
+
+ ///
+ /// Type of recipe
+ ///
+ [JsonPropertyName("type")]
+ public string Type { get; }
+
+ ///
+ /// Item that will be grinded into something
+ ///
+ [JsonPropertyName("input")]
+ public string Input { get; }
+
+ ///
+ /// Dictionary of reagents that entity contains; aka "Recipe Result"
+ ///
+ [JsonPropertyName("result")]
+ public Dictionary? Result { get; } = new Dictionary();
+
+
+ public GrindRecipeEntry(EntityPrototype proto)
+ {
+ Id = proto.ID;
+ Name = TextTools.TextTools.CapitalizeString(proto.Name);
+ Type = "grindableRecipes";
+ Input = proto.ID;
+ var foodSolutionName = "food"; // default to food because everything in prototypes defaults to "food"
+
+ // Now, to become a recipe, entity must:
+ // A) Have "Extractable" component on it.
+ // B) Have "SolutionContainerManager" component on it.
+ // C) Have "GrindableSolution" declared in "SolutionContainerManager" component.
+ // D) Have solution with name declared in "SolutionContainerManager.GrindableSolution" inside its "SolutionContainerManager" component.
+ // F) Have "Food" in its name (see Content.Server/_White/GuideGenerator/MealsRecipesJsonGenerator.cs)
+ if (proto.Components.TryGetComponent("Extractable", out var extractableComp) && proto.Components.TryGetComponent("SolutionContainerManager", out var solutionCompRaw))
+ {
+ var extractable = (ExtractableComponent) extractableComp;
+ var solutionComp = (SolutionContainerManagerComponent) solutionCompRaw;
+ foodSolutionName = extractable.GrindableSolution;
+
+ if (solutionComp.Solutions != null && foodSolutionName != null)
+ {
+ foreach (ReagentQuantity reagent in solutionComp.Solutions[(string) foodSolutionName].Contents)
+ {
+ Result[reagent.Reagent.Prototype] = reagent.Quantity.Int();
+ }
+ }
+ else
+ Result = null;
+ }
+ }
+}
diff --git a/Content.Server/_White/GuideGenerator/HealthChangeReagentsJsonGenerator.cs b/Content.Server/_White/GuideGenerator/HealthChangeReagentsJsonGenerator.cs
new file mode 100644
index 0000000000..6f514f56db
--- /dev/null
+++ b/Content.Server/_White/GuideGenerator/HealthChangeReagentsJsonGenerator.cs
@@ -0,0 +1,93 @@
+using Content.Server.Chemistry.ReagentEffects;
+using Content.Shared.Chemistry.Reagent;
+using Robust.Shared.Prototypes;
+using System.IO;
+using System.Linq;
+using System.Text.Json;
+using static Content.Server.GuideGenerator.ChemistryJsonGenerator;
+
+namespace Content.Server._White.GuideGenerator;
+public sealed class HealthChangeReagentsJsonGenerator
+{
+ public static void PublishJson(StreamWriter file)
+ {
+ var prototype = IoCManager.Resolve();
+
+ Dictionary>> healthChangeReagents = new();
+
+ // Сбор данных
+ foreach (var reagent in prototype.EnumeratePrototypes())
+ {
+ if (reagent.Metabolisms is null) continue;
+
+ foreach (var metabolism in reagent.Metabolisms)
+ {
+ foreach (HealthChange effect in metabolism.Value.Effects.Where(x => x is HealthChange))
+ {
+ foreach (var damage in effect.Damage.DamageDict)
+ {
+ var damageType = damage.Key;
+ var damageChangeType = damage.Value.Float() < 0 ? "health" : "damage";
+
+ if (!healthChangeReagents.ContainsKey(damageType))
+ {
+ healthChangeReagents.Add(damageType, new());
+ }
+
+ if (!healthChangeReagents[damageType].ContainsKey(damageChangeType))
+ {
+ healthChangeReagents[damageType].Add(damageChangeType, new());
+ }
+
+ // Берем максимальный показатель (один реагент может наносить разный урон при разных условиях)
+ var damageChangeValueAbs = Math.Abs(damage.Value.Float() / metabolism.Value.MetabolismRate.Float()); // вычисляем показатель за 1 ед. вещества, а не 1 сек. нахождения я в организме.
+ if (healthChangeReagents[damageType][damageChangeType].TryGetValue(reagent.ID, out var previousValue))
+ {
+ healthChangeReagents[damageType][damageChangeType][reagent.ID] = Math.Max(previousValue, damageChangeValueAbs);
+ }
+ else healthChangeReagents[damageType][damageChangeType].Add(reagent.ID, damageChangeValueAbs);
+ }
+ }
+ }
+ }
+
+ // Сортировка
+ Dictionary>> healthChangeReagentsSorted = new();
+
+ foreach (var damageType in healthChangeReagents)
+ {
+ foreach (var damageChangeType in damageType.Value)
+ {
+ foreach (var reagent in damageChangeType.Value)
+ {
+ if (!healthChangeReagentsSorted.ContainsKey(damageType.Key))
+ {
+ healthChangeReagentsSorted.Add(damageType.Key, new());
+ }
+
+ if (!healthChangeReagentsSorted[damageType.Key].ContainsKey(damageChangeType.Key))
+ {
+ healthChangeReagentsSorted[damageType.Key].Add(damageChangeType.Key, new());
+ }
+
+ healthChangeReagentsSorted[damageType.Key][damageChangeType.Key].Add(reagent.Key);
+
+ }
+
+ healthChangeReagentsSorted[damageType.Key][damageChangeType.Key].Sort(Comparer.Create((s1, s2) =>
+ -healthChangeReagents[damageType.Key][damageChangeType.Key][s1].CompareTo(healthChangeReagents[damageType.Key][damageChangeType.Key][s2])));
+ }
+ }
+
+
+
+ var serializeOptions = new JsonSerializerOptions
+ {
+ WriteIndented = true,
+ NumberHandling = System.Text.Json.Serialization.JsonNumberHandling.AllowNamedFloatingPointLiterals
+ };
+
+ file.Write(JsonSerializer.Serialize(healthChangeReagentsSorted, serializeOptions));
+ }
+}
+
diff --git a/Content.Server/_White/GuideGenerator/HeatableRecipeEntry.cs b/Content.Server/_White/GuideGenerator/HeatableRecipeEntry.cs
new file mode 100644
index 0000000000..73f22f5e64
--- /dev/null
+++ b/Content.Server/_White/GuideGenerator/HeatableRecipeEntry.cs
@@ -0,0 +1,93 @@
+using System.Text.Json.Serialization;
+using Robust.Shared.Prototypes;
+using Content.Shared.Construction;
+using Content.Shared.Construction.Prototypes;
+using Content.Shared.Construction.Steps;
+using Robust.Server.GameObjects;
+
+namespace Content.Server.GuideGenerator;
+
+public sealed class HeatableRecipeEntry
+{
+ ///
+ /// Id of recipe
+ ///
+ [JsonPropertyName("id")]
+ public string Id { get; }
+
+ ///
+ /// Human-readable name of recipe.
+ /// Should automatically be localized by default
+ ///
+ [JsonPropertyName("name")]
+ public string Name { get; }
+
+ ///
+ /// Type of recipe
+ ///
+ [JsonPropertyName("type")]
+ public string Type { get; }
+
+ ///
+ /// Temp, required for "input" thing to become "result" thing
+ ///
+ [JsonPropertyName("minTemp")]
+ public float MinTemp { get; }
+
+ ///
+ /// Item that will be transformed into something with enough temp
+ ///
+ [JsonPropertyName("input")]
+ public string Input { get; }
+
+ ///
+ /// Result of a recipe.
+ /// If it is null then recipe does not exist or we could not get recipe info.
+ ///
+ [JsonPropertyName("result")]
+ public string? Result { get; }
+
+
+ public HeatableRecipeEntry(
+ ConstructionGraphPrototype constructionProto, // to get data from construction prototype (minTemp, result)
+ EntityPrototype entityPrototype // to get entity data (name, input entity id)
+ )
+ {
+ var graphID = "";
+ var startNode = constructionProto.Nodes[constructionProto.Start!];
+ if (entityPrototype.Components.TryGetComponent("Construction", out var constructionCompRaw)) // does entity actually has Construction component?
+ {
+ foreach (var nodeEdgeRaw in startNode.Edges) // because we don't know what node contains heating step (in case if it is not constructionProto.Start) let's check every node and see if we will get anything
+ {
+ var nodeEdge = (ConstructionGraphEdge)nodeEdgeRaw;
+ foreach (var nodeStepRaw in nodeEdge.Steps)
+ {
+ if (nodeStepRaw.GetType().Equals(typeof(TemperatureConstructionGraphStep))) // TemperatureConstructionGraphStep is used only in steaks recipes, so for now we can afford it
+ {
+ var nodeStep = (TemperatureConstructionGraphStep)nodeStepRaw;
+ graphID = nodeEdge.Target; // required to check when we need to leave second loop; this is the best solution, because nodeEdge.Target is marked as required datafield and cannot be null
+ ServerEntityManager em = new();
+ MinTemp = nodeStep.MinTemperature.HasValue ? nodeStep.MinTemperature.Value : 0;
+ Result = nodeStep.MinTemperature.HasValue ? constructionProto.Nodes[nodeEdge.Target].Entity.GetId(null, null, new GraphNodeEntityArgs(em)) : null;
+ break;
+ }
+ }
+ if (graphID != "") break; // we're done! let's leave!
+ }
+ if (graphID == "") // we've failed to get anything :(
+ {
+ MinTemp = 0;
+ Result = null;
+ }
+ }
+ else // if entity does not have construction component then it cannot be constructed - (c) Jason Statham
+ {
+ MinTemp = 0;
+ Result = null;
+ }
+ Input = entityPrototype.ID;
+ Name = TextTools.TextTools.CapitalizeString(entityPrototype.Name);
+ Id = entityPrototype.ID;
+ Type = "heatableRecipes";
+ }
+}
diff --git a/Content.Server/_White/GuideGenerator/MealsRecipesJsonGenerator.cs b/Content.Server/_White/GuideGenerator/MealsRecipesJsonGenerator.cs
new file mode 100644
index 0000000000..fde7a38fe2
--- /dev/null
+++ b/Content.Server/_White/GuideGenerator/MealsRecipesJsonGenerator.cs
@@ -0,0 +1,128 @@
+using System.IO;
+using System.Text.RegularExpressions;
+using System.Linq;
+using System.Text.Json;
+using Content.Shared.Chemistry.Reaction;
+using Content.Shared.Kitchen;
+using Robust.Shared.Prototypes;
+using Content.Shared.Construction.Prototypes;
+using Content.Server.Construction.Components;
+using Content.Server.Chemistry.ReactionEffects;
+
+namespace Content.Server.GuideGenerator;
+
+public sealed class MealsRecipesJsonGenerator
+{
+ public static void PublishJson(StreamWriter file)
+ {
+ var prototype = IoCManager.Resolve();
+ var entities = prototype.EnumeratePrototypes();
+ var constructable = prototype.EnumeratePrototypes();
+ var output = new Dictionary();
+
+ var microwaveRecipes =
+ prototype
+ .EnumeratePrototypes()
+ .Select(x => new MicrowaveRecipeEntry(x))
+ .ToDictionary(x => x.Id, x => x);
+
+
+ var sliceableRecipes =
+ entities
+ .Where(x => x.Components.TryGetComponent("SliceableFood", out var _))
+ .Select(x => new SliceRecipeEntry(x))
+ .Where(x => x.Result != "") // SOMEONE THOUGHT THAT IT WOULD BE A GREAT IDEA TO PUT COMPONENT ON AN ITEM WITHOUT SPECIFYING THE OUTPUT THING.
+ .Where(x => x.Count > 0) // Just in case.
+ .ToDictionary(x => x.Id, x => x);
+
+
+ var grindableRecipes =
+ entities
+ .Where(x => x.Components.TryGetComponent("Extractable", out var _))
+ .Where(x => x.Components.TryGetComponent("SolutionContainerManager", out var _))
+ .Where(x => (Regex.Match(x.ID.ToLower().Trim(), @".*[Ff]ood*").Success)) // we dont need some "organ" or "pills" prototypes.
+ .Select(x => new GrindRecipeEntry(x))
+ .Where(x => x.Result != null)
+ .ToDictionary(x => x.Id, x => x);
+
+
+ // construction-related items start
+ var constructionGraphs =
+ constructable
+ .Where(x => (Regex.Match(x.ID.ToLower().Trim(), @".*.*[Bb]acon*|.*[Ss]teak*|[Pp]izza*|[Tt]ortilla*|[Ee]gg*").Success)) // we only need recipes that has "bacon", "steak", "pizza" "tortilla" and "egg" in it, since they are the only "constructable" recipes
+ .ToDictionary(x => x.ID, x => x);
+
+ var constructableEntities = // list of entities which names match regex and has Construction component
+ entities
+ .Where(x => (Regex.Match(x.ID.ToLower().Trim(), @"(? x.Components.ContainsKey("Construction"))
+ .ToList();
+
+ var entityGraphs = new Dictionary(); // BFH. Since we cannot get component from another .Where call (because of CS0103), let's keep everything in one temp dictionary.
+
+ foreach (var ent in constructableEntities)
+ {
+ if (ent.Components.TryGetComponent("Construction", out var constructionCompRaw))
+ {
+ var constructionComp = (ConstructionComponent)constructionCompRaw;
+ entityGraphs[ent.ID] = constructionComp.Graph;
+ }
+ }
+
+ var constructableHeatableEntities = constructableEntities // let's finally create our heatable recipes list
+ .Where(x => constructionGraphs.ContainsKey(entityGraphs[x.ID]))
+ .Select(x => new HeatableRecipeEntry(constructionGraphs[entityGraphs[x.ID]], x))
+ .Where(x => (x.Result != null))
+ .Where(x => x.Id != x.Result) // sometimes things dupe (for example if someone puts construction component on both inout and output things)
+ .ToDictionary(x => x.Id, x => x);
+
+
+ var constructableToolableEntities = constructableEntities // let's finally create our toolmade recipes list
+ .Where(x => constructionGraphs.ContainsKey(entityGraphs[x.ID]))
+ .Select(x => new ToolRecipeEntry(constructionGraphs[entityGraphs[x.ID]], x))
+ .Where(x => (x.Result != null))
+ .Where(x => x.Id != x.Result) // the same here, things sometimes dupe
+ .ToDictionary(x => x.Id, x => x);
+ // construction-related items end
+
+ // reaction-related items start
+ var reactionPrototypes =
+ prototype
+ .EnumeratePrototypes()
+ .Select(x => new ReactionEntry(x))
+ .ToList();
+
+
+ var mixableRecipes = new Dictionary>(); // this is a list because we have https://station14.ru/wiki/Модуль:Chemistry_Lookup that already has everything we need and does everything for us.
+
+ foreach (var react in reactionPrototypes)
+ {
+ foreach (var effect in react.Effects)
+ if (effect.GetType().Equals(typeof(CreateEntityReactionEffect)))
+ {
+ var trueEffect = (CreateEntityReactionEffect)effect;
+ if (Regex.Match(trueEffect.Entity.ToLower().Trim(), @".*[Ff]ood*").Success) if (!mixableRecipes.ContainsKey(react.Id))
+ {
+ mixableRecipes[react.Id] = new Dictionary();
+ mixableRecipes[react.Id]["id"] = react.Id;
+ mixableRecipes[react.Id]["type"] = "mixableRecipes";
+ }
+ }
+ }
+ // reaction-related items end
+
+ output["microwaveRecipes"] = microwaveRecipes;
+ output["sliceableRecipes"] = sliceableRecipes;
+ output["grindableRecipes"] = grindableRecipes;
+ output["heatableRecipes"] = constructableHeatableEntities;
+ output["toolmadeRecipes"] = constructableToolableEntities;
+ output["mixableRecipes"] = mixableRecipes;
+
+ var serializeOptions = new JsonSerializerOptions
+ {
+ WriteIndented = true
+ };
+
+ file.Write(JsonSerializer.Serialize(output, serializeOptions));
+ }
+}
diff --git a/Content.Server/_White/GuideGenerator/MicrowaveRecipeEntry.cs b/Content.Server/_White/GuideGenerator/MicrowaveRecipeEntry.cs
new file mode 100644
index 0000000000..a38dcfd6c6
--- /dev/null
+++ b/Content.Server/_White/GuideGenerator/MicrowaveRecipeEntry.cs
@@ -0,0 +1,71 @@
+using System.Linq;
+using System.Text.Json.Serialization;
+using Content.Shared.Kitchen;
+
+namespace Content.Server.GuideGenerator;
+
+public sealed class MicrowaveRecipeEntry
+{
+ ///
+ /// Id of recipe
+ ///
+ [JsonPropertyName("id")]
+ public string Id { get; }
+
+ ///
+ /// Human-readable name of recipe.
+ /// Should automatically be localized by default
+ ///
+ [JsonPropertyName("name")]
+ public string Name { get; }
+
+ ///
+ /// Type of recipe
+ ///
+ [JsonPropertyName("type")]
+ public string Type { get; }
+
+ ///
+ /// Time to cook something (for microwave recipes)
+ ///
+ [JsonPropertyName("time")]
+ public uint Time { get; }
+
+ ///
+ /// Solids required to cook something
+ ///
+ [JsonPropertyName("solids")]
+ public Dictionary Solids { get; }
+
+ ///
+ /// Reagents required to cook something
+ ///
+ [JsonPropertyName("reagents")]
+ public Dictionary Reagents { get; }
+
+ ///
+ /// Result of a recipe
+ ///
+ [JsonPropertyName("result")]
+ public string Result { get; }
+
+
+ public MicrowaveRecipeEntry(FoodRecipePrototype proto)
+ {
+ Id = proto.ID;
+ Name = TextTools.TextTools.CapitalizeString(proto.Name);
+ Type = "microwaveRecipes";
+ Time = proto.CookTime;
+ Solids = proto.IngredientsSolids
+ .ToDictionary(
+ sol => sol.Key,
+ sol => (uint)(int)sol.Value.Int()
+ );
+ Reagents = proto.IngredientsReagents
+ .ToDictionary(
+ rea => rea.Key,
+ rea => (uint)(int)rea.Value.Int()
+ );
+ Result = proto.Result;
+ }
+}
diff --git a/Content.Server/_White/GuideGenerator/MixingCategoryEntry.cs b/Content.Server/_White/GuideGenerator/MixingCategoryEntry.cs
new file mode 100644
index 0000000000..37162c9b30
--- /dev/null
+++ b/Content.Server/_White/GuideGenerator/MixingCategoryEntry.cs
@@ -0,0 +1,19 @@
+using Content.Shared.Chemistry.Reaction;
+using System.Text.Json.Serialization;
+
+namespace Content.Server._White.GuideGenerator;
+
+public sealed class MixingCategoryEntry
+{
+ [JsonPropertyName("name")]
+ public string Name { get; }
+
+ [JsonPropertyName("id")]
+ public string Id { get; }
+
+ public MixingCategoryEntry(MixingCategoryPrototype proto)
+ {
+ Name = Loc.GetString(proto.VerbText);
+ Id = proto.ID;
+ }
+}
diff --git a/Content.Server/_White/GuideGenerator/ReactionJsonGenerator.cs b/Content.Server/_White/GuideGenerator/ReactionJsonGenerator.cs
new file mode 100644
index 0000000000..9e8c118a0f
--- /dev/null
+++ b/Content.Server/_White/GuideGenerator/ReactionJsonGenerator.cs
@@ -0,0 +1,35 @@
+using Content.Server._White.GuideGenerator;
+using Content.Shared.Chemistry.Reaction;
+using Robust.Shared.Prototypes;
+
+namespace Content.Server.GuideGenerator;
+public sealed partial class ReactionJsonGenerator
+{
+ [ValidatePrototypeId]
+ private const string DefaultMixingCategory = "DummyMix";
+
+ private static void AddMixingCategories(Dictionary reactions, IPrototypeManager prototype)
+ {
+ foreach (var reaction in reactions)
+ {
+ var reactionPrototype = prototype.Index(reaction.Key);
+ var mixingCategories = new List();
+ if (reactionPrototype.MixingCategories != null)
+ {
+ foreach (var category in reactionPrototype.MixingCategories)
+ {
+ mixingCategories.Add(prototype.Index(category));
+ }
+ }
+ else
+ {
+ mixingCategories.Add(prototype.Index(DefaultMixingCategory));
+ }
+
+ foreach (var mixingCategory in mixingCategories)
+ {
+ reactions[reaction.Key].MixingCategories.Add(new MixingCategoryEntry(mixingCategory));
+ }
+ }
+ }
+}
diff --git a/Content.Server/_White/GuideGenerator/ReagentEffectEntry.cs b/Content.Server/_White/GuideGenerator/ReagentEffectEntry.cs
new file mode 100644
index 0000000000..3e00c246a6
--- /dev/null
+++ b/Content.Server/_White/GuideGenerator/ReagentEffectEntry.cs
@@ -0,0 +1,40 @@
+using Content.Shared.Chemistry.Reagent;
+using Robust.Shared.Prototypes;
+using System.Text.Json.Serialization;
+
+namespace Content.Server._White.GuideGenerator;
+public sealed class ReagentEffectEntry
+{
+ [JsonPropertyName("id")]
+ public string Id { get; }
+
+ [JsonPropertyName("description")]
+ public string Description { get; }
+
+ public ReagentEffectEntry(ReagentEffect proto)
+ {
+ var prototype = IoCManager.Resolve();
+ var entSys = IoCManager.Resolve();
+
+ Id = proto.GetType().Name;
+ Description = GuidebookEffectDescriptionToWeb(proto.GuidebookEffectDescription(prototype, entSys) ?? "");
+ }
+
+ private string GuidebookEffectDescriptionToWeb(string guideBookText)
+ {
+ guideBookText = guideBookText.Replace("[", "<");
+ guideBookText = guideBookText.Replace("]", ">");
+ guideBookText = guideBookText.Replace("color", "span");
+
+ while (guideBookText.IndexOf("", first);
+ var replacementString = guideBookText.Substring(first, last - first);
+ var color = replacementString.Substring(1);
+ guideBookText = guideBookText.Replace(replacementString, string.Format(" style=\"color: {0};\"", color));
+ }
+
+ return guideBookText;
+ }
+}
diff --git a/Content.Server/_White/GuideGenerator/ReagentEffectsEntry.cs b/Content.Server/_White/GuideGenerator/ReagentEffectsEntry.cs
new file mode 100644
index 0000000000..4e3b18ec85
--- /dev/null
+++ b/Content.Server/_White/GuideGenerator/ReagentEffectsEntry.cs
@@ -0,0 +1,20 @@
+using Content.Shared.FixedPoint;
+using System.Linq;
+using System.Text.Json.Serialization;
+
+namespace Content.Server._White.GuideGenerator;
+public sealed class ReagentEffectsEntry
+{
+ [JsonPropertyName("rate")]
+ public FixedPoint2 MetabolismRate { get; } = FixedPoint2.New(0.5f);
+
+ [JsonPropertyName("effects")]
+ public List Effects { get; } = new();
+
+ public ReagentEffectsEntry(Shared.Chemistry.Reagent.ReagentEffectsEntry proto)
+ {
+ MetabolismRate = proto.MetabolismRate;
+ Effects = proto.Effects.Select(x => new ReagentEffectEntry(x)).ToList();
+ }
+
+}
diff --git a/Content.Server/_White/GuideGenerator/SliceRecipeEntry.cs b/Content.Server/_White/GuideGenerator/SliceRecipeEntry.cs
new file mode 100644
index 0000000000..a4cde7d678
--- /dev/null
+++ b/Content.Server/_White/GuideGenerator/SliceRecipeEntry.cs
@@ -0,0 +1,65 @@
+using System.Text.Json.Serialization;
+using Robust.Shared.Prototypes;
+using Content.Server.Nutrition.Components;
+
+namespace Content.Server.GuideGenerator;
+
+public sealed class SliceRecipeEntry
+{
+ ///
+ /// Id of sliceable item
+ ///
+ [JsonPropertyName("id")]
+ public string Id { get; }
+
+ ///
+ /// Human-readable name of recipe.
+ /// Should automatically be localized by default
+ ///
+ [JsonPropertyName("name")]
+ public string Name { get; }
+
+ ///
+ /// Type of recipe
+ ///
+ [JsonPropertyName("type")]
+ public string Type { get; }
+
+ ///
+ /// Item that will be sliced into something
+ ///
+ [JsonPropertyName("input")]
+ public string Input { get; }
+
+ ///
+ /// Result of a recipe
+ ///
+ [JsonPropertyName("result")]
+ public string Result { get; }
+
+ ///
+ /// Count of result item
+ ///
+ [JsonPropertyName("count")]
+ public int Count { get; }
+
+
+ public SliceRecipeEntry(EntityPrototype proto)
+ {
+ Id = proto.ID;
+ Name = TextTools.TextTools.CapitalizeString(proto.Name);
+ Type = "sliceableRecipes";
+ Input = proto.ID;
+ if (proto.Components.TryGetComponent("SliceableFood", out var comp))
+ {
+ var sliceable = (SliceableFoodComponent) comp;
+ Result = sliceable.Slice ?? "";
+ Count = sliceable.TotalCount;
+ }
+ else // just in case something will go wrong and we somehow will not get our component
+ {
+ Result = "";
+ Count = 0;
+ }
+ }
+}
diff --git a/Content.Server/_White/GuideGenerator/TextTools.cs b/Content.Server/_White/GuideGenerator/TextTools.cs
new file mode 100644
index 0000000000..2e441f0567
--- /dev/null
+++ b/Content.Server/_White/GuideGenerator/TextTools.cs
@@ -0,0 +1,25 @@
+namespace Content.Server.GuideGenerator.TextTools;
+
+public sealed class TextTools
+{
+ ///
+ /// Capitalizes first letter of given string.
+ ///
+ /// String to capitalize
+ /// String with capitalized first letter
+ public static string CapitalizeString(string str)
+ {
+ if (str.Length > 1)
+ {
+ return char.ToUpper(str[0]) + str.Remove(0, 1);
+ }
+ else if (str.Length == 1)
+ {
+ return char.ToUpper(str[0]).ToString();
+ }
+ else
+ {
+ return str;
+ }
+ }
+}
diff --git a/Content.Server/_White/GuideGenerator/ToolRecipeEntry.cs b/Content.Server/_White/GuideGenerator/ToolRecipeEntry.cs
new file mode 100644
index 0000000000..23362457a6
--- /dev/null
+++ b/Content.Server/_White/GuideGenerator/ToolRecipeEntry.cs
@@ -0,0 +1,96 @@
+using System.Text.Json.Serialization;
+using Robust.Shared.Prototypes;
+using Content.Shared.Construction;
+using Content.Shared.Construction.Prototypes;
+using Content.Shared.Construction.Steps;
+using Robust.Server.GameObjects;
+
+namespace Content.Server.GuideGenerator;
+
+public sealed class ToolRecipeEntry // because of https://github.com/space-wizards/space-station-14/pull/20624, some recipes can now be cooked using tools
+// actually, the code is pretty similar with HeatableRecipeEntry. The only difference is that we need ToolConstructionGraphStep instead of TemperatureConstructionGraphStep
+// comments are left untouched :)
+{
+
+ ///
+ /// Id of recipe
+ ///
+ [JsonPropertyName("id")]
+ public string Id { get; }
+
+ ///
+ /// Human-readable name of recipe.
+ /// Should automatically be localized by default
+ ///
+ [JsonPropertyName("name")]
+ public string Name { get; }
+
+ ///
+ /// Type of recipe
+ ///
+ [JsonPropertyName("type")]
+ public string Type { get; }
+
+ ///
+ /// Type of tool that is used to convert input into result
+ ///
+ [JsonPropertyName("tool")]
+ public string? Tool { get; }
+
+ ///
+ /// Item that will be transformed into something with enough temp
+ ///
+ [JsonPropertyName("input")]
+ public string Input { get; }
+
+ ///
+ /// Result of a recipe.
+ /// If it is null then recipe does not exist or we could not get recipe info.
+ ///
+ [JsonPropertyName("result")]
+ public string? Result { get; }
+
+
+ public ToolRecipeEntry(
+ ConstructionGraphPrototype constructionProto, // to get data from construction prototype (Tool, result)
+ EntityPrototype entityPrototype // to get entity data (name, input entity id)
+ )
+ {
+ var graphID = "";
+ var startNode = constructionProto.Nodes[constructionProto.Start!];
+ if (entityPrototype.Components.TryGetComponent("Construction", out var constructionCompRaw)) // does entity actually has Construction component?
+ {
+ foreach (var nodeEdgeRaw in startNode.Edges) // because we don't know what node contains heating step (in case if it is not constructionProto.Start) let's check every node and see if we will get anything
+ {
+ var nodeEdge = (ConstructionGraphEdge)nodeEdgeRaw;
+ foreach (var nodeStepRaw in nodeEdge.Steps)
+ {
+ if (nodeStepRaw.GetType().Equals(typeof(ToolConstructionGraphStep))) // ToolConstructionGraphStep is used only in steaks recipes, so for now we can afford it
+ {
+ var nodeStep = (ToolConstructionGraphStep)nodeStepRaw;
+ graphID = nodeEdge.Target; // required to check when we need to leave second loop; this is the best solution, because nodeEdge.Target is marked as required datafield and cannot be null
+ ServerEntityManager em = new();
+ Tool = nodeStep.Tool;
+ Result = constructionProto.Nodes[nodeEdge.Target].Entity.GetId(null, null, new GraphNodeEntityArgs(em));
+ break;
+ }
+ }
+ if (graphID != "") break; // we're done! let's leave!
+ }
+ if (graphID == "") // we've failed to get anything :(
+ {
+ Tool = null;
+ Result = null;
+ }
+ }
+ else // if entity does not have construction component then it cannot be constructed - (c) Jason Statham
+ {
+ Tool = null;
+ Result = null;
+ }
+ Input = entityPrototype.ID;
+ Name = TextTools.TextTools.CapitalizeString(entityPrototype.Name);
+ Id = entityPrototype.ID;
+ Type = "toolmadeRecipes";
+ }
+}
diff --git a/Content.Shared/_White/TTS/SharedTTSComponent.cs b/Content.Shared/_White/TTS/SharedTTSComponent.cs
index 18b1e0d9be..1b1990777c 100644
--- a/Content.Shared/_White/TTS/SharedTTSComponent.cs
+++ b/Content.Shared/_White/TTS/SharedTTSComponent.cs
@@ -1,11 +1,12 @@
-using Robust.Shared.Prototypes;
+using Robust.Shared.GameStates;
+using Robust.Shared.Prototypes;
namespace Content.Shared._White.TTS;
///
/// Apply TTS for entity chat say messages
///
-[RegisterComponent, AutoGenerateComponentState]
+[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
// ReSharper disable once InconsistentNaming
public sealed partial class SharedTTSComponent : Component
{
@@ -14,4 +15,4 @@ public sealed partial class SharedTTSComponent : Component
///
[ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField]
public ProtoId VoicePrototypeId { get; set; } = "Eugene";
-}
\ No newline at end of file
+}
diff --git a/LICENSE.TXT b/LICENSE.TXT
index c512fac5ab..731b4ec102 100644
--- a/LICENSE.TXT
+++ b/LICENSE.TXT
@@ -1,15 +1,59 @@
-Copyright (C) Frosty Dev - All Rights Reserved.
+Preamble
-THE CONTENTS OF THIS PROJECT ARE PROPRIETARY AND CONFIDENTIAL.
-UNAUTHORIZED COPYING, TRANSFERRING OR REPRODUCTION OF THE CONTENTS OF THIS PROJECT, VIA ANY MEDIUM IS STRICTLY PROHIBITED.
+Upon receipt of a copy of the license object by any means, any person can use it if they
+accept and agree to all the terms of this license. Violation of the license terms grants us
+(the Licensor) the right to apply methods of legal and technological protection using the
+DMCA and/or other legislation of the states under whose jurisdiction hosting providers
+and other information intermediaries are located, providing services to violators of the
+terms of this license. Acceptance of the terms of this license means a definitive conclusion
+between you and FDev of a gratuitous simple non-exclusive license, hereinafter referred
+to as the "Agreement". The Agreement does not include provisions regulating issues
+related to the processing of personal data.
-The receipt or possession of the source code and/or any parts thereof does not convey or imply any right to use them
-for any purpose other than the purpose for which they were provided to you.
+Definitions
-The software is provided "AS IS", without warranty of any kind, express or implied, including but not limited to
-the warranties of merchantability, fitness for a particular purpose and non infringement.
-In no event shall the authors or copyright holders be liable for any claim, damages or other liability,
-whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software
-or the use or other dealings in the software.
+Build is an object of Agreement, the result of the original author's work or a team of
+authors (hereinafter referred to as the "Company"), a complex intellectual property object
+– a video game that includes, but is not limited to, source, object code, tools, game assets,
+specifications, UI/UX design, elements of narrative and other creative content based on
+the revision and translation into Russian of the open version of Space Station 14 and the
+artistic vision of the authors. The set of individual elements is a Build. Any elements other
+than the original elements are objects of copyright and/or related rights created by the
+creative work of the collective.
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+Contribution means any original author's work of Contributors, including any
+modifications or additions to the Build (any source code, object code, correction, tool,
+sample, graphics, assets, specifications, manuals, documentation), which is intentionally
+provided by the Licensee to the Licensor. For the purposes of this definition,
+submission means any form of electronic, oral or written communication sent to Licensor
+or its representatives, including, but not limited to, messages on electronic mailing lists,
+source code control systems and issue tracking systems operated by or on behalf of the
+Company for the purposes of discussing or improving software or project documentation
+and source. Communications for which it is explicitly stated in writing as "Not a
+contribution" will not be considered a contribution. When providing a Contribution to the
+Build, the Contributor provides the Company with a simple, free, irrevocable, non-exclusive
+license for the entire period of validity of the Contributor's rights to the Contribution provided
+for by the legislation of the state-jurisdiction of the Contributor
+and/or international legislation for certain forms of Contribution.
+
+Licensor – FDev. For licensing inquiries, please contact: admin@ss14.su
+
+The scope of the rights granted
+
+The license grants an unlimited number of persons the right to copy and make changes
+solely for the purpose of improving the game and subject to the further transfer of such
+changes to FDev on the terms of the Contribution, as well as for non-public hosting and
+launching the Build on the Licensee's computer for the purpose of non-commercial use
+for its intended purpose (providing access to Players and the Game process). This license
+expressly prohibits commercial use, public hosting, as well as non-licensed use. The use
+of the Build or its elements in violation of the terms of this License grants the Licensor
+the right to contact the hosting provider and other persons – information intermediaries
+to block hosting. The Licensee can carry out public hosting of the Build only if they receive
+direct permission from the Licensor.
+
+A reservation about the types of licenses
+
+Individual elements of the Build (graphics, sounds, source code) may be distributed under
+a license other than this one. Most assets are licensed under CC-BY-SA 3.0 unless
+otherwise specified. Assets have their own license and copyright in the metadata file. If
+the license type is not specified, such files are distributed under the terms of this license.
\ No newline at end of file
diff --git a/MIT.txt b/MIT.txt
new file mode 100644
index 0000000000..0a719be699
--- /dev/null
+++ b/MIT.txt
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2017-2024 Space Wizards Federation
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
\ No newline at end of file
diff --git a/README.md b/README.md
index 7c2081d139..e64ca834a8 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,6 @@
- 
+
+
+
Space Station 14 это ремейк SS13, который работает на собственном движке [Robust Toolbox](https://github.com/space-wizards/RobustToolbox), написанном на C#.
@@ -6,7 +8,7 @@ Space Station 14 это ремейк SS13, который работает на
## Ссылки
-[Наш Discord](https://discord.station13.ru) | [Наша Вики](https://wiki.ss14.station13.ru) | [Steam](https://store.steampowered.com/app/1255460/Space_Station_14/) | [Клиент без Steam](https://spacestation14.io/about/nightlies/) | [Основной репозиторий](https://github.com/space-wizards/space-station-14)
+[Наш Discord](https://discord.ss14.su) | [Наша Вики](https://wiki.ss14.su) | [Steam](https://store.steampowered.com/app/1255460/Space_Station_14/) | [Клиент без Steam](https://spacestation14.io/about/nightlies/) | [Основной репозиторий](https://github.com/space-wizards/space-station-14)
## Документация
@@ -26,8 +28,4 @@ Space Station 14 это ремейк SS13, который работает на
## Лицензия
-Весь код проекта принадлежит организации [Frosty Dev](https://github.com/frosty-dev/ss14-new/blob/master/LICENSE.TXT) и не подлежит разглашению. Что это означает? В случае утечки информации будет применена ст. 14.33 КоАП РФ и ст. 13.14 КоАП РФ соответственно.
-
-Большинство ассетов лицензированы под [CC-BY-SA 3.0](https://creativecommons.org/licenses/by-sa/3.0/), если не указано иное. Ассеты имеют свою лицензию и авторские права в файле метаданных. [Пример](https://github.com/space-syndicate/space-station-14/blob/master/Resources/Textures/Objects/Tools/crowbar.rsi/meta.json).
-
-Обратите внимание, что некоторые ассеты лицензированы на некоммерческой основе [CC-BY-NC-SA 3.0](https://creativecommons.org/licenses/by-nc-sa/3.0/) или аналогичной некоммерческой лицензией, и их необходимо удалить, если вы хотите использовать этот проект в коммерческих целях.
+Код репозитория лицензирован как под MIT - это касается кода Space Wizards Federation, так и под CLA - это касается наших изменений, определение которых дано в тексте CLA. Мы не стремимся к полному разграничению нашего кода и кода Space Wizards Federation, поэтому во избежание инцидентов рекомендуется брать их код из их репозитория.
diff --git a/Resources/Audio/White/Music/Lobby/Music/Its_just_a_burning_memory.ogg b/Resources/Audio/White/Music/Lobby/Music/Its_just_a_burning_memory.ogg
new file mode 100644
index 0000000000..9d3ccc1d88
Binary files /dev/null and b/Resources/Audio/White/Music/Lobby/Music/Its_just_a_burning_memory.ogg differ
diff --git a/Resources/Audio/White/Music/Lobby/Music/Libets_Delay.ogg b/Resources/Audio/White/Music/Lobby/Music/Libets_Delay.ogg
new file mode 100644
index 0000000000..55f8ead18c
Binary files /dev/null and b/Resources/Audio/White/Music/Lobby/Music/Libets_Delay.ogg differ
diff --git a/Resources/Changelog/ChangelogWhite.yml b/Resources/Changelog/ChangelogWhite.yml
index 01e3bc3641..5e207791b5 100644
--- a/Resources/Changelog/ChangelogWhite.yml
+++ b/Resources/Changelog/ChangelogWhite.yml
@@ -1,117 +1,4 @@
Entries:
-- author: RavMorgan
- changes:
- - message: "\u041F\u0435\u0434\u0430\u043B\u044F\u043C \u0431\u044B\u043B\u0430\
- \ \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0430 \u043A\u043D\u043E\u043F\
- \u043E\u0447\u043A\u0430 \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F\
- /\u0432\u044B\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F \u0441\u0442\u0430\
- \u043B\u0438\u043D\u0430 \u0432 ServerTab!"
- type: Add
- id: 54
- time: '2023-01-27T02:34:29.0000000+00:00'
-- author: RavMorgan
- changes:
- - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D \u043C\u0435\u0434\u0445\
- \u0443\u0434!"
- type: Add
- id: 55
- time: '2023-01-27T03:54:16.0000000+00:00'
-- author: BronyUraj
- changes:
- - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0441\u043D\u0430\
- \u0440\u044F\u0436\u0435\u043D\u0438\u0435 \u0434\u043B\u044F \u0420\u043E\u0431\
- \u0430\u0441\u0442 \u0424\u0435\u0441\u0442\u0430."
- type: Add
- id: 56
- time: '2023-01-27T08:28:57.0000000+00:00'
-- author: Valtos
- changes:
- - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u043E 59 \u043D\u043E\
- \u0432\u044B\u0445 \u0433\u043E\u043B\u043E\u0441\u043E\u0432 \u0434\u043B\u044F\
- \ TTS."
- type: Add
- id: 57
- time: '2023-01-29T18:11:26.0000000+00:00'
-- author: HitPanda
- changes:
- - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D \u043D\u043E\u0432\u044B\
- \u0439 \u0432\u0438\u0434 \u043E\u0440\u0443\u0436\u0438\u044F \u0441 \u0434\
- \u0432\u0443\u043C\u044F \u0442\u0438\u043F\u0430\u043C\u0438 \u043E\u0433\u043D\
- \u044F"
- type: Add
- - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0430 \u044D\u043D\u0435\
- \u0440\u0433\u0435\u0442\u0438\u0447\u0435\u0441\u043A\u0430\u044F \u0432\u0438\
- \u043D\u0442\u043E\u0432\u043A\u0430"
- type: Add
- - message: "\u0424\u0438\u043A\u0441 \u043A\u0440\u0438\u0432\u043E\u0433\u043E\
- \ \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u043A\u043E\
- \u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0437\u0430\u0440\u044F\u0434\
- \u043E\u0432 \u043D\u0430 \u044D\u043D\u0435\u0440\u0433\u0435\u0442\u0438\u0447\
- \u0435\u0441\u043A\u043E\u043C \u043E\u0440\u0443\u0436\u0438\u0438 \u043F\u0440\
- \u0438 \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u043C\
- \ \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u043F\u0430\u0442\
- \u0440\u043E\u043D\u043E\u0432 \u0431\u043E\u043B\u044C\u0448\u0435 8"
- type: Fix
- - message: "\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0432 \u043D\
- \u0430\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0438 \u0448\u043A\u0430\u0444\
- \u043E\u0432 \u0432\u0441\u0435\u0433\u043E \u0421\u0411, \u043A\u0430\u043F\
- \u0438\u0442\u0430\u043D\u0430 \u0438 \u0425\u043E\u041F\u0430."
- type: Tweak
- id: 58
- time: '2023-01-30T12:55:37.0000000+00:00'
-- author: HitPanda
- changes:
- - message: "\u042F\u0449\u0438\u043A \u0435\u0433\u0430\u043D\u043E\u0432(\u044D\
- \u043D\u0435\u0440\u0433\u0435\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0445\
- \ \u0432\u0438\u043D\u0442\u043E\u0432\u043E\u043A) \u0434\u043B\u044F \u0437\
- \u0430\u043A\u0430\u0437\u0430 \u0432 \u043A\u0430\u0440\u0433\u043E"
- type: Add
- - message: "\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0440\
- \u0435\u0436\u0438\u043C\u0430 \u0435\u0433\u0430\u043D\u0430 \u0432 \u0440\u0443\
- \u043A\u0430\u0445 \u043C\u043E\u0431\u0430 \u0438 \u0437\u0432\u0443\u043A\
- \ \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F"
- type: Add
- - message: "\u0424\u0438\u043A\u0441 \u0432\u0438\u0437\u0443\u0430\u043B\u044C\u043D\
- \u043E\u0433\u043E \u0431\u0430\u0433\u0430 \u0435\u0433\u0430\u043D\u0430"
- type: Fix
- id: 59
- time: '2023-02-01T14:12:38.0000000+00:00'
-- author: rhailrake
- changes:
- - message: "\u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0430 \u0431\u0430\u0437\
- \u043E\u0432\u0430\u044F \u0433\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u044F\
- \ \u043C\u0438\u0440\u0430."
- type: Add
- id: 60
- time: '2023-02-01T18:43:50.0000000+00:00'
-- author: HitPanda
- changes:
- - message: "\u041F\u043E\u0441\u043B\u0435 \u0443\u0431\u043E\u0440\u043A\u0438\
- \ \u0442\u0430\u0439\u043B\u0430 \u0448\u0432\u0430\u0431\u0440\u043E\u0439\
- , \u043E\u043D \u043D\u0430 \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u043E\
- \u0435 \u0432\u0440\u0435\u043C\u044F \u0441\u0442\u0430\u043D\u043E\u0432\u0438\
- \u0442\u0441\u044F \u0441\u043A\u043E\u043B\u044C\u0437\u043A\u0438\u043C"
- type: Add
- id: 61
- time: '2023-02-01T23:42:03.0000000+00:00'
-- author: BronyUraj
- changes:
- - message: "\u0410\u0434\u043C\u0438\u043D\u044B \u043C\u043E\u0433\u0443\u0442\
- \ \u043A\u0438\u0434\u0430\u0442\u044C \u043A\u0443\u0431\u0438\u043A."
- type: Add
- id: 62
- time: '2023-02-03T20:31:29.0000000+00:00'
-- author: Valtos
- changes:
- - message: "gTTS \u0433\u043E\u043B\u043E\u0441\u0430 \u0442\u0435\u043F\u0435\u0440\
- \u044C \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B \u043E\u0431\u043E\u0438\
- \u043C \u043F\u043E\u043B\u0430\u043C \u0438 \u0438\u0445 \u043C\u043E\u0436\
- \u043D\u043E \u043E\u0442\u043B\u0438\u0447\u0438\u0442\u044C \u043E\u0442 \u043E\
- \u0431\u044B\u0447\u043D\u044B\u0445 \u0432 \u0441\u043F\u0438\u0441\u043A\u0435\
- ."
- type: Tweak
- id: 63
- time: '2023-02-04T04:48:45.0000000+00:00'
- author: RavMorgan
changes:
- message: "\u0412\u0430\u0441 \u044D\u0442\u043E \u0432\u043E\u043B\u043D\u043E\
@@ -8744,3 +8631,94 @@
id: 553
time: '2024-09-25T11:00:23.0000000+00:00'
url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/707
+- author: Jabak
+ changes:
+ - message: "\u041A\u043D\u043E\u043F\u043E\u0447\u043A\u0430 AHelp \u0432 \u043B\
+ \u043E\u0431\u0431\u0438"
+ type: Add
+ id: 554
+ time: '2024-09-25T16:56:10.0000000+00:00'
+ url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/708
+- author: keslik
+ changes:
+ - message: "\u0412 \u043C\u0443\u0437\u044B\u043A\u0430\u043B\u044C\u043D\u044B\u0439\
+ \ \u0430\u0432\u0442\u043E\u043C\u0430\u0442 \u0434\u043E\u0431\u0430\u0432\u043B\
+ \u0435\u043D\u0430 \u043C\u0443\u0437\u044B\u043A\u0430"
+ type: Add
+ id: 555
+ time: '2024-09-26T20:07:47.0000000+00:00'
+ url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/710
+- author: BIG_Zi_348
+ changes:
+ - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D \u0441\u043F\u0440\
+ \u0430\u0439\u0442 \u0434\u0435\u0440\u0435\u0432\u044F\u043D\u043D\u043E\u0433\
+ \u043E \u0441\u0442\u043E\u043B\u0430."
+ type: Fix
+ id: 556
+ time: '2024-09-26T20:07:30.0000000+00:00'
+ url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/709
+- author: BIG_Zi_348
+ changes:
+ - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u043D\u0435\u0434\
+ \u043E\u0441\u0442\u0430\u044E\u0449\u0438\u0435 \u043F\u0435\u0440\u0435\u0432\
+ \u043E\u0434\u044B \u0441\u043B\u0443\u0447\u0430\u0439\u043D\u044B\u0445 \u0438\
+ \u0432\u0435\u043D\u0442\u043E\u0432."
+ type: Add
+ id: 557
+ time: '2024-09-26T20:16:18.0000000+00:00'
+ url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/711
+- author: Jabak
+ changes:
+ - message: "\u041A\u0440\u0438\u0432\u044B\u0435 \u043A\u043D\u043E\u043F\u043E\u0447\
+ \u043A\u0438"
+ type: Fix
+ - message: "\u041F\u0435\u0440\u0435\u0432\u043E\u0434 \u043A\u043D\u043E\u043F\u043E\
+ \u0447\u0435\u043A"
+ type: Add
+ id: 558
+ time: '2024-09-26T20:31:14.0000000+00:00'
+ url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/712
+- author: Jabak
+ changes:
+ - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0441\u043B\u0443\
+ \u0447\u0430\u0439\u043D\u044B\u0435 \u0433\u043E\u043B\u043E\u0441\u0430 \u0442\
+ \u0442\u0441 \u0431\u043E\u0440\u0433\u0430\u043C"
+ type: Add
+ id: 559
+ time: '2024-09-27T18:52:15.0000000+00:00'
+ url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/701
+- author: BIG_Zi_348
+ changes:
+ - message: "\u0422\u0435\u043F\u0435\u0440\u044C \u0434\u0432\u043E\u0440\u0444\u044B\
+ \ \u043C\u043E\u0433\u0443\u0442 \u0431\u043E\u043C\u0436\u0435\u0432\u0430\u0442\
+ \u044C \u043D\u0430 \u0441\u0442\u0430\u043D\u0446\u0438\u0438."
+ type: Tweak
+ id: 560
+ time: '2024-09-27T18:52:36.0000000+00:00'
+ url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/713
+- author: BIG_Zi_348
+ changes:
+ - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0430 \u043B\u043E\
+ \u043A\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F \u043C\u043D\u043E\u0433\
+ \u0438\u0445 \u043F\u0440\u0435\u0434\u043C\u0435\u0442\u043E\u0432."
+ type: Fix
+ id: 561
+ time: '2024-09-27T19:59:43.0000000+00:00'
+ url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/714
+- author: BIG_Zi_348
+ changes:
+ - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0430 \u043B\u043E\
+ \u043A\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F \u043D\u0435\u043A\u043E\
+ \u0442\u043E\u0440\u044B\u0445 \u0432\u0435\u0449\u0435\u0439."
+ type: Fix
+ id: 562
+ time: '2024-09-28T20:23:40.0000000+00:00'
+ url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/715
+- author: Valtos
+ changes:
+ - message: "\u0410\u0432\u0442\u043E\u0433\u0435\u043D\u0435\u0440\u0430\u0446\u0438\
+ \u044F \u0440\u0435\u0446\u0435\u043F\u0442\u043E\u0432 \u0434\u043B\u044F Wiki."
+ type: Add
+ id: 563
+ time: '2024-09-28T22:15:33.0000000+00:00'
+ url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/718
diff --git a/Resources/Locale/ru-RU/_white/cult/constructs.ftl b/Resources/Locale/ru-RU/_white/cult/constructs.ftl
index 8ead17cd65..528b1428e7 100644
--- a/Resources/Locale/ru-RU/_white/cult/constructs.ftl
+++ b/Resources/Locale/ru-RU/_white/cult/constructs.ftl
@@ -1,8 +1,4 @@
ent-JuggernautConstruct = Джаггернаут
- .desc = ""
ent-ArtificerConstruct = Ремесленник
- .desc = ""
ent-WraithConstruct = Фантом
- .desc = ""
ent-ReaperConstruct = Жнец
- .desc = ""
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-100.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-100.ftl
index 84eecee70a..f8d073ef40 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-100.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-100.ftl
@@ -1,21 +1,21 @@
ent-BaseChemistryEmptyVial = флакон
.desc = Маленький флакон.
ent-VestineChemistryVial = флакон с вестином
- .desc = "флакон с вестином"
+ .desc = флакон с вестином
ent-BorgDropper = капельница
.desc = Используется для переливания небольших объемов химических растворов между емкостями. Расширена для использования медицинскими боргами.
ent-SyringeCryostasis = шприц для криостаза
.desc = Шприц, используемый для хранения химикатов или растворов без реакции.
ent-KoboldCube = кубик кобольда
- .desc = "кубик кобольда"
+ .desc = кубик кобольда
ent-CowCube = кубик коровы
- .desc = "кубик коровы"
+ .desc = кубик коровы
ent-GoatCube = кубик козы
- .desc = "кубик козы"
+ .desc = кубик козы
ent-MothroachCube = кубик мотылька-таракана
- .desc = "кубик мотылька-таракана"
+ .desc = кубик мотылька-таракана
ent-MouseCube = кубик мыши
- .desc = "кубик мыши"
+ .desc = кубик мыши
ent-CockroachCube = кубик таракана
.desc = Просто добавьте wa- О БОЖЕ!
ent-SpaceCarpCube = кубик карпа
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-101.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-101.ftl
index 30165184ed..a80e42d81d 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-101.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-101.ftl
@@ -1,19 +1,19 @@
ent-MimanaSeeds = пакет семян миманы
- .desc = "пакет семян миманы"
+ .desc = пакет семян миманы
ent-LaughinPeaSeeds = пакет семян смеющихся горохов
.desc = Эти семена излучают очень мягкое фиолетовое свечение... из них должны вырасти смеющиеся горохи.
ent-LemoonSeeds = пакет семян лемунов
- .desc = "пакет семян лемунов"
+ .desc = пакет семян лемунов
ent-ExtradimensionalOrangeSeeds = пакет семян внепространственных апельсинов
.desc = Многогранные семена.
ent-SteelcapSeeds = пакет спор стальных шляпок
- .desc = "пакет спор стальных шляпок"
+ .desc = пакет спор стальных шляпок
ent-BlueTomatoSeeds = пакет семян синих помидоров
- .desc = "пакет семян синих помидоров"
+ .desc = пакет семян синих помидоров
ent-BloodTomatoSeeds = пакет семян кровавых помидоров
- .desc = "пакет семян кровавых помидоров"
+ .desc = пакет семян кровавых помидоров
ent-KillerTomatoSeeds = пакет семян убийственных помидоров
- .desc = "пакет семян убийственных помидоров"
+ .desc = пакет семян убийственных помидоров
ent-RainbowCannabisSeeds = пакет семян радужной марихуаны
.desc = Из этих семян вырастает радужная трава. Здорово... и очень сильно вызывает привыкание.
ent-DeathNettleSeeds = пакет семян крапивы смерти
@@ -25,15 +25,15 @@ ent-LilySeeds = пакет семян лилий
ent-AmbrosiaDeusSeeds = пакет семян амброзии богов
.desc = Лекарственное растение для самих богов.
ent-SpacemansTrumpetSeeds = пакет семян космического трубы
- .desc = "пакет семян космического трубы"
+ .desc = пакет семян космического трубы
ent-KoibeanSeeds = пакет семян коибобов
- .desc = "пакет семян коибобов"
+ .desc = пакет семян коибобов
ent-HolymelonSeeds = пакет семян священного дыни
- .desc = "пакет семян священного дыни"
+ .desc = пакет семян священного дыни
ent-CocoaSeeds = пакет семян какао
- .desc = "пакет семян какао"
+ .desc = пакет семян какао
ent-BerrySeeds = пакет семян ягод
- .desc = "пакет семян ягод"
+ .desc = пакет семян ягод
ent-BungoSeeds = пакет семян бунго
.desc = Не ешьте косточки.
ent-PeaSeeds = пакет семян гороха
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-102.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-102.ftl
index 85e15ce513..a9513a5e13 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-102.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-102.ftl
@@ -1,15 +1,15 @@
ent-WorldPeaSeeds = пакет семян мировых горохов
.desc = Эти довольно крупные семена испускают успокаивающее синее свечение.
ent-PumpkinSeeds = пакет семян тыквы
- .desc = "пакет семян тыквы"
+ .desc = пакет семян тыквы
ent-CottonSeeds = пакет семян хлопка
- .desc = "пакет семян хлопка"
+ .desc = пакет семян хлопка
ent-PyrottonSeeds = пакет семян пиротона
- .desc = "пакет семян пиротона"
+ .desc = пакет семян пиротона
ent-SprayBottleSpaceCleanerSelfRecharging = космический очиститель
.desc = Непенящийся космический очиститель марки BLAM!
ent-TrashBagAdvanced = мусорный мешок
- .desc = "мусорный мешок"
+ .desc = мусорный мешок
ent-FoodCartHot = тележка с горячей едой
.desc = Идите и продавайте сосиски.
ent-FoodCartCold = тележка с холодной едой
@@ -30,16 +30,16 @@ ent-HealingToolbox = набор инструментов для лечения
.desc = Мощный набор инструментов, пропитанный мощной энергией. Он может залечить ваши раны и наполнить вас убийственным намерением.
.suffix = DO NOT MAP
ent-PillCanisterDexalin = контейнер с таблетками (дексалин 10u)
- .desc = "контейнер с таблетками (дексалин 10u)"
+ .desc = контейнер с таблетками (дексалин 10u)
.suffix = Дексалин, 7
ent-PillCanisterDylovene = контейнер с таблетками (диловена 10u)
- .desc = "контейнер с таблетками (диловена 10u)"
+ .desc = контейнер с таблетками (диловена 10u)
.suffix = Диловена, 5
ent-PillCanisterHyronalin = контейнер с таблетками (хироналин 10u)
- .desc = "контейнер с таблетками (хироналин 10u)"
+ .desc = контейнер с таблетками (хироналин 10u)
.suffix = Хироналин, 5
ent-PillPotassiumIodide = таблетка (йодид калия 10u)
- .desc = "таблетка (йодид калия 10u)"
+ .desc = таблетка (йодид калия 10u)
ent-PillCanisterPotassiumIodide = контейнер с таблетками (йодид калия 10u)
- .desc = "контейнер с таблетками (йодид калия 10u)"
+ .desc = контейнер с таблетками (йодид калия 10u)
.suffix = Йодид калия, 5
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-103.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-103.ftl
index 707cbe044b..9f19dd8b61 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-103.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-103.ftl
@@ -1,38 +1,38 @@
ent-PillCopper = таблетка (медь 10 ед.)
- .desc = "таблетка (медь 10 ед.)"
+ .desc = таблетка (медь 10 ед.)
ent-PillCanisterIron = контейнер с таблетками (железо 10 ед.)
- .desc = "контейнер с таблетками (железо 10 ед.)"
+ .desc = контейнер с таблетками (железо 10 ед.)
.suffix = Железо, 5
ent-PillCanisterCopper = контейнер с таблетками (медь 10 ед.)
- .desc = "контейнер с таблетками (медь 10 ед.)"
+ .desc = контейнер с таблетками (медь 10 ед.)
.suffix = Медь, 5
ent-PillCanisterKelotane = контейнер с таблетками (келотан 10 ед.)
- .desc = "контейнер с таблетками (келотан 10 ед.)"
+ .desc = контейнер с таблетками (келотан 10 ед.)
.suffix = Келотан, 5
ent-PillCanisterDermaline = контейнер с таблетками (дермалин 10 ед.)
- .desc = "контейнер с таблетками (дермалин 10 ед.)"
+ .desc = контейнер с таблетками (дермалин 10 ед.)
.suffix = Дермалин, 5
ent-PillCanisterTricordrazine = контейнер с таблетками (трикордазин 10 ед.)
- .desc = "контейнер с таблетками (трикордазин 10 ед.)"
+ .desc = контейнер с таблетками (трикордазин 10 ед.)
.suffix = Трикордазин, 5
ent-PillCanisterBicaridine = контейнер с таблетками (бикаридин 10 ед.)
- .desc = "контейнер с таблетками (бикаридин 10 ед.)"
+ .desc = контейнер с таблетками (бикаридин 10 ед.)
.suffix = Бикаридин, 5
ent-PillCharcoal = таблетка (уголь 10 ед.)
- .desc = "таблетка (уголь 10 ед.)"
+ .desc = таблетка (уголь 10 ед.)
ent-PillCanisterCharcoal = контейнер с таблетками (уголь 10 ед.)
- .desc = "контейнер с таблетками (уголь 10 ед.)"
+ .desc = контейнер с таблетками (уголь 10 ед.)
.suffix = Уголь, 3
ent-SyringeSigynate = шприц с сигинатами
- .desc = "шприц с сигинатами"
+ .desc = шприц с сигинатами
ent-SyringeEthylredoxrazine = шприц с этилредоксразином
- .desc = "шприц с этилредоксразином"
+ .desc = шприц с этилредоксразином
ent-SyringePhalanximine = шприц с фаланксимином
- .desc = "шприц с фаланксимином"
+ .desc = шприц с фаланксимином
ent-SyringeSaline = шприц с солевым раствором
- .desc = "шприц с солевым раствором"
+ .desc = шприц с солевым раствором
ent-SyringeStimulants = шприц со стимуляторами
- .desc = "шприц со стимуляторами"
+ .desc = шприц со стимуляторами
ent-HandheldHealthAnalyzerUnpowered = анализатор здоровья
.desc = Ручной сканер тела, способный различать жизненно важные показатели объекта.
ent-BaseHypospray = гипошприц
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-104.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-104.ftl
index fa564ae653..de7ad8207d 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-104.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-104.ftl
@@ -13,30 +13,30 @@ ent-AnomalyLocatorWideUnpowered = широкополосный локатор а
.desc = Устройство, которое ищет аномалии с увеличенного расстояния, но не имеет возможности определить расстояние до них.
.suffix = Без питания
ent-BorgModuleCable = кабельный кибернетический модуль
- .desc = "кабельный кибернетический модуль"
+ .desc = кабельный кибернетический модуль
ent-BorgModuleGPS = GPS-модуль кибернетики
- .desc = "GPS-модуль кибернетики"
+ .desc = GPS-модуль кибернетики
ent-BorgModuleRadiationDetection = модуль кибернетики для обнаружения радиации
- .desc = "модуль кибернетики для обнаружения радиации"
+ .desc = модуль кибернетики для обнаружения радиации
ent-BorgModuleTool = модуль кибернетики для инструментов
- .desc = "модуль кибернетики для инструментов"
+ .desc = модуль кибернетики для инструментов
ent-BorgModuleAppraisal = модуль кибернетики для оценки
- .desc = "модуль кибернетики для оценки"
+ .desc = модуль кибернетики для оценки
ent-BorgModuleMining = модуль кибернетики для добычи
- .desc = "модуль кибернетики для добычи"
+ .desc = модуль кибернетики для добычи
ent-BorgModuleGrapplingGun = модуль кибернетики для захвата
- .desc = "модуль кибернетики для захвата"
+ .desc = модуль кибернетики для захвата
ent-BorgModuleAdvancedTool = модуль кибернетики для продвинутых инструментов
- .desc = "модуль кибернетики для продвинутых инструментов"
+ .desc = модуль кибернетики для продвинутых инструментов
ent-BorgModuleAtmospherics = модуль кибернетики для атмосферы
- .desc = "модуль кибернетики для атмосферы"
+ .desc = модуль кибернетики для атмосферы
ent-BorgModuleConstruction = модуль кибернетики для строительства
- .desc = "модуль кибернетики для строительства"
+ .desc = модуль кибернетики для строительства
ent-BorgModuleLightReplacer = модуль кибернетики для замены света
- .desc = "модуль кибернетики для замены света"
+ .desc = модуль кибернетики для замены света
ent-BorgModuleCleaning = модуль кибернетики для уборки
- .desc = "модуль кибернетики для уборки"
+ .desc = модуль кибернетики для уборки
ent-BorgModuleAdvancedCleaning = модуль кибернетики для продвинутой уборки
- .desc = "модуль кибернетики для продвинутой уборки"
+ .desc = модуль кибернетики для продвинутой уборки
ent-BorgModuleTreatment = модуль кибернетики для лечения
- .desc = "модуль кибернетики для лечения"
+ .desc = модуль кибернетики для лечения
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-105.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-105.ftl
index 9442e377fe..3bbc6ff86b 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-105.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-105.ftl
@@ -1,25 +1,25 @@
ent-BorgModuleResque = модуль кибернетического лечения
- .desc = "модуль кибернетического лечения"
+ .desc = модуль кибернетического лечения
ent-BorgModuleDefibrillator = модуль кибернетического дефибриллятора
- .desc = "модуль кибернетического дефибриллятора"
+ .desc = модуль кибернетического дефибриллятора
ent-BorgModuleAdvancedTreatment = модуль кибернетического лечения
- .desc = "модуль кибернетического лечения"
+ .desc = модуль кибернетического лечения
ent-BorgModuleArtifact = модуль кибернетического артефакта
- .desc = "модуль кибернетического артефакта"
+ .desc = модуль кибернетического артефакта
ent-BorgModuleAnomaly = модуль кибернетической аномалии
- .desc = "модуль кибернетической аномалии"
+ .desc = модуль кибернетической аномалии
ent-BorgModuleService = модуль кибернетического обслуживания
- .desc = "модуль кибернетического обслуживания"
+ .desc = модуль кибернетического обслуживания
ent-BorgModuleMusique = модуль кибернетического музыкального инструмента
- .desc = "модуль кибернетического музыкального инструмента"
+ .desc = модуль кибернетического музыкального инструмента
ent-BorgModuleGardening = модуль кибернетического садоводства
- .desc = "модуль кибернетического садоводства"
+ .desc = модуль кибернетического садоводства
ent-BorgModuleHarvesting = модуль кибернетического сбора урожая
- .desc = "модуль кибернетического сбора урожая"
+ .desc = модуль кибернетического сбора урожая
ent-BorgModuleClowning = модуль кибернетического клоуна
- .desc = "модуль кибернетического клоуна"
+ .desc = модуль кибернетического клоуна
ent-BorgModuleSyndicateWeapon = модуль кибернетического оружия
- .desc = "модуль кибернетического оружия"
+ .desc = модуль кибернетического оружия
ent-BorgModuleOperative = модуль кибернетического оперативника
.desc = Модуль, который включает в себя ломик, Emag и компас синдиката.
ent-BorgModuleEsword = модуль кибернетического энергетического меча
@@ -29,12 +29,12 @@ ent-BorgModuleL6C = модуль кибернетического L6C ROW
ent-BorgModuleMartyr = модуль кибернетического мученика
.desc = Модуль, который включает в себя взрывчатку, с которой вы, вероятно, не захотите иметь дело сами.
ent-LeftArmBorgEngineer = левая кибернетическая рука инженера
- .desc = "левая кибернетическая рука инженера"
+ .desc = левая кибернетическая рука инженера
ent-RightArmBorgEngineer = правая кибернетическая рука инженера
- .desc = "правая кибернетическая рука инженера"
+ .desc = правая кибернетическая рука инженера
ent-LeftLegBorgEngineer = левая кибернетическая нога инженера
- .desc = "левая кибернетическая нога инженера"
+ .desc = левая кибернетическая нога инженера
ent-RightLegBorgEngineer = правая кибернетическая нога инженера
- .desc = "правая кибернетическая нога инженера"
+ .desc = правая кибернетическая нога инженера
ent-HeadBorgEngineer = кибернетическая голова инженера
- .desc = "кибернетическая голова инженера"
+ .desc = кибернетическая голова инженера
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-106.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-106.ftl
index 0efb8c7c92..00458b7eec 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-106.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-106.ftl
@@ -1,40 +1,40 @@
ent-TorsoBorgEngineer = кибернетический торс инженера
- .desc = "кибернетический торс инженера"
+ .desc = кибернетический торс инженера
ent-LeftLegBorgJanitor = кибернетическая левая нога уборщика
- .desc = "кибернетическая левая нога уборщика"
+ .desc = кибернетическая левая нога уборщика
ent-RightLegBorgJanitor = кибернетическая правая нога уборщика
- .desc = "кибернетическая правая нога уборщика"
+ .desc = кибернетическая правая нога уборщика
ent-HeadBorgJanitor = кибернетическая голова уборщика
- .desc = "кибернетическая голова уборщика"
+ .desc = кибернетическая голова уборщика
ent-TorsoBorgJanitor = кибернетический торс уборщика
- .desc = "кибернетический торс уборщика"
+ .desc = кибернетический торс уборщика
ent-LeftArmBorgMedical = кибернетическая левая рука медика
- .desc = "кибернетическая левая рука медика"
+ .desc = кибернетическая левая рука медика
ent-RightArmBorgMedical = кибернетическая правая рука медика
- .desc = "кибернетическая правая рука медика"
+ .desc = кибернетическая правая рука медика
ent-LeftLegBorgMedical = кибернетическая левая нога медика
- .desc = "кибернетическая левая нога медика"
+ .desc = кибернетическая левая нога медика
ent-RightLegBorgMedical = кибернетическая правая нога медика
- .desc = "кибернетическая правая нога медика"
+ .desc = кибернетическая правая нога медика
ent-HeadBorgMedical = кибернетическая голова медика
- .desc = "кибернетическая голова медика"
+ .desc = кибернетическая голова медика
ent-TorsoBorgMedical = кибернетический торс медика
- .desc = "кибернетический торс медика"
+ .desc = кибернетический торс медика
ent-LeftArmBorgMining = кибернетическая левая рука шахтёра
- .desc = "кибернетическая левая рука шахтёра"
+ .desc = кибернетическая левая рука шахтёра
ent-RightArmBorgMining = кибернетическая правая рука шахтёра
- .desc = "кибернетическая правая рука шахтёра"
+ .desc = кибернетическая правая рука шахтёра
ent-LeftLegBorgMining = кибернетическая левая нога шахтёра
- .desc = "кибернетическая левая нога шахтёра"
+ .desc = кибернетическая левая нога шахтёра
ent-RightLegBorgMining = кибернетическая правая нога шахтёра
- .desc = "кибернетическая правая нога шахтёра"
+ .desc = кибернетическая правая нога шахтёра
ent-HeadBorgMining = кибернетическая голова шахтёра
- .desc = "кибернетическая голова шахтёра"
+ .desc = кибернетическая голова шахтёра
ent-TorsoBorgMining = кибернетический торс шахтёра
- .desc = "кибернетический торс шахтёра"
+ .desc = кибернетический торс шахтёра
ent-LeftArmBorgService = кибернетическая левая рука обслуживающего персонала
- .desc = "кибернетическая левая рука обслуживающего персонала"
+ .desc = кибернетическая левая рука обслуживающего персонала
ent-RightArmBorgService = кибернетическая правая рука обслуживающего персонала
- .desc = "кибернетическая правая рука обслуживающего персонала"
+ .desc = кибернетическая правая рука обслуживающего персонала
ent-LeftLegBorgService = кибернетическая левая нога обслуживающего персонала
- .desc = "кибернетическая левая нога обслуживающего персонала"
+ .desc = кибернетическая левая нога обслуживающего персонала
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-107.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-107.ftl
index 0b700d0c76..1dd14c43ce 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-107.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-107.ftl
@@ -1,44 +1,44 @@
-ent-RightLegBorgService = правая кибернетическая нога
- .desc = "правая кибернетическая нога"
-ent-HeadBorgService = кибернетическая голова
- .desc = "кибернетическая голова"
-ent-TorsoBorgService = кибернетическое тело
- .desc = "кибернетическое тело"
-ent-CyborgEndoskeleton = кибернетический эндоскелет
+ent-RightLegBorgService = правая кибернетическая нога
+ .desc = правая кибернетическая нога
+ent-HeadBorgService = кибернетическая голова
+ .desc = кибернетическая голова
+ent-TorsoBorgService = кибернетическое тело
+ .desc = кибернетическое тело
+ent-CyborgEndoskeleton = кибернетический эндоскелет
.desc = Каркас, на котором строятся киборги. Значительно менее жутко, чем ожидалось.
-ent-MMI = интерфейс человек-машина
+ent-MMI = интерфейс человек-машина
.desc = Машина, способная обеспечить связь между биологическим мозгом и электроникой, позволяя экипажу продолжать приносить пользу после происшествий на работе.
-ent-PositronicBrain = позитронный мозг
+ent-PositronicBrain = позитронный мозг
.desc = Искусственный мозг, способный к спонтанной нейронной активности.
-ent-OreBagOfHolding = мешок для руды
+ent-OreBagOfHolding = мешок для руды
.desc = Прочный мешок для хранения, позволяющий как миллионерам-спасателям, так и богатым шахтерам носить с собой большое количество руды. Магнитит любую руду поблизости, когда прикреплен к поясу.
-ent-BoxEvidenceMarkers = коробка с маркерами для улик
+ent-BoxEvidenceMarkers = коробка с маркерами для улик
.desc = Упаковка пронумерованных желтых маркеров, полезных для маркировки улик на месте преступления.
-ent-VendingMachineRestockCondimentStation = коробка для пополнения станции приправ
+ent-VendingMachineRestockCondimentStation = коробка для пополнения станции приправ
.desc = Пополните станцию приправ. Ммм, холодный соус.
-ent-AccessConfigurator = конфигуратор доступа
+ent-AccessConfigurator = конфигуратор доступа
.desc = Используется для изменения требований к уровню доступа для воздушных шлюзов и других запираемых устройств.
-ent-BalloonOperative = оперативный воздушный шар
+ent-BalloonOperative = оперативный воздушный шар
.desc = При ближайшем рассмотрении этот оперативник Синдиката оказывается воздушным шаром.
-ent-BalloonAgent = агент-воздушный шар
+ent-BalloonAgent = агент-воздушный шар
.desc = При ближайшем рассмотрении этот агент Синдиката оказывается воздушным шаром.
-ent-BalloonElite = элитный оперативный воздушный шар
+ent-BalloonElite = элитный оперативный воздушный шар
.desc = При ближайшем рассмотрении этот элитный оперативник Синдиката оказывается воздушным шаром.
-ent-BalloonJuggernaut = воздушный шар-джуггернаут
+ent-BalloonJuggernaut = воздушный шар-джуггернаут
.desc = При ближайшем рассмотрении этот джуггернаут Синдиката оказывается воздушным шаром.
-ent-BalloonCommander = командир-воздушный шар
+ent-BalloonCommander = командир-воздушный шар
.desc = При ближайшем рассмотрении этот командир Синдиката оказывается воздушным шаром.
-ent-EnergyDomeGeneratorPersonalSyndie = персональный генератор щита кроваво-красного цвета
+ent-EnergyDomeGeneratorPersonalSyndie = персональный генератор щита кроваво-красного цвета
.desc = Персональный генератор щита, защищающий носителя от лазеров и пуль, но препятствующий использованию дальнобойного оружия. Использует силовой элемент.
-ent-EnergyDomeDirectionalTurtle = BR-40c "Черепаха"
+ent-EnergyDomeDirectionalTurtle = BR-40c "Черепаха"
.desc = Двухручный и тяжелый энергетический барьер с чрезвычайно низким пассивным потреблением энергии. Может быть прикреплен к многофункциональному инструменту.
-ent-EnergyDomeWiredTest = Статический купол
- .desc = Тестовый энергетический барьер, питаемый от кабелей станции. Я понятия не имею, как его сбалансировать.....
+ent-EnergyDomeWiredTest = Статический купол
+ .desc = Тестовый энергетический барьер, питаемый от кабелей станции. Я понятия не имею, как его сбалансировать.....
.suffix = НЕ СЛИВАТЬ
-ent-FultonBeacon = маяк Фултона
+ent-FultonBeacon = маяк Фултона
.desc = Маяк для получения эвакуации по Фултону.
-ent-Fulton = Фултон
- .desc = Используется для извлечения контейнеров, предметов или принудительной вербовки людей на вашу базу.
- .suffix = Полный
+ent-Fulton = Фултон
+ .desc = Используется для извлечения контейнеров, предметов или принудительной вербовки людей на вашу базу.
+ .suffix = Полный
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-108.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-108.ftl
index d2b955634d..057bb1d792 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-108.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-108.ftl
@@ -1,5 +1,5 @@
ent-Fulton1 = fulton
- .desc = "fulton"
+ .desc = fulton
.suffix = One
ent-EmergencyNitrogenTank = аварийный баллон с азотом
.desc = Легко переносимый баллон для аварийных ситуаций. Содержит очень мало азота, предназначен только для выживания.
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-109.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-109.ftl
index a875a0e7fc..0c079febd6 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-109.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-109.ftl
@@ -31,7 +31,7 @@ ent-WhiteCane = белая трость
ent-ThrowingStar = метательное оружие
.desc = Древнее оружие, которое по сей день используется благодаря своей простоте, благодаря которой оно легко впивается в тело жертвы.
ent-ThrowingCard = карта
- .desc = "карта"
+ .desc = карта
ent-CryogenicSleepUnit = криогенный спящий модуль
.desc = Сверхохлажденный контейнер, который обеспечивает безопасность членов экипажа во время космических путешествий.
ent-PowerSensor = датчик питания
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-110.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-110.ftl
index 2aa948ea1e..9e95eb9aca 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-110.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-110.ftl
@@ -3,13 +3,13 @@ ent-FleshBlocker = кусок плоти
ent-Mannequin = манекен
.desc = Может носить любую одежду со стилем.
ent-ChemDispenserEmpty = химический диспенсер
- .desc = "химический диспенсер"
+ .desc = химический диспенсер
.suffix = Пустой
ent-SodaDispenser = автомат с газировкой
.desc = Диспенсер с напитками, предлагающий газировку и несколько других распространенных напитков. Имеет один слот для заполнения емкостей.
.suffix = Заполненный
ent-PinionAirlockAssembly = шлюзовая сборка
- .desc = "шлюзовая сборка"
+ .desc = шлюзовая сборка
.suffix = Шестерня, Часовой механизм
ent-AirlockGlassShuttleSyndicate = внешний шлюз
.desc = Необходим для соединения двух космических кораблей.
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-111.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-111.ftl
index c0a4da7bb1..33768a5312 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-111.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-111.ftl
@@ -3,10 +3,10 @@ ent-PsychBed = кушетка психолога
ent-BenchComfy = удобная скамья
.desc = Скамья с очень удобной спинкой.
ent-ChairGreyscale = стул
- .desc = "стул"
+ .desc = стул
.suffix = Белый
ent-ChairBrass = медный стул
- .desc = "медный стул"
+ .desc = медный стул
ent-BlackComfyChair = черный удобный стул
.desc = Выглядит удобно.
ent-BlueComfyChair = синий удобный стул
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-113.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-113.ftl
index 7114f25814..8effc6def2 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-113.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-113.ftl
@@ -26,7 +26,7 @@ ent-MachineCentrifuge = настольная центрифуга
ent-HeatExchanger = радиатор
.desc = Переносит тепло между трубой и окружающей средой.
ent-GasMinerAmmonia = газовый добытчик аммиака
- .desc = "газовый добытчик аммиака"
+ .desc = газовый добытчик аммиака
ent-GasPipeBroken = сломанная труба
.desc = Раньше в ней был газ.
ent-SpaceHeater = космический обогреватель
@@ -37,6 +37,6 @@ ent-BaseGasCondenser = конденсатор
ent-DisposalSignalRouter = маршрутизатор сигналов утилизации
.desc = Трехходовой маршрутизатор, управляемый сигналами.
ent-PowerCageRecharger = зарядное устройство для клеток
- .desc = "зарядное устройство для клеток"
+ .desc = зарядное устройство для клеток
ent-BorgCharger = зарядная станция для киборгов
.desc = Стационарное зарядное устройство для различных роботов и киборгов. Удивительно просторное.
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-115.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-115.ftl
index c8334a257c..563f8a2257 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-115.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-115.ftl
@@ -10,18 +10,18 @@ ent-ClosetJanitorBomb = шкаф с костюмами для уборки от
ent-LockerSyndicate = оружейный шкаф
.desc = Это хранилище.
ent-LockerSteel = сейфовый шкаф
- .desc = "сейфовый шкаф"
+ .desc = сейфовый шкаф
ent-LockerRepresentative = шкаф представителя
- .desc = "шкаф представителя"
+ .desc = шкаф представителя
ent-CrateWeb = ящик с паутиной
- .desc = "ящик с паутиной"
+ .desc = ящик с паутиной
ent-CrateContrabandStorageSecure = ящик для хранения контрабанды
.desc = Запертый ящик для доступа в оружейную комнату для хранения контрабанды, конфискованной у подозреваемых или заключенных.
.suffix = Armory, Secure
ent-CrateTrashCart = мусорка
- .desc = "мусорка"
+ .desc = мусорка
ent-CrateTrashCartJani = мусорка для уборщиков
- .desc = "мусорка для уборщиков"
+ .desc = мусорка для уборщиков
ent-WeldingFuelTankHighCapacity = топливный бак большой емкости
.desc = Высокогерметичный топливный бак, предназначенный для хранения огромного количества сварочного топлива.
.suffix = Full
@@ -30,7 +30,7 @@ ent-NoticeBoard = доска объявлений
ent-Screen = экран
.desc = Показывает текст или время.
ent-ArrivalsShuttleTimer = экран прибытия
- .desc = "экран прибытия"
+ .desc = экран прибытия
ent-JanitorServiceLight = индикатор уборки
.desc = Настенный знак уборки. Если индикатор мигает, требуется помощь уборщика.
ent-ShelfWood = деревянная полка
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-116.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-116.ftl
index c0e4444afe..f302572fc8 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-116.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-116.ftl
@@ -11,18 +11,18 @@ ent-ShelfChemistry = полка для химикатов
ent-ShotGunCabinet = шкаф для дробовика
.desc = На нем есть маленькая этикетка с надписью "Только для аварийных случаев" с описанием безопасного использования дробовика. Как будто.
ent-SignalSwitchDirectional = сигнальный выключатель
- .desc = "сигнальный выключатель"
+ .desc = сигнальный выключатель
.suffix = направленный
ent-SignalButtonDirectional = сигнальная кнопка
- .desc = "сигнальная кнопка"
+ .desc = сигнальная кнопка
.suffix = направленный
-ent-ApcNetSwitchDirectional = коммутатор сети АПВ
- .desc = "коммутатор сети АПВ"
+ent-ApcNetSwitchDirectional = коммутатор сети АПЦ
+ .desc = коммутатор сети АПЦ
.suffix = направленный
ent-CleanerDispenser = дозатор для космического чистящего средства
.desc = Настенный дозатор реагентов.
ent-FuelDispenser = топливный дозатор
- .desc = "топливный дозатор"
+ .desc = топливный дозатор
ent-BlankFlag = пустой флаг
.desc = Кусок белой ткани. Ни в коем случае не флаг Франции.
ent-NTFlag = флаг Нантрасена
@@ -40,4 +40,4 @@ ent-SignDirectionalIcu = указатель "Интенсивная терапи
ent-SignArcade = указатель "Аркада"
.desc = Надпись, обозначающая аркаду.
ent-SignAnomaly2 = указатель "Лаборатория аномалий"
- .desc = Надпись, обозначающая лабораторию аномальных исследований.
+ .desc = Надпись, обозначающая лабораторию аномальных исследований.
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-117.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-117.ftl
index 3c706ba6d7..adb1ffd379 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-117.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-117.ftl
@@ -27,11 +27,11 @@ ent-IronRockMining = железная скала
.desc = Астероид.
.suffix = Более высокая добыча руды
ent-WallRockSand = песчаник
- .desc = "песчаник"
+ .desc = песчаник
ent-WallRockChromite = хромит
- .desc = "хромит"
+ .desc = хромит
ent-WallRockAndesite = андезит
- .desc = "андезит"
+ .desc = андезит
ent-FenceMetalBroken = сломанный забор из цепной сетки
.desc = Кто-то очень сильно разозлился на неодушевленный предмет.
ent-FenceMetalGate = ворота из цепной сетки
@@ -39,4 +39,4 @@ ent-FenceMetalGate = ворота из цепной сетки
ent-FenceWoodHighGate = деревянные ворота
.desc = Тебе известно, что тебя ждет за этими воротами? Это может быть как туалет, так и роскошный особняк. Но ты продолжаешь любить своих эмо-мальчиков.
ent-FenceWoodSmallGate = деревянные ворота
- .desc = Глядя на эти ворота, в голове всплывает знакомый образ. Где моя свинка?
+ .desc = Глядя на эти ворота, в голове всплывает знакомый образ. Где моя свинка?
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-118.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-118.ftl
index 707e140de4..23efcf6541 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-118.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-118.ftl
@@ -5,40 +5,40 @@ ent-ClockworkGrille = решетка из шестерен
ent-ClockworkGrilleBroken = решетка из шестерен
.desc = Хлипкая конструкция из железных прутьев, собранная в традиционном ратварианском стиле. Видела лучшие времена.
ent-GrilleDiagonal = диагональная решетка
- .desc = "диагональная решетка"
+ .desc = диагональная решетка
ent-ClockworkGrilleDiagonal = диагональная решетка из шестерен
- .desc = "диагональная решетка из шестерен"
+ .desc = диагональная решетка из шестерен
ent-RailingRound = перила
.desc = Простые перила, чтобы защитить таких дураков, как ты, от падения.
ent-WallReinforcedRust = усиленная стена
- .desc = "усиленная стена"
+ .desc = усиленная стена
.suffix = ржавая
ent-WallReinforcedDiagonal = усиленная стена
- .desc = "усиленная стена"
+ .desc = усиленная стена
.suffix = диагональная
ent-WallShuttleInterior = стена челнока
- .desc = "стена челнока"
+ .desc = стена челнока
.suffix = Внутренняя
ent-WallWeb = стена из паутины
.desc = Держит пауков внутри, а сероприлив - снаружи.
ent-WallNecropolis = каменная стена
- .desc = "каменная стена"
+ .desc = каменная стена
ent-WallMining = стена
- .desc = "стена"
+ .desc = стена
ent-WallMiningDiagonal = стена
- .desc = "стена"
+ .desc = стена
.suffix = диагональная
ent-WallCobblebrick = стена из булыжника
.desc = Камень за камнем, идеально подогнанный, чтобы сформировать стену.
ent-WallBasaltCobblebrick = стена из базальтового кирпича
- .desc = "стена из базальтового кирпича"
+ .desc = стена из базальтового кирпича
ent-WallSnowCobblebrick = стена из снежного кирпича
.desc = Холодная, не очень непроницаемая стена.
ent-WallAsteroidCobblebrick = стена из астероидного кирпича
- .desc = "стена из астероидного кирпича"
+ .desc = стена из астероидного кирпича
ent-WallSandCobblebrick = стена из песчаного кирпича
- .desc = "стена из песчаного кирпича"
+ .desc = стена из песчаного кирпича
ent-WallChromiteCobblebrick = стена из хромитового кирпича
- .desc = "стена из хромитового кирпича"
+ .desc = стена из хромитового кирпича
ent-WallAndesiteCobblebrick = стена из андезитового кирпича
- .desc = "стена из андезитового кирпича"
+ .desc = стена из андезитового кирпича
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-58.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-58.ftl
index 751ec52daa..4b744571ca 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-58.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-58.ftl
@@ -1,5 +1,5 @@
-ent-ClothingBackpackERTChaplain = рюкзак капеллана ERT
- .desc = Просторный рюкзак с множеством карманов, который носят капелланы отряда быстрого реагирования.
+ent-ClothingBackpackERTChaplain = рюкзак капеллана ОБР
+ .desc = Просторный рюкзак с множеством карманов, который носят капелланы Отряда Быстрого Реагирования.
ent-ClothingBackpackSyndicate = рюкзак синдиката
ent-ClothingBackpackDebug = странный рюкзак
.desc = Что за хрень?
@@ -19,7 +19,7 @@ ent-ClothingBeltAssaultFilled = штурмовой пояс
.desc = Тактический штурмовой пояс.
.suffix = Filled
ent-ClothingHeadsetAltFreelancer = наушники фрилансера
- .desc = "наушники фрилансера"
+ .desc = наушники фрилансера
ent-ClothingEyesGlassesJensen = очки Дженсена
.desc = Пара желтых складных очков. Ты никогда не просил об этом.
ent-ClothingEyesGlassesJamjar = очки "банка варенья"
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-59.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-59.ftl
index b2e0598116..8ff984dc42 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-59.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-59.ftl
@@ -1,11 +1,11 @@
-ent-ClothingEyesEyepatchHudBeer = защитные очки для пива с HUD
+ent-ClothingEyesEyepatchHudBeer = защитные очки для пива с HUD
.desc = Очки с солнечным HUD, оснащенные аппаратурой для сканирования реагентов, а также обеспечивающие интуитивное понимание вязкости жидкости в движении. Для истинных патриотов.
ent-ClothingEyesEyepatchHudDiag = диагностические очки с HUD
.desc = Очки с дисплеем, способные анализировать целостность и состояние роботов и экзокостюмов. Изготовлено из see-borg-ium.
-ent-ClothingHandsGlovesHop = перчатки с защитой от порезов
+ent-ClothingHandsGlovesHop = перчатки с защитой от порезов
.desc = Идеально подходят для бумажной работы и решения бюрократических вопросов.
-ent-ClothingHandsGlovesCluwne = лапы cluwne
- .desc = Проклятые лапы cluwne.
+ent-ClothingHandsGlovesCluwne = лапы клувна
+ .desc = Проклятые лапы клувна.
.suffix = Невозможно снять
ent-ClothingHandsGlovesJanitor = резиновые перчатки
.desc = Высококачественные резиновые перчатки, скрипучие для уборки!
@@ -13,8 +13,8 @@ ent-ClothingHeadHelmetHardsuitLuxury = шлем горнодобывающего
.desc = Восстановленный шлем горнодобывающего костюма, оснащенный атласной подкладкой и дополнительной (нерабочей) антенной, потому что вы особенный.
ent-ClothingHeadHelmetHardsuitSyndieMedic = кроваво-красный шлем медицинского костюма
.desc = Усовершенствованный красный шлем костюма, специально разработанный для полевых медицинских операций.
-ent-ClothingHeadHelmetHardsuitERTChaplain = шлем костюма священника ERT
- .desc = Специальный шлем костюма, который носят члены группы быстрого реагирования.
+ent-ClothingHeadHelmetHardsuitERTChaplain = шлем костюма священника ОБР
+ .desc = Специальный шлем костюма, который носят члены Отряда Быстрого Реагирования.
ent-ClothingHeadHelmetHardsuitMime = шлем костюма мима
.desc = Шлем костюма мима.
ent-ClothingHeadHelmetHardsuitSanta = шлем костюма Санты
@@ -34,8 +34,8 @@ ent-ClothingHeadHatGladiator = шлем гладиатора
ent-ClothingHeadHatPartyRed = красная колпачок для вечеринки
.desc = Распространяйте радость!
ent-ClothingHeadHatPartyYellow = желтая колпачок для вечеринки
- .desc = "желтая колпачок для вечеринки"
+ .desc = желтая колпачок для вечеринки
ent-ClothingHeadHatPartyGreen = зеленая колпачок для вечеринки
- .desc = "зеленая колпачок для вечеринки"
+ .desc = зеленая колпачок для вечеринки
ent-ClothingHeadHatPartyBlue = синяя колпачок для вечеринки
- .desc = "синяя колпачок для вечеринки"
+ .desc = синяя колпачок для вечеринки
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-60.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-60.ftl
index 9bf56ea194..d8d0c829a4 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-60.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-60.ftl
@@ -7,15 +7,15 @@ ent-ClothingHeadHatBrownFlatcap = коричневая кепка
ent-ClothingHeadHatCowboyBrown = коричневая ковбойская шляпа
.desc = Эта шляпа слишком мала для нас двоих.
ent-ClothingHeadHatCowboyBlack = черная ковбойская шляпа
- .desc = "черная ковбойская шляпа"
+ .desc = черная ковбойская шляпа
ent-ClothingHeadHatCowboyGrey = серая ковбойская шляпа
- .desc = "серая ковбойская шляпа"
+ .desc = серая ковбойская шляпа
ent-ClothingHeadHatCowboyRed = красная ковбойская шляпа
- .desc = "красная ковбойская шляпа"
+ .desc = красная ковбойская шляпа
ent-ClothingHeadHatCowboyWhite = белая ковбойская шляпа
- .desc = "белая ковбойская шляпа"
+ .desc = белая ковбойская шляпа
ent-ClothingHeadHatCowboyBountyHunter = шляпа ковбоя-охотника за головами
- .desc = "шляпа ковбоя-охотника за головами"
+ .desc = шляпа ковбоя-охотника за головами
ent-ClothingHeadHatStrawHat = соломенная шляпа
.desc = Модная шляпа для жарких дней! Не рекомендуется носить рядом с огнем.
ent-ClothingHeadHatBeretMedic = медицинская беретка
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-61.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-61.ftl
index 2e870000f1..701ac5b2de 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-61.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-61.ftl
@@ -1,5 +1,5 @@
ent-ClothingHeadHatBlacksoftFlipped = черная кепка
- .desc = "черная кепка"
+ .desc = черная кепка
ent-ClothingMaskBandBlack = черная бандана
.desc = Черная бандана, чтобы ты выглядел круто.
ent-ClothingMaskBandBlue = синяя бандана
@@ -21,7 +21,7 @@ ent-ClothingMaskBandMerc = бандана наемника
ent-ClothingMaskBandBrown = коричневая бандана
.desc = Коричневая бандана, чтобы ты выглядел круто.
ent-ClothingMaskClownBanana = парик и маска бананового клоуна
- .desc = "парик и маска бананового клоуна"
+ .desc = парик и маска бананового клоуна
ent-ClothingMaskNinja = маска ниндзя
.desc = Плотно прилегающая нано-улучшенная маска, которая служит как воздушным фильтром, так и постмодернистским модным заявлением.
ent-ClothingMaskWeldingGas = сварочная маска
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-62.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-62.ftl
index 89c81e81ed..aec943ae16 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-62.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-62.ftl
@@ -25,16 +25,16 @@ ent-ClothingOuterArmorPodWars = броня Железный Улей II
ent-ClothingOuterCoatTrench = тренч
.desc = Удобный тренч.
ent-ClothingOuterCoatLabOpened = халат
- .desc = "халат"
+ .desc = халат
ent-ClothingOuterCoatLabChemOpened = халат химика
- .desc = "халат химика"
+ .desc = халат химика
ent-ClothingOuterCoatLabViroOpened = халат вирусолога
- .desc = "халат вирусолога"
+ .desc = халат вирусолога
ent-ClothingOuterCoatLabGeneOpened = халат генетика
- .desc = "халат генетика"
+ .desc = халат генетика
ent-ClothingOuterCoatLabCmoOpened = халат главного врача
- .desc = "халат главного врача"
+ .desc = халат главного врача
ent-ClothingOuterCoatRndOpened = халат ученого
- .desc = "халат ученого"
+ .desc = халат ученого
ent-ClothingOuterCoatRoboOpened = халат робототехника
- .desc = "халат робототехника"
+ .desc = халат робототехника
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-63.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-63.ftl
index 28a2cbe766..bd22ed5192 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-63.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-63.ftl
@@ -1,7 +1,7 @@
ent-ClothingOuterCoatRD = лабораторный халат директора исследований
.desc = Ткань, из которой сшит этот халат, пропитана передовыми технологиями, защищающими от радиации подобно экспериментальному скафандру.
ent-ClothingOuterCoatRDOpened = лабораторный халат директора исследований
- .desc = "лабораторный халат директора исследований"
+ .desc = лабораторный халат директора исследований
ent-ClothingOuterCoatSyndieCapMeaty = халат синдиката
.desc = Халат синдиката изготовлен из прочной ткани с позолоченными узорами.
ent-ClothingOuterCoatSyndieCapArmoredMeaty = бронированный халат синдиката
@@ -16,8 +16,8 @@ ent-ClothingOuterHardsuitLuxury = роскошный горнодобывающ
.desc = Обновленный горнодобывающий скафандр, оформленный в цветах квартирмейстера. Графеновая подкладка обеспечивает меньшую защиту, но ее легче носить.
ent-ClothingOuterHardsuitSyndieMedic = кроваво-красный медицинский скафандр
.desc = Тяжело бронированный и маневренный усовершенствованный скафандр, специально разработанный для операций полевой медицины.
-ent-ClothingOuterHardsuitERTChaplain = скафандр капеллана команды быстрого реагирования
- .desc = Защитный скафандр, который носят капелланы отряда быстрого реагирования.
+ent-ClothingOuterHardsuitERTChaplain = скафандр капеллана Отряда Быстрого Реагирования
+ .desc = Защитный скафандр, который носят капелланы Отряда Быстрого Реагирования.
ent-ClothingOuterHardsuitMime = скафандр мима
.desc = Скафандр мима, изготовленный на заказ.
ent-ClothingOuterHardsuitSanta = скафандр Санты
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-64.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-64.ftl
index 0cd16e8ea7..eb4f5994dd 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-64.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-64.ftl
@@ -17,17 +17,17 @@ ent-ClothingOuterWinterSyndieMeaty = зимнее пальто синдикат
ent-ClothingShoesHighheelBoots = туфли на высоком каблуке
.desc = Стильные сапоги для тех, кто хочет быть модным, но готовым ко всему.
ent-ClothingShoesBootsWinter = зимние сапоги
- .desc = "зимние сапоги"
+ .desc = зимние сапоги"
ent-ClothingShoesBootsWinterCargo = зимние сапоги для грузов
- .desc = "зимние сапоги для грузов"
+ .desc = зимние сапоги для грузов
ent-ClothingShoesBootsWinterEngi = зимние сапоги инженера
- .desc = "зимние сапоги инженера"
+ .desc = зимние сапоги инженера
ent-ClothingShoesBootsWinterMed = зимние сапоги медика
- .desc = "зимние сапоги медика"
+ .desc = зимние сапоги медика
ent-ClothingShoesBootsWinterSci = зимние сапоги ученого
- .desc = "зимние сапоги ученого"
+ .desc = зимние сапоги ученого
ent-ClothingShoesBootsWinterSec = зимние сапоги охраны
- .desc = "зимние сапоги охраны"
+ .desc = зимние сапоги охраны
ent-ClothingShoesBootsWinterSyndicate = зимние сапоги синдиката
.desc = Прочные тяжелые сапоги, выглядит как мерч из "Синдиленда"
ent-ClothingShoesBootsWinterWeb = зимние сапоги паутины
@@ -35,6 +35,6 @@ ent-ClothingShoesBootsWinterWeb = зимние сапоги паутины
ent-ClothingShoesBootsCowboyBrown = коричневые ковбойские сапоги
.desc = У них есть шпоры, которые звенят или бренчат.
ent-ClothingShoesBootsCowboyBlack = черные ковбойские сапоги
- .desc = "черные ковбойские сапоги"
+ .desc = черные ковбойские сапоги
ent-ClothingShoesBootsCowboyWhite = белые ковбойские сапоги
- .desc = "белые ковбойские сапоги"
+ .desc = белые ковбойские сапоги
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-65.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-65.ftl
index 03b995ffe5..7e79b19d75 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-65.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-65.ftl
@@ -1,5 +1,5 @@
ent-ClothingShoesBootsCowboyFancy = модные ковбойские сапоги
- .desc = "модные ковбойские сапоги"
+ .desc = модные ковбойские сапоги
ent-ClothingShoesSnakeskinBoots = сапоги из змеиной кожи
.desc = Сапоги из высококачественной змеиной кожи, все вокруг будут завидовать.
ent-ClothingShoesBootsSpeed = скоростные ботинки
@@ -35,6 +35,6 @@ ent-ClothingUniformJumpsuitChiefEngineerTurtle = водолазка главно
ent-ClothingUniformJumpsuitCentcomAgent = комбинезон агента ЦенКом
.desc = Костюм, который носит юридическая команда ЦенКом. Пахнет жженой кофе.
ent-ClothingUniformJumpsuitClownBanana = банановый костюм клоуна
- .desc = "банановый костюм клоуна"
+ .desc = банановый костюм клоуна
ent-ClothingUniformJumpsuitCMOTurtle = водолазка с комбинезоном главного врача
.desc = Это водолазка, которую носят те, у кого есть опыт работы главным врачом. Она обеспечивает незначительную биологическую защиту.
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-66.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-66.ftl
index c893688ece..294d0f15c2 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-66.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-66.ftl
@@ -6,7 +6,7 @@ ent-ClothingUniformJumpsuitCurator = разумный костюм
.desc = Разумный. Слишком разумный...
ent-ClothingUniformJumpsuitNinja = костюм ниндзя
.desc = Удобный костюм ниндзя, для удобства при отдыхе и при необходимости тренироваться.
-ent-ClothingUniformJumpsuitERTChaplain = форма капеллана ERT
+ent-ClothingUniformJumpsuitERTChaplain = форма капеллана ОБР
.desc = Специальный костюм, созданный для элитного корпуса капелланов Центрального командования.
ent-ClothingUniformJumpsuitWeb = костюм паука
.desc = Дает понять, что ты - один из пауков.
@@ -23,19 +23,19 @@ ent-ClothingUniformJumpsuitCasualRed = красный повседневный
ent-ClothingUniformJumpsuitFamilyGuy = знакомая одежда
.desc = Заставляет вас вспомнить время, когда вы сделали что-то смешное.
ent-ClothingRandomSpawner = случайный красочный костюм
- .desc = "случайный красочный костюм"
+ .desc = случайный красочный костюм
ent-ClothingUniformRandomArmless = красочный костюм без рукавов
- .desc = "красочный костюм без рукавов"
+ .desc = красочный костюм без рукавов
ent-ClothingUniformRandomStandard = красочный костюм
- .desc = "красочный костюм"
+ .desc = красочный костюм
ent-ClothingUniformRandomBra = красочный бюстгальтер
- .desc = "красочный бюстгальтер"
+ .desc = красочный бюстгальтер
ent-ClothingUniformRandomShorts = красочные штаны
- .desc = "красочные штаны"
+ .desc = красочные штаны
ent-ClothingUniformRandomShirt = красочный костюм
- .desc = "красочный костюм"
+ .desc = красочный костюм
ent-DebugItemShapeWeird = предмет странной формы
.desc = Что это...?
.suffix = DEBUG
ent-Acidifier = кислота
- .desc = Растворяет тебя в лужу гадости!
+ .desc = Растворяет тебя в лужу гадости!
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-67.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-67.ftl
index 11ef580b35..3824a4ccf2 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-67.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-67.ftl
@@ -1,43 +1,43 @@
ent-MobSpawnCrabQuartz = генератор кварцевых крабов
- .desc = "генератор кварцевых крабов"
+ .desc = генератор кварцевых крабов
ent-MobSpawnCrabIron = генератор железных крабов
- .desc = "генератор железных крабов"
+ .desc = генератор железных крабов
ent-MobSpawnCrabSilver = генератор серебряных крабов
- .desc = "генератор серебряных крабов"
+ .desc = генератор серебряных крабов
ent-MobSpawnCrabUranium = генератор урановых крабов
- .desc = "генератор урановых крабов"
+ .desc = генератор урановых крабов
ent-ShadowPortal = теневой разлом
.desc = Выглядит нестабильно.
ent-BaseRoomMarker = Маркер комнаты
- .desc = "Маркер комнаты"
+ .desc = Маркер комнаты
.suffix = Weh
ent-FTLExclusion = Точка исключения FTL
- .desc = "Точка исключения FTL"
+ .desc = Точка исключения FTL
ent-WarpPointBeacon = точка перехода (маяк)
- .desc = "точка перехода (маяк)"
+ .desc = точка перехода (маяк)
ent-WarpPointBombing = точка перехода
- .desc = "точка перехода"
+ .desc = точка перехода
.suffix = цель бомбардировки ниндзя
ent-SpawnPointGhostSpaceNinja = точка появления призрачного роли
- .desc = "точка появления призрачного роли"
+ .desc = точка появления призрачного роли
.suffix = космический ниндзя
ent-SpawnPointGhostTerminator = точка появления терминатора
- .desc = "точка появления терминатора"
+ .desc = точка появления терминатора
ent-SpawnMobSyndicateFootSoldier = генератор пехотинца синдиката
- .desc = "генератор пехотинца синдиката"
+ .desc = генератор пехотинца синдиката
ent-SpawnMobSyndicateFootsoldierPilot = генератор пилота челнока синдиката
- .desc = "генератор пилота челнока синдиката"
+ .desc = генератор пилота челнока синдиката
ent-SpawnPointPassenger = ассистент
- .desc = "ассистент"
+ .desc = ассистент
ent-SpawnPointInspector = инспектор
- .desc = "инспектор"
+ .desc = инспектор
ent-SpawnPointBomzh = бомж
- .desc = "бомж"
+ .desc = бомж
ent-SpawnPointMaid = горничная
- .desc = "горничная"
+ .desc = горничная
ent-SpawnPointBorg = киборг
- .desc = "киборг"
-ent-SpawnPointERTChaplain = ERT-священник
- .desc = "ERT-священник"
+ .desc = киборг
+ent-SpawnPointERTChaplain = ОБР-священник
+ .desc = ОБР-священник
ent-SpawnMobCockroach = Генератор тараканов
- .desc = "Генератор тараканов"
+ .desc = Генератор тараканов
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-68.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-68.ftl
index 585f298351..1fbdcaad5e 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-68.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-68.ftl
@@ -1,47 +1,47 @@
ent-SpawnMobCrabAtmos = Спавнер тропиков
- .desc = "Спавнер тропиков"
+ .desc = Спавнер тропиков
ent-SpawnMobCatKitten = Спавнер котят
- .desc = "Спавнер котят"
+ .desc = Спавнер котят
ent-SpawnMobShark = Спавнер космической акулы-пескаря
- .desc = "Спавнер космической акулы-пескаря"
+ .desc = Спавнер космической акулы-пескаря
ent-SpawnMobSpaceCobra = Спавнер космического кобры
- .desc = "Спавнер космического кобры"
+ .desc = Спавнер космического кобры
ent-SpawnMobHellspawn = Спавнер адского порождения
- .desc = "Спавнер адского порождения"
+ .desc = Спавнер адского порождения
ent-SpawnMobOreCrab = Спавнер рудного краба
- .desc = "Спавнер рудного краба"
+ .desc = Спавнер рудного краба
ent-SpawnMobLuminousPerson = Спавнер светящегося человека
- .desc = "Спавнер светящегося человека"
+ .desc = Спавнер светящегося человека
ent-SpawnMobLuminousObject = Спавнер светящегося объекта
- .desc = "Спавнер светящегося объекта"
+ .desc = Спавнер светящегося объекта
ent-SpawnMobLuminousEntity = Спавнер светящегося существа
- .desc = "Спавнер светящегося существа"
+ .desc = Спавнер светящегося существа
ent-SpawnClownSpider = Спавнер клоуна-паука
- .desc = "Спавнер клоуна-паука"
+ .desc = Спавнер клоуна-паука
ent-RandomBook = Спавнер случайной книги
- .desc = "Спавнер случайной книги"
+ .desc = Спавнер случайной книги
.suffix = 85%
ent-RandomBox = Спавнер случайного ящика
- .desc = "Спавнер случайного ящика"
+ .desc = Спавнер случайного ящика
.suffix = 65%
ent-RandomCash = Спавнер случайных денег
- .desc = "Спавнер случайных денег"
+ .desc = Спавнер случайных денег
.suffix = 95%
ent-RandomCircuit = Спавнер случайной схемы
- .desc = "Спавнер случайной схемы"
+ .desc = Спавнер случайной схемы
.suffix = 85%
ent-RandomDisabler = Спавнер случайного отключателя
- .desc = "Спавнер случайного отключателя"
+ .desc = Спавнер случайного отключателя
.suffix = 40%
ent-RandomEGun = Спавнер случайного электрогана
- .desc = "Спавнер случайного электрогана"
+ .desc = Спавнер случайного электрогана
.suffix = 10%
ent-RandomFlashlight = Спавнер случайного фонарика
- .desc = "Спавнер случайного фонарика"
+ .desc = Спавнер случайного фонарика
.suffix = 90%
ent-RandomGirder = Спавнер случайной балки
- .desc = "Спавнер случайной балки"
+ .desc = Спавнер случайной балки
.suffix = 70%
ent-RandomHandcuffs = Спавнер случайных наручников
- .desc = "Спавнер случайных наручников"
+ .desc = Спавнер случайных наручников
.suffix = 50%
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-69.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-69.ftl
index f78a999694..3bd6c891e4 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-69.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-69.ftl
@@ -1,56 +1,56 @@
ent-RandomCloset = генератор случайных шкафов
- .desc = "генератор случайных шкафов"
+ .desc = генератор случайных шкафов
.suffix = 80%
ent-RandomMedkit = генератор случайных аптечек
- .desc = "генератор случайных аптечек"
+ .desc = генератор случайных аптечек
.suffix = 70%
ent-RandomMaterial = генератор случайных материалов
- .desc = "генератор случайных материалов"
+ .desc = генератор случайных материалов
.suffix = 70%
ent-RandomPeel = генератор случайных кожуры
- .desc = "генератор случайных кожуры"
+ .desc = генератор случайных кожуры
.suffix = 80%
-ent-RandomPower = генератор случайных P.A.C.M.A.N
- .desc = "генератор случайных P.A.C.M.A.N"
+ent-RandomPower = генератор случайных P.A.C.M.A.N
+ .desc = генератор случайных P.A.C.M.A.N
.suffix = 80%
ent-RandomRods = генератор случайных прутьев
- .desc = "генератор случайных прутьев"
+ .desc = генератор случайных прутьев
.suffix = 90%
ent-RandomRollerBed = генератор случайных каталок
- .desc = "генератор случайных каталок"
+ .desc = генератор случайных каталок
.suffix = 60%
ent-RandomShard = генератор случайных осколков
- .desc = "генератор случайных осколков"
+ .desc = генератор случайных осколков
.suffix = 80%
ent-RandomShiv = генератор случайных шилов
- .desc = "генератор случайных шилов"
+ .desc = генератор случайных шилов
.suffix = 50%
ent-RandomTank = генератор случайных танков
- .desc = "генератор случайных танков"
+ .desc = генератор случайных танков
.suffix = 80%
ent-RandomToolbox = генератор случайных ящиков с инструментами
- .desc = "генератор случайных ящиков с инструментами"
+ .desc = генератор случайных ящиков с инструментами
.suffix = 70%
ent-RandomVomit = генератор случайной рвоты
- .desc = "генератор случайной рвоты"
+ .desc = генератор случайной рвоты
.suffix = 60%
ent-RandomWood = генератор случайной древесины
- .desc = "генератор случайной древесины"
+ .desc = генератор случайной древесины
.suffix = 80%
ent-RandomUtility = генератор случайных инструментов
- .desc = "генератор случайных инструментов"
+ .desc = генератор случайных инструментов
.suffix = 80%
ent-RandomSyndie = генератор случайных синдикатов
- .desc = "генератор случайных синдикатов"
+ .desc = генератор случайных синдикатов
.suffix = 1%
ent-CockroachTimedSpawner = Таймер генератора тараканов
- .desc = "Таймер генератора тараканов"
+ .desc = Таймер генератора тараканов
ent-CrystalSpawner = Генератор кристаллов
- .desc = "Генератор кристаллов"
+ .desc = Генератор кристаллов
.suffix = 70%
ent-CurtainSpawner = Генератор случайных занавесок
- .desc = "Генератор случайных занавесок"
+ .desc = Генератор случайных занавесок
ent-FancyTableSpawner = Генератор случайных столов
- .desc = "Генератор случайных столов"
+ .desc = Генератор случайных столов
ent-RandomFloraTree = генератор случайных деревьев
- .desc = "генератор случайных деревьев"
+ .desc = генератор случайных деревьев
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-70.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-70.ftl
index 96a8c20268..d07dd599e2 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-70.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-70.ftl
@@ -1,42 +1,42 @@
ent-FolderSpawner = Генератор случайных папок
- .desc = "Генератор случайных папок"
+ .desc = Генератор случайных папок
ent-RandomComfySpawner = генератор случайных удобных предметов
- .desc = "генератор случайных удобных предметов"
+ .desc = генератор случайных удобных предметов
ent-RandomPaddedStoolSpawner = генератор случайных мягких табуретов
- .desc = "генератор случайных мягких табуретов"
+ .desc = генератор случайных мягких табуретов
ent-GrilleSpawner = Генератор случайных решеток
- .desc = "Генератор случайных решеток"
+ .desc = Генератор случайных решеток
ent-MaintenancePlantSpawner = Генератор добычи в отделе технического обслуживания
- .desc = "Генератор добычи в отделе технического обслуживания"
+ .desc = Генератор добычи в отделе технического обслуживания
.suffix = Растения
ent-RandomWoodenSupport = генератор случайных деревянных опор
- .desc = "генератор случайных деревянных опор"
+ .desc = генератор случайных деревянных опор
ent-RandomWoodenWall = генератор случайных деревянных стен
- .desc = "генератор случайных деревянных стен"
+ .desc = генератор случайных деревянных стен
ent-RandomStalagmiteOrCrystal = генератор случайных сталагмитов или кристаллов
- .desc = "генератор случайных сталагмитов или кристаллов"
+ .desc = генератор случайных сталагмитов или кристаллов
ent-RandomBrownStalagmite = генератор случайных коричневых сталагмитов
- .desc = "генератор случайных коричневых сталагмитов"
+ .desc = генератор случайных коричневых сталагмитов
ent-RandomGreyStalagmite = генератор случайных серых сталагмитов
- .desc = "генератор случайных серых сталагмитов"
+ .desc = генератор случайных серых сталагмитов
ent-SalvageLootSpawner = генератор добычи из обломков
- .desc = "генератор добычи из обломков"
+ .desc = генератор добычи из обломков
ent-SpawnMobCobraSalvage = Генератор космических кобр из обломков
- .desc = "Генератор космических кобр из обломков"
+ .desc = Генератор космических кобр из обломков
ent-SalvageFleshSpawner = Генератор добычи из плоти из обломков
- .desc = "Генератор добычи из плоти из обломков"
+ .desc = Генератор добычи из плоти из обломков
.suffix = 100
ent-RandomBoard = генератор случайных досок
- .desc = "генератор случайных досок"
+ .desc = генератор случайных досок
ent-RandomDrinkSoda = генератор случайной соды
- .desc = "генератор случайной соды"
+ .desc = генератор случайной соды
ent-RandomProduce = генератор случайных продуктов
- .desc = "генератор случайных продуктов"
+ .desc = генератор случайных продуктов
ent-BorgChassisMining = киборг для добычи
- .desc = "киборг для добычи"
+ .desc = киборг для добычи
ent-BorgChassisEngineer = киборг-инженер
- .desc = "киборг-инженер"
+ .desc = киборг-инженер
ent-BorgChassisJanitor = киборг-уборщик
- .desc = "киборг-уборщик"
+ .desc = киборг-уборщик
ent-BorgChassisMedical = киборг-медик
- .desc = "киборг-медик"
+ .desc = киборг-медик
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-71.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-71.ftl
index d5fae2248e..b0ec47f124 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-71.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-71.ftl
@@ -1,5 +1,5 @@
ent-BorgChassisService = кибернетический сервис
- .desc = "кибернетический сервис"
+ .desc = кибернетический сервис
ent-BorgChassisSyndicateAssault = кибернетический боец Синдиката
.desc = Оптимизированная машина для убийств с доступом к различным смертоносным модулям.
ent-BorgChassisSyndicateMedical = кибернетический медик Синдиката
@@ -33,10 +33,10 @@ ent-MobMouseDead = мышь
ent-MobMouseCancer = мышь с раком
.desc = Ядовитая. Писк!
ent-MobMonkeyAngry = злая обезьяна
- .desc = "злая обезьяна"
+ .desc = злая обезьяна
.suffix = Angry
ent-MobPossumOld = опоссум
- .desc = "опоссум"
+ .desc = опоссум
.suffix = Old sprite
ent-MobCatSyndy = синдикот
.desc = Взрывной котенок.
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-72.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-72.ftl
index d40318c2a6..b7bc7f1469 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-72.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-72.ftl
@@ -1,30 +1,30 @@
ent-MobArgocyteBarrier = барьер
- .desc = "барьер"
+ .desc = барьер
ent-MobArgocyteSkitter = бегун
.desc = Коварный маленький инопланетянин... Следите, чтобы он не убежал с вашим пайком!
ent-MobArgocyteSwiper = вор
.desc = Куда делась эта стопка стали?
ent-MobArgocyteMolder = гниль
- .desc = "гниль"
+ .desc = гниль
ent-MobArgocytePouncer = прыгун
- .desc = "прыгун"
+ .desc = прыгун
ent-MobArgocyteGlider = планирующий
- .desc = "планирующий"
+ .desc = планирующий
ent-MobArgocyteHarvester = сборщик
- .desc = "сборщик"
+ .desc = сборщик
ent-MobArgocyteCrawler = ползущий
.desc = Смертельные стайные животные, которые терзают ничего не подозревающих путешественников.
ent-MobArgocyteEnforcer = исполнитель
- .desc = "исполнитель"
+ .desc = исполнитель
ent-MobArgocyteFounder = основатель
- .desc = "основатель"
+ .desc = основатель
ent-MobArgocyteLeviathing = левиафан
- .desc = "левиафан"
-ent-MobSimpleBorer = Кортикальный бурильщик
- .desc = "Кортикальный бурильщик"
+ .desc = левиафан
+ent-MobSimpleBorer = Аскарида космическая
+ .desc = Выглядит так, будто от неё можно сойти с ума
ent-SpawnPointGhostBorer = точка появления роли призрака
- .desc = "точка появления роли призрака"
- .suffix = кортикальный бурильщик
+ .desc = точка появления роли призрака
+ .suffix = Аскарида космическая
ent-MobCarpRainbow = радужный карп
.desc = Вау, такая блестящая рыбка!
ent-MobShark = акула-минноу
@@ -35,8 +35,8 @@ ent-ReagentSlime = Слизь реагента
.desc = Состоит из жидкости и хочет растворить тебя в себе.
.suffix = Вода
ent-ReagentSlimeSpawner = Порождающий слизь реагента
- .desc = "Порождающий слизь реагента"
+ .desc = Порождающий слизь реагента
ent-MobHellspawn = порождение ада
.desc = Неудержимая сила разрушения.
ent-MobSalvager = спасатель
- .desc = "спасатель"
+ .desc = спасатель
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-73.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-73.ftl
index e9d649b5ce..d1472a28fa 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-73.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-73.ftl
@@ -1,11 +1,9 @@
ent-MobSyndicateFootsoldier = боец синдиката
- .desc = "боец синдиката"
ent-MobSyndicateFootsoldierPilot = пилот челнока синдиката
- .desc = "пилот челнока синдиката"
ent-MobWatcherIcewing = наблюдатель ледяного крыла
- .desc = "наблюдатель ледяного крыла"
+ .desc = наблюдатель ледяного крыла
ent-MobWatcherMagmawing = наблюдатель огненного крыла
- .desc = "наблюдатель огненного крыла"
+ .desc = наблюдатель огненного крыла
ent-MobWatcherPride = наблюдатель гордости
.desc = This rare subspecies only appears in June.
.suffix = Admeme
@@ -17,10 +15,10 @@ ent-MobLaserRaptor = лазерный раптор
.desc = Из эпохи викингов.
ent-MobTomatoKiller = убийца томатов
.desc = похоже, сегодня не вы едите помидоры, а помидоры едят вас.
-ent-MobCorgiIanPup = Щенятко Иэн
+ent-MobCorgiIanPup = Щенок Иан
.desc = Любимый щенок корги. Мимими.
ent-MobPossumMortyOld = Морти
- .desc = "Морти"
+ .desc = Морти
.suffix = Старый спрайт
ent-MobPossumPoppy = Поппи
.desc = Это опоссум, мелкий мусорщик- сумчатое. Он носит подходящее снаряжение для индивидуальной защиты.
@@ -35,11 +33,10 @@ ent-MobSupplyBot = робот снабжения
ent-MobCobraSpace = космическая кобра
.desc = Длинные клыки и светящийся капюшон, а завораживающий взгляд просит подойти ближе.
ent-MobGingerbread = Урист МакКуки
- .desc = "Урист МакКуки"
ent-MobHoloClownGuardian = ГолоКлоун
.desc = Завораживающий вихрь из узоров твердого света создает синего клоуна сомнительного происхождения.
ent-MobHumanSyndicateAgentBase = агент синдиката
- .desc = "агент синдиката"
+ .desc = агент синдиката
.suffix = Человек, Базовый
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-74.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-74.ftl
index 2bee19c60b..550426b5fb 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-74.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-74.ftl
@@ -1,42 +1,40 @@
ent-RandomHumanoidSpawnerDeathSquad = Агент Отряда Смерти
- .desc = "Агент Отряда Смерти"
+ .desc = Агент Отряда Смерти
.suffix = ERTRole, Death Squad
-ent-RandomHumanoidSpawnerERTChaplain = Капеллан ЭРТ
- .desc = "Капеллан ЭРТ"
+ent-RandomHumanoidSpawnerERTChaplain = Капеллан ОБР
+ .desc = Капеллан ОБР
.suffix = ERTRole, Basic
-ent-RandomHumanoidSpawnerERTChaplainEVA = Капеллан ЭРТ
- .desc = "Капеллан ЭРТ"
+ent-RandomHumanoidSpawnerERTChaplainEVA = Капеллан ОБР
+ .desc = Капеллан ОБР
.suffix = ERTRole, Enviro EVA
ent-LostCargoTechnicianSpawner = генератор призраков техников по потерянному грузу
- .desc = "генератор призраков техников по потерянному грузу"
+ .desc = генератор призраков техников по потерянному грузу
ent-RandomHumanoidLostCargoTechnician = призрачная роль техника по потерянному грузу
- .desc = "призрачная роль техника по потерянному грузу"
+ .desc = призрачная роль техника по потерянному грузу
ent-ClownTroupeSpawner = генератор клоунов
- .desc = "генератор клоунов"
+ .desc = генератор клоунов
ent-RandomHumanoidClownTroupe = призрачная роль клоуна
- .desc = "призрачная роль клоуна"
+ .desc = призрачная роль клоуна
ent-RandomHumanoidClownTroupeBanana = банановый клоун
- .desc = "банановый клоун"
+ .desc = банановый клоун
ent-TravelingChefSpawner = генератор путешествующего шеф-повара
- .desc = "генератор путешествующего шеф-повара"
+ .desc = генератор путешествующего шеф-повара
ent-RandomHumanoidTravelingChef = призрачная роль путешествующего шеф-повара
- .desc = "призрачная роль путешествующего шеф-повара"
+ .desc = призрачная роль путешествующего шеф-повара
ent-DisasterVictimSpawner = генератор жертвы катастрофы
- .desc = "генератор жертвы катастрофы"
-ent-RandomHumanoidDisasterVictimRD = призрачная роль жертвы катастрофы RD
- .desc = "призрачная роль жертвы катастрофы RD"
-ent-RandomHumanoidDisasterVictimCMO = призрачная роль жертвы катастрофы CMO
- .desc = "призрачная роль жертвы катастрофы CMO"
-ent-RandomHumanoidDisasterVictimCaptain = призрачная роль жертвы катастрофы Капитана
- .desc = "призрачная роль жертвы катастрофы Капитана"
+ .desc = генератор жертвы катастрофы
+ent-RandomHumanoidDisasterVictimRD = жертва катастрофы Научный руководитель
+ .desc = призрачная роль жертвы катастрофы Научного руководителя
+ent-RandomHumanoidDisasterVictimCMO = жертва катастрофы Главный врач
+ .desc = призрачная роль жертвы катастрофы Главного врача
+ent-RandomHumanoidDisasterVictimCaptain = жертва катастрофы Капитан
+ .desc = призрачная роль жертвы катастрофы Капитана
ent-SyndieDisasterVictimSpawner = генератор синдикатной жертвы катастрофы
- .desc = "генератор синдикатной жертвы катастрофы"
+ .desc = генератор синдикатной жертвы катастрофы
ent-RandomHumanoidSyndieDisasterVictim = призрачная роль синдикатной жертвы катастрофы
- .desc = "призрачная роль синдикатной жертвы катастрофы"
-ent-MobMoth = Ури́ст МакФлафф
- .desc = "Ури́ст МакФлафф"
+ .desc = призрачная роль синдикатной жертвы катастрофы
+ent-MobMoth = Урист МакФлафф
ent-MobSkeletonCloset = скелет в шкафу
- .desc = "скелет в шкафу"
ent-MobHumanTerminator = exterminator
ent-MobTerminatorEndoskeleton = эндоскелет nt-800 "Экстерминатор"
.desc = Внутренняя движущая сила инфильтрационного андроида Susnet. Невероятно прочный сплав внутри, обычная плоть снаружи.
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-76.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-76.ftl
index aa74674a9e..f50760f9e5 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-76.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-76.ftl
@@ -17,24 +17,24 @@ ent-DrinkJigger = джиггер
ent-DrinkIceBucket = ведро со льдом
.desc = Специальное ведро с освежающим льдом. Запрещено использовать для вызова одноименного испытания!
ent-DrinkBottleGildlager = бутылка гильдлагера
- .desc = "бутылка гильдлагера"
+ .desc = бутылка гильдлагера
ent-DrinkCartonLime = упаковка с соком лайма
- .desc = "упаковка с соком лайма"
+ .desc = упаковка с соком лайма
ent-DrinkCartonOrange = упаковка с апельсиновым соком
- .desc = "упаковка с апельсиновым соком"
+ .desc = упаковка с апельсиновым соком
ent-DrinkCartonTomato = упаковка с томатным соком
- .desc = "упаковка с томатным соком"
+ .desc = упаковка с томатным соком
ent-DrinkCartonCream = упаковка с молочными сливками
- .desc = "упаковка с молочными сливками"
+ .desc = упаковка с молочными сливками
ent-DrinkCartonMilk = упаковка с молоком
- .desc = "упаковка с молоком"
+ .desc = упаковка с молоком
ent-DrinkCartonSoyMilk = упаковка с соевым молоком
- .desc = "упаковка с соевым молоком"
+ .desc = упаковка с соевым молоком
ent-DrinkCartonOatMilk = упаковка с овсяным молоком
- .desc = "упаковка с овсяным молоком"
+ .desc = упаковка с овсяным молоком
ent-FoodBurgerMothRoach = мотроачбургер
.desc = Последняя лампа, которую он видел, была в микроволновке.
ent-FoodEggBoiled = вареное яйцо
.desc = Вкусное вареное яйцо.
ent-FoodDoughTortilla = тесто для тортильи
- .desc = Кусок теста для тортильи.
+ .desc = Кусок теста для тортильи.
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-77.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-77.ftl
index e6a817e58f..29a133f59f 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-77.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-77.ftl
@@ -25,9 +25,9 @@ ent-DeathNettle = крапива смерти
ent-FoodMimana = мимана
.desc = Излюбленная еда мима.
ent-TrashBakedBananaPeel = печеная банановая кожура
- .desc = "печеная банановая кожура"
+ .desc = печеная банановая кожура
ent-TrashMimanaPeel = кожура миманы
- .desc = "кожура миманы"
+ .desc = кожура миманы
ent-FoodLemoon = лемун
.desc = Говорят, что Луна сделана из сыра, но на самом деле Луна сделана из молока и лавра!
ent-FoodExtradimensionalOrange = внепространственный апельсин
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-78.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-78.ftl
index 5fc92aebf9..10c4f1d998 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-78.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-78.ftl
@@ -1,40 +1,40 @@
-ent-FoodChiliPepper = острый перец
+ent-FoodChiliPepper = острый перец
.desc = Острый, лучше не трогайте глаза.
-ent-FoodChillyPepper = перечный перец
+ent-FoodChillyPepper = перечный перец
.desc = Холодный огонь.
-ent-FoodLily = лилия
+ent-FoodLily = лилия
.desc = Красивый оранжевый цветок.
-ent-FoodAmbrosiaDeus = амброзия деус
+ent-FoodAmbrosiaDeus = амброзия деус
.desc = Крайне востребованное лекарственное растение. Может иметь некоторые странные побочные эффекты.
-ent-FoodSpacemansTrumpet = космическая труба
+ent-FoodSpacemansTrumpet = космическая труба
.desc = Яркий цветок, пахнущий свежей скошенной травой. Касание цветка, похоже, оставляет пятна на коже спустя некоторое время после контакта, однако на большинстве других поверхностей это явление никак не проявляется.
-ent-FoodKoibean = койбоб
+ent-FoodKoibean = койбоб
.desc = Эти бобы кажутся немного рыбными.
-ent-FoodHolymelon = священный арбуз
+ent-FoodHolymelon = священный арбуз
.desc = Вода внутри этого арбуза была освящена каким-то божеством, которое особенно любит арбузы.
-ent-FoodHolymelonSlice = ломтик священного арбуза
+ent-FoodHolymelonSlice = ломтик священного арбуза
.desc = Сочный золотисто-красный ломтик.
-ent-FoodBerries = ягоды
+ent-FoodBerries = ягоды
.desc = Горсть ягод разных сортов.
-ent-FoodBungo = фрукт бунго
+ent-FoodBungo = фрукт бунго
.desc = Скромный фрукт бунго.
-ent-FoodBungoPit = косточка бунго
- .desc = "косточка бунго"
-ent-FoodPeaPod = стручок гороха
+ent-FoodBungoPit = косточка бунго
+ .desc = косточка бунго
+ent-FoodPeaPod = стручок гороха
.desc = Излюбленное лакомство уток!
-ent-FoodWorldPeas = гроздь мировых горошин
+ent-FoodWorldPeas = гроздь мировых горошин
.desc = Поговаривают, что он приносит мир всем, кто его ест.
-ent-FoodPumpkin = тыква
+ent-FoodPumpkin = тыква
.desc = Большая оранжевая... ягода. Серьезно.
-ent-CottonBol = хлопковый кокон
+ent-CottonBol = хлопковый кокон
.desc = Излюбленное лакомство мотыльков, и такое же пушистое, как они.
-ent-PyrottonBol = пироттон-кокон
+ent-PyrottonBol = пироттон-кокон
.desc = Это, вероятно, зажжет вас.
-ent-FoodMeatSnakeKebab = змеиный шашлык
+ent-FoodMeatSnakeKebab = змеиный шашлык
.desc = Змеиное мясо на палочке. Оно немного жестковатое.
-ent-FoodSnackCnDs = C&Ds
+ent-FoodSnackCnDs = C&Ds
.desc = По закону, мы не можем утверждать, что они не растают у вас в руках.
-ent-FoodSnackPistachios = фисташки свити
+ent-FoodSnackPistachios = фисташки свити
.desc = Фисташки под торговой маркой Свити. Вероятно, не вызовут у вас болезней. Вероятно.
-ent-FoodSnackSemki = семечки боба бобсона
+ent-FoodSnackSemki = семечки боба бобсона
.desc = С гордостью произведено пищевой корпорацией "Боб Бобсон". Идеально подходит для плевания в людей.
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-79.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-79.ftl
index 00d7a3aa95..9515399e3e 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-79.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-79.ftl
@@ -20,8 +20,8 @@ ent-FoodCakeLemoon = лемунный торт
.desc = Торт, который представляет луну земли
ent-FoodCakeLemoonSlice = осколок лемунного торта
.desc = Осколок луны, пахнет молоком.
-ent-MobCatCake = кек
- .desc = Это торт. Это кошка. Это кек.
+ent-MobCatCake = корт
+ .desc = Это торт. Это кот. Это корт.
ent-FoodDonkpocketStonk = карман с стонком
.desc = Вкусно, но грустное напоминание о великом крахе '24
ent-FoodDonkpocketStonkWarm = теплый карман с стонком
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-80.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-80.ftl
index 4848832527..c1387ed7d1 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-80.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-80.ftl
@@ -3,11 +3,11 @@ ent-FoodOnionRings = луковые кольца
ent-FoodPieBananaCreamSlice = кусок бананового кремового пирога
.desc = Как дома, на планете клоунов! ГУУУУ!
ent-FoodTartMimeSlice = кусок мимического пирога
- .desc = "кусок мимического пирога"
+ .desc = кусок мимического пирога
ent-FoodBoxDonkpocketStonk = коробка стон-карманов ограниченного тиража
- .desc = "коробка стон-карманов ограниченного тиража"
+ .desc = коробка стон-карманов ограниченного тиража
ent-FoodBoxDonkpocketCarp = коробка карп-карманов
- .desc = "коробка карп-карманов"
+ .desc = коробка карп-карманов
ent-HappyHonk = обед "Счастливый Гудок"
.desc = Игрушка съедобнее, чем еда.
.suffix = Игрушка безопасна
@@ -15,7 +15,7 @@ ent-HappyHonkNukie = крепкий обед "Нюки"
.desc = Подозрительный обед с потенциально взрывным сюрпризом.
.suffix = Игрушка небезопасна
ent-HappyHonkNukieSnacks = коробка закусок синдиката
- .desc = "коробка закусок синдиката"
+ .desc = коробка закусок синдиката
.suffix = Игрушка небезопасна, Закуски
ent-FoodCondimentPacketMustard = горчица
.desc = Приправа, сделанная из молотых семян горчичного растения.
@@ -25,20 +25,20 @@ ent-SoakedCigarette = сигарета
.desc = Скрутка из табака и никотина, пропитанная каким-то химическим веществом.
.suffix = Пропитанная
ent-CigaretteOmnizine = Взрыв Вкуса Сосисочной Воды
- .desc = "Взрыв Вкуса Сосисочной Воды"
+ .desc = Взрыв Вкуса Сосисочной Воды
ent-CigaretteIron = Ржавый Оранжевый Баха Бласт
- .desc = "Ржавый Оранжевый Баха Бласт"
+ .desc = Ржавый Оранжевый Баха Бласт
ent-CigaretteTricordrazine = Сорт Лакрицы
- .desc = "Сорт Лакрицы"
+ .desc = Сорт Лакрицы
ent-CigaretteDylovene = Растворитель для Мочевого Пирога
- .desc = "Растворитель для Мочевого Пирога"
+ .desc = Растворитель для Мочевого Пирога
ent-CigaretteDermaline = Алоэ и Арахисовое Масло
- .desc = "Алоэ и Арахисовое Масло"
+ .desc = Алоэ и Арахисовое Масло
ent-CigaretteArithrazine = Roman Pipe Works
- .desc = "Roman Pipe Works"
+ .desc = Roman Pipe Works
ent-CigaretteIpecac = Рождественский Фруктовый Пирог Бабушки
- .desc = "Рождественский Фруктовый Пирог Бабушки"
+ .desc = Рождественский Фруктовый Пирог Бабушки
ent-CigaretteBicaridine = Сигарета с Запахом Мокрой Собаки
- .desc = "Сигарета с Запахом Мокрой Собаки"
+ .desc = Сигарета с Запахом Мокрой Собаки
ent-CigaretteDexalin = Мускус Скалистых Гор
- .desc = "Мускус Скалистых Гор"
+ .desc = Мускус Скалистых Гор
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-81.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-81.ftl
index dbc4598750..3a1223090d 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-81.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-81.ftl
@@ -1,29 +1,29 @@
ent-CigarettePax = Швейцарский экспресс
- .desc = "Швейцарский экспресс"
+ .desc = Швейцарский экспресс
ent-CigaretteBbqSauce = Пряный древесный аромат
- .desc = "Пряный древесный аромат"
+ .desc = Пряный древесный аромат
ent-CigaretteBlackPepper = Английская специя
- .desc = "Английская специя"
+ .desc = Английская специя
ent-CigaretteCapsaicinOil = Чили П
- .desc = "Чили П"
+ .desc = Чили П
ent-CigaretteBread = Двойная поджарка
- .desc = "Двойная поджарка"
+ .desc = Двойная поджарка
ent-CigaretteMilk = Экстракт коровьего молока
- .desc = "Экстракт коровьего молока"
+ .desc = Экстракт коровьего молока
ent-CigaretteBanana = Бонус к близости с клоунами
- .desc = "Бонус к близости с клоунами"
+ .desc = Бонус к близости с клоунами
ent-CigaretteSpaceDrugs = Час власти 80-х
- .desc = "Час власти 80-х"
+ .desc = Час власти 80-х
ent-CigaretteMuteToxin = Смешанные леденцы
- .desc = "Смешанные леденцы"
+ .desc = Смешанные леденцы
ent-CigaretteMold = Под раковиной
- .desc = "Под раковиной"
+ .desc = Под раковиной
ent-CigaretteLicoxide = Будильник
- .desc = "Будильник"
+ .desc = Будильник
ent-CigaretteWeldingFuel = Плазменный соус
- .desc = "Плазменный соус"
+ .desc = Плазменный соус
ent-CigaretteTHC = Хиппи-роман
- .desc = "Хиппи-роман"
+ .desc = Хиппи-роман
ent-JointRainbow = косяк
.desc = Скрутка сушеной травы, завернутая в тонкую бумагу. Внутри похоже, что цветная.
.suffix = Радуга
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-82.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-82.ftl
index 1dd0791e42..f8f04364b8 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-82.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-82.ftl
@@ -13,7 +13,7 @@ ent-WoodenSign = деревянный знак
ent-WoodenSupport = деревянная опора
.desc = Увеличивает уверенность в том, что на вашу голову не упадет камень.
ent-WoodenSupportBeam = деревянная опорная балка
- .desc = "деревянная опорная балка"
+ .desc = деревянная опорная балка
ent-WoodenSupportWall = деревянная опорная стена
.desc = Старая, гнилая стена.
ent-NewsReaderCartridge = картридж с новостями
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-85.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-85.ftl
index 98bc39d23f..691a04a42f 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-85.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-85.ftl
@@ -1,5 +1,5 @@
ent-OreProcessorIndustrialMachineCircuitboard = промышленная печатная плата для рудной дробилки
- .desc = "промышленная печатная плата для рудной дробилки"
+ .desc = промышленная печатная плата для рудной дробилки
ent-BoozeDispenserMachineCircuitboard = печатная плата для аппарата по розливу алкоголя
.desc = Печатная плата для аппарата по розливу алкоголя.
ent-SodaDispenserMachineCircuitboard = печатная плата для аппарата по розливу газировки
@@ -19,14 +19,14 @@ ent-ShuttleGunDusterCircuitboard = печатная плата для пулем
ent-ShuttleGunKineticCircuitboard = печатная плата для пулемета PTK-800 "Дематериализатор вещества"
.desc = Печатная плата для пулемета PTK-800 "Дематериализатор вещества"
ent-ReagentGrinderIndustrialMachineCircuitboard = промышленная печатная плата для измельчителя реагентов
- .desc = "промышленная печатная плата для измельчителя реагентов"
+ .desc = промышленная печатная плата для измельчителя реагентов
ent-JukeboxCircuitBoard = печатная плата для музыкального автомата
.desc = Печатная плата для музыкального автомата.
ent-Igniter = зажигалка
.desc = Создает искру при активации сигналом.
ent-RemoteSignallerAdvanced = продвинутый дистанционный сигнальщик
.desc = Ручной прибор, используемый для дистанционной отправки сигналов объектам в небольшом радиусе около 50 метров.
-ent-WeaponPistolCHIMPUpgradeKit = чип для модернизации C.H.I.M.P.
+ent-WeaponPistolCHIMPUpgradeKit = чип для модернизации C.H.I.M.P.
.desc = Экспериментальный комплект модернизации для C.H.I.M.P.
ent-HoloClownInjector = инжектор голоклоуна
.desc = Сложный художественный элемент в виде ручного механизма, позволяющего пользователю разместить голоклоуна-хранителя.
@@ -38,4 +38,4 @@ ent-ReinforcementRadioSyndicateCyborgAssault = радио синдиката д
.desc = Вызовите хорошо вооруженного боевого киборга мгновенно!
.suffix = NukeOps
ent-SingularityBeacon = маяк сингулярности
- .desc = Устройство синдиката, которое притягивает сингулярность. Если она разболталась, и вы видите это, бегите.
+ .desc = Устройство синдиката, которое притягивает сингулярность. Если она разболталась, и вы видите это, бегите.
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-89.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-89.ftl
index 55f66a7ba6..84eac00493 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-89.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-89.ftl
@@ -21,7 +21,7 @@ ent-CardBag52 = большая колода игральных карт
.desc = Новейшая колода игральных карт.
.suffix = 52
ent-PlayerCardBag = колода карт игрока
- .desc = "колода карт игрока"
+ .desc = колода карт игрока
ent-Cardspades_2 = карта пики 2
.desc = Игральная карта.
ent-Cardspades_3 = карта пики 3
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-91.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-91.ftl
index e4c8a0b1ce..00376f8660 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-91.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-91.ftl
@@ -21,7 +21,7 @@ ent-UnoCardGreenStop = зелёная карта UNO стоп
ent-UnoCardBag = упаковка карт UNO
.desc = Упаковка с игральными картами UNO.
ent-UnoPlayerCardBag = колода карт игрока UNO
- .desc = "колода карт игрока UNO"
+ .desc = колода карт игрока UNO
ent-UnoCardRed0 = красная карта UNO 0
.desc = Игральная карта UNO.
ent-UnoCardRed1 = красная карта UNO 1
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-93.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-93.ftl
index 8ea47795ab..9725a427fe 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-93.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-93.ftl
@@ -1,46 +1,46 @@
ent-PhoneInstrumentSyndicate = телефон кроваво-красного цвета
.desc = Для злых людей, чтобы звонить своим друзьям.
ent-CheckerPieceWhite = белая шашка
- .desc = "белая шашка"
+ .desc = белая шашка
ent-CheckerCrownWhite = белая корона для шашек
- .desc = "белая корона для шашек"
+ .desc = белая корона для шашек
ent-CheckerPieceBlack = черная шашка
- .desc = "черная шашка"
+ .desc = черная шашка
ent-CheckerCrownBlack = черная корона для шашек
- .desc = "черная корона для шашек"
+ .desc = черная корона для шашек
ent-ShardCrystalCyan = бирюзовый кристаллический осколок
.desc = Маленький кусочек кристалла.
ent-ShardCrystalBlue = синий кристаллический осколок
- .desc = "синий кристаллический осколок"
+ .desc = синий кристаллический осколок
ent-ShardCrystalOrange = оранжевый кристаллический осколок
- .desc = "оранжевый кристаллический осколок"
+ .desc = оранжевый кристаллический осколок
ent-ShardCrystalPink = розовый кристаллический осколок
- .desc = "розовый кристаллический осколок"
+ .desc = розовый кристаллический осколок
ent-ShardCrystalGreen = зеленый кристаллический осколок
- .desc = "зеленый кристаллический осколок"
+ .desc = зеленый кристаллический осколок
ent-ShardCrystalRed = красный кристаллический осколок
- .desc = "красный кристаллический осколок"
+ .desc = красный кристаллический осколок
ent-ShardCrystalRandom = случайный кристаллический осколок
- .desc = "случайный кристаллический осколок"
+ .desc = случайный кристаллический осколок
ent-MaterialHideCorgi = шкура корги
.desc = Роскошная шкура, используемая только в самых элитных модных вещах. По слухам, ее можно найти, когда корги отправляют на хорошую ферму.
ent-MaterialPyrotton = пироттон
- .desc = "пироттон"
+ .desc = пироттон
.suffix = Полный
ent-MaterialWebSilk = шелк
.desc = Паутинный материал.
.suffix = Полный
ent-MaterialBones = кости
- .desc = "кости"
+ .desc = кости
.suffix = Полный
ent-MaterialGunpowder = порох
.desc = Взрывчатое вещество.
ent-Coal = уголь
- .desc = "уголь"
+ .desc = уголь
.suffix = Полный
ent-SaltOre = соль
- .desc = "соль"
+ .desc = соль
.suffix = Полный
ent-PartRodMetal10 = металлический стержень
- .desc = "металлический стержень"
+ .desc = металлический стержень
.suffix = 10
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-94.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-94.ftl
index 90dc60e649..b1246eac6d 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-94.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-94.ftl
@@ -1,22 +1,22 @@
ent-ShardGlassClockwork = осколок часового стекла
.desc = Небольшой кусок стекла, пропитанного латунью.
ent-SheetSteel10 = сталь
- .desc = "сталь"
+ .desc = сталь
.suffix = 10
ent-SheetBrass = латунь
.desc = Лист латуни, в основном используемый любителями часовых механизмов и остатками культов Ратварианов.
.suffix = Full
ent-SheetBrass10 = латунь
- .desc = "латунь"
+ .desc = латунь
.suffix = 10
ent-SheetBrass1 = латунь
- .desc = "латунь"
+ .desc = латунь
.suffix = Single
ent-SheetPlasteel10 = пласталь
- .desc = "пласталь"
+ .desc = пласталь
.suffix = 10
ent-SheetPlastic10 = пластик
- .desc = "пластик"
+ .desc = пластик
.suffix = 10
ent-BookJanitorTale = истории уставшего уборщика
.desc = Чистая книга, пахнущая мылом и отбеливателем.
@@ -25,22 +25,22 @@ ent-PoppyBouquet = Букет маков
ent-Candle = свеча
.desc = Тонкий фитиль, пропитанный жиром.
ent-CandleRed = красная свеча
- .desc = "красная свеча"
+ .desc = красная свеча
ent-CandleBlue = синяя свеча
- .desc = "синяя свеча"
+ .desc = синяя свеча
ent-CandleBlack = черная свеча
- .desc = "черная свеча"
+ .desc = черная свеча
ent-CandleGreen = зеленая свеча
- .desc = "зеленая свеча"
+ .desc = зеленая свеча
ent-CandlePurple = фиолетовая свеча
- .desc = "фиолетовая свеча"
+ .desc = фиолетовая свеча
ent-CandleSmall = маленькая свеча
- .desc = "маленькая свеча"
+ .desc = маленькая свеча
ent-CandleRedSmall = маленькая красная свеча
- .desc = "маленькая красная свеча"
+ .desc = маленькая красная свеча
ent-CandleBlueSmall = маленькая синяя свеча
- .desc = "маленькая синяя свеча"
+ .desc = маленькая синяя свеча
ent-CandleBlackSmall = маленькая черная свеча
- .desc = "маленькая черная свеча"
+ .desc = маленькая черная свеча
ent-CandleGreenSmall = маленькая зеленая свеча
- .desc = "маленькая зеленая свеча"
+ .desc = маленькая зеленая свеча
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-95.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-95.ftl
index 38a33633c9..8efa9d8ae8 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-95.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-95.ftl
@@ -1,28 +1,28 @@
ent-CandlePurpleSmall = маленькая фиолетовая свеча
- .desc = "маленькая фиолетовая свеча"
+ .desc = маленькая фиолетовая свеча
ent-CandleInfinite = волшебная свеча
.desc = Либо магия, либо высокие технологии, но эта свеча никогда не гаснет. С другой стороны, ее пламя довольно холодное.
.suffix = Декоративная
ent-CandleRedInfinite = волшебная красная свеча
- .desc = "волшебная красная свеча"
+ .desc = волшебная красная свеча
ent-CandleBlueInfinite = волшебная синяя свеча
- .desc = "волшебная синяя свеча"
+ .desc = волшебная синяя свеча
ent-CandleBlackInfinite = волшебная черная свеча
- .desc = "волшебная черная свеча"
+ .desc = волшебная черная свеча
ent-CandleGreenInfinite = волшебная зеленая свеча
- .desc = "волшебная зеленая свеча"
+ .desc = волшебная зеленая свеча
ent-CandlePurpleInfinite = волшебная фиолетовая свеча
- .desc = "волшебная фиолетовая свеча"
+ .desc = волшебная фиолетовая свеча
ent-CandleRedSmallInfinite = маленькая волшебная красная свеча
- .desc = "маленькая волшебная красная свеча"
+ .desc = маленькая волшебная красная свеча
ent-CandleBlueSmallInfinite = маленькая волшебная синяя свеча
- .desc = "маленькая волшебная синяя свеча"
+ .desc = маленькая волшебная синяя свеча
ent-CandleBlackSmallInfinite = маленькая волшебная черная свеча
- .desc = "маленькая волшебная черная свеча"
+ .desc = маленькая волшебная черная свеча
ent-CandleGreenSmallInfinite = маленькая волшебная зеленая свеча
- .desc = "маленькая волшебная зеленая свеча"
+ .desc = маленькая волшебная зеленая свеча
ent-CandlePurpleSmallInfinite = маленькая волшебная фиолетовая свеча
- .desc = "маленькая волшебная фиолетовая свеча"
+ .desc = маленькая волшебная фиолетовая свеча
ent-CandyBowl = миска с конфетами
.desc = Хватайте все, что поместится в ваши карманы!
ent-CoordinatesDisk = диск с координатами
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-96.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-96.ftl
index ae9e23f5bd..415e274a2e 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-96.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-96.ftl
@@ -9,33 +9,33 @@ ent-PirateHandyFlag = ручной флаг пиратов
ent-IceCrust = ледяная корка
.desc = Холодно и скользко.
ent-PunPunIDCard = удостоверение личности "пун-пун"
- .desc = "удостоверение личности "пун-пун""
-ent-ERTChaplainIDCard = удостоверение личности капеллана ERT
- .desc = "удостоверение личности капеллана ERT"
-ent-ERTEngineerIDCard = удостоверение личности инженера ERT
- .desc = "удостоверение личности инженера ERT"
-ent-ERTJanitorIDCard = удостоверение личности уборщика ERT
- .desc = "удостоверение личности уборщика ERT"
-ent-ERTMedicIDCard = удостоверение личности медика ERT
- .desc = "удостоверение личности медика ERT"
-ent-ERTSecurityIDCard = удостоверение личности службы безопасности ERT
- .desc = "удостоверение личности службы безопасности ERT"
+ .desc = удостоверение личности "пун-пун"
+ent-ERTChaplainIDCard = удостоверение личности капеллана ОБР
+ .desc = удостоверение личности капеллана ОБР
+ent-ERTEngineerIDCard = удостоверение личности инженера ОБР
+ .desc = удостоверение личности инженера ОБР
+ent-ERTJanitorIDCard = удостоверение личности уборщика ОБР
+ .desc = удостоверение личности уборщика ОБР
+ent-ERTMedicIDCard = удостоверение личности медика ОБР
+ .desc = удостоверение личности медика ОБР
+ent-ERTSecurityIDCard = удостоверение личности службы безопасности ОБР
+ .desc = удостоверение личности службы безопасности ОБР
ent-NukieAgentIDCard = ID карта ассистента
- .desc = "Карта, необходимая для доступа в различные области станции."
+ .desc = Карта, необходимая для доступа в различные области станции.
.suffix = Нюки
ent-PirateIDCard = пиратское удостоверение личности
- .desc = "пиратское удостоверение личности"
+ .desc = пиратское удостоверение личности
ent-KudzuFlowerFriendly = цветочный ковер
.desc = Красочный ковер из цветов, раскинувшийся во всех направлениях. Вы не уверены, стоит ли его убирать или оставить.
.suffix = Дружелюбная, цветочная аномалия
ent-FleshKudzu = сухожилия
.desc = Быстро растущая гроздь мясистых сухожилий. ЧТО ТЫ ОСТАНОВИЛСЯ И СМОТРИШЬ НА НЕЕ?!
ent-ShadowKudzu = темная дымка
- .desc = "темная дымка"
+ .desc = темная дымка
ent-ShadowKudzuWeak = Дымка
- .desc = "Дымка"
+ .desc = Дымка
ent-LandMineAspectExplosive = мина аспекта
- .desc = "мина аспекта"
+ .desc = мина аспекта
ent-KoboldCubeBox = коробка с кубиками кобольдов
.desc = Сжатые кобольды в кубе. Просто добавьте воды!
ent-VariantCubeBox = коробка с вариативными кубиками
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-97.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-97.ftl
index 9c4da1194c..b28ee1c56f 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-97.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-97.ftl
@@ -19,10 +19,10 @@ ent-BoxFolderQmClipboard = цифровая доска заявок
ent-PotatoAIChip = сверхкомпактный чип ИИ
.desc = Этот высокотехнологичный чип ИИ требует напряжения ровно 1.1 В для правильной работы.
ent-RubberStampLawyer = штамп юриста
- .desc = "штамп юриста"
+ .desc = штамп юриста
.suffix = DO NOT MAP
ent-RubberStampDetective = штамп детектива
- .desc = "штамп детектива"
+ .desc = штамп детектива
.suffix = DO NOT MAP
ent-BookSecretDocuments = приказы чрезвычайной безопасности
.desc = СТРОГО СЕКРЕТНО. Эти документы содержат сведения о Приказах Чрезвычайной Ситуации, которые Глава должен выполнять по приказу Центрального Командования.
@@ -34,12 +34,12 @@ ent-FoodSpaceshroom = космический гриб
ent-FoodSpaceshroomCooked = приготовленный космический гриб
.desc = Дикий гриб, прошедший термическую обработку. Похоже, тепло убрало его химические эффекты.
ent-FloorTileItemSteelCheckerDark = темная стальная клетчатая плитка
- .desc = "темная стальная клетчатая плитка"
+ .desc = темная стальная клетчатая плитка
ent-FloorTileItemSteelCheckerLight = светлая стальная клетчатая плитка
- .desc = "светлая стальная клетчатая плитка"
+ .desc = светлая стальная клетчатая плитка
ent-FloorTileItemBrassFilled = заполненная латунная пластина
- .desc = "заполненная латунная пластина"
+ .desc = заполненная латунная пластина
ent-FloorTileItemBrassReebe = гладкая латунная пластина
- .desc = "гладкая латунная пластина"
+ .desc = гладкая латунная пластина
ent-FloorTileItemLime = известковая плитка
- .desc = "известковая плитка"
+ .desc = известковая плитка
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-98.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-98.ftl
index e353787467..44617851bb 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-98.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-98.ftl
@@ -1,21 +1,21 @@
ent-FloorTileItemMining = плитка для добычи
- .desc = "плитка для добычи"
+ .desc = плитка для добычи
ent-FloorTileItemMiningDark = темная плитка для добычи
- .desc = "темная плитка для добычи"
+ .desc = темная плитка для добычи
ent-FloorTileItemMiningLight = светлая плитка для добычи
- .desc = "светлая плитка для добычи"
+ .desc = светлая плитка для добычи
ent-FloorTileItemConcrete = бетонная плитка
- .desc = "бетонная плитка"
+ .desc = бетонная плитка
ent-FloorTileItemGrayConcrete = серая бетонная плитка
- .desc = "серая бетонная плитка"
+ .desc = серая бетонная плитка
ent-FloorTileItemOldConcrete = старая бетонная плитка
- .desc = "старая бетонная плитка"
+ .desc = старая бетонная плитка
ent-FloorTileItemShuttleGrey = серый пол шаттла
- .desc = "серый пол шаттла"
+ .desc = серый пол шаттла
ent-FloorTileItemShuttleBlack = черный пол шаттла
- .desc = "черный пол шаттла"
+ .desc = черный пол шаттла
ent-FloorTileItemWeb = плитка с паутиной
- .desc = "плитка с паутиной"
+ .desc = плитка с паутиной
ent-FloorTileItemAstroGrass = астро-трава
.desc = Искусственная трава, которая скрывает провода и даже поставляется с реалистичными нано-украшениями!
ent-FloorTileItemMowedAstroGrass = скошенная астро-трава
@@ -27,7 +27,7 @@ ent-FloorTileItemAstroIce = астро-лед
ent-FloorTileItemAstroSnow = астро-снег
.desc = Искусственный снег, который такой же пушистый, как настоящий, но его легко снять!
ent-FloorTileItemWoodLarge = большой деревянный пол
- .desc = "большой деревянный пол"
+ .desc = большой деревянный пол
ent-BarSpoon = барная ложка
.desc = Ваш личный помощник для смешивания напитков и изменения жизней.
ent-LedLightBulb = светодиодная лампочка
@@ -38,4 +38,4 @@ ent-LightBulbBroken = лампа накаливания
.desc = Лампочка.
.suffix = Сломана
ent-ServiceLightBulb = сервисная лампочка
- .desc = Зеленая лампочка с низкой яркостью, используемая в светильниках для уборки.
+ .desc = Зеленая лампочка с низкой яркостью, используемая в светильниках для уборки.
diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-99.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-99.ftl
index 7217dbd3a0..c54373f679 100644
--- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-99.ftl
+++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-99.ftl
@@ -6,15 +6,15 @@ ent-LightTubeBroken = люминесцентная лампа
ent-LightTubeCrystalCyan = циановая хрустальная люминесцентная лампа
.desc = Высокоэнергетическая лампа высокой мощности с небольшим цветным кристаллом внутри.
ent-LightTubeCrystalBlue = синяя хрустальная люминесцентная лампа
- .desc = "синяя хрустальная люминесцентная лампа"
+ .desc = синяя хрустальная люминесцентная лампа
ent-LightTubeCrystalPink = розовая хрустальная люминесцентная лампа
- .desc = "розовая хрустальная люминесцентная лампа"
+ .desc = розовая хрустальная люминесцентная лампа
ent-LightTubeCrystalOrange = оранжевая хрустальная люминесцентная лампа
- .desc = "оранжевая хрустальная люминесцентная лампа"
+ .desc = оранжевая хрустальная люминесцентная лампа
ent-LightTubeCrystalRed = красная хрустальная люминесцентная лампа
- .desc = "красная хрустальная люминесцентная лампа"
+ .desc = красная хрустальная люминесцентная лампа
ent-LightTubeCrystalGreen = зеленая хрустальная люминесцентная лампа
- .desc = "зеленая хрустальная люминесцентная лампа"
+ .desc = зеленая хрустальная люминесцентная лампа
ent-PortableRecharger = портативное зарядное устройство
.desc = Высокотехнологичное зарядное устройство, адаптированное для портативности.
ent-PowerCageSmall = силовая клетка малой емкости
@@ -34,8 +34,8 @@ ent-EZNutrientChemistryBottle = бутылка с EZ-питательными в
ent-Left4ZedChemistryBottle = бутылка с Left-4-Zed
.desc = Повышает эффективность мутагена.
ent-PaxChemistryBottle = бутылка с Pax
- .desc = "бутылка с Pax"
+ .desc = бутылка с Pax
ent-MuteToxinChemistryBottle = бутылка с токсином молчания
- .desc = "бутылка с токсином молчания"
+ .desc = бутылка с токсином молчания
ent-LeadChemistryBottle = бутылка со свинцом
- .desc = "бутылка со свинцом"
+ .desc = бутылка со свинцом
diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-10.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-10.ftl
index aa82e5e88f..19770ec120 100644
--- a/Resources/Locale/ru-RU/locales-new/autotranslate-10.ftl
+++ b/Resources/Locale/ru-RU/locales-new/autotranslate-10.ftl
@@ -1,40 +1,20 @@
ent-SpawnPointSeniorResearcher = Точка спавна ведущего исследователя
- .desc = ""
ent-SpawnPointSeniorOfficer = Точка спавна ветерана СБ
- .desc = ""
ent-SpawnPointBrigmedic = Точка спавна бригмедика
- .desc = ""
ent-SpawnMechRipley = Спавнер рипли
- .desc = ""
ent-SpawnMechHonker = Спавнер Х.О.Н.К'а
- .desc = ""
ent-SpawnMobCatBingus = Спавнер бингуса
- .desc = ""
ent-SpawnMobCatSpace = Спавнер космической кошки
- .desc = ""
ent-SpawnMobShiva = Спавнер Шивы
- .desc = ""
ent-SpawnMobKangarooWillow = Спавнер Уиллоуа
- .desc = ""
ent-SpawnMobKangaroo = Спавнер космического кенгуру
- .desc = ""
ent-SpawnMobBoxingKangaroo = Спавнер боксёрского кенгуру
- .desc = ""
ent-SpawnMobSpaceSpider = Спавнер космического паука
- .desc = ""
ent-SpawnMobAdultSlimesBlue = Спавнер синего слайма
- .desc = ""
ent-SpawnMobAdultSlimesBlueAngry = Спавнер злого синего слайма
- .desc = ""
ent-SpawnMobAdultSlimesGreen = Спавнер зеленого слайма
- .desc = ""
ent-SpawnMobAdultSlimesGreenAngry = Спавнер злого зеленого слайма
- .desc = ""
ent-SpawnMobAdultSlimesYellow = Спавнер жёлтого слайма
- .desc = ""
ent-SpawnMobAdultSlimesYellowAngry = Спавнер злого желтого слайма
- .desc = ""
ent-SpawnMobSmile = Спавнер слайма Улыбкин
- .desc = ""
ent-SpawnMobMonkeyPunpun = Спавнер Пун Пун
- .desc = ""
diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-11.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-11.ftl
index 476564ad0b..ef87f8d42c 100644
--- a/Resources/Locale/ru-RU/locales-new/autotranslate-11.ftl
+++ b/Resources/Locale/ru-RU/locales-new/autotranslate-11.ftl
@@ -1,40 +1,20 @@
ent-SpawnMobBehonker = Спавнер Бонкера
- .desc = ""
ent-SpawnMobMonkey = Спавнер обезьяны
- .desc = ""
ent-SpawnMobPurpleSnake = Спавнер фиолетовой змеи
- .desc = ""
ent-SpawnMobSmallPurpleSnake = Спавнер маленькой фиолетовой змеи
- .desc = ""
ent-SpawnMobSlug = Спавнер слизня
- .desc = ""
ent-SpawnMobLizard = Спавнер ящерицы
- .desc = ""
ent-SpawnMobCrab = Спавнер краба
- .desc = ""
ent-SpawnMobGoat = Спавнер козы
- .desc = ""
ent-SpawnMobFrog = Спавнер лягушки
- .desc = ""
ent-SpawnMobBee = Спавнер пчелы
- .desc = ""
ent-SpawnMobParrot = Спавнер попугая
- .desc = ""
ent-SpawnMobButterfly = Спавнер бабочки
- .desc = ""
ent-SpawnMobCow = Спавнер коровы
- .desc = ""
ent-SpawnMobGorilla = Спавнер гориллы
- .desc = ""
ent-SpawnMobPenguin = Спавнер пингвина
- .desc = ""
ent-SpawnVehicleMotobike = Спавнер мотобайка
- .desc = ""
ent-EngiLootSpawner = Спавнер инженерного лута
- .desc = ""
ent-CommonLootSpawner = Спавнер общего лута
- .desc = ""
ent-SecLootSpawner = Спавнер СБ лута
- .desc = ""
ent-MedLootSpawner = Спавнер медицинского лута
- .desc = ""
diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-12.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-12.ftl
index 8e01b25cfb..51cad5ca1b 100644
--- a/Resources/Locale/ru-RU/locales-new/autotranslate-12.ftl
+++ b/Resources/Locale/ru-RU/locales-new/autotranslate-12.ftl
@@ -1,16 +1,8 @@
ent-RnDLootSpawner = Спавнер научного лута
- .desc = ""
ent-SalvagePartsT2Spawner = Спавнер ур.2 машинных деталей
- .desc = ""
ent-SalvagePartsT3T4Spawner = Спавнер ур.3-4 машинных деталей
- .desc = ""
ent-SalvagePartsT3Spawner = Спавнер ур.3 машинных деталей
- .desc = ""
ent-SalvagePartsT4Spawner = Спавнер ур.4 машинных деталей
- .desc = ""
ent-SpawnMobKangarooSalvage = Спавнер на обломке кенгуру
- .desc = ""
ent-SpawnMobSpiderSalvage = Спавнер на обломке космо-паук
- .desc = ""
ent-SpacemenFigureSpawner = Спавнер фигурки космонавта
- .desc = ""
diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-13.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-13.ftl
index bd985a3424..499691a45b 100644
--- a/Resources/Locale/ru-RU/locales-new/autotranslate-13.ftl
+++ b/Resources/Locale/ru-RU/locales-new/autotranslate-13.ftl
@@ -1,9 +1,6 @@
ent-RandomVendingDrinks = Спавнер случайного вендомата напитков
- .desc = ""
ent-RandomVendingSnacks = Спавнер случайного ведомата закусок
- .desc = ""
ent-MobBoxingKangaroo = кенгуру-боксёр
- .desc = ""
ent-MobGuidebookMonkey = обезьяна руководства
.desc = Надеюсь, полезная обезьянка, единственная цель которой в жизни - чтобы вы нажали на нее. Считается ли это за то, что обезьяна дала вам урок?
ent-MobMonkeySyndicateAgent = обезьяна
diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-14.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-14.ftl
index 441963848f..a461de72ab 100644
--- a/Resources/Locale/ru-RU/locales-new/autotranslate-14.ftl
+++ b/Resources/Locale/ru-RU/locales-new/autotranslate-14.ftl
@@ -3,7 +3,6 @@ ent-MobBehonkerGrav = бонкер
ent-MobBehonkerIce = бонкер
.desc = { ent-BaseMobBehonker.desc }
ent-MobCarpDungeon = карп
- .desc = ""
ent-BaseMobFlesh = ненормальная плоть
.desc = Неуклюжая масса плоти, оживленная с помощью аномальной энергии.
ent-MobAbomination = мерзость
diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-15.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-15.ftl
index 369b95b54f..5ac115c9f2 100644
--- a/Resources/Locale/ru-RU/locales-new/autotranslate-15.ftl
+++ b/Resources/Locale/ru-RU/locales-new/autotranslate-15.ftl
@@ -1,15 +1,10 @@
ent-MobArachnid = Урист МакПаутина
- .desc = ""
ent-BaseMobDragon = космо-дракон
.desc = Летающий левиафан, слабо связанный с космическими карпами.
ent-MobHumanLoneNuclearOperative = одинокий оперативник
- .desc = ""
ent-MobHumanScrambled = взбаламученный человек
- .desc = ""
ent-MobSkrellSyndicateAgent = Скрелл-синдикатовец
- .desc = ""
ent-BaseMobArachnid = Урист МакПаутина
- .desc = ""
ent-MobArachnidDummy = Урист МакПлюш
.desc = Фиктивный арахнид, предназначенный для использования при настройке персонажа.
ent-DrinkCogChampBase = стакан кончемпа
diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-18.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-18.ftl
index 4432bcf832..00b2a7f7df 100644
--- a/Resources/Locale/ru-RU/locales-new/autotranslate-18.ftl
+++ b/Resources/Locale/ru-RU/locales-new/autotranslate-18.ftl
@@ -13,7 +13,6 @@ ent-FoodShakerPepper = перечница
ent-Vape = вейп
.desc = Как сигара, но для крепких подростков. (ВНИМАНИЕ: наливайте в вейп только воду)
ent-DoorRemoteAll = супер дверной пульт
- .desc = ""
ent-EncryptionKey = ключ шифрования
.desc = Небольшой шифрочип для наушников.
ent-ForensicReportPaper = отчет судебного сканера
diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-19.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-19.ftl
index 7f5bddeda8..3f1a6d711f 100644
--- a/Resources/Locale/ru-RU/locales-new/autotranslate-19.ftl
+++ b/Resources/Locale/ru-RU/locales-new/autotranslate-19.ftl
@@ -37,6 +37,6 @@ ent-CellRechargerCircuitboard = машинная плата для зарядн
ent-WeaponCapacitorRechargerCircuitboard = машинная плата зарядника оружия
.desc = Машинная печатная плата для зарядного устройства.
ent-MaterialReclaimerMachineCircuitboard = машинная плата для утилизаторского обработчика
- .desc = ""
+ .desc = Машинная печатная плата для утилизаторского обработчика
ent-SheetifierMachineCircuitboard = машинная плата лист-мейстера 2000
- .desc = ""
+ .desc = Машинная печатная плата для лист-мейстера 2000
diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-20.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-20.ftl
index 620c0d084e..5bd1729c18 100644
--- a/Resources/Locale/ru-RU/locales-new/autotranslate-20.ftl
+++ b/Resources/Locale/ru-RU/locales-new/autotranslate-20.ftl
@@ -1,5 +1,5 @@
ent-FatExtractorMachineCircuitboard = машинная плата для извлечения липидов
- .desc = ""
+ .desc = Машинная печатная плата для извлечения липидов
ent-CargoTelepadMachineCircuitboard = машинная плата грузового телепада
.desc = Машинная печатная плата для грузового телепада.
ent-SalvageMagnetMachineCircuitboard = машинная плата для утилизационных магнитов
diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-23.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-23.ftl
index f0e65945f7..6ccc702dde 100644
--- a/Resources/Locale/ru-RU/locales-new/autotranslate-23.ftl
+++ b/Resources/Locale/ru-RU/locales-new/autotranslate-23.ftl
@@ -29,7 +29,6 @@ ent-CrazyGlue = сумасшедший клей
ent-BaseBoardEntity = доска
.desc = Пустая доска.
ent-BaseBoardTabletop = плинтус
- .desc = ""
ent-BaseBattlemap = боевая карта
.desc = Боевая карта для вашего эпического исследования подземелья, части не включены!
ent-GrassBattlemap = травяная боевая карта
diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-24.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-24.ftl
index cfe230200c..54b88079ec 100644
--- a/Resources/Locale/ru-RU/locales-new/autotranslate-24.ftl
+++ b/Resources/Locale/ru-RU/locales-new/autotranslate-24.ftl
@@ -7,23 +7,15 @@ ent-SnowBattlemap = снежная боевая карта
ent-ShipBattlemap = боевая карта корабля
.desc = Боевая карта для вашего эпического исследования космоса, части не включены!
ent-GrassBoardTabletop = травяная боевая карта
- .desc = ""
ent-MoonBoardTabletop = лунная боевая карта
- .desc = ""
ent-SandBoardTabletop = песчаная боевая карта
- .desc = ""
ent-SnowBoardTabletop = снежная боевая карта
- .desc = ""
ent-ShipBoardTabletop = боевая карта корабля
- .desc = ""
ent-MaterialCardboard = картон
- .desc = ""
ent-MaterialCardboard1 = { ent-MaterialCardboard }
.desc = { ent-MaterialCardboard.desc }
ent-MaterialSheetMeat = мясной лист
- .desc = ""
ent-MaterialSheetMeat1 = { ent-MaterialSheetMeat }
- .desc = ""
ent-BookNarsieLegend = Легенда о Нар'си
.desc = Книга представляет собой старый том в кожаном переплете с замысловатой гравировкой на обложке. Страницы пожелтевшие и хрупкие от времени, чернила текста местами выцвели. Похоже, его хорошо читали и любили, с потрепанными страницами и нацарапанными на полях полями. Несмотря на состарившийся вид, книга по-прежнему источает ощущение мистической силы и чуда, намекая на тайны и знания, содержащиеся на ее страницах.
ent-BookTruth = Изучение различных философских взглядов на правду и сложность лжи
diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-25.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-25.ftl
index 397c8d8578..6736b3aa0c 100644
--- a/Resources/Locale/ru-RU/locales-new/autotranslate-25.ftl
+++ b/Resources/Locale/ru-RU/locales-new/autotranslate-25.ftl
@@ -13,7 +13,7 @@ ent-BookFeather = Волшебное перо - путешествие стра
ent-BookIanLostWolfPup = Приключения Иана и Рено - найти пропавшего волчонка
.desc = Книга в новом состоянии с красочной обложкой, на которой изображены корги Ян и лиса Рено, путешествующие по лесу, с потерянным волчонком на ногах. Название «Приключения Яна и Рено. В поисках пропавшего волчонка» заметно вверху, а имя автора внизу. Обложка имеет причудливый и авантюрный оттенок, привлекая читателей всех возрастов.
ent-BookIanRanch = Приключения Иага и Рено - экспедиция на ранчо
- .desc = Книга выглядит новой, с четкими страницами и безупречной обложкой. На обложке красочно изображены Иэн и Рено в окружении различных животных, с которыми они столкнулись на ранчо, включая лошадей, коров и кур. Название «Приключения Яна и Рено — Экспедиция на ранчо» написано жирным шрифтом над изображением, а подзаголовок «Помощь нуждающимся животным» — под ним.
+ .desc = Книга выглядит новой, с четкими страницами и безупречной обложкой. На обложке красочно изображены Иан и Рено в окружении различных животных, с которыми они столкнулись на ранчо, включая лошадей, коров и кур. Название «Приключения Яна и Рено — Экспедиция на ранчо» написано жирным шрифтом над изображением, а подзаголовок «Помощь нуждающимся животным» — под ним.
ent-BookIanOcean = Приключения Иана и Рено - морское приключение
.desc = Книга новая, в отличном состоянии. На обложке изображены Йен и Рено, бегающие и играющие на пляже, на фоне синего океана и золотого песка. Название написано жирными игривыми буквами, а подзаголовок гласит «Океанское приключение».
ent-BookIanMountain = Приключения Иана и Рено - горная экспедиция
@@ -23,7 +23,7 @@ ent-BookIanCity = Приключения Иана и Рено - прогулка
ent-BookIanArctic = Приключения Иана и Рено - арктическое путешествие мужества и дружбы
.desc = Книга выглядит новой и авантюрной, с изображением Йена и Рено, стоящих перед ледяным пейзажем, а вокруг них падают снежинки. Название «Приключения Яна и Рено» написано жирным шрифтом вверху с подзаголовком «Арктическое путешествие мужества и дружбы».
ent-BookIanDesert = Приключения Иана и Рено - исследование таинственной пустыни
- .desc = Книга находится в новом состоянии и будет иметь красочную обложку, изображающую Иэна и Рено на фоне пустыни. На обложке будут изображения различных животных и растений, с которыми они столкнулись в своем приключении, таких как гремучая змея, койоты, песчаные дюны и оазис. Название «Приключения Яна и Рено» выделено на обложке жирным шрифтом, а подзаголовок «Исследование таинственной пустыни» написан мелкими буквами внизу.
+ .desc = Книга находится в новом состоянии и будет иметь красочную обложку, изображающую Иана и Рено на фоне пустыни. На обложке будут изображения различных животных и растений, с которыми они столкнулись в своем приключении, таких как гремучая змея, койоты, песчаные дюны и оазис. Название «Приключения Яна и Рено» выделено на обложке жирным шрифтом, а подзаголовок «Исследование таинственной пустыни» написан мелкими буквами внизу.
ent-BookNames = Сила имен - философское исследование
.desc = Книга представляет собой мягко использованный философский текст с обложкой, на которой изображен крупный план рта человека со словом «имена», написанным на его губах. Название — «Сила имен — философское исследование», а под ним видно имя автора. Общий дизайн прост и элегантен, с акцентом на текст, а не на яркую графику или изображения.
ent-BookEarth = Земная тоска
diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-3.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-3.ftl
index cc75b8009b..760dcecb81 100644
--- a/Resources/Locale/ru-RU/locales-new/autotranslate-3.ftl
+++ b/Resources/Locale/ru-RU/locales-new/autotranslate-3.ftl
@@ -23,15 +23,15 @@ ent-ClothingHeadHelmetSwat = шлем спецназа
ent-ClothingHeadHelmetSwatSyndicate = шлем спецназа
.desc = Чрезвычайно прочный шлем, обычно используемый военизированными формированиями. Он украшен гнусным рисунком в красную и черную полоску.
ent-ClothingHeadHelmetERTLeader = шлем лидера ОБР
- .desc = Шлем для работы в атмосфере, который носит руководитель группы экстренного реагирования Nanotrasen. Имеет синие блики.
+ .desc = Шлем для работы в атмосфере, который носит руководитель Отряда Быстрого Реагирования Nanotrasen. Имеет синие блики.
ent-ClothingHeadHelmetERTSecurity = шлем охраны ОБР
- .desc = Шлем для работы в атмосфере, который носят сотрудники службы безопасности группы экстренного реагирования Nanotrasen. Имеет красные блики.
+ .desc = Шлем для работы в атмосфере, который носят сотрудники службы безопасности Отряда Быстрого Реагирования Nanotrasen. Имеет красные блики.
ent-ClothingHeadHelmetERTMedic = шлем медика ОБР
- .desc = Шлем для работы в атмосфере, который носят медики из группы экстренного реагирования Nanotrasen. Имеет белые блики.
+ .desc = Шлем для работы в атмосфере, который носят медики из Отряда Быстрого Реагирования Nanotrasen. Имеет белые блики.
ent-ClothingHeadHelmetERTEngineer = шлем инженера ОБР
- .desc = Шлем для работы в атмосфере, который носят инженеры из группы экстренного реагирования Nanotrasen. Имеет оранжевые блики.
+ .desc = Шлем для работы в атмосфере, который носят инженеры из Отряда Быстрого Реагирования Nanotrasen. Имеет оранжевые блики.
ent-ClothingHeadHelmetERTJanitor = шлем уборщика ОБР
- .desc = Шлем для работы в атмосфере, который носят уборщики из группы экстренного реагирования Nanotrasen. Имеет темно-фиолетовые отблески.
+ .desc = Шлем для работы в атмосфере, который носят уборщики из Отряда Быстрого Реагирования Nanotrasen. Имеет темно-фиолетовые отблески.
ent-ClothingHeadHatHoodMoth = маска моли
.desc = Маска в виде головы мотылька обычно изготавливается из легких материалов. Он имитирует форму головы мотылька с большими глазами и длинными усиками.
ent-ClothingMaskBreathMedicalSecurity = медицинская маска военного образца
diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-42.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-42.ftl
index 06e2d77812..13c724351b 100644
--- a/Resources/Locale/ru-RU/locales-new/autotranslate-42.ftl
+++ b/Resources/Locale/ru-RU/locales-new/autotranslate-42.ftl
@@ -3,13 +3,11 @@ ent-ChairMeat = мясной стул
ent-DresserFilled = { ent-Dresser }
.desc = { ent-Dresser.desc }
ent-CounterBase = стойка
- .desc = ""
ent-HolosignSecurity = голографический барьер
.desc = Барьер жесткого света, который блокирует движение, но довольно слабый.
ent-FatExtractor = экстрактор липидов
.desc = Безопасно и эффективно удаляет лишний жир с тела.
ent-BaseLathe = лат
- .desc = ""
ent-AmmoTechFab = ТехФаб патронов
.desc = Печатает минимум пуль, которые могут понадобиться любой бюджетной армии или оружейной. Ничего особенного.
ent-Sheetifier = лист-мейстер 2000
diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-43.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-43.ftl
index 12339e2ee7..ffc85c82dd 100644
--- a/Resources/Locale/ru-RU/locales-new/autotranslate-43.ftl
+++ b/Resources/Locale/ru-RU/locales-new/autotranslate-43.ftl
@@ -1,11 +1,7 @@
ent-GasMinerOxygenStation = Добытчик газа O2
- .desc = ""
ent-GasMinerOxygenStationLarge = Добытчик газа O2
- .desc = ""
ent-GasMinerNitrogenStation = Добытчик газа N2
- .desc = ""
ent-GasMinerNitrogenStationLarge = Добытчик газа N2
- .desc = ""
ent-GasThermoMachineFreezerEnabled = { ent-GasThermoMachineFreezer }
.desc = { ent-BaseGasThermoMachine.desc }
ent-GasThermoMachineHeaterEnabled = { ent-GasThermoMachineHeater }
diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-46.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-46.ftl
index 10dcbe5342..0f1b6a6efe 100644
--- a/Resources/Locale/ru-RU/locales-new/autotranslate-46.ftl
+++ b/Resources/Locale/ru-RU/locales-new/autotranslate-46.ftl
@@ -9,7 +9,6 @@ ent-WallRockBananium = { ent-WallRock }
ent-WallRockArtifactFragment = { ent-WallRock }
.desc = Каменная стена. Что это торчит из него?
ent-WallRockBasalt = { ent-WallRock }
- .desc = ""
ent-WallRockBasaltGold = { ent-WallRock }
.desc = Рудная жила, богатая золотом.
ent-WallRockBasaltPlasma = { ent-WallRock }
@@ -27,7 +26,6 @@ ent-WallRockBasaltBananium = { ent-WallRock }
ent-WallRockBasaltArtifactFragment = { ent-WallRock }
.desc = Каменная стена. Что это торчит из него?
ent-WallRockSnow = { ent-WallRock }
- .desc = ""
ent-WallRockSnowGold = { ent-WallRock }
.desc = Рудная жила, богатая золотом.
ent-WallRockSnowPlasma = { ent-WallRock }
diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-47.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-47.ftl
index 3df4459891..8861a5cbf3 100644
--- a/Resources/Locale/ru-RU/locales-new/autotranslate-47.ftl
+++ b/Resources/Locale/ru-RU/locales-new/autotranslate-47.ftl
@@ -7,34 +7,19 @@ ent-WallRockSnowArtifactFragment = { ent-WallRock }
ent-WallMeat = мясная стена
.desc = Липкая.
ent-WallPlastitaniumDiagonal = пластитановая стена
- .desc = ""
ent-WallSolidDiagonal = сплошная стена
- .desc = ""
ent-FloorWaterEntity = вода
- .desc = ""
ent-VirtualElectrocutionLoadBase = ЭЛЕКТРИЧЕСКИЙ УДАР, ВЫ НЕ ДОЛЖНЫ ВИДЕТЬ ЭТО
- .desc = ""
ent-WorldChunk = Кусок мира
.desc = Смотреть неприлично. Также немного странно, что вы смотрите на абстрактное представление сетки реальности.
ent-BaseAsteroidDebris = Обломки астероида
- .desc = ""
ent-AsteroidDebrisSmall = Обломки астероида малый
- .desc = ""
ent-AsteroidDebrisMedium = Обломки астероида средний
- .desc = ""
ent-AsteroidDebrisLarge = Обломоки астероида большой
- .desc = ""
ent-AsteroidDebrisLarger = Обломки астероида огромный
- .desc = ""
ent-AsteroidSalvageSmall = Утилизаторский астероид малый
- .desc = ""
ent-AsteroidSalvageMedium = Утилизаторский астероид средний
- .desc = ""
ent-AsteroidSalvageLarge = Утилизаторский астероид большой
- .desc = ""
ent-AsteroidSalvageHuge = Утилизаторский астероид огромный
- .desc = ""
ent-AfterlightBaseAsteroidDebris = Обломки астероида
- .desc = ""
ent-AfterlightAsteroidDebrisSmall = Обломки астероида малый
- .desc = ""
diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-48.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-48.ftl
index 36f66654d6..156d4c969a 100644
--- a/Resources/Locale/ru-RU/locales-new/autotranslate-48.ftl
+++ b/Resources/Locale/ru-RU/locales-new/autotranslate-48.ftl
@@ -1,27 +1,16 @@
ent-AfterlightAsteroidDebrisMedium = Обломки астероида средний
- .desc = ""
ent-AfterlightAsteroidDebrisLarge = Обломоки астероида большой
- .desc = ""
ent-AfterlightAsteroidDebrisLarger = Обломки астероида огромный
- .desc = ""
ent-BaseDebris = ""
.desc = ""
ent-BaseScrapDebris = Дебри обломков
- .desc = ""
ent-ScrapDebrisSmall = Дебри обломков маленький
- .desc = ""
ent-ScrapDebrisMedium = Дебри обломков средний
- .desc = ""
ent-ScrapDebrisLarge = Дебри обломков большой
- .desc = ""
ent-CombatRimBaseScrapDebris = Дебри обломков
- .desc = ""
ent-CombatRimScrapDebrisSmall = Дебри обломков маленький
- .desc = ""
ent-CombatRimScrapDebrisMedium = Дебри обломков средний
- .desc = ""
ent-CombatRimScrapDebrisLarge = Дебри обломков большой
- .desc = ""
ent-D1 = ""
.desc = ""
ent-D2 = ""
diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-52.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-52.ftl
index 87f44b4d40..b5880e297e 100644
--- a/Resources/Locale/ru-RU/locales-new/autotranslate-52.ftl
+++ b/Resources/Locale/ru-RU/locales-new/autotranslate-52.ftl
@@ -7,38 +7,26 @@ ent-EffectEmpPulse = ""
ent-EffectEmpDisabled = ""
.desc = ""
ent-SpawnMobFlesh = Спавнер плоти
- .desc = ""
ent-SpawnMobGiantSpider = Спавнер гигантского паука
- .desc = ""
ent-SpawnMobXenos = Спавнер ксено
- .desc = ""
ent-SpawnMobXenoPraetorian = Спавнер ксено преторианца
- .desc = ""
ent-SpawnMobXenoDrone = Спавнер ксено дрона
- .desc = ""
ent-SpawnMobXenoQueen = Спавнер ксено королевы
- .desc = ""
ent-SpawnMobXenoRavager = Спавнер ксено разрушителя
- .desc = ""
ent-SpawnMobXenoRunner = Спавнер ксено бегуна
- .desc = ""
ent-SpawnMobXenoRouny = Спавнер ксено руни
- .desc = ""
ent-SpawnMobXenoSpitter = Спавнер ксено плевальщика
- .desc = ""
ent-SpawnMobXenoTurret = Спавнер ксено турели
- .desc = ""
ent-SpawnMobXenoTower = Спавнер ксено башни
- .desc = ""
ent-MobRandomServiceCorpse = неизвестный лакей
- .desc = "Его дни сочтены. По униформе похож на обслугу."
+ .desc = Его дни сочтены. По униформе похож на обслугу.
.suffix = "Мертвый"
ent-MobRandomEngineerCorpse = неизвестный инженер
- .desc = "Его рука больше не может держать лом."
+ .desc = Его рука больше не может держать лом.
.suffix = "Мертвый"
ent-MobRandomCargoCorpse = неизвестный грузчик
- .desc = "Они же не могут восстать из мертвых, да?"
+ .desc = Они же не могут восстать из мертвых, да?
.suffix = "Мертвый"
ent-MobRandomMedicCorpse = неизвестный врач
- .desc = "Мазь и бинты здесь уже не помогут."
+ .desc = Мазь и бинты здесь уже не помогут.
.suffix = "Мертвый"
diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-53.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-53.ftl
index 7c3ed0de19..29478018ae 100644
--- a/Resources/Locale/ru-RU/locales-new/autotranslate-53.ftl
+++ b/Resources/Locale/ru-RU/locales-new/autotranslate-53.ftl
@@ -1,11 +1,11 @@
ent-MobRandomScienceCorpse = неизвестный ученый
- .desc = "Его смерть будет самой великой загадкой."
+ .desc = Его смерть будет самой великой загадкой.
.suffix = "Мертвый"
ent-MobRandomSecurityCorpse = неизвестный охранник
- .desc = "Вы видите след ящика из-под инструментов на его затылке."
+ .desc = Вы видите след ящика из-под инструментов на его затылке.
.suffix = "Мертвый"
ent-MobRandomCommandCorpse = неизвестный глава
- .desc = "Возможно теперь его вещи в надежных руках?"
+ .desc = Возможно теперь его вещи в надежных руках?
.suffix = "Мертвый"
ent-FoodEggChickenFertilized = { ent-FoodEgg }
.desc = { ent-FoodEggBase.desc }
diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-9.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-9.ftl
index b8707d6e99..9cbeeed7dd 100644
--- a/Resources/Locale/ru-RU/locales-new/autotranslate-9.ftl
+++ b/Resources/Locale/ru-RU/locales-new/autotranslate-9.ftl
@@ -7,36 +7,19 @@ ent-PuddleSparkle = Sparkle
ent-Puddle = лужа
.desc = Лужа жидкости.
ent-SalvageHumanCorpseSpawner = Спавнер тела человека
- .desc = ""
ent-RandomServiceCorpseSpawner = Спавнер случайного сервисного сотрудника
- .desc = ""
ent-RandomEngineerCorpseSpawner = Спавнер случайного тела инженера
- .desc = ""
ent-RandomCargoCorpseSpawner = Спавнер случайного тела карго
- .desc = ""
ent-RandomMedicCorpseSpawner = Спавнер случайного тела медика
- .desc = ""
ent-RandomScienceCorpseSpawner = Спавнер случайного тела учёного
- .desc = ""
ent-RandomSecurityCorpseSpawner = Спавнер случайного тела СБ
- .desc = ""
ent-RandomCommandCorpseSpawner = Спавнер случайного тела коммандного
- .desc = ""
ent-SpawnMobHuman = Спавнер Уриста
- .desc = ""
ent-SpawnPointLoneNukeOperative = Точка спавна одинокого нюки
- .desc = ""
ent-SpawnPointGhostDragon = Точка спавна дракона
- .desc = ""
ent-SpawnPointResearchAssistant = Точка спавна научного ассистента
- .desc = ""
ent-SpawnPointBoxer = Точка спавна боксёра
- .desc = ""
ent-SpawnPointSeniorEngineer = Точка спавна бригадира
- .desc = ""
ent-SpawnPointSeniorPhysician = Точка спавна медицинского офицера
- .desc = ""
ent-SpawnPointSeniorSalvageSpecialist = Точка спавна охтника карго
- .desc = ""
ent-SpawnPointParamedic = Точка спавна парамедика
- .desc = ""
diff --git a/Resources/Locale/ru-RU/markings/cat.ftl b/Resources/Locale/ru-RU/markings/cat.ftl
index 83f4c77ca6..cfc1eec382 100644
--- a/Resources/Locale/ru-RU/markings/cat.ftl
+++ b/Resources/Locale/ru-RU/markings/cat.ftl
@@ -57,3 +57,7 @@ marking-TailReider207-tailtip = Кончик
marking-TechnoClawsEgoruch = Слуга Омниссии
marking-TechnoClawsEgoruch-claws_overlay = Клешни
+
+marking-CatTailMarginal = Хвост леопарда
+marking-CatTailMarginal-m_waggingtail_leopard_primary = Хвост
+marking-CatTailMarginal-m_waggingtail_leopard_tertiary = Цвет хвоста
diff --git a/Resources/Locale/ru-RU/paperbin/paperbin.ftl b/Resources/Locale/ru-RU/paperbin/paperbin.ftl
new file mode 100644
index 0000000000..5fe1b2dcb0
--- /dev/null
+++ b/Resources/Locale/ru-RU/paperbin/paperbin.ftl
@@ -0,0 +1 @@
+bin-component-on-examine-text = Похоже в нём { $count } предметов.
diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/back/backpacks.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/back/backpacks.ftl
index d6fa814b94..42384d25cf 100644
--- a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/back/backpacks.ftl
+++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/back/backpacks.ftl
@@ -35,22 +35,22 @@ ent-ClothingBackpackSalvage = рюкзак утилизатора
.desc = Прочный рюкзак для хранения добычи.
.suffix = { "" }
ent-ClothingBackpackERTLeader = рюкзак командира ОБР
- .desc = Вместительный рюкзак с множеством карманов, который носит командир отряда быстрого реагирования.
+ .desc = Вместительный рюкзак с множеством карманов, который носит командир Отряда Быстрого Реагирования.
.suffix = { "" }
ent-ClothingBackpackERTSecurity = рюкзак офицера безопасности ОБР
- .desc = Вместительный рюкзак с множеством карманов, который носят офицеры безопасности отряда быстрого реагирования.
+ .desc = Вместительный рюкзак с множеством карманов, который носят офицеры безопасности Отряда Быстрого Реагирования.
.suffix = { "" }
ent-ClothingBackpackERTMedical = рюкзак медика ОБР
- .desc = Вместительный рюкзак с множеством карманов, который носят медики отряда быстрого реагирования.
+ .desc = Вместительный рюкзак с множеством карманов, который носят медики Отряда Быстрого Реагирования.
.suffix = { "" }
ent-ClothingBackpackERTEngineer = рюкзак инженера ОБР
- .desc = Вместительный рюкзак с множеством карманов, который носят инженеры отряда быстрого реагирования.
+ .desc = Вместительный рюкзак с множеством карманов, который носят инженеры Отряда Быстрого Реагирования.
.suffix = { "" }
ent-ClothingBackpackERTJanitor = рюкзак уборщика ОБР
- .desc = Вместительный рюкзак с множеством карманов, который носят уборщики отряда быстрого реагирования.
+ .desc = Вместительный рюкзак с множеством карманов, который носят уборщики Отряда Быстрого Реагирования.
.suffix = { "" }
ent-ClothingBackpackERTClown = рюкзак клоуна ОБР
- .desc = Вместительный рюкзак с множеством карманов, который носят клоуны отряда быстрого реагирования.
+ .desc = Вместительный рюкзак с множеством карманов, который носят клоуны Отряда Быстрого Реагирования.
.suffix = { "" }
ent-ClothingBackpackHolding = блюспейс рюкзак
.desc = Рюкзак, открывающийся в локальный карман блюспейса.
diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/back/satchel.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/back/satchel.ftl
index 3fc2e0b44b..5049da344f 100644
--- a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/back/satchel.ftl
+++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/back/satchel.ftl
@@ -40,3 +40,9 @@ ent-ClothingBackpackSatchelVirology = сумка вирусолога
ent-ClothingBeltStorageWaistbag = кожаная поясная сумка
.desc = Кожаная поясная сумка, предназначенная для переноски мелких предметов.
.suffix = { "" }
+ent-ClothingBackpackPirateFilled = кожаная сумка
+ .desc = Модная сумка ушедшей эпохи.
+ .suffix = { "" }
+ent-ClothingBackpackSatchelInspectorFilled = кожаная сумка инспектора
+ .desc = Стильная кожаная сумка из натуральной кожи тех, кто плохо исполнял свои обязанности. Лучше даже не пытаться узнать, что внутри.
+ .suffix = { "" }
diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/head/hardsuit-helmets.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/head/hardsuit-helmets.ftl
index 19e2856e82..bd5745d08e 100644
--- a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/head/hardsuit-helmets.ftl
+++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/head/hardsuit-helmets.ftl
@@ -62,7 +62,7 @@ ent-ClothingHeadHelmetCBURN = шлем отряда РХБЗЗ
.desc = Огнеупорный, защищающий давления шлем, который используют специальные подразделения зачистки.
.suffix = { "" }
ent-ClothingHeadHelmetHardsuitERTLeader = шлем скафандра лидера ОБР
- .desc = Специальный защитный шлем, который носят члены отрядов быстрого реагирования.
+ .desc = Специальный защитный шлем, который носят члены Отряда Быстрого Реагирования.
.suffix = { "" }
ent-ClothingHeadHelmetHardsuitERTEngineer = шлем скафандра инженера ОБР
.desc = { ent-ClothingHeadHelmetHardsuitERTLeader.desc }
diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/outerclothing/hardsuits.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/outerclothing/hardsuits.ftl
index 6d76bd665d..82f7e2a9d8 100644
--- a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/outerclothing/hardsuits.ftl
+++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/outerclothing/hardsuits.ftl
@@ -74,7 +74,7 @@ ent-ClothingOuterHardsuitCBURN = экзокостюм отряда РХБЗЗ
.desc = Легковесный но прочный экзокостюм, который используют специальные подразделения зачистки.
.suffix = { "" }
ent-ClothingOuterHardsuitERTLeader = скафандр лидера ОБР
- .desc = Защитный скафандр, используемый оперативниками отряда быстрого реагирования.
+ .desc = Защитный скафандр, используемый оперативниками Отряда Быстрого Реагирования.
.suffix = { "" }
ent-ClothingOuterHardsuitERTEngineer = скафандр инженера ОБР
.desc = { ent-ClothingOuterHardsuitERTLeader.desc }
diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/weapons/melee/knife.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/weapons/melee/knife.ftl
index f25ec6fecd..39f4859301 100644
--- a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/weapons/melee/knife.ftl
+++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/weapons/melee/knife.ftl
@@ -27,4 +27,3 @@ ent-KukriKnife = нож-кукри
ent-ThrowingKnife = метательный нож
.desc = Этот кроваво-красный нож очень аэродинамичен и удобен для метания, но удачи вам, если вы попытаетесь сразиться с кем-то врукопашную.
ent-BloodSuckerDagger = кинжал жажды
- .desc = ""
\ No newline at end of file
diff --git a/Resources/Locale/ru-RU/station-events/events/bureaucratic-error.ftl b/Resources/Locale/ru-RU/station-events/events/bureaucratic-error.ftl
index 5f4c47dda2..4968a674d6 100644
--- a/Resources/Locale/ru-RU/station-events/events/bureaucratic-error.ftl
+++ b/Resources/Locale/ru-RU/station-events/events/bureaucratic-error.ftl
@@ -1 +1,2 @@
station-event-bureaucratic-error-announcement = В результате недавней бюрократической ошибки в Отделе органических ресурсов на станции может образоваться нехватка персонала в одних отделах и избыток персонала в других.
+station-event-clerical-error-announcement = Незначительная техническая ошибка в Департаменте органических ресурсов привела к безвозвратному уничтожению некоторых записей станции.
diff --git a/Resources/Locale/ru-RU/station-events/events/intercept.ftl b/Resources/Locale/ru-RU/station-events/events/intercept.ftl
new file mode 100644
index 0000000000..a37186edbb
--- /dev/null
+++ b/Resources/Locale/ru-RU/station-events/events/intercept.ftl
@@ -0,0 +1 @@
+station-event-communication-interception = Внимание! Перехвачена передача вражеских сообщений. Уровень безопасности повышен.
diff --git a/Resources/Locale/ru-RU/station-events/events/meteor-swarm.ftl b/Resources/Locale/ru-RU/station-events/events/meteor-swarm.ftl
index 2aa016b502..cb2b18652b 100644
--- a/Resources/Locale/ru-RU/station-events/events/meteor-swarm.ftl
+++ b/Resources/Locale/ru-RU/station-events/events/meteor-swarm.ftl
@@ -1,2 +1,5 @@
station-event-meteor-swarm-start-announcement = Обнаружен рой метеоритов прямо по курсу станции. Приготовьтесь к столкновению.
station-event-meteor-swarm-end-announcement = Метеорный рой миновал. Пожалуйста, вернитесь на свои рабочие места.
+
+station-event-space-dust-start-announcement = Станция проходит через облако мусора, ожидаются незначительные повреждения внешнего оборудования.
+station-event-meteor-urist-start-announcement = Станция сталкивается с неопознанным роем обломков. Пожалуйста, сохраняйте спокойствие и не слушайте их.
diff --git a/Resources/Locale/ru-RU/step-trigger/shoes-required.ftl b/Resources/Locale/ru-RU/step-trigger/shoes-required.ftl
index 61b3d75822..297595ee7f 100644
--- a/Resources/Locale/ru-RU/step-trigger/shoes-required.ftl
+++ b/Resources/Locale/ru-RU/step-trigger/shoes-required.ftl
@@ -1 +1 @@
-shoes-required-step-trigger-examine = Вам, пожалуй, не стоит наступать на это босиком.
+clothing-required-step-trigger-examine = Вам, пожалуй, не стоит наступать на это босиком.
diff --git a/Resources/Locale/ru-RU/structure/gateway.ftl b/Resources/Locale/ru-RU/structure/gateway.ftl
new file mode 100644
index 0000000000..453ab52b7b
--- /dev/null
+++ b/Resources/Locale/ru-RU/structure/gateway.ftl
@@ -0,0 +1,2 @@
+ent-Gateway = врата
+ .desc = Таинственные врата, построенные неизвестными руками, позволяют путешествовать со скоростью, превышающей скорость света, в отдаленные места.
diff --git a/Resources/Locale/ru-RU/white/auth-panel.ftl b/Resources/Locale/ru-RU/white/auth-panel.ftl
index 33a44d30dc..c623efff44 100644
--- a/Resources/Locale/ru-RU/white/auth-panel.ftl
+++ b/Resources/Locale/ru-RU/white/auth-panel.ftl
@@ -1,7 +1,7 @@
ent-AuthPanel = Панель авторизации
.desc = Если что-то пойдёт не так...
-ert-description = Как член Отряда быстрого реагирования,
+ert-description = Как член Отряда Быстрого Реагирования,
принадлежащего НаноТрейсен, тебе поручено высадиться на станции, терпящей бедствие,
и вернуть её в рабочее состояние. Нельзя точно сказать, с чем ты столкнёшься на своём задании, удачи,
она понадобится тебе. Вы подчиняетесь непосредственно только ЦК. Особое распространение может это изменить.
diff --git a/Resources/Locale/ru-RU/white/recruitment.ftl b/Resources/Locale/ru-RU/white/recruitment.ftl
index 2d9133311e..5d9faeb516 100644
--- a/Resources/Locale/ru-RU/white/recruitment.ftl
+++ b/Resources/Locale/ru-RU/white/recruitment.ftl
@@ -1,5 +1,5 @@
-accept-ert-window-title = Набор в отряды ЕРТ!
-accept-ert-window-prompt-text-part = Готовы ли вы стать частью отряда ЕРТ? Если вы не уверенны то лучше скажите НЕТ!
+accept-ert-window-title = Набор в отряды ОБР!
+accept-ert-window-prompt-text-part = Готовы ли вы стать частью отряда ОБР? Если вы не уверенны то лучше скажите НЕТ!
ert-accept-message = Внимание! Мы получили запрос на Отряд Быстрого Реагирования. Запрос одобрен! Ожидайте.
ert-deny-message = Внимание! Мы получили запрос на Отряд Быстрого Реагирования. Запрос отклонён! Мы не можем отправить его сейчас.
diff --git a/Resources/Locale/ru-RU/white/something.ftl b/Resources/Locale/ru-RU/white/something.ftl
index cf3a8e3cdc..4751ec974b 100644
--- a/Resources/Locale/ru-RU/white/something.ftl
+++ b/Resources/Locale/ru-RU/white/something.ftl
@@ -52,28 +52,28 @@ shoes-she = На ногах у нее
# Оно
-head-it = On its head, it wears
-eyes-it = In its eyes, it has
-mask-it = It is wearing a mask on its face
-neck-it = Around its neck, it has
-ears-it = It has something on its ears
-jumpsuit-it = It is wearing
-outer-it = Also
-back-it = On its back, it carries
-gloves-it = On its hands
-belt-it = It is wearing
-shoes-it = It is wearing
+head-it = На их голове
+eyes-it = На их глазах
+mask-it = На их лице
+neck-it = Вокруг их шеи
+ears-it = На их ушах
+jumpsuit-it = Они носят
+outer-it = А так же
+back-it = На их спине
+gloves-it = На их руках
+belt-it = На них висит
+shoes-it = На ногах у них
# Они
-head-they = На их головах
+head-they = На их голове
eyes-they = На их глазах
-mask-they = На их лицах
+mask-they = На их лице
neck-they = Вокруг их шеи
ears-they = На их ушах
jumpsuit-they = Они носят
outer-they = А так же
-back-they = На их спинах
+back-they = На их спине
gloves-they = На их руках
belt-they = На них висит
shoes-they = На ногах у них
@@ -98,8 +98,8 @@ supermatter-seconds-before-delam = { $Seconds } секунд осталось д
# MobStateShit
-action-name-crit-succumb = Succumb
-action-description-crit-succumb = Accept your fate.
+action-name-crit-succumb = Сдаться
+action-description-crit-succumb = Смириться с судьбой.
-action-name-crit-last-words = Say Last Words
-action-description-crit-last-words = Whisper your last words to anyone nearby, and then succumb to your fate. You only have 30 characters to work with.
+action-name-crit-last-words = Произнести последние слова
+action-description-crit-last-words = Прошетать свои последние слова всем, кто находится поблизости, а затем сдаться на милость судьбы. Вам доступно только 30 символов.
diff --git a/Resources/Prototypes/Recipes/Construction/furniture.yml b/Resources/Prototypes/Recipes/Construction/furniture.yml
index 898749a095..df21266e11 100644
--- a/Resources/Prototypes/Recipes/Construction/furniture.yml
+++ b/Resources/Prototypes/Recipes/Construction/furniture.yml
@@ -695,7 +695,7 @@
category: construction-category-furniture
description: Do not apply fire to this. Rumour says it burns easily.
icon:
- sprite: Structures/Furniture/Tables/wood.rsi
+ sprite: White/Structures/Furniture/Tables/wood.rsi
state: full
objectType: Structure
placementMode: SnapgridCenter
diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/bomzh.yml b/Resources/Prototypes/Roles/Jobs/Civilian/bomzh.yml
index 0d7df61428..247b1a0461 100644
--- a/Resources/Prototypes/Roles/Jobs/Civilian/bomzh.yml
+++ b/Resources/Prototypes/Roles/Jobs/Civilian/bomzh.yml
@@ -18,11 +18,13 @@
- !type:SpeciesRequirement
species:
- Human
+ - Dwarf
weight: 20
icon: "JobIconBomzh"
supervisors: job-supervisors-hop
whitelistedSpecies:
- Human
+ - Dwarf
canBeAntag: true
access:
- Maintenance
diff --git a/Resources/Prototypes/_White/JukeboxSongs/LobbySongs.yml b/Resources/Prototypes/_White/JukeboxSongs/LobbySongs.yml
index b383b4d0bb..ecec20aa83 100644
--- a/Resources/Prototypes/_White/JukeboxSongs/LobbySongs.yml
+++ b/Resources/Prototypes/_White/JukeboxSongs/LobbySongs.yml
@@ -47,7 +47,7 @@
- type: jukebox # WD
id: AllThatICanSee
- name: "[NEW] Song - All That I Can See"
+ name: Song - All That I Can See
path:
path: /Audio/White/Music/Lobby/Songs/AllThatICanSee.ogg
@@ -97,31 +97,31 @@
- type: jukebox # WD
id: Delirium
- name: "[NEW] Music - Delirium"
+ name: Music - Delirium
path:
path: /Audio/White/Music/Lobby/Music/delirium.ogg
- type: jukebox # WD
id: MagicFly
- name: "[NEW] Music - Magic Fly"
+ name: Music - Magic Fly
path:
path: /Audio/White/Music/Lobby/Music/magicfly.ogg
- type: jukebox # WD
id: CrokketTheme
- name: "[NEW] Music - Crokket theme"
+ name: Music - Crokket theme
path:
path: /Audio/White/Music/crokett_39_s_theme.ogg
- type: jukebox # WD
id: Guts
- name: "[NEW] Music - Guts"
+ name: Music - Guts
path:
path: /Audio/White/Music/guts.ogg
- type: jukebox # WD
id: VoyageNeverEnding
- name: "[NEW] Music - Voyage Never Ending"
+ name: Music - Voyage Never Ending
path:
path: /Audio/Ambience/voyage_neverending.ogg
@@ -130,3 +130,15 @@
name: Music - Cosmic Temperance
path:
path: /Audio/Lobby/White/cosmictemperance.ogg
+
+- type: jukebox # WD
+ id: LibetsDelay
+ name: "[NEW] Music - Libets Delay"
+ path:
+ path: /Audio/White/Music/Lobby/Music/Libets_Delay.ogg
+
+- type: jukebox # WD
+ id: ItsJustABurningMemory
+ name: "[NEW] Music - Its just a burning memory"
+ path:
+ path: /Audio/White/Music/Lobby/Music/Its_just_a_burning_memory.ogg
diff --git a/Resources/Prototypes/_White/Mobs/Customization/Markings/marg_inal_parts.yml b/Resources/Prototypes/_White/Mobs/Customization/Markings/marg_inal_parts.yml
new file mode 100644
index 0000000000..cdf399506f
--- /dev/null
+++ b/Resources/Prototypes/_White/Mobs/Customization/Markings/marg_inal_parts.yml
@@ -0,0 +1,11 @@
+- type: marking
+ id: CatTailMarginal
+ bodyPart: Tail
+ markingCategory: Tail
+ speciesRestriction: [Human, Felinid]
+ sponsorOnly: true
+ sprites:
+ - sprite: White/Mobs/Customization/marg_inal.rsi
+ state: m_waggingtail_leopard_primary
+ - sprite: White/Mobs/Customization/marg_inal.rsi
+ state: m_waggingtail_leopard_tertiary
diff --git a/Resources/Textures/White/Mobs/Customization/marg_inal.rsi/m_tail_leopard_primary.png b/Resources/Textures/White/Mobs/Customization/marg_inal.rsi/m_tail_leopard_primary.png
new file mode 100644
index 0000000000..ece5cfdebd
Binary files /dev/null and b/Resources/Textures/White/Mobs/Customization/marg_inal.rsi/m_tail_leopard_primary.png differ
diff --git a/Resources/Textures/White/Mobs/Customization/marg_inal.rsi/m_tail_leopard_tertiary.png b/Resources/Textures/White/Mobs/Customization/marg_inal.rsi/m_tail_leopard_tertiary.png
new file mode 100644
index 0000000000..38be4397a0
Binary files /dev/null and b/Resources/Textures/White/Mobs/Customization/marg_inal.rsi/m_tail_leopard_tertiary.png differ
diff --git a/Resources/Textures/White/Mobs/Customization/marg_inal.rsi/m_waggingtail_leopard_primary.png b/Resources/Textures/White/Mobs/Customization/marg_inal.rsi/m_waggingtail_leopard_primary.png
new file mode 100644
index 0000000000..af926be97f
Binary files /dev/null and b/Resources/Textures/White/Mobs/Customization/marg_inal.rsi/m_waggingtail_leopard_primary.png differ
diff --git a/Resources/Textures/White/Mobs/Customization/marg_inal.rsi/m_waggingtail_leopard_tertiary.png b/Resources/Textures/White/Mobs/Customization/marg_inal.rsi/m_waggingtail_leopard_tertiary.png
new file mode 100644
index 0000000000..9932106048
Binary files /dev/null and b/Resources/Textures/White/Mobs/Customization/marg_inal.rsi/m_waggingtail_leopard_tertiary.png differ
diff --git a/Resources/Textures/White/Mobs/Customization/marg_inal.rsi/meta.json b/Resources/Textures/White/Mobs/Customization/marg_inal.rsi/meta.json
new file mode 100644
index 0000000000..5fe4dd17f1
--- /dev/null
+++ b/Resources/Textures/White/Mobs/Customization/marg_inal.rsi/meta.json
@@ -0,0 +1,151 @@
+{
+ "version": 1,
+ "license": "CC-BY-SA-4.0",
+ "copyright": "Valtos",
+ "size": {
+ "x": 32,
+ "y": 32
+ },
+ "states": [
+ {
+ "name": "m_tail_leopard_primary",
+ "directions": 4
+ },
+ {
+ "name": "m_tail_leopard_tertiary",
+ "directions": 4
+ },
+ {
+ "name": "m_waggingtail_leopard_primary",
+ "directions": 4,
+ "delays": [
+ [
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177
+ ],
+ [
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177
+ ],
+ [
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177
+ ],
+ [
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177
+ ]
+ ]
+ },
+ {
+ "name": "m_waggingtail_leopard_tertiary",
+ "directions": 4,
+ "delays": [
+ [
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177
+ ],
+ [
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177
+ ],
+ [
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177
+ ],
+ [
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177,
+ 0.177
+ ]
+ ]
+ }
+ ]
+}
diff --git a/Resources/Textures/White/Structures/Furniture/Tables/wood.rsi/meta.json b/Resources/Textures/White/Structures/Furniture/Tables/wood.rsi/meta.json
index 667cf5efc1..8f99423d16 100644
--- a/Resources/Textures/White/Structures/Furniture/Tables/wood.rsi/meta.json
+++ b/Resources/Textures/White/Structures/Furniture/Tables/wood.rsi/meta.json
@@ -1,7 +1,7 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
- "copyright": "Taken from vgstation at commit https://github.com/vgstation-coders/vgstation13/commit/a138859aec54b20dac65eb76e94e9db1b2202f55 and modified by Swept",
+ "copyright": "Taken from vgstation at commit https://github.com/vgstation-coders/vgstation13/commit/a138859aec54b20dac65eb76e94e9db1b2202f55 and modified by Swept and 6elblu_0331",
"size": {
"x": 32,
"y": 32
diff --git a/Resources/Textures/White/Structures/Furniture/Tables/wood.rsi/state_5.png b/Resources/Textures/White/Structures/Furniture/Tables/wood.rsi/state_5.png
index 10e03b4f19..7532f81807 100644
Binary files a/Resources/Textures/White/Structures/Furniture/Tables/wood.rsi/state_5.png and b/Resources/Textures/White/Structures/Furniture/Tables/wood.rsi/state_5.png differ