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)); } } }