Example #1
0
 public override void OnUserLeaveRoom(RoomUnitUser user)
 {
     if (this.Room.RoomData.OwnerID == user.Session.GetHabbo().ID)
     {
         this.Room.RoomUserManager.LeaveRoom(this);
     }
 }
Example #2
0
        public void Handle(GameClient session, ClientMessage message)
        {
            if (session != null && session.GetHabbo() != null)
            {
                RoomUnitUser roomUser = session.GetHabbo().GetRoomSession().GetRoomUser();
                if (roomUser != null)
                {
                    roomUser.Unidle();

                    int danceId = message.PopWiredInt32();
                    if (danceId < 0 || danceId > 4)
                    {
                        danceId = 0;
                    }

                    if (danceId > 1 && !session.GetHabbo().IsHcOrVIP())
                    {
                        danceId = 0;
                    }

                    roomUser.SetHanditem(0);
                    roomUser.SetDance(danceId);
                }
            }
        }
        public void Handle(GameClient session, ClientMessage message)
        {
            if (session.GetHabbo().GetUserStats().DailyRespectPoints > 0)
            {
                Room room = session.GetHabbo().GetRoomSession().GetRoom();
                if (room != null)
                {
                    uint         userId = message.PopWiredUInt();
                    RoomUnitUser target = room.RoomUserManager.GetUserByID(userId);
                    if (target != null && target.Session.GetHabbo().ID != session.GetHabbo().ID)
                    {
                        session.GetHabbo().GetUserStats().DailyRespectPoints--;
                        session.GetHabbo().GetUserStats().RespectGiven++;
                        target.Session.GetHabbo().GetUserStats().RespectReceived++;

                        using (DatabaseClient dbClient = Skylight.GetDatabaseManager().GetClient())
                        {
                            dbClient.AddParamWithValue("giverId", session.GetHabbo().ID);
                            dbClient.AddParamWithValue("giverRespectsGiven", session.GetHabbo().GetUserStats().RespectGiven);
                            dbClient.AddParamWithValue("giverDailyRespects", session.GetHabbo().GetUserStats().DailyRespectPoints);
                            dbClient.ExecuteQuery("UPDATE user_stats SET daily_respect_points = @giverDailyRespects, respect_given = @giverRespectsGiven WHERE user_id = @giverId LIMIT 1");

                            dbClient.AddParamWithValue("receiverId", target.Session.GetHabbo().ID);
                            dbClient.AddParamWithValue("receiverRespects", target.Session.GetHabbo().GetUserStats().RespectReceived);
                            dbClient.ExecuteQuery("UPDATE user_stats SET respect_received = @receiverRespects WHERE user_id = @receiverId LIMIT 1");
                        }

                        room.SendToAll(new MultiRevisionServerMessage(OutgoingPacketsEnum.GiveRespect, new ValueHolder("UserID", target.Session.GetHabbo().ID, "Total", target.Session.GetHabbo().GetUserStats().RespectReceived)));

                        session.GetHabbo().GetUserAchievements().CheckAchievement("RespectGiven");
                        target.Session.GetHabbo().GetUserAchievements().CheckAchievement("RespectReceived");
                    }
                }
            }
        }
Example #4
0
        public void Handle(GameClient session, ClientMessage message)
        {
            Room room = session.GetHabbo().GetRoomSession().GetRoom();

            if (room != null)
            {
                string       username = message.PopFixedString();
                RoomUnitUser user     = room.RoomUserManager.GetUserByName(username);
                if (user != null && !user.Session.GetHabbo().HasPermission("acc_unignorable"))
                {
                    uint userId = user.Session.GetHabbo().ID;
                    if (!session.GetHabbo().IgnoredUsers.Contains(userId))
                    {
                        session.GetHabbo().IgnoredUsers.Add(userId);

                        using (DatabaseClient dbClient = Skylight.GetDatabaseManager().GetClient())
                        {
                            dbClient.AddParamWithValue("userId", session.GetHabbo().ID);
                            dbClient.AddParamWithValue("targetId", userId);
                            dbClient.ExecuteQuery("INSERT INTO user_ignores(user_id, ignored_id) VALUES(@userId, @targetId)");
                        }

                        ServerMessage message_ = BasicUtilies.GetRevisionServerMessage(Revision.RELEASE63_35255_34886_201108111108);
                        message_.Init(r63aOutgoing.IgnoreStatus);
                        message_.AppendInt32(1);
                        session.SendMessage(message_);
                    }
                }
            }
        }
        public virtual void Handle(GameClient session, ClientMessage message)
        {
            if (session?.GetHabbo()?.GetUserStats()?.DailyRespectPoints > 0)
            {
                RoomUnitUser target = session?.GetHabbo()?.GetRoomSession()?.GetRoom()?.RoomUserManager?.GetUserByID(this.UserID);
                if (target != null && target.Session.GetHabbo().ID != session.GetHabbo().ID)
                {
                    session.GetHabbo().GetRoomSession().GetRoomUser().Unidle();

                    session.GetHabbo().GetUserStats().DailyRespectPoints--;
                    session.GetHabbo().GetUserStats().RespectGiven++;
                    session.GetHabbo().GetUserAchievements().CheckAchievement("RespectGiven");

                    target.Session.GetHabbo().GetUserStats().RespectReceived++;
                    target.Session.GetHabbo().GetUserAchievements().CheckAchievement("RespectReceived");

                    using (DatabaseClient dbClient = Skylight.GetDatabaseManager().GetClient())
                    {
                        dbClient.AddParamWithValue("giverId", session.GetHabbo().ID);
                        dbClient.AddParamWithValue("giverRespectsGiven", session.GetHabbo().GetUserStats().RespectGiven);
                        dbClient.AddParamWithValue("giverDailyRespects", session.GetHabbo().GetUserStats().DailyRespectPoints);
                        dbClient.AddParamWithValue("receiverId", target.Session.GetHabbo().ID);
                        dbClient.AddParamWithValue("receiverRespects", target.Session.GetHabbo().GetUserStats().RespectReceived);
                        dbClient.ExecuteQuery("UPDATE user_stats SET daily_respect_points = @giverDailyRespects, respect_given = @giverRespectsGiven WHERE user_id = @giverId LIMIT 1; UPDATE user_stats SET respect_received = @receiverRespects WHERE user_id = @receiverId LIMIT 1;");
                    }

                    session.GetHabbo().GetRoomSession().GetRoom().SendToAll(new MultiRevisionServerMessage(OutgoingPacketsEnum.GiveRespect, new ValueHolder("UserID", this.UserID, "Total", target.Session.GetHabbo().GetUserStats().RespectReceived)));
                    session.GetHabbo().GetRoomSession().GetRoom().SendToAll(new UserActionComposerHandler(this.UserID, ActionType.Thumb));
                }
            }
        }
        public void Handle(GameClient session, ClientMessage message)
        {
            Room room = session.GetHabbo().GetRoomSession().GetRoom();

            if (room != null && room.HaveOwnerRights(session))
            {
                foreach (uint userId in room.UsersWithRights)
                {
                    RoomUnitUser user = room.RoomUserManager.GetUserByID(userId);
                    if (user != null)
                    {
                        user.RemoveStatus("flatctrl");

                        ServerMessage roomRights = BasicUtilies.GetRevisionServerMessage(Revision.RELEASE63_35255_34886_201108111108);
                        roomRights.Init(r63aOutgoing.RemoveRoomRights);
                        user.Session.SendMessage(roomRights);
                    }

                    ServerMessage message_ = BasicUtilies.GetRevisionServerMessage(Revision.RELEASE63_35255_34886_201108111108);
                    message_.Init(r63aOutgoing.LostRights);
                    message_.AppendUInt(room.ID);
                    message_.AppendUInt(userId);
                    session.SendMessage(message_);
                }

                room.UsersWithRights.Clear();

                using (DatabaseClient dbClient = Skylight.GetDatabaseManager().GetClient())
                {
                    dbClient.AddParamWithValue("roomId", room.ID);
                    dbClient.ExecuteQuery("DELETE FROM room_rights WHERE room_id = @roomId");
                }
            }
        }
Example #7
0
 public FreezePlayer(Room room, RoomUnitUser user, GameTeam team)
 {
     this.Room = room;
     this.User = user;
     this.Team = team;
     this.Reset();
 }
        public void Handle(GameClient session, ClientMessage message)
        {
            Room room = session.GetHabbo().GetRoomSession().GetRoom();

            if (room != null)
            {
                string       username = message.PopFixedString();
                RoomUnitUser user     = room.RoomUserManager.GetUserByName(username);
                if (user != null)
                {
                    uint userId = user.Session.GetHabbo().ID;
                    if (session.GetHabbo().IgnoredUsers.Contains(userId))
                    {
                        session.GetHabbo().IgnoredUsers.Remove(userId);

                        using (DatabaseClient dbClient = Skylight.GetDatabaseManager().GetClient())
                        {
                            dbClient.AddParamWithValue("userId", session.GetHabbo().ID);
                            dbClient.AddParamWithValue("targetId", userId);
                            dbClient.ExecuteQuery("DELETE FROM user_ignores WHERE user_id = @userId AND ignored_id = @targetId LIMIT 1");
                        }

                        ServerMessage message_ = BasicUtilies.GetRevisionServerMessage(Revision.RELEASE63_35255_34886_201108111108);
                        message_.Init(r63aOutgoing.IgnoreStatus);
                        message_.AppendInt32(3);
                        session.SendMessage(message_);
                    }
                }
            }
        }
Example #9
0
        public override bool OnUse(GameClient session, string[] args)
        {
            if (session.GetHabbo().GetRoomSession().GetRoom().RoomData.ExtraData.RoleplayEnabled)
            {
                if (args.Length >= 2)
                {
                    GameClient target = Skylight.GetGame().GetGameClientManager().GetGameClientByUsername(args[1]);
                    if (target != null)
                    {
                        RoomUnitUser me    = session.GetHabbo().GetRoomSession().GetRoomUser();
                        RoomUnitUser other = target.GetHabbo().GetRoomSession().GetRoomUser();
                        if (target.GetHabbo().GetRoomSession().IsInRoom&& target.GetHabbo().GetRoomSession().CurrentRoomID == session.GetHabbo().GetRoomSession().CurrentRoomID)
                        {
                            bool doit = true;
                            if ((me.X + 1 != other.X || me.Y != other.Y) && (me.X - 1 != other.X || me.Y != other.Y) && (me.Y + 1 != other.Y || me.X != other.X))
                            {
                                bool skip = false;
                                if (me.X - 1 == other.X)
                                {
                                    if (me.Y == other.Y)
                                    {
                                        skip = true;
                                    }
                                }

                                if (!skip)
                                {
                                    doit = me.X == other.X || me.Y == other.Y;
                                }
                            }

                            if (doit)
                            {
                                int damage = RandomUtilies.GetRandom(5, 12);
                                other.Health -= damage;
                                if (other.Health - damage < 0)
                                {
                                    me.Speak("*Hits " + target.GetHabbo().Username + ", and kills them!*", false);
                                    other.Speak("*dies*", false);
                                    session.GetHabbo().GetRoomSession().GetRoom().RoomUserManager.KickUser(target, true);
                                }
                                else
                                {
                                    me.Speak("*Hits " + target.GetHabbo().Username + ", causing " + damage + " damage *", false);
                                    other.Speak("*Suffers " + damage + " damage from " + me.Session.GetHabbo().Username + ", leaving me with " + other.Health + " health*", false);
                                }
                            }
                        }
                    }
                }
            }
            else
            {
                session.SendNotif("RP is disabled on this room!");
            }

            return(true);
        }
Example #10
0
        public void Handle(GameClient session, ClientMessage message)
        {
            Room room = Skylight.GetGame().GetRoomManager().TryGetRoom(session.GetHabbo().GetRoomSession().CurrentRoomID);

            if (room != null && room.GaveRoomRights(session))
            {
                RoomUnitUser user = room.RoomUserManager.GetUserByName(message.PopStringUntilBreak(null));
                if (user != null && !room.HaveOwnerRights(user.Session) && !user.Session.GetHabbo().HasPermission("acc_unkickable"))
                {
                    room.RoomUserManager.KickUser(user.Session, true);
                }
            }
        }
Example #11
0
        public virtual void Handle(GameClient session, ClientMessage message)
        {
            RoomUnitUser user = session?.GetHabbo()?.GetRoomSession()?.CurrentRoomRoomUser;

            if (user != null)
            {
                user.Unidle();

                if (this.X != user.X || this.Y != user.Y)
                {
                    user.SetRotation(WalkRotation.Walk(user.X, user.Y, this.X, this.Y), false);
                }
            }
        }
        public virtual void Handle(GameClient session, ClientMessage message)
        {
            Room room;

            if ((room = session?.GetHabbo()?.GetRoomSession()?.GetRoom()) != null)
            {
                RoomUnitUser user = room.RoomUserManager.GetUserByVirtualID(this.VirtualID);
                if (user != null)
                {
                    RoomAllowTradeType tradeSettings = room.RoomData.AllowTrade;
                    if (tradeSettings == RoomAllowTradeType.ALLOWED || (tradeSettings == RoomAllowTradeType.OWNER_ONLY && room.HaveOwnerRights(session)) || (tradeSettings == RoomAllowTradeType.CATEGORY && (Skylight.GetGame().GetNavigatorManager().GetFlatCat(session.GetHabbo().GetRoomSession().GetRoom().RoomData.Category)?.CanTrade ?? false)))
                    {
                        if (session.GetHabbo().GetUserSettings().AcceptTrading)
                        {
                            if (!session.GetHabbo().GetRoomSession().GetRoomUser().HasStatus("trd"))
                            {
                                if (!user.HasStatus("trd"))
                                {
                                    if (user.Session.GetHabbo().GetUserSettings().AcceptTrading)
                                    {
                                        room.StartTrade(session.GetHabbo().GetRoomSession().GetRoomUser(), user);
                                    }
                                    else
                                    {
                                        session.SendMessage(new TradeStartErrorComposerHandler(TradeStartErrorCode.TargetCannotTrade));
                                    }
                                }
                                else
                                {
                                    session.SendMessage(new TradeStartErrorComposerHandler(TradeStartErrorCode.TargetTrading));
                                }
                            }
                            else
                            {
                                session.SendMessage(new TradeStartErrorComposerHandler(TradeStartErrorCode.TradeOpen));
                            }
                        }
                        else
                        {
                            session.SendMessage(new TradeStartErrorComposerHandler(TradeStartErrorCode.YourTradingDisabled));
                        }
                    }
                    else
                    {
                        session.SendMessage(new TradeStartErrorComposerHandler(TradeStartErrorCode.TradingNotAllowInRoom));
                    }
                }
            }
        }
Example #13
0
        public override bool OnUse(GameClient session, string[] args)
        {
            if (args.Length >= 2)
            {
                GameClient target = Skylight.GetGame().GetGameClientManager().GetGameClientByUsername(args[1]);
                if (target != null)
                {
                    RoomUnit     me    = session.GetHabbo().GetRoomSession().GetRoomUser();
                    RoomUnitUser other = target.GetHabbo().GetRoomSession().GetRoomUser();
                    if (target.GetHabbo().GetRoomSession().IsInRoom&& target.GetHabbo().GetRoomSession().CurrentRoomID == session.GetHabbo().GetRoomSession().CurrentRoomID)
                    {
                        bool doit = true;
                        if ((me.X + 1 != other.X || me.Y != other.Y) && (me.X - 1 != other.X || me.Y != other.Y) && (me.Y + 1 != other.Y || me.X != other.X))
                        {
                            bool skip = false;
                            if (me.X - 1 == other.X)
                            {
                                if (me.Y == other.Y)
                                {
                                    skip = true;
                                }
                            }

                            if (!skip)
                            {
                                doit = me.X == other.X || me.Y == other.Y;
                            }
                        }

                        if (doit)
                        {
                            me.Speak("*RKO'S " + other.Session.GetHabbo().Username + " OUT OF NO WHERE*", true);
                            other.Speak("Ouch", true);
                            if (!other.HasStatus("lay") && !other.HasStatus("sit"))
                            {
                                if (other.BodyRotation == 0 || other.BodyRotation == 2 || other.BodyRotation == 4 || other.BodyRotation == 6)
                                {
                                    other.AddStatus("sit", TextUtilies.DoubleWithDotDecimal((other.Z + 1) / 2 - other.Z * 0.5));
                                }
                            }
                        }

                        return(true);
                    }
                }
            }

            return(false);
        }
Example #14
0
        public void Handle(GameClient session, ClientMessage message)
        {
            uint userId = message.PopWiredUInt();

            Room room = session.GetHabbo().GetRoomSession().GetRoom();

            if (room != null)
            {
                RoomUnitUser user = room.RoomUserManager.GetUserByID(userId);
                if (user != null)
                {
                    session.SendMessage(OutgoingPacketsEnum.ActiveBadges, new ValueHolder("UserID", userId, "Badges", user.Session.GetHabbo().GetBadgeManager().GetActiveBadges()));
                }
            }
        }
Example #15
0
        public void Handle(GameClient session, ClientMessage message)
        {
            Room room = Skylight.GetGame().GetRoomManager().TryGetRoom(session.GetHabbo().GetRoomSession().CurrentRoomID);

            if (room != null && room.HaveOwnerRights(session))
            {
                uint userId = message.PopWiredUInt();

                RoomUnitUser user = room.RoomUserManager.GetUserByID(userId);
                if (user != null && !room.HaveOwnerRights(user.Session) && !user.Session.GetHabbo().HasPermission("acc_unbannable"))
                {
                    room.RoomUserManager.BanUser(user.Session);
                }
            }
        }
Example #16
0
        public void OnUserLeaveRoom(RoomUnitUser user)
        {
            if (!this.Room.HaveOwnerRights(user.Session))
            {
                if (user.UserID == this.PetData.OwnerID)
                {
                    this.Room.RoomUserManager.LeaveRoom(this);
                    user.Session.GetHabbo().GetInventoryManager().AddPet(this.PetData);
                }
            }

            if (this.Rider != null && this.Rider.VirtualID == user.VirtualID)
            {
                this.Rider = null;
            }
        }
Example #17
0
        public void Handle(GameClient session, ClientMessage message)
        {
            if (session != null && session.GetHabbo() != null && session.GetHabbo().GetRoomSession() != null)
            {
                Room room = Skylight.GetGame().GetRoomManager().TryGetRoom(session.GetHabbo().GetRoomSession().CurrentRoomID);
                if (room != null)
                {
                    RoomUnitUser user = session.GetHabbo().GetRoomSession().CurrentRoomRoomUser;
                    if (user != null)
                    {
                        user.Unidle();

                        room.SendToAll(new MultiRevisionServerMessage(OutgoingPacketsEnum.Wave, new ValueHolder("VirtualID", user.VirtualID)));
                    }
                }
            }
        }
        public void Handle(GameClient session, ClientMessage message)
        {
            RoomUnitUser user = session.GetHabbo().GetRoomSession().GetRoomUser();

            if (user != null)
            {
                string type = message.PopStringUntilBreak(null);
                if (type == "CarryItem")
                {
                    user.SetHanditem(0);
                }
                else if (type == "Dance")
                {
                    user.SetDance(0);
                }
            }
        }
Example #19
0
        public override bool OnUse(GameClient session, string[] args)
        {
            RoomUnitUser me = session.GetHabbo().GetRoomSession().GetRoomUser();

            if (me.Riding is RoomPet pet)
            {
                pet.Rider = null;

                me.Riding = null;
                me.StopMoving();
                me.UpdateState();
                me.ApplyEffect(0);
                me.Session.GetHabbo().GetUserStats().Equestrian = 0;
            }

            return(true);
        }
        public void Handle(GameClient session, ClientMessage message)
        {
            if (session != null && session.GetHabbo() != null)
            {
                RoomUnitUser roomUser = session.GetHabbo().GetRoomSession().GetRoomUser();
                if (roomUser != null)
                {
                    string gender = message.PopFixedString().ToUpper();
                    string figure = message.PopFixedString();

                    session.GetHabbo().Gender = gender;
                    session.GetHabbo().Look   = figure;

                    roomUser.FootballGateFigureActive = false;

                    using (DatabaseClient dbClient = Skylight.GetDatabaseManager().GetClient())
                    {
                        dbClient.AddParamWithValue("userId", session.GetHabbo().ID);
                        dbClient.AddParamWithValue("look", figure);
                        dbClient.AddParamWithValue("gender", gender);

                        dbClient.ExecuteQuery("UPDATE users SET look = @look, gender = @gender WHERE id = @userId LIMIT 1");
                    }

                    ServerMessage message_ = BasicUtilies.GetRevisionServerMessage(Revision.RELEASE63_35255_34886_201108111108);
                    message_.Init(r63aOutgoing.UpdateUser);
                    message_.AppendInt32(-1);
                    message_.AppendString(session.GetHabbo().Look);
                    message_.AppendString(session.GetHabbo().Gender.ToLower());
                    message_.AppendString(session.GetHabbo().Motto);
                    message_.AppendInt32(session.GetHabbo().GetUserStats().AchievementPoints);
                    session.SendMessage(message_);

                    ServerMessage message_2 = BasicUtilies.GetRevisionServerMessage(Revision.RELEASE63_35255_34886_201108111108);
                    message_2.Init(r63aOutgoing.UpdateUser);
                    message_2.AppendInt32(roomUser.VirtualID);
                    message_2.AppendString(session.GetHabbo().Look);
                    message_2.AppendString(session.GetHabbo().Gender.ToLower());
                    message_2.AppendString(session.GetHabbo().Motto);
                    message_2.AppendInt32(session.GetHabbo().GetUserStats().AchievementPoints);
                    roomUser.Room.SendToAll(message_2);

                    Skylight.GetGame().GetAchievementManager().AddAchievement(session, "AvatarLook", 1);
                }
            }
        }
Example #21
0
        public override bool OnUse(GameClient session, string[] args)
        {
            if (args.Length >= 2)
            {
                GameClient target = Skylight.GetGame().GetGameClientManager().GetGameClientByUsername(args[1]);
                if (target != null)
                {
                    RoomUnitUser me    = session.GetHabbo().GetRoomSession().GetRoomUser();
                    RoomUnitUser other = target.GetHabbo().GetRoomSession().GetRoomUser();
                    if (target.GetHabbo().GetRoomSession().IsInRoom&& target.GetHabbo().GetRoomSession().CurrentRoomID == session.GetHabbo().GetRoomSession().CurrentRoomID)
                    {
                        bool doit = true;
                        if ((me.X + 1 != other.X || me.Y != other.Y) && (me.X - 1 != other.X || me.Y != other.Y) && (me.Y + 1 != other.Y || me.X != other.X))
                        {
                            bool skip = false;
                            if (me.X - 1 == other.X)
                            {
                                if (me.Y == other.Y)
                                {
                                    skip = true;
                                }
                            }

                            if (!skip)
                            {
                                doit = me.X == other.X || me.Y == other.Y;
                            }
                        }

                        if (doit)
                        {
                            me.Speak("*Kisses " + target.GetHabbo().Username + " on the cheek!*", false);
                            other.Speak("*Blushes*", false);
                            me.ApplyEffect(9, 6);
                            other.ApplyEffect(9, 6);
                        }

                        return(true);
                    }
                }
            }

            return(false);
        }
Example #22
0
        public void Handle(GameClient session, ClientMessage message)
        {
            if (session != null && session.GetHabbo() != null && session.GetHabbo().GetRoomSession() != null)
            {
                RoomUnitUser user = session.GetHabbo().GetRoomSession().CurrentRoomRoomUser;
                if (user != null)
                {
                    user.Unidle();

                    int x = message.PopWiredInt32();
                    int y = message.PopWiredInt32();
                    if (x != user.X || y != user.Y)
                    {
                        int rotation = WalkRotation.Walk(user.X, user.Y, x, y);
                        user.SetRotation(rotation, false);
                    }
                }
            }
        }
Example #23
0
        public virtual void Handle(GameClient session, ClientMessage message)
        {
            Room room = session?.GetHabbo()?.GetRoomSession()?.GetRoom();

            if (room != null)
            {
                if (!room.RoomMute || session.GetHabbo().HasPermission("acc_ignore_roommute"))
                {
                    if (!session.GetHabbo().IsMuted())
                    {
                        session.GetHabbo().GetRoomSession().GetRoomUser().Unidle();

                        if (session.GetHabbo().GetRoomSession().GetRoomUser().CheckForFloor())
                        {
                            session.GetHabbo().GetRoomSession().GetRoomUser().FloodUser();
                        }
                        else
                        {
                            session.GetHabbo().LastRoomMessage = DateTime.Now;
                            session.GetHabbo().FloodCounter++;
                        }


                        RoomUnitUser user = room.RoomUserManager.GetUserByName(this.Username);
                        if (user != null)
                        {
                            string filteredMessage = TextUtilies.CheckBlacklistedWords(TextUtilies.FilterString(this.Message));

                            if (!session.GetHabbo().HasPermission("acc_nochatlog_whisper"))
                            {
                                Skylight.GetGame().GetChatlogManager().LogRoomMessage(session, "Whisper" + (char)9 + user.Session.GetHabbo().ID + (char)9 + this.Message);
                            }

                            session.GetHabbo().GetUserSettings().ChatColor = this.Bubble;

                            session.SendMessage(new ReceiveWhisperComposerHandler(session.GetHabbo().GetRoomSession().GetRoomUser().VirtualID, filteredMessage, this.Bubble));
                            user.Session.SendMessage(new ReceiveWhisperComposerHandler(session.GetHabbo().GetRoomSession().GetRoomUser().VirtualID, filteredMessage, this.Bubble));
                        }
                    }
                }
            }
        }
Example #24
0
        public void Handle(GameClient session, ClientMessage message)
        {
            Room room = session.GetHabbo().GetRoomSession().GetRoom();

            if (room != null && room.HaveOwnerRights(session))
            {
                int amount = message.PopWiredInt32();

                List <uint> users = new List <uint>();
                for (int i = 0; i < amount; i++)
                {
                    uint userId = message.PopWiredUInt();

                    room.UsersWithRights.Remove(userId);
                    users.Add(userId);

                    RoomUnitUser user = room.RoomUserManager.GetUserByID(userId);
                    if (user != null)
                    {
                        user.RemoveStatus("flatctrl");

                        ServerMessage roomRights = BasicUtilies.GetRevisionServerMessage(Revision.RELEASE63_35255_34886_201108111108);
                        roomRights.Init(r63aOutgoing.RemoveRoomRights);
                        user.Session.SendMessage(roomRights);
                    }

                    ServerMessage message_ = BasicUtilies.GetRevisionServerMessage(Revision.RELEASE63_35255_34886_201108111108);
                    message_.Init(r63aOutgoing.LostRights);
                    message_.AppendUInt(room.ID);
                    message_.AppendUInt(userId);
                    session.SendMessage(message_);
                }

                using (DatabaseClient dbClient = Skylight.GetDatabaseManager().GetClient())
                {
                    dbClient.AddParamWithValue("roomId", room.ID);
                    dbClient.ExecuteQuery("DELETE FROM room_rights WHERE room_id = @roomId AND user_id IN(" + string.Join(",", users) + ")");
                }
            }
        }
Example #25
0
        public void Handle(GameClient session, ClientMessage message)
        {
            Room room = session.GetHabbo().GetRoomSession().GetRoom();

            if (room != null)
            {
                FlatCat flatCat = Skylight.GetGame().GetNavigatorManager().GetFlatCat(room.RoomData.Category);
                if (flatCat != null && flatCat.CanTrade)
                {
                    int          virtualId = message.PopWiredInt32();
                    RoomUnitUser user      = room.RoomUserManager.GetUserByVirtualID(virtualId);
                    if (user != null && user.Session.GetHabbo().GetUserSettings().AcceptTrading)
                    {
                        room.StartTrade(session.GetHabbo().GetRoomSession().GetRoomUser(), user);
                    }
                }
                else
                {
                    session.SendNotif("Trading is disabled in this room!");
                }
            }
        }
Example #26
0
        public void Handle(GameClient session, ClientMessage message)
        {
            uint userId = message.PopWiredUInt();

            Room room = session.GetHabbo().GetRoomSession().GetRoom();

            if (room != null)
            {
                RoomUnitUser user = room.RoomUserManager.GetUserByID(userId);
                if (user != null)
                {
                    ServerMessage message_ = BasicUtilies.GetRevisionServerMessage(Revision.RELEASE63_201211141113_913728051);
                    message_.Init(r63bOutgoing.UserTags);
                    message_.AppendUInt(userId);
                    message_.AppendInt32(user.Session.GetHabbo().Tags.Count);
                    foreach (string tag in user.Session.GetHabbo().Tags)
                    {
                        message_.AppendString(tag);
                    }
                    session.SendMessage(message_);
                }
            }
        }
Example #27
0
        public virtual void OnUserSpeak(RoomUnitUser user, string message, bool shout)
        {
            if (!shout)
            {
                if (Math.Abs(this.X - user.X) + Math.Abs(this.Y - user.Y) <= 8)
                {
                    BotResponse response = this.Data.BotResponses.FirstOrDefault(r => r.Keywords.Any(s => message.ToLower().Contains(s.ToLower())));
                    if (response != null)
                    {
                        if (response.ResponseMode == 0)
                        {
                            this.Speak(response.ResponseText, false);
                        }
                        else if (response.ResponseMode == 1)
                        {
                            this.Speak(response.ResponseText, true);
                        }
                        else if (response.ResponseMode == 2)
                        {
                            ServerMessage whisper = BasicUtilies.GetRevisionServerMessage(Revision.RELEASE63_35255_34886_201108111108);
                            whisper.Init(r63aOutgoing.Whisper);
                            whisper.AppendInt32(this.VirtualID);
                            whisper.AppendString(response.ResponseText);
                            whisper.AppendInt32(0); //gesture
                            whisper.AppendInt32(0); //links count
                            this.Room.SendToAll(whisper);
                        }

                        if (response.ServerID > 0)
                        {
                            user.SetHanditem(response.ServerID);
                        }
                    }
                }
            }
        }
Example #28
0
        public virtual void Handle(GameClient session, ClientMessage message)
        {
            if (this.Gender.EqualsIgnoreCase("M") || this.Gender.EqualsIgnoreCase("F"))
            {
                session.GetHabbo().Gender = this.Gender;
                session.GetHabbo().Look   = this.Look;

                session.SendMessage(new UpdateUserLookComposerHandler(this.Look, this.Gender));

                RoomUnitUser roomUser = session.GetHabbo().GetRoomSession().GetRoomUser();
                if (roomUser != null)
                {
                    roomUser.FootballGateFigureActive = false;

                    roomUser.Room.SendToAll(new UpdateRoomUserComposerHandler(roomUser.VirtualID, this.Look, this.Gender, session.GetHabbo().Motto, session.GetHabbo().GetUserStats().AchievementPoints));
                }

                Skylight.GetGame().GetAchievementManager().AddAchievement(session, "AvatarLook", 1);
            }
            else
            {
                session.SendLeetScripter();
            }
        }
Example #29
0
 public void Handle(GameClient session, ClientMessage message)
 {
     if (session != null && session.GetHabbo() != null && session.GetHabbo().GetRoomSession() != null)
     {
         RoomUnitUser user = session.GetHabbo().GetRoomSession().CurrentRoomRoomUser;
         if (user != null)
         {
             if (user.Riding != null)
             {
                 int x = message.PopWiredInt32();
                 int y = message.PopWiredInt32();
                 user.Riding.MoveTo(x, y);
             }
             else
             {
                 if ((user.RestrictMovementType & RestrictMovementType.Client) == 0)
                 {
                     int x = message.PopWiredInt32();
                     int y = message.PopWiredInt32();
                     if (user.X != x || user.Y != y)
                     {
                         if (user.Teleport)
                         {
                             user.StopMoving();
                             user.SetLocation(x, y, user.Z);
                         }
                         else
                         {
                             user.MoveTo(x, y);
                         }
                     }
                 }
             }
         }
     }
 }
Example #30
0
        public void Handle(GameClient session, ClientMessage message)
        {
            uint userId = message.PopWiredUInt();

            Room room = session.GetHabbo().GetRoomSession().GetRoom();

            if (room != null && room.HaveOwnerRights(session))
            {
                RoomUnitUser user = room.RoomUserManager.GetUserByID(userId);
                if (user != null && !room.UsersWithRights.Contains(userId))
                {
                    room.UsersWithRights.Add(userId);

                    using (DatabaseClient dbClient = Skylight.GetDatabaseManager().GetClient())
                    {
                        dbClient.AddParamWithValue("roomId", room.ID);
                        dbClient.AddParamWithValue("userId", userId);

                        dbClient.ExecuteQuery("INSERT INTO room_rights(room_id, user_id) VALUES(@roomId, @userId)");
                    }

                    ServerMessage message_ = BasicUtilies.GetRevisionServerMessage(Revision.RELEASE63_35255_34886_201108111108);
                    message_.Init(r63aOutgoing.GotRights);
                    message_.AppendUInt(room.ID);
                    message_.AppendUInt(user.UserID);
                    message_.AppendString(user.Session.GetHabbo().Username);
                    room.SendToAllWhoHaveOwnerRights(message_);

                    user.AddStatus("flatctrl", "");

                    ServerMessage roomRights = BasicUtilies.GetRevisionServerMessage(Revision.RELEASE63_35255_34886_201108111108);
                    roomRights.Init(r63aOutgoing.GiveRoomRights);
                    user.Session.SendMessage(roomRights);
                }
            }
        }