示例#1
0
        public override void HandleRequest(GameClient Client, string Message)
        {
            if (!OnDuty)
            {
                return;
            }

            if (RespondToSpeech(Client, Message))
            {
                return;
            }

            string Name          = GetBotRoleplay().Name.ToLower();
            var    ServableFoods = FoodManager.GetServableBotItems("drink");

            #region Serving Drinks
            if (Message.ToLower().Contains("serve") && Message.ToLower() != "serve")
            {
                string[] Params = Message.Split(' ');

                if (Params.Length == 1)
                {
                    return;
                }
                else
                {
                    if (Client.GetRoleplay().CurEnergy >= Client.GetRoleplay().MaxEnergy)
                    {
                        string WhisperMessage = "Sua energia já está cheia " + Client.GetHabbo().Username + "!";
                        Client.SendMessage(new WhisperComposer(GetRoomUser().VirtualId, WhisperMessage, 0, 2));
                        return;
                    }

                    if (GetBotRoleplay().WalkingToItem)
                    {
                        string WhisperMessage = "Eu já estou servindo alguém! Espera aí.";
                        Client.SendMessage(new WhisperComposer(GetRoomUser().VirtualId, WhisperMessage, 0, 2));
                        return;
                    }

                    string DesiredFood = Params[1].ToLower();
                    var    Food        = FoodManager.GetDrink(DesiredFood);

                    if (Food == null)
                    {
                        string WhisperMessage = "Esta bebida não existe! Por favor digite 'bebidas' para ver o que posso lhe fornecer.";
                        Client.SendMessage(new WhisperComposer(GetRoomUser().VirtualId, WhisperMessage, 0, 2));
                    }
                    else
                    {
                        if (FoodManager.CanServe(Client.GetRoomUser()))
                        {
                            BeginServingFood(Food, Client);
                        }
                        else
                        {
                            string WhisperMessage = "Encontre uma mesa vazia para que eu sirva uma bebida para você!";
                            Client.SendMessage(new WhisperComposer(GetRoomUser().VirtualId, WhisperMessage, 0, 2));
                        }
                    }
                }
            }
            #endregion

            else if (Message.ToLower() == Name)
            {
                GetRoomUser().Chat("Sim " + Client.GetHabbo().Username + ", você precisava de algo?", true);
            }
            else
            {
                switch (Message.ToLower())
                {
                    #region Drinks List
                case "drinks":
                case "drink":
                case "energy":
                case "serve":
                {
                    if (Client.GetRoleplay().CurEnergy >= Client.GetRoleplay().MaxEnergy)
                    {
                        string WhisperMessage = "Você não parece com sede " + Client.GetHabbo().Username + "!";
                        Client.SendMessage(new WhisperComposer(GetRoomUser().VirtualId, WhisperMessage, 0, 2));
                    }
                    else
                    {
                        GetRoomUser().Chat("Bem vindo(a) " + Client.GetHabbo().Username + ", você está com muita sede! O que você gostaria de beber?", true);

                        StringBuilder FoodList = new StringBuilder().Append("<----- Bebidas Disponíveis ----->\n");
                        FoodList.Append("Para solicitar qualquer um dos seguintes, digite 'serve <nome da bebidas>', esteja em uma mesa vazia!\n\n");

                        foreach (var Food in ServableFoods.OrderBy(x => x.Cost))
                        {
                            if (Food != null)
                            {
                                string RealName = Food.Name.Substring(0, 1).ToUpper() + Food.Name.Substring(1);

                                FoodList.Append("<----- " + RealName + " ----->\n");
                                FoodList.Append("Preço: $" + Food.Cost + " ---> Fome: -" + Food.Hunger + "\n");
                                FoodList.Append("Sangue: +" + Food.Health + " ---> Energia: +" + Food.Energy + "\n\n");
                            }
                        }

                        Client.SendMessage(new MOTDNotificationComposer(FoodList.ToString()));
                    }
                    break;
                }
                    #endregion
                }
            }
        }