public virtual bool AddAdoptPetTo(UsersPetinfo pet, int place) { if (pet == null || place >= this.m_aCapalility || place < 0) { return(false); } object @lock; Monitor.Enter(@lock = this.m_lock); try { if (this.m_adoptPets[place] != null) { place = -1; } else { this.m_adoptPets[place] = pet; pet.Place = place; } } finally { Monitor.Exit(@lock); } return(place != -1); }
public static void PlusPetProp(UsersPetinfo pet, int min, int max, ref int blood, ref int attack, ref int defence, ref int agility, ref int lucky) { double num = (double)(pet.BloodGrow / 10) * 0.1; double num2 = (double)(pet.AttackGrow / 10) * 0.1; double num3 = (double)(pet.DefenceGrow / 10) * 0.1; double num4 = (double)(pet.AgilityGrow / 10) * 0.1; double num5 = (double)(pet.LuckGrow / 10) * 0.1; double num6 = 0.0; double num7 = (double)pet.Blood; double num8 = (double)pet.Attack; double num9 = (double)pet.Defence; double num10 = (double)pet.Agility; double num11 = (double)pet.Luck; for (int i = min + 1; i <= max; i++) { num6 += (double)(min / 100); double x = 0.5; num7 += num + Math.Pow(x, (double)i); num8 += num2 + Math.Pow(x, (double)i); num9 += num3 + Math.Pow(x, (double)i); num10 += num4 + Math.Pow(x, (double)i); num11 += num5 + Math.Pow(x, (double)i); } blood = (int)(num * (num7 / (num + num6))); attack = (int)(num2 * (num8 / (num2 + num6))); defence = (int)(num3 * (num9 / (num3 + num6))); agility = (int)(num4 * (num10 / (num4 + num6))); lucky = (int)(num5 * (num11 / (num5 + num6))); }
public virtual bool RemovePet(UsersPetinfo pet) { if (pet == null) { return(false); } int num = -1; object @lock; Monitor.Enter(@lock = this.m_lock); try { for (int i = 0; i < this.m_capalility; i++) { if (this.m_pets[i] == pet) { num = i; this.m_pets[i] = null; break; } } } finally { Monitor.Exit(@lock); } if (num != -1) { this.OnPlaceChanged(num); pet.Place = -1; } return(num != -1); }
public virtual bool EquipSkillPet(int place, int killId, int killindex) { string skill = killId + "," + killindex; UsersPetinfo pet = this.m_pets[place]; object @lock; Monitor.Enter(@lock = this.m_lock); try { if (killId == 0) { this.m_pets[place].SkillEquip = this.SetSkillEquip(pet, killindex, skill); bool result = true; return(result); } if (this.IsEquipSkill(place, killId.ToString())) { this.m_pets[place].SkillEquip = this.SetSkillEquip(pet, killindex, skill); bool result = true; return(result); } } finally { Monitor.Exit(@lock); } return(false); }
public static List <UsersPetinfo> CreateFirstAdoptList(int userID) { List <int> list = new List <int> { 100601, 110601, 120601, 130601 }; List <UsersPetinfo> list2 = new List <UsersPetinfo>(); using (PlayerBussiness playerBussiness = new PlayerBussiness()) { playerBussiness.RemoveUserAdoptPet(userID); for (int i = 0; i < list.Count; i++) { PetTemplateInfo info = PetMgr.FindPetTemplate(list[i]); UsersPetinfo usersPetinfo = PetMgr.CreatePet(info, userID, i); usersPetinfo.IsExit = true; playerBussiness.AddUserAdoptPet(usersPetinfo, false); list2.Add(usersPetinfo); } } return(list2); }
public virtual void LoadFromDatabase() { if (this.m_saveToDb) { using (PlayerBussiness playerBussiness = new PlayerBussiness()) { UsersPetinfo[] userPetSingles = playerBussiness.GetUserPetSingles(this.m_player.PlayerCharacter.ID); UsersPetinfo[] userAdoptPetSingles = playerBussiness.GetUserAdoptPetSingles(this.m_player.PlayerCharacter.ID); base.BeginChanges(); try { UsersPetinfo[] array = userPetSingles; for (int i = 0; i < array.Length; i++) { UsersPetinfo usersPetinfo = array[i]; this.AddPetTo(usersPetinfo, usersPetinfo.Place); } UsersPetinfo[] array2 = userAdoptPetSingles; for (int j = 0; j < array2.Length; j++) { UsersPetinfo usersPetinfo2 = array2[j]; this.AddAdoptPetTo(usersPetinfo2, usersPetinfo2.Place); } } finally { base.CommitChanges(); } } } }
public virtual bool RemoveAdoptPet(UsersPetinfo pet) { if (pet == null) { return(false); } int num = -1; object @lock; Monitor.Enter(@lock = this.m_lock); try { for (int i = 0; i < this.m_aCapalility; i++) { if (this.m_adoptPets[i] == pet) { num = i; this.m_adoptPets[i] = null; break; } } } finally { Monitor.Exit(@lock); } return(num != -1); }
public bool AddPet(UsersPetinfo pet, int minSlot) { if (pet == null) { return(false); } int place = this.FindFirstEmptySlot(minSlot); return(this.AddPetTo(pet, place)); }
public override bool AddAdoptPetTo(UsersPetinfo pet, int place) { if (base.AddAdoptPetTo(pet, place)) { pet.UserID = this.m_player.PlayerCharacter.ID; pet.IsExit = true; return(true); } return(false); }
public virtual void SaveToDatabase() { if (this.m_saveToDb) { using (PlayerBussiness playerBussiness = new PlayerBussiness()) { object @lock; Monitor.Enter(@lock = this.m_lock); try { for (int i = 0; i < this.m_pets.Length; i++) { UsersPetinfo usersPetinfo = this.m_pets[i]; if (usersPetinfo != null && usersPetinfo.IsDirty) { playerBussiness.SaveUserPet(usersPetinfo); } } } finally { Monitor.Exit(@lock); } List <UsersPetinfo> removedList; Monitor.Enter(removedList = this.m_removedList); try { foreach (UsersPetinfo current in this.m_removedList) { playerBussiness.RemovePetSingle(current.ID); } this.m_removedList.Clear(); } finally { Monitor.Exit(removedList); } List <UsersPetinfo> removedAdoptPetList; Monitor.Enter(removedAdoptPetList = this.m_removedAdoptPetList); try { foreach (UsersPetinfo current2 in this.m_removedAdoptPetList) { playerBussiness.RemoveUserAdoptPet(current2.ID); } this.m_removedAdoptPetList.Clear(); } finally { Monitor.Exit(removedAdoptPetList); } } } }
public string SetSkillEquip(UsersPetinfo pet, int place, string skill) { List <string> skillEquip = pet.GetSkillEquip(); skillEquip[place] = skill; string text = skillEquip[0]; for (int i = 1; i < skillEquip.Count; i++) { text = text + "|" + skillEquip[i]; } return(text); }
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); } }
public Player(IGamePlayer player, int id, BaseGame game, int team, int maxBlood) : base(id, game, team, "", "", maxBlood, 0, 1) { this.m_rect = new Rectangle(-15, -20, 30, 30); this.m_player = player; this.m_player.GamePlayerId = id; this.m_isActive = true; this.m_canGetProp = true; this.Grade = player.PlayerCharacter.Grade; base.vaneOpen = player.PlayerCharacter.IsWeakGuildFinish(9); this.m_pet = player.Pet; if (this.m_pet != null) { base.isPet = true; base.PetBaseAtt = this.GetPetBaseAtt(); } this.TotalAllHurt = 0; this.TotalAllHitTargetCount = 0; this.TotalAllShootCount = 0; this.TotalAllKill = 0; this.TotalAllExperience = 0; this.TotalAllScore = 0; this.TotalAllCure = 0; this.m_DeputyWeapon = this.m_player.SecondWeapon; if (this.m_DeputyWeapon != null) { this.deputyWeaponResCount = this.m_DeputyWeapon.StrengthenLevel + 1; } else { this.deputyWeaponResCount = 1; } this.m_weapon = this.m_player.MainWeapon; if (this.m_weapon != null) { BallConfigInfo ballConfigInfo = BallConfigMgr.FindBall(this.m_weapon.TemplateID); this.m_mainBallId = ballConfigInfo.Common; this.m_spBallId = ballConfigInfo.Special; this.m_sp2BallId = ballConfigInfo.SpecialII; this.m_AddWoundBallId = ballConfigInfo.CommonAddWound; this.m_MultiBallId = ballConfigInfo.CommonMultiBall; } this.m_loadingProcess = 0; this.m_prop = 0; this.InitBuffer(this.m_player.EquipEffect); this.m_energy = this.m_player.PlayerCharacter.Agility / 30 + 240; this.m_maxBlood = this.m_player.PlayerCharacter.hp; this.skillcu = 0; }
public ProxyPlayer(ServerClient client, PlayerInfo character, ProxyPlayerInfo proxyPlayer, UsersPetinfo pet, List <BufferInfo> infos, List <ItemInfo> euipEffects) { this.m_client = client; this.m_character = character; this.m_pet = pet; this.m_serverid = proxyPlayer.ServerId; this.m_baseAttack = proxyPlayer.BaseAttack; this.m_baseDefence = proxyPlayer.BaseDefence; this.m_baseAglilty = proxyPlayer.BaseAgility; this.m_baseBlood = proxyPlayer.BaseBlood; this.m_currentWeapon = proxyPlayer.GetItemTemplateInfo(); this.m_secondWeapon = proxyPlayer.GetItemInfo(); this.GPRate = proxyPlayer.GPAddPlus; this.OfferRate = proxyPlayer.OfferAddPlus; this.m_antiAddictionRate = proxyPlayer.AntiAddictionRate; this.m_equipEffect = euipEffects; this.Buffers = infos; }
public static List <UsersPetinfo> CreateAdoptList(int userID) { int num = Convert.ToInt32(PetMgr.FindConfig("AdoptCount").Value); List <int> petTemplateByStar = PetMgr.GetPetTemplateByStar(PetMgr.MaxStar); List <UsersPetinfo> list = new List <UsersPetinfo>(); using (PlayerBussiness playerBussiness = new PlayerBussiness()) { playerBussiness.RemoveUserAdoptPet(userID); for (int i = 0; i < num; i++) { int index = PetMgr.rand.Next(petTemplateByStar.Count); PetTemplateInfo info = PetMgr.FindPetTemplate(petTemplateByStar[index]); UsersPetinfo usersPetinfo = PetMgr.CreatePet(info, userID, i); usersPetinfo.IsExit = true; playerBussiness.AddUserAdoptPet(usersPetinfo, false); list.Add(usersPetinfo); } } return(list); }
public override bool RemoveAdoptPet(UsersPetinfo pet) { if (base.RemoveAdoptPet(pet)) { if (this.m_saveToDb) { List <UsersPetinfo> removedAdoptPetList; Monitor.Enter(removedAdoptPetList = this.m_removedAdoptPetList); try { this.m_removedAdoptPetList.Add(pet); } finally { Monitor.Exit(removedAdoptPetList); } } return(true); } return(false); }
public virtual bool UpGracePet(UsersPetinfo pet, int place, bool isUpdateProp, int min, int max, ref string msg) { if (isUpdateProp) { int blood = 0; int attack = 0; int defence = 0; int agility = 0; int luck = 0; PetMgr.PlusPetProp(pet, min, max, ref blood, ref attack, ref defence, ref agility, ref luck); pet.Blood = blood; pet.Attack = attack; pet.Defence = defence; pet.Agility = agility; pet.Luck = luck; int num = PetMgr.UpdateEvolution(pet.TemplateID, max); pet.TemplateID = ((num == 0) ? pet.TemplateID : num); string skill = pet.Skill; string text = PetMgr.UpdateSkillPet(max, pet.TemplateID); pet.Skill = ((text == "") ? skill : text); pet.SkillEquip = PetMgr.ActiveEquipSkill(max); if (max > min) { msg = pet.Name + " thăng cấp " + max; } } object @lock; Monitor.Enter(@lock = this.m_lock); try { this.m_pets[place] = pet; } finally { Monitor.Exit(@lock); } return(true); }
public static UsersPetinfo CreatePet(PetTemplateInfo info, int userID, int place) { UsersPetinfo usersPetinfo = new UsersPetinfo(); int starLevel = info.StarLevel; int minValue = 200 + 100 * starLevel; int maxValue = 350 + 100 * starLevel; int minValue2 = 1700 + 1000 * starLevel; int maxValue2 = 2200 + 2500 * starLevel; usersPetinfo.BloodGrow = PetMgr.rand.Next(minValue2, maxValue2); usersPetinfo.AttackGrow = PetMgr.rand.Next(minValue, maxValue); usersPetinfo.DefenceGrow = PetMgr.rand.Next(minValue, maxValue); usersPetinfo.AgilityGrow = PetMgr.rand.Next(minValue, maxValue); usersPetinfo.LuckGrow = PetMgr.rand.Next(minValue, maxValue); usersPetinfo.DamageGrow = 0; usersPetinfo.GuardGrow = 0; double num = (double)PetMgr.rand.Next(54, 61) * 0.1; double num2 = (double)PetMgr.rand.Next(9, 13) * 0.1; usersPetinfo.Blood = (int)((double)(PetMgr.rand.Next(minValue2, maxValue2) / 10) * 0.1 * num); usersPetinfo.Attack = (int)((double)(PetMgr.rand.Next(minValue, maxValue) / 10) * 0.1 * num2); usersPetinfo.Defence = (int)((double)(PetMgr.rand.Next(minValue, maxValue) / 10) * 0.1 * num2); usersPetinfo.Agility = (int)((double)(PetMgr.rand.Next(minValue, maxValue) / 10) * 0.1 * num2); usersPetinfo.Luck = (int)((double)(PetMgr.rand.Next(minValue, maxValue) / 10) * 0.1 * num2); usersPetinfo.Damage = 0; usersPetinfo.Guard = 0; usersPetinfo.Hunger = 10000; usersPetinfo.TemplateID = info.TemplateID; usersPetinfo.Name = info.Name; usersPetinfo.UserID = userID; usersPetinfo.Place = place; usersPetinfo.Level = 1; usersPetinfo.Skill = PetMgr.UpdateSkillPet(1, info.TemplateID); usersPetinfo.SkillEquip = PetMgr.ActiveEquipSkill(1); return(usersPetinfo); }
public int HandlePacket(GameClient client, GSPacketIn packet) { byte b = packet.ReadByte(); string text = "Xu không đủ!"; int num = 1; switch (b) { case 1: this.UpdatePetHandle(client, packet.ReadInt()); break; case 2: { Console.WriteLine("//ADD_PET "); int place = packet.ReadInt(); num = packet.ReadInt(); int iD = client.Player.PlayerCharacter.ID; int num2 = client.Player.PetBag.FindFirstEmptySlot(); if (num2 == -1) { client.Player.SendMessage("Số lượng pet đã đạt giới hạn!"); } else { ItemInfo itemAt = client.Player.GetItemAt((eBageType)num, place); PetTemplateInfo petTemplateInfo = PetMgr.FindPetTemplate(itemAt.Template.Property5); UsersPetinfo usersPetinfo = PetMgr.CreatePet(petTemplateInfo, iD, num2); using (PlayerBussiness playerBussiness = new PlayerBussiness()) { usersPetinfo.IsExit = false; playerBussiness.AddUserAdoptPet(usersPetinfo, true); } usersPetinfo.IsExit = true; PlayerInventory inventory = client.Player.GetInventory((eBageType)num); if (inventory.RemoveCountFromStack(itemAt, 1)) { client.Player.PetBag.AddPetTo(usersPetinfo, num2); client.Player.SendMessage("Bạn nhận được 1 " + petTemplateInfo.Name); } client.Player.SaveIntoDatabase(); } break; } case 3: { int num3 = packet.ReadInt(); break; } case 4: { int place = packet.ReadInt(); num = packet.ReadInt(); int num3 = packet.ReadInt(); bool flag = false; ItemInfo itemAt2 = client.Player.GetItemAt((eBageType)num, place); if (itemAt2 == null) { client.Player.SendMessage("Vật phẩm lạ không tìm thấy!!! Hack chăng???!!!"); return(0); } int num4 = Convert.ToInt32(PetMgr.FindConfig("MaxHunger").Value); int num5 = Convert.ToInt32(PetMgr.FindConfig("MaxLevel").Value); UsersPetinfo petAt = client.Player.PetBag.GetPetAt(num3); int num6 = itemAt2.Count; int property = itemAt2.Template.Property2; int property2 = itemAt2.Template.Property3; int num7 = num6 * property2; int num8 = num7 + petAt.Hunger; int num9 = num6 * property; text = ""; if (itemAt2.TemplateID == 334100) { num9 = itemAt2.DefendCompose; } if (petAt.Level > 11 && itemAt2.TemplateID == 334100) { text = "Pet level 10 trở xuống mới dùng đuợc " + itemAt2.Template.Name; } else { if (petAt.Level < num5) { num9 += petAt.GP; int level = petAt.Level; int level2 = PetMgr.GetLevel(num9); int gP = PetMgr.GetGP(level2 + 1); int gP2 = PetMgr.GetGP(num5); int num10 = num9; if (num9 > gP2) { num9 -= gP2; if (num9 >= property && property != 0) { num6 = num9 / property; } } petAt.GP = ((num10 >= gP2) ? gP2 : num10); petAt.Level = level2; petAt.MaxGP = ((gP == 0) ? gP2 : gP); petAt.Hunger = ((num8 > num4) ? num4 : num8); flag = client.Player.PetBag.UpGracePet(petAt, num3, true, level, level2, ref text); if (itemAt2.TemplateID == 334100) { client.Player.StoreBag.RemoveItem(itemAt2); } else { client.Player.StoreBag.RemoveCountFromStack(itemAt2, num6); client.Player.OnUsingItem(itemAt2.TemplateID); } } else { int hunger = petAt.Hunger; int num11 = num4 - hunger; if (num8 >= num4 && num8 >= property2) { num6 = num8 / property2; } num8 = hunger + num11; petAt.Hunger = num8; if (hunger < num4) { client.Player.StoreBag.RemoveCountFromStack(itemAt2, num6); flag = client.Player.PetBag.UpGracePet(petAt, num3, false, 0, 0, ref text); text = "Ðộ vui vẻ tang thêm " + num11; } else { text = "Ðộ vui vui đã đạt mức tối da"; } } } if (flag) { UsersPetinfo[] pets = client.Player.PetBag.GetPets(); client.Player.Out.SendUpdatePetInfo(client.Player.PlayerCharacter, pets); } if (!string.IsNullOrEmpty(text)) { client.Player.SendMessage(text); } break; } case 5: { bool refreshBtn = packet.ReadBoolean(); this.RefreshPetHandle(client, refreshBtn, text); break; } case 6: { int num3 = packet.ReadInt(); int num12 = client.Player.PetBag.FindFirstEmptySlot(); if (num12 == -1) { client.Player.Out.SendRefreshPet(client.Player, client.Player.PetBag.GetAdoptPet(), null, false); client.Player.SendMessage("Số lượng pet đã đạt giới hạn!"); } else { UsersPetinfo adoptPetAt = client.Player.PetBag.GetAdoptPetAt(num3); if (client.Player.PetBag.AddPetTo(adoptPetAt, num12)) { client.Player.PetBag.RemoveAdoptPet(adoptPetAt); client.Player.OnAdoptPetEvent(); } } break; } case 7: { int num3 = packet.ReadInt(); int killId = packet.ReadInt(); int killindex = packet.ReadInt(); if (client.Player.PetBag.EquipSkillPet(num3, killId, killindex)) { UsersPetinfo[] pets = client.Player.PetBag.GetPets(); client.Player.Out.SendUpdatePetInfo(client.Player.PlayerCharacter, pets); } else { client.Player.SendMessage("Skill này đã trang bị!"); } break; } case 8: { int num3 = packet.ReadInt(); UsersPetinfo petAt2 = client.Player.PetBag.GetPetAt(num3); if (client.Player.PetBag.RemovePet(petAt2)) { using (PlayerBussiness playerBussiness2 = new PlayerBussiness()) { playerBussiness2.UpdateUserAdoptPet(petAt2.ID); } } client.Player.SendMessage("Thả pet thành công!"); break; } case 9: { int num3 = packet.ReadInt(); string name = packet.ReadString(); int num13 = Convert.ToInt32(PetMgr.FindConfig("ChangeNameCost").Value); if (client.Player.PlayerCharacter.Money >= num13) { if (client.Player.PetBag.RenamePet(num3, name)) { UsersPetinfo[] pets = client.Player.PetBag.GetPets(); client.Out.SendUpdatePetInfo(client.Player.PlayerCharacter, pets); text = "Đổi tên thành công!"; } client.Player.RemoveMoney(num13); } client.Player.SendMessage(text); break; } case 16: { Console.WriteLine("//PAY_SKILL "); int num3 = packet.ReadInt(); break; } case 17: { int num3 = packet.ReadInt(); bool isEquip = packet.ReadBoolean(); if (client.Player.PetBag.SetIsEquip(num3, isEquip)) { UsersPetinfo[] pets = client.Player.PetBag.GetPets(); client.Player.MainBag.UpdatePlayerProperties(); client.Player.Out.SendUpdatePetInfo(client.Player.PlayerCharacter, pets); } break; } case 18: { int num3 = packet.ReadInt(); this.RevertPetHandle(client, num3, text); break; } case 19: { Console.WriteLine("//BUY_PET_EXP_ITEM "); bool buyPetExpItem = packet.ReadBoolean(); int GoodsID = packet.ReadInt(); int count = 20 * 80; ShopItemInfo shopItem = ShopMgr.GetShopItemInfoById(GoodsID); SqlDataProvider.Data.ItemInfo item = SqlDataProvider.Data.ItemInfo.CreateFromTemplate(ItemMgr.FindItemTemplate(334103), 20, 0x66); client.Player.RemoveMoney(count); client.Player.AddItem(item); text = "Mua thức ăn thành công."; client.Player.SendMessage(text); break; } } client.Player.PetBag.SaveToDatabase(); return(0); }
public bool AddPet(UsersPetinfo pet) { return(this.AddPet(pet, this.m_beginSlot)); }
public bool AddUserAdoptPet(UsersPetinfo info, bool isUse) { bool flag = false; try { SqlParameter[] SqlParameters = new SqlParameter[23] { new SqlParameter("@TemplateID", (object) info.TemplateID), new SqlParameter("@Name", info.Name == null ? (object) "Error!" : (object) info.Name), new SqlParameter("@UserID", (object) info.UserID), new SqlParameter("@Attack", (object) info.Attack), new SqlParameter("@Defence", (object) info.Defence), new SqlParameter("@Luck", (object) info.Luck), new SqlParameter("@Agility", (object) info.Agility), new SqlParameter("@Blood", (object) info.Blood), new SqlParameter("@Damage", (object) info.Damage), new SqlParameter("@Guard", (object) info.Guard), new SqlParameter("@AttackGrow", (object) info.AttackGrow), new SqlParameter("@DefenceGrow", (object) info.DefenceGrow), new SqlParameter("@LuckGrow", (object) info.LuckGrow), new SqlParameter("@AgilityGrow", (object) info.AgilityGrow), new SqlParameter("@BloodGrow", (object) info.BloodGrow), new SqlParameter("@DamageGrow", (object) info.DamageGrow), new SqlParameter("@GuardGrow", (object) info.GuardGrow), new SqlParameter("@Skill", (object) info.Skill), new SqlParameter("@SkillEquip", (object) info.SkillEquip), new SqlParameter("@Place", (object) info.Place), new SqlParameter("@IsExit", (object) (int) (info.IsExit ? 1 : 0)), new SqlParameter("@IsUse", (object) (int) (isUse ? 1 : 0)), new SqlParameter("@ID", (object) info.ID) }; SqlParameters[22].Direction = ParameterDirection.Output; flag = this.db.RunProcedure("SP_User_AdoptPet", SqlParameters); info.ID = (int)SqlParameters[22].Value; info.IsDirty = false; } catch (Exception ex) { if (BaseBussiness.log.IsErrorEnabled) BaseBussiness.log.Error((object)"Init", ex); } return flag; }
public bool AddUserPet(UsersPetinfo info) { bool flag = false; try { SqlParameter[] SqlParameters = new SqlParameter[30] { new SqlParameter("@TemplateID", (object) info.TemplateID), new SqlParameter("@Name", info.Name == null ? (object) "Error!" : (object) info.Name), new SqlParameter("@UserID", (object) info.UserID), new SqlParameter("@Attack", (object) info.Attack), new SqlParameter("@Defence", (object) info.Defence), new SqlParameter("@Luck", (object) info.Luck), new SqlParameter("@Agility", (object) info.Agility), new SqlParameter("@Blood", (object) info.Blood), new SqlParameter("@Damage", (object) info.Damage), new SqlParameter("@Guard", (object) info.Guard), new SqlParameter("@AttackGrow", (object) info.AttackGrow), new SqlParameter("@DefenceGrow", (object) info.DefenceGrow), new SqlParameter("@LuckGrow", (object) info.LuckGrow), new SqlParameter("@AgilityGrow", (object) info.AgilityGrow), new SqlParameter("@BloodGrow", (object) info.BloodGrow), new SqlParameter("@DamageGrow", (object) info.DamageGrow), new SqlParameter("@GuardGrow", (object) info.GuardGrow), new SqlParameter("@Level", (object) info.Level), new SqlParameter("@GP", (object) info.GP), new SqlParameter("@MaxGP", (object) info.MaxGP), new SqlParameter("@Hunger", (object) info.Hunger), new SqlParameter("@PetHappyStar", (object) info.PetHappyStar), new SqlParameter("@MP", (object) info.MP), new SqlParameter("@IsEquip", (object) (int) (info.IsEquip ? 1 : 0)), new SqlParameter("@Skill", (object) info.Skill), new SqlParameter("@SkillEquip", (object) info.SkillEquip), new SqlParameter("@Place", (object) info.Place), new SqlParameter("@IsExit", (object) (int) (info.IsExit ? 1 : 0)), new SqlParameter("@ID", (object) info.ID), null }; SqlParameters[28].Direction = ParameterDirection.Output; SqlParameters[29] = new SqlParameter("@Result", SqlDbType.Int); SqlParameters[29].Direction = ParameterDirection.ReturnValue; flag = this.db.RunProcedure("SP_User_Add_Pet", SqlParameters); flag = (int)SqlParameters[29].Value == 0; info.ID = (int)SqlParameters[28].Value; info.IsDirty = false; } catch (Exception ex) { if (BaseBussiness.log.IsErrorEnabled) BaseBussiness.log.Error((object)"Init", ex); } return flag; }
public UsersPetinfo GetAdoptPetSingle(int PetID) { UsersPetinfo usersPetinfo = new UsersPetinfo(); SqlDataReader ResultDataReader = (SqlDataReader)null; try { SqlParameter[] SqlParameters = new SqlParameter[1] { new SqlParameter("@ID", SqlDbType.Int, 4) }; SqlParameters[0].Value = (object)PetID; this.db.GetReader(ref ResultDataReader, "SP_AdoptPet_By_Id", SqlParameters); if (ResultDataReader.Read()) return this.InitPet(ResultDataReader); } catch (Exception ex) { if (BaseBussiness.log.IsErrorEnabled) BaseBussiness.log.Error((object)"Init", ex); } finally { if (ResultDataReader != null && !ResultDataReader.IsClosed) ResultDataReader.Close(); } return (UsersPetinfo)null; }
public void HandleGameRoomCreate(GSPacketIn pkg) { int num = pkg.ReadInt(); int gameType = pkg.ReadInt(); int guildId = pkg.ReadInt(); int num2 = pkg.ReadInt(); int num3 = 0; IGamePlayer[] array = new IGamePlayer[num2]; for (int i = 0; i < num2; i++) { PlayerInfo playerInfo = new PlayerInfo(); playerInfo.ID = pkg.ReadInt(); playerInfo.NickName = pkg.ReadString(); playerInfo.Sex = pkg.ReadBoolean(); playerInfo.typeVIP = pkg.ReadByte(); playerInfo.VIPLevel = pkg.ReadInt(); playerInfo.Hide = pkg.ReadInt(); playerInfo.Style = pkg.ReadString(); playerInfo.Colors = pkg.ReadString(); playerInfo.Skin = pkg.ReadString(); playerInfo.Offer = pkg.ReadInt(); playerInfo.GP = pkg.ReadInt(); playerInfo.Grade = pkg.ReadInt(); playerInfo.Repute = pkg.ReadInt(); playerInfo.ConsortiaID = pkg.ReadInt(); playerInfo.ConsortiaName = pkg.ReadString(); playerInfo.ConsortiaLevel = pkg.ReadInt(); playerInfo.ConsortiaRepute = pkg.ReadInt(); playerInfo.badgeID = pkg.ReadInt(); playerInfo.weaklessGuildProgress = Base64.decodeToByteArray(pkg.ReadString()); playerInfo.Attack = pkg.ReadInt(); playerInfo.Defence = pkg.ReadInt(); playerInfo.Agility = pkg.ReadInt(); playerInfo.Luck = pkg.ReadInt(); playerInfo.hp = pkg.ReadInt(); playerInfo.FightPower = pkg.ReadInt(); playerInfo.IsMarried = pkg.ReadBoolean(); if (playerInfo.IsMarried) { playerInfo.SpouseID = pkg.ReadInt(); playerInfo.SpouseName = pkg.ReadString(); } ProxyPlayerInfo proxyPlayerInfo = new ProxyPlayerInfo(); proxyPlayerInfo.BaseAttack = pkg.ReadDouble(); proxyPlayerInfo.BaseDefence = pkg.ReadDouble(); proxyPlayerInfo.BaseAgility = pkg.ReadDouble(); proxyPlayerInfo.BaseBlood = pkg.ReadDouble(); proxyPlayerInfo.TemplateId = pkg.ReadInt(); proxyPlayerInfo.CanUserProp = pkg.ReadBoolean(); proxyPlayerInfo.SecondWeapon = pkg.ReadInt(); proxyPlayerInfo.StrengthLevel = pkg.ReadInt(); proxyPlayerInfo.GPAddPlus = pkg.ReadDouble(); proxyPlayerInfo.OfferAddPlus = pkg.ReadDouble(); proxyPlayerInfo.AntiAddictionRate = pkg.ReadDouble(); proxyPlayerInfo.ServerId = pkg.ReadInt(); UsersPetinfo usersPetinfo = new UsersPetinfo(); int num4 = pkg.ReadInt(); if (num4 == 1) { usersPetinfo.Place = pkg.ReadInt(); usersPetinfo.TemplateID = pkg.ReadInt(); usersPetinfo.ID = pkg.ReadInt(); usersPetinfo.Name = pkg.ReadString(); usersPetinfo.UserID = pkg.ReadInt(); usersPetinfo.Level = pkg.ReadInt(); usersPetinfo.Skill = pkg.ReadString(); usersPetinfo.SkillEquip = pkg.ReadString(); } else { usersPetinfo = null; } List <BufferInfo> list = new List <BufferInfo>(); int num5 = pkg.ReadInt(); for (int j = 0; j < num5; j++) { BufferInfo bufferInfo = new BufferInfo(); bufferInfo.Type = pkg.ReadInt(); bufferInfo.IsExist = pkg.ReadBoolean(); bufferInfo.BeginDate = pkg.ReadDateTime(); bufferInfo.ValidDate = pkg.ReadInt(); bufferInfo.Value = pkg.ReadInt(); bufferInfo.ValidCount = pkg.ReadInt(); if (playerInfo != null) { list.Add(bufferInfo); } } List <ItemInfo> list2 = new List <ItemInfo>(); int num6 = pkg.ReadInt(); for (int k = 0; k < num6; k++) { int templateId = pkg.ReadInt(); int hole = pkg.ReadInt(); ItemInfo itemInfo = ItemInfo.CreateFromTemplate(ItemMgr.FindItemTemplate(templateId), 1, 1); itemInfo.Hole1 = hole; list2.Add(itemInfo); } array[i] = new ProxyPlayer(this, playerInfo, proxyPlayerInfo, usersPetinfo, list, list2); array[i].CanUseProp = proxyPlayerInfo.CanUserProp; num3 += playerInfo.Grade; } ProxyRoom proxyRoom = new ProxyRoom(ProxyRoomMgr.NextRoomId(), num, array, this); proxyRoom.GuildId = guildId; proxyRoom.GameType = (eGameType)gameType; Dictionary <int, ProxyRoom> rooms; Monitor.Enter(rooms = this.m_rooms); try { if (!this.m_rooms.ContainsKey(num)) { this.m_rooms.Add(num, proxyRoom); } else { proxyRoom = null; } } finally { Monitor.Exit(rooms); } if (proxyRoom != null) { ProxyRoomMgr.AddRoom(proxyRoom); return; } ServerClient.log.ErrorFormat("Room already exists:{0}", num); }