namespace Content.Shared.EntityEffects;
///
/// An Event carrying an entity effect.
///
/// The Effect
/// A strength scalar for the effect, defaults to 1 and typically only goes under for incomplete reactions.
/// The entity causing the effect.
[ByRefEvent, Access(typeof(SharedEntityEffectsSystem))]
public readonly record struct EntityEffectEvent(T Effect, float Scale, EntityUid? User) where T : EntityEffectBase
{
///
/// The Condition being raised in this event
///
public readonly T Effect = Effect;
///
/// The Scale modifier of this Effect.
///
public readonly float Scale = Scale;
///
/// The entity that caused this effect.
/// Used for admin logs and prediction purposes.
///
public readonly EntityUid? User = User;
}