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"; }