TelepathicArtifactComponent.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. namespace Content.Server.Xenoarchaeology.XenoArtifacts.Effects.Components;
  2. /// <summary>
  3. /// Harmless artifact that broadcast "thoughts" to players nearby.
  4. /// Thoughts are shown as popups and unique for each player.
  5. /// </summary>
  6. [RegisterComponent]
  7. public sealed partial class TelepathicArtifactComponent : Component
  8. {
  9. /// <summary>
  10. /// Loc string ids of telepathic messages.
  11. /// Will be randomly picked and shown to player.
  12. /// </summary>
  13. [DataField("messages")]
  14. [ViewVariables(VVAccess.ReadWrite)]
  15. public List<string> Messages = default!;
  16. /// <summary>
  17. /// Loc string ids of telepathic messages (spooky version).
  18. /// Will be randomly picked and shown to player.
  19. /// </summary>
  20. [DataField("drastic")]
  21. [ViewVariables(VVAccess.ReadWrite)]
  22. public List<string>? DrasticMessages;
  23. /// <summary>
  24. /// Probability to pick drastic version of message.
  25. /// </summary>
  26. [DataField("drasticProb")]
  27. [ViewVariables(VVAccess.ReadWrite)]
  28. public float DrasticMessageProb = 0.2f;
  29. /// <summary>
  30. /// Radius in which player can receive artifacts messages.
  31. /// </summary>
  32. [DataField("range")]
  33. [ViewVariables(VVAccess.ReadWrite)]
  34. public float Range = 10f;
  35. }