Не должно ебануть (#170)

* fix borg (#719)

* Automatic changelog update

* Переводы снаряжения и прочей мелочи в стартовом меню (#720)

* Сумки, мешки и прочее

* Перевод снаряжения

* перевод черт персонажа

* Добавлено ничего

* Automatic changelog update

* Фикс отображения потери мастера для импланта подчинения (#721)

* фикс отображения

* brain damage is real

* я блять запустил райдер ради рефактора одного ифа

* а лучше даже так

* Automatic changelog update

* add coderabbitai config (#722)

* fix (#723)

* Шприц теперь является оружием массового поражения (#724)

* Automatic changelog update

* Пиздец (#725)

Я на это потратил 2 недели

* Automatic changelog update

* Honk FM (#136) (#726)

* Fix Cosmic Temperance и новые песенки в jukebox

* Новая музыка в jucebox x2

Co-authored-by: Vorge7 <vorge228@gmail.com>

* Automatic changelog update

* Флаф (fluff) мне (big_zi_348) (#727)

* Заработал

* brain damage

* fuck (#729)

* Automatic changelog update

* FUCKERS (#732)

* Удаление ненужных суффиксов (#731)

* Перевод захардкукоженной строки (#728)

* Пластырь поможет

* очапятка

* Перевод ревенанта

* Карповый перекат

* Create shakeable-component.ftl

* Криогеника

* Хранилища скафандров

* Update autotranslate-14.ftl

* Update Cyborgs.xml

* Комоды

* Кредиты

* Удалил дубликат

* Информация

* Пластырь миму и клоуну

* Переводы всего

* Перевод аплинка

* Удалил ненужные суффиксы

* Revert "Удалил ненужные суффиксы"

This reverts commit d82f05f30c37ec2c11e5736b91239fe9dd1a4d17.

* Удаление ненужных суффиксов

* Перевод реагентовых слизней

* Перевод аномалий

* Перевод маяков

* Перевод различной мелочи

* Automatic changelog update

* Переводы и правки Гайдов (#730)

* Automatic changelog update

* aaaaa (#733)

* Правка локализации (#737)

* Update ThirstSystem.cs (#736)

* AccessConfiguratorForBorgs (#735)

* Automatic changelog update

* Починил бесконечную сварку (#734)

* Automatic changelog update

* ShowManifestFeature (#738)

* Automatic changelog update

* I LOVE OPENSOURCE

* Изменение размеров милишек (#739)

* Фикс размеров

* Заготовку биты тоже

* Правка

* Automatic changelog update

* Время после взрыва нюки (#740)

* More Fun

* Автоформатирование

* Подкрутка

* Automatic changelog update

* Скальпель в армейские ботинки (#741)

* Automatic changelog update

* DoHeavyAttack stamina check (#742)

* Automatic changelog update

* aaaaaaaaaaaaaaaaaaaaaaaaaaaaa (#743)

* fix retarded code (#744)

* Automatic changelog update

* Локализация (#746)

* Правка мелочей

* Имя клоуну

* Перевод оповещений для РНД

* перевод занавесок

* перевод столов

* Automatic changelog update

* Перевод и обновление кода гипоспрея для боргов (#745)

* Я только хотел перевести...

* refactor

* ещё перевод

* Revert "refactor"

This reverts commit 355c2724c4ed9cd1357661e3ba889a88bdf17db7.

* инверсия условия для проверки наличия прототипа

* Automatic changelog update

* Больше вещей в пояса охраны (#748)

* Подкрутки и докрутки (#749)

* Automatic changelog update

* Добавил отображение защиты от горения и подправил описание защиты от взрывов (#747)

* Добавил отображение защиты от горения

* Update Content.Shared/Clothing/EntitySystems/FireProtectionSystem.cs

Co-authored-by: ThereDrD <88589686+ThereDrD0@users.noreply.github.com>

* Update Resources/Locale/ru-RU/_white/info/fire-protection.ftl

Co-authored-by: ThereDrD <88589686+ThereDrD0@users.noreply.github.com>

* Правки

* негативный ноль с плавающей точкой

---------

Co-authored-by: ThereDrD <88589686+ThereDrD0@users.noreply.github.com>

* Automatic changelog update

* Фикс текстурок внешних шлюзов (#751)

* Микромелочь

* Ещё одна мелочь

* Починка прозрачности

* Automatic changelog update

* the fuck (#752)

* the fuck

* more logs

* avoooo (#753)

* nyaUpdate (#754)

* Merge pull request #756

* nya v1.2

* ahhhh ** всех закопает (#758)

* Ребаланс РНД (#750)

* Третий тир больше нас не остановит

* More less

* Ребаланс

* правочки подправочки

* СКОРАЯ!!! ПОМОГИТЕ!!!

* Automatic changelog update

* Конфета или жизнь (#757)

* Конфета или жизнь

* gremlins invasion

* Я ДОБАВИЛ БОЛЬШЕ МУСОРА НА СТАНЦИЮ!!!

* Переводы (много) (#755)

* Перевод технологий РНД

* Перевод действий поглаживающего характера

* Целая куча мелочей

* Ещё больше мелочей

* Слишком много мелочей

* маленькая мелочь

* unshit some ftl shit

* Automatic changelog update

* [Tweak] Random updates (#760)

* Security random updates

* Engineering random updates

* ERT random updates

* Really random

* Important random update

* Automatic changelog update

* Мелочёчки (#761)

* Automatic changelog update

* optimized network stack (#763)

* [Add] Pouches (#762)

* Add: Pouches base and sprites

* Add: Micro-resprite, pouches in secdrobe

* Minus suffix

* Automatic changelog update

* aaaaa (#765)

* Я как всегда кучу хуйни в один пакет сую (#766)

* Automatic changelog update

* а (#767)

* Automatic changelog update

* fix (#768)

* optimizaaaaaations (#769)

* Переводы (#770)

* Мелочёчки

* А когда ты будешь делать что-то полезное, кроме переводов?

* Я удалил НаноТрейзен

* Automatic changelog update

* fixed dumb shit that nobody cares (#772)

* Automatic changelog update

* Фикс взрывной ручки (#771)

* Automatic changelog update

* угу (#775)

* fix yaica (#773)

* Automatic changelog update

* Revert "fix yaica (#773)" (#776)

This reverts commit 9739d41607.

* fix retard (#777)

* fuck (#780)

* ВНИМАНИЕ!!! ОБНАРУЖЕНЫ УЛИТКИ!!! (#774)

* Automatic changelog update

* Локализация + ЕБУЧИЙ ПИКСЕЛЬ (#778)

* Перевод №1

* Перевод №2

* Пиксель

* сейфы

* сканер аномалий

* Перевод пИИ

* Перевод №3

* Перевод сканера здоровья

* Дионы

* Перевод экспедиций

* Automatic changelog update

* Фиксики работают сверхурочно (#781)

* Automatic changelog update

* Это заняло больше времени, чем я думал (#782)

* Automatic changelog update

---------

Co-authored-by: Jabak <163307958+Jabaks@users.noreply.github.com>
Co-authored-by: RavmorganButOnCocaine <valtos@nextmail.ru>
Co-authored-by: ThereDrD <88589686+ThereDrD0@users.noreply.github.com>
Co-authored-by: Vorge7 <vorge228@gmail.com>
Co-authored-by: Valtos <valtos@spaces.ru>
Co-authored-by: haiwwkes <49613070+rhailrake@users.noreply.github.com>
Co-authored-by: keslik <114428094+keslik1313@users.noreply.github.com>
This commit is contained in:
BIGZi0348
2024-11-12 20:33:05 +03:00
committed by GitHub
parent eadcc227d5
commit aabdcec60c
70 changed files with 1097 additions and 186 deletions

View File

@@ -6,7 +6,7 @@ using Robust.Shared.Prototypes;
namespace Content.Client.Overlays;
public sealed class ShowSyndicateIconsSystem : EquipmentHudSystem<ShowSyndicateIconsComponent>
public sealed class ShowAntagonistIconsSystem : EquipmentHudSystem<ShowAntagonistIconsComponent>
{
[Dependency] private readonly IPrototypeManager _prototype = default!;

View File

@@ -1,10 +1,8 @@
using System.IO.Compression;
using Content.Client.Administration.Managers;
using Content.Client.Launcher;
using Content.Client.MainMenu;
using Content.Client.Replay.Spectator;
using Content.Client.Replay.UI.Loading;
using Content.Client.Stylesheets;
using Content.Client.UserInterface.Systems.Chat;
using Content.Shared.Chat;
using Content.Shared.Effects;
@@ -26,8 +24,6 @@ using Robust.Client.Replays.Playback;
using Robust.Client.State;
using Robust.Client.Timing;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.CustomControls;
using Robust.Shared;
using Robust.Shared.Configuration;
using Robust.Shared.ContentPack;
@@ -60,7 +56,7 @@ public sealed class ContentReplayPlaybackManager
public bool IsScreenshotMode = false;
private bool _initialized;
/// <summary>
/// Most recently loaded file, for re-attempting the load with error tolerance.
/// Required because the zip reader auto-disposes and I'm too lazy to change it so that
@@ -96,32 +92,18 @@ public sealed class ContentReplayPlaybackManager
return;
}
ReturnToDefaultState();
if (_client.RunLevel == ClientRunLevel.SinglePlayerGame)
_client.StopSinglePlayer();
// Show a popup window with the error message
var text = Loc.GetString("replay-loading-failed", ("reason", exception));
var box = new BoxContainer
{
Orientation = BoxContainer.LayoutOrientation.Vertical,
Children = {new Label {Text = text}}
};
var popup = new DefaultWindow { Title = "Error!" };
popup.Contents.AddChild(box);
Action? retryAction = null;
Action? cancelAction = null;
// Add button for attempting to re-load the replay while ignoring some errors.
if (!_cfg.GetCVar(CVars.ReplayIgnoreErrors) && LastLoad is {} last)
if (!_cfg.GetCVar(CVars.ReplayIgnoreErrors) && LastLoad is { } last)
{
var button = new Button
{
Text = Loc.GetString("replay-loading-retry"),
StyleClasses = { StyleBase.ButtonCaution }
};
button.OnPressed += _ =>
retryAction = () =>
{
_cfg.SetCVar(CVars.ReplayIgnoreErrors, true);
popup.Dispose();
IReplayFileReader reader = last.Zip == null
? new ReplayFileReaderResources(_resMan, last.Folder)
@@ -129,11 +111,19 @@ public sealed class ContentReplayPlaybackManager
_loadMan.LoadAndStartReplay(reader);
};
box.AddChild(button);
}
popup.OpenCentered();
// If we have an explicit menu to get back to (e.g. replay browser UI), show a cancel button.
if (DefaultState != null)
{
cancelAction = () =>
{
_stateMan.RequestStateChange(DefaultState);
};
}
// Switch to a new game state to present the error and cancel/retry options.
var state = _stateMan.RequestStateChange<ReplayLoadingFailed>();
state.SetData(exception, cancelAction, retryAction);
}
public void ReturnToDefaultState()

View File

@@ -0,0 +1,30 @@
using Content.Client.Stylesheets;
using Robust.Client.State;
using Robust.Client.UserInterface;
using Robust.Shared.Utility;
namespace Content.Client.Replay.UI.Loading;
/// <summary>
/// State used to display an error message if a replay failed to load.
/// </summary>
/// <seealso cref="ReplayLoadingFailedControl"/>
/// <seealso cref="ContentReplayPlaybackManager"/>
public sealed class ReplayLoadingFailed : State
{
[Dependency] private readonly IStylesheetManager _stylesheetManager = default!;
[Dependency] private readonly IUserInterfaceManager _userInterface = default!;
private ReplayLoadingFailedControl? _control;
public void SetData(Exception exception, Action? cancelPressed, Action? retryPressed)
{
DebugTools.Assert(_control != null);
_control.SetData(exception, cancelPressed, retryPressed);
}
protected override void Startup()
{
_control = new ReplayLoadingFailedControl(_stylesheetManager);
_userInterface.StateRoot.AddChild(_control);
}
protected override void Shutdown()
{
_control?.Orphan();
}
}

View File

@@ -0,0 +1,14 @@
<Control xmlns="https://spacestation14.io"
xmlns:pllax="clr-namespace:Content.Client.Parallax">
<pllax:ParallaxControl />
<Control HorizontalAlignment="Center" VerticalAlignment="Center">
<PanelContainer StyleClasses="AngleRect" />
<BoxContainer Orientation="Vertical" SetSize="800 600" Margin="2">
<ScrollContainer Name="what" VerticalExpand="True" HScrollEnabled="False" Margin="0 0 0 2" ReturnMeasure="True">
<RichTextLabel Name="ReasonLabel" VerticalAlignment="Top" />
</ScrollContainer>
<Button Name="RetryButton" StyleClasses="Caution" Text="{Loc 'replay-loading-retry'}" Visible="False" />
<Button Name="CancelButton" Text="{Loc 'replay-loading-cancel'}" Visible="False" />
</BoxContainer>
</Control>
</Control>

View File

@@ -0,0 +1,38 @@
using Content.Client.Stylesheets;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Utility;
namespace Content.Client.Replay.UI.Loading;
[GenerateTypedNameReferences]
public sealed partial class ReplayLoadingFailedControl : Control
{
public ReplayLoadingFailedControl(IStylesheetManager stylesheet)
{
RobustXamlLoader.Load(this);
Stylesheet = stylesheet.SheetSpace;
LayoutContainer.SetAnchorPreset(this, LayoutContainer.LayoutPreset.Wide);
}
public void SetData(Exception exception, Action? cancelPressed, Action? retryPressed)
{
ReasonLabel.SetMessage(
FormattedMessage.FromUnformatted(Loc.GetString("replay-loading-failed", ("reason", exception))));
if (cancelPressed != null)
{
CancelButton.Visible = true;
CancelButton.OnPressed += _ =>
{
cancelPressed();
};
}
if (retryPressed != null)
{
RetryButton.Visible = true;
RetryButton.OnPressed += _ =>
{
retryPressed();
};
}
}
}

View File

@@ -93,12 +93,12 @@ namespace Content.Client._White.Medical.BodyScanner
CurrentThirst.Text = Loc.GetString("body-scanner-console-window-thirst-current-thirst-text",
("amount", $"{state.CurrentThirst:f1}"));
CurrentThirstStatus.Text = Loc.GetString("body-scanner-console-window-thirst-current-thirst-status-text",
("status", Loc.GetString("body-scanner-console-window-hunger-current-hunger-status-" + state.CurrentThirstThreshold)));
("status", Loc.GetString("body-scanner-console-window-thirst-current-thirst-status-" + state.CurrentThirstThreshold)));
CurrentHunger.Text = Loc.GetString("body-scanner-console-window-hunger-current-hunger-text",
("amount", $"{state.CurrentHunger:f1}"));
CurrentHungerStatus.Text = Loc.GetString("body-scanner-console-window-hunger-current-hunger-status-text",
("status", Loc.GetString("body-scanner-console-window-thirst-current-thirst-status-" + state.CurrentHungerThreshold)));
("status", Loc.GetString("body-scanner-console-window-hunger-current-hunger-status-" + state.CurrentHungerThreshold)));
BloodSolutionVolume.Text = Loc.GetString("body-scanner-console-window-blood-solutions-volume-group-text",
("amount", $"{state.BloodSolution.Volume.Float():f1}"),
@@ -127,6 +127,9 @@ namespace Content.Client._White.Medical.BodyScanner
});
// Third column.
if (state.DeadThreshold == FixedPoint2.Zero)
state.DeadThreshold = 0.01;
HealthBar.Value = 1 - (state.TotalDamage / state.DeadThreshold).Float();
HealthBar.ForegroundStyleBoxOverride = new StyleBoxFlat()