public virtual bool Message(PlayerMobile user, string text, bool message = true) { if (!CanMessage(user, text, message)) { return false; } if (!IsUser(user)) { Join(user, message); } var msg = new WorldChatMessage(user, text, user.ToMapPoint(), DateTime.Now); string formatted = FormatMessage(user, text); Users.Keys.Where(u => CanSee(u, msg)).ForEach(u => MessageTo(user, u, formatted)); if (WorldChat.CMOptions.HistoryBuffer > 0) { while (HistoryCount >= WorldChat.CMOptions.HistoryBuffer) { History.Pop(); } History.Add(user, msg); } else { History.Clear(); } Users[user] = DateTime.Now + SpamDelay; OnMessage(user, msg, message); return true; }