Merge remote-tracking branch 'upstream/master' into ups

This commit is contained in:
Jabak
2024-09-29 13:08:38 +03:00
128 changed files with 1836 additions and 824 deletions

59
CLA.txt Normal file
View File

@@ -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.

View File

@@ -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()

View File

@@ -75,32 +75,38 @@
Access="Public"
ToggleMode="True"
ButtonText="Ready"
Margin="0 0 0 10" />
Margin="0 0 0 7" />
<buttons:OhioUICommandButton
Name="ObserveButton"
WindowType="{x:Type lobbyUi:ObserveWarningWindow}"
Access="Public"
ButtonText="Observe"
Margin="0 10 0 10" />
ButtonText="Наблюдать"
Margin="0 7 0 7" />
<buttons:OhioLobbyTextButton
Name="CharacterSetupButton"
Access="Public"
ButtonText="Character Setup"
Margin="0 10 0 10" />
ButtonText="Настройка персонажа"
Margin="0 7 0 7" />
<buttons:OhioLobbyTextButton
Name="OptionsButton"
Access="Public"
ButtonText="Options"
Margin="0 10 0 10" />
ButtonText="Опции"
Margin="0 7 0 7" />
<buttons:OhioLobbyTextButton
Name="AHelpButton"
Access="Public"
ButtonText="AHelp"
Margin="0 7 0 8" />
<buttons:OhioLobbyTextButton
Name="DiscordButton"
Access="Public"
ButtonText="Привязать Discord"
Margin="0 10 0 10" />
Margin="0 7 0 7" />
<buttons:OhioLobbyTextButton
Name="AHelpButton"
@@ -111,8 +117,8 @@
<buttons:OhioLobbyTextButton
Name="QuitButton"
Access="Public"
ButtonText="Quit"
Margin="0 10 0 0" />
ButtonText="Выйти"
Margin="0 7 0 0" />
</BoxContainer>

View File

@@ -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<IBaseServer>().Shutdown("Data generation done");
}
else

View File

@@ -45,7 +45,8 @@ public sealed class ChemistryJsonGenerator
new UniversalJsonConverter<ReagentEffectsEntry>(),
new UniversalJsonConverter<DamageSpecifier>(),
new FixedPointJsonConverter()
}
},
NumberHandling = JsonNumberHandling.AllowNamedFloatingPointLiterals
};
file.Write(JsonSerializer.Serialize(prototypes, serializeOptions));

View File

@@ -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<ReagentEffect>(),
}
},
NumberHandling = System.Text.Json.Serialization.JsonNumberHandling.AllowNamedFloatingPointLiterals
};
file.Write(JsonSerializer.Serialize(reactions, serializeOptions));

View File

@@ -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<string> Recipes { get; } = new();
[JsonPropertyName("textColor")]
public string TextColor { get; }
[JsonPropertyName("metabolisms")]
public Dictionary<string, ReagentEffectsEntry>? Metabolisms { get; }
public Dictionary<string, _White.GuideGenerator.ReagentEffectsEntry>? 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<string, float> Products { get; }
[JsonPropertyName("mixingCategories")]
public List<MixingCategoryEntry> 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<ReagentEffectEntry> ExportEffects { get; } = new();
[JsonIgnore]
public List<ReagentEffect> 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);
}
}

View File

@@ -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;

View File

@@ -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;
}
}

View File

@@ -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<IPrototypeManager>();
var prototypes =
prototype
.EnumeratePrototypes<EntityPrototype>()
.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));
}
}

View File

@@ -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
{
/// <summary>
/// Id of grindable item
/// </summary>
[JsonPropertyName("id")]
public string Id { get; }
/// <summary>
/// Human-readable name of recipe.
/// Should automatically be localized by default
/// </summary>
[JsonPropertyName("name")]
public string Name { get; }
/// <summary>
/// Type of recipe
/// </summary>
[JsonPropertyName("type")]
public string Type { get; }
/// <summary>
/// Item that will be grinded into something
/// </summary>
[JsonPropertyName("input")]
public string Input { get; }
/// <summary>
/// Dictionary of reagents that entity contains; aka "Recipe Result"
/// </summary>
[JsonPropertyName("result")]
public Dictionary<string, int>? Result { get; } = new Dictionary<string, int>();
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;
}
}
}

View File

@@ -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<IPrototypeManager>();
Dictionary<string, Dictionary<string, Dictionary<string, float>>> healthChangeReagents = new();
// Сбор данных
foreach (var reagent in prototype.EnumeratePrototypes<ReagentPrototype>())
{
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<string, Dictionary<string, List<string>>> 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<string>.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));
}
}

View File

@@ -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
{
/// <summary>
/// Id of recipe
/// </summary>
[JsonPropertyName("id")]
public string Id { get; }
/// <summary>
/// Human-readable name of recipe.
/// Should automatically be localized by default
/// </summary>
[JsonPropertyName("name")]
public string Name { get; }
/// <summary>
/// Type of recipe
/// </summary>
[JsonPropertyName("type")]
public string Type { get; }
/// <summary>
/// Temp, required for "input" thing to become "result" thing
/// </summary>
[JsonPropertyName("minTemp")]
public float MinTemp { get; }
/// <summary>
/// Item that will be transformed into something with enough temp
/// </summary>
[JsonPropertyName("input")]
public string Input { get; }
/// <summary>
/// Result of a recipe.
/// If it is null then recipe does not exist or we could not get recipe info.
/// </summary>
[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";
}
}

View File

@@ -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<IPrototypeManager>();
var entities = prototype.EnumeratePrototypes<EntityPrototype>();
var constructable = prototype.EnumeratePrototypes<ConstructionGraphPrototype>();
var output = new Dictionary<string, dynamic>();
var microwaveRecipes =
prototype
.EnumeratePrototypes<FoodRecipePrototype>()
.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(), @"(?<![Cc]rate)[Ff]ood*").Success))
.Where(x => x.Components.ContainsKey("Construction"))
.ToList();
var entityGraphs = new Dictionary<string, string>(); // 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<ReactionPrototype>()
.Select(x => new ReactionEntry(x))
.ToList();
var mixableRecipes = new Dictionary<string, Dictionary<string, string>>(); // 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<string, string>();
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));
}
}

View File

@@ -0,0 +1,71 @@
using System.Linq;
using System.Text.Json.Serialization;
using Content.Shared.Kitchen;
namespace Content.Server.GuideGenerator;
public sealed class MicrowaveRecipeEntry
{
/// <summary>
/// Id of recipe
/// </summary>
[JsonPropertyName("id")]
public string Id { get; }
/// <summary>
/// Human-readable name of recipe.
/// Should automatically be localized by default
/// </summary>
[JsonPropertyName("name")]
public string Name { get; }
/// <summary>
/// Type of recipe
/// </summary>
[JsonPropertyName("type")]
public string Type { get; }
/// <summary>
/// Time to cook something (for microwave recipes)
/// </summary>
[JsonPropertyName("time")]
public uint Time { get; }
/// <summary>
/// Solids required to cook something
/// </summary>
[JsonPropertyName("solids")]
public Dictionary<string, uint> Solids { get; }
/// <summary>
/// Reagents required to cook something
/// </summary>
[JsonPropertyName("reagents")]
public Dictionary<string, uint> Reagents { get; }
/// <summary>
/// Result of a recipe
/// </summary>
[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;
}
}

View File

@@ -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;
}
}

View File

@@ -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<MixingCategoryPrototype>]
private const string DefaultMixingCategory = "DummyMix";
private static void AddMixingCategories(Dictionary<String, ReactionEntry> reactions, IPrototypeManager prototype)
{
foreach (var reaction in reactions)
{
var reactionPrototype = prototype.Index<ReactionPrototype>(reaction.Key);
var mixingCategories = new List<MixingCategoryPrototype>();
if (reactionPrototype.MixingCategories != null)
{
foreach (var category in reactionPrototype.MixingCategories)
{
mixingCategories.Add(prototype.Index(category));
}
}
else
{
mixingCategories.Add(prototype.Index<MixingCategoryPrototype>(DefaultMixingCategory));
}
foreach (var mixingCategory in mixingCategories)
{
reactions[reaction.Key].MixingCategories.Add(new MixingCategoryEntry(mixingCategory));
}
}
}
}

View File

@@ -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<IPrototypeManager>();
var entSys = IoCManager.Resolve<IEntitySystemManager>();
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("<span=") != -1)
{
var first = guideBookText.IndexOf("<span=") + "<span=".Length - 1;
var last = 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;
}
}

View File

@@ -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<ReagentEffectEntry> Effects { get; } = new();
public ReagentEffectsEntry(Shared.Chemistry.Reagent.ReagentEffectsEntry proto)
{
MetabolismRate = proto.MetabolismRate;
Effects = proto.Effects.Select(x => new ReagentEffectEntry(x)).ToList();
}
}

View File

@@ -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
{
/// <summary>
/// Id of sliceable item
/// </summary>
[JsonPropertyName("id")]
public string Id { get; }
/// <summary>
/// Human-readable name of recipe.
/// Should automatically be localized by default
/// </summary>
[JsonPropertyName("name")]
public string Name { get; }
/// <summary>
/// Type of recipe
/// </summary>
[JsonPropertyName("type")]
public string Type { get; }
/// <summary>
/// Item that will be sliced into something
/// </summary>
[JsonPropertyName("input")]
public string Input { get; }
/// <summary>
/// Result of a recipe
/// </summary>
[JsonPropertyName("result")]
public string Result { get; }
/// <summary>
/// Count of result item
/// </summary>
[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;
}
}
}

View File

@@ -0,0 +1,25 @@
namespace Content.Server.GuideGenerator.TextTools;
public sealed class TextTools
{
/// <summary>
/// Capitalizes first letter of given string.
/// </summary>
/// <param name="str">String to capitalize</param>
/// <returns>String with capitalized first letter</returns>
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;
}
}
}

View File

@@ -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 :)
{
/// <summary>
/// Id of recipe
/// </summary>
[JsonPropertyName("id")]
public string Id { get; }
/// <summary>
/// Human-readable name of recipe.
/// Should automatically be localized by default
/// </summary>
[JsonPropertyName("name")]
public string Name { get; }
/// <summary>
/// Type of recipe
/// </summary>
[JsonPropertyName("type")]
public string Type { get; }
/// <summary>
/// Type of tool that is used to convert input into result
/// </summary>
[JsonPropertyName("tool")]
public string? Tool { get; }
/// <summary>
/// Item that will be transformed into something with enough temp
/// </summary>
[JsonPropertyName("input")]
public string Input { get; }
/// <summary>
/// Result of a recipe.
/// If it is null then recipe does not exist or we could not get recipe info.
/// </summary>
[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";
}
}

View File

@@ -1,11 +1,12 @@
using Robust.Shared.Prototypes;
using Robust.Shared.GameStates;
using Robust.Shared.Prototypes;
namespace Content.Shared._White.TTS;
/// <summary>
/// Apply TTS for entity chat say messages
/// </summary>
[RegisterComponent, AutoGenerateComponentState]
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
// ReSharper disable once InconsistentNaming
public sealed partial class SharedTTSComponent : Component
{

View File

@@ -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.

21
MIT.txt Normal file
View File

@@ -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.

View File

@@ -1,4 +1,6 @@
<p align="center"> <img alt="Space Station 14" width="880" height="300" src="https://raw.githubusercontent.com/space-wizards/asset-dump/de329a7898bb716b9d5ba9a0cd07f38e61f1ed05/github-logo.svg" /></p>
<p align="center">
<img alt="Giedi Prime" width="880" height="300" src="https://github.com/user-attachments/assets/bd8a079b-9ef0-46ac-b640-8c36835fbf32" />
</p>
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, поэтому во избежание инцидентов рекомендуется брать их код из их репозитория.

View File

@@ -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

View File

@@ -1,8 +1,4 @@
ent-JuggernautConstruct = Джаггернаут
.desc = ""
ent-ArtificerConstruct = Ремесленник
.desc = ""
ent-WraithConstruct = Фантом
.desc = ""
ent-ReaperConstruct = Жнец
.desc = ""

View File

@@ -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 = кубик карпа

View File

@@ -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 = пакет семян гороха

View File

@@ -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

View File

@@ -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 = гипошприц

View File

@@ -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 = модуль кибернетики для лечения

View File

@@ -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 = кибернетическая голова инженера

View File

@@ -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 = кибернетическая левая нога обслуживающего персонала

View File

@@ -1,9 +1,9 @@
ent-RightLegBorgService = правая кибернетическая нога
.desc = "правая кибернетическая нога"
.desc = правая кибернетическая нога
ent-HeadBorgService = кибернетическая голова
.desc = "кибернетическая голова"
.desc = кибернетическая голова
ent-TorsoBorgService = кибернетическое тело
.desc = "кибернетическое тело"
.desc = кибернетическое тело
ent-CyborgEndoskeleton = кибернетический эндоскелет
.desc = Каркас, на котором строятся киборги. Значительно менее жутко, чем ожидалось.
ent-MMI = интерфейс человек-машина

View File

@@ -1,5 +1,5 @@
ent-Fulton1 = fulton
.desc = "fulton"
.desc = fulton
.suffix = One
ent-EmergencyNitrogenTank = аварийный баллон с азотом
.desc = Легко переносимый баллон для аварийных ситуаций. Содержит очень мало азота, предназначен только для выживания.

View File

@@ -31,7 +31,7 @@ ent-WhiteCane = белая трость
ent-ThrowingStar = метательное оружие
.desc = Древнее оружие, которое по сей день используется благодаря своей простоте, благодаря которой оно легко впивается в тело жертвы.
ent-ThrowingCard = карта
.desc = "карта"
.desc = карта
ent-CryogenicSleepUnit = криогенный спящий модуль
.desc = Сверхохлажденный контейнер, который обеспечивает безопасность членов экипажа во время космических путешествий.
ent-PowerSensor = датчик питания

View File

@@ -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 = Необходим для соединения двух космических кораблей.

View File

@@ -3,10 +3,10 @@ ent-PsychBed = кушетка психолога
ent-BenchComfy = удобная скамья
.desc = Скамья с очень удобной спинкой.
ent-ChairGreyscale = стул
.desc = "стул"
.desc = стул
.suffix = Белый
ent-ChairBrass = медный стул
.desc = "медный стул"
.desc = медный стул
ent-BlackComfyChair = черный удобный стул
.desc = Выглядит удобно.
ent-BlueComfyChair = синий удобный стул

View File

@@ -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 = Стационарное зарядное устройство для различных роботов и киборгов. Удивительно просторное.

View File

@@ -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 = деревянная полка

View File

@@ -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 = флаг Нантрасена

View File

@@ -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 = ворота из цепной сетки

View File

@@ -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 = стена из андезитового кирпича

View File

@@ -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 = очки "банка варенья"

View File

@@ -4,8 +4,8 @@ ent-ClothingEyesEyepatchHudDiag = диагностические очки с HUD
.desc = Очки с дисплеем, способные анализировать целостность и состояние роботов и экзокостюмов. Изготовлено из see-borg-ium.
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 = синяя колпачок для вечеринки

View File

@@ -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 = медицинская беретка

View File

@@ -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 = сварочная маска

View File

@@ -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 = халат робототехника

View File

@@ -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 = скафандр Санты

View File

@@ -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 = белые ковбойские сапоги

View File

@@ -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 = Это водолазка, которую носят те, у кого есть опыт работы главным врачом. Она обеспечивает незначительную биологическую защиту.

View File

@@ -6,7 +6,7 @@ ent-ClothingUniformJumpsuitCurator = разумный костюм
.desc = Разумный. Слишком разумный...
ent-ClothingUniformJumpsuitNinja = костюм ниндзя
.desc = Удобный костюм ниндзя, для удобства при отдыхе и при необходимости тренироваться.
ent-ClothingUniformJumpsuitERTChaplain = форма капеллана ERT
ent-ClothingUniformJumpsuitERTChaplain = форма капеллана ОБР
.desc = Специальный костюм, созданный для элитного корпуса капелланов Центрального командования.
ent-ClothingUniformJumpsuitWeb = костюм паука
.desc = Дает понять, что ты - один из пауков.
@@ -23,17 +23,17 @@ 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

View File

@@ -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 = Генератор тараканов

View File

@@ -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%

View File

@@ -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"
.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 = генератор случайных деревьев

View File

@@ -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 = киборг-медик

View File

@@ -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 = Взрывной котенок.

View File

@@ -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 = спасатель

View File

@@ -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 = Человек, Базовый

View File

@@ -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. Невероятно прочный сплав внутри, обычная плоть снаружи.

View File

@@ -17,21 +17,21 @@ 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 = вареное яйцо

View File

@@ -25,9 +25,9 @@ ent-DeathNettle = крапива смерти
ent-FoodMimana = мимана
.desc = Излюбленная еда мима.
ent-TrashBakedBananaPeel = печеная банановая кожура
.desc = "печеная банановая кожура"
.desc = печеная банановая кожура
ent-TrashMimanaPeel = кожура миманы
.desc = "кожура миманы"
.desc = кожура миманы
ent-FoodLemoon = лемун
.desc = Говорят, что Луна сделана из сыра, но на самом деле Луна сделана из молока и лавра!
ent-FoodExtradimensionalOrange = внепространственный апельсин

View File

@@ -19,7 +19,7 @@ ent-FoodBerries = ягоды
ent-FoodBungo = фрукт бунго
.desc = Скромный фрукт бунго.
ent-FoodBungoPit = косточка бунго
.desc = "косточка бунго"
.desc = косточка бунго
ent-FoodPeaPod = стручок гороха
.desc = Излюбленное лакомство уток!
ent-FoodWorldPeas = гроздь мировых горошин

View File

@@ -20,8 +20,8 @@ ent-FoodCakeLemoon = лемунный торт
.desc = Торт, который представляет луну земли
ent-FoodCakeLemoonSlice = осколок лемунного торта
.desc = Осколок луны, пахнет молоком.
ent-MobCatCake = кек
.desc = Это торт. Это кошка. Это кек.
ent-MobCatCake = корт
.desc = Это торт. Это кот. Это корт.
ent-FoodDonkpocketStonk = карман с стонком
.desc = Вкусно, но грустное напоминание о великом крахе '24
ent-FoodDonkpocketStonkWarm = теплый карман с стонком

View File

@@ -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 = Мускус Скалистых Гор

View File

@@ -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 = Радуга

View File

@@ -13,7 +13,7 @@ ent-WoodenSign = деревянный знак
ent-WoodenSupport = деревянная опора
.desc = Увеличивает уверенность в том, что на вашу голову не упадет камень.
ent-WoodenSupportBeam = деревянная опорная балка
.desc = "деревянная опорная балка"
.desc = деревянная опорная балка
ent-WoodenSupportWall = деревянная опорная стена
.desc = Старая, гнилая стена.
ent-NewsReaderCartridge = картридж с новостями

View File

@@ -1,5 +1,5 @@
ent-OreProcessorIndustrialMachineCircuitboard = промышленная печатная плата для рудной дробилки
.desc = "промышленная печатная плата для рудной дробилки"
.desc = промышленная печатная плата для рудной дробилки
ent-BoozeDispenserMachineCircuitboard = печатная плата для аппарата по розливу алкоголя
.desc = Печатная плата для аппарата по розливу алкоголя.
ent-SodaDispenserMachineCircuitboard = печатная плата для аппарата по розливу газировки
@@ -19,7 +19,7 @@ ent-ShuttleGunDusterCircuitboard = печатная плата для пулем
ent-ShuttleGunKineticCircuitboard = печатная плата для пулемета PTK-800 "Дематериализатор вещества"
.desc = Печатная плата для пулемета PTK-800 "Дематериализатор вещества"
ent-ReagentGrinderIndustrialMachineCircuitboard = промышленная печатная плата для измельчителя реагентов
.desc = "промышленная печатная плата для измельчителя реагентов"
.desc = промышленная печатная плата для измельчителя реагентов
ent-JukeboxCircuitBoard = печатная плата для музыкального автомата
.desc = Печатная плата для музыкального автомата.
ent-Igniter = зажигалка

View File

@@ -21,7 +21,7 @@ ent-CardBag52 = большая колода игральных карт
.desc = Новейшая колода игральных карт.
.suffix = 52
ent-PlayerCardBag = колода карт игрока
.desc = "колода карт игрока"
.desc = колода карт игрока
ent-Cardspades_2 = карта пики 2
.desc = Игральная карта.
ent-Cardspades_3 = карта пики 3

View File

@@ -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

View File

@@ -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

View File

@@ -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 = маленькая зеленая свеча

View File

@@ -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 = диск с координатами

View File

@@ -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 = коробка с вариативными кубиками

View File

@@ -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 = известковая плитка

View File

@@ -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 = светодиодная лампочка

View File

@@ -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 = бутылка со свинцом

View File

@@ -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 = ""

View File

@@ -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 = ""

View File

@@ -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 = ""

View File

@@ -1,9 +1,6 @@
ent-RandomVendingDrinks = Спавнер случайного вендомата напитков
.desc = ""
ent-RandomVendingSnacks = Спавнер случайного ведомата закусок
.desc = ""
ent-MobBoxingKangaroo = кенгуру-боксёр
.desc = ""
ent-MobGuidebookMonkey = обезьяна руководства
.desc = Надеюсь, полезная обезьянка, единственная цель которой в жизни - чтобы вы нажали на нее. Считается ли это за то, что обезьяна дала вам урок?
ent-MobMonkeySyndicateAgent = обезьяна

View File

@@ -3,7 +3,6 @@ ent-MobBehonkerGrav = бонкер
ent-MobBehonkerIce = бонкер
.desc = { ent-BaseMobBehonker.desc }
ent-MobCarpDungeon = карп
.desc = ""
ent-BaseMobFlesh = ненормальная плоть
.desc = Неуклюжая масса плоти, оживленная с помощью аномальной энергии.
ent-MobAbomination = мерзость

View File

@@ -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 = стакан кончемпа

View File

@@ -13,7 +13,6 @@ ent-FoodShakerPepper = перечница
ent-Vape = вейп
.desc = Как сигара, но для крепких подростков. (ВНИМАНИЕ: наливайте в вейп только воду)
ent-DoorRemoteAll = супер дверной пульт
.desc = ""
ent-EncryptionKey = ключ шифрования
.desc = Небольшой шифрочип для наушников.
ent-ForensicReportPaper = отчет судебного сканера

View File

@@ -37,6 +37,6 @@ ent-CellRechargerCircuitboard = машинная плата для зарядн
ent-WeaponCapacitorRechargerCircuitboard = машинная плата зарядника оружия
.desc = Машинная печатная плата для зарядного устройства.
ent-MaterialReclaimerMachineCircuitboard = машинная плата для утилизаторского обработчика
.desc = ""
.desc = Машинная печатная плата для утилизаторского обработчика
ent-SheetifierMachineCircuitboard = машинная плата лист-мейстера 2000
.desc = ""
.desc = Машинная печатная плата для лист-мейстера 2000

View File

@@ -1,5 +1,5 @@
ent-FatExtractorMachineCircuitboard = машинная плата для извлечения липидов
.desc = ""
.desc = Машинная печатная плата для извлечения липидов
ent-CargoTelepadMachineCircuitboard = машинная плата грузового телепада
.desc = Машинная печатная плата для грузового телепада.
ent-SalvageMagnetMachineCircuitboard = машинная плата для утилизационных магнитов

View File

@@ -29,7 +29,6 @@ ent-CrazyGlue = сумасшедший клей
ent-BaseBoardEntity = доска
.desc = Пустая доска.
ent-BaseBoardTabletop = плинтус
.desc = ""
ent-BaseBattlemap = боевая карта
.desc = Боевая карта для вашего эпического исследования подземелья, части не включены!
ent-GrassBattlemap = травяная боевая карта

View File

@@ -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 = Изучение различных философских взглядов на правду и сложность лжи

View File

@@ -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 = Земная тоска

View File

@@ -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 = медицинская маска военного образца

View File

@@ -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

View File

@@ -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 }

View File

@@ -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 }

View File

@@ -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 = ""

View File

@@ -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 = ""

View File

@@ -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 = "Мертвый"

Some files were not shown because too many files have changed in this diff Show More