Files
crystall-punk-14/Content.Server/_CP14/MeleeWeapon/EntitySystems/CP14MeleeSelfDamageSystem.cs
Gagarinten-Noverdo cb3c6b555a Selfdamage for melee (#85) (#342)
* Selfdamage for melee.

* Update base.yml

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2024-07-22 12:18:08 +03:00

25 lines
738 B
C#

using Content.Server._CP14.MeleeWeapon.Components;
using Content.Shared.Damage;
using Content.Shared.Weapons.Melee.Events;
namespace Content.Server._CP14.MeleeWeapon.EntitySystems;
public sealed class CP14MeleeSelfDamageSystem : EntitySystem
{
[Dependency] private readonly DamageableSystem _damageable = default!;
public override void Initialize()
{
SubscribeLocalEvent<CP14MeleeSelfDamageComponent, MeleeHitEvent>(OnMeleeHit);
}
private void OnMeleeHit(Entity<CP14MeleeSelfDamageComponent> ent, ref MeleeHitEvent args)
{
if (!args.IsHit)
return;
if (args.HitEntities.Count == 0)
return;
_damageable.TryChangeDamage(ent, ent.Comp.DamageToSelf);
}
}