This commit is contained in:
BIGZi0348
2025-01-07 22:14:55 +03:00
committed by GitHub
2 changed files with 30 additions and 9 deletions

View File

@@ -301,24 +301,43 @@ 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( _popupSystem.PopupEntity(
Loc.GetString("cpr-mask-block-target", ("target", Identity.Entity(target, EntityManager))), target, user); Loc.GetString("cpr-mask-block-target", ("target", Identity.Entity(target, EntityManager))), target, user);
return false; return false;
} }
return true;
}
private void DoCPR(EntityUid target, RespiratorComponent comp, EntityUid user) private void DoCPR(EntityUid target, RespiratorComponent comp, EntityUid user)
{ {
var doAfterEventArgs = new DoAfterArgs(EntityManager, user, 1, new CPREndedEvent(), target, target: target) var doAfterEventArgs = new DoAfterArgs(EntityManager, user, 1, new CPREndedEvent(), target, target: target)

View File

@@ -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 = Не удалось произвести СЛР