namespace Content.Shared.Chat.V2; /// /// The types of messages that can be sent, validated and processed via user input that are covered by Chat V2. /// public enum MessageType : byte { #region Player-sendable types /// /// Chat for announcements like CentCom telling you to stop sending them memes. /// Announcement, /// /// Chat that ghosts use to complain about being gibbed. /// DeadChat, /// /// Chat that mimes use to evade their vow. /// Emote, /// /// Chat that players use to make lame jokes to people nearby. /// Local, /// /// Chat that players use to complain about shitsec/admins/antags/balance/etc. /// Looc, /// /// Chat that players use to say "HELP MAINT", or plead to call the shuttle because a beaker spilled. /// /// This does not tell you what radio channel has been chatted on! Radio, /// /// Chat that is used exclusively by syndie tots to collaborate on whatever tots do. /// Whisper, #endregion #region Non-player-sendable types /// /// Chat that is sent to exactly one player; almost exclusively used for admemes and prayer responses. /// Subtle, /// /// Chat that is sent by automata, like when a vending machine thanks you for your unwise purchases. /// Background, #endregion } /// /// Defines a chat event that can be stored in a chat repository. /// public interface IChatEvent { /// /// The sender of the chat message. /// public EntityUid Sender { get; } /// /// The ID of the message. This is overwritten when saved into a repository. /// public uint Id { get; set; } /// /// The sent message. /// public string Message { get; set; } /// /// The type of sent message. /// public MessageType Type { get; } }