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); } }