From aef225b6a5046589e50a59c4d31274f521ca1905 Mon Sep 17 00:00:00 2001
From: Mor-Dast <136860710+Mor-Dast@users.noreply.github.com>
Date: Sat, 21 Dec 2024 18:06:07 +0300
Subject: [PATCH] Delete
Content.Shared/Weapons/Ranged/Components/GunComponent.cs
---
.../Weapons/Ranged/Components/GunComponent.cs | 282 ------------------
1 file changed, 282 deletions(-)
delete mode 100644 Content.Shared/Weapons/Ranged/Components/GunComponent.cs
diff --git a/Content.Shared/Weapons/Ranged/Components/GunComponent.cs b/Content.Shared/Weapons/Ranged/Components/GunComponent.cs
deleted file mode 100644
index bcc56c28ab1..00000000000
--- a/Content.Shared/Weapons/Ranged/Components/GunComponent.cs
+++ /dev/null
@@ -1,282 +0,0 @@
-using System.Numerics;
-using Content.Shared.Weapons.Ranged.Events;
-using Content.Shared.Weapons.Ranged.Systems;
-using Robust.Shared.Audio;
-using Robust.Shared.GameStates;
-using Robust.Shared.Map;
-using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
-
-namespace Content.Shared.Weapons.Ranged.Components;
-
-[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause]
-[Access(typeof(SharedGunSystem))]
-public sealed partial class GunComponent : Component
-{
- #region Sound
-
- ///
- /// The base sound to use when the gun is fired.
- ///
- [DataField]
- public SoundSpecifier? SoundGunshot = new SoundPathSpecifier("/Audio/Weapons/Guns/Gunshots/smg.ogg");
-
- ///
- /// The sound to use when the gun is fired.
- ///
- ///
- [AutoNetworkedField, ViewVariables(VVAccess.ReadWrite)]
- public SoundSpecifier? SoundGunshotModified;
-
- [DataField]
- public SoundSpecifier? SoundEmpty = new SoundPathSpecifier("/Audio/Weapons/Guns/Empty/empty.ogg");
-
- ///
- /// Sound played when toggling the for this gun.
- ///
- [DataField]
- public SoundSpecifier? SoundMode = new SoundPathSpecifier("/Audio/Weapons/Guns/Misc/selector.ogg");
-
- #endregion
-
- #region Recoil
-
- // These values are very small for now until we get a debug overlay and fine tune it
-
- ///
- /// The base scalar value applied to the vector governing camera recoil.
- ///
- [DataField, AutoNetworkedField]
- public float CameraRecoilScalar = 1f;
-
- ///
- /// A scalar value applied to the vector governing camera recoil.
- /// If 0, there will be no camera recoil.
- ///
- ///
- [AutoNetworkedField, ViewVariables(VVAccess.ReadWrite)]
- public float CameraRecoilScalarModified = 1f;
-
- ///
- /// Last time the gun fired.
- /// Used for recoil purposes.
- ///
- [DataField]
- public TimeSpan LastFire = TimeSpan.Zero;
-
- ///
- /// What the current spread is for shooting. This gets changed every time the gun fires.
- ///
- [DataField]
- [AutoNetworkedField]
- public Angle CurrentAngle;
-
- ///
- /// The base value for how much the spread increases every time the gun fires.
- ///
- [DataField]
- public Angle AngleIncrease = Angle.FromDegrees(0.5);
-
- ///
- /// How much the spread increases every time the gun fires.
- ///
- ///
- [AutoNetworkedField, ViewVariables(VVAccess.ReadWrite)]
- public Angle AngleIncreaseModified;
-
- ///
- /// The base value for how much the decreases per second.
- ///
- [DataField]
- public Angle AngleDecay = Angle.FromDegrees(4);
-
- ///
- /// How much the decreases per second.
- ///
- ///
- [AutoNetworkedField, ViewVariables(VVAccess.ReadWrite)]
- public Angle AngleDecayModified;
-
- ///
- /// The base value for the maximum angle allowed for
- ///
- [DataField]
- [AutoNetworkedField]
- public Angle MaxAngle = Angle.FromDegrees(2);
-
- ///
- /// The maximum angle allowed for
- ///
- ///
- [AutoNetworkedField, ViewVariables(VVAccess.ReadWrite)]
- public Angle MaxAngleModified;
-
- ///
- /// The base value for the minimum angle allowed for
- ///
- [DataField]
- [AutoNetworkedField]
- public Angle MinAngle = Angle.FromDegrees(1);
-
- ///
- /// The minimum angle allowed for .
- ///
- ///
- [AutoNetworkedField, ViewVariables(VVAccess.ReadWrite)]
- public Angle MinAngleModified;
-
- #endregion
-
- ///
- /// Whether this gun is shot via the use key or the alt-use key.
- ///
- [DataField, AutoNetworkedField]
- public bool UseKey = true;
-
- ///
- /// Where the gun is being requested to shoot.
- ///
- [ViewVariables]
- public EntityCoordinates? ShootCoordinates = null;
-
- ///
- /// Who the gun is being requested to shoot at directly.
- ///
- [ViewVariables]
- public EntityUid? Target = null;
-
- ///
- /// The base value for how many shots to fire per burst.
- ///
- [DataField, AutoNetworkedField]
- public int ShotsPerBurst = 3;
-
- ///
- /// How many shots to fire per burst.
- ///
- ///
- [AutoNetworkedField, ViewVariables(VVAccess.ReadWrite)]
- public int ShotsPerBurstModified = 3;
-
- ///
- /// How long time must pass between burstfire shots.
- ///
- [DataField, AutoNetworkedField]
- public float BurstCooldown = 0.25f;
-
- ///
- /// The fire rate of the weapon in burst fire mode.
- ///
- [DataField, AutoNetworkedField]
- public float BurstFireRate = 8f;
-
- ///
- /// Whether the burst fire mode has been activated.
- ///
- [AutoNetworkedField, ViewVariables(VVAccess.ReadWrite)]
- public bool BurstActivated = false;
-
- ///
- /// The burst fire bullet count.
- ///
- [AutoNetworkedField, ViewVariables(VVAccess.ReadWrite)]
- public int BurstShotsCount = 0;
-
- ///
- /// Used for tracking semi-auto / burst
- ///
- [ViewVariables]
- [AutoNetworkedField]
- public int ShotCounter = 0;
-
- ///
- /// The base value for how many times it shoots per second.
- ///
- [DataField]
- [AutoNetworkedField]
- public float FireRate = 8f;
-
- ///
- /// How many times it shoots per second.
- ///
- ///
- [AutoNetworkedField, ViewVariables(VVAccess.ReadWrite)]
- public float FireRateModified;
-
- ///
- /// Starts fire cooldown when equipped if true.
- ///
- [DataField]
- public bool ResetOnHandSelected = true;
-
- ///
- /// The base value for how fast the projectile moves.
- ///
- [DataField]
- public float ProjectileSpeed = 25f;
-
- ///
- /// How fast the projectile moves.
- ///
- ///
- [AutoNetworkedField, ViewVariables(VVAccess.ReadWrite)]
- public float ProjectileSpeedModified;
-
- ///
- /// When the gun is next available to be shot.
- /// Can be set multiple times in a single tick due to guns firing faster than a single tick time.
- ///
- [DataField(customTypeSerializer:typeof(TimeOffsetSerializer))]
- [AutoNetworkedField]
- [AutoPausedField]
- public TimeSpan NextFire = TimeSpan.Zero;
-
- ///
- /// What firemodes can be selected.
- ///
- [DataField]
- [AutoNetworkedField]
- public SelectiveFire AvailableModes = SelectiveFire.SemiAuto;
-
- ///
- /// What firemode is currently selected.
- ///
- [DataField]
- [AutoNetworkedField]
- public SelectiveFire SelectedMode = SelectiveFire.SemiAuto;
-
- ///
- /// Whether or not information about
- /// the gun will be shown on examine.
- ///
- [DataField]
- public bool ShowExamineText = true;
-
- ///
- /// Whether or not someone with the
- /// clumsy trait can shoot this
- ///
- [DataField]
- public bool ClumsyProof = false;
-
- ///
- /// Firing direction for an item not being held (e.g. shuttle cannons, thrown guns still firing).
- ///
- [DataField]
- public Vector2 DefaultDirection = new Vector2(0, -1);
-
- ///
- /// Corvax-Next. The percentage chance of a given gun to accidentally discharge if violently thrown into a wall or person
- ///
- [DataField]
- public float FireOnDropChance = 0.1f;
-}
-
-[Flags]
-public enum SelectiveFire : byte
-{
- Invalid = 0,
- // Combat mode already functions as the equivalent of Safety
- SemiAuto = 1 << 0,
- Burst = 1 << 1,
- FullAuto = 1 << 2, // Not in the building!
-}