MagicComponent.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using Robust.Shared.GameStates;
  2. namespace Content.Shared.Magic.Components;
  3. // TODO: Rename to MagicActionComponent or MagicRequirementsComponent
  4. [RegisterComponent, NetworkedComponent, Access(typeof(SharedMagicSystem))]
  5. public sealed partial class MagicComponent : Component
  6. {
  7. // TODO: Split into different components?
  8. // This could be the MagicRequirementsComp - which just is requirements for the spell
  9. // Magic comp could be on the actual entities itself
  10. // Could handle lifetime, ignore caster, etc?
  11. // Magic caster comp would be on the caster, used for what I'm not sure
  12. // TODO: Do After here or in actions
  13. // TODO: Spell requirements
  14. // A list of requirements to cast the spell
  15. // Hands
  16. // Any item in hand
  17. // Spell takes up an inhand slot
  18. // May be an action toggle or something
  19. // TODO: List requirements in action desc
  20. /// <summary>
  21. /// Does this spell require Wizard Robes & Hat?
  22. /// </summary>
  23. [DataField, ViewVariables(VVAccess.ReadWrite)]
  24. public bool RequiresClothes;
  25. /// <summary>
  26. /// Does this spell require the user to speak?
  27. /// </summary>
  28. [DataField, ViewVariables(VVAccess.ReadWrite)]
  29. public bool RequiresSpeech;
  30. // TODO: FreeHand - should check if toggleable action
  31. // Check which hand is free to toggle action in
  32. }