Ejemplo n.º 1
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.º 2
0
        public bool Execute(params object[] Params)
        {
            if (Params == null || Params.Length == 0)
            {
                return(false);
            }
            Habbo Player = (Habbo)Params[0];

            if (Player == null || Player.GetClient() == null)
            {
                return(false);
            }
            Habbo Owner = RocketEmulador.GetHabboById(Player.Id);

            if (Owner == null || !Owner.GetPermissions().HasRight("room_item_wired_rewards"))
            {
                Player.GetClient().SendMessage(new RoomNotificationComposer("supernoti", "message", "Você não tem permissão para utilizar este wired..."));
            }
            RoomUser User = Player.CurrentRoom.GetRoomUserManager().GetRoomUserByHabbo(Player.Username);

            if (User == null)
            {
                return(false);
            }
            if (string.IsNullOrEmpty(this.StringData))
            {
                return(false);
            }
            string HandI = this.StringData;

            User.CarryItem(Convert.ToInt32(HandI));
            return(true);
        }
Ejemplo n.º 3
0
        public bool Execute(params object[] Params)
        {
            if (Params == null || Params.Length == 0)
            {
                return(false);
            }


            Habbo Player = (Habbo)Params[0];

            if (Player == null || Player.GetClient() == null)
            {
                return(false);
            }

            RoomUser User = Player.CurrentRoom.GetRoomUserManager().GetRoomUserByHabbo(Player.Username);

            if (User == null)
            {
                return(false);
            }

            if (String.IsNullOrEmpty(StringData))
            {
                return(false);
            }

            string HandI = StringData;

            User.CarryItem(Convert.ToInt32(HandI));
            Player.GetClient().SendMessage(RoomNotificationComposer.SendBubble("wfhanditem", "" + User.GetClient().GetHabbo().Username + ", acabas de recibir una bebida u otro objeto similar por un efecto de Wired.", ""));

            return(true);
        }
Ejemplo n.º 4
0
        public void Execute(GameClient Session, Room Room, RoomUser UserRoom, string[] Params)
        {
            if (Params.Length != 2)
            {
                return;
            }
            Room room = ButterflyEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

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

            if (roomUserByHabbo1 == null || roomUserByHabbo1.CarryItemID <= 0 || roomUserByHabbo1.CarryTimer <= 0)
            {
                return;
            }
            RoomUser roomUserByHabbo2 = room.GetRoomUserManager().GetRoomUserByHabbo(Params[1]);

            if (roomUserByHabbo2 == null)
            {
                return;
            }
            if (Math.Abs(roomUserByHabbo1.X - roomUserByHabbo2.X) >= 3 || Math.Abs(roomUserByHabbo1.Y - roomUserByHabbo2.Y) >= 3)
            {
                return;
            }

            roomUserByHabbo2.CarryItem(roomUserByHabbo1.CarryItemID);
            roomUserByHabbo1.CarryItem(0);
        }
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 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.º 6
0
        public bool Execute(params object[] Params)
        {
            if (Params == null || Params.Length == 0)
            {
                return(false);
            }

            if (String.IsNullOrEmpty(this.StringData))
            {
                return(false);
            }

            Habbo Player = (Habbo)Params[0];

            if (Player == null)
            {
                return(false);
            }


            RoomUser Actor = this.Instance.GetRoomUserManager().GetRoomUserByHabbo(Player.Id);

            if (Actor == null)
            {
                return(true);
            }

            RoomUser User = this.Instance.GetRoomUserManager().GetBotByName(this.StringData.Split(';')[0]);

            if (User == null)
            {
                return(false);
            }

            if (User.BotData.TargetUser == 0)
            {
                if (!Instance.GetGameMap().CanWalk(Actor.SquareBehind.X, Actor.SquareBehind.Y, false))
                {
                    return(false);
                }

                string[] Data = this.StringData.Split(';');

                int DrinkId;

                if (!int.TryParse(Data[1], out DrinkId))
                {
                    return(false);
                }

                User.CarryItem(DrinkId);
                Actor.CarryItem(DrinkId);
                Actor.BotData.TargetUser = Actor.HabboId;
            }
            User.MoveTo(Actor.SquareBehind.X, Actor.SquareBehind.Y);



            return(true);
        }
Ejemplo n.º 7
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.º 8
0
        public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet)
        {
            if (!Session.GetHabbo().InRoom)
            {
                return;
            }

            Room Room;

            if (!RocketEmulador.GetGame().GetRoomManager().TryGetRoom(Session.GetHabbo().CurrentRoomId, out Room))
            {
                return;
            }

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

            if (User == null)
            {
                return;
            }

            if (User.CarryItemID > 0 && User.CarryTimer > 0)
            {
                User.CarryItem(0);
            }
        }
Ejemplo n.º 9
0
        public void Parse(GameClient Session, ClientPacket Packet)
        {
            if (Session.GetHabbo() == null)
            {
                return;
            }

            Room room = ButterflyEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

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

            if (roomUserByHabbo1 == null || roomUserByHabbo1.CarryItemID <= 0 || roomUserByHabbo1.CarryTimer <= 0)
            {
                return;
            }
            RoomUser roomUserByHabbo2 = room.GetRoomUserManager().GetRoomUserByHabboId(Packet.PopInt());

            if (roomUserByHabbo2 == null)
            {
                return;
            }
            if (Math.Abs(roomUserByHabbo1.X - roomUserByHabbo2.X) >= 3 || Math.Abs(roomUserByHabbo1.Y - roomUserByHabbo2.Y) >= 3)
            {
                roomUserByHabbo1.MoveTo(roomUserByHabbo2.X, roomUserByHabbo2.Y);
                return;
            }

            roomUserByHabbo2.CarryItem(roomUserByHabbo1.CarryItemID);
            roomUserByHabbo1.CarryItem(0);
        }
Ejemplo n.º 10
0
        public override bool Execute(GameClient session, string[] pms)
        {
            ushort itemId;

            if (!ushort.TryParse(pms[0], out itemId))
            {
                return(true);
            }

            RoomUser user = session.GetHabbo().CurrentRoom.GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().UserName);

            if (user.RidingHorse)
            {
                session.SendWhisper(Yupi.GetLanguage().GetVar("horse_handitem_error"));
                return(true);
            }

            if (user.IsLyingDown)
            {
                return(true);
            }

            user.CarryItem(itemId);

            return(true);
        }
Ejemplo n.º 11
0
        public void Execute(GameClients.GameClient Session, Room Room, string[] Params)
        {
            if (ExtraSettings.STAFF_EFFECT_ENABLED_ROOM)
            {
                if (Session.GetHabbo().isLoggedIn&& Session.GetHabbo().Rank > Convert.ToInt32(BiosEmuThiago.GetConfig().data["MineRankStaff"]))
                {
                }
                else
                {
                    Session.SendWhisper("Você precisa estar logado como staff para usar este comando.");
                    return;
                }
            }
            int ItemId = 0;

            if (!int.TryParse(Convert.ToString(Params[1]), out ItemId))
            {
                Session.SendWhisper("Por favor, introduza um número válido.");
                return;
            }

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

            if (User == null)
            {
                return;
            }

            User.CarryItem(ItemId);
        }
Ejemplo n.º 12
0
        public bool Execute(params object[] Params)
        {
            if (Params == null || Params.Length == 0)
            {
                return(false);
            }

            if (String.IsNullOrEmpty(this.StringData))
            {
                return(false);
            }

            Habbo Player = (Habbo)Params[0];

            if (Player == null)
            {
                return(false);
            }

            RoomUser Actor = this.Instance.GetRoomUserManager().GetRoomUserByHabbo(Player.Id);

            if (Actor == null)
            {
                return(false);
            }

            RoomUser User = this.Instance.GetRoomUserManager().GetBotByName(this.StringData.Split(';')[0]);

            if (User == null)
            {
                return(false);
            }

            if (User.BotData.TargetUser == 0)
            {
                if (!Instance.GetGameMap().CanWalk(Actor.SquareBehind.X, Actor.SquareBehind.Y, false))
                {
                    Player.GetClient().SendMessage(new WhisperComposer(User.VirtualId, "No puedo alcanzarte ¡debes acercarte más a mi!", 0, 31));
                }
                else
                {
                    string[] Data = this.StringData.Split(';');

                    int DrinkId = int.Parse(Data[1]);

                    User.CarryItem(DrinkId);
                    User.BotData.TargetUser = Actor.HabboId;
                    Player.GetClient().SendMessage(new WhisperComposer(User.VirtualId, "Aquí tienes tu bebida " + Player.GetClient().GetHabbo().Username + "!", 0, 31));

                    User.MoveTo(Actor.SquareBehind.X, Actor.SquareBehind.Y);
                }
            }
            return(true);
        }
Ejemplo n.º 13
0
 public override void OnUserSay(RoomUser RoomUser_0, string string_0)
 {
     try
     {
         foreach (BotResponse br in botResponse)
         {
             if (br.ContainsWord(string_0))
             {
                 if (RoomUser_0 != null && RoomUser_0.GetClient() != null && br.ContainsWord(string_0) && this.uBot.BotType != "spybot" && this.uBot.BotType != "drinkbot")
                 {
                     if (RoomUser_0 != null && RoomUser_0.GetClient() != null && RoomUser_0.GetClient().GetHabbo() != null)
                     {
                         base.GetRoomUser().HandleSpeech(null, br.Response.Replace("%username%", RoomUser_0.GetClient().GetHabbo().Username), br.Shout);
                     }
                 }
                 else if (RoomUser_0 != null && RoomUser_0.GetClient() != null && br.ContainsWord(string_0) && this.uBot.BotType == "spybot" && RoomUser_0.GetClient().GetHabbo().Username == this.GetRoomUser().GetRoom().Owner)
                 {
                     using (DatabaseClient dbClient = Essential.GetDatabase().GetClient())
                     {
                         string text = "";
                         string username;
                         foreach (DataRow dr in dbClient.ReadDataTable("SELECT user_id FROM user_roomvisits WHERE room_id=" + base.GetRoomUser().GetRoom().Id + " ORDER BY exit_timestamp DESC LIMIT 10").Rows)
                         {
                             username = dbClient.ReadString("SELECT username FROM users WHERE id=" + dr["user_id"].ToString());
                             if (text == "")
                             {
                                 text = username;
                             }
                             else
                             {
                                 text = text + ", " + username;
                             }
                         }
                         base.GetRoomUser().HandleSpeech(null, "Die letzen 10 Habbos in deinem Raum waren:", false);
                         base.GetRoomUser().HandleSpeech(null, text, false);
                     }
                 }
                 else if (RoomUser_0 != null && RoomUser_0.GetClient() != null && br.ContainsWord(string_0) && this.uBot.BotType == "drinkbot")
                 {
                     if (br.ServeId > 0)
                     {
                         base.GetRoomUser().CarryItem(br.ServeId);
                         base.GetRoomUser().HandleSpeech(null, br.Response.Replace("%username%", RoomUser_0.GetClient().GetHabbo().Username), br.Shout);
                         base.GetRoomUser().CarryItem(0);
                         RoomUser_0.CarryItem(br.ServeId);
                     }
                 }
             }
         }
     }
     catch { }
 }
Ejemplo n.º 14
0
        private void SendHanditemToUser(Habbo Player)
        {
            RoomUser User = Player.CurrentRoom.GetRoomUserManager().GetRoomUserByHabbo(Player.Username);

            if (User == null)
            {
                return;
            }

            var handitem = int.Parse(StringData);

            User.CarryItem(handitem);
        }
        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.º 16
0
        public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet)
        {
            if (!Session.GetHabbo().InRoom)
            {
                return;
            }

            Room Room;

            if (!QuasarEnvironment.GetGame().GetRoomManager().TryGetRoom(Session.GetHabbo().CurrentRoomId, out Room))
            {
                return;
            }

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

            if (User == null)
            {
                return;
            }

            User.UnIdle();

            int DanceId = Packet.PopInt();

            if (DanceId < 0 || DanceId > 4)
            {
                DanceId = 0;
            }

            if (DanceId > 0 && User.CarryItemID > 0)
            {
                User.CarryItem(0);
            }

            if (Session.GetHabbo().Effects().CurrentEffect > 0)
            {
                Room.SendMessage(new AvatarEffectComposer(User.VirtualId, 0));
            }

            User.DanceId = DanceId;

            Room.SendMessage(new DanceComposer(User, DanceId));
            QuasarEnvironment.GetGame().GetAchievementManager().ProgressAchievement(Session, "ACH_ExploreDance", 1);

            QuasarEnvironment.GetGame().GetQuestManager().ProgressUserQuest(Session, QuestType.SOCIAL_DANCE);
            if (Room.GetRoomUserManager().GetRoomUsers().Count > 19)
            {
                QuasarEnvironment.GetGame().GetQuestManager().ProgressUserQuest(Session, QuestType.MASS_DANCE);
            }
        }
Ejemplo n.º 17
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.º 18
0
        public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet)
        {
            if (!Session.GetHabbo().InRoom)
            {
                return;
            }

            Room Room;

            if (!PlusEnvironment.GetGame().GetRoomManager().TryGetRoom(Session.GetHabbo().CurrentRoomId, out Room))
            {
                return;
            }

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

            if (User == null)
            {
                return;
            }

            User.UnIdle();

            int DanceId = Packet.PopInt();

            if (DanceId < 0 || DanceId > 4)
            {
                DanceId = 0;
            }

            if (DanceId > 0 && User.CarryItemID > 0)
            {
                User.CarryItem(0);
            }

            if (Session.GetHabbo().Effects().CurrentEffect > 0)
            {
                Room.SendPacket(new AvatarEffectComposer(User.VirtualId, 0));
            }

            User.DanceId = DanceId;

            Room.SendPacket(new DanceComposer(User, DanceId));

            PlusEnvironment.GetGame().GetQuestManager().ProgressUserQuest(Session, QuestType.SocialDance);
            if (Room.GetRoomUserManager().GetRoomUsers().Count > 19)
            {
                PlusEnvironment.GetGame().GetQuestManager().ProgressUserQuest(Session, QuestType.MassDance);
            }
        }
Ejemplo n.º 19
0
        public void Parse(GameClient session, ClientPacket packet)
        {
            if (!session.GetHabbo().InRoom)
            {
                return;
            }

            if (!PlusEnvironment.GetGame().GetRoomManager().TryGetRoom(session.GetHabbo().CurrentRoomId, out Room room))
            {
                return;
            }

            RoomUser user = room.GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id);

            if (user == null)
            {
                return;
            }

            user.UnIdle();

            int danceId = packet.PopInt();

            if (danceId < 0 || danceId > 4)
            {
                danceId = 0;
            }

            if (danceId > 0 && user.CarryItemId > 0)
            {
                user.CarryItem(0);
            }

            if (session.GetHabbo().Effects().CurrentEffect > 0)
            {
                room.SendPacket(new AvatarEffectComposer(user.VirtualId, 0));
            }

            user.DanceId = danceId;

            room.SendPacket(new DanceComposer(user.VirtualId, danceId));

            PlusEnvironment.GetGame().GetQuestManager().ProgressUserQuest(session, QuestType.SocialDance);
            if (room.GetRoomUserManager().GetRoomUsers().Count > 19)
            {
                PlusEnvironment.GetGame().GetQuestManager().ProgressUserQuest(session, QuestType.MassDance);
            }
        }
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 || roomUserByHabbo.CarryItemID <= 0 || roomUserByHabbo.CarryTimer <= 0)
            {
                return;
            }
            roomUserByHabbo.CarryItem(0);
        }
Ejemplo n.º 21
0
        public bool Execute(params object[] stuff)
        {
            RoomUser roomUser = (RoomUser)stuff[0];
            int      handitem = Delay / 500;

            if (handitem < 0)
            {
                return(false);
            }

            roomUser.CarryItem(handitem);
            RoomUser bot = Room.GetRoomUserManager().GetBotByName(OtherString);

            bot?.Chat(null, Yupi.GetLanguage().GetVar("bot_give_handitem"), false, 0);
            return(true);
        }
Ejemplo n.º 22
0
        public void Execute(GameClients.GameClient Session, Room Room, string[] Params)
        {
            if (!int.TryParse(Convert.ToString(Params[1]), out int ItemId))
            {
                Session.SendWhisper("Por favor introduzca un item valido", 34);
                return;
            }

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

            if (User == null)
            {
                return;
            }

            User.CarryItem(ItemId);
        }
Ejemplo n.º 23
0
 private void DoAction(RoomUser user)
 {
     if (!string.IsNullOrEmpty(botname))
     {
         List <RoomUser> botList = room.GetRoomUserManager().GetBots;
         foreach (RoomUser bot in botList)
         {
             if (bot.GetUsername().ToLower().Equals(botname.ToLower()))
             {
                 if (user != null)
                 {
                     bot.MoveTo(user.SquareInFront);
                     user.CarryItem(handitem);
                 }
                 break;
             }
         }
     }
 }
Ejemplo n.º 24
0
        public void Execute(GameClients.GameClient Session, Room Room, string[] Params)
        {
            int ItemId = 0;

            if (!int.TryParse(Convert.ToString(Params[1]), out ItemId))
            {
                Session.SendWhisper("Please enter a valid integer.");
                return;
            }

            RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.Habbo.Id);

            if (User == null)
            {
                return;
            }

            User.CarryItem(ItemId);
        }
Ejemplo n.º 25
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.º 26
0
 public override void OnUserSay(RoomUser RoomUser_0, string string_0)
 {
     if (base.GetRoom().method_100(base.GetRoomUser().X, base.GetRoomUser().Y, RoomUser_0.X, RoomUser_0.Y) <= 8)
     {
         BotResponse @class = base.GetRoomBot().GetResponse(string_0);
         if (@class != null)
         {
             string text  = base.GetRoom().method_20(RoomUser_0, @class.Response);
             string text2 = @class.ResponseType.ToLower();
             if (text2 != null)
             {
                 if (!(text2 == "say"))
                 {
                     if (!(text2 == "shout"))
                     {
                         if (text2 == "whisper")
                         {
                             ServerMessage Message = new ServerMessage(Outgoing.Whisp); // Updated
                             Message.AppendInt32(base.GetRoomUser().VirtualId);
                             Message.AppendStringWithBreak(text);
                             Message.AppendInt32(0);
                             Message.AppendInt32(0);
                             Message.AppendInt32(-1);
                             RoomUser_0.GetClient().SendMessage(Message);
                         }
                     }
                     else
                     {
                         base.GetRoomUser().HandleSpeech(null, text, true);
                     }
                 }
                 else
                 {
                     base.GetRoomUser().HandleSpeech(null, text, false);
                 }
             }
             if (@class.ServeId >= 1)
             {
                 RoomUser_0.CarryItem(@class.ServeId);
             }
         }
     }
 }
Ejemplo n.º 27
0
		public override void OnUserSay(RoomUser RoomUser_0, string string_0)
		{
            if (base.GetRoom().method_100(base.GetRoomUser().X, base.GetRoomUser().Y, RoomUser_0.X, RoomUser_0.Y) <= 8)
			{
                BotResponse @class = base.GetRoomBot().GetResponse(string_0);
				if (@class != null)
				{
                    string text = base.GetRoom().method_20(RoomUser_0, @class.Response);
					string text2 = @class.ResponseType.ToLower();
					if (text2 != null)
					{
						if (!(text2 == "say"))
						{
							if (!(text2 == "shout"))
							{
								if (text2 == "whisper")
								{
                                    ServerMessage Message = new ServerMessage(Outgoing.Whisp); // Updated
									Message.AppendInt32(base.GetRoomUser().VirtualId);
									Message.AppendStringWithBreak(text);
                                    Message.AppendInt32(0);
                                    Message.AppendInt32(0);
                                    Message.AppendInt32(-1);
									RoomUser_0.GetClient().SendMessage(Message);
								}
							}
							else
							{
								base.GetRoomUser().HandleSpeech(null, text, true);
							}
						}
						else
						{
							base.GetRoomUser().HandleSpeech(null, text, false);
						}
					}
					if (@class.ServeId >= 1)
					{
						RoomUser_0.CarryItem(@class.ServeId);
					}
				}
			}
		}
Ejemplo n.º 28
0
        public void Execute(GameClients.GameClient Session, Room Room, string[] Params)
        {
            int ItemId = 0;

            if (!int.TryParse(Convert.ToString(Params[1]), out ItemId))
            {
                Session.SendWhisper("Digite um item válido.", 1);
                return;
            }

            RoomUser User = Session.GetRoomUser();

            if (User == null)
            {
                return;
            }

            User.CarryItem(ItemId);
        }
Ejemplo n.º 29
0
        public void Handle(RoomUser user, Team team, RoomItem item)
        {
            //InteractorGenericSwitch.DoAnimation(itemID);
            if (user != null && !user.IsBot && user.GetClient() != null && user.GetClient().GetHabbo() != null && user.GetClient().GetHabbo().GetAvatarEffectsInventoryComponent() != null && message.Length > 0)
            {
                int effects = Convert.ToInt16(message);
                if (effects < 0 || effects > 105)
                {
                    effects = 0;
                }

                if (user.CarryItemID == effects)
                {
                    effects = 0;
                }

                user.CarryItem(effects);
            }
        }
        public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet)
        {
            if (Session == null || Session.GetHabbo() == null || !Session.GetHabbo().InRoom)
            {
                return;
            }

            Room Room = null;

            if (!BiosEmuThiago.GetGame().GetRoomManager().TryGetRoom(Session.GetHabbo().CurrentRoomId, out Room))
            {
                return;
            }

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

            if (User == null)
            {
                return;
            }

            RoomUser TargetUser = Room.GetRoomUserManager().GetRoomUserByHabbo(Packet.PopInt());

            if (TargetUser == null)
            {
                return;
            }

            if (!((Math.Abs((User.X - TargetUser.X)) >= 3) || (Math.Abs((User.Y - TargetUser.Y)) >= 3)) || Session.GetHabbo().GetPermissions().HasRight("mod_tool"))
            {
                if (User.CarryItemID > 0 && User.CarryTimer > 0)
                {
                    if (User.CarryItemID == 8)
                    {
                        BiosEmuThiago.GetGame().GetQuestManager().ProgressUserQuest(Session, QuestType.GIVE_COFFEE);
                    }
                    TargetUser.CarryItem(User.CarryItemID);
                    User.CarryItem(0);
                    TargetUser.DanceId = 0;
                }
            }
        }
Ejemplo n.º 31
0
        public override void OnUserShout(RoomUser User, string Message)
        {
            if (User == null || User.GetClient() == null || User.GetClient().GetHabbo() == null)
            {
                return;
            }

            if (Gamemap.TileDistance(GetRoomUser().X, GetRoomUser().Y, User.X, User.Y) > 8)
            {
                return;
            }

            BotResponse Response = PlusEnvironment.GetGame().GetBotManager().GetResponse(GetBotData().AiType, Message);

            if (Response == null)
            {
                return;
            }

            switch (Response.ResponseType.ToLower())
            {
            case "say":
            case "dizer":
                GetRoomUser().Chat(Response.ResponseText.Replace("{username}", User.GetClient().GetHabbo().Username), false);
                break;

            case "shout":
            case "gritar":
                GetRoomUser().Chat(Response.ResponseText.Replace("{username}", User.GetClient().GetHabbo().Username), true);
                break;

            case "whisper":
            case "sussurrar":
                User.GetClient().SendMessage(new WhisperComposer(GetRoomUser().VirtualId, Response.ResponseText.Replace("{username}", User.GetClient().GetHabbo().Username), 0, 0));
                break;
            }

            if (Response.BeverageIds.Count > 0)
            {
                User.CarryItem(Response.BeverageIds[RandomNumber.GenerateRandom(0, (Response.BeverageIds.Count - 1))]);
            }
        }
Ejemplo n.º 32
0
        /// <summary>
        ///     Turns the user thread
        /// </summary>
        /// <param name="roomUsers"></param>
        internal void UserCycleOnRoom(RoomUser roomUsers)
        {
            // Region Check User Elegibility
            if (!IsValid(roomUsers))
            {
                if (roomUsers.GetClient() != null)
                    RemoveUserFromRoom(roomUsers.GetClient(), false, false);
                else
                    RemoveRoomUser(roomUsers);
            }

            // Region Check User Remove Unlocking
            lock (_removeUsers)
            {
                if (roomUsers.NeedsAutokick && !_removeUsers.Contains(roomUsers))
                {
                    _removeUsers.Add(roomUsers);
                    return;
                }
            }

            // Region Idle and Room Tiem Check
            roomUsers.IdleTime++;

            // Region User Achievement of Room
            UserRoomTimeCycles(roomUsers);

            // Carry Item Hand Checking
            if (roomUsers.CarryItemId > 0)
            {
                roomUsers.CarryTimer--;

                // If The Carry Timer is 0.. Remove CarryItem.
                if (roomUsers.CarryTimer <= 0)
                    roomUsers.CarryItem(0);
            }

            // Region Check User Got Freezed
            if (_userRoom.GotFreeze())
                Freeze.CycleUser(roomUsers);

            // Region Variable Registering
            bool invalidStep = false;
            // Region Check User Tile Selection
            if (roomUsers.SetStep)
            {
                // Check if User is Going to the Door.
                lock (_removeUsers)
                {
                    if ((roomUsers.SetX == _userRoom.GetGameMap().Model.DoorX) && (roomUsers.SetY == _userRoom.GetGameMap().Model.DoorY) && !_removeUsers.Contains(roomUsers) && !roomUsers.IsBot && !roomUsers.IsPet)
                    {
                        _removeUsers.Add(roomUsers);
                        return;
                    }
                }

                // Check Elegibility of Walk In Tile
                invalidStep = UserCanWalkInTile(roomUsers);

                // User isn't Anymore Set a Tile to Walk
                roomUsers.SetStep = false;
            }

            // Pet Must Stop Too!
            if ((roomUsers.GoalX == roomUsers.X) && (roomUsers.GoalY == roomUsers.Y) && roomUsers.RidingHorse && !roomUsers.IsPet)
            {
                RoomUser horseStopWalkRidingPet = GetRoomUserByVirtualId(Convert.ToInt32(roomUsers.HorseId));

                if (horseStopWalkRidingPet != null)
                {
                    ServerMessage horseStopWalkRidingPetMessage =
                        new ServerMessage(LibraryParser.OutgoingRequest("UpdateUserStatusMessageComposer"));
                    horseStopWalkRidingPetMessage.AppendInteger(1);
                    horseStopWalkRidingPet.SerializeStatus(horseStopWalkRidingPetMessage, "");
                    _userRoom.SendMessage(horseStopWalkRidingPetMessage);

                    horseStopWalkRidingPet.IsWalking = false;
                    horseStopWalkRidingPet.ClearMovement();
                }
            }

            // User Reached Goal Need Stop.
            if (((roomUsers.GoalX == roomUsers.X) && (roomUsers.GoalY == roomUsers.Y)) || roomUsers.Freezed)
            {
                roomUsers.IsWalking = false;
                roomUsers.ClearMovement();
                roomUsers.SetStep = false;
                UpdateUserStatus(roomUsers, false);
            }

            // Check if Proably the Pathfinder is with Some Errors..
            if (roomUsers.PathRecalcNeeded)
            {
                roomUsers.Path.Clear();
                roomUsers.Path = PathFinder.FindPath(roomUsers, _userRoom.GetGameMap().DiagonalEnabled,
                    _userRoom.GetGameMap(), new Vector2D(roomUsers.X, roomUsers.Y),
                    new Vector2D(roomUsers.GoalX, roomUsers.GoalY));

                if (roomUsers.Path.Count > 1)
                {
                    roomUsers.PathStep = 1;
                    roomUsers.IsWalking = true;
                    roomUsers.PathRecalcNeeded = false;
                }
                else
                {
                    roomUsers.PathRecalcNeeded = false;
                    roomUsers.Path.Clear();
                }
            }

            // If user Isn't Walking, Let's go Back..
            if (!roomUsers.IsWalking || roomUsers.Freezed)
            {
                if (roomUsers.Statusses.ContainsKey("mv"))
                    roomUsers.ClearMovement();
            }
            else
            {
                // If he Want's to Walk.. Let's Continue!..

                // Let's go to The Tile! And Walk :D
                UserGoToTile(roomUsers, invalidStep);

                // If User isn't Riding, Must Update Statusses...
                if (!roomUsers.RidingHorse)
                    roomUsers.UpdateNeeded = true;
            }

            // If is a Bot.. Let's Tick the Time Count of Bot..
            if (roomUsers.IsBot)
                roomUsers.BotAi.OnTimerTick();

            UpdateUserEffect(roomUsers, roomUsers.X, roomUsers.Y);
        }
Ejemplo n.º 33
0
        public override void OnUserShout(RoomUser User, string Message)
        {
            if (User == null || User.GetClient() == null || User.GetClient().GetHabbo() == null)
                return;

            if (Gamemap.TileDistance(GetRoomUser().X, GetRoomUser().Y, User.X, User.Y) > 8)
                return;

            BotResponse Response = PlusEnvironment.GetGame().GetBotManager().GetResponse(GetBotData().AiType, Message);
            if (Response == null)
                return;

            switch (Response.ResponseType.ToLower())
            {
                case "say":
                    GetRoomUser().Chat(Response.ResponseText.Replace("{username}", User.GetClient().GetHabbo().Username), false);
                    break;

                case "shout":
                    GetRoomUser().Chat(Response.ResponseText.Replace("{username}", User.GetClient().GetHabbo().Username), true);
                    break;

                case "whisper":
                    User.GetClient().SendMessage(new WhisperComposer(GetRoomUser().VirtualId, Response.ResponseText.Replace("{username}", User.GetClient().GetHabbo().Username), 0, 0));
                    break;
            }

            if (Response.BeverageIds.Count > 0)
            {
                User.CarryItem(Response.BeverageIds[RandomNumber.GenerateRandom(0, (Response.BeverageIds.Count - 1))]);
            }
        }
Ejemplo n.º 34
0
        internal override void OnUserSay(RoomUser User, string Message)
        {
           // if (Gamemap.TileDistance(base.GetRoomUser().X, base.GetRoomUser().Y, User.X, User.Y) > 16)
        //    {
         //       return;
        //    }
            if (this.IsBartender)
            {
                Random random = new Random();
                try
                {
                    Message = Message.Substring(1);
                }
                catch
                {
                    Message = "";
                }
                string key;
                switch (key = Message.ToLower())
                {
                    case "ven":
                    case "comehere":
                    case "come here":
                    case "ven aquí":
                    case "come":
                        base.GetRoomUser().Chat(null, "¡Voy!", false, 0, 0);
                        base.GetRoomUser().MoveTo(User.SquareInFront);
                        return;
                    case "sirve":
                    case "serve":
                        if (base.GetRoom().CheckRights(User.GetClient()))
                        {
                            foreach (RoomUser current in base.GetRoom().GetRoomUserManager().GetRoomUsers())
                            {
                                current.CarryItem(random.Next(1, 38));
                            }
                            base.GetRoomUser().Chat(null, "Vale. Ya teneis todos algo para zampar.", false, 0, 0);
                            return;
                        }
                        return;
                    case "agua":
                    case "té":
                    case "te":
                    case "tea":
                    case "juice":
                    case "water":
                    case "zumo":
                        base.GetRoomUser().Chat(null, "Aquí tienes.", false, 0, 0);
                        User.CarryItem(random.Next(1, 3));
                        return;
                    case "helado":
                    case "icecream":
                    case "ice cream":
                        base.GetRoomUser().Chat(null, "Aquí tienes. ¡Que no se te quede pegada la lengua, je je!", false, 0, 0);
                        User.CarryItem(4);
                        return;
                    case "rose":
                    case "rosa":
                        base.GetRoomUser().Chat(null, "Aquí tienes... que te vaya bien en tu cita.", false, 0, 0);
                        User.CarryItem(random.Next(1000, 1002));
                        return;
                    case "girasol":
                    case "sunflower":
                        base.GetRoomUser().Chat(null, "Aquí tienes algo muy bonito de la naturaleza.", false, 0, 0);
                        User.CarryItem(1002);
                        return;
                    case "flor":
                    case "flower":
                        base.GetRoomUser().Chat(null, "Aquí tienes algo muy bonito de la naturaleza.", false, 0, 0);
                        if (random.Next(1, 3) == 2)
                        {
                            User.CarryItem(random.Next(1019, 1024));
                            return;
                        }
                        User.CarryItem(random.Next(1006, 1010));
                        return;
                    case "zanahoria":
                    case "zana":
                    case "carrot":
                        base.GetRoomUser().Chat(null, "Aquí tienes una buena verdura. ¡Provecho!", false, 0, 0);
                        User.CarryItem(3);
                        return;
                    case "café":
                    case "cafe":
                    case "capuccino":
                    case "coffee":
                    case "latte":
                    case "mocha":
                    case "espresso":
                    case "expreso":
                        base.GetRoomUser().Chat(null, "Aquí tienes tu café. ¡Está espumoso!", false, 0, 0);
                        User.CarryItem(random.Next(11, 18));
                        return;
                    case "fruta":
                    case "fruit":
                        base.GetRoomUser().Chat(null, "Aquí tienes algo sano, fresco y natural. ¡Que lo disfrutes!", false, 0, 0);
                        User.CarryItem(random.Next(36, 40));
                        return;
                    case "naranja":
                    case "orange":
                        base.GetRoomUser().Chat(null, "Aquí tienes algo sano, fresco y natural. ¡Que lo disfrutes!", false, 0, 0);
                        User.CarryItem(38);
                        return;
                    case "manzana":
                    case "apple":
                        base.GetRoomUser().Chat(null, "Aquí tienes algo sano, fresco y natural. ¡Que lo disfrutes!", false, 0, 0);
                        User.CarryItem(37);
                        return;
                    case "cola":
                    case "habbocola":
                    case "habbo cola":
                    case "coca cola":
                    case "cocacola":
                        base.GetRoomUser().Chat(null, "Aquí tienes un refresco bastante famoso.", false, 0, 0);
                        User.CarryItem(19);
                        return;
                    case "pear":
                    case "pera":
                        base.GetRoomUser().Chat(null, "Aquí tienes algo sano, fresco y natural. ¡Que lo disfrutes!", false, 0, 0);
                        User.CarryItem(36);
                        return;
                    case "ananá":
                    case "pineapple":
                    case "piña":
                    case "rodaja de piña":
                        base.GetRoomUser().Chat(null, "Aquí tienes algo sano, fresco y natural. ¡Que lo disfrutes!", false, 0, 0);
                        User.CarryItem(39);
                        return;

                    case "puta":
                    case "puto":
                    case "gilipollas":
                    case "metemela":
                    case "polla":
                    case "pene":
                    case "penis":
                    case "idiot":
                    case "f**k":
                    case "bastardo":
                    case "idiota":
                    case "chupamela":
                    case "tonta":
                    case "tonto":
                    case "mierda":
                        base.GetRoomUser().Chat(null, "¡No me trates así, eh!", true, 0, 0);
                        return;

                    case "lindo":
                    case "hermoso":
                    case "linda":
                    case "guapa":
                    case "beautiful":
                    case "handsome":
                    case "love":
                    case "guapo":
                    case "i love you":
                    case "hermosa":
                    case "preciosa":
                    case "te amo":
                    case "amor":
                    case "mi amor":
                        base.GetRoomUser().Chat(null, "Soy un bot, err... esto se está poniendo incómodo, ¿sabes?", false, 0, 0);
                        return;
                }
                base.GetRoomUser().Chat(null, "¿Necesitas algo?", false, 0, 0);
            }
        }
Ejemplo n.º 35
0
        public bool method_21(RoomUser RoomUser_1, RoomItem RoomItem_0, string string_10)
        {
            bool result;
            try
            {
                if (this.bool_6 || this.bool_7)
                {
                    result = false;
                }
                else
                {
                    bool flag = false;
                    int num = 0;
                    int num2 = 0;
                    bool flag2 = false;
                    string text = RoomItem_0.GetBaseItem().InteractionType.ToLower();
                    switch (text)
                    {
                        case "wf_trg_onsay":
                            if (string_10.Contains(RoomItem_0.string_2.ToLower()))
                            {
                                flag = true;
                            }
                            break;
                        case "wf_trg_enterroom":
                            if (RoomItem_0.string_2 == "" || RoomItem_0.string_2 == RoomUser_1.GetClient().GetHabbo().Username)
                            {
                                flag = true;
                            }
                            break;
                        case "wf_trg_furnistate":
                            if (RoomItem_0.string_3.Length > 0)
                            {
                                string[] collection = RoomItem_0.string_3.Split(new char[]
							{
								','
							});
                                List<string> list = new List<string>(collection);
                                foreach (string current in list)
                                {
                                    if (current == string_10)
                                    {
                                        flag = true;
                                    }
                                }
                            }
                            break;
                        case "wf_trg_onfurni":
                            if (!RoomUser_1.IsBot)
                            {
                                if (RoomItem_0.string_3.Length > 0)
                                {
                                    string[] collection = RoomItem_0.string_3.Split(new char[]
							{
								','
							});
                                    List<string> list = new List<string>(collection);
                                    List<string> list2 = list;
                                    foreach (string current in list)
                                    {
                                        if (!(current != string_10))
                                        {
                                            RoomItem @class = this.method_28(Convert.ToUInt32(string_10));
                                            if (@class != null)
                                            {
                                                flag = true;
                                            }
                                            else
                                            {
                                                list2.Remove(current);
                                            }
                                        }
                                    }
                                    RoomItem_0.string_3 = string.Join(",", list2.ToArray());
                                }
                            }
                            break;
                        case "wf_trg_offfurni":
                            if (RoomItem_0.string_3.Length > 0)
                            {
                                string[] collection = RoomItem_0.string_3.Split(new char[]
							{
								','
							});
                                List<string> list = new List<string>(collection);
                                List<string> list2 = list;
                                foreach (string current in list)
                                {
                                    if (!(current != string_10))
                                    {
                                        RoomItem @class = this.method_28(Convert.ToUInt32(string_10));
                                        if (@class != null)
                                        {
                                            flag = true;
                                        }
                                        else
                                        {
                                            list2.Remove(current);
                                        }
                                    }
                                }
                                RoomItem_0.string_3 = string.Join(",", list2.ToArray());
                            }
                            break;
                        case "wf_trg_gameend":
                            if (string_10 == "GameEnded")
                            {
                                flag = true;
                            }
                            break;
                        case "wf_trg_gamestart":
                            if (string_10 == "GameBegun")
                            {
                                flag = true;
                            }
                            break;
                        case "wf_trg_timer":
                            if (string_10 == "Timer")
                            {
                                flag = true;
                            }
                            break;
                        case "wf_trg_attime":
                            if (string_10 == "AtTime")
                            {
                                flag = true;
                            }
                            break;
                        case "wf_trg_atscore":
                            if (string_10 == "TheScore")
                            {
                                flag = true;
                            }
                            break;
                    }
                    try
                    {
                        List<RoomItem> list3 = this.method_93(RoomItem_0.GetX, RoomItem_0.Int32_1);
                        if (list3 == null)
                        {
                            result = false;
                            return result;
                        }
                        foreach (RoomItem current2 in list3)
                        {
                            text = current2.GetBaseItem().InteractionType.ToLower();
                            if (text != null)
                            {

                                int num4;
                                if (!(text == "wf_cnd_phx"))
                                {
                                    if (!(text == "wf_cnd_trggrer_on_frn"))
                                    {
                                        string[] collection;
                                        List<string> list;
                                        List<RoomItem> list4;
                                        if (!(text == "wf_cnd_furnis_hv_avtrs"))
                                        {
                                            if (!(text == "wf_cnd_has_furni_on"))
                                            {
                                                if (text == "wf_cnd_time_more_than")
                                                {
                                                    num++;
                                                    current2.ExtraData = "1";
                                                    current2.UpdateState(false, true);
                                                    current2.ReqUpdate(1);
                                                    if (current2.WiredCounter >= double.Parse(current2.string_2, CultureInfo.InvariantCulture))
                                                        num2++;
                                                    continue;
                                                }
                                                else if (text == "wf_cnd_time_less_than")
                                                {
                                                    num++;
                                                    current2.ExtraData = "1";
                                                    current2.UpdateState(false, true);
                                                    current2.ReqUpdate(1);
                                                    if (current2.WiredCounter <= double.Parse(current2.string_2, CultureInfo.InvariantCulture))
                                                        num2++;
                                                    continue;
                                                }
                                                else if (text == "wf_cnd_actor_in_group")
                                                {
                                                    num++;
                                                    current2.ExtraData = "1";
                                                    current2.UpdateState(false, true);
                                                    current2.ReqUpdate(1);
                                                    if (this.RoomData.GuildId != 0 && RoomUser_1.GetClient().GetHabbo().InGuild(this.RoomData.GuildId) && (current2.string_2 == "" || current2.string_2.ToLower().Equals(RoomUser_1.GetClient().GetHabbo().Username.ToLower())))
                                                        num2++;
                                                    continue;
                                                }
                                                else if (text == "wf_cnd_not_in_group")
                                                {
                                                    num++;
                                                    current2.ExtraData = "1";
                                                    current2.UpdateState(false, true);
                                                    current2.ReqUpdate(1);
                                                    if (this.RoomData.GuildId != 0 && !RoomUser_1.GetClient().GetHabbo().InGuild(this.RoomData.GuildId) && (current2.string_2 == "" || current2.string_2.ToLower().Equals(RoomUser_1.GetClient().GetHabbo().Username.ToLower())))
                                                        num2++;
                                                    continue;
                                                }
                                                else if (text == "wf_cnd_user_count_in")
                                                {
                                                    num++;
                                                    current2.ExtraData = "1";
                                                    current2.UpdateState(false, true);
                                                    current2.ReqUpdate(1);
                                                    if (this.UserCount >= int.Parse(current2.string_2.Split(';')[0]) && this.UserCount <= int.Parse(current2.string_2.Split(';')[1]))
                                                        num2++;
                                                    continue;
                                                }
                                                else if (text == "wf_cnd_not_user_count")
                                                {
                                                    num++;
                                                    current2.ExtraData = "1";
                                                    current2.UpdateState(false, true);
                                                    current2.ReqUpdate(1);
                                                    if (!(this.UserCount >= int.Parse(current2.string_2.Split(';')[0])) || !(this.UserCount <= int.Parse(current2.string_2.Split(';')[1])))
                                                        num2++;
                                                    continue;
                                                }
                                                else if (text == "wf_cnd_has_handitem")
                                                {
                                                    num++;
                                                    current2.ExtraData = "1";
                                                    current2.UpdateState(false, true);
                                                    current2.ReqUpdate(1);
                                                    if ((current2.string_2 != "" || current2.string_2 != "0") && RoomUser_1.CarryItemID == int.Parse(current2.string_2))
                                                        num2++;
                                                    continue;
                                                }
                                                else if (text == "wf_cnd_actor_in_team")
                                                {
                                                    num++;
                                                    current2.ExtraData = "1";
                                                    current2.UpdateState(false, true);
                                                    current2.ReqUpdate(1);
                                                    if ((GetTeam(current2.string_2) != Team.None) && GetTeam(current2.string_2) == RoomUser_1.team)
                                                        num2++;
                                                    continue;
                                                }
                                                else if (text == "wf_cnd_not_in_team")
                                                {
                                                    num++;
                                                    current2.ExtraData = "1";
                                                    current2.UpdateState(false, true);
                                                    current2.ReqUpdate(1);
                                                    if ((GetTeam(current2.string_2) != Team.None) && RoomUser_1.team != Team.None && GetTeam(current2.string_2) != RoomUser_1.team)
                                                        num2++;
                                                    continue;
                                                }
                                                else if (text == "wf_cnd_not_furni_on")
                                                {
                                                    RoomItem ri;
                                                    current2.ExtraData = "1";
                                                    current2.UpdateState(false, true);
                                                    current2.ReqUpdate(1);
                                                    foreach (string s in current2.string_3.Split(','))
                                                    {
                                                        num++;
                                                        try
                                                        {
                                                            ri = this.method_28(uint.Parse(s));
                                                            RoomItem TopItem = this.GetTopItem(ri.GetX, ri.Int32_1);
                                                            if (!(TopItem != null && TopItem != ri && TopItem.Double_0 >= ri.Double_0))
                                                            {
                                                                num2++;
                                                                continue;
                                                            }
                                                            foreach (AffectedTile current5 in ri.Dictionary_0.Values)
                                                            {
                                                                TopItem = this.GetTopItem(current5.Int32_0, current5.Int32_1);
                                                                if (!(TopItem != null && TopItem != ri && TopItem.Double_0 >= ri.Double_0))
                                                                {
                                                                    num2++;
                                                                    break;
                                                                }
                                                            }
                                                        }
                                                        catch { }
                                                    }
                                                    continue;
                                                }
                                                else if (text == "wf_cnd_not_hv_avtrs")
                                                {
                                                    RoomItem ri;
                                                    current2.ExtraData = "1";
                                                    current2.UpdateState(false, true);
                                                    current2.ReqUpdate(1);
                                                    foreach (string s in current2.string_3.Split(','))
                                                    {
                                                        num++;
                                                        ri = this.method_28(uint.Parse(s));
                                                        bool hasUser = false;
                                                        if (this.method_96(ri.GetX, ri.Int32_1))
                                                            hasUser = true;
                                                        foreach (AffectedTile current5 in ri.Dictionary_0.Values)
                                                        {
                                                            if (this.method_96(current5.Int32_0, current5.Int32_1))
                                                                hasUser = true;
                                                        }
                                                        if (!hasUser)
                                                            num2++;
                                                    }
                                                    continue;
                                                }
                                                else if(text =="wf_cnd_has_purse")
                                                {
                                                    current2.ExtraData = "1";
                                                    current2.UpdateState(false, true);
                                                    current2.ReqUpdate(1);
                                                    num++;
                                                    bool hasPurse = false;
                                                    string currency = "credits";
                                                    int number =  -1;
                                                    if(RoomUser_1 != null && RoomUser_1.GetClient() != null && current2.string_2.Contains(";") && IsValidCurrency(current2.string_2.Split(';')[0]) && int.TryParse(current2.string_2.Split(';')[1],out number))
                                                    {
                                                        currency = current2.string_2.Split(';')[0];
                                                        if (currency == "credits")
                                                            hasPurse = RoomUser_1.GetClient().GetHabbo().GetCredits() >= number;
                                                        else if (currency == "duckets")
                                                            hasPurse = RoomUser_1.GetClient().GetHabbo().ActivityPoints >= number;
                                                        else if (currency == "diamonds")
                                                            hasPurse = RoomUser_1.GetClient().GetHabbo().VipPoints >= number;
                                                    }
                                                    if (hasPurse)
                                                        num2++;
                                                    continue;
                                                }
                                                else if (text == "wf_cnd_hasnot_purse")
                                                {
                                                    current2.ExtraData = "1";
                                                    current2.UpdateState(false, true);
                                                    current2.ReqUpdate(1);
                                                    num++;
                                                    bool hasPurse = true;
                                                    string currency = "credits";
                                                    int number = -1;
                                                    if (RoomUser_1 != null && RoomUser_1.GetClient() != null && current2.string_2.Contains(";") && IsValidCurrency(current2.string_2.Split(';')[0]) && int.TryParse(current2.string_2.Split(';')[1], out number))
                                                    {
                                                        currency = current2.string_2.Split(';')[0];
                                                        if (currency == "credits")
                                                            hasPurse = RoomUser_1.GetClient().GetHabbo().GetCredits() >= number;
                                                        else if (currency == "duckets")
                                                            hasPurse = RoomUser_1.GetClient().GetHabbo().ActivityPoints >= number;
                                                        else if (currency == "diamonds")
                                                            hasPurse = RoomUser_1.GetClient().GetHabbo().VipPoints >= number;
                                                    }
                                                    if (!hasPurse)
                                                        num2++;
                                                    continue;
                                                }
                                                else if (text == "wf_cnd_not_match_snap")
                                                {
                                                    bool useExtradata, useRot, usePos;
                                                    useExtradata = current2.string_3[0] == 'I';
                                                    useRot = current2.string_3[1] == 'I';
                                                    usePos = current2.string_3[2] == 'I';
                                                    Dictionary<uint, SnapShotItem> itemsOriginalData = new Dictionary<uint, SnapShotItem>();
                                                    foreach (string s in current2.string_2.Split(';'))
                                                    {
                                                        string[] n = s.Split(',');
                                                        itemsOriginalData.Add(uint.Parse(n[0]), new SnapShotItem(uint.Parse(n[0]), int.Parse(n[1]), int.Parse(n[2]), double.Parse(n[3]), int.Parse(n[4]), n[5]));
                                                    }
                                                    //foreach (string cstring in current2.string_4.Split(','))
                                                    foreach (SnapShotItem ssi in itemsOriginalData.Values)
                                                    {
                                                        num++;
                                                        try
                                                        {
                                                            bool returning = true;
                                                            RoomItem current = this.method_28(ssi.Id);//uint.Parse(cstring));
                                                            if (current == null || !itemsOriginalData.ContainsKey(current.uint_0)) returning = false;

                                                            var originalData = itemsOriginalData[current.uint_0];

                                                            if (useRot)
                                                            {
                                                                if (current.int_3 != originalData.Rotation)
                                                                {
                                                                    returning = false;
                                                                }
                                                            }
                                                            if (useExtradata)
                                                            {
                                                                if ((current.ExtraData == string.Empty ? "0" : current.ExtraData) != (originalData.ExtraData == string.Empty ? "0" : originalData.ExtraData))
                                                                {
                                                                    returning = false;
                                                                }
                                                            }

                                                            if (usePos)
                                                            {
                                                                if ((current.GetX != originalData.X) || (current.Int32_1 != originalData.Y))
                                                                {
                                                                    returning = false;
                                                                }
                                                            }
                                                            if (!returning)
                                                                num2++;
                                                        }
                                                        catch{}/* (Exception ex)
                                                        {
                                                            Console.ForegroundColor = ConsoleColor.Red;
                                                            Console.WriteLine(ex.ToString());
                                                            Console.WriteLine("Couldn't Trigger Condition \"wf_cnd_match_snapshot\"!");
                                                            Console.ForegroundColor = ConsoleColor.Gray;
                                                        }*/
                                                    }
                                                    if (num == num2)
                                                    {
                                                        current2.ExtraData = "1";
                                                        current2.UpdateState(false, true);
                                                        current2.ReqUpdate(1);
                                                    }
                                                    continue;
                                                }
                                                else if (text == "wf_cnd_match_snapshot")
                                                {
                                                    bool useExtradata, useRot, usePos;
                                                    useExtradata = current2.string_3[0] == 'I';
                                                    useRot = current2.string_3[1] == 'I';
                                                    usePos = current2.string_3[2] == 'I';
                                                    Dictionary<uint, SnapShotItem> itemsOriginalData = new Dictionary<uint, SnapShotItem>();
                                                    foreach (string s in current2.string_2.Split(';'))
                                                    {
                                                        string[] n = s.Split(',');
                                                        itemsOriginalData.Add(uint.Parse(n[0]), new SnapShotItem(uint.Parse(n[0]), int.Parse(n[1]), int.Parse(n[2]), double.Parse(n[3]), int.Parse(n[4]), n[5]));
                                                    }
                                                    //foreach (string cstring in current2.string_4.Split(','))
                                                    foreach (SnapShotItem ssi in itemsOriginalData.Values)
                                                    {
                                                        num++;
                                                        try
                                                        {
                                                            bool returning = true;
                                                            RoomItem current = this.method_28(ssi.Id);//uint.Parse(cstring));
                                                            if (current == null || !itemsOriginalData.ContainsKey(current.uint_0)) returning = false;

                                                            var originalData = itemsOriginalData[current.uint_0];

                                                            if (useRot)
                                                            {
                                                                if (current.int_3 != originalData.Rotation)
                                                                {
                                                                    returning = false;
                                                                }
                                                            }
                                                            if (useExtradata)
                                                            {
                                                                if ((current.ExtraData == string.Empty ? "0" : current.ExtraData) != (originalData.ExtraData == string.Empty ? "0" : originalData.ExtraData))
                                                                {
                                                                    returning = false;
                                                                }
                                                            }

                                                            if (usePos)
                                                            {
                                                                if ((current.GetX != originalData.X) || (current.Int32_1 != originalData.Y))
                                                                {
                                                                    returning = false;
                                                                }
                                                            }
                                                            if (returning)
                                                                num2++;
                                                        }
                                                        catch { }/* (Exception ex)
                                                        {
                                                            Console.ForegroundColor = ConsoleColor.Red;
                                                            Console.WriteLine(ex.ToString());
                                                            Console.WriteLine("Couldn't Trigger Condition \"wf_cnd_match_snapshot\"!");
                                                            Console.ForegroundColor = ConsoleColor.Gray;
                                                        }*/
                                                    }
                                                    if (num == num2)
                                                    {
                                                        current2.ExtraData = "1";
                                                        current2.UpdateState(false, true);
                                                        current2.ReqUpdate(1);
                                                    }
                                                    continue;
                                                }
                                                else
                                                {
                                                    continue;
                                                }
                                            }
                                            num4 = num2;
                                            num++;
                                            current2.ExtraData = "1";
                                            current2.UpdateState(false, true);
                                            current2.ReqUpdate(1);
                                            current2.CheckExtraData3();
                                            if (current2.string_3.Length <= 0)
                                            {
                                                continue;
                                            }
                                            collection = current2.string_3.Split(new char[]
											{
												','
											});
                                            list = new List<string>(collection);
                                            list4 = new List<RoomItem>();
                                            foreach (string current3 in list)
                                            {
                                                list4.Add(this.method_28(Convert.ToUInt32(current3)));
                                            }
                                            using (List<RoomItem>.Enumerator enumerator3 = list4.GetEnumerator())
                                            {
                                                while (enumerator3.MoveNext())
                                                {
                                                    RoomItem current4 = enumerator3.Current;
                                                    if (current4 != null)
                                                    {
                                                        Dictionary<int, AffectedTile> dictionary = current4.Dictionary_0;
                                                        if (dictionary == null)
                                                        {
                                                            dictionary = new Dictionary<int, AffectedTile>();
                                                        }
                                                        RoomItem TopItem = this.GetTopItem(current4.GetX, current4.Int32_1);
                                                        if (TopItem != null && TopItem != current4 && TopItem.Double_0 >= current4.Double_0 && num4 + 1 != num2)
                                                        {
                                                            num2++;
                                                            break;
                                                        }
                                                        foreach (AffectedTile current5 in dictionary.Values)
                                                        {
                                                            TopItem = this.GetTopItem(current5.Int32_0, current5.Int32_1);
                                                            if (TopItem != null && TopItem != current4 && TopItem.Double_0 >= current4.Double_0 && num4 + 1 != num2)
                                                            {
                                                                num2++;
                                                                break;
                                                            }
                                                        }

                                                    }
                                                }
                                                continue;
                                            }
                                        }
                                        num++;
                                        current2.ExtraData = "1";
                                        current2.UpdateState(false, true);
                                        current2.ReqUpdate(1);
                                        current2.CheckExtraData3();
                                        if (current2.string_3.Length <= 0)
                                        {
                                            continue;
                                        }
                                        collection = current2.string_3.Split(new char[]
										{
											','
										});
                                        list = new List<string>(collection);
                                        list4 = new List<RoomItem>();
                                        foreach (string current3 in list)
                                        {
                                            list4.Add(this.method_28(Convert.ToUInt32(current3)));
                                        }
                                        bool flag3 = true;
                                        foreach (RoomItem current4 in list4)
                                        {
                                            if (current4 != null)
                                            {
                                                bool flag4 = false;
                                                Dictionary<int, AffectedTile> dictionary = current4.Dictionary_0;
                                                if (dictionary == null)
                                                {
                                                    dictionary = new Dictionary<int, AffectedTile>();
                                                }
                                                if (this.method_96(current4.GetX, current4.Int32_1))
                                                {
                                                    flag4 = true;
                                                }
                                                foreach (AffectedTile current5 in dictionary.Values)
                                                {
                                                    if (this.method_96(current5.Int32_0, current5.Int32_1))
                                                    {
                                                        flag4 = true;
                                                        break;
                                                    }
                                                }
                                                if (!flag4)
                                                {
                                                    flag3 = false;
                                                }
                                            }
                                        }
                                        if (flag3)
                                        {
                                            num2++;
                                            continue;
                                        }
                                        continue;
                                    }
                                    else
                                    {
                                        num4 = num2;
                                        num++;
                                        current2.ExtraData = "1";
                                        current2.UpdateState(false, true);
                                        current2.ReqUpdate(1);
                                        current2.CheckExtraData3();
                                        if (current2.string_3.Length <= 0)
                                        {
                                            continue;
                                        }
                                        string[] collection = current2.string_3.Split(new char[]
										{
											','
										});
                                        List<string> list = new List<string>(collection);
                                        List<RoomItem> list4 = new List<RoomItem>();
                                        foreach (string current3 in list)
                                        {
                                            list4.Add(this.method_28(Convert.ToUInt32(current3)));
                                        }
                                        if (RoomUser_1 == null)
                                        {
                                            continue;
                                        }
                                        using (List<RoomItem>.Enumerator enumerator3 = list4.GetEnumerator())
                                        {
                                            while (enumerator3.MoveNext())
                                            {
                                                RoomItem current4 = enumerator3.Current;
                                                if (current4 != null)
                                                {
                                                    Dictionary<int, AffectedTile> dictionary = current4.Dictionary_0;
                                                    if (dictionary == null)
                                                    {
                                                        dictionary = new Dictionary<int, AffectedTile>();
                                                    }
                                                    if (RoomUser_1.X == current4.GetX && RoomUser_1.Y == current4.Int32_1 && num4 + 1 != num2)
                                                    {
                                                        num2++;
                                                        break;
                                                    }
                                                    foreach (AffectedTile current5 in dictionary.Values)
                                                    {
                                                        if (RoomUser_1.X == current5.Int32_0 && RoomUser_1.Y == current5.Int32_1 && num4 + 1 != num2)
                                                        {
                                                            num2++;
                                                            break;
                                                        }
                                                    }
                                                }
                                            }
                                            continue;
                                        }
                                    }
                                }
                                num4 = num2;
                                num++;
                                current2.ExtraData = "1";
                                current2.UpdateState(false, true);
                                current2.ReqUpdate(1);
                                if (current2.string_2.Length > 0)
                                {
                                    string string_11 = current2.string_2.Split(new char[]
									{
										':'
									})[0].ToLower();
                                    string string_12 = current2.string_2.Split(new char[]
									{
										':'
									})[1];
                                    if (RoomUser_1 != null)
                                    {
                                        if (!RoomUser_1.IsBot && this.method_18(RoomUser_1, string_11, string_12))
                                        {
                                            num2++;
                                        }
                                    }
                                    else
                                    {
                                        RoomUser[] array = this.RoomUsers;
                                        for (int i = 0; i < array.Length; i++)
                                        {
                                            RoomUser class2 = array[i];
                                            if (class2 != null && !class2.IsBot && this.method_18(class2, string_11, string_12) && num4 + 1 != num2)
                                            {
                                                num2++;
                                                break;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        if (num != num2)
                        {
                            result = false;
                            return result;
                        }
                    }
                    catch
                    {
                        //Ignoring. Why? Because it spams the console if something isn't set.
                    }
                    if (flag && num == num2)
                    {
                        RoomItem_0.ExtraData = "1";
                        RoomItem_0.UpdateState(false, true);
                        RoomItem_0.ReqUpdate(1);
                        List<RoomItem> list6 = this.method_93(RoomItem_0.GetX, RoomItem_0.Int32_1);
                        if (list6 == null)
                        {
                            result = false;
                            return result;
                        }
                        bool flag5 = false;
                        foreach (RoomItem current2 in list6)
                        {
                            if (current2.GetBaseItem().InteractionType.ToLower() == "wf_xtra_random")
                            {
                                flag5 = true;
                                break;
                            }
                        }
                        if (flag5)
                        {
                            List<RoomItem> list7 = new List<RoomItem>();
                            Random random = new Random();
                            while (list6.Count != 0)
                            {
                                int index = random.Next(0, list6.Count);
                                list7.Add(list6[index]);
                                list6.RemoveAt(index);
                            }
                            list6 = list7;
                        }
                        foreach (RoomItem current2 in list6)
                        {
                            if (flag5 && flag2)
                            {
                                break;
                            }
                            text = current2.GetBaseItem().InteractionType.ToLower();
                            switch (text)
                            {
                                case "wf_act_give_phx":
                                    current2.ExtraData = "1";
                                    current2.UpdateState(false, true);
                                    current2.ReqUpdate(1);
                                    if (current2.string_2.Length > 0)
                                    {
                                        string string_11 = current2.string_2.Split(new char[]
									{
										':'
									})[0].ToLower();
                                        string string_12 = current2.string_2.Split(new char[]
									{
										':'
									})[1];
                                        if (RoomUser_1 != null)
                                        {
                                            if (!RoomUser_1.IsBot)
                                            {
                                                this.method_19(RoomUser_1, string_11, string_12, current2.uint_0);
                                            }
                                        }
                                        else
                                        {
                                            RoomUser[] array = this.RoomUsers;
                                            for (int i = 0; i < array.Length; i++)
                                            {
                                                RoomUser class2 = array[i];
                                                if (class2 != null && !class2.IsBot)
                                                {
                                                    this.method_19(class2, string_11, string_12, current2.uint_0);
                                                }
                                            }
                                        }
                                        flag2 = true;
                                    }
                                    break;
                                case "wf_act_yt":
                                    current2.ExtraData = "1";
                                    current2.UpdateState(false, true);
                                    current2.ReqUpdate(1);
                                    if(current2.string_2.Length > 0)
                                    {
                                        if(RoomUser_1 != null && RoomUser_1.GetClient() != null)
                                        {
                                            try {
                                                Essential.getWebSocketManager().getWebSocketByName(RoomUser_1.GetClient().GetHabbo().Username).Send("32|https://youtube.com/watch?v=" + current2.string_2);
                                            }
                                            catch { }
                                        }
                                        flag2 = true;
                                    }
                                    break;
                                case "wf_act_img":
                                    current2.ExtraData = "1";
                                    current2.UpdateState(false, true);
                                    current2.ReqUpdate(1);
                                    if(current2.string_2.Length > 0)
                                    {
                                        if (RoomUser_1 != null && RoomUser_1.GetClient() != null)
                                        {
                                            try
                                            {
                                                Essential.getWebSocketManager().getWebSocketByName(RoomUser_1.GetClient().GetHabbo().Username).Send("39|" + current2.string_2);
                                            }
                                            catch { }
                                        }
                                        flag2 = true;
                                    }
                                    break;
                                case "wf_act_bot_follow_avatar":
                                    current2.ExtraData = "1";
                                    current2.UpdateState(false, true);
                                    current2.ReqUpdate(1);
                                    if (current2.string_2.Length > 0)
                                    {
                                        foreach (RoomUser roomUser in this.RoomUsers)
                                        {
                                            if (roomUser != null && roomUser.IsBot && !roomUser.IsPet && roomUser.RoomBot.Name == current2.string_2.Split(';')[0] && !roomUser.BotAI.FollowsUser)
                                            {
                                                RoomUser_1.followingUser = roomUser;
                                                roomUser.BotAI.FollowsUser = true;
                                                roomUser.MoveTo(RoomUser_1.X, RoomUser_1.Y);
                                                Action<object> action4 = delegate(object obj)
                                                {
                                                    int timeinseconds = 30;
                                                    try { timeinseconds = int.Parse(current2.string_2.Split(';')[1]); }
                                                    catch { }

                                                    Thread.Sleep(timeinseconds * 1000);
                                                    if (roomUser != null)
                                                        roomUser.BotAI.FollowsUser = false;
                                                    if (RoomUser_1 != null)
                                                        RoomUser_1.followingUser = null;
                                                };
                                                new Task(action4, "break").Start();
                                            }
                                        }
                                        flag2 = true;
                                    }
                                    break;
                                case "wf_act_bot_give_handitem":
                                    current2.ExtraData = "1";
                                    current2.UpdateState(false, true);
                                    current2.ReqUpdate(1);
                                    if (current2.string_2.Length > 0)
                                    {
                                        foreach (RoomUser roomUser in this.RoomUsers)
                                        {
                                            if (roomUser != null && roomUser.IsBot && !roomUser.IsPet && roomUser.RoomBot.Name == current2.string_2.Split(';')[1] && !roomUser.BotAI.FollowsUser)
                                            {
                                                Action<object> action4 = delegate(object obj)
                                                {
                                                    roomUser.CarryItem(int.Parse(current2.string_2.Split(';')[0]));
                                                    roomUser.BotAI.FollowsUser = true;
                                                    Thread.Sleep(1000);
                                                    roomUser.MoveTo(RoomUser_1.X - 1, RoomUser_1.Y);
                                                    while (roomUser.X != RoomUser_1.X - 1 && roomUser.Y != RoomUser_1.Y)
                                                    {
                                                        //waiting
                                                    }
                                                    RoomUser_1.CarryItem(roomUser.CarryItemID);
                                                    roomUser.CarryItem(0);
                                                    if (roomUser != null)
                                                        roomUser.BotAI.FollowsUser = false;
                                                    if (RoomUser_1 != null)
                                                        RoomUser_1.followingUser = null;
                                                };
                                                new Task(action4, "break").Start();
                                            }
                                        }
                                        flag2 = true;
                                    }
                                    break;
                                case "wf_act_bot_talk_to_avatar":
                                    current2.ExtraData = "1";
                                    current2.UpdateState(false, true);
                                    current2.ReqUpdate(1);
                                    if (current2.string_2.Length > 0)
                                    {
                                        foreach (RoomUser roomUser in this.RoomUsers)
                                        {
                                            if (roomUser != null && roomUser.IsBot && !roomUser.IsPet && roomUser.RoomBot.Name == current2.string_2.Split(';')[0])
                                            {
                                                try
                                                {
                                                    bool whisper = current2.string_2.Split(';')[1] == "shout";
                                                    string message = current2.string_2.Split(';')[2];
                                                    ServerMessage Talk = new ServerMessage(whisper ? Outgoing.Whisp : Outgoing.Talk);
                                                    Talk.AppendInt32(roomUser.VirtualId);
                                                    Talk.AppendStringWithBreak(message);
                                                    Talk.AppendInt32(roomUser.ParseEmoticon(message));
                                                    Talk.AppendInt32(2);
                                                    Talk.AppendInt32(0);
                                                    Talk.AppendInt32(-1);
                                                    if (!Essential.GetAntiAd().ContainsIllegalWord(message))
                                                        RoomUser_1.GetClient().SendMessage(Talk);
                                                }
                                                catch{}// (Exception ex) { Console.WriteLine(ex.ToString()); }
                                            }
                                        }
                                        flag2 = true;
                                    }
                                    break;
                                case "wf_act_bot_talk":
                                    current2.ExtraData = "1";
                                    current2.UpdateState(false, true);
                                    current2.ReqUpdate(1);
                                    if (current2.string_2.Length > 0)
                                    {
                                        foreach (RoomUser roomUser in this.RoomUsers)
                                        {
                                            if (roomUser != null && roomUser.IsBot && !roomUser.IsPet && roomUser.RoomBot.Name == current2.string_2.Split(';')[0])
                                            {
                                                try
                                                {
                                                    bool shout = current2.string_2.Split(';')[1] == "whisper";
                                                    string message = current2.string_2.Split(';')[2];
                                                    roomUser.HandleSpeech(null, message, shout);
                                                }
                                                catch { }
                                            }
                                        }
                                        flag2 = true;
                                    }
                                    break;
                                case "wf_act_bot_teleport":
                                    break;
                                case "wf_act_bot_clothes":
                                    current2.ExtraData = "1";
                                    current2.UpdateState(false, true);
                                    current2.ReqUpdate(1);
                                    if (current2.string_2.Length > 0)
                                    {
                                        foreach (RoomUser roomUser in this.RoomUsers)
                                        {
                                            if (roomUser != null && roomUser.IsBot && !roomUser.IsPet && roomUser.RoomBot.Name == current2.string_2.Split(';')[0])
                                            {
                                                try
                                                {
                                                    roomUser.RoomBot.Look = current2.string_2.Split(';')[1];
                                                    this.method_6(roomUser.VirtualId, false);
                                                    uint id = roomUser.UId - 1000;
                                                    List<RandomSpeech> list = new List<RandomSpeech>();
                                                    List<BotResponse> list2 = new List<BotResponse>();
                                                    int currentX = roomUser.X;
                                                    int currentY = roomUser.Y;
                                                    int currentRot = roomUser.BodyRotation;
                                                    double currentH = roomUser.double_0;
                                                    UserBot bot = null;
                                                    using (DatabaseClient dbClient = Essential.GetDatabase().GetClient())
                                                    {
                                                        dbClient.AddParamWithValue("look", current2.string_2.Split(';')[1]);
                                                        dbClient.ExecuteQuery("UPDATE user_bots SET look=@look WHERE id=" + id);
                                                        bot = Essential.GetGame().GetCatalog().RetrBot(dbClient.ReadDataRow("SELECT * FROM user_bots WHERE id=" + id));
                                                    }
                                                    this.AddBotToRoom(new RoomBot(id, this.Id, AIType.UserBot, "freeroam", roomUser.RoomBot.Name, roomUser.RoomBot.Motto, current2.string_2.Split(';')[1], currentX, currentY, 0, currentRot, 0, 0, 0, 0, ref list, ref list2, 0), bot);
                                                }
                                                catch { }
                                            }
                                        }
                                        flag2 = true;
                                    }
                                    break;
                                case "wf_act_saymsg":
                                    current2.ExtraData = "1";
                                    current2.UpdateState(false, true);
                                    current2.ReqUpdate(1);
                                    if (current2.string_2.Length > 0)
                                    {
                                        string text2 = current2.string_2;
                                        text2 = ChatCommandHandler.ApplyFilter(text2);
                                        if (text2.Length > 100)
                                        {
                                            text2 = text2.Substring(0, 100);
                                        }
                                        if (RoomUser_1 != null)
                                        {
                                            if (!RoomUser_1.IsBot)
                                            {
                                                RoomUser_1.GetClient().GetHabbo().Whisper(text2);
                                            }
                                        }
                                        else
                                        {
                                            RoomUser[] array = this.RoomUsers;
                                            for (int i = 0; i < array.Length; i++)
                                            {
                                                RoomUser class2 = array[i];
                                                if (class2 != null && !class2.IsBot)
                                                {
                                                    class2.GetClient().GetHabbo().Whisper(text2);
                                                }
                                            }
                                        }
                                        flag2 = true;
                                    }
                                    break;
                                case "wf_act_moveuser":
                                    Action<object> action = delegate(object obj)
                                    {
                                        double waittime = 0.0;
                                        if (current2.string_2 != "" && double.TryParse(current2.string_2, out waittime))
                                        {
                                            Thread.Sleep(Convert.ToInt32(waittime * 1000));
                                        }
                                        current2.ExtraData = "1";
                                        current2.UpdateState(false, true);
                                        current2.ReqUpdate(1);
                                        current2.CheckExtraData3();
                                        if (current2.string_3.Length > 0)
                                        {
                                            string[] collection = current2.string_3.Split(new char[]
									        {
										        ','
									        });
                                            List<string> list = new List<string>(collection);
                                            Random random2 = new Random();
                                            int num5 = random2.Next(0, list.Count - 1);
                                            RoomItem class3 = this.method_28(Convert.ToUInt32(list[num5]));
                                            if (class3 != null)
                                            {
                                                if (RoomUser_1 != null)
                                                {
                                                    this.byte_0[RoomUser_1.X, RoomUser_1.Y] = 1;
                                                    this.byte_0[RoomUser_1.int_12, RoomUser_1.int_13] = 1;
                                                    this.byte_0[class3.GetX, class3.Int32_1] = 1;
                                                    RoomUser_1.bool_6 = false;
                                                    RoomUser_1.int_12 = class3.GetX;
                                                    RoomUser_1.int_13 = class3.Int32_1;
                                                    RoomUser_1.double_1 = class3.Double_0;
                                                    RoomUser_1.method_7(class3.GetX, class3.Int32_1, class3.Double_0);
                                                    RoomUser_1.UpdateNeeded = true;
                                                    if (!current2.dictionary_1.ContainsKey(RoomUser_1))
                                                    {
                                                        current2.dictionary_1.Add(RoomUser_1, 10);
                                                    }
                                                    if (RoomUser_1.class34_1 != null)
                                                    {
                                                        RoomUser_1.class34_1.RoomUser_0 = null;
                                                        RoomUser_1.RoomUser_0 = null;
                                                        RoomUser_1.class34_1 = null;
                                                    }
                                                    this.method_87(RoomUser_1, true, false);
                                                }
                                                else
                                                {
                                                    RoomUser[] array = this.RoomUsers;
                                                    for (int i = 0; i < array.Length; i++)
                                                    {
                                                        RoomUser class2 = array[i];
                                                        if (class2 != null)
                                                        {
                                                            this.byte_0[class2.X, class2.Y] = 1;
                                                            this.byte_0[class3.GetX, class3.Int32_1] = 1;
                                                            class2.method_7(class3.GetX, class3.Int32_1, class3.Double_0);
                                                            class2.UpdateNeeded = true;
                                                            if (!current2.dictionary_1.ContainsKey(class2))
                                                            {
                                                                current2.dictionary_1.Add(class2, 10);
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    };
                                    new Task(action, "break").Start();
                                    flag2 = true;
                                    break;
                                case "wf_act_togglefurni":
                                    Action<object> action2 = delegate(object obj)
                                    {
                                        double waittime = 0.0;
                                        if (current2.string_2 != "" && double.TryParse(current2.string_2, out waittime))
                                        {
                                            Thread.Sleep(Convert.ToInt32(waittime * 1000));
                                        }
                                        current2.ExtraData = "1";
                                        current2.UpdateState(false, true);
                                        current2.ReqUpdate(1);
                                        if (current2.string_3.Length > 0)
                                        {
                                            string[] collection = current2.string_3.Split(new char[]
									{
										','
									});
                                            IEnumerable<string> enumerable = new List<string>(collection);
                                            List<string> list2 = enumerable.ToList<string>();
                                            foreach (string current in enumerable)
                                            {
                                                RoomItem class3 = this.method_28(Convert.ToUInt32(current));
                                                if (class3 != null)
                                                {
                                                    if (class3.GetBaseItem().InteractionType == "counter")
                                                    {
                                                        class3.Interactor.OnTrigger(null, class3, 1, true);
                                                    }
                                                    else if (class3.GetBaseItem().InteractionType == "gate")
                                                    {
                                                        int numa = 0;
                                                        if (class3.ExtraData.Length > 0)
                                                        {
                                                            numa = int.Parse(class3.ExtraData);
                                                        }
                                                        else
                                                        {
                                                            numa = 1;
                                                        }
                                                        if (numa == 0)
                                                        {
                                                            numa = 1;
                                                        }
                                                        else
                                                        {

                                                            numa = 0;

                                                        }
                                                        if (numa == 0)
                                                        {
                                                            if (class3.GetRoom().method_97(class3.GetX, class3.Int32_1))
                                                            {
                                                                return;
                                                            }
                                                            Dictionary<int, AffectedTile> dictionary = class3.GetRoom().method_94(class3.GetBaseItem().Length, class3.GetBaseItem().Width, class3.GetX, class3.Int32_1, class3.int_3);
                                                            if (dictionary == null)
                                                            {
                                                                dictionary = new Dictionary<int, AffectedTile>();
                                                            }
                                                            foreach (AffectedTile current3 in dictionary.Values)
                                                            {
                                                                if (class3.GetRoom().method_97(current3.Int32_0, current3.Int32_1))
                                                                {
                                                                    return;
                                                                }
                                                            }
                                                        }
                                                        class3.ExtraData = numa.ToString();
                                                        class3.UpdateState();
                                                        class3.GetRoom().method_22();
                                                    }
                                                    else
                                                    {
                                                        class3.Interactor.OnTrigger(null, class3, 0, true);
                                                    }
                                                }
                                                else
                                                {
                                                    list2.Remove(current);
                                                }
                                            }
                                        }
                                    };
                                    new Task(action2, "break").Start();
                                    flag2 = true;
                                    break;
                                case "wf_act_kick_user":
                                    current2.ExtraData = "1";
                                    current2.UpdateState(false, true);
                                    current2.ReqUpdate(1);
                                    GameClient GetPlayerSession = Essential.GetGame().GetClientManager().GetClientByHabbo(RoomUser_1.GetClient().GetHabbo().Username);
                                    if (GetPlayerSession != null)
                                    {
                                        Room class2 = RoomUser_1.GetClient().GetHabbo().CurrentRoom;
                                        if (!(class2.Owner == GetPlayerSession.GetHabbo().Username || GetPlayerSession.GetHabbo().HasFuse("acc_unkickable")))
                                        {

                                            ServerMessage Message5_ = new ServerMessage(Outgoing.OutOfRoom); // P
                                            GetPlayerSession.SendMessage(Message5_);
                                            ServerMessage Message2 = new ServerMessage(Outgoing.KickMessage); // Updated
                                            Message2.AppendBoolean(false);
                                            GetPlayerSession.SendMessage(Message2);

                                            if (current2.string_2.Length > 0)
                                            {
                                                GetPlayerSession.SendNotification(current2.string_2);
                                            }
                                        }
                                        flag2 = true;
                                    }
                                    break;
                                case "wf_act_reset_timers":
                                    current2.ExtraData = "1";
                                    current2.UpdateState(false, true);
                                    current2.ReqUpdate(1);
                                    foreach (RoomItem current in this.list_14)
                                    {
                                        if (current.GetBaseItem().InteractionType.ToLower() == "wf_trg_attime")
                                        {
                                            current.WiredAtTimeNeedReset = false;
                                            current.WiredAtTimeTimer = 0;
                                            current.ReqUpdate(1);
                                        }
                                        flag2 = true;
                                    }

                                    foreach (RoomItem current in this.list_16)
                                    {
                                        if (current.GetBaseItem().InteractionType.ToLower() == "wf_cnd_time_more_than")
                                        {
                                            current.WiredCounter = 0;
                                            current.WiredNeedReset = false;
                                            current.ReqUpdate(1);
                                        }
                                        else if (current.GetBaseItem().InteractionType.ToLower() == "wf_cnd_time_less_than")
                                        {
                                            current.WiredCounter = 0;
                                            current.WiredNeedReset = false;
                                            current.ReqUpdate(1);
                                        }
                                        flag2 = true;
                                    }
                                    break;
                                case "wf_act_givepoints":
                                    current2.ExtraData = "1";
                                    current2.UpdateState(false, true);
                                    current2.ReqUpdate(1);
                                    if (RoomUser_1 != null && current2.string_2.Length > 0)
                                    {
                                        int team = 0;
                                        if (RoomUser_1.team == Team.Yellow)
                                            team = 14;
                                        else if (RoomUser_1.team == Team.Red)
                                            team = 5;
                                        else if (RoomUser_1.team == Team.Green)
                                            team = 8;
                                        else if (RoomUser_1.team == Team.Blue)
                                            team = 11;
                                        this.method_88(team, Convert.ToInt32(current2.string_2), current2, RoomUser_1.GetClient());
                                        flag2 = true;
                                    }
                                    break;
                                case "wf_act_moverotate":
                                    current2.ExtraData = "1";
                                    current2.UpdateState(false, true);
                                    current2.ReqUpdate(1);
                                    current2.CheckExtraData4();
                                    if (current2.string_4.Length > 0)
                                    {
                                        string[] collection = current2.string_4.Split(new char[]
									{
										','
									});
                                        IEnumerable<string> enumerable2 = new List<string>(collection);
                                        foreach (string current in enumerable2)
                                        {
                                            RoomItem class3 = this.method_28(Convert.ToUInt32(current));
                                            if (class3 != null)
                                            {
                                                if (current2.string_2 != "0" && current2.string_2 != "")
                                                {
                                                    ThreeDCoord gstruct1_ = class3.GStruct1_1;
                                                    int num5 = 0;
                                                    int num6 = 0;
                                                    int num7 = 0;
                                                    if (current2.string_2 == "1")
                                                    {
                                                        Random random3 = new Random();
                                                        num5 = random3.Next(1, 5);
                                                    }
                                                    else
                                                    {
                                                        if (current2.string_2 == "2")
                                                        {
                                                            Random random3 = new Random();
                                                            num6 = random3.Next(1, 3);
                                                        }
                                                        else
                                                        {
                                                            if (current2.string_2 == "3")
                                                            {
                                                                Random random3 = new Random();
                                                                num7 = random3.Next(1, 3);
                                                            }
                                                        }
                                                    }
                                                    if (current2.string_2 == "4" || num5 == 1 || num7 == 1)
                                                    {
                                                        gstruct1_ = class3.GetNextThreeDCoord(4);
                                                    }
                                                    else
                                                    {
                                                        if (current2.string_2 == "5" || num5 == 2 || num6 == 1)
                                                        {
                                                            gstruct1_ = class3.GetNextThreeDCoord(6);
                                                        }
                                                        else
                                                        {
                                                            if (current2.string_2 == "6" || num5 == 3 || num7 == 2)
                                                            {
                                                                gstruct1_ = class3.GetNextThreeDCoord(0);
                                                            }
                                                            else
                                                            {
                                                                if (current2.string_2 == "7" || num5 == 4 || num6 == 2)
                                                                {
                                                                    gstruct1_ = class3.GetNextThreeDCoord(2);
                                                                }
                                                            }
                                                        }
                                                    }
                                                    if (this.method_37(gstruct1_.x, gstruct1_.y, true, true, true, false, false, true, true) && class3.GetBaseItem().InteractionType != "wf_trg_timer")
                                                    {
                                                        this.method_41(class3, gstruct1_, current2.uint_0, this.GetTopItemHeight(gstruct1_.x, gstruct1_.y));
                                                    }
                                                }
                                                if (current2.string_3.Length > 0 && current2.string_3 != "0" && current2.string_3 != "")
                                                {
                                                    int num5 = 0;
                                                    if (current2.string_3 == "1")
                                                    {
                                                        num5 = class3.int_3 + 2;
                                                        if (num5 > 6)
                                                        {
                                                            num5 = 0;
                                                        }
                                                    }
                                                    else
                                                    {
                                                        if (current2.string_3 == "2")
                                                        {
                                                            num5 = class3.int_3 - 2;
                                                            if (num5 < 0)
                                                            {
                                                                num5 = 6;
                                                            }
                                                        }
                                                        else
                                                        {
                                                            if (current2.string_3 == "3")
                                                            {
                                                                Random random3 = new Random();
                                                                num5 = random3.Next(1, 5);
                                                                if (num5 == 1)
                                                                {
                                                                    num5 = 0;
                                                                }
                                                                else
                                                                {
                                                                    if (num5 == 2)
                                                                    {
                                                                        num5 = 2;
                                                                    }
                                                                    else
                                                                    {
                                                                        if (num5 == 3)
                                                                        {
                                                                            num5 = 4;
                                                                        }
                                                                        else
                                                                        {
                                                                            if (num5 == 4)
                                                                            {
                                                                                num5 = 6;
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                    if (current2.GetRoom().method_79(null, class3, class3.GetX, class3.Int32_1, num5, false, false, false))
                                                    {
                                                        flag2 = true;
                                                    }
                                                }
                                            }
                                        }
                                        flag2 = true;
                                    }
                                    break;
                                case "wf_act_matchfurni":
                                    current2.ExtraData = "1";
                                    current2.UpdateState(false, true);
                                    current2.ReqUpdate(1);
                                    current2.CheckExtraData4();
                                    if (current2.string_4.Length > 0 && current2.string_2.Length > 0)
                                    {
                                        string[] collection = current2.string_4.Split(new char[]
									    {
										    ','
									    });
                                        IEnumerable<string> enumerable = new List<string>(collection);
                                        string[] collection2 = current2.string_2.Split(new char[]
									    {
										    ';'
									    });
                                        List<string> list8 = new List<string>(collection2);
                                        int num8 = 0;
                                        foreach (string current in enumerable)
                                        {
                                            RoomItem class3 = this.method_28(Convert.ToUInt32(current));
                                            //!(class3.GetBaseItem().InteractionType.ToLower() == "dice") && !(class3.GetBaseItem().InteractionType.ToLower() == "bb_patch"))
                                            //class3.GetBaseItem().InteractionType.ToLower() != "dice" && class3.GetBaseItem().InteractionType.ToLower() != "bb_patch"

                                            if (class3 != null && !(class3.GetBaseItem().InteractionType.ToLower() == "dice") && !(class3.GetBaseItem().InteractionType.ToLower() == "bb_patch") && !(class3.GetBaseItem().InteractionType.ToLower() == "bb_counter"))
                                            {
                                                string[] collection3 = list8[num8].Split(new char[]
											{
												','
											});
                                                List<string> list9 = new List<string>(collection3);
                                                bool flag6 = false;
                                                bool flag7 = false;
                                                if (current2.string_3 != "" && class3 != null)
                                                {
                                                    int int_ = class3.GetX;
                                                    int int_2 = class3.Int32_1;
                                                    if (current2.string_3.StartsWith("I"))
                                                    {
                                                        class3.ExtraData = list9[4];
                                                        flag7 = true;
                                                    }
                                                    if (current2.string_3.Substring(1, 1) == "I")
                                                    {
                                                        class3.int_3 = Convert.ToInt32(list9[3]);
                                                        flag6 = true;
                                                    }
                                                    if (current2.string_3.EndsWith("I"))
                                                    {
                                                        int_ = Convert.ToInt32(list9[0]);
                                                        int_2 = Convert.ToInt32(list9[1]);
                                                        flag6 = true;
                                                        class3.int_3 = Convert.ToInt32(list9[3]);
                                                    }
                                                    if (flag6)
                                                    {
                                                        //this.method_79(null, class3, class3.GetX, class3.Int32_1, class3.int_3, false, false, false);
                                                        this.method_40(class3, int_, int_2, current2.uint_0, class3.Double_0);
                                                    }
                                                    if (flag7)
                                                    {
                                                        class3.UpdateState(false, true);
                                                    }
                                                    this.method_22();
                                                }
                                                num8++;
                                            }
                                        }
                                    }
                                    flag2 = true;
                                    break;
                            }
                        }
                    }
                    result = flag2;
                }
            }
            catch
            {
                result = false;
            }
            return result;
        }
Ejemplo n.º 36
0
        public override void OnUserSay(RoomUser RoomUser_0, string string_0)
        {
            try
            {
                foreach (BotResponse br in botResponse)
                {
                    if (br.ContainsWord(string_0))
                    {
                        if (RoomUser_0 != null && RoomUser_0.GetClient() != null && br.ContainsWord(string_0) && this.uBot.BotType != "spybot" && this.uBot.BotType != "drinkbot")
                        {
                            if (RoomUser_0 != null && RoomUser_0.GetClient() != null && RoomUser_0.GetClient().GetHabbo() != null)
                                base.GetRoomUser().HandleSpeech(null, br.Response.Replace("%username%", RoomUser_0.GetClient().GetHabbo().Username), br.Shout);
                        }
                        else if (RoomUser_0 != null && RoomUser_0.GetClient() != null && br.ContainsWord(string_0) && this.uBot.BotType == "spybot" && RoomUser_0.GetClient().GetHabbo().Username == this.GetRoomUser().GetRoom().Owner)
                        {
                            using (DatabaseClient dbClient = Essential.GetDatabase().GetClient())
                            {
                                string text = "";
                                string username;
                                foreach (DataRow dr in dbClient.ReadDataTable("SELECT user_id FROM user_roomvisits WHERE room_id=" + base.GetRoomUser().GetRoom().Id + " ORDER BY exit_timestamp DESC LIMIT 10").Rows)
                                {
                                    username = dbClient.ReadString("SELECT username FROM users WHERE id=" + dr["user_id"].ToString());
                                    if (text == "")
                                        text = username;
                                    else
                                        text = text + ", " + username;
                                }
                                base.GetRoomUser().HandleSpeech(null, "Die letzen 10 Habbos in deinem Raum waren:", false);
                                base.GetRoomUser().HandleSpeech(null, text, false);

                            }
                        }
                        else if (RoomUser_0 != null && RoomUser_0.GetClient() != null && br.ContainsWord(string_0) && this.uBot.BotType == "drinkbot")
                        {
                            if (br.ServeId > 0)
                            {
                                base.GetRoomUser().CarryItem(br.ServeId);
                                base.GetRoomUser().HandleSpeech(null, br.Response.Replace("%username%", RoomUser_0.GetClient().GetHabbo().Username), br.Shout);
                                base.GetRoomUser().CarryItem(0);
                                RoomUser_0.CarryItem(br.ServeId);
                            }
                        }
                    }
                }
            }
            catch { }
        }
Ejemplo n.º 37
0
        /// <summary>
        ///     Called when [user say].
        /// </summary>
        /// <param name="user">The user.</param>
        /// <param name="message">The message.</param>
        internal override void OnUserSay(RoomUser user, string message)
        {
            if (Gamemap.TileDistance(GetRoomUser().X, GetRoomUser().Y, user.X, user.Y) > 16) return;

            if (!_isBartender) return;

            try
            {
                message = message.Substring(1);
            }
            catch
            {
                return;
            }
            switch (message.ToLower())
            {
                case "ven":
                case "comehere":
                case "come here":
                case "ven aquí":
                case "come":
                case "vem aqui":
                case "venha":
                case "venha aqui":
                case "vem aquí":
                    GetRoomUser().Chat(null, "Estou Indo!", false, 0);
                    GetRoomUser().MoveTo(user.SquareInFront);
                    return;

                case "sirve":
                case "serve":
                case "sirva":
                    if (GetRoom().CheckRights(user.GetClient()))
                    {
                        foreach (var current in GetRoom().GetRoomUserManager().GetRoomUsers())
                            current.CarryItem(Random.Next(1, 38));
                        GetRoomUser().Chat(null, "Worth. Agora você tem algo para devorar todos.", false, 0);
                        return;
                    }
                    return;

                case "agua":
                case "água":
                case "té":
                case "te":
                case "tea":
                case "juice":
                case "water":
                case "zumo":
                    GetRoomUser().Chat(null, "Aqui você vai.", false, 0);
                    user.CarryItem(Random.Next(1, 3));
                    return;

                case "helado":
                case "icecream":
                case "sorvete":
                case "ice cream":
                    GetRoomUser()
                        .Chat(null, "Aqui você vai. Isso não é o idioma que se encaixam perto, hehe!", false, 0);
                    user.CarryItem(4);
                    return;

                case "rose":
                case "rosa":
                    GetRoomUser().Chat(null, "Aqui você vai ... você faz bem em sua nomeação.", false, 0);
                    user.CarryItem(Random.Next(1000, 1002));
                    return;

                case "girasol":
                case "girassol":
                case "sunflower":
                    GetRoomUser().Chat(null, "Aqui estão algumas muito agradável natureza.", false, 0);
                    user.CarryItem(1002);
                    return;

                case "flor":
                case "flower":
                    GetRoomUser().Chat(null, "Aqui estão algumas muito agradável da natureza.", false, 0);
                    if (Random.Next(1, 3) == 2)
                    {
                        user.CarryItem(Random.Next(1019, 1024));
                        return;
                    }
                    user.CarryItem(Random.Next(1006, 1010));
                    return;

                case "zanahoria":
                case "zana":
                case "carrot":
                case "cenoura":
                    GetRoomUser().Chat(null, "Aqui está um bom vegetal. Divirta-se!", false, 0);
                    user.CarryItem(3);
                    return;

                case "café":
                case "cafe":
                case "capuccino":
                case "coffee":
                case "latte":
                case "mocha":
                case "espresso":
                case "expreso":
                    GetRoomUser().Chat(null, "Aqui está o seu café. É espumante!", false, 0);
                    user.CarryItem(Random.Next(11, 18));
                    return;

                case "fruta":
                case "fruit":
                    GetRoomUser().Chat(null, "Aqui está um pouco saudável, fresco e natural. Aproveite!", false, 0);
                    user.CarryItem(Random.Next(36, 40));
                    return;

                case "naranja":
                case "orange":
                case "laranja":
                    GetRoomUser().Chat(null, "Aqui está um pouco saudável, fresco e natural. Aproveite!", false, 0);
                    user.CarryItem(38);
                    return;

                case "manzana":
                case "apple":
                case "maça":
                case "maçã":
                case "maca":
                case "macã":
                    GetRoomUser().Chat(null, "Aqui está um pouco saudável, fresco e natural. Aproveite!", false, 0);
                    user.CarryItem(37);
                    return;

                case "cola":
                case "habbocola":
                case "habbo cola":
                case "coca cola":
                case "cocacola":
                    GetRoomUser().Chat(null, "Aqui é uma bebida muito famosa macio.", false, 0);
                    user.CarryItem(19);
                    return;

                case "pear":
                case "pera":
                case "pêra":
                    GetRoomUser().Chat(null, "Aqui está um pouco saudável, fresco e natural. Aproveite!", false, 0);
                    user.CarryItem(36);
                    return;

                case "ananá":
                case "pineapple":
                case "piña":
                case "rodaja de piña":
                    GetRoomUser().Chat(null, "Aqui está um pouco saudável, fresco e natural. Aproveite!", false, 0);
                    user.CarryItem(39);
                    return;

                case "puta":
                case "puto":
                case "gilipollas":
                case "metemela":
                case "polla":
                case "pene":
                case "penis":
                case "idiot":
                case "f**k":
                case "bastardo":
                case "idiota":
                case "chupamela":
                case "tonta":
                case "tonto":
                case "mierda":
                case "vadia":
                case "prostituta":
                case "vaca":
                case "feiosa":
                case "filha da puta":
                case "gostosa":
                    GetRoomUser().Chat(null, "Não me trate mal, eh!", true, 0);
                    return;

                case "case comigo":
                    GetRoomUser().Chat(null, "Irei agora!", true, 0);
                    return;

                case "protocolo destruir":
                    GetRoomUser().Chat(null, "Iniciando Auto Destruição do Mundo!", true, 0);
                    return;

                case "lindo":
                case "hermoso":
                case "linda":
                case "guapa":
                case "beautiful":
                case "handsome":
                case "love":
                case "guapo":
                case "i love you":
                case "hermosa":
                case "preciosa":
                case "te amo":
                case "amor":
                case "mi amor":
                    GetRoomUser()
                        .Chat(null, "Eu sou um bot, err ... isto está a ficar desconfortável, você sabe?", false, 0);
                    return;

                case "tyrex":
                    GetRoomUser().Chat(null, "Por favor, me chame de Deus Tyrex!", true, 0);
                    return;
            }
            GetRoomUser().Chat(null, "Precisa de Algo?", false, 0);
        }