Esempio n. 1
0
        internal void ContinueLoading()
        {
            DateTime Start;
            TimeSpan TimeUsed;

            using (IQueryAdapter dbClient = OtanixEnvironment.GetDatabaseManager().getQueryreactor())
            {
                EmuSettings.Initialize(dbClient);

                Start = DateTime.Now;
                Ranks.LoadMaxRankId(dbClient);
                Catalog.Initialize(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("Catalog Cache -> READY (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                Filter.Filter.Initialize();
                Filter.BlackWordsManager.Load(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("Filter -> READY (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                BanManager.LoadBans(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("Ban Manager -> READY (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                newsManager.Initialize(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("News Manager -> READY (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                ItemManager.LoadItems(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("Item Manager -> READY (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                Furnidata.Initialize();
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("Furnidata -> READY (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                PromotionalBadgesManager.loadPromotionalBadges(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("Promotional Badges Manager -> READY (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                RoleManager.LoadRanks(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("Ranks -> READY (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                Navigator.Initialize(dbClient);
                NewNavigatorManager.Initialize(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("Navigator -> READY (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                RoomManager.LoadModels(dbClient);
                RoomManager.InitVotedRooms(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("Room Manager -> READY (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                AchievementManager.Initialize(dbClient);
                questManager.Initialize(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("Quest Manager -> READY (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                ModerationTool.LoadMessagePresets(dbClient);
                ModerationTool.LoadModActions(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("Moderation Tool -> READY (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                PetRace.Init(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("Pet Race -> READY (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                PetOrders.Init(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("Pet Orders -> READY (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                GuildsPartsManager.InitGroups(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("Guilds Parts Manager-> READY (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                Catalog.InitCache();
                CatalogPremium.Initialize(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("Catalog Manager -> PRONTO (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                SongManager.Initialize();
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("Song Manager -> READY (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                youtubeManager.Initialize(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("Youtube TV Manager -> READY (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                piñataManager.Initialize(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("Piñata Manager -> READY (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                talentManager.Initialize(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("Talent Manager -> READY (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                TargetedOfferManager.Initialize(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("Targeted Offer Manager -> READY (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                CraftableProductsManager.Initialize(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("Craftable Products Manager -> READY (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                ClothingManager.Initialize(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("Clothing Manager-> PRONTO (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                PrisaoManager.Init(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("Prison Manager -> READY (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                LandingTopUsersManager.Initialize(dbClient);
                LandingTopUsersManager.Load();
                giftManager.init(dbClient);
                SpyChatMessage.Initialize();
                StaffChat.Initialize(dbClient);
                BonusManager.Initialize(dbClient);
                roomRankConfig.Initialize();

                Start = DateTime.Now;
                DatabaseCleanup(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("Database -> Cleanup Done (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");
            }

            StartGameLoop();

            Logging.WriteLine("Game Loop -> READY ");
        }
Esempio n. 2
0
        internal void ContinueLoading()
        {
            DateTime Start;
            TimeSpan TimeUsed;

            using (IQueryAdapter dbClient = OtanixEnvironment.GetDatabaseManager().getQueryreactor())
            {
                EmuSettings.Initialize(dbClient);

                Start = DateTime.Now;
                Ranks.LoadMaxRankId(dbClient);
                Catalog.Initialize(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("[Otanix] @ Catacache -> PRONTO! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                Filter.Filter.Initialize();
                Filter.BlackWordsManager.Load(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("[Otanix] @ Filtro -> PRONTO! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                BanManager.LoadBans(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("[Otanix] @ Gerente de Ban -> PRONTO! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                newsManager.Initialize(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("[Otanix] @ Notícia -> PRONTO! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                ItemManager.LoadItems(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("[Otanix] @ Gerente de item -> PRONTO! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                Furnidata.Initialize();
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("[Otanix] @ Gerente de Furnidata -> PRONTO! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                PromotionalBadgesManager.loadPromotionalBadges(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("[Otanix] @ Emblemas promocionais -> PRONTO! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                RoleManager.LoadRanks(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("[Otanix] @ Gerente de papel -> PRONTO! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                Navigator.Initialize(dbClient);
                NewNavigatorManager.Initialize(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("[Otanix] @ Navegador -> PRONTO! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                RoomManager.LoadModels(dbClient);
                RoomManager.InitVotedRooms(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("[Otanix] @ Gerente do quarto -> PRONTO! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                AchievementManager.Initialize(dbClient);
                questManager.Initialize(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("[Otanix] @ Gerente de realização -> PRONTO! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                ModerationTool.LoadMessagePresets(dbClient);
                ModerationTool.LoadModActions(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("[Otanix] @ Ferramenta de moderação-> PRONTO! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                PetRace.Init(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("[Otanix] @ Sistema de estimação-> PRONTO! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                PetOrders.Init(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("[Otanix] @ Ordens para animais -> PRONTO! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                GuildsPartsManager.InitGroups(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("[Otanix] @ Elementos dos grupos -> PRONTO! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                Catalog.InitCache();
                CatalogPremium.Initialize(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("[Otanix] @ Gerente de catálogo -> PRONTO! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                SongManager.Initialize();
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("[Otanix] @ Gerente de som -> PRONTO! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                youtubeManager.Initialize(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("[Otanix] @ Youtube TV Manager -> PRONTO! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                piñataManager.Initialize(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("[Otanix] @ Gerente Piñata -> PRONTO! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                talentManager.Initialize(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("[Otanix] @ Gerente de talentos -> PRONTO! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                TargetedOfferManager.Initialize(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("[Otanix] @ Gerente da oferta direta -> PRONTO! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                CraftableProductsManager.Initialize(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("[Otanix] @ Gerente de Produtos Crafáveis -> PRONTO! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                ClothingManager.Initialize(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("[Otanix] @ Gerente de vestuário-> PRONTO! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                Start = DateTime.Now;
                PrisaoManager.Init(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("[Otanix] @ Usuários presos -> PRONTO! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");

                LandingTopUsersManager.Initialize(dbClient);
                LandingTopUsersManager.Load();
                giftManager.init(dbClient);
                SpyChatMessage.Initialize();
                StaffChat.Initialize(dbClient);
                BonusManager.Initialize(dbClient);
                roomRankConfig.Initialize();

                Start = DateTime.Now;
                DatabaseCleanup(dbClient);
                TimeUsed = DateTime.Now - Start;
                Logging.WriteLine("[Otanix] @ Database -> Limpeza realizada! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)");
            }

            StartGameLoop();

            Logging.WriteLine("[Otanix] @ Gerente de jogo -> PRONTO! ");
        }
Esempio n. 3
0
        internal override void OnUserSay(RoomUser User, string Message)
        {
            var Pet = GetRoomUser();

            if (Pet == null || Pet.PetData == null)
            {
                return;
            }

            if (Pet.PetData.DBState != DatabaseUpdateState.NeedsInsert)
            {
                Pet.PetData.DBState = DatabaseUpdateState.NeedsUpdate;
            }

            if (Message.ToLower().Equals(Pet.PetData.Name.ToLower()))
            {
                Pet.SetRot(Rotation.Calculate(Pet.X, Pet.Y, User.X, User.Y), false);
                return;
            }

            if (Message.ToLower().StartsWith(Pet.PetData.Name.ToLower() + " ") && User.GetClient().GetHabbo().Username.ToLower() == Pet.PetData.OwnerName.ToLower())
            {
                var Command = Message.Substring(Pet.PetData.Name.ToLower().Length + 1);

                if (PetOrders.PetCanDoCommand(Pet.PetData.Type, Pet.PetData.Level, Command) == false)
                {
                    var Speech  = PetLocale.GetValue("pet.unknowncommand");
                    var rSpeech = Speech[new Random().Next(0, Speech.Length - 1)];

                    Pet.Chat(null, rSpeech, 0, false);

                    return;
                }

                int randomNumber = new Random().Next(4);
                if ((randomNumber == 3 || Pet.PetData.Energy < 10) && Command != "COMER" && Command != "Cruzar") // no hacemos el comando.
                {
                    var Speech  = PetLocale.GetValue("pet.tired");
                    var rSpeech = Speech[new Random().Next(0, Speech.Length - 1)];

                    Pet.Chat(null, rSpeech, 0, false);
                    Pet.PetData.PetEnergy(false, false);

                    return;
                }

                switch (Command)
                {
                case "DESCANSA":
                {
                    // nothing
                    break;
                }

                case "HABLA":
                {
                    var Speech  = PetLocale.GetValue("speech.pet" + Pet.PetData.Type);
                    var rSpeech = Speech[new Random().Next(0, Speech.Length - 1)];

                    Pet.Chat(null, rSpeech, 0, false);

                    Pet.PetData.AddExpirience(10);
                    Pet.PetData.PetEnergy(false, true);

                    ActionTimer = 25;
                    EnergyTimer = 120;

                    break;
                }

                case "JUEGA":
                {
                    break;
                }

                case "CALLA":
                {
                    // nothing.. i think.. JEP
                    break;
                }

                case "A CASA":
                {
                    RemovePetStatus();

                    Point coord = GetRoom().GetRoomItemHandler().getRandomHome();
                    if (coord == new Point())
                    {
                        Pet.Chat(null, "*buscando un juguete*", 0, false);
                        return;
                    }

                    Pet.MoveTo(coord);

                    Pet.PetData.AddExpirience(10);
                    Pet.PetData.PetEnergy(false, true);

                    // Pet.Statusses.Add("eat", TextHandling.GetString(Pet.Z));
                    ActionTimer = 25;
                    EnergyTimer = 120;

                    break;
                }

                case "BEBE":
                {
                    RemovePetStatus();

                    Point coord = GetRoom().GetRoomItemHandler().getRandomWaterbowl();
                    if (coord == new Point())
                    {
                        Pet.Chat(null, "*sediento*", 0, false);
                        return;
                    }

                    Pet.MoveTo(coord);

                    Pet.PetData.AddExpirience(5);
                    Pet.PetData.PetEnergy(false, true);

                    Pet.Statusses.Add("eat", TextHandling.GetString(Pet.Z));
                    ActionTimer = 25;
                    EnergyTimer = 120;

                    break;
                }

                case "IZQUIERDA":
                {
                    RemovePetStatus();

                    Pet.RotHead--;
                    Pet.RotBody--;
                    if (Pet.RotHead < 0 || Pet.RotBody < 0)
                    {
                        Pet.RotHead = 7;
                        Pet.RotBody = 7;
                    }

                    Pet.PetData.AddExpirience(10);
                    Pet.PetData.PetEnergy(false, true);

                    ActionTimer = 25;
                    EnergyTimer = 120;

                    break;
                }

                case "DERECHA":
                {
                    RemovePetStatus();

                    Pet.RotHead++;
                    Pet.RotBody++;
                    if (Pet.RotHead > 7 || Pet.RotBody > 7)
                    {
                        Pet.RotHead = 0;
                        Pet.RotBody = 0;
                    }

                    Pet.PetData.AddExpirience(10);
                    Pet.PetData.PetEnergy(false, true);

                    ActionTimer = 25;
                    EnergyTimer = 120;

                    break;
                }

                case "FÚTBOL":
                {
                    RemovePetStatus();

                    Pet.PetData.AddExpirience(15);
                    Pet.PetData.PetEnergy(false, true);

                    if (GetRoom().GotSoccer())
                    {
                        Pet.MoveTo(GetRoom().GetSoccer().Ball.Coordinate);
                    }

                    ActionTimer = 25;
                    EnergyTimer = 120;

                    break;
                }

                case "ARRODÍLLATE":
                {
                    break;
                }

                case "BOTA":
                {
                    break;
                }

                case "SIÉNTATE":
                {
                    RemovePetStatus();

                    Pet.PetData.AddExpirience(10);
                    Pet.PetData.PetEnergy(false, true);

                    Pet.Statusses.Add("sit", TextHandling.GetString(Pet.Z));
                    ActionTimer = 25;
                    EnergyTimer = 120;

                    break;
                }

                case "ESTATUA":
                {
                    break;
                }

                case "BAILA":
                {
                    break;
                }

                case "GIRA":
                {
                    break;
                }

                case "ENCIENDE TV":
                {
                    break;
                }

                case "ADELANTE":
                {
                    RemovePetStatus();

                    Pet.PetData.AddExpirience(15);
                    Pet.PetData.PetEnergy(false, true);

                    Pet.MoveTo(Pet.SquareInFront);

                    ActionTimer = 25;
                    EnergyTimer = 120;

                    break;
                }

                case "RELAX":
                {
                    break;
                }

                case "CROA":
                {
                    break;
                }

                case "INMERSIÓN":
                {
                    RemovePetStatus();

                    Pet.Statusses.Add("lay", TextHandling.GetString(Pet.Z));

                    Pet.PetData.AddExpirience(10);
                    Pet.PetData.PetEnergy(false, true);

                    ActionTimer = 25;
                    EnergyTimer = 120;

                    break;
                }

                case "TÚMBATE":
                {
                    RemovePetStatus();

                    Pet.Statusses.Add("lay", TextHandling.GetString(Pet.Z));

                    Pet.PetData.AddExpirience(10);
                    Pet.PetData.PetEnergy(false, true);

                    ActionTimer = 25;
                    EnergyTimer = 120;

                    break;
                }

                case "SALUDA":
                {
                    break;
                }

                case "MARCHA":
                {
                    break;
                }

                case "GRAN SALTO":
                {
                    break;
                }

                case "BAILE POLLO":
                {
                    break;
                }

                case "TRIPLE SALTO":
                {
                    break;
                }

                case "MUESTRA ALAS":
                {
                    RemovePetStatus();

                    Pet.Statusses.Add("wng", TextHandling.GetString(Pet.Z));

                    Pet.PetData.AddExpirience(10);
                    Pet.PetData.PetEnergy(false, true);

                    ActionTimer = 25;
                    EnergyTimer = 120;

                    break;
                }

                case "ECHA FUEGO":
                {
                    RemovePetStatus();

                    Pet.Statusses.Add("flm", TextHandling.GetString(Pet.Z));

                    Pet.PetData.AddExpirience(10);
                    Pet.PetData.PetEnergy(false, true);

                    ActionTimer = 25;
                    EnergyTimer = 120;

                    break;
                }

                case "PLANEA":
                {
                    break;
                }

                case "ANTORCHA":
                {
                    break;
                }

                case "VEN AQUÍ":
                {
                    RemovePetStatus();

                    Pet.PetData.AddExpirience(10);
                    Pet.PetData.PetEnergy(false, true);

                    Pet.MoveTo(User.SquareInFront);
                    ActionTimer = 25;

                    break;
                }

                case "CAMBIA VUELO":
                {
                    break;
                }

                case "VOLTERETA":
                {
                    break;
                }

                case "ANILLO FUEGO":
                {
                    break;
                }

                case "COMER":
                {
                    RemovePetStatus();

                    Point coord = GetRoom().GetRoomItemHandler().getRandomPetfood();
                    if (coord == new Point())
                    {
                        Pet.Chat(null, "*hambriento*", 0, false);
                        return;
                    }

                    Pet.MoveTo(coord);

                    Pet.PetData.AddExpirience(5);
                    Pet.PetData.PetEnergy(true, true);

                    var Session = OtanixEnvironment.GetGame().GetClientManager().GetClientByUserID(Pet.PetData.OwnerId);
                    OtanixEnvironment.GetGame().GetAchievementManager().ProgressUserAchievement(Pet.PetData.OwnerId, "ACH_PetFeeding", 10);
                    if (Pet.PetData.Type == 26)        // gnome
                    {
                        OtanixEnvironment.GetGame().GetAchievementManager().ProgressUserAchievement(Pet.PetData.OwnerId, "ACH_GnomeFeeding", 10);
                    }

                    Pet.Statusses.Add("eat", TextHandling.GetString(Pet.Z));
                    ActionTimer = 25;
                    EnergyTimer = 120;

                    break;
                }

                case "MOVER COLA":
                {
                    break;
                }

                case "Cuenta":
                {
                    break;
                }

                case "Cruzar":
                {
                    RemovePetStatus();

                    Point coord = new Point();
                    if (Pet.PetData.Type == 0 || Pet.PetData.Type == 1 || Pet.PetData.Type == 2 || Pet.PetData.Type == 3 || Pet.PetData.Type == 4)
                    {
                        coord = GetRoom().GetRoomItemHandler().getRandomBreedingPet(Pet.PetData);
                    }

                    if (coord == new Point())
                    {
                        ServerMessage alert = new ServerMessage(Outgoing.NoBreedingFurni);
                        alert.AppendInt32(0);
                        User.GetClient().SendMessage(alert);

                        return;
                    }

                    Pet.MoveTo(coord);
                    Pet.PetData.AddExpirience(0);
                    Pet.PetData.PetEnergy(false, true);

                    ActionTimer = 25;
                    EnergyTimer = 120;

                    break;
                }

                case "PIDE":
                {
                    RemovePetStatus();

                    Pet.PetData.AddExpirience(10);
                    Pet.PetData.PetEnergy(false, true);

                    Pet.Statusses.Add("beg", TextHandling.GetString(Pet.Z));
                    ActionTimer = 25;
                    EnergyTimer = 120;

                    break;
                }

                case "HAZ EL MUERTO":
                {
                    RemovePetStatus();

                    Pet.Statusses.Add("ded", TextHandling.GetString(Pet.Z));

                    Pet.PetData.AddExpirience(10);
                    Pet.PetData.PetEnergy(false, true);

                    ActionTimer = 25;
                    EnergyTimer = 120;

                    break;
                }

                case "QUIETO":
                {
                    RemovePetStatus();

                    Pet.PetData.AddExpirience(5);
                    Pet.PetData.PetEnergy(false, true);

                    Pet.IsWalking      = false;
                    Pet.FollowingOwner = null;

                    ActionTimer = 25;
                    EnergyTimer = 120;

                    break;
                }

                case "SÍGUEME":
                {
                    RemovePetStatus();

                    Pet.PetData.AddExpirience(10);
                    Pet.PetData.PetEnergy(false, true);

                    Pet.FollowingOwner = User;
                    Pet.MoveTo(User.SquareBehind);

                    ActionTimer = 2;
                    EnergyTimer = 120;

                    break;
                }

                case "LEVANTA":
                {
                    RemovePetStatus();

                    Pet.Statusses.Add("std", TextHandling.GetString(Pet.Z));

                    Pet.PetData.AddExpirience(10);
                    Pet.PetData.PetEnergy(false, true);

                    ActionTimer = 25;
                    EnergyTimer = 120;

                    break;
                }

                case "SALTA":
                {
                    RemovePetStatus();

                    Pet.Statusses.Add("jmp", TextHandling.GetString(Pet.Z));

                    Pet.PetData.AddExpirience(10);
                    Pet.PetData.PetEnergy(false, true);

                    ActionTimer = 6;
                    EnergyTimer = 120;

                    break;
                }
                }
            }
        }