Ejemplo n.º 1
0
        public void Handle(GameClient Session, ClientMessage Event)
        {
            Room room = HabboIM.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

            if (room != null)
            {
                RoomUser roomUserByHabbo = room.GetRoomUserByHabbo(Session.GetHabbo().Id);
                if (roomUserByHabbo != null)
                {
                    roomUserByHabbo.Unidle();
                    int num = Event.PopWiredInt32();
                    if (num < 0 || num > 4 || (!Session.GetHabbo().GetSubscriptionManager().HasSubscription("habbo_club") && num > 1))
                    {
                        num = 0;
                    }
                    if (num > 0 && roomUserByHabbo.CarryItemID > 0)
                    {
                        roomUserByHabbo.CarryItem(0);
                    }
                    roomUserByHabbo.DanceId = num;
                    ServerMessage serverMessage = new ServerMessage(480u);
                    serverMessage.AppendInt32(roomUserByHabbo.VirtualId);
                    serverMessage.AppendInt32(num);
                    room.SendMessage(serverMessage, null);
                    if (Session.GetHabbo().CurrentQuestId > 0 && HabboIM.GetGame().GetQuestManager().GetQuestAction(Session.GetHabbo().CurrentQuestId) == "DANCE")
                    {
                        HabboIM.GetGame().GetQuestManager().ProgressUserQuest(Session.GetHabbo().CurrentQuestId, Session);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        public void Parse(GameClient Session, ClientPacket Packet)
        {
            Room room = ButterflyEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

            if (room == null)
            {
                return;
            }
            RoomUser roomUserByHabbo = room.GetRoomUserManager().GetRoomUserByHabboId(Session.GetHabbo().Id);

            if (roomUserByHabbo == null)
            {
                return;
            }
            roomUserByHabbo.Unidle();
            int i = Packet.PopInt();

            roomUserByHabbo.DanceId = 0;

            room.SendPacket(new ActionMessageComposer(roomUserByHabbo.VirtualId, i));
            if (i == 5)
            {
                roomUserByHabbo.IsAsleep = true;
                ServerPacket Message2 = new ServerPacket(ServerPacketHeader.SleepMessageComposer);
                Message2.WriteInteger(roomUserByHabbo.VirtualId);
                Message2.WriteBoolean(roomUserByHabbo.IsAsleep);
                room.SendPacket(Message2);
            }
            ButterflyEnvironment.GetGame().GetQuestManager().ProgressUserQuest(Session, QuestType.SOCIAL_WAVE, 0);
        }
Ejemplo n.º 3
0
        internal void StopGame()
        {
            gameStarted = false;
            room.GetGameManager().UnlockGates();
            room.GetGameManager().StopGame();
            Team winners = room.GetGameManager().getWinningTeam();

            foreach (RoomUnit unit in room.GetRoomUserManager().UnitList.Values)
            {
                RoomUser user = unit as RoomUser;
                if (user == null)
                {
                    continue;
                }

                user.FreezeLives = 0;
                if (user.Team == winners)
                {
                    user.Unidle();

                    user.DanceID = 0;

                    ServerMessage Message = new ServerMessage(Outgoing.Action);
                    Message.AppendInt32(user.VirtualID);
                    Message.AppendInt32(1);
                    room.SendMessage(Message);
                }
            }
        }
Ejemplo n.º 4
0
        public void parse(GameClient Session, ClientMessage Event)
        {
            Room     room            = PhoenixEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);
            RoomUser roomUserByHabbo = room.GetRoomUserByHabbo(Session.GetHabbo().Id);

            roomUserByHabbo.Unidle();
            int i = Event.PopWiredInt32();

            if (i < 0 || i > 4 || (!Session.GetHabbo().GetSubscriptionManager().HasSubscription("habbo_club") && i > 1))
            {
                i = 0;
            }
            if (i > 0 && roomUserByHabbo.CarryItemID > 0)
            {
                roomUserByHabbo.CarryItem(0);
            }
            roomUserByHabbo.DanceId = i;
            ServerMessage Message = new ServerMessage(480);

            Message.AppendInt32(roomUserByHabbo.VirtualId);
            Message.AppendInt32(i);
            room.SendMessage(Message, null);

            if (Session.GetHabbo().CurrentQuestId == 6)
            {
                PhoenixEnvironment.GetGame().GetQuestManager().ProgressUserQuest(6, Session);
            }
        }
Ejemplo n.º 5
0
        public void Parse(GameClient Session, ClientPacket Packet)
        {
            Room room = ButterflyEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

            if (room == null)
            {
                return;
            }
            RoomUser User = room.GetRoomUserManager().GetRoomUserByHabboId(Session.GetHabbo().Id);

            if (User == null || User.RidingHorse)
            {
                return;
            }

            User.Unidle();
            int X2 = Packet.PopInt();
            int Y2 = Packet.PopInt();

            if (X2 == User.X && Y2 == User.Y)
            {
                if (User.SetStep)
                {
                    int rotation = Rotation.RotationIverse(User.RotBody);
                    User.SetRot(rotation, false, true);
                }
                return;
            }

            int Rotation2 = Rotation.Calculate(User.X, User.Y, X2, Y2);

            User.SetRot(Rotation2, false);
        }
Ejemplo n.º 6
0
 public void Handle(GameClient Session, ClientMessage Event)
 {
     if (Session != null && Session.GetHabbo() != null)
     {
         Room @class = GoldTree.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);
         if (@class != null)
         {
             RoomUser class2 = @class.GetRoomUserByHabbo(Session.GetHabbo().Id);
             if (class2 != null)
             {
                 class2.Unidle();
                 int num  = Event.PopWiredInt32();
                 int num2 = Event.PopWiredInt32();
                 if (num != class2.int_3 || num2 != class2.int_4)
                 {
                     int int_ = Class107.smethod_0(class2.int_3, class2.int_4, num, num2);
                     class2.method_9(int_);
                     if (class2.class34_1 != null && class2.RoomUser_0 != null)
                     {
                         class2.RoomUser_0.method_9(int_);
                     }
                 }
             }
         }
     }
 }
Ejemplo n.º 7
0
 public void Handle(GameClient Session, ClientMessage Event)
 {
     if (Session != null && Session.GetHabbo() != null)
     {
         Room @class = Essential.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);
         if (@class != null)
         {
             RoomUser class2 = @class.GetRoomUserByHabbo(Session.GetHabbo().Id);
             if (class2 != null)
             {
                 class2.Unidle();
                 int num  = Event.PopWiredInt32();
                 int num2 = Event.PopWiredInt32();
                 if (num != class2.X || num2 != class2.Y)
                 {
                     int int_ = Rotation.GetRotation(class2.X, class2.Y, num, num2);
                     class2.method_9(int_);
                     if (class2.class34_1 != null && class2.RoomUser_0 != null)
                     {
                         class2.RoomUser_0.method_9(int_);
                     }
                 }
             }
         }
     }
 }
Ejemplo n.º 8
0
        internal void StopGame()
        {
            this.gameStarted = false;
            this.ResetGameAfterStop();
            this.room.GetGameManager().UnlockGates();
            Team team = this.room.GetGameManager().getWinningTeam();

            for (int i = 0; i < room.RoomUser_0.Length; i++)
            {
                RoomUser user = room.RoomUser_0[i];
                if (user != null)
                {
                    user.FreezeLives = 0;
                    if (user.team == team)
                    {
                        user.Unidle();
                        user.DanceId = 0;
                        ServerMessage message = new ServerMessage(481u);
                        message.AppendInt32(user.VirtualId);
                        message.AppendInt32(1);
                        this.room.SendMessage(message, null);
                    }
                }
            }
        }
Ejemplo n.º 9
0
        public void Parse(GameClient Session, ClientPacket Packet)
        {
            Room room = ButterflyEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

            if (room == null)
            {
                return;
            }
            RoomUser roomUserByHabbo = room.GetRoomUserManager().GetRoomUserByHabboId(Session.GetHabbo().Id);

            if (roomUserByHabbo == null)
            {
                return;
            }
            roomUserByHabbo.Unidle();
            int i = Packet.PopInt();

            if (i < 0 || i > 4 || !true && i > 1)
            {
                i = 0;
            }
            if (i > 0 && roomUserByHabbo.CarryItemID > 0)
            {
                roomUserByHabbo.CarryItem(0);
            }
            roomUserByHabbo.DanceId = i;
            ServerPacket Message = new ServerPacket(ServerPacketHeader.DanceMessageComposer);

            Message.WriteInteger(roomUserByHabbo.VirtualId);
            Message.WriteInteger(i);
            room.SendPacket(Message);
            ButterflyEnvironment.GetGame().GetQuestManager().ProgressUserQuest(Session, QuestType.SOCIAL_DANCE, 0);
        }
Ejemplo n.º 10
0
        public void Parse(WebClient Session, ClientPacket Packet)
        {
            int mX = Packet.PopInt();
            int mY = Packet.PopInt();

            if (mX > 1 || mX < -1)
            {
                mX = 0;
            }
            if (mY > 1 || mY < -1)
            {
                mY = 0;
            }

            GameClient Client = ButterflyEnvironment.GetGame().GetClientManager().GetClientByUserID(Session.UserId);

            if (Client == null || Client.GetHabbo() == null)
            {
                return;
            }

            Room currentRoom = Client.GetHabbo().CurrentRoom;

            if (currentRoom == null)
            {
                return;
            }
            RoomUser User = currentRoom.GetRoomUserManager().GetRoomUserByHabboId(Client.GetHabbo().Id);

            if (User == null || (!User.CanWalk && !User.TeleportEnabled))
            {
                return;
            }
            if (!User.AllowMoveTo)
            {
                return;
            }

            User.Unidle();

            User.IsWalking = true;

            if (User.ReverseWalk)
            {
                User.GoalX = User.SetX + (-mX * 1000);
                User.GoalY = User.SetY + (-mY * 1000);
            }
            else
            {
                User.GoalX = User.SetX + (mX * 1000);
                User.GoalY = User.SetY + (mY * 1000);
            }
        }
        public void Handle(HabboHotel.GameClients.GameClient Session, global::Essential.Messages.ClientMessage Event)
        {
            RoomUser Current = Session.GetHabbo().CurrentRoom.GetRoomUserByHabbo(Session.GetHabbo().Id);
            RoomUser Target  = Session.GetHabbo().CurrentRoom.GetRoomUserByHabbo(Event.PopWiredUInt());

            if (Current != null && Target != null)
            {
                Current.Unidle();
                Target.Unidle();
                Target.CarryItem(Current.CarryItemID);
                Current.CarryItem(0);
            }
        }
Ejemplo n.º 12
0
        public void Handle(GameClient Session, ClientMessage Event)
        {
            Room room = Essential.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

            if (room != null)
            {
                RoomUser roomUserByHabbo = room.GetRoomUserByHabbo(Session.GetHabbo().Id);
                if (roomUserByHabbo != null)
                {
                    roomUserByHabbo.Unidle();
                    roomUserByHabbo.CarryItem(0);
                }
            }
        }
Ejemplo n.º 13
0
 public void Handle(GameClient Session, ClientMessage Event)
 {
     if (Session != null && Session.GetHabbo() != null)
     {
         Room class14_ = Session.GetHabbo().CurrentRoom;
         if (class14_ != null)
         {
             RoomUser @class = class14_.GetRoomUserByHabbo(Session.GetHabbo().Id);
             if (@class != null && @class.bool_0)
             {
                 int num  = Event.PopWiredInt32();
                 int num2 = Event.PopWiredInt32();
                 if (num != @class.int_3 || num2 != @class.int_4)
                 {
                     if (@class.RoomUser_0 != null)
                     {
                         try
                         {
                             if (@class.RoomUser_0.IsBot)
                             {
                                 @class.Unidle();
                             }
                             @class.RoomUser_0.MoveTo(num, num2);
                             return;
                         }
                         catch
                         {
                             @class.RoomUser_0 = null;
                             @class.class34_1  = null;
                             @class.MoveTo(num, num2);
                             Session.GetHabbo().GetEffectsInventoryComponent().method_2(-1, true);
                             return;
                         }
                     }
                     if (@class.TeleportMode)
                     {
                         @class.int_3        = num;
                         @class.int_4        = num2;
                         @class.UpdateNeeded = true;
                     }
                     else
                     {
                         @class.MoveTo(num, num2);
                     }
                 }
             }
         }
     }
 }
Ejemplo n.º 14
0
        public void parse(GameClient Session, ClientMessage Event)
        {
            Room Room = Session.GetHabbo().CurrentRoom;

            if (Room != null)
            {
                RoomUser @class = Room.GetRoomUserByHabbo(Session.GetHabbo().Id);
                if (@class != null && @class.CanWalk)
                {
                    int num  = Event.PopWiredInt32();
                    int num2 = Event.PopWiredInt32();
                    if (num != @class.X || num2 != @class.Y)
                    {
                        if (@class.Target != null)
                        {
                            try
                            {
                                if (@class.Target.IsBot)
                                {
                                    @class.Unidle();
                                }
                                @class.Target.MoveTo(num, num2);
                                return;
                            }
                            catch
                            {
                                @class.Target = null;
                                @class.Riding = null;
                                @class.MoveTo(num, num2);
                                Session.GetHabbo().GetAvatarEffectsInventoryComponent().ApplyEffect(-1, true);
                                return;
                            }
                        }
                        if (@class.TeleportMode)
                        {
                            @class.X            = num;
                            @class.Y            = num2;
                            @class.UpdateNeeded = true;
                        }
                        else
                        {
                            @class.MoveTo(num, num2);
                        }
                    }
                }
            }
        }
Ejemplo n.º 15
0
        public void Handle(GameClient Session, ClientMessage Event)
        {
            Room room = Essential.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

            if (room != null)
            {
                RoomUser roomUserByHabbo = room.GetRoomUserByHabbo(Session.GetHabbo().Id);
                if (roomUserByHabbo != null)
                {
                    int SignId = Event.PopWiredInt32();
                    roomUserByHabbo.Unidle();

                    roomUserByHabbo.AddStatus("sign", Convert.ToString(SignId));
                    roomUserByHabbo.UpdateNeeded = true;

                    roomUserByHabbo.CarryItem(0);
                }
            }
        }
Ejemplo n.º 16
0
        public void Handle(GameClient Session, ClientMessage Event)
        {
            Room @class = HabboIM.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

            if (@class != null)
            {
                RoomUser class2 = @class.GetRoomUserByHabbo(Session.GetHabbo().Id);
                if (class2 != null)
                {
                    class2.Unidle();
                    class2.DanceId = 0;
                    ServerMessage Message = new ServerMessage(481u);
                    Message.AppendInt32(class2.VirtualId);
                    @class.SendMessage(Message, null);
                    if (Session.GetHabbo().CurrentQuestId > 0 && HabboIM.GetGame().GetQuestManager().GetQuestAction(Session.GetHabbo().CurrentQuestId) == "WAVE")
                    {
                        HabboIM.GetGame().GetQuestManager().ProgressUserQuest(Session.GetHabbo().CurrentQuestId, Session);
                    }
                }
            }
        }
Ejemplo n.º 17
0
        public void parse(GameClient Session, ClientMessage Event)
        {
            Room room = PhoenixEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

            if (room != null)
            {
                RoomUser class2 = room.GetRoomUserByHabbo(Session.GetHabbo().Id);
                if (class2 != null)
                {
                    class2.Unidle();
                    class2.DanceId = 0;
                    ServerMessage Message = new ServerMessage(481);
                    Message.AppendInt32(class2.VirtualId);
                    room.SendMessage(Message, null);
                    if (Session.GetHabbo().CurrentQuestId == 8)
                    {
                        PhoenixEnvironment.GetGame().GetQuestManager().ProgressUserQuest(8, Session);
                    }
                }
            }
        }
Ejemplo n.º 18
0
        public void parse(GameClient Session, ClientMessage Event)
        {
            Room room = PhoenixEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

            if (room != null)
            {
                RoomUser roomUserByHabbo = room.GetRoomUserByHabbo(Session.GetHabbo().Id);
                if (roomUserByHabbo != null)
                {
                    roomUserByHabbo.Unidle();
                    int num  = Event.PopWiredInt32();
                    int num2 = Event.PopWiredInt32();
                    if (num != roomUserByHabbo.X || num2 != roomUserByHabbo.Y)
                    {
                        int rotation = Rotation.Calculate(roomUserByHabbo.X, roomUserByHabbo.Y, num, num2);
                        roomUserByHabbo.SetRot(rotation);
                        if (roomUserByHabbo.Riding != null && roomUserByHabbo.Target != null)
                        {
                            roomUserByHabbo.Target.SetRot(rotation);
                        }
                    }
                }
            }
        }
Ejemplo n.º 19
0
        public void Handle(GameClient Session, ClientMessage Event)
        {
            Room @class = Essential.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

            if (@class != null)
            {
                RoomUser class2 = @class.GetRoomUserByHabbo(Session.GetHabbo().Id);
                if (class2 != null)
                {
                    int Action = Event.PopWiredInt32();
                    //kiss == 2
                    class2.Unidle();
                    class2.DanceId = 0;
                    ServerMessage Message = new ServerMessage(Outgoing.Action); // Updated
                    Message.AppendInt32(class2.VirtualId);
                    Message.AppendInt32(Action);
                    @class.SendMessage(Message, null);

                    if (Action == 5) // idle
                    {
                        class2.bool_8 = true;

                        ServerMessage FallAsleep = new ServerMessage(Outgoing.IdleStatus);
                        FallAsleep.AppendInt32(class2.VirtualId);
                        FallAsleep.AppendBoolean(class2.bool_8);
                        @class.SendMessage(FallAsleep, null);
                    }


                    if (Session.GetHabbo().CurrentQuestId > 0 && Essential.GetGame().GetQuestManager().GetQuestAction(Session.GetHabbo().CurrentQuestId) == "WAVE")
                    {
                        Essential.GetGame().GetQuestManager().ProgressUserQuest(Session.GetHabbo().CurrentQuestId, Session);
                    }
                }
            }
        }
Ejemplo n.º 20
0
        public void Parse(GameClient Session, ClientPacket Packet)
        {
            Room room = ButterflyEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

            if (room == null)
            {
                return;
            }
            RoomUser roomUserByHabbo = room.GetRoomUserManager().GetRoomUserByHabboId(Session.GetHabbo().Id);

            if (roomUserByHabbo == null)
            {
                return;
            }
            roomUserByHabbo.Unidle();
            int num = Packet.PopInt();

            if (roomUserByHabbo._statusses.ContainsKey("sign"))
            {
                roomUserByHabbo.RemoveStatus("sign");
            }
            roomUserByHabbo.SetStatus("sign", Convert.ToString(num));
            roomUserByHabbo.UpdateNeeded = true;
        }
        public void Handle(GameClient Session, ClientMessage Event)
        {
            Room @class = GoldTree.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

            if (@class != null && Session != null)
            {
                if (Session.GetHabbo().IsMuted)
                {
                    Session.SendNotification(GoldTreeEnvironment.GetExternalText("error_muted"));
                }
                else
                {
                    if (Session.GetHabbo().HasFuse("ignore_roommute") || [email protected]_4)
                    {
                        string text  = GoldTree.FilterString(Event.PopFixedString());
                        string text2 = text.Split(new char[]
                        {
                            ' '
                        })[0];
                        string text3 = text.Substring(text2.Length + 1);
                        text3 = ChatCommandHandler.smethod_4(text3);
                        RoomUser class2 = @class.GetRoomUserByHabbo(Session.GetHabbo().Id);
                        RoomUser class3 = @class.method_56(text2);
                        if (Session.GetHabbo().method_4() > 0)
                        {
                            TimeSpan timeSpan = DateTime.Now - Session.GetHabbo().dateTime_0;
                            if (timeSpan.Seconds > 4)
                            {
                                Session.GetHabbo().int_23 = 0;
                            }
                            if (timeSpan.Seconds < 4 && Session.GetHabbo().int_23 > 5 && !class2.IsBot)
                            {
                                ServerMessage Message = new ServerMessage(27u);
                                Message.AppendInt32(Session.GetHabbo().method_4());
                                Session.SendMessage(Message);
                                Session.GetHabbo().IsMuted = true;
                                Session.GetHabbo().int_4   = Session.GetHabbo().method_4();
                                return;
                            }
                            Session.GetHabbo().dateTime_0 = DateTime.Now;
                            Session.GetHabbo().int_23++;
                        }
                        ServerMessage Message2 = new ServerMessage(25u);
                        Message2.AppendInt32(class2.VirtualId);
                        Message2.AppendStringWithBreak(text3);
                        Message2.AppendBoolean(false);
                        if (class2 != null && !class2.IsBot)
                        {
                            class2.GetClient().SendMessage(Message2);
                        }
                        class2.Unidle();
                        if (class3 != null && !class3.IsBot && (class3.GetClient().GetHabbo().list_2.Count <= 0 || !class3.GetClient().GetHabbo().list_2.Contains(Session.GetHabbo().Id)))
                        {
                            class3.GetClient().SendMessage(Message2);
                            if (ServerConfiguration.EnableChatlog && !Session.GetHabbo().IsJuniori)
                            {
                                using (DatabaseClient class4 = GoldTree.GetDatabase().GetClient())
                                {
                                    class4.AddParamWithValue("message", "<Whisper to " + class3.GetClient().GetHabbo().Username + ">: " + text3);
                                    class4.ExecuteQuery(string.Concat(new object[]
                                    {
                                        "INSERT INTO chatlogs (user_id,room_id,hour,minute,timestamp,message,user_name,full_date) VALUES ('",
                                        Session.GetHabbo().Id,
                                        "','",
                                        @class.Id,
                                        "','",
                                        DateTime.Now.Hour,
                                        "','",
                                        DateTime.Now.Minute,
                                        "',UNIX_TIMESTAMP(),@message,'",
                                        Session.GetHabbo().Username,
                                        "','",
                                        DateTime.Now.ToLongDateString(),
                                        "')"
                                    }));
                                }
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 22
0
        public void Handle(GameClient Session, ClientMessage Event)
        {
            if (Session != null && Session.GetHabbo() != null)
            {
                Room class14_ = Session.GetHabbo().CurrentRoom;
                if (class14_ != null && Session.GetHabbo().collector == true)
                {
                    Session.GetHabbo().Whisper("Sage erneut :sammeln um mit dem Sammeln aufzuhören und wieder normal laufen zu können.");
                }


                if (class14_ != null && Session.GetHabbo().collector == false)
                {
                    RoomUser @class = class14_.GetRoomUserByHabbo(Session.GetHabbo().Id);
                    if (@class != null && @class.bool_0)
                    {
                        int num  = Event.PopWiredInt32();
                        int num2 = Event.PopWiredInt32();
                        if (num != @class.X || num2 != @class.Y)
                        {
                            if (@class.RoomUser_0 != null)
                            {
                                try
                                {
                                    if (@class.RoomUser_0.IsBot)
                                    {
                                        @class.Unidle();
                                    }
                                    @class.RoomUser_0.MoveTo(num, num2);
                                    return;
                                }
                                catch
                                {
                                    @class.RoomUser_0 = null;
                                    @class.class34_1  = null;
                                    @class.MoveTo(num, num2);
                                    Session.GetHabbo().GetEffectsInventoryComponent().method_2(-1, true);
                                    return;
                                }
                            }
                            if (@class.TeleportMode)
                            {
                                @class.X            = num;
                                @class.Y            = num2;
                                @class.UpdateNeeded = true;
                            }
                            else
                            {
                                @class.MoveTo(num, num2);
                            }
                        }
                    }
                }
            }

            if (Session != null && Session.GetHabbo() != null)
            {
                Room class14_ = Session.GetHabbo().CurrentRoom;
                if (class14_ != null && Session.GetHabbo().knastarbeit == true)
                {
                    Session.GetHabbo().knastarbeit = false;
                    Session.GetHabbo().Whisper("Du hast das Arbeiten abgebrochen! (nicht herumlaufen während du arbeitest...)");
                    Session.GetHabbo().last_gearbeitet = 0.0;
                    Session.GetHabbo().GetEffectsInventoryComponent().method_2(0, true);
                }
            }
        }
Ejemplo n.º 23
0
        public void parse(GameClient Session, ClientMessage Event)
        {
            Room room = PhoenixEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

            if (room != null && Session != null)
            {
                if (Session.GetHabbo().Muted)
                {
                    Session.SendNotif(TextManager.GetText("error_muted"));
                }
                else
                {
                    if (Session.GetHabbo().HasRole("ignore_roommute") || !room.RoomMuted)
                    {
                        string str  = PhoenixEnvironment.FilterInjectionChars(Event.PopFixedString());
                        string name = str.Split(new char[]
                        {
                            ' '
                        })[0];
                        string s = str.Substring(name.Length + 1);
                        s = ChatCommandHandler.ApplyWordFilter(s);
                        RoomUser roomUserByHabbo = room.GetRoomUserByHabbo(Session.GetHabbo().Id);
                        RoomUser user2           = room.GetRoomUserByHabbo(name);
                        if (Session.GetHabbo().MaxFloodTime() > 0)
                        {
                            TimeSpan timeSpan = DateTime.Now - Session.GetHabbo().FloodTime;
                            if (timeSpan.Seconds > 4)
                            {
                                Session.GetHabbo().FloodCount = 0;
                            }
                            if (timeSpan.Seconds < 4 && Session.GetHabbo().FloodCount > 5 && !roomUserByHabbo.IsBot)
                            {
                                ServerMessage Message = new ServerMessage(27);
                                Message.AppendInt32(Session.GetHabbo().MaxFloodTime());
                                Session.SendMessage(Message);
                                Session.GetHabbo().Muted      = true;
                                Session.GetHabbo().MuteLength = Session.GetHabbo().MaxFloodTime();
                                return;
                            }
                            Session.GetHabbo().FloodTime = DateTime.Now;
                            Session.GetHabbo().FloodCount++;
                        }
                        ServerMessage Message2 = new ServerMessage(25);
                        Message2.AppendInt32(roomUserByHabbo.VirtualId);
                        Message2.AppendStringWithBreak(s);
                        Message2.AppendBoolean(false);
                        if (roomUserByHabbo != null && !roomUserByHabbo.IsBot)
                        {
                            roomUserByHabbo.GetClient().SendMessage(Message2);
                        }
                        roomUserByHabbo.Unidle();
                        if (user2 != null && !user2.IsBot && (user2.GetClient().GetHabbo().MutedUsers.Count <= 0 || !user2.GetClient().GetHabbo().MutedUsers.Contains(Session.GetHabbo().Id)))
                        {
                            user2.GetClient().SendMessage(Message2);
                            if (GlobalClass.RecordChatlogs && !Session.GetHabbo().isAaron)
                            {
                                using (DatabaseClient client = PhoenixEnvironment.GetDatabase().GetClient())
                                {
                                    client.AddParamWithValue("message", "<Whisper to " + user2.GetClient().GetHabbo().Username + ">: " + s);
                                    client.ExecuteQuery(string.Concat(new object[]
                                    {
                                        "INSERT INTO chatlogs (user_id,room_id,hour,minute,timestamp,message,user_name,full_date) VALUES ('",
                                        Session.GetHabbo().Id,
                                        "','",
                                        room.RoomId,
                                        "','",
                                        DateTime.Now.Hour,
                                        "','",
                                        DateTime.Now.Minute,
                                        "',UNIX_TIMESTAMP(),@message,'",
                                        Session.GetHabbo().Username,
                                        "','",
                                        DateTime.Now.ToLongDateString(),
                                        "')"
                                    }));
                                }
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 24
0
        public void Parse(GameClient Session, ClientPacket Packet)
        {
            if (Session == null || Session.GetHabbo() == null)
            {
                return;
            }

            Room Room = Session.GetHabbo().CurrentRoom;

            if (Room == null)
            {
                return;
            }

            if (Room.UserIsMuted(Session.GetHabbo().Id))
            {
                if (!Room.HasMuteExpired(Session.GetHabbo().Id))
                {
                    return;
                }
                else
                {
                    Room.RemoveMute(Session.GetHabbo().Id);
                }
            }

            string Params = StringCharFilter.Escape(Packet.PopString());

            if (string.IsNullOrEmpty(Params) || Params.Length > 100 || !Params.Contains(" "))
            {
                return;
            }

            string ToUser = Params.Split(new char[1] {
                ' '
            })[0];

            if (ToUser.Length + 1 > Params.Length)
            {
                return;
            }

            string Message = Params.Substring(ToUser.Length + 1);
            int    Color   = Packet.PopInt();

            ChatStyle Style = null;

            if (!ButterflyEnvironment.GetGame().GetChatManager().GetChatStyles().TryGetStyle(Color, out Style) || (Style.RequiredRight.Length > 0 && !Session.GetHabbo().HasFuse(Style.RequiredRight)))
            {
                Color = 0;
            }

            if (Session.Antipub(Message, "<MP>"))
            {
                return;
            }

            if (!Session.GetHabbo().HasFuse("word_filter_override"))
            {
                Message = ButterflyEnvironment.GetGame().GetChatManager().GetFilter().CheckMessage(Message);
            }

            RoomUser User  = Room.GetRoomUserManager().GetRoomUserByHabboId(Session.GetHabbo().Id);
            RoomUser User2 = Room.GetRoomUserManager().GetRoomUserByHabbo(ToUser);

            if (User == null || User2 == null || User2.GetClient() == null || User2.GetClient().GetHabbo() == null)
            {
                return;
            }
            if (User.IsSpectator || User2.IsSpectator)
            {
                return;
            }

            TimeSpan timeSpan = DateTime.Now - Session.GetHabbo().spamFloodTime;

            if (timeSpan.TotalSeconds > (double)Session.GetHabbo().spamProtectionTime&& Session.GetHabbo().spamEnable)
            {
                User.FloodCount = 0;
                Session.GetHabbo().spamEnable = false;
            }
            else if (timeSpan.TotalSeconds > 4.0)
            {
                User.FloodCount = 0;
            }

            if (timeSpan.TotalSeconds < (double)Session.GetHabbo().spamProtectionTime&& Session.GetHabbo().spamEnable)
            {
                int i = Session.GetHabbo().spamProtectionTime - timeSpan.Seconds;
                User.GetClient().SendPacket(new FloodControlComposer(i));
                return;
            }
            else if (timeSpan.TotalSeconds < 4.0 && User.FloodCount > 5 && !Session.GetHabbo().HasFuse("fuse_mod"))
            {
                Session.GetHabbo().spamProtectionTime = (Room.RpRoom) ? 5 : 30;
                Session.GetHabbo().spamEnable         = true;

                User.GetClient().SendPacket(new FloodControlComposer(Session.GetHabbo().spamProtectionTime - timeSpan.Seconds));

                return;
            }
            else if (Message.Length > 40 && Message == User.LastMessage && User.LastMessageCount == 1)
            {
                User.LastMessageCount = 0;
                User.LastMessage      = "";

                Session.GetHabbo().spamProtectionTime = (Room.RpRoom) ? 5 : 30;
                Session.GetHabbo().spamEnable         = true;
                User.GetClient().SendPacket(new FloodControlComposer(Session.GetHabbo().spamProtectionTime - timeSpan.Seconds));
                return;
            }
            else
            {
                if (Message == User.LastMessage && Message.Length > 40)
                {
                    User.LastMessageCount++;
                }

                User.LastMessage = Message;

                Session.GetHabbo().spamFloodTime = DateTime.Now;
                User.FloodCount++;

                if (Message.StartsWith("@red@"))
                {
                    User.ChatTextColor = "@red@";
                }
                if (Message.StartsWith("@cyan@"))
                {
                    User.ChatTextColor = "@cyan@";
                }
                if (Message.StartsWith("@blue@"))
                {
                    User.ChatTextColor = "@blue@";
                }
                if (Message.StartsWith("@green@"))
                {
                    User.ChatTextColor = "@green@";
                }
                if (Message.StartsWith("@purple@"))
                {
                    User.ChatTextColor = "@purple@";
                }
                if (Message.StartsWith("@black@"))
                {
                    User.ChatTextColor = "";
                }

                if (!string.IsNullOrEmpty(User.ChatTextColor))
                {
                    Message = User.ChatTextColor + " " + Message;
                }


                ServerPacket Message1 = new ServerPacket(ServerPacketHeader.WhisperMessageComposer);
                Message1.WriteInteger(User.VirtualId);
                Message1.WriteString(Message);
                Message1.WriteInteger(RoomUser.GetSpeechEmotion(Message));
                Message1.WriteInteger(Color);
                Message1.WriteInteger(0);
                Message1.WriteInteger(-1);
                User.GetClient().SendPacket(Message1);

                User.Unidle();

                if (!User2.IsBot && (User2.UserId != User.UserId && !User2.GetClient().GetHabbo().MutedUsers.Contains(Session.GetHabbo().Id)) && !Session.GetHabbo().IgnoreAll)
                {
                    User2.GetClient().SendPacket(Message1);
                    if (User.GetUsername() != "Jason" && User2.GetUsername() != "Jason")
                    {
                        Session.GetHabbo().GetChatMessageManager().AddMessage(User.UserId, User.GetUsername(), User.RoomId, ButterflyEnvironment.GetLanguageManager().TryGetValue("moderation.whisper", Session.Langue) + ToUser + ": " + Message);
                        Room.GetChatMessageManager().AddMessage(User.UserId, User.GetUsername(), User.RoomId, ButterflyEnvironment.GetLanguageManager().TryGetValue("moderation.whisper", Session.Langue) + ToUser + ": " + Message);
                    }
                }

                if (User.GetUsername() == "Jason" || User2.GetUsername() == "Jason")
                {
                    return;
                }

                List <RoomUser> roomUserByRank = Room.GetRoomUserManager().GetStaffRoomUser();
                if (roomUserByRank.Count <= 0)
                {
                    return;
                }

                ServerPacket Message2 = new ServerPacket(ServerPacketHeader.WhisperMessageComposer);
                Message2.WriteInteger(User.VirtualId);
                Message2.WriteString(ButterflyEnvironment.GetLanguageManager().TryGetValue("moderation.whisper", Session.Langue) + ToUser + ": " + Message);
                Message2.WriteInteger(RoomUser.GetSpeechEmotion(Message));
                Message2.WriteInteger(Color);
                Message2.WriteInteger(0);
                Message2.WriteInteger(-1);
                foreach (RoomUser roomUser in roomUserByRank)
                {
                    if (roomUser != null && User2 != null && roomUser.HabboId != User2.HabboId && (roomUser.HabboId != User.HabboId && roomUser.GetClient() != null) && roomUser.GetClient().GetHabbo().ViewMurmur)
                    {
                        roomUser.GetClient().SendPacket(Message2);
                    }
                }
            }
        }
        public void Handle(GameClient Session, ClientMessage Event)
        {
            Room @class = HabboIM.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

            if (@class != null && Session != null)
            {
                if (Session.GetHabbo().IsMuted)
                {
                    Session.SendNotification(HabboIMEnvironment.GetExternalText("error_muted"));
                }
                else if (Session.GetHabbo().HasFuse("ignore_roommute") || [email protected]_4)
                {
                    string text  = HabboIM.FilterString(Event.PopFixedString());
                    string text2 = text.Split(new char[]
                    {
                        ' '
                    })[0];
                    string text3           = text.Substring(text2.Length + 1);
                    string antiweberstring = text3;
                    text3 = ChatCommandHandler.smethod_4(text3);
                    RoomUser class2 = @class.GetRoomUserByHabbo(Session.GetHabbo().Id);
                    RoomUser class3 = @class.method_56(text2);
                    if (Session.GetHabbo().method_4() > 0)
                    {
                        TimeSpan timeSpan = DateTime.Now - Session.GetHabbo().dateTime_0;
                        if (timeSpan.Seconds > 4)
                        {
                            Session.GetHabbo().int_23 = 0;
                        }
                        if (timeSpan.Seconds < 4 && Session.GetHabbo().int_23 > 5 && !class2.IsBot)
                        {
                            ServerMessage Message = new ServerMessage(27u);
                            Message.AppendInt32(Session.GetHabbo().method_4());
                            Session.SendMessage(Message);
                            Session.GetHabbo().IsMuted = true;
                            Session.GetHabbo().int_4   = Session.GetHabbo().method_4();
                            return;
                        }
                        Session.GetHabbo().dateTime_0 = DateTime.Now;
                        Session.GetHabbo().int_23++;
                    }
                    ServerMessage Message2 = new ServerMessage(25u);
                    Message2.AppendInt32(class2.VirtualId);
                    Message2.AppendStringWithBreak(text3);
                    Message2.AppendBoolean(false);
                    if (class2 != null && !class2.IsBot)
                    {
                        class2.GetClient().SendMessage(Message2);
                        try {
                            var class266 = HabboIM.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

                            for (int i = 0; i < class266.RoomUsers.Length; i++)
                            {
                                try {
                                    RoomUser class5 = class266.RoomUsers[i];
                                    if (class5 != null && class3 != null)
                                    {
                                        if (class5.GetClient().GetHabbo().whisperlog == true && class5.GetClient().GetHabbo().Rank >= 6 && class5.GetClient().GetHabbo().Id != Session.GetHabbo().Id&& class5.GetClient().GetHabbo().Id != class3.GetClient().GetHabbo().Id)
                                        {
                                            class5.GetClient().GetHabbo().Whisper(" < " + Session.GetHabbo().Username + " flüstert zu " + class3.GetClient().GetHabbo().Username + " > " + text.Substring(text2.Length + 1));
                                        }
                                    }
                                } catch { }
                            }
                        }  catch { }
                        //HabboIM.GetGame().GetClientManager().method_StaffWhisper("<" + Session.GetHabbo().Username + " flüstert zu " + class3.GetClient().GetHabbo().Username + "> " + text3);
                    }
                    class2.Unidle();
                    if (class3 != null && !class3.IsBot && (class3.GetClient().GetHabbo().list_2.Count <= 0 || !class3.GetClient().GetHabbo().list_2.Contains(Session.GetHabbo().Id)))
                    {
                        class3.GetClient().SendMessage(Message2);
                        if (ServerConfiguration.EnableChatlog)
                        {
                            using (DatabaseClient class4 = HabboIM.GetDatabase().GetClient())
                            {
                                class4.AddParamWithValue("message", "<Whisper to " + class3.GetClient().GetHabbo().Username + ">: " + text3);
                                class4.ExecuteQuery(string.Concat(new object[]
                                {
                                    "INSERT INTO chatlogs (user_id,room_id,hour,minute,timestamp,message,user_name,full_date) VALUES ('",
                                    Session.GetHabbo().Id,
                                    "','",
                                    @class.Id,
                                    "','",
                                    DateTime.Now.Hour,
                                    "','",
                                    DateTime.Now.Minute,
                                    "',UNIX_TIMESTAMP(),@message,'",
                                    Session.GetHabbo().Username,
                                    "','",
                                    DateTime.Now.ToLongDateString(),
                                    "')"
                                }), 30);
                            }
                        }
                        if (HabboIM.GetGame().AntiWerberStatus)
                        {
                            string textaw = ChatCommandHandler.smethod_4b(Session, antiweberstring, "Raum");
                        }
                    }
                }
            }
        }
Ejemplo n.º 26
0
        public void Handle(GameClient Session, ClientMessage Event)
        {
            Room @class = Essential.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

            if (@class != null && Session != null && Session.GetHabbo().PassedSafetyQuiz)
            {
                Session.GetHabbo().CheckForUnmute();
                if (Session.GetHabbo().IsMuted)
                {
                    Session.SendNotification(EssentialEnvironment.GetExternalText("error_muted"));
                }
                else
                {
                    if (Session.GetHabbo().HasFuse("ignore_roommute") || [email protected]_4)
                    {
                        string text = Essential.FilterString(Event.PopFixedString());
                        if (!String.IsNullOrEmpty(text) || !String.IsNullOrWhiteSpace(text))
                        {
                            string text2 = text.Split(new char[]
                            {
                                ' '
                            })[0];
                            string text3 = text.Substring(text2.Length + 1);
                            text3 = ChatCommandHandler.ApplyFilter(text3);
                            RoomUser class2 = @class.GetRoomUserByHabbo(Session.GetHabbo().Id);
                            RoomUser class3 = @class.method_56(text2);
                            if (Session.GetHabbo().method_4() > 0)
                            {
                                TimeSpan timeSpan = DateTime.Now - Session.GetHabbo().dateTime_0;
                                if (timeSpan.Seconds > 4)
                                {
                                    Session.GetHabbo().int_23 = 0;
                                }
                                if (timeSpan.Seconds < 4 && Session.GetHabbo().int_23 > 5 && !class2.IsBot)
                                {
                                    ServerMessage Message = new ServerMessage(Outgoing.FloodFilter);
                                    Message.AppendInt32(Session.GetHabbo().method_4());
                                    Session.SendMessage(Message);
                                    Session.GetHabbo().IsMuted = true;
                                    Session.GetHabbo().int_4   = Session.GetHabbo().method_4();
                                    return;
                                }
                                Session.GetHabbo().dateTime_0 = DateTime.Now;
                                Session.GetHabbo().int_23++;
                            }
                            ServerMessage Message2 = new ServerMessage(Outgoing.Whisp); // OLD 25 UPDATED
                            Message2.AppendInt32(class2.VirtualId);
                            Message2.AppendStringWithBreak(text3);
                            Message2.AppendInt32(0);
                            Message2.AppendInt32(Event.PopWiredInt32());
                            Message2.AppendInt32(0);
                            Message2.AppendInt32(-1);
                            if (class2 != null && !class2.IsBot && !Essential.GetAntiAd().ContainsIllegalWord(text3))
                            {
                                class2.GetClient().SendMessage(Message2);
                            }
                            class2.Unidle();
                            if (class3 != null && !class3.IsBot && (class3.GetClient().GetHabbo().list_2.Count <= 0 || !class3.GetClient().GetHabbo().list_2.Contains(Session.GetHabbo().Id)))
                            {
                                if (!Essential.GetAntiAd().ContainsIllegalWord(text3))
                                {
                                    class3.GetClient().SendMessage(Message2);
                                }
                                if (ServerConfiguration.EnableChatlog)
                                {
                                    using (DatabaseClient class4 = Essential.GetDatabase().GetClient())
                                    {
                                        class4.AddParamWithValue("message", "<Whisper to " + class3.GetClient().GetHabbo().Username + ">: " + text3);
                                        class4.ExecuteQuery(string.Concat(new object[]
                                        {
                                            "INSERT INTO chatlogs (user_id,room_id,hour,minute,timestamp,message,user_name,full_date) VALUES ('",
                                            Session.GetHabbo().Id,
                                            "','",
                                            @class.Id,
                                            "','",
                                            DateTime.Now.Hour,
                                            "','",
                                            DateTime.Now.Minute,
                                            "',UNIX_TIMESTAMP(),@message,'",
                                            Session.GetHabbo().Username,
                                            "','",
                                            DateTime.Now.ToLongDateString(),
                                            "')"
                                        }));
                                    }
                                }
                                if (Essential.GetAntiAd().ContainsIllegalWord(text3))
                                {
                                    ServerMessage Message3 = new ServerMessage(Outgoing.InstantChat);
                                    Message3.AppendUInt(0u);
                                    Message3.AppendString("[AWS] " + Session.GetHabbo().Username + ": " + text3);
                                    Message3.AppendString(Essential.GetUnixTimestamp() + string.Empty);
                                    Essential.GetGame().GetClientManager().SendToStaffs(Session, Message3);
                                    Session.SendNotification(Essential.GetGame().GetRoleManager().GetConfiguration().getData("antiad.alert"));
                                }
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 27
0
        public void Parse(GameClient Session, ClientPacket Packet)
        {
            if (Session == null || Session.GetHabbo() == null || !Session.GetHabbo().InRoom)
            {
                return;
            }

            Room Room = Session.GetHabbo().CurrentRoom;

            if (Room == null)
            {
                return;
            }

            RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabboId(Session.GetHabbo().Id);

            if (User == null)
            {
                return;
            }

            if (Room.RpRoom)
            {
                RolePlayer Rp = User.Roleplayer;
                if (Rp != null && Rp.Dead)
                {
                    return;
                }
            }

            string Message = StringCharFilter.Escape(Packet.PopString());

            if (Message.Length > 100)
            {
                Message = Message.Substring(0, 100);
            }

            int Colour = Packet.PopInt();

            ChatStyle Style = null;

            if (!ButterflyEnvironment.GetGame().GetChatManager().GetChatStyles().TryGetStyle(Colour, out Style) || (Style.RequiredRight.Length > 0 && !Session.GetHabbo().HasFuse(Style.RequiredRight)))
            {
                Colour = 0;
            }

            User.Unidle();

            if (Session.GetHabbo().Rank < 5U && Room.RoomMuted && !User.IsOwner() && !Session.GetHabbo().CurrentRoom.CheckRights(Session))
            {
                User.SendWhisperChat(ButterflyEnvironment.GetLanguageManager().TryGetValue("room.muted", Session.Langue));
                return;
            }

            if (Room.GetJanken().PlayerStarted(User))
            {
                if (!Room.GetJanken().PickChoix(User, Message))
                {
                    User.SendWhisperChat(ButterflyEnvironment.GetLanguageManager().TryGetValue("janken.choice", Session.Langue));
                }

                return;
            }
            if (Room.UserIsMuted(Session.GetHabbo().Id))
            {
                if (!Room.HasMuteExpired(Session.GetHabbo().Id))
                {
                    User.GetClient().SendNotification(ButterflyEnvironment.GetLanguageManager().TryGetValue("user.muted", Session.Langue));
                    return;
                }
                else
                {
                    Room.RemoveMute(Session.GetHabbo().Id);
                }
            }

            TimeSpan timeSpan = DateTime.Now - Session.GetHabbo().spamFloodTime;

            if (timeSpan.TotalSeconds > (double)Session.GetHabbo().spamProtectionTime&& Session.GetHabbo().spamEnable)
            {
                User.FloodCount = 0;
                Session.GetHabbo().spamEnable = false;
            }
            else if (timeSpan.TotalSeconds > 4.0)
            {
                User.FloodCount = 0;
            }

            if (timeSpan.TotalSeconds < (double)Session.GetHabbo().spamProtectionTime&& Session.GetHabbo().spamEnable)
            {
                int i = Session.GetHabbo().spamProtectionTime - timeSpan.Seconds;
                User.GetClient().SendPacket(new FloodControlComposer(i));
                return;
            }
            else if (timeSpan.TotalSeconds < 4.0 && User.FloodCount > 5 && !Session.GetHabbo().HasFuse("fuse_mod"))
            {
                Session.GetHabbo().spamProtectionTime = (Room.RpRoom) ? 5 : 30;
                Session.GetHabbo().spamEnable         = true;

                User.GetClient().SendPacket(new FloodControlComposer(Session.GetHabbo().spamProtectionTime - timeSpan.Seconds));

                return;
            }
            else if (Message.Length > 40 && Message == User.LastMessage && User.LastMessageCount == 1)
            {
                User.LastMessageCount = 0;
                User.LastMessage      = "";

                Session.GetHabbo().spamProtectionTime = (Room.RpRoom) ? 5 : 30;
                Session.GetHabbo().spamEnable         = true;
                User.GetClient().SendPacket(new FloodControlComposer(Session.GetHabbo().spamProtectionTime - timeSpan.Seconds));
                return;
            }
            else
            {
                if (Message == User.LastMessage && Message.Length > 40)
                {
                    User.LastMessageCount++;
                }

                User.LastMessage = Message;

                Session.GetHabbo().spamFloodTime = DateTime.Now;
                User.FloodCount++;

                if (Session != null)
                {
                    if (Message.StartsWith("@red@") || Message.StartsWith("@rouge@"))
                    {
                        User.ChatTextColor = "@red@";
                    }
                    if (Message.StartsWith("@cyan@"))
                    {
                        User.ChatTextColor = "@cyan@";
                    }
                    if (Message.StartsWith("@blue@") || Message.StartsWith("@bleu@"))
                    {
                        User.ChatTextColor = "@blue@";
                    }
                    if (Message.StartsWith("@green@") || Message.StartsWith("@vert@"))
                    {
                        User.ChatTextColor = "@green@";
                    }
                    if (Message.StartsWith("@purple@") || Message.StartsWith("@violet@"))
                    {
                        User.ChatTextColor = "@purple@";
                    }
                    if (Message.StartsWith("@black@") || Message.StartsWith("@noir@"))
                    {
                        User.ChatTextColor = "";
                    }
                }

                if (Message.StartsWith(":", StringComparison.CurrentCulture) && ButterflyEnvironment.GetGame().GetChatManager().GetCommands().Parse(Session, User, Room, Message))
                {
                    Room.GetChatMessageManager().AddMessage(Session.GetHabbo().Id, Session.GetHabbo().Username, Room.Id, string.Format("{0} a utiliser la commande {1}", Session.GetHabbo().Username, Message));
                    return;
                }

                if (Session != null && !User.IsBot)
                {
                    if (Session.Antipub(Message, "<TCHAT>", Room.Id))
                    {
                        return;
                    }

                    ButterflyEnvironment.GetGame().GetQuestManager().ProgressUserQuest(Session, QuestType.SOCIAL_CHAT, 0);
                    Session.GetHabbo().GetChatMessageManager().AddMessage(Session.GetHabbo().Id, Session.GetHabbo().Username, Room.Id, Message);
                    Room.GetChatMessageManager().AddMessage(Session.GetHabbo().Id, Session.GetHabbo().Username, Room.Id, Message);

                    if (User.transfbot)
                    {
                        Colour = 2;
                    }
                }
            }

            if (!Session.GetHabbo().HasFuse("word_filter_override"))
            {
                Message = ButterflyEnvironment.GetGame().GetChatManager().GetFilter().CheckMessage(Message);
            }

            if (Room.AllowsShous(User, Message))
            {
                User.SendWhisperChat(Message, false);
                return;
            }
            Room.OnUserSay(User, Message, false);

            if (User.IsSpectator)
            {
                return;
            }

            if (!string.IsNullOrEmpty(User.ChatTextColor))
            {
                Message = User.ChatTextColor + " " + Message;
            }

            User.OnChat(Message, Colour, false);
        }