Ejemplo n.º 1
0
        public void RevertPetHandle(GameClient client, int place, string msg)
        {
            int num = Convert.ToInt32(PetMgr.FindConfig("RecycleCost").Value);

            if (client.Player.PlayerCharacter.Money >= num)
            {
                UsersPetinfo     petAt        = client.Player.PetBag.GetPetAt(place);
                UsersPetinfo     usersPetinfo = new UsersPetinfo();
                ItemTemplateInfo goods        = ItemMgr.FindItemTemplate(334100);
                ItemInfo         itemInfo     = ItemInfo.CreateFromTemplate(goods, 1, 0);
                itemInfo.IsBinds        = true;
                itemInfo.DefendCompose  = petAt.GP;
                itemInfo.AgilityCompose = petAt.MaxGP;
                if (!client.Player.PropBag.AddTemplate(itemInfo, 1))
                {
                    client.Player.SendItemToMail(itemInfo, LanguageMgr.GetTranslation("UserChangeItemPlaceHandler.full", new object[0]), LanguageMgr.GetTranslation("UserChangeItemPlaceHandler.full", new object[0]), eMailType.ItemOverdue);
                    client.Player.Out.SendMailResponse(client.Player.PlayerCharacter.ID, eMailRespose.Receiver);
                }
                int iD = petAt.ID;
                using (PlayerBussiness playerBussiness = new PlayerBussiness())
                {
                    usersPetinfo = playerBussiness.GetAdoptPetSingle(iD);
                }
                petAt.Blood   = usersPetinfo.Blood;
                petAt.Attack  = usersPetinfo.Attack;
                petAt.Defence = usersPetinfo.Defence;
                petAt.Agility = usersPetinfo.Agility;
                petAt.Luck    = usersPetinfo.Luck;
                int arg_158_0  = client.Player.PlayerCharacter.ID;
                int templateID = usersPetinfo.TemplateID;
                petAt.TemplateID = templateID;
                petAt.Skill      = usersPetinfo.Skill;
                petAt.SkillEquip = usersPetinfo.SkillEquip;
                petAt.GP         = 0;
                petAt.Level      = 1;
                petAt.MaxGP      = 55;
                bool flag = client.Player.PetBag.UpGracePet(petAt, place, false, 0, 0, ref msg);
                client.Player.SendMessage("Phục hồi thành công!");
                client.Player.RemoveMoney(num);
                if (flag)
                {
                    client.Player.Out.SendUpdatePetInfo(client.Player.PlayerCharacter, client.Player.PetBag.GetPets());
                    return;
                }
            }
            else
            {
                client.Player.SendMessage(msg);
            }
        }