1
0

InjectionAnomalyComponent.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using Content.Server.Anomaly.Effects;
  2. using Robust.Shared.Prototypes;
  3. namespace Content.Server.Anomaly.Components;
  4. /// <summary>
  5. /// This component allows the anomaly to inject liquid from the SolutionContainer
  6. /// into the surrounding entities with the InjectionSolution component
  7. /// </summary>
  8. [RegisterComponent, Access(typeof(InjectionAnomalySystem))]
  9. public sealed partial class InjectionAnomalyComponent : Component
  10. {
  11. /// <summary>
  12. /// the maximum amount of injection of a substance into an entity per pulsation
  13. /// scales with Severity
  14. /// </summary>
  15. [DataField, ViewVariables(VVAccess.ReadWrite)]
  16. public float MaxSolutionInjection = 15;
  17. /// <summary>
  18. /// the maximum amount of injection of a substance into an entity in the supercritical phase
  19. /// </summary>
  20. [DataField, ViewVariables(VVAccess.ReadWrite)]
  21. public float SuperCriticalSolutionInjection = 50;
  22. /// <summary>
  23. /// The maximum radius in which the anomaly injects reagents into the surrounding containers.
  24. /// </summary>
  25. [DataField, ViewVariables(VVAccess.ReadWrite)]
  26. public float InjectRadius = 3;
  27. /// <summary>
  28. /// The maximum radius in which the anomaly injects reagents into the surrounding containers.
  29. /// </summary>
  30. [DataField, ViewVariables(VVAccess.ReadWrite)]
  31. public float SuperCriticalInjectRadius = 15;
  32. /// <summary>
  33. /// The name of the prototype of the special effect that appears above the entities into which the injection was carried out
  34. /// </summary>
  35. [DataField, ViewVariables(VVAccess.ReadOnly)]
  36. public EntProtoId VisualEffectPrototype = "PuddleSparkle";
  37. /// <summary>
  38. /// Solution name that can be drained.
  39. /// </summary>
  40. [DataField, ViewVariables(VVAccess.ReadWrite)]
  41. public string Solution { get; set; } = "default";
  42. }