Merge remote-tracking branch 'upstream/master' into ups
This commit is contained in:
59
CLA.txt
Normal file
59
CLA.txt
Normal 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.
|
||||
@@ -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()
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
23
Content.Server/_White/GuideGenerator/EntityEntry.cs
Normal file
23
Content.Server/_White/GuideGenerator/EntityEntry.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
27
Content.Server/_White/GuideGenerator/EntityJsonGenerator.cs
Normal file
27
Content.Server/_White/GuideGenerator/EntityJsonGenerator.cs
Normal 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));
|
||||
}
|
||||
}
|
||||
74
Content.Server/_White/GuideGenerator/GrindRecipeEntry.cs
Normal file
74
Content.Server/_White/GuideGenerator/GrindRecipeEntry.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
93
Content.Server/_White/GuideGenerator/HeatableRecipeEntry.cs
Normal file
93
Content.Server/_White/GuideGenerator/HeatableRecipeEntry.cs
Normal 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";
|
||||
}
|
||||
}
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
71
Content.Server/_White/GuideGenerator/MicrowaveRecipeEntry.cs
Normal file
71
Content.Server/_White/GuideGenerator/MicrowaveRecipeEntry.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
19
Content.Server/_White/GuideGenerator/MixingCategoryEntry.cs
Normal file
19
Content.Server/_White/GuideGenerator/MixingCategoryEntry.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
40
Content.Server/_White/GuideGenerator/ReagentEffectEntry.cs
Normal file
40
Content.Server/_White/GuideGenerator/ReagentEffectEntry.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
20
Content.Server/_White/GuideGenerator/ReagentEffectsEntry.cs
Normal file
20
Content.Server/_White/GuideGenerator/ReagentEffectsEntry.cs
Normal 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();
|
||||
}
|
||||
|
||||
}
|
||||
65
Content.Server/_White/GuideGenerator/SliceRecipeEntry.cs
Normal file
65
Content.Server/_White/GuideGenerator/SliceRecipeEntry.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
25
Content.Server/_White/GuideGenerator/TextTools.cs
Normal file
25
Content.Server/_White/GuideGenerator/TextTools.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
96
Content.Server/_White/GuideGenerator/ToolRecipeEntry.cs
Normal file
96
Content.Server/_White/GuideGenerator/ToolRecipeEntry.cs
Normal 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";
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
{
|
||||
|
||||
66
LICENSE.TXT
66
LICENSE.TXT
@@ -1,15 +1,59 @@
|
||||
Copyright (C) Frosty Dev - All Rights Reserved.
|
||||
Preamble
|
||||
|
||||
THE CONTENTS OF THIS PROJECT ARE PROPRIETARY AND CONFIDENTIAL.
|
||||
UNAUTHORIZED COPYING, TRANSFERRING OR REPRODUCTION OF THE CONTENTS OF THIS PROJECT, VIA ANY MEDIUM IS STRICTLY PROHIBITED.
|
||||
Upon receipt of a copy of the license object by any means, any person can use it if they
|
||||
accept and agree to all the terms of this license. Violation of the license terms grants us
|
||||
(the Licensor) the right to apply methods of legal and technological protection using the
|
||||
DMCA and/or other legislation of the states under whose jurisdiction hosting providers
|
||||
and other information intermediaries are located, providing services to violators of the
|
||||
terms of this license. Acceptance of the terms of this license means a definitive conclusion
|
||||
between you and FDev of a gratuitous simple non-exclusive license, hereinafter referred
|
||||
to as the "Agreement". The Agreement does not include provisions regulating issues
|
||||
related to the processing of personal data.
|
||||
|
||||
The receipt or possession of the source code and/or any parts thereof does not convey or imply any right to use them
|
||||
for any purpose other than the purpose for which they were provided to you.
|
||||
Definitions
|
||||
|
||||
The software is provided "AS IS", without warranty of any kind, express or implied, including but not limited to
|
||||
the warranties of merchantability, fitness for a particular purpose and non infringement.
|
||||
In no event shall the authors or copyright holders be liable for any claim, damages or other liability,
|
||||
whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software
|
||||
or the use or other dealings in the software.
|
||||
Build is an object of Agreement, the result of the original author's work or a team of
|
||||
authors (hereinafter referred to as the "Company"), a complex intellectual property object
|
||||
– a video game that includes, but is not limited to, source, object code, tools, game assets,
|
||||
specifications, UI/UX design, elements of narrative and other creative content based on
|
||||
the revision and translation into Russian of the open version of Space Station 14 and the
|
||||
artistic vision of the authors. The set of individual elements is a Build. Any elements other
|
||||
than the original elements are objects of copyright and/or related rights created by the
|
||||
creative work of the collective.
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
Contribution means any original author's work of Contributors, including any
|
||||
modifications or additions to the Build (any source code, object code, correction, tool,
|
||||
sample, graphics, assets, specifications, manuals, documentation), which is intentionally
|
||||
provided by the Licensee to the Licensor. For the purposes of this definition,
|
||||
submission means any form of electronic, oral or written communication sent to Licensor
|
||||
or its representatives, including, but not limited to, messages on electronic mailing lists,
|
||||
source code control systems and issue tracking systems operated by or on behalf of the
|
||||
Company for the purposes of discussing or improving software or project documentation
|
||||
and source. Communications for which it is explicitly stated in writing as "Not a
|
||||
contribution" will not be considered a contribution. When providing a Contribution to the
|
||||
Build, the Contributor provides the Company with a simple, free, irrevocable, non-exclusive
|
||||
license for the entire period of validity of the Contributor's rights to the Contribution provided
|
||||
for by the legislation of the state-jurisdiction of the Contributor
|
||||
and/or international legislation for certain forms of Contribution.
|
||||
|
||||
Licensor – FDev. For licensing inquiries, please contact: admin@ss14.su
|
||||
|
||||
The scope of the rights granted
|
||||
|
||||
The license grants an unlimited number of persons the right to copy and make changes
|
||||
solely for the purpose of improving the game and subject to the further transfer of such
|
||||
changes to FDev on the terms of the Contribution, as well as for non-public hosting and
|
||||
launching the Build on the Licensee's computer for the purpose of non-commercial use
|
||||
for its intended purpose (providing access to Players and the Game process). This license
|
||||
expressly prohibits commercial use, public hosting, as well as non-licensed use. The use
|
||||
of the Build or its elements in violation of the terms of this License grants the Licensor
|
||||
the right to contact the hosting provider and other persons – information intermediaries
|
||||
to block hosting. The Licensee can carry out public hosting of the Build only if they receive
|
||||
direct permission from the Licensor.
|
||||
|
||||
A reservation about the types of licenses
|
||||
|
||||
Individual elements of the Build (graphics, sounds, source code) may be distributed under
|
||||
a license other than this one. Most assets are licensed under CC-BY-SA 3.0 unless
|
||||
otherwise specified. Assets have their own license and copyright in the metadata file. If
|
||||
the license type is not specified, such files are distributed under the terms of this license.
|
||||
21
MIT.txt
Normal file
21
MIT.txt
Normal 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.
|
||||
12
README.md
12
README.md
@@ -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, поэтому во избежание инцидентов рекомендуется брать их код из их репозитория.
|
||||
|
||||
Binary file not shown.
BIN
Resources/Audio/White/Music/Lobby/Music/Libets_Delay.ogg
Normal file
BIN
Resources/Audio/White/Music/Lobby/Music/Libets_Delay.ogg
Normal file
Binary file not shown.
@@ -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
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
ent-JuggernautConstruct = Джаггернаут
|
||||
.desc = ""
|
||||
ent-ArtificerConstruct = Ремесленник
|
||||
.desc = ""
|
||||
ent-WraithConstruct = Фантом
|
||||
.desc = ""
|
||||
ent-ReaperConstruct = Жнец
|
||||
.desc = ""
|
||||
|
||||
@@ -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 = кубик карпа
|
||||
|
||||
@@ -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 = пакет семян гороха
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = гипошприц
|
||||
|
||||
@@ -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 = модуль кибернетики для лечения
|
||||
|
||||
@@ -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 = кибернетическая голова инженера
|
||||
|
||||
@@ -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 = кибернетическая левая нога обслуживающего персонала
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
ent-RightLegBorgService = правая кибернетическая нога
|
||||
.desc = "правая кибернетическая нога"
|
||||
.desc = правая кибернетическая нога
|
||||
ent-HeadBorgService = кибернетическая голова
|
||||
.desc = "кибернетическая голова"
|
||||
.desc = кибернетическая голова
|
||||
ent-TorsoBorgService = кибернетическое тело
|
||||
.desc = "кибернетическое тело"
|
||||
.desc = кибернетическое тело
|
||||
ent-CyborgEndoskeleton = кибернетический эндоскелет
|
||||
.desc = Каркас, на котором строятся киборги. Значительно менее жутко, чем ожидалось.
|
||||
ent-MMI = интерфейс человек-машина
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
ent-Fulton1 = fulton
|
||||
.desc = "fulton"
|
||||
.desc = fulton
|
||||
.suffix = One
|
||||
ent-EmergencyNitrogenTank = аварийный баллон с азотом
|
||||
.desc = Легко переносимый баллон для аварийных ситуаций. Содержит очень мало азота, предназначен только для выживания.
|
||||
|
||||
@@ -31,7 +31,7 @@ ent-WhiteCane = белая трость
|
||||
ent-ThrowingStar = метательное оружие
|
||||
.desc = Древнее оружие, которое по сей день используется благодаря своей простоте, благодаря которой оно легко впивается в тело жертвы.
|
||||
ent-ThrowingCard = карта
|
||||
.desc = "карта"
|
||||
.desc = карта
|
||||
ent-CryogenicSleepUnit = криогенный спящий модуль
|
||||
.desc = Сверхохлажденный контейнер, который обеспечивает безопасность членов экипажа во время космических путешествий.
|
||||
ent-PowerSensor = датчик питания
|
||||
|
||||
@@ -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 = Необходим для соединения двух космических кораблей.
|
||||
|
||||
@@ -3,10 +3,10 @@ ent-PsychBed = кушетка психолога
|
||||
ent-BenchComfy = удобная скамья
|
||||
.desc = Скамья с очень удобной спинкой.
|
||||
ent-ChairGreyscale = стул
|
||||
.desc = "стул"
|
||||
.desc = стул
|
||||
.suffix = Белый
|
||||
ent-ChairBrass = медный стул
|
||||
.desc = "медный стул"
|
||||
.desc = медный стул
|
||||
ent-BlackComfyChair = черный удобный стул
|
||||
.desc = Выглядит удобно.
|
||||
ent-BlueComfyChair = синий удобный стул
|
||||
|
||||
@@ -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 = Стационарное зарядное устройство для различных роботов и киборгов. Удивительно просторное.
|
||||
|
||||
@@ -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 = деревянная полка
|
||||
|
||||
@@ -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 = флаг Нантрасена
|
||||
|
||||
@@ -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 = ворота из цепной сетки
|
||||
|
||||
@@ -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 = стена из андезитового кирпича
|
||||
|
||||
@@ -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 = очки "банка варенья"
|
||||
|
||||
@@ -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 = синяя колпачок для вечеринки
|
||||
|
||||
@@ -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 = медицинская беретка
|
||||
|
||||
@@ -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 = сварочная маска
|
||||
|
||||
@@ -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 = халат робототехника
|
||||
|
||||
@@ -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 = скафандр Санты
|
||||
|
||||
@@ -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 = белые ковбойские сапоги
|
||||
|
||||
@@ -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 = Это водолазка, которую носят те, у кого есть опыт работы главным врачом. Она обеспечивает незначительную биологическую защиту.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = Генератор тараканов
|
||||
|
||||
@@ -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%
|
||||
|
||||
@@ -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 = генератор случайных деревьев
|
||||
|
||||
@@ -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 = киборг-медик
|
||||
|
||||
@@ -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 = Взрывной котенок.
|
||||
|
||||
@@ -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 = спасатель
|
||||
|
||||
@@ -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 = Человек, Базовый
|
||||
|
||||
|
||||
|
||||
@@ -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. Невероятно прочный сплав внутри, обычная плоть снаружи.
|
||||
|
||||
@@ -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 = вареное яйцо
|
||||
|
||||
@@ -25,9 +25,9 @@ ent-DeathNettle = крапива смерти
|
||||
ent-FoodMimana = мимана
|
||||
.desc = Излюбленная еда мима.
|
||||
ent-TrashBakedBananaPeel = печеная банановая кожура
|
||||
.desc = "печеная банановая кожура"
|
||||
.desc = печеная банановая кожура
|
||||
ent-TrashMimanaPeel = кожура миманы
|
||||
.desc = "кожура миманы"
|
||||
.desc = кожура миманы
|
||||
ent-FoodLemoon = лемун
|
||||
.desc = Говорят, что Луна сделана из сыра, но на самом деле Луна сделана из молока и лавра!
|
||||
ent-FoodExtradimensionalOrange = внепространственный апельсин
|
||||
|
||||
@@ -19,7 +19,7 @@ ent-FoodBerries = ягоды
|
||||
ent-FoodBungo = фрукт бунго
|
||||
.desc = Скромный фрукт бунго.
|
||||
ent-FoodBungoPit = косточка бунго
|
||||
.desc = "косточка бунго"
|
||||
.desc = косточка бунго
|
||||
ent-FoodPeaPod = стручок гороха
|
||||
.desc = Излюбленное лакомство уток!
|
||||
ent-FoodWorldPeas = гроздь мировых горошин
|
||||
|
||||
@@ -20,8 +20,8 @@ ent-FoodCakeLemoon = лемунный торт
|
||||
.desc = Торт, который представляет луну земли
|
||||
ent-FoodCakeLemoonSlice = осколок лемунного торта
|
||||
.desc = Осколок луны, пахнет молоком.
|
||||
ent-MobCatCake = кек
|
||||
.desc = Это торт. Это кошка. Это кек.
|
||||
ent-MobCatCake = корт
|
||||
.desc = Это торт. Это кот. Это корт.
|
||||
ent-FoodDonkpocketStonk = карман с стонком
|
||||
.desc = Вкусно, но грустное напоминание о великом крахе '24
|
||||
ent-FoodDonkpocketStonkWarm = теплый карман с стонком
|
||||
|
||||
@@ -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 = Мускус Скалистых Гор
|
||||
|
||||
@@ -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 = Радуга
|
||||
|
||||
@@ -13,7 +13,7 @@ ent-WoodenSign = деревянный знак
|
||||
ent-WoodenSupport = деревянная опора
|
||||
.desc = Увеличивает уверенность в том, что на вашу голову не упадет камень.
|
||||
ent-WoodenSupportBeam = деревянная опорная балка
|
||||
.desc = "деревянная опорная балка"
|
||||
.desc = деревянная опорная балка
|
||||
ent-WoodenSupportWall = деревянная опорная стена
|
||||
.desc = Старая, гнилая стена.
|
||||
ent-NewsReaderCartridge = картридж с новостями
|
||||
|
||||
@@ -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 = зажигалка
|
||||
|
||||
@@ -21,7 +21,7 @@ ent-CardBag52 = большая колода игральных карт
|
||||
.desc = Новейшая колода игральных карт.
|
||||
.suffix = 52
|
||||
ent-PlayerCardBag = колода карт игрока
|
||||
.desc = "колода карт игрока"
|
||||
.desc = колода карт игрока
|
||||
ent-Cardspades_2 = карта пики 2
|
||||
.desc = Игральная карта.
|
||||
ent-Cardspades_3 = карта пики 3
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = маленькая зеленая свеча
|
||||
|
||||
@@ -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 = диск с координатами
|
||||
|
||||
@@ -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 = коробка с вариативными кубиками
|
||||
|
||||
@@ -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 = известковая плитка
|
||||
|
||||
@@ -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 = светодиодная лампочка
|
||||
|
||||
@@ -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 = бутылка со свинцом
|
||||
|
||||
@@ -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 = ""
|
||||
|
||||
@@ -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 = ""
|
||||
|
||||
@@ -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 = ""
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
ent-RandomVendingDrinks = Спавнер случайного вендомата напитков
|
||||
.desc = ""
|
||||
ent-RandomVendingSnacks = Спавнер случайного ведомата закусок
|
||||
.desc = ""
|
||||
ent-MobBoxingKangaroo = кенгуру-боксёр
|
||||
.desc = ""
|
||||
ent-MobGuidebookMonkey = обезьяна руководства
|
||||
.desc = Надеюсь, полезная обезьянка, единственная цель которой в жизни - чтобы вы нажали на нее. Считается ли это за то, что обезьяна дала вам урок?
|
||||
ent-MobMonkeySyndicateAgent = обезьяна
|
||||
|
||||
@@ -3,7 +3,6 @@ ent-MobBehonkerGrav = бонкер
|
||||
ent-MobBehonkerIce = бонкер
|
||||
.desc = { ent-BaseMobBehonker.desc }
|
||||
ent-MobCarpDungeon = карп
|
||||
.desc = ""
|
||||
ent-BaseMobFlesh = ненормальная плоть
|
||||
.desc = Неуклюжая масса плоти, оживленная с помощью аномальной энергии.
|
||||
ent-MobAbomination = мерзость
|
||||
|
||||
@@ -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 = стакан кончемпа
|
||||
|
||||
@@ -13,7 +13,6 @@ ent-FoodShakerPepper = перечница
|
||||
ent-Vape = вейп
|
||||
.desc = Как сигара, но для крепких подростков. (ВНИМАНИЕ: наливайте в вейп только воду)
|
||||
ent-DoorRemoteAll = супер дверной пульт
|
||||
.desc = ""
|
||||
ent-EncryptionKey = ключ шифрования
|
||||
.desc = Небольшой шифрочип для наушников.
|
||||
ent-ForensicReportPaper = отчет судебного сканера
|
||||
|
||||
@@ -37,6 +37,6 @@ ent-CellRechargerCircuitboard = машинная плата для зарядн
|
||||
ent-WeaponCapacitorRechargerCircuitboard = машинная плата зарядника оружия
|
||||
.desc = Машинная печатная плата для зарядного устройства.
|
||||
ent-MaterialReclaimerMachineCircuitboard = машинная плата для утилизаторского обработчика
|
||||
.desc = ""
|
||||
.desc = Машинная печатная плата для утилизаторского обработчика
|
||||
ent-SheetifierMachineCircuitboard = машинная плата лист-мейстера 2000
|
||||
.desc = ""
|
||||
.desc = Машинная печатная плата для лист-мейстера 2000
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
ent-FatExtractorMachineCircuitboard = машинная плата для извлечения липидов
|
||||
.desc = ""
|
||||
.desc = Машинная печатная плата для извлечения липидов
|
||||
ent-CargoTelepadMachineCircuitboard = машинная плата грузового телепада
|
||||
.desc = Машинная печатная плата для грузового телепада.
|
||||
ent-SalvageMagnetMachineCircuitboard = машинная плата для утилизационных магнитов
|
||||
|
||||
@@ -29,7 +29,6 @@ ent-CrazyGlue = сумасшедший клей
|
||||
ent-BaseBoardEntity = доска
|
||||
.desc = Пустая доска.
|
||||
ent-BaseBoardTabletop = плинтус
|
||||
.desc = ""
|
||||
ent-BaseBattlemap = боевая карта
|
||||
.desc = Боевая карта для вашего эпического исследования подземелья, части не включены!
|
||||
ent-GrassBattlemap = травяная боевая карта
|
||||
|
||||
@@ -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 = Изучение различных философских взглядов на правду и сложность лжи
|
||||
|
||||
@@ -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 = Земная тоска
|
||||
|
||||
@@ -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 = медицинская маска военного образца
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 }
|
||||
|
||||
@@ -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 }
|
||||
|
||||
@@ -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 = ""
|
||||
|
||||
@@ -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 = ""
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user