using Robust.Shared.GameStates;
namespace Content.Shared.Execution;
///
/// Added to entities that can be used to execute another target.
///
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
public sealed partial class ExecutionComponent : Component
{
///
/// How long the execution duration lasts.
///
[DataField, AutoNetworkedField]
public float DoAfterDuration = 5f;
///
/// Arbitrarily chosen number to multiply damage by, used to deal reasonable amounts of damage to a victim of an execution.
/// ///
[DataField, AutoNetworkedField]
public float DamageMultiplier = 9f;
///
/// Shown to the person performing the melee execution (attacker) upon starting a melee execution.
///
[DataField]
public LocId InternalMeleeExecutionMessage = "execution-popup-melee-initial-internal";
///
/// Shown to bystanders and the victim of a melee execution when a melee execution is started.
///
[DataField]
public LocId ExternalMeleeExecutionMessage = "execution-popup-melee-initial-external";
///
/// Shown to the attacker upon completion of a melee execution.
///
[DataField]
public LocId CompleteInternalMeleeExecutionMessage = "execution-popup-melee-complete-internal";
///
/// Shown to bystanders and the victim of a melee execution when a melee execution is completed.
///
[DataField]
public LocId CompleteExternalMeleeExecutionMessage = "execution-popup-melee-complete-external";
///
/// Shown to the person performing the self execution when starting one.
///
[DataField]
public LocId InternalSelfExecutionMessage = "execution-popup-self-initial-internal";
///
/// Shown to bystanders near a self execution when one is started.
///
[DataField]
public LocId ExternalSelfExecutionMessage = "execution-popup-self-initial-external";
///
/// Shown to the person performing a self execution upon completion of a do-after or on use of /suicide with a weapon that has the Execution component.
///
[DataField]
public LocId CompleteInternalSelfExecutionMessage = "execution-popup-self-complete-internal";
///
/// Shown to bystanders when a self execution is completed or a suicide via execution weapon happens nearby.
///
[DataField]
public LocId CompleteExternalSelfExecutionMessage = "execution-popup-self-complete-external";
// Not networked because this is transient inside of a tick.
///
/// True if it is currently executing for handlers.
///
[DataField]
public bool Executing = false;
}