using Robust.Shared.Serialization;
using Content.Shared.Damage;
using Content.Shared.DoAfter;
using Content.Shared.Abilities.Psionics;
namespace Content.Shared.Psionics.Events;
[Serializable, NetSerializable]
public sealed partial class PsionicRegenerationDoAfterEvent : DoAfterEvent
{
[DataField("startedAt", required: true)]
public TimeSpan StartedAt;
public PsionicRegenerationDoAfterEvent(TimeSpan startedAt)
{
StartedAt = startedAt;
}
public override DoAfterEvent Clone() => this;
}
[Serializable, NetSerializable]
public sealed partial class GlimmerWispDrainDoAfterEvent : SimpleDoAfterEvent { }
[Serializable, NetSerializable]
public sealed partial class HealingWordDoAfterEvent : DoAfterEvent
{
[DataField(required: true)]
public TimeSpan StartedAt;
public HealingWordDoAfterEvent(TimeSpan startedAt)
{
StartedAt = startedAt;
}
public override DoAfterEvent Clone() => this;
}
[Serializable, NetSerializable]
public sealed partial class PsionicHealOtherDoAfterEvent : DoAfterEvent
{
[DataField(required: true)]
public TimeSpan StartedAt;
[DataField]
public DamageSpecifier? HealingAmount = default!;
[DataField]
public float? RotReduction;
[DataField]
public bool DoRevive;
///
/// Caster's Amplification that has been modified by the results of a MoodContest.
///
public float ModifiedAmplification = default!;
///
/// Caster's Dampening that has been modified by the results of a MoodContest.
///
public float ModifiedDampening = default!;
public PsionicHealOtherDoAfterEvent(TimeSpan startedAt)
{
StartedAt = startedAt;
}
public override DoAfterEvent Clone() => this;
}
[Serializable, NetSerializable]
public sealed partial class AssayDoAfterEvent : DoAfterEvent
{
[DataField(required: true)]
public TimeSpan StartedAt;
[DataField]
public int FontSize = 12;
[DataField]
public string FontColor = "#8A00C2";
private AssayDoAfterEvent()
{
}
public AssayDoAfterEvent(TimeSpan startedAt, int fontSize, string fontColor)
{
StartedAt = startedAt;
FontSize = fontSize;
FontColor = fontColor;
}
public override DoAfterEvent Clone() => this;
}