using Content.Shared.Wieldable;
using Robust.Shared.GameStates;
namespace Content.Shared.Weapons.Ranged.Components;
///
/// Applies an accuracy bonus upon wielding.
///
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, Access(typeof(SharedWieldableSystem))]
public sealed partial class GunWieldBonusComponent : Component
{
[ViewVariables(VVAccess.ReadWrite), DataField("minAngle"), AutoNetworkedField]
public Angle MinAngle = Angle.FromDegrees(-43);
///
/// Angle bonus applied upon being wielded.
///
[ViewVariables(VVAccess.ReadWrite), DataField("maxAngle"), AutoNetworkedField]
public Angle MaxAngle = Angle.FromDegrees(-43);
///
/// Recoil bonuses applied upon being wielded.
/// Higher angle decay bonus, quicker recovery.
/// Lower angle increase bonus (negative numbers), slower buildup.
///
[DataField, AutoNetworkedField]
public Angle AngleDecay = Angle.FromDegrees(0);
///
/// Recoil bonuses applied upon being wielded.
/// Higher angle decay bonus, quicker recovery.
/// Lower angle increase bonus (negative numbers), slower buildup.
///
[DataField, AutoNetworkedField]
public Angle AngleIncrease = Angle.FromDegrees(0);
[DataField]
public LocId? WieldBonusExamineMessage = "gunwieldbonus-component-examine";
}