public static bool Message(Verse.Message msg, bool historical = true) { lock (Messages.liveMessages) { if (!Messages.AcceptsMessage(msg.text, msg.lookTargets)) { return(false); } if (historical && Find.Archive != null) { Find.Archive.Add((IArchivable)msg); } Messages.liveMessages.Add(msg); while (Messages.liveMessages.Count > 12) { Messages.liveMessages.RemoveAt(0); } if (msg.def.sound == null) { return(false); } msg.def.sound.PlayOneShotOnCamera(); } return(false); }