Files
tbd-station-14/Content.Server/Weapons/Melee/EnergySword/Components/EnergySwordComponent.cs
metalgearsloth f51248ecaa Melee refactor (#10897)
Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>
2022-09-29 15:51:59 +10:00

59 lines
1.7 KiB
C#

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;
/// <summary>
/// Does this become hidden when deactivated
/// </summary>
[DataField("secret")]
public bool Secret { get; set; } = false;
/// <summary>
/// RGB cycle rate for hacked e-swords.
/// </summary>
[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<Color> 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;
}
}