| 12345678910111213141516171819202122232425 |
- using Content.Server.Damage.Components;
- using Content.Shared.Damage;
- using Robust.Shared.Player;
- using Content.Shared.Weapons.Melee.Events;
- using System.Linq;
- namespace Content.Server.Damage.Systems;
- public sealed class DamageOnHitSystem : EntitySystem
- {
- [Dependency] private readonly DamageableSystem _damageableSystem = default!;
- public override void Initialize()
- {
- base.Initialize();
- SubscribeLocalEvent<DamageOnHitComponent, MeleeHitEvent>(DamageItem);
- }
- // Looks for a hit, then damages the held item an appropriate amount.
- private void DamageItem(EntityUid uid, DamageOnHitComponent component, MeleeHitEvent args)
- {
- if (args.HitEntities.Any()) {
- _damageableSystem.TryChangeDamage(uid, component.Damage, component.IgnoreResistances);
- }
- }
- }
|