Adds grappling gun (#16662)
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
using Robust.Shared.Audio;
|
||||
using Robust.Shared.GameStates;
|
||||
|
||||
namespace Content.Shared.Weapons.Ranged.Components;
|
||||
|
||||
// I have tried to make this as generic as possible but "delete joint on cycle / right-click reels in" is very specific behavior.
|
||||
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
|
||||
public sealed partial class GrapplingGunComponent : Component
|
||||
{
|
||||
[DataField("jointId"), AutoNetworkedField]
|
||||
public string Joint = string.Empty;
|
||||
|
||||
[DataField("projectile")] public EntityUid? Projectile;
|
||||
|
||||
[ViewVariables(VVAccess.ReadWrite), DataField("reeling"), AutoNetworkedField]
|
||||
public bool Reeling;
|
||||
|
||||
[ViewVariables(VVAccess.ReadWrite), DataField("reelSound"), AutoNetworkedField]
|
||||
public SoundSpecifier? ReelSound = new SoundPathSpecifier("/Audio/Weapons/reel.ogg")
|
||||
{
|
||||
Params = AudioParams.Default.WithLoop(true)
|
||||
};
|
||||
|
||||
[ViewVariables(VVAccess.ReadWrite), DataField("cycleSound"), AutoNetworkedField]
|
||||
public SoundSpecifier? CycleSound = new SoundPathSpecifier("/Audio/Weapons/Guns/MagIn/kinetic_reload.ogg");
|
||||
|
||||
public IPlayingAudioStream? Stream;
|
||||
}
|
||||
Reference in New Issue
Block a user