/// <summary> /// Generates a shout message based on paramter session /// </summary> /// <param name="Session"></param> /// <param name="Speech"></param> /// <param name="Bubble"></param> public static void Shout(GameClient Session, string Speech, int Bubble = 0) { Room Room = null; RoomUser User = null; if (Speech.StartsWith("*")) { Speech = "" + Char.ToLowerInvariant(Speech[1]) + Speech.Substring(2); } if (Session == null || Session.GetHabbo() == null || Session.GetRoleplay() == null || Session.GetRoomUser() == null) { return; } Room = Session.GetHabbo().CurrentRoom; User = Session.GetRoomUser(); if (User != null) { if (User.GetClient() != null && User.GetClient().GetHabbo() != null) { if (Room != null) { if (!Room.TutorialEnabled) { User.SendNameColourPacket(); User.SendMeCommandPacket(); foreach (RoomUser roomUser in Room.GetRoomUserManager().GetRoomUsers()) { if (roomUser == null || roomUser.IsBot) { continue; } if (roomUser.GetClient() == null || roomUser.GetClient().GetConnection() == null) { continue; } if (User.GetClient().GetRoleplay().Invisible) { if (User.GetClient().GetHabbo().Username != roomUser.GetClient().GetHabbo().Username&& !roomUser.GetClient().GetRoleplay().Invisible) { continue; } } roomUser.GetClient().SendMessage(new ShoutComposer(User.VirtualId, Speech, 0, Bubble)); } } else { User.SendNameColourPacket(); User.SendMeCommandPacket(); Session.SendMessage(new ShoutComposer(User.VirtualId, Speech, 0, Bubble)); } } } User.SendNamePacket(); } }