Merge remote-tracking branch 'WD-core/master' into upstream-core
This commit is contained in:
@@ -3,7 +3,7 @@
|
|||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:cc="clr-namespace:Content.Client.Administration.UI.CustomControls"
|
xmlns:cc="clr-namespace:Content.Client.Administration.UI.CustomControls"
|
||||||
xmlns:at="clr-namespace:Content.Client.Administration.UI.Tabs.AdminTab"
|
xmlns:at="clr-namespace:Content.Client.Administration.UI.Tabs.AdminTab"
|
||||||
xmlns:wd="clr-namespace:Content.Client._White.Administration"
|
xmlns:wd="clr-namespace:Content.Client._White.Administration.HoursPanelSystems"
|
||||||
Margin="4"
|
Margin="4"
|
||||||
MinSize="50 50">
|
MinSize="50 50">
|
||||||
<BoxContainer Orientation="Vertical">
|
<BoxContainer Orientation="Vertical">
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ public abstract class RequirementsSelector<T> : BoxContainer where T : IPrototyp
|
|||||||
|
|
||||||
_loadoutWindow = new LoadoutWindow(profile, _loadout, protoManager.Index(_loadout.Role), session, collection)
|
_loadoutWindow = new LoadoutWindow(profile, _loadout, protoManager.Index(_loadout.Role), session, collection)
|
||||||
{
|
{
|
||||||
Title = Loc.GetString(Proto.ID + "-loadout"),
|
Title = Loc.GetString("Job" + Proto.ID), //WD edit
|
||||||
};
|
};
|
||||||
|
|
||||||
_loadoutWindow.RefreshLoadouts(_loadout, session, collection);
|
_loadoutWindow.RefreshLoadouts(_loadout, session, collection);
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
HorizontalAlignment="Right"
|
HorizontalAlignment="Right"
|
||||||
Text="Refund" />
|
Text="Refund" />
|
||||||
</BoxContainer>
|
</BoxContainer>
|
||||||
<LineEdit Name="SearchBar" Margin="4" PlaceHolder="Search" HorizontalExpand="True"/>
|
<LineEdit Name="SearchBar" Margin="4" PlaceHolder="Поиск" HorizontalExpand="True"/>
|
||||||
<PanelContainer VerticalExpand="True">
|
<PanelContainer VerticalExpand="True">
|
||||||
<PanelContainer.PanelOverride>
|
<PanelContainer.PanelOverride>
|
||||||
<gfx:StyleBoxFlat BackgroundColor="#000000FF" />
|
<gfx:StyleBoxFlat BackgroundColor="#000000FF" />
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
<LineEdit Name="MinutesLine" MinWidth="100" HorizontalExpand="True" PlaceHolder="минуты" />
|
<LineEdit Name="MinutesLine" MinWidth="100" HorizontalExpand="True" PlaceHolder="минуты" />
|
||||||
<Button Name="HourButton" Text="+1h (0)"/>
|
<Button Name="HourButton" Text="+1h (0)"/>
|
||||||
</BoxContainer>
|
</BoxContainer>
|
||||||
|
<Label Name="TimeDisplayer" Text="Время игры: " />
|
||||||
<OptionButton Name="RoleOption" />
|
<OptionButton Name="RoleOption" />
|
||||||
<cc:PlayerListControl Name="PlayerList" VerticalExpand="True" MinWidth="200"/>
|
<cc:PlayerListControl Name="PlayerList" VerticalExpand="True" MinWidth="200"/>
|
||||||
<Button Name="SubmitButton" Text="Добавить время" />
|
<Button Name="SubmitButton" Text="Добавить время" />
|
||||||
@@ -7,8 +7,12 @@ using Robust.Client.UserInterface.CustomControls;
|
|||||||
using Robust.Client.UserInterface.XAML;
|
using Robust.Client.UserInterface.XAML;
|
||||||
using Robust.Shared.Prototypes;
|
using Robust.Shared.Prototypes;
|
||||||
using static Robust.Client.UserInterface.Controls.LineEdit;
|
using static Robust.Client.UserInterface.Controls.LineEdit;
|
||||||
|
using Content.Shared._White.Administration;
|
||||||
|
using Robust.Client.UserInterface.Controls;
|
||||||
|
using System.Diagnostics.CodeAnalysis;
|
||||||
|
using Robust.Client.Graphics.Clyde;
|
||||||
|
|
||||||
namespace Content.Client._White.Administration;
|
namespace Content.Client._White.Administration.HoursPanelSystems;
|
||||||
|
|
||||||
[GenerateTypedNameReferences]
|
[GenerateTypedNameReferences]
|
||||||
[UsedImplicitly]
|
[UsedImplicitly]
|
||||||
@@ -17,18 +21,48 @@ public sealed partial class HoursPanel : DefaultWindow
|
|||||||
public HoursPanel()
|
public HoursPanel()
|
||||||
{
|
{
|
||||||
RobustXamlLoader.Load(this);
|
RobustXamlLoader.Load(this);
|
||||||
|
|
||||||
|
var entityManager = IoCManager.Resolve<IEntityManager>();
|
||||||
|
var hoursPanelSystem = entityManager.System<HoursPanelSystem>();
|
||||||
|
hoursPanelSystem.Panel = this;
|
||||||
var roles = new Dictionary<int, string>();
|
var roles = new Dictionary<int, string>();
|
||||||
PlayerNameLine.OnTextChanged += _ => OnNamesChanged();
|
PlayerNameLine.OnTextChanged += _ => OnNamesChanged();
|
||||||
|
PlayerNameLine.OnTextEntered += _ => OnNameSubmited(hoursPanelSystem, roles);
|
||||||
PlayerList.OnSelectionChanged += OnPlayerSelectionChanged;
|
PlayerList.OnSelectionChanged += OnPlayerSelectionChanged;
|
||||||
HourButton.OnPressed += _ => AddMinutes(60);
|
HourButton.OnPressed += _ => AddMinutes(60);
|
||||||
MinutesLine.OnTextChanged += UpdateButtonsText;
|
MinutesLine.OnTextChanged += UpdateButtonsText;
|
||||||
RoleOption.OnItemSelected += args => RoleOption.SelectId(args.Id);
|
RoleOption.OnItemSelected += args => OnItemSelected(args, hoursPanelSystem, roles);
|
||||||
SubmitButton.OnPressed += _ => OnSubmitButtonOnPressed(roles);
|
SubmitButton.OnPressed += _ => OnSubmitButtonOnPressed(roles, hoursPanelSystem);
|
||||||
SaveButton.OnPressed += _ => OnSaveButtonOnPressed();
|
SaveButton.OnPressed += _ => OnSaveButtonOnPressed();
|
||||||
OnNamesChanged();
|
OnNamesChanged();
|
||||||
InitRoleList(roles);
|
InitRoleList(roles);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
public void UpdateTime(TimeSpan? time)
|
||||||
|
{
|
||||||
|
if (time != null)
|
||||||
|
{
|
||||||
|
var t = (TimeSpan) time;
|
||||||
|
TimeDisplayer.Text = $"Время игры: {Math.Floor(t.TotalHours) + string.Format(" ч {0:%m} м", t)}";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
TimeDisplayer.Text = $"Время игры: нет данных";
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnItemSelected(OptionButton.ItemSelectedEventArgs args, HoursPanelSystem owner, Dictionary<int, string> roles)
|
||||||
|
{
|
||||||
|
RoleOption.SelectId(args.Id);
|
||||||
|
OnNameSubmited(owner, roles);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnNameSubmited(HoursPanelSystem owner, Dictionary<int, string> roles)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrWhiteSpace(PlayerNameLine.Text))
|
||||||
|
return;
|
||||||
|
|
||||||
|
owner.SendPlayerTimeRequest(new HoursPanelMessageToServer(PlayerNameLine.Text, roles[RoleOption.SelectedId]));
|
||||||
|
}
|
||||||
|
|
||||||
private void InitRoleList(Dictionary<int, string> roles)
|
private void InitRoleList(Dictionary<int, string> roles)
|
||||||
{
|
{
|
||||||
var roleInd = 0;
|
var roleInd = 0;
|
||||||
@@ -88,11 +122,13 @@ public sealed partial class HoursPanel : DefaultWindow
|
|||||||
OnNamesChanged();
|
OnNamesChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnSubmitButtonOnPressed(Dictionary<int, string> roles)
|
private void OnSubmitButtonOnPressed(Dictionary<int, string> roles, HoursPanelSystem owner)
|
||||||
{
|
{
|
||||||
IoCManager.Resolve<IClientConsoleHost>().ExecuteCommand(
|
IoCManager.Resolve<IClientConsoleHost>().ExecuteCommand(
|
||||||
$"playtime_addrole {PlayerNameLine.Text} {roles[RoleOption.SelectedId]} {MinutesLine.Text}");
|
$"playtime_addrole {PlayerNameLine.Text} {roles[RoleOption.SelectedId]} {MinutesLine.Text}");
|
||||||
SaveButton.Disabled = false;
|
SaveButton.Disabled = false;
|
||||||
|
|
||||||
|
owner.SendPlayerTimeRequest(new HoursPanelMessageToServer(PlayerNameLine.Text, roles[RoleOption.SelectedId]));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnSaveButtonOnPressed()
|
private void OnSaveButtonOnPressed()
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
using Content.Shared._White.Administration;
|
||||||
|
|
||||||
|
namespace Content.Client._White.Administration.HoursPanelSystems;
|
||||||
|
|
||||||
|
public sealed class HoursPanelSystem : EntitySystem
|
||||||
|
{
|
||||||
|
public HoursPanel? Panel;
|
||||||
|
|
||||||
|
public override void Initialize()
|
||||||
|
{
|
||||||
|
base.Initialize();
|
||||||
|
|
||||||
|
SubscribeNetworkEvent<HoursPanelMessageToClient>(OnHoursPanelMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnHoursPanelMessage(HoursPanelMessageToClient message, EntitySessionEventArgs eventArgs)
|
||||||
|
{
|
||||||
|
Panel?.UpdateTime(message.Time);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SendPlayerTimeRequest(HoursPanelMessageToServer message)
|
||||||
|
{
|
||||||
|
RaiseNetworkEvent(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
<Button Name="BackButton" Text="{Loc 'messages-pda-ui-back'}" HorizontalExpand="False"/>
|
<Button Name="BackButton" Text="{Loc 'messages-pda-ui-back'}" HorizontalExpand="False"/>
|
||||||
<Label Name="HeaderLabel"/>
|
<Label Name="HeaderLabel"/>
|
||||||
</BoxContainer>
|
</BoxContainer>
|
||||||
<LineEdit Name="SearchBar" PlaceHolder="Search" HorizontalExpand="True" Margin="0 4" />
|
<LineEdit Name="SearchBar" PlaceHolder="Поиск" HorizontalExpand="True" Margin="0 4" />
|
||||||
<ScrollContainer Name="MessagesScroll" HorizontalExpand="True" VerticalExpand="True" HScrollEnabled="True">
|
<ScrollContainer Name="MessagesScroll" HorizontalExpand="True" VerticalExpand="True" HScrollEnabled="True">
|
||||||
<BoxContainer Orientation="Vertical" Name="MessageContainer" HorizontalExpand="True" VerticalExpand="True"/>
|
<BoxContainer Orientation="Vertical" Name="MessageContainer" HorizontalExpand="True" VerticalExpand="True"/>
|
||||||
</ScrollContainer>
|
</ScrollContainer>
|
||||||
|
|||||||
40
Content.Server/_White/Administration/HoursPanelSystem.cs
Normal file
40
Content.Server/_White/Administration/HoursPanelSystem.cs
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
using Content.Shared._White.Administration;
|
||||||
|
using Robust.Server.Player;
|
||||||
|
using Content.Server.Players.PlayTimeTracking;
|
||||||
|
|
||||||
|
namespace Content.Server._White.Administration;
|
||||||
|
|
||||||
|
public sealed class HoursPanelSystem : EntitySystem
|
||||||
|
{
|
||||||
|
[Dependency] private readonly IPlayerManager _playerManager = default!;
|
||||||
|
[Dependency] private readonly IPlayTimeTrackingManager _playTimeTracking = default!;
|
||||||
|
|
||||||
|
public override void Initialize()
|
||||||
|
{
|
||||||
|
base.Initialize();
|
||||||
|
|
||||||
|
SubscribeNetworkEvent<HoursPanelMessageToServer>(OnHoursPanelMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnHoursPanelMessage(HoursPanelMessageToServer message, EntitySessionEventArgs eventArgs)
|
||||||
|
{
|
||||||
|
if (!_playerManager.TryGetSessionByUsername(message.PlayerCKey, out var player))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (player == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
TimeSpan timer;
|
||||||
|
|
||||||
|
if (message.Job == "Overall")
|
||||||
|
{
|
||||||
|
timer = _playTimeTracking.GetOverallPlaytime(player!);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
timer = _playTimeTracking.GetPlayTimeForTracker(player!, message.Job);
|
||||||
|
}
|
||||||
|
|
||||||
|
RaiseNetworkEvent(new HoursPanelMessageToClient(timer));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
using Robust.Shared.Serialization;
|
||||||
|
|
||||||
|
namespace Content.Shared._White.Administration;
|
||||||
|
|
||||||
|
[Serializable, NetSerializable]
|
||||||
|
public sealed class HoursPanelMessageToServer : EntityEventArgs
|
||||||
|
{
|
||||||
|
public string PlayerCKey { get; }
|
||||||
|
public string Job { get; }
|
||||||
|
public HoursPanelMessageToServer(string playerCKey, string job)
|
||||||
|
{
|
||||||
|
PlayerCKey = playerCKey;
|
||||||
|
Job = job;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Serializable, NetSerializable]
|
||||||
|
public sealed class HoursPanelMessageToClient : EntityEventArgs
|
||||||
|
{
|
||||||
|
public TimeSpan Time { get; }
|
||||||
|
public HoursPanelMessageToClient(TimeSpan time)
|
||||||
|
{
|
||||||
|
Time = time;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,29 +1,4 @@
|
|||||||
Entries:
|
Entries:
|
||||||
- author: nairsark
|
|
||||||
changes:
|
|
||||||
- message: "\u0412\u0435\u0440\u043D\u0443\u043B \u043A\u043E\u0440\u043F\u043E\u0440\
|
|
||||||
\u0430\u0442\u0438\u0432\u043D\u044B\u0435 \u0437\u0430\u043A\u043E\u043D\u044B\
|
|
||||||
\ \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E"
|
|
||||||
type: Tweak
|
|
||||||
- message: Asimov law set
|
|
||||||
type: Add
|
|
||||||
id: 160
|
|
||||||
time: '2024-02-27T12:00:28.0000000+00:00'
|
|
||||||
url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/128
|
|
||||||
- author: nairsark
|
|
||||||
changes:
|
|
||||||
- message: "RCD \u0438 \u0437\u0430\u0440\u044F\u0434\u044B RCD \u0438\u0437 \u043E\
|
|
||||||
\u0431\u044B\u0447\u043D\u044B\u0445 \u0438\u043D\u0436\u0435\u043D\u0435\u0440\
|
|
||||||
\u043D\u044B\u0445 \u0448\u043A\u0430\u0444\u0447\u0438\u043A\u043E\u0432."
|
|
||||||
type: Remove
|
|
||||||
- message: "\u0422\u043E\u043F\u043E\u0440 \u0441\u043D\u043E\u0432\u0430 \u043C\
|
|
||||||
\u043E\u0436\u0435\u0442 \u0441\u043D\u0438\u043C\u0430\u0442\u044C \u043D\u0430\
|
|
||||||
\u043F\u043E\u043B\u044C\u043D\u043E\u0435 \u043F\u043E\u043A\u0440\u044B\u0442\
|
|
||||||
\u0438\u0435"
|
|
||||||
type: Add
|
|
||||||
id: 161
|
|
||||||
time: '2024-02-27T12:07:11.0000000+00:00'
|
|
||||||
url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/132
|
|
||||||
- author: ThereDrD
|
- author: ThereDrD
|
||||||
changes:
|
changes:
|
||||||
- message: "\u0420\u0435\u0441\u043F\u0440\u0430\u0439\u0442 \u0441\u0442\u043E\u043B\
|
- message: "\u0420\u0435\u0441\u043F\u0440\u0430\u0439\u0442 \u0441\u0442\u043E\u043B\
|
||||||
@@ -8954,3 +8929,22 @@
|
|||||||
id: 659
|
id: 659
|
||||||
time: '2025-01-13T21:05:45.0000000+00:00'
|
time: '2025-01-13T21:05:45.0000000+00:00'
|
||||||
url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/884
|
url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/884
|
||||||
|
- author: Ivangelion
|
||||||
|
changes:
|
||||||
|
- message: "\u041F\u043B\u0430\u0449 \u0438\u043D\u0441\u043F\u0435\u043A\u0442\u043E\
|
||||||
|
\u0440\u0430 \u0442\u0435\u043F\u0435\u0440\u044C \u043F\u0440\u0430\u0432\u0438\
|
||||||
|
\u043B\u044C\u043D\u043E \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044F\
|
||||||
|
\ \u0446\u0435\u043B\u044C\u044E \u0432\u043E\u0440\u0430"
|
||||||
|
type: Fix
|
||||||
|
id: 660
|
||||||
|
time: '2025-02-02T08:33:01.0000000+00:00'
|
||||||
|
url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/888
|
||||||
|
- author: BIG_Zi_348
|
||||||
|
changes:
|
||||||
|
- message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u043E \u0431\u043E\u043B\
|
||||||
|
\u044C\u0448\u0435 \u0432\u0435\u0449\u0435\u0439 \u0432 \u0434\u043E\u043D\u0430\
|
||||||
|
\u0442\u0448\u043E\u043F."
|
||||||
|
type: Add
|
||||||
|
id: 661
|
||||||
|
time: '2025-02-09T16:59:35.0000000+00:00'
|
||||||
|
url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/893
|
||||||
|
|||||||
24
Resources/Locale/ru-RU/_white/items/misc.ftl
Normal file
24
Resources/Locale/ru-RU/_white/items/misc.ftl
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
ent-ClothingNeckMantieZero = мантия "Ноль"
|
||||||
|
.desc = Камуфляжная мантия элитного бойца, покрытая кровью тысяч невинных.
|
||||||
|
ent-ClothingNeckMantieDuneHat = пустынный капюшон
|
||||||
|
.desc = Пыльный капюшон плотно закрывающий голову от песчаных вихрей.
|
||||||
|
ent-ClothingNeckMantieDune = пустынная мантия
|
||||||
|
.desc = Покрытая въевшейся пылью мантия, отлично защищающая от непогоды. Такие носят на гиблых мирах-пустошах - кочевники и рейдеры. Поможет вам не схлопотать солнечный удар слишком быстро.
|
||||||
|
ent-ClothingMaskSratVPodjesde = маска скрытности
|
||||||
|
.desc = Маска незаметность свободно ананизм невидимость скрытно шаттл синдикат.
|
||||||
|
ent-ClothingHeadHatStreamerCap = шапка стримера
|
||||||
|
.desc = С этой шапкой вы будете в центре внимания! Или нет.
|
||||||
|
ent-BeretZero = берет "Ноль"
|
||||||
|
.desc = Камуфляжный берет элитного бойца со знаком отличия в виде цифры "0". Пахнет кровью.
|
||||||
|
ent-ClothingOuterPunkBomber = куртка панка
|
||||||
|
.desc = Просто не вступайте в армию, пока не узнаете, в какой войне вы участвуете.
|
||||||
|
ent-ClothingOuterHoodieStreamer = стримерское худи
|
||||||
|
.desc = Тёплое и уютное, с карманами и капюшоном.
|
||||||
|
ent-ClothingHeadHatHoodHoodieStreamer = капюшон
|
||||||
|
.desc = Если хочешь быть загадочным и привлекательным.
|
||||||
|
ent-ClothingUniformJumpsuitZeroSamurai = кимоно мечника
|
||||||
|
.desc = Удобное просторное кимоно, не стенсняющее движений, в его кармане... старый плеер?
|
||||||
|
ent-ClothingUniformJumpsuitWhiteTShirt = белая футболка с джинсами
|
||||||
|
.desc = Модно. Минималистично. Стильно. Молодёжно.
|
||||||
|
ent-ClothingUniformJumpsuitZero = униформа "Ноль"
|
||||||
|
.desc = Удобная униформа из прочных и эластичных материалов, состоящая из штанов "карго" и чёрной водолазки.
|
||||||
@@ -27,10 +27,6 @@ ent-ClothingEyesGlassesJamjar = очки "банка варенья"
|
|||||||
.desc = Также известны как "защитники девственности".
|
.desc = Также известны как "защитники девственности".
|
||||||
ent-ClothingEyesGlassesCheapSunglasses = дешевые солнцезащитные очки
|
ent-ClothingEyesGlassesCheapSunglasses = дешевые солнцезащитные очки
|
||||||
.desc = Пара черных солнцезащитных очков. Не очень хорошо блокируют свет, больше аксессуар, чем полезная вещь.
|
.desc = Пара черных солнцезащитных очков. Не очень хорошо блокируют свет, больше аксессуар, чем полезная вещь.
|
||||||
ent-ClothingEyesGlassesMercenaryMeaty = очки наемника
|
|
||||||
.desc = Очки, сделанные для боя.
|
|
||||||
ent-ClothingEyesGlassesSunglassesMeaty = солнцезащитные очки
|
|
||||||
.desc = Полезны как для безопасности, так и для каргонии.
|
|
||||||
ent-ClothingEyesGlassesChemical = очки для химического анализа
|
ent-ClothingEyesGlassesChemical = очки для химического анализа
|
||||||
.desc = Очки, которые могут сканировать химический состав раствора.
|
.desc = Очки, которые могут сканировать химический состав раствора.
|
||||||
ent-ClothingEyesVisorNinja = визор ниндзя
|
ent-ClothingEyesVisorNinja = визор ниндзя
|
||||||
|
|||||||
@@ -7,15 +7,15 @@ ent-ClothingHeadHatBrownFlatcap = коричневая кепка
|
|||||||
ent-ClothingHeadHatCowboyBrown = коричневая ковбойская шляпа
|
ent-ClothingHeadHatCowboyBrown = коричневая ковбойская шляпа
|
||||||
.desc = Эта шляпа слишком мала для нас двоих.
|
.desc = Эта шляпа слишком мала для нас двоих.
|
||||||
ent-ClothingHeadHatCowboyBlack = черная ковбойская шляпа
|
ent-ClothingHeadHatCowboyBlack = черная ковбойская шляпа
|
||||||
.desc = черная ковбойская шляпа
|
.desc = Эта шляпа слишком мала для нас двоих.
|
||||||
ent-ClothingHeadHatCowboyGrey = серая ковбойская шляпа
|
ent-ClothingHeadHatCowboyGrey = серая ковбойская шляпа
|
||||||
.desc = серая ковбойская шляпа
|
.desc = Эта шляпа слишком мала для нас двоих.
|
||||||
ent-ClothingHeadHatCowboyRed = красная ковбойская шляпа
|
ent-ClothingHeadHatCowboyRed = красная ковбойская шляпа
|
||||||
.desc = красная ковбойская шляпа
|
.desc = Эта шляпа слишком мала для нас двоих.
|
||||||
ent-ClothingHeadHatCowboyWhite = белая ковбойская шляпа
|
ent-ClothingHeadHatCowboyWhite = белая ковбойская шляпа
|
||||||
.desc = белая ковбойская шляпа
|
.desc = Эта шляпа слишком мала для нас двоих.
|
||||||
ent-ClothingHeadHatCowboyBountyHunter = шляпа ковбоя-охотника за головами
|
ent-ClothingHeadHatCowboyBountyHunter = шляпа ковбоя-охотника за головами
|
||||||
.desc = шляпа ковбоя-охотника за головами
|
.desc = Эта шляпа слишком мала для нас двоих.
|
||||||
ent-ClothingHeadHatStrawHat = соломенная шляпа
|
ent-ClothingHeadHatStrawHat = соломенная шляпа
|
||||||
.desc = Модная шляпа для жарких дней! Не рекомендуется носить рядом с огнем.
|
.desc = Модная шляпа для жарких дней! Не рекомендуется носить рядом с огнем.
|
||||||
ent-ClothingHeadHatBeretMedic = медицинская беретка
|
ent-ClothingHeadHatBeretMedic = медицинская беретка
|
||||||
|
|||||||
@@ -2,10 +2,6 @@ ent-ClothingOuterCoatRD = лабораторный халат директора
|
|||||||
.desc = Ткань, из которой сшит этот халат, пропитана передовыми технологиями, защищающими от радиации подобно экспериментальному скафандру.
|
.desc = Ткань, из которой сшит этот халат, пропитана передовыми технологиями, защищающими от радиации подобно экспериментальному скафандру.
|
||||||
ent-ClothingOuterCoatRDOpened = лабораторный халат директора исследований
|
ent-ClothingOuterCoatRDOpened = лабораторный халат директора исследований
|
||||||
.desc = лабораторный халат директора исследований
|
.desc = лабораторный халат директора исследований
|
||||||
ent-ClothingOuterCoatSyndieCapMeaty = халат синдиката
|
|
||||||
.desc = Халат синдиката изготовлен из прочной ткани с позолоченными узорами.
|
|
||||||
ent-ClothingOuterCoatSyndieCapArmoredMeaty = бронированный халат синдиката
|
|
||||||
.desc = Бронированный халат синдиката изготовлен из прочной ткани с позолоченными узорами.
|
|
||||||
ent-ClothingOuterCoatSpaceAsshole = халат космического мудилы
|
ent-ClothingOuterCoatSpaceAsshole = халат космического мудилы
|
||||||
.desc = И вот он...
|
.desc = И вот он...
|
||||||
ent-ClothingOuterCoatExpensive = дорогой халат
|
ent-ClothingOuterCoatExpensive = дорогой халат
|
||||||
|
|||||||
@@ -1,19 +1,13 @@
|
|||||||
ent-ClothingOuterSuitCarp = костюм карпа
|
ent-ClothingOuterSuitCarp = костюм карпа
|
||||||
.desc = Специальный костюм, который заставляет тебя выглядеть как космический карп, если у тебя плохое зрение.
|
.desc = Специальный костюм, который заставляет тебя выглядеть как космический карп, если у тебя плохое зрение.
|
||||||
ent-ClothingOuterVestWebMercMeaty = жилет мерча
|
ent-ClothingOuterVestWebMercMeaty = тактический жилет наёмника
|
||||||
.desc = Самое то для мяукалок!
|
.desc = Высококачественный муляж бронежилета из прочного картона. Он неудивительно гибкий и легкий.
|
||||||
ent-ClothingOuterWinterHoSUnarmored = зимнее пальто начальника охраны
|
ent-ClothingOuterWinterHoSUnarmored = зимнее пальто начальника охраны
|
||||||
.desc = Прочное пальто, теплое пальто, но не бронированное.
|
.desc = Прочное пальто, теплое пальто, но не бронированное.
|
||||||
ent-ClothingOuterWinterWardenUnarmored = зимнее пальто начальника
|
ent-ClothingOuterWinterWardenUnarmored = зимнее пальто начальника
|
||||||
.desc = Прочное пальто, теплое пальто, но не бронированное.
|
.desc = Прочное пальто, теплое пальто, но не бронированное.
|
||||||
ent-ClothingOuterWinterWeb = зимнее пальто паутины
|
ent-ClothingOuterWinterWeb = зимнее пальто паутины
|
||||||
.desc = Чувствуется как внутри кокона, не то чтобы это сделало тебя менее напуганным, находясь в нем.
|
.desc = Чувствуется как внутри кокона, не то чтобы это сделало тебя менее напуганным, находясь в нем.
|
||||||
ent-ClothingOuterWinterSyndieCapMeaty = зимнее пальто синдиката
|
|
||||||
.desc = Зимнее пальто синдиката сделано из прочной ткани, с позолоченными узорами и грубой шерсти.
|
|
||||||
ent-ClothingOuterWinterSyndieCapArmoredMeaty = бронированное зимнее пальто синдиката
|
|
||||||
.desc = Бронированное зимнее пальто синдиката сделано из прочной ткани, с позолоченными узорами и грубой шерсти.
|
|
||||||
ent-ClothingOuterWinterSyndieMeaty = зимнее пальто синдиката
|
|
||||||
.desc = Теплое зимнее пальто, выглядит как мерч из "Синдиленда"
|
|
||||||
ent-ClothingShoesHighheelBoots = туфли на высоком каблуке
|
ent-ClothingShoesHighheelBoots = туфли на высоком каблуке
|
||||||
.desc = Стильные сапоги для тех, кто хочет быть модным, но готовым ко всему.
|
.desc = Стильные сапоги для тех, кто хочет быть модным, но готовым ко всему.
|
||||||
ent-ClothingShoesBootsWinter = зимние сапоги
|
ent-ClothingShoesBootsWinter = зимние сапоги
|
||||||
|
|||||||
@@ -7,7 +7,9 @@ meatyore-store-category-suits = Костюмы
|
|||||||
meatyore-store-category-uniforms = Униформы
|
meatyore-store-category-uniforms = Униформы
|
||||||
meatyore-store-category-gloves = Перчатки
|
meatyore-store-category-gloves = Перчатки
|
||||||
meatyore-store-category-cloaks = Верхняя одежда
|
meatyore-store-category-cloaks = Верхняя одежда
|
||||||
|
meatyore-store-category-capes = Плащи и прочее
|
||||||
meatyore-store-category-toys = Игрушки
|
meatyore-store-category-toys = Игрушки
|
||||||
meatyore-store-category-special = Специальное
|
meatyore-store-category-misc = Другое
|
||||||
|
meatyore-store-category-new = НОВОЕ!!!
|
||||||
meatyore-store-category-antag = ?АНТАГ?
|
meatyore-store-category-antag = ?АНТАГ?
|
||||||
dj-jukebox-store-category = Диджей
|
dj-jukebox-store-category = Диджей
|
||||||
|
|||||||
@@ -3,3 +3,63 @@ ent-Hairball = комок шерсти
|
|||||||
|
|
||||||
ent-supermatter = суперматерия
|
ent-supermatter = суперматерия
|
||||||
.desc = Необычайно полупрозрачный и переливающийся кристалл.
|
.desc = Необычайно полупрозрачный и переливающийся кристалл.
|
||||||
|
|
||||||
|
ent-PlushieLerkFluff = Плюшевая Лерк
|
||||||
|
.desc = Глядя на эту игрушку, ты чувствуешь, как леденящий холод пронизывает твои кости. Ее глаза, словно две темные бездны, в которых теряются даже самые смелые души.
|
||||||
|
|
||||||
|
ent-HampterBarmen = хомяк бармен
|
||||||
|
.desc = Я бармен!
|
||||||
|
|
||||||
|
ent-HampterCap = хомяк капитан
|
||||||
|
.desc = Я капитан!
|
||||||
|
|
||||||
|
ent-CentcomHampter = хомяк ПЦК
|
||||||
|
.desc = Я шишка.
|
||||||
|
|
||||||
|
ent-ClownHampter = хомяк клоун
|
||||||
|
.desc = Я клоун!
|
||||||
|
|
||||||
|
ent-ComisarHampter = хомяк комиссар
|
||||||
|
.desc = Я комиссар!
|
||||||
|
|
||||||
|
ent-DeadthHampter = хомяк эскадрон
|
||||||
|
.desc = Я сама смерть!
|
||||||
|
|
||||||
|
ent-EmergencyHampter = хомяк ОБР
|
||||||
|
.desc = Я из Отряда Медленного Реагирования!
|
||||||
|
|
||||||
|
ent-GoldenHampter = хомяк золотце
|
||||||
|
.desc = Золотце!
|
||||||
|
|
||||||
|
ent-GreyHampter = хомяк ассистент
|
||||||
|
.desc = Серый.
|
||||||
|
|
||||||
|
ent-GreyWave = хомяк ассистент в противогазе
|
||||||
|
.desc = Серый и подозрительный.
|
||||||
|
|
||||||
|
ent-Hampterhell = хомяк из ада
|
||||||
|
.desc = Палка.
|
||||||
|
|
||||||
|
ent-HampterKrah = хомяк из КФС
|
||||||
|
.desc = Люблю курочку из KFC!
|
||||||
|
|
||||||
|
ent-Lgbthampter = хомяк радужный
|
||||||
|
.desc = Я за равноправие!
|
||||||
|
|
||||||
|
ent-HampterMed = хомяк медик
|
||||||
|
.desc = Лечу как бог!
|
||||||
|
|
||||||
|
ent-Nukehampter = хомяк оперативник
|
||||||
|
.desc = Дайте мне уже пульт от ядерки!
|
||||||
|
|
||||||
|
ent-SbHampter = хомяк офицер
|
||||||
|
.desc = Люблю бить клоунов!
|
||||||
|
|
||||||
|
ent-HampterShrek = хомяк шрек
|
||||||
|
.desc = Я точно не бимба!
|
||||||
|
|
||||||
|
ent-HampterSpu = хомяк НЕ шпион
|
||||||
|
.desc = Он вам не Маркус!
|
||||||
|
|
||||||
|
ent-VirusologHampter = хомяк вирусолог
|
||||||
|
.desc = Болезни? Не слышал!
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ ent-ClothingOuterDogi = самурайский доги
|
|||||||
.desc = Доги - это разновидность традиционной японской одежды. Доги изготовлен из тяжелой, прочной ткани, он практичен в бою и стильно выглядит.
|
.desc = Доги - это разновидность традиционной японской одежды. Доги изготовлен из тяжелой, прочной ткани, он практичен в бою и стильно выглядит.
|
||||||
ent-ClothingOuterCoatSyndieCap = пальто синдиката
|
ent-ClothingOuterCoatSyndieCap = пальто синдиката
|
||||||
.desc = Пальто синдиката сшито из прочной ткани с позолоченными узорами.
|
.desc = Пальто синдиката сшито из прочной ткани с позолоченными узорами.
|
||||||
ent-ClothingOuterCoatSyndieCapArmored = бронированный плащ синдиката
|
ent-ClothingOuterCoatSyndieCapArmored = бронированное пальто синдиката
|
||||||
.desc = Бронированный плащ синдиката изготовлен из прочной ткани с позолоченными узорами.
|
.desc = Бронированное пальто синдиката изготовлено из прочной ткани с позолоченными узорами.
|
||||||
ent-ClothingOuterCoatAMG = бронированный медицинский халат
|
ent-ClothingOuterCoatAMG = бронированный медицинский халат
|
||||||
.desc = Вариант медицинского халата с элементами пуленепробиваемого жилета выглядит странно, но ваше сердце защищено.
|
.desc = Вариант медицинского халата с элементами пуленепробиваемого жилета выглядит странно, но ваше сердце защищено.
|
||||||
ent-ClothingOuterCoatLabSeniorResearcher = лабораторный халат ведущего исследователя
|
ent-ClothingOuterCoatLabSeniorResearcher = лабораторный халат ведущего исследователя
|
||||||
@@ -27,7 +27,7 @@ ent-ClothingOuterWinterSyndieCap = зимнее пальто синдиката
|
|||||||
ent-ClothingOuterWinterSyndieCapArmored = бронированное зимнее пальто синдиката
|
ent-ClothingOuterWinterSyndieCapArmored = бронированное зимнее пальто синдиката
|
||||||
.desc = Зимнее бронированное пальто синдиката изготовлено из прочной ткани с позолоченными узорами и грубой шерсти.
|
.desc = Зимнее бронированное пальто синдиката изготовлено из прочной ткани с позолоченными узорами и грубой шерсти.
|
||||||
ent-ClothingOuterWinterSyndie = зимнее пальто синдиката
|
ent-ClothingOuterWinterSyndie = зимнее пальто синдиката
|
||||||
.desc = Утепленное зимнее пальто, выглядит как товар из "Синдиленда".
|
.desc = Утепленное зимнее пальто, выглядит как мерч из "Синдиленда".
|
||||||
ent-ClothingShoesBootsMerc = сапоги наемника
|
ent-ClothingShoesBootsMerc = сапоги наемника
|
||||||
.desc = Ботинки, прошедшие через множество конфликтов и доказавшие свою боевую надежность.
|
.desc = Ботинки, прошедшие через множество конфликтов и доказавшие свою боевую надежность.
|
||||||
ent-ClothingShoesClownLarge = большие клоунские ботинки
|
ent-ClothingShoesClownLarge = большие клоунские ботинки
|
||||||
|
|||||||
24
Resources/Locale/ru-RU/meaty/meaty.ftl
Normal file
24
Resources/Locale/ru-RU/meaty/meaty.ftl
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
ent-ClothingEyesGlassesMercenaryMeaty = { ent-ClothingEyesGlassesMercenary }
|
||||||
|
.desc = Боевые очки, бюджетный вариант.
|
||||||
|
ent-ClothingEyesGlassesSunglassesMeaty = { ent-ClothingEyesGlassesSunglasses }
|
||||||
|
.desc = Полезны как для безопасности, так и для карго. Бюджетный вариант.
|
||||||
|
ent-ClothingOuterCoatSyndieCapMeaty = { ent-ClothingOuterCoatSyndieCap }
|
||||||
|
.desc = { ent-ClothingOuterCoatSyndieCap.desc }
|
||||||
|
ent-ClothingOuterCoatSyndieCapArmoredMeaty = { ent-ClothingOuterCoatSyndieCapArmored }
|
||||||
|
.desc = Бронированное пальто синдиката изготовлено из прочной ткани с позолоченными узорами, но без вшитых бронепластин.
|
||||||
|
ent-ClothingOuterWinterSyndieCapMeaty = { ent-ClothingOuterWinterSyndieCap }
|
||||||
|
.desc = { ent-ClothingOuterWinterSyndieCap.desc }
|
||||||
|
ent-ClothingOuterWinterSyndieCapArmoredMeaty = { ent-ClothingOuterWinterSyndieCapArmored }
|
||||||
|
.desc = Зимнее бронированное пальто синдиката изготовлено из прочной ткани с позолоченными узорами и грубой шерсти, но без вшитых бронепластин.
|
||||||
|
ent-ClothingOuterWinterSyndieMeaty = { ent-ClothingOuterWinterSyndie }
|
||||||
|
.desc = { ent-ClothingOuterWinterSyndie.desc }
|
||||||
|
ent-ClothingEyesHudBeerMeaty = { ent-ClothingEyesHudBeer }
|
||||||
|
.desc = Пара очков, похожих на те, которые носят бармены.
|
||||||
|
ent-ClothingEyesGlassesMaidMeaty = { ent-ClothingEyesGlassesMaid }
|
||||||
|
.desc = Чистые и милые. Коллекционное издание.
|
||||||
|
ent-ClothingEyesGlassesGarMeaty = { ent-ClothingEyesGlassesGar }
|
||||||
|
.desc = { ent-ClothingEyesGlassesGar.desc }
|
||||||
|
ent-ClothingEyesGlassesGarOrangeMeaty = { ent-ClothingEyesGlassesGarOrange }
|
||||||
|
.desc = { ent-ClothingEyesGlassesGarOrange.desc }
|
||||||
|
ent-ClothingEyesGlassesGarGigaMeaty = { ent-ClothingEyesGlassesGarGiga }
|
||||||
|
.desc = { ent-ClothingEyesGlassesGarGiga.desc }
|
||||||
@@ -27,7 +27,7 @@ ent-ClothingOuterPoncho = пончо
|
|||||||
ent-ClothingOuterSanta = костюм Санты
|
ent-ClothingOuterSanta = костюм Санты
|
||||||
.desc = Хо хо хо!
|
.desc = Хо хо хо!
|
||||||
ent-ClothingOuterStraightjacket = смирительная рубашка
|
ent-ClothingOuterStraightjacket = смирительная рубашка
|
||||||
.desc = Смирительная рубашка.
|
.desc = Используется для удержания тех, кто пытается причинить вред себе или окружающим.
|
||||||
ent-ClothingOuterWizardViolet = фиолетовая мантия волшебника
|
ent-ClothingOuterWizardViolet = фиолетовая мантия волшебника
|
||||||
.desc = Причудливая инкрустированная драгоценными камнями фиолетовая мантия, излучающая магическую энергию.
|
.desc = Причудливая инкрустированная драгоценными камнями фиолетовая мантия, излучающая магическую энергию.
|
||||||
ent-ClothingOuterWizard = мантия волшебника
|
ent-ClothingOuterWizard = мантия волшебника
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
ent-WhiteJukebox = Бумбокс
|
ent-Boombox = Бумбокс
|
||||||
.desc = Меня это раздражает.
|
.desc = Меня это раздражает.
|
||||||
|
|
||||||
ent-TapeRecorder = Мысль
|
ent-TapeRecorder = Мысль
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -195,32 +195,6 @@
|
|||||||
- type: EyeProtection
|
- type: EyeProtection
|
||||||
protectionTime: 5
|
protectionTime: 5
|
||||||
|
|
||||||
- type: entity
|
|
||||||
parent: ClothingEyesBase
|
|
||||||
id: ClothingEyesGlassesMercenaryMeaty
|
|
||||||
name: mercenary glasses
|
|
||||||
description: Glasses made for combat.
|
|
||||||
components:
|
|
||||||
- type: Sprite
|
|
||||||
sprite: Clothing/Eyes/Glasses/mercglasses.rsi
|
|
||||||
- type: Clothing
|
|
||||||
sprite: Clothing/Eyes/Glasses/mercglasses.rsi
|
|
||||||
|
|
||||||
- type: entity
|
|
||||||
parent: ClothingEyesBase
|
|
||||||
id: ClothingEyesGlassesSunglassesMeaty
|
|
||||||
name: sun glasses
|
|
||||||
description: Useful both for security and cargonia.
|
|
||||||
components:
|
|
||||||
- type: Sprite
|
|
||||||
sprite: Clothing/Eyes/Glasses/sunglasses.rsi
|
|
||||||
- type: Clothing
|
|
||||||
sprite: Clothing/Eyes/Glasses/sunglasses.rsi
|
|
||||||
- type: Tag
|
|
||||||
tags:
|
|
||||||
- HamsterWearable
|
|
||||||
- WhitelistChameleon
|
|
||||||
|
|
||||||
#Make a scanner category when these actually function and we get the trayson
|
#Make a scanner category when these actually function and we get the trayson
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: ClothingEyesBase
|
parent: ClothingEyesBase
|
||||||
|
|||||||
@@ -311,3 +311,5 @@
|
|||||||
sprite: Clothing/Neck/Cloaks/inspector.rsi
|
sprite: Clothing/Neck/Cloaks/inspector.rsi
|
||||||
- type: TypingIndicatorClothing
|
- type: TypingIndicatorClothing
|
||||||
proto: lawyer
|
proto: lawyer
|
||||||
|
- type: StealTarget
|
||||||
|
stealGroup: HeadCloak
|
||||||
|
|||||||
@@ -400,29 +400,6 @@
|
|||||||
- type: Clothing
|
- type: Clothing
|
||||||
sprite: Clothing/OuterClothing/Coats/syndicate/coatsyndiecaparmored.rsi
|
sprite: Clothing/OuterClothing/Coats/syndicate/coatsyndiecaparmored.rsi
|
||||||
|
|
||||||
- type: entity
|
|
||||||
parent: ClothingOuterStorageBase
|
|
||||||
id: ClothingOuterCoatSyndieCapMeaty
|
|
||||||
name: syndicate's coat
|
|
||||||
description: The syndicate's coat is made of durable fabric, with gilded patterns.
|
|
||||||
components:
|
|
||||||
- type: Sprite
|
|
||||||
sprite: Clothing/OuterClothing/Coats/syndicate/coatsyndiecap.rsi
|
|
||||||
- type: Clothing
|
|
||||||
sprite: Clothing/OuterClothing/Coats/syndicate/coatsyndiecap.rsi
|
|
||||||
|
|
||||||
- type: entity
|
|
||||||
parent: ClothingOuterStorageBase
|
|
||||||
id: ClothingOuterCoatSyndieCapArmoredMeaty
|
|
||||||
name: syndicate's armored coat
|
|
||||||
description: The syndicate's armored coat is made of durable fabric, with gilded patterns.
|
|
||||||
components:
|
|
||||||
- type: Sprite
|
|
||||||
sprite: Clothing/OuterClothing/Coats/syndicate/coatsyndiecaparmored.rsi
|
|
||||||
- type: Clothing
|
|
||||||
sprite: Clothing/OuterClothing/Coats/syndicate/coatsyndiecaparmored.rsi
|
|
||||||
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: [ClothingOuterStorageBase, AllowSuitStorageClothing] # WD added AllowSuitStorageClothing
|
parent: [ClothingOuterStorageBase, AllowSuitStorageClothing] # WD added AllowSuitStorageClothing
|
||||||
id: ClothingOuterCoatAMG
|
id: ClothingOuterCoatAMG
|
||||||
|
|||||||
@@ -541,39 +541,6 @@
|
|||||||
- type: ToggleableClothing
|
- type: ToggleableClothing
|
||||||
clothingPrototype: ClothingHeadHatHoodWinterWeb
|
clothingPrototype: ClothingHeadHatHoodWinterWeb
|
||||||
|
|
||||||
- type: entity
|
|
||||||
parent: ClothingOuterStorageBase
|
|
||||||
id: ClothingOuterWinterSyndieCapMeaty
|
|
||||||
name: syndicate's winter coat
|
|
||||||
description: "The syndicate's winter coat is made of durable fabric, with gilded patterns, and coarse wool."
|
|
||||||
components:
|
|
||||||
- type: Sprite
|
|
||||||
sprite: Clothing/OuterClothing/WinterCoats/syndicate/coatsyndiecap.rsi
|
|
||||||
- type: Clothing
|
|
||||||
sprite: Clothing/OuterClothing/WinterCoats/syndicate/coatsyndiecap.rsi
|
|
||||||
|
|
||||||
- type: entity
|
|
||||||
parent: ClothingOuterStorageBase
|
|
||||||
id: ClothingOuterWinterSyndieCapArmoredMeaty
|
|
||||||
name: syndicate's armored winter coat
|
|
||||||
description: "The syndicate's armored winter coat is made of durable fabric, with gilded patterns, and coarse wool."
|
|
||||||
components:
|
|
||||||
- type: Sprite
|
|
||||||
sprite: Clothing/OuterClothing/WinterCoats/syndicate/coatsyndiecaparmored.rsi
|
|
||||||
- type: Clothing
|
|
||||||
sprite: Clothing/OuterClothing/WinterCoats/syndicate/coatsyndiecaparmored.rsi
|
|
||||||
|
|
||||||
- type: entity
|
|
||||||
parent: ClothingOuterStorageBase
|
|
||||||
id: ClothingOuterWinterSyndieMeaty
|
|
||||||
name: syndicate's winter coat
|
|
||||||
description: Insulated winter coat, looks like a merch from "Syndieland"
|
|
||||||
components:
|
|
||||||
- type: Sprite
|
|
||||||
sprite: Clothing/OuterClothing/WinterCoats/syndicate/wintercoatsyndie.rsi
|
|
||||||
- type: Clothing
|
|
||||||
sprite: Clothing/OuterClothing/WinterCoats/syndicate/wintercoatsyndie.rsi
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: ClothingOuterStorageBase
|
parent: ClothingOuterStorageBase
|
||||||
id: ClothingOuterWinterInspector
|
id: ClothingOuterWinterInspector
|
||||||
|
|||||||
@@ -1,55 +1,74 @@
|
|||||||
- type: storeCategory
|
- type: storeCategory
|
||||||
|
id: MeatyOreNew
|
||||||
|
name: meatyore-store-category-new
|
||||||
|
priority: 0
|
||||||
|
|
||||||
|
- type: storeCategory
|
||||||
id: MeatyOreHats
|
id: MeatyOreHats
|
||||||
name: meatyore-store-category-hats
|
name: meatyore-store-category-hats
|
||||||
|
priority: 1
|
||||||
|
|
||||||
- type: storeCategory
|
- type: storeCategory
|
||||||
id: MeatyOreMasks
|
id: MeatyOreMasks
|
||||||
name: meatyore-store-category-masks
|
name: meatyore-store-category-masks
|
||||||
|
priority: 2
|
||||||
|
|
||||||
- type: storeCategory
|
- type: storeCategory
|
||||||
id: MeatyOreBoots
|
id: MeatyOreBoots
|
||||||
name: meatyore-store-category-boots
|
name: meatyore-store-category-boots
|
||||||
|
priority: 3
|
||||||
|
|
||||||
- type: storeCategory
|
- type: storeCategory
|
||||||
id: MeatyOreGlasses
|
id: MeatyOreGlasses
|
||||||
name: meatyore-store-category-glasses
|
name: meatyore-store-category-glasses
|
||||||
|
priority: 4
|
||||||
|
|
||||||
- type: storeCategory
|
- type: storeCategory
|
||||||
id: MeatyOrePersonal
|
id: MeatyOrePersonal
|
||||||
name: meatyore-store-category-personal
|
name: meatyore-store-category-personal
|
||||||
|
priority: 5
|
||||||
|
|
||||||
- type: storeCategory
|
- type: storeCategory
|
||||||
id: MeatyOreSuits
|
id: MeatyOreSuits
|
||||||
name: meatyore-store-category-suits
|
name: meatyore-store-category-suits
|
||||||
|
priority: 6
|
||||||
|
|
||||||
- type: storeCategory
|
- type: storeCategory
|
||||||
id: MeatyOreUniforms
|
id: MeatyOreUniforms
|
||||||
name: meatyore-store-category-uniforms
|
name: meatyore-store-category-uniforms
|
||||||
|
priority: 7
|
||||||
|
|
||||||
- type: storeCategory
|
- type: storeCategory
|
||||||
id: MeatyOreGloves
|
id: MeatyOreGloves
|
||||||
name: meatyore-store-category-gloves
|
name: meatyore-store-category-gloves
|
||||||
|
priority: 8
|
||||||
|
|
||||||
- type: storeCategory
|
- type: storeCategory
|
||||||
id: MeatyOreCloaks
|
id: MeatyOreCloaks
|
||||||
name: meatyore-store-category-cloaks
|
name: meatyore-store-category-cloaks
|
||||||
|
priority: 9
|
||||||
|
|
||||||
|
- type: storeCategory
|
||||||
|
id: MeatyOreCapes
|
||||||
|
name: meatyore-store-category-capes
|
||||||
|
priority: 10
|
||||||
|
|
||||||
- type: storeCategory
|
- type: storeCategory
|
||||||
id: MeatyOreToys
|
id: MeatyOreToys
|
||||||
name: meatyore-store-category-toys
|
name: meatyore-store-category-toys
|
||||||
|
priority: 11
|
||||||
|
|
||||||
- type: storeCategory
|
- type: storeCategory
|
||||||
id: MeatyOreSpecial
|
id: MeatyOreMisc
|
||||||
name: meatyore-store-category-special
|
name: meatyore-store-category-misc
|
||||||
|
priority: 12
|
||||||
- type: storeCategory
|
|
||||||
id: MeatyOreNew
|
|
||||||
name: НОВОЕ!!!
|
|
||||||
|
|
||||||
- type: storeCategory
|
- type: storeCategory
|
||||||
id: MeatyOreAntag
|
id: MeatyOreAntag
|
||||||
name: meatyore-store-category-antag
|
name: meatyore-store-category-antag
|
||||||
|
priority: 13
|
||||||
|
|
||||||
- type: storeCategory
|
- type: storeCategory
|
||||||
id: DjJukeboxCategory
|
id: DjJukeboxCategory
|
||||||
name: dj-jukebox-store-category
|
name: dj-jukebox-store-category
|
||||||
|
priority: 14
|
||||||
|
|||||||
@@ -12,7 +12,8 @@
|
|||||||
- MeatyOreGloves
|
- MeatyOreGloves
|
||||||
- MeatyOreCloaks
|
- MeatyOreCloaks
|
||||||
- MeatyOreToys
|
- MeatyOreToys
|
||||||
- MeatyOreSpecial
|
- MeatyOreMisc
|
||||||
|
- MeatyOreCapes
|
||||||
- MeatyOreNew
|
- MeatyOreNew
|
||||||
- MeatyOreAntag
|
- MeatyOreAntag
|
||||||
- DjJukeboxCategory
|
- DjJukeboxCategory
|
||||||
|
|||||||
@@ -36,34 +36,12 @@
|
|||||||
- type: entity
|
- type: entity
|
||||||
parent: ClothingOuterStorageBase
|
parent: ClothingOuterStorageBase
|
||||||
id: ClothingOuterHoodieStreamer
|
id: ClothingOuterHoodieStreamer
|
||||||
name: стримерский худи
|
name: стримерское худи
|
||||||
description: Тёплый и уютный, с карманами и капюшоном.
|
description: Тёплое и уютное, с карманами и капюшоном.
|
||||||
components:
|
components:
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
sprite: White/Clothing/OuterClothing/Misc/cute-hoodie.rsi
|
sprite: White/Clothing/OuterClothing/Misc/cute-hoodie.rsi
|
||||||
- type: Clothing
|
- type: Clothing
|
||||||
sprite: White/Clothing/OuterClothing/Misc/cute-hoodie.rsi
|
sprite: White/Clothing/OuterClothing/Misc/cute-hoodie.rsi
|
||||||
- type: TemperatureProtection
|
|
||||||
coefficient: 0.1
|
|
||||||
- type: Item
|
|
||||||
size: Normal
|
|
||||||
- type: Armor
|
|
||||||
modifiers:
|
|
||||||
coefficients:
|
|
||||||
Heat: 0.95
|
|
||||||
- type: Food
|
|
||||||
requiresSpecialDigestion: true
|
|
||||||
- type: SolutionContainerManager
|
|
||||||
solutions:
|
|
||||||
food:
|
|
||||||
maxVol: 30
|
|
||||||
reagents:
|
|
||||||
- ReagentId: Fiber
|
|
||||||
Quantity: 30
|
|
||||||
- type: Tag
|
|
||||||
tags:
|
|
||||||
- ClothMade
|
|
||||||
- type: StaticPrice
|
|
||||||
price: 70
|
|
||||||
- type: ToggleableClothing
|
- type: ToggleableClothing
|
||||||
clothingPrototype: ClothingHeadHatHoodHoodieStreamer
|
clothingPrototype: ClothingHeadHatHoodHoodieStreamer
|
||||||
|
|||||||
@@ -76,7 +76,7 @@
|
|||||||
parent: ClothingUniformBase
|
parent: ClothingUniformBase
|
||||||
id: ClothingUniformJumpsuitWhiteTShirt
|
id: ClothingUniformJumpsuitWhiteTShirt
|
||||||
name: белая футболка с джинсами
|
name: белая футболка с джинсами
|
||||||
description: Модно. Милимастично. Стильно. Молодёжно.
|
description: Модно. Минималистично. Стильно. Молодёжно.
|
||||||
components:
|
components:
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
sprite: White/Clothing/Uniforms/Jumpsuit/white-t-shirt.rsi
|
sprite: White/Clothing/Uniforms/Jumpsuit/white-t-shirt.rsi
|
||||||
|
|||||||
@@ -526,6 +526,15 @@
|
|||||||
ckey: Feda_Plevajecki
|
ckey: Feda_Plevajecki
|
||||||
sprite: White/Ghosts/Feda_Plevajecki-ghost.rsi
|
sprite: White/Ghosts/Feda_Plevajecki-ghost.rsi
|
||||||
alpha: 0.9
|
alpha: 0.9
|
||||||
ghostName: Шарки
|
ghostName: Feda_Plevajecki
|
||||||
ghostDescription: Буль-буль.
|
ghostDescription: Не злите добрых людей.
|
||||||
size: 0.7, 0.7
|
size: 0.5, 0.5
|
||||||
|
|
||||||
|
#Kemuri
|
||||||
|
- type: customGhost
|
||||||
|
id: Kemuri-ghost
|
||||||
|
ckey: Kemuri
|
||||||
|
sprite: White/Ghosts/kemuri-ghost.rsi
|
||||||
|
alpha: 0.9
|
||||||
|
ghostName: Loughshinny
|
||||||
|
ghostDescription: Искра, готовая разгореться в бурю.
|
||||||
|
|||||||
161
Resources/Prototypes/_White/Meaty/meaty.yml
Normal file
161
Resources/Prototypes/_White/Meaty/meaty.yml
Normal file
@@ -0,0 +1,161 @@
|
|||||||
|
- type: entity
|
||||||
|
parent: ClothingEyesBase
|
||||||
|
id: ClothingEyesGlassesMercenaryMeaty
|
||||||
|
name: mercenary glasses
|
||||||
|
description: Glasses made for combat.
|
||||||
|
suffix: Meaty
|
||||||
|
components:
|
||||||
|
- type: Sprite
|
||||||
|
sprite: Clothing/Eyes/Glasses/mercglasses.rsi
|
||||||
|
- type: Clothing
|
||||||
|
sprite: Clothing/Eyes/Glasses/mercglasses.rsi
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: ClothingEyesBase
|
||||||
|
id: ClothingEyesGlassesSunglassesMeaty
|
||||||
|
name: sun glasses
|
||||||
|
description: Useful both for security and cargonia.
|
||||||
|
suffix: Meaty
|
||||||
|
components:
|
||||||
|
- type: Sprite
|
||||||
|
sprite: Clothing/Eyes/Glasses/sunglasses.rsi
|
||||||
|
- type: Clothing
|
||||||
|
sprite: Clothing/Eyes/Glasses/sunglasses.rsi
|
||||||
|
- type: Tag
|
||||||
|
tags:
|
||||||
|
- HamsterWearable
|
||||||
|
- WhitelistChameleon
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: ClothingOuterStorageBase
|
||||||
|
id: ClothingOuterCoatSyndieCapMeaty
|
||||||
|
name: syndicate's coat
|
||||||
|
description: The syndicate's coat is made of durable fabric, with gilded patterns.
|
||||||
|
suffix: Meaty
|
||||||
|
components:
|
||||||
|
- type: Sprite
|
||||||
|
sprite: Clothing/OuterClothing/Coats/syndicate/coatsyndiecap.rsi
|
||||||
|
- type: Clothing
|
||||||
|
sprite: Clothing/OuterClothing/Coats/syndicate/coatsyndiecap.rsi
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: ClothingOuterStorageBase
|
||||||
|
id: ClothingOuterCoatSyndieCapArmoredMeaty
|
||||||
|
name: syndicate's armored coat
|
||||||
|
description: The syndicate's armored coat is made of durable fabric, with gilded patterns.
|
||||||
|
suffix: Meaty
|
||||||
|
components:
|
||||||
|
- type: Sprite
|
||||||
|
sprite: Clothing/OuterClothing/Coats/syndicate/coatsyndiecaparmored.rsi
|
||||||
|
- type: Clothing
|
||||||
|
sprite: Clothing/OuterClothing/Coats/syndicate/coatsyndiecaparmored.rsi
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: ClothingOuterStorageBase
|
||||||
|
id: ClothingOuterWinterSyndieCapMeaty
|
||||||
|
name: syndicate's winter coat
|
||||||
|
description: "The syndicate's winter coat is made of durable fabric, with gilded patterns, and coarse wool."
|
||||||
|
suffix: Meaty
|
||||||
|
components:
|
||||||
|
- type: Sprite
|
||||||
|
sprite: Clothing/OuterClothing/WinterCoats/syndicate/coatsyndiecap.rsi
|
||||||
|
- type: Clothing
|
||||||
|
sprite: Clothing/OuterClothing/WinterCoats/syndicate/coatsyndiecap.rsi
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: ClothingOuterStorageBase
|
||||||
|
id: ClothingOuterWinterSyndieCapArmoredMeaty
|
||||||
|
name: syndicate's armored winter coat
|
||||||
|
description: "The syndicate's armored winter coat is made of durable fabric, with gilded patterns, and coarse wool."
|
||||||
|
suffix: Meaty
|
||||||
|
components:
|
||||||
|
- type: Sprite
|
||||||
|
sprite: Clothing/OuterClothing/WinterCoats/syndicate/coatsyndiecaparmored.rsi
|
||||||
|
- type: Clothing
|
||||||
|
sprite: Clothing/OuterClothing/WinterCoats/syndicate/coatsyndiecaparmored.rsi
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: ClothingOuterStorageBase
|
||||||
|
id: ClothingOuterWinterSyndieMeaty
|
||||||
|
name: syndicate's winter coat
|
||||||
|
description: Insulated winter coat, looks like a merch from "Syndieland"
|
||||||
|
suffix: Meaty
|
||||||
|
components:
|
||||||
|
- type: Sprite
|
||||||
|
sprite: Clothing/OuterClothing/WinterCoats/syndicate/wintercoatsyndie.rsi
|
||||||
|
- type: Clothing
|
||||||
|
sprite: Clothing/OuterClothing/WinterCoats/syndicate/wintercoatsyndie.rsi
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: ClothingEyesBase
|
||||||
|
id: ClothingEyesHudBeerMeaty
|
||||||
|
name: beer goggles
|
||||||
|
description: A pair of sunHud outfitted with apparatus to scan reagents, as well as providing an innate understanding of liquid viscosity while in motion.
|
||||||
|
suffix: Meaty
|
||||||
|
components:
|
||||||
|
- type: Sprite
|
||||||
|
sprite: Clothing/Eyes/Hud/beergoggles.rsi
|
||||||
|
- type: Clothing
|
||||||
|
sprite: Clothing/Eyes/Hud/beergoggles.rsi
|
||||||
|
- type: Tag
|
||||||
|
tags:
|
||||||
|
- WhitelistChameleon
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: ClothingEyesBase
|
||||||
|
id: ClothingEyesGlassesMaidMeaty
|
||||||
|
name: maid's sunglasses
|
||||||
|
description: Maid's sunglasses. Clean and cute.
|
||||||
|
suffix: Meaty
|
||||||
|
components:
|
||||||
|
- type: Sprite
|
||||||
|
sprite: White/Clothing/Eyes/Glasses/maidglasses.rsi
|
||||||
|
- type: Clothing
|
||||||
|
sprite: White/Clothing/Eyes/Glasses/maidglasses.rsi
|
||||||
|
- type: Tag
|
||||||
|
tags:
|
||||||
|
- WhitelistChameleon
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: ClothingEyesBase
|
||||||
|
id: ClothingEyesGlassesGarMeaty
|
||||||
|
name: gar glasses
|
||||||
|
description: Go beyond impossible and kick reason to the curb!
|
||||||
|
suffix: Meaty
|
||||||
|
components:
|
||||||
|
- type: Sprite
|
||||||
|
sprite: Clothing/Eyes/Glasses/gar.rsi
|
||||||
|
- type: Clothing
|
||||||
|
sprite: Clothing/Eyes/Glasses/gar.rsi
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: ClothingEyesBase
|
||||||
|
id: ClothingEyesGlassesGarOrangeMeaty
|
||||||
|
name: orange gar glasses
|
||||||
|
description: Just who the hell do you think I am?!
|
||||||
|
suffix: Meaty
|
||||||
|
components:
|
||||||
|
- type: Sprite
|
||||||
|
sprite: Clothing/Eyes/Glasses/gar.rsi
|
||||||
|
state: icon-alt
|
||||||
|
- type: Clothing
|
||||||
|
sprite: Clothing/Eyes/Glasses/gar.rsi
|
||||||
|
equippedPrefix: alt
|
||||||
|
- type: Item
|
||||||
|
heldPrefix: alt
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: ClothingEyesBase
|
||||||
|
id: ClothingEyesGlassesGarGigaMeaty
|
||||||
|
name: giga gar glasses
|
||||||
|
description: We evolve past the person we were a minute before. Little by little we advance with each turn. That's how a drill works!
|
||||||
|
suffix: Meaty
|
||||||
|
components:
|
||||||
|
- type: Sprite
|
||||||
|
sprite: Clothing/Eyes/Glasses/gar.rsi
|
||||||
|
state: icon-super
|
||||||
|
- type: Clothing
|
||||||
|
sprite: Clothing/Eyes/Glasses/gar.rsi
|
||||||
|
equippedPrefix: super
|
||||||
|
- type: Item
|
||||||
|
heldPrefix: super
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 714 B After Width: | Height: | Size: 2.1 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 8.3 KiB |
@@ -1,7 +1,5 @@
|
|||||||
{
|
{
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"license": "CC-BY-SA-3.0",
|
|
||||||
"copyright": "Made by Dosharus",
|
|
||||||
"size": {
|
"size": {
|
||||||
"x": 64,
|
"x": 64,
|
||||||
"y": 64
|
"y": 64
|
||||||
|
|||||||
BIN
Resources/Textures/White/Ghosts/kemuri-ghost.rsi/animated.png
Normal file
BIN
Resources/Textures/White/Ghosts/kemuri-ghost.rsi/animated.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 273 KiB |
80
Resources/Textures/White/Ghosts/kemuri-ghost.rsi/meta.json
Normal file
80
Resources/Textures/White/Ghosts/kemuri-ghost.rsi/meta.json
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"copyright": "Provided by Kemuri",
|
||||||
|
"size": {
|
||||||
|
"x": 96,
|
||||||
|
"y": 96
|
||||||
|
},
|
||||||
|
"states": [
|
||||||
|
{
|
||||||
|
"name": "animated",
|
||||||
|
"directions": 4,
|
||||||
|
"delays": [
|
||||||
|
[
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user