This commit is contained in:
BIGZi0348
2025-01-07 13:12:21 +03:00
parent 08af896554
commit 1d89533709
2 changed files with 30 additions and 9 deletions

View File

@@ -301,22 +301,41 @@ public sealed class RespiratorSystem : EntitySystem
if (targetState.CurrentState != MobState.Critical)
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) &&
EntityManager.TryGetComponent<IngestionBlockerComponent>(maskUidUser, out var blockerUser) &&
blockerUser.Enabled)
EntityManager.TryGetComponent<IngestionBlockerComponent>(maskUidUser, out var blockerMaskUser) &&
blockerMaskUser.Enabled)
{
_popupSystem.PopupEntity(Loc.GetString("cpr-mask-block-user"), user, user);
return false;
}
if (!_inventorySystem.TryGetSlotEntity(target, "mask", out var maskUidTarget) ||
!EntityManager.TryGetComponent<IngestionBlockerComponent>(maskUidTarget, out var blockerTarget) ||
!blockerTarget.Enabled)
return true;
if (_inventorySystem.TryGetSlotEntity(target, "mask", out var maskUidTarget) &&
EntityManager.TryGetComponent<IngestionBlockerComponent>(maskUidTarget, out var blockerMaskTarget) &&
blockerMaskTarget.Enabled)
{
_popupSystem.PopupEntity(
Loc.GetString("cpr-mask-block-target", ("target", Identity.Entity(target, EntityManager))), target, user);
return false;
}
_popupSystem.PopupEntity(
Loc.GetString("cpr-mask-block-target", ("target", Identity.Entity(target, EntityManager))), target, user);
return false;
return true;
}
private void DoCPR(EntityUid target, RespiratorComponent comp, EntityUid user)

View File

@@ -1,4 +1,6 @@
cpr-too-late = { CAPITALIZE($target) } мертво
cpr-helmet-block-user = Не могу сделать СЛР в шлеме
cpr-helmet-block-target = Сначала нужно снять шлем с { $target }
cpr-mask-block-user = Не могу сделать СЛР в маске
cpr-mask-block-target = Сначала нужно снять маску с { $target }
cpr-failed = Не удалось произвести СЛР