LubeComponent.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using Content.Shared.Chemistry.Reagent;
  2. using Content.Shared.FixedPoint;
  3. using Robust.Shared.Audio;
  4. using Robust.Shared.GameStates;
  5. using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
  6. namespace Content.Shared.Lube;
  7. [RegisterComponent, NetworkedComponent]
  8. public sealed partial class LubeComponent : Component
  9. {
  10. [DataField("squeeze")]
  11. public SoundSpecifier Squeeze = new SoundPathSpecifier("/Audio/Items/squeezebottle.ogg");
  12. /// <summary>
  13. /// Solution on the entity that contains the glue.
  14. /// </summary>
  15. [DataField("solution")]
  16. public string Solution = "drink";
  17. /// <summary>
  18. /// Reagent that will be used as glue.
  19. /// </summary>
  20. [DataField("reagent", customTypeSerializer: typeof(PrototypeIdSerializer<ReagentPrototype>))]
  21. public string Reagent = "SpaceLube";
  22. /// <summary>
  23. /// Reagent consumption per use.
  24. /// </summary>
  25. [DataField("consumption"), ViewVariables(VVAccess.ReadWrite)]
  26. public FixedPoint2 Consumption = FixedPoint2.New(3);
  27. /// <summary>
  28. /// Min slips per unit
  29. /// </summary>
  30. [DataField("minSlips"), ViewVariables(VVAccess.ReadWrite)]
  31. public int MinSlips = 1;
  32. /// <summary>
  33. /// Max slips per unit
  34. /// </summary>
  35. [DataField("maxSlips"), ViewVariables(VVAccess.ReadWrite)]
  36. public int MaxSlips = 6;
  37. [DataField("slipStrength"), ViewVariables(VVAccess.ReadWrite)]
  38. public int SlipStrength = 10;
  39. }