MarkingsComponent.cs 1.3 KB

1234567891011121314151617181920212223242526
  1. namespace Content.Shared.Humanoid.Markings
  2. {
  3. [RegisterComponent]
  4. public sealed partial class MarkingsComponent : Component
  5. {
  6. public Dictionary<HumanoidVisualLayers, List<Marking>> ActiveMarkings = new();
  7. // Layer points for the attached mob. This is verified client side (but should be verified server side, eventually as well),
  8. // but upon render for the given entity with this component, it will start subtracting
  9. // points from this set. Upon depletion, no more sprites in this layer will be
  10. // rendered. If an entry is null, however, it is considered 'unlimited points' for
  11. // that layer.
  12. //
  13. // Layer points are useful for restricting the amount of markings a specific layer can use
  14. // for specific mobs (i.e., a lizard should only use one set of horns and maybe two frills),
  15. // and all species with selectable tails should have exactly one tail)
  16. //
  17. // If something is required, then something must be selected in that category. Otherwise,
  18. // the first instance of a marking in that category will be added to a character
  19. // upon round start.
  20. [DataField("layerPoints")]
  21. public Dictionary<MarkingCategories, MarkingPoints> LayerPoints = new();
  22. }
  23. }