using Content.Shared.Weapons.Melee;
namespace Content.Shared.Interaction.Events
{
///
/// Raised Directed at a user to check whether they are allowed to attack a target.
///
///
/// Combat will also check the general interaction blockers, so this event should only be used for combat-specific
/// action blocking.
///
public sealed class AttackAttemptEvent : CancellableEntityEventArgs
{
public EntityUid Uid { get; }
public EntityUid? Target { get; }
public Entity? Weapon { get; }
///
/// If this attempt is a disarm as opposed to an actual attack, for things that care about the difference.
///
public bool Disarm { get; }
public AttackAttemptEvent(EntityUid uid, EntityUid? target = null, Entity? weapon = null, bool disarm = false)
{
Uid = uid;
Target = target;
Weapon = weapon;
Disarm = disarm;
}
}
///
/// Raised directed at an entity to check if they can attack while inside of a container.
///
public sealed class CanAttackFromContainerEvent : EntityEventArgs
{
public EntityUid Uid;
public EntityUid? Target;
public bool CanAttack = false;
public CanAttackFromContainerEvent(EntityUid uid, EntityUid? target = null)
{
Uid = uid;
Target = target;
}
}
}