СЛР (#876)
This commit is contained in:
@@ -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,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 = Не удалось произвести СЛР
|
||||||
|
|||||||
Reference in New Issue
Block a user