using Content.Shared.Damage; using Robust.Shared.Map; using Robust.Shared.Serialization; namespace Content.Shared.Weapons.Melee.Events { [Serializable, NetSerializable] public abstract class AttackEvent : EntityEventArgs { /// /// Coordinates being attacked. /// public readonly NetCoordinates Coordinates; protected AttackEvent(NetCoordinates coordinates) { Coordinates = coordinates; } } /// /// Event raised on entities that have been attacked. /// public sealed class AttackedEvent : EntityEventArgs { /// /// Entity used to attack, for broadcast purposes. /// public EntityUid Used { get; } /// /// Entity that triggered the attack. /// public EntityUid User { get; } /// /// The original location that was clicked by the user. /// public EntityCoordinates ClickLocation { get; } public DamageSpecifier BonusDamage = new(); public AttackedEvent(EntityUid used, EntityUid user, EntityCoordinates clickLocation) { Used = used; User = user; ClickLocation = clickLocation; } } }