private void OnDamageChanged(EntityUid uid, BlockingUserComponent component, DamageChangedEvent args)
 {
     if (component.BlockingItem != null)
     {
         RaiseLocalEvent(component.BlockingItem.Value, args);
     }
 }
 private void OnInsertAttempt(EntityUid uid, BlockingUserComponent component, ContainerGettingInsertedAttemptEvent args)
 {
     if (TryComp <BlockingComponent>(component.BlockingItem, out var blockComp) && blockComp.IsBlocking)
     {
         _blockingSystem.StopBlocking(component.BlockingItem.Value, blockComp, uid);
     }
 }
 private void OnParentChanged(EntityUid uid, BlockingUserComponent component, ref EntParentChangedMessage args)
 {
     if (TryComp <BlockingComponent>(component.BlockingItem, out var blockComp) && blockComp.IsBlocking)
     {
         _blockingSystem.StopBlocking(component.BlockingItem.Value, blockComp, uid);
     }
 }
    private void OnAnchorChanged(EntityUid uid, BlockingUserComponent component, ref AnchorStateChangedEvent args)
    {
        if (args.Anchored)
        {
            return;
        }

        if (TryComp <BlockingComponent>(component.BlockingItem, out var blockComp) && blockComp.IsBlocking)
        {
            _blockingSystem.StopBlocking(component.BlockingItem.Value, blockComp, uid);
        }
    }
    private void OnUserDamageModified(EntityUid uid, BlockingUserComponent component, DamageModifyEvent args)
    {
        if (TryComp <BlockingComponent>(component.BlockingItem, out var blockingComponent))
        {
            if (_proto.TryIndex(blockingComponent.PassiveBlockDamageModifer, out DamageModifierSetPrototype? passiveblockModifier) && !blockingComponent.IsBlocking)
            {
                args.Damage = DamageSpecifier.ApplyModifierSet(args.Damage, passiveblockModifier);
            }

            if (_proto.TryIndex(blockingComponent.ActiveBlockDamageModifier, out DamageModifierSetPrototype? activeBlockModifier) && blockingComponent.IsBlocking)
            {
                args.Damage = DamageSpecifier.ApplyModifierSet(args.Damage, activeBlockModifier);
                SoundSystem.Play(blockingComponent.BlockSound.GetSound(), Filter.Pvs(component.Owner, entityManager: EntityManager), component.Owner, AudioHelpers.WithVariation(0.2f));
            }
        }
    }