using Content.Shared.FixedPoint;
using Robust.Shared.GameStates;
using Robust.Shared.Serialization;
using Robust.Shared.Audio;
namespace Content.Shared.Chemistry.Components;
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
public sealed partial class HyposprayComponent : Component
{
[DataField]
public string SolutionName = "hypospray";
// TODO: This should be on clumsycomponent.
[ViewVariables(VVAccess.ReadWrite)]
public float ClumsyFailChance = 0.5f;
public FixedPoint2 TransferAmount = FixedPoint2.New(5);
public SoundSpecifier InjectSound = new SoundPathSpecifier("/Audio/Items/hypospray.ogg");
/// <summary>
/// Decides whether you can inject everything or just mobs.
/// When you can only affect mobs, you're capable of drawing from beakers.
/// </summary>
[AutoNetworkedField]
[DataField(required: true)]
public bool OnlyAffectsMobs = false;
/// Whether or not the hypospray is able to draw from containers or if it's a single use
/// device that can only inject.
public bool InjectOnly = false;
}