(Re)Adds open bolt animations for gun sprites (#17219)

Co-authored-by: and_a <and_a@DESKTOP-RJENGIR>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
This commit is contained in:
TaralGit
2023-08-12 22:58:07 -07:00
committed by GitHub
parent 82180fd04c
commit 8acac895fc
72 changed files with 726 additions and 353 deletions

View File

@@ -39,21 +39,11 @@ public sealed partial class BallisticAmmoProviderComponent : Component
public List<EntityUid> Entities = new();
/// <summary>
/// Will the ammoprovider automatically cycle through rounds or does it need doing manually.
/// </summary>
[ViewVariables(VVAccess.ReadWrite), DataField("autoCycle")]
public bool AutoCycle = true;
/// <summary>
/// Is the gun ready to shoot; if AutoCycle is true then this will always stay true and not need to be manually done.
/// </summary>
[ViewVariables(VVAccess.ReadWrite), DataField("cycled")]
[AutoNetworkedField]
public bool Cycled = true;
/// <summary>
/// Is the magazine allowed to be cycled
/// Is the magazine allowed to be manually cycled to eject a cartridge.
/// </summary>
/// <remarks>
/// Set to false for entities like turrets to avoid users being able to cycle them.
/// </remarks>
[ViewVariables(VVAccess.ReadWrite), DataField("cycleable")]
[AutoNetworkedField]
public bool Cycleable = true;

View File

@@ -1,7 +1,31 @@
using Robust.Shared.Audio;
namespace Content.Shared.Weapons.Ranged.Components;
/// <summary>
/// Chamber + mags in one package. If you need just magazine then use <see cref="MagazineAmmoProviderComponent"/>
/// </summary>
[RegisterComponent]
public sealed class ChamberMagazineAmmoProviderComponent : MagazineAmmoProviderComponent {}
[RegisterComponent, AutoGenerateComponentState]
public sealed partial class ChamberMagazineAmmoProviderComponent : MagazineAmmoProviderComponent
{
/// <summary>
/// If the gun has a bolt and whether that bolt is closed. Firing is impossible
/// </summary>
[ViewVariables(VVAccess.ReadWrite), DataField("boltClosed"), AutoNetworkedField]
public bool? BoltClosed = false;
/// <summary>
/// Does the gun automatically open and close the bolt upon shooting.
/// </summary>
[ViewVariables(VVAccess.ReadWrite), DataField("autoCycle"), AutoNetworkedField]
public bool AutoCycle = true;
[ViewVariables(VVAccess.ReadWrite), DataField("soundBoltClosed"), AutoNetworkedField]
public SoundSpecifier? BoltClosedSound = new SoundPathSpecifier("/Audio/Weapons/Guns/Bolt/rifle_bolt_closed.ogg");
[ViewVariables(VVAccess.ReadWrite), DataField("soundBoltOpened"), AutoNetworkedField]
public SoundSpecifier? BoltOpenedSound = new SoundPathSpecifier("/Audio/Weapons/Guns/Bolt/rifle_bolt_open.ogg");
[ViewVariables(VVAccess.ReadWrite), DataField("soundRack"), AutoNetworkedField]
public SoundSpecifier? RackSound = new SoundPathSpecifier("/Audio/Weapons/Guns/Cock/ltrifle_cock.ogg");
}