Merge remote-tracking branch 'WD-core/master' into upstream-core
This commit is contained in:
@@ -40,7 +40,7 @@ namespace Content.Client.Wires.UI
|
|||||||
IoCManager.InjectDependencies(this);
|
IoCManager.InjectDependencies(this);
|
||||||
|
|
||||||
Owner = owner;
|
Owner = owner;
|
||||||
var rootContainer = new LayoutContainer {Name = "WireRoot"};
|
var rootContainer = new LayoutContainer { Name = "WireRoot" };
|
||||||
AddChild(rootContainer);
|
AddChild(rootContainer);
|
||||||
|
|
||||||
MouseFilter = MouseFilterMode.Stop;
|
MouseFilter = MouseFilterMode.Stop;
|
||||||
@@ -104,9 +104,9 @@ namespace Content.Client.Wires.UI
|
|||||||
VerticalAlignment = VAlignment.Bottom
|
VerticalAlignment = VAlignment.Bottom
|
||||||
};
|
};
|
||||||
|
|
||||||
wrappingHBox.AddChild(new Control {MinSize = new Vector2(20, 0)});
|
wrappingHBox.AddChild(new Control { MinSize = new Vector2(20, 0) });
|
||||||
wrappingHBox.AddChild(_wiresHBox);
|
wrappingHBox.AddChild(_wiresHBox);
|
||||||
wrappingHBox.AddChild(new Control {MinSize = new Vector2(20, 0)});
|
wrappingHBox.AddChild(new Control { MinSize = new Vector2(20, 0) });
|
||||||
|
|
||||||
bottomWrap.AddChild(bottomPanel);
|
bottomWrap.AddChild(bottomPanel);
|
||||||
|
|
||||||
@@ -201,7 +201,7 @@ namespace Content.Client.Wires.UI
|
|||||||
|
|
||||||
var middle = new PanelContainer
|
var middle = new PanelContainer
|
||||||
{
|
{
|
||||||
PanelOverride = new StyleBoxFlat {BackgroundColor = Color.FromHex("#3C4841")},
|
PanelOverride = new StyleBoxFlat { BackgroundColor = Color.FromHex("#3C4841") },
|
||||||
Children =
|
Children =
|
||||||
{
|
{
|
||||||
new BoxContainer
|
new BoxContainer
|
||||||
@@ -224,13 +224,13 @@ namespace Content.Client.Wires.UI
|
|||||||
_topContainer.AddChild(new PanelContainer
|
_topContainer.AddChild(new PanelContainer
|
||||||
{
|
{
|
||||||
MinSize = new Vector2(0, 2),
|
MinSize = new Vector2(0, 2),
|
||||||
PanelOverride = new StyleBoxFlat {BackgroundColor = Color.FromHex("#525252ff")}
|
PanelOverride = new StyleBoxFlat { BackgroundColor = Color.FromHex("#525252ff") }
|
||||||
});
|
});
|
||||||
_topContainer.AddChild(middle);
|
_topContainer.AddChild(middle);
|
||||||
_topContainer.AddChild(new PanelContainer
|
_topContainer.AddChild(new PanelContainer
|
||||||
{
|
{
|
||||||
MinSize = new Vector2(0, 2),
|
MinSize = new Vector2(0, 2),
|
||||||
PanelOverride = new StyleBoxFlat {BackgroundColor = Color.FromHex("#525252ff")}
|
PanelOverride = new StyleBoxFlat { BackgroundColor = Color.FromHex("#525252ff") }
|
||||||
});
|
});
|
||||||
CloseButton.OnPressed += _ => Close();
|
CloseButton.OnPressed += _ => Close();
|
||||||
SetSize = new Vector2(320, 200);
|
SetSize = new Vector2(320, 200);
|
||||||
@@ -583,28 +583,21 @@ namespace Content.Client.Wires.UI
|
|||||||
VerticalAlignment = VAlignment.Center,
|
VerticalAlignment = VAlignment.Center,
|
||||||
});
|
});
|
||||||
hBox.AddChild(lightContainer);
|
hBox.AddChild(lightContainer);
|
||||||
hBox.AddChild(new Control {MinSize = new Vector2(6, 0)});
|
hBox.AddChild(new Control { MinSize = new Vector2(6, 0) });
|
||||||
AddChild(hBox);
|
AddChild(hBox);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private sealed class HelpPopup : Popup
|
private sealed class HelpPopup : Popup
|
||||||
{
|
{
|
||||||
private const string Text = "Click on the gold contacts with a multitool in hand to pulse their wire.\n" +
|
|
||||||
"Click on the wires with a pair of wirecutters in hand to cut/mend them.\n\n" +
|
|
||||||
"The lights at the top show the state of the machine, " +
|
|
||||||
"messing with wires will probably do stuff to them.\n" +
|
|
||||||
"Wire layouts are different each round, " +
|
|
||||||
"but consistent between machines of the same type.";
|
|
||||||
|
|
||||||
public HelpPopup()
|
public HelpPopup()
|
||||||
{
|
{
|
||||||
var label = new RichTextLabel();
|
var label = new RichTextLabel();
|
||||||
label.SetMessage(Text);
|
label.SetMessage(Loc.GetString("wires-menu-help-popup"));
|
||||||
AddChild(new PanelContainer
|
AddChild(new PanelContainer
|
||||||
{
|
{
|
||||||
StyleClasses = {ExamineSystem.StyleClassEntityTooltip},
|
StyleClasses = { ExamineSystem.StyleClassEntityTooltip },
|
||||||
Children = {label}
|
Children = { label }
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -301,22 +301,41 @@ public sealed class RespiratorSystem : EntitySystem
|
|||||||
if (targetState.CurrentState != MobState.Critical)
|
if (targetState.CurrentState != MobState.Critical)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
if (_inventorySystem.TryGetSlotEntity(user, "head", out var helmetUidUser) &&
|
||||||
|
EntityManager.TryGetComponent<IngestionBlockerComponent>(helmetUidUser, out var blockerHelmetUser) &&
|
||||||
|
blockerHelmetUser.Enabled)
|
||||||
|
{
|
||||||
|
_popupSystem.PopupEntity(Loc.GetString("cpr-helmet-block-user"), user, user);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_inventorySystem.TryGetSlotEntity(target, "head", out var helmetUidTarget) &&
|
||||||
|
EntityManager.TryGetComponent<IngestionBlockerComponent>(helmetUidTarget, out var blockerHelmetTarget) &&
|
||||||
|
blockerHelmetTarget.Enabled)
|
||||||
|
{
|
||||||
|
_popupSystem.PopupEntity(
|
||||||
|
Loc.GetString("cpr-helmet-block-target", ("target", Identity.Entity(target, EntityManager))), target, user);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (_inventorySystem.TryGetSlotEntity(user, "mask", out var maskUidUser) &&
|
if (_inventorySystem.TryGetSlotEntity(user, "mask", out var maskUidUser) &&
|
||||||
EntityManager.TryGetComponent<IngestionBlockerComponent>(maskUidUser, out var blockerUser) &&
|
EntityManager.TryGetComponent<IngestionBlockerComponent>(maskUidUser, out var blockerMaskUser) &&
|
||||||
blockerUser.Enabled)
|
blockerMaskUser.Enabled)
|
||||||
{
|
{
|
||||||
_popupSystem.PopupEntity(Loc.GetString("cpr-mask-block-user"), user, user);
|
_popupSystem.PopupEntity(Loc.GetString("cpr-mask-block-user"), user, user);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!_inventorySystem.TryGetSlotEntity(target, "mask", out var maskUidTarget) ||
|
if (_inventorySystem.TryGetSlotEntity(target, "mask", out var maskUidTarget) &&
|
||||||
!EntityManager.TryGetComponent<IngestionBlockerComponent>(maskUidTarget, out var blockerTarget) ||
|
EntityManager.TryGetComponent<IngestionBlockerComponent>(maskUidTarget, out var blockerMaskTarget) &&
|
||||||
!blockerTarget.Enabled)
|
blockerMaskTarget.Enabled)
|
||||||
return true;
|
{
|
||||||
|
_popupSystem.PopupEntity(
|
||||||
|
Loc.GetString("cpr-mask-block-target", ("target", Identity.Entity(target, EntityManager))), target, user);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
_popupSystem.PopupEntity(
|
return true;
|
||||||
Loc.GetString("cpr-mask-block-target", ("target", Identity.Entity(target, EntityManager))), target, user);
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DoCPR(EntityUid target, RespiratorComponent comp, EntityUid user)
|
private void DoCPR(EntityUid target, RespiratorComponent comp, EntityUid user)
|
||||||
|
|||||||
@@ -1,16 +1,4 @@
|
|||||||
Entries:
|
Entries:
|
||||||
- author: Aviu
|
|
||||||
changes:
|
|
||||||
- message: "\u0422\u0435\u043F\u0435\u0440\u044C \u043C\u043E\u0436\u043D\u043E\
|
|
||||||
\ \u043F\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442\u044C \u0432\u043E\u0434\
|
|
||||||
\u0443 \u0432 \u0441\u0432\u044F\u0442\u0443\u044E \u0432\u043E\u0434\u0443\
|
|
||||||
\ \u0438\u043B\u0438 \u043A\u0440\u043E\u0432\u044C \u0432 \u0432\u0438\u043D\
|
|
||||||
\u043E \u0432 \u043B\u044E\u0431\u043E\u043C \u043A\u043E\u043D\u0442\u0435\u0439\
|
|
||||||
\u043D\u0435\u0440\u0435."
|
|
||||||
type: Fix
|
|
||||||
id: 154
|
|
||||||
time: '2024-02-23T16:06:36.0000000+00:00'
|
|
||||||
url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/105
|
|
||||||
- author: Remuchi
|
- author: Remuchi
|
||||||
changes:
|
changes:
|
||||||
- message: "\u0424\u0438\u043A\u0441 \u0432\u0441\u043A\u0440\u044B\u0442\u0438\u044F\
|
- message: "\u0424\u0438\u043A\u0441 \u0432\u0441\u043A\u0440\u044B\u0442\u0438\u044F\
|
||||||
@@ -8912,3 +8900,14 @@
|
|||||||
id: 653
|
id: 653
|
||||||
time: '2025-01-06T21:03:52.0000000+00:00'
|
time: '2025-01-06T21:03:52.0000000+00:00'
|
||||||
url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/874
|
url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/874
|
||||||
|
- author: BIG_Zi_348
|
||||||
|
changes:
|
||||||
|
- message: "\u0428\u043B\u0435\u043C\u044B \u0442\u0435\u043F\u0435\u0440\u044C\
|
||||||
|
\ \u043C\u043E\u0433\u0443\u0442 \u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\
|
||||||
|
\u0430\u0442\u044C \u0443\u0441\u043B\u043E\u0432\u0438\u044F \u0434\u043B\u044F\
|
||||||
|
\ \u043F\u0440\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u044F \u0421\u041B\u0420\
|
||||||
|
."
|
||||||
|
type: Tweak
|
||||||
|
id: 654
|
||||||
|
time: '2025-01-07T19:14:55.0000000+00:00'
|
||||||
|
url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/876
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
cpr-too-late = { CAPITALIZE($target) } мертво
|
cpr-too-late = { CAPITALIZE($target) } мертво
|
||||||
|
cpr-helmet-block-user = Не могу сделать СЛР в шлеме
|
||||||
|
cpr-helmet-block-target = Сначала нужно снять шлем с { $target }
|
||||||
cpr-mask-block-user = Не могу сделать СЛР в маске
|
cpr-mask-block-user = Не могу сделать СЛР в маске
|
||||||
cpr-mask-block-target = Сначала нужно снять маску с { $target }
|
cpr-mask-block-target = Сначала нужно снять маску с { $target }
|
||||||
cpr-failed = Не удалось произвести СЛР
|
cpr-failed = Не удалось произвести СЛР
|
||||||
|
|||||||
@@ -12,3 +12,9 @@ wires-component-on-examine-panel-closed = [color=lightgray]Техническа
|
|||||||
|
|
||||||
wires-menu-name-label = Провода
|
wires-menu-name-label = Провода
|
||||||
wires-menu-dead-beef-text = DEAD-BEEF
|
wires-menu-dead-beef-text = DEAD-BEEF
|
||||||
|
wires-menu-help-popup =
|
||||||
|
Кликайте на позолоченные контакты рукой с мультитулом чтобы подавать импульсы на соответствующие провода.
|
||||||
|
Кликайте на провода рукой с кусачками чтобы перерезать или соединять их.
|
||||||
|
|
||||||
|
Индикаторы в верхней части показывают состояние устройства, и вмешательство в провода, наверняка, что-то с устройством сделает.
|
||||||
|
Расположение проводов в каждом раунде разное, но при этом одинаковое для устройств одного типа.
|
||||||
|
|||||||
@@ -528,3 +528,4 @@
|
|||||||
alpha: 0.9
|
alpha: 0.9
|
||||||
ghostName: Шарки
|
ghostName: Шарки
|
||||||
ghostDescription: Буль-буль.
|
ghostDescription: Буль-буль.
|
||||||
|
size: 0.7, 0.7
|
||||||
|
|||||||
Reference in New Issue
Block a user