1
0

SprayComponent.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using Content.Server.Fluids.EntitySystems;
  2. using Content.Shared.FixedPoint;
  3. using Robust.Shared.Audio;
  4. using Robust.Shared.Prototypes;
  5. namespace Content.Server.Fluids.Components;
  6. [RegisterComponent]
  7. [Access(typeof(SpraySystem))]
  8. public sealed partial class SprayComponent : Component
  9. {
  10. public const string SolutionName = "spray";
  11. [ViewVariables(VVAccess.ReadWrite), DataField]
  12. public FixedPoint2 TransferAmount = 10;
  13. [ViewVariables(VVAccess.ReadWrite), DataField]
  14. public float SprayDistance = 3.5f;
  15. [ViewVariables(VVAccess.ReadWrite), DataField]
  16. public float SprayVelocity = 3.5f;
  17. [ViewVariables(VVAccess.ReadWrite), DataField]
  18. public EntProtoId SprayedPrototype = "Vapor";
  19. [ViewVariables(VVAccess.ReadWrite), DataField]
  20. public int VaporAmount = 1;
  21. [ViewVariables(VVAccess.ReadWrite), DataField]
  22. public float VaporSpread = 90f;
  23. /// <summary>
  24. /// How much the player is pushed back for each spray.
  25. /// </summary>
  26. [ViewVariables(VVAccess.ReadWrite), DataField]
  27. public float PushbackAmount = 2f;
  28. [ViewVariables(VVAccess.ReadWrite), DataField(required: true)]
  29. [Access(typeof(SpraySystem), Other = AccessPermissions.ReadExecute)] // FIXME Friends
  30. public SoundSpecifier SpraySound { get; private set; } = default!;
  31. }