using Content.Shared.Damage;
using Robust.Shared.Audio;
namespace Content.Server.Weapons.Melee.EnergySword.Components
{
[RegisterComponent]
internal sealed class EnergySwordComponent : Component
{
public Color BladeColor = Color.DodgerBlue;
public bool Hacked = false;
public bool Activated = false;
[DataField("isSharp")]
public bool IsSharp = true;
///
/// Does this become hidden when deactivated
///
[DataField("secret")]
public bool Secret { get; set; } = false;
///
/// RGB cycle rate for hacked e-swords.
///
[DataField("cycleRate")]
public float CycleRate = 1f;
[DataField("activateSound")]
public SoundSpecifier ActivateSound { get; set; } = new SoundPathSpecifier("/Audio/Weapons/ebladeon.ogg");
[DataField("deActivateSound")]
public SoundSpecifier DeActivateSound { get; set; } = new SoundPathSpecifier("/Audio/Weapons/ebladeoff.ogg");
[DataField("onHitOn")]
public SoundSpecifier OnHitOn { get; set; } = new SoundPathSpecifier("/Audio/Weapons/eblade1.ogg");
[DataField("onHitOff")]
public SoundSpecifier OnHitOff { get; set; } = new SoundPathSpecifier("/Audio/Weapons/genhit1.ogg");
[DataField("colorOptions")]
public List ColorOptions = new()
{
Color.Tomato,
Color.DodgerBlue,
Color.Aqua,
Color.MediumSpringGreen,
Color.MediumOrchid
};
[DataField("litDamageBonus")]
public DamageSpecifier LitDamageBonus = new();
[DataField("litDisarmMalus")]
public float litDisarmMalus = 0.6f;
}
}