public GameConfig() { kill_point_30_60 = new IntArray(); kill_point_60 = new IntArray(); delta_level_exp = new IntArray(); carriage_list = new IntArray(); best_carriage_list = new IntArray(); clear_cd_skill_list = new IntArray(); pickup_item_notice = new IntArray(); learn_skill = new LearnSkillConfig(); equip_endure_cost = new EquipEndureCost(); strings = new ConstString(); battlefield = new BattlefieldConfig(); jizhou_battlefield = new JiZhouBattlefieldConfig(); huangjin_battlefield = new HuangJinBattlefieldConfig(); card_mgr = new CardMgr(); group_setting = new GroupSetting(); store_setting = new IBStoreSettings(); relationship = new RelationshipConfig(); OfflineExpItems = new OfflineExpItemCfgArray(); OfflineExpPerLevels = new OfflineExpPerLevelArray(); group_league = new GroupLeagueConfig(); country = new CountryConfig(); auto_equip_when_enter_map_config = new AutoEquipWhenEnterMapConfig(); sign_manager = new SignManager(); }
public void OnCommand(GameClient client, string[] args) { if (args.Length < 3) { return; } bool up = false; if (args[2][0] == 'u') { up = true; } else if (args[2][0] == 'd') { up = false; } else { return; } GameClient friendClient = WorldMgr.GetClientByPlayerName(args[1], true, true); CardMgr.Deal(client, friendClient, up); }
public void OnCommand(GameClient client, string[] args) { if (args.Length == 2 && client.Player.Group != null) { foreach (GamePlayer Groupee in client.Player.Group.GetPlayersInTheGroup()) { if (Groupee != client.Player) { CardMgr.Held(client, Groupee.Client); } else { CardMgr.Held(client, client); } } } }
public void OnCommand(GameClient client, string[] args) { if (args.Length < 2) { return; } int numDecks; try { numDecks = System.Convert.ToInt32(args[1]); } catch (Exception) { return; } if (numDecks > 0) { CardMgr.Shuffle(client, (uint)numDecks); } }
public void OnCommand(GameClient client, string[] args) { if (args.Length < 2) { return; } if (args[1].Equals("all")) { CardMgr.DiscardAll(client); } else { try { uint cardId = System.Convert.ToUInt32(args[1]); CardMgr.Discard(client, cardId); } catch (Exception) { return; } } }
void OnDestroy() { singleton = null; }
void Awake() { singleton = this; }
public void OnCommand(GameClient client, string[] args) { CardMgr.Show(client); }
void Awake() { _instance = this; }
public void UpdatePlayerProperties() { this.m_player.BeginChanges(); try { int num = 0; int num2 = 0; int num3 = 0; int num4 = 0; int num5 = 0; int num6 = 0; string text = ""; string text2 = ""; string skin = ""; int num7 = 0; int num8 = 0; int num9 = 0; int num10 = 0; int num11 = 0; int num12 = 0; int num13 = 0; int num14 = 0; int num15 = 0; int num16 = 0; int num17 = 0; int num18 = 0; int num19 = 0; int num20 = 0; int num21 = 0; int num22 = 0; int num23 = 0; int num24 = 0; int num25 = 0; this.m_player.UpdatePet(this.m_player.PetBag.GetPetIsEquip()); List <UsersCardInfo> items = this.m_player.CardBag.GetItems(0, 5); object @lock; Monitor.Enter(@lock = this.m_lock); try { text = ((this.m_items[0] == null) ? "" : (this.m_items[0].TemplateID.ToString() + "|" + this.m_items[0].Template.Pic)); text2 = ((this.m_items[0] == null) ? "" : this.m_items[0].Color); skin = ((this.m_items[5] == null) ? "" : this.m_items[5].Skin); for (int i = 0; i < 31; i++) { ItemInfo itemInfo = this.m_items[i]; if (itemInfo != null) { num += itemInfo.Attack; num2 += itemInfo.Defence; num3 += itemInfo.Agility; num4 += itemInfo.Luck; num6 = ((num6 > itemInfo.StrengthenLevel) ? num6 : itemInfo.StrengthenLevel); this.AddBaseLatentProperty(itemInfo, ref num, ref num2, ref num3, ref num4); this.AddBaseGemstoneProperty(itemInfo, ref num7, ref num8, ref num9, ref num10, ref num11); } this.AddBeadProperty(i, ref num, ref num2, ref num3, ref num4, ref num5); } this.AddBaseTotemProperty(this.m_player.PlayerCharacter, ref num, ref num2, ref num3, ref num4, ref num5); if (this.m_player.Pet != null) { num16 += this.m_player.Pet.Attack; num17 += this.m_player.Pet.Defence; num18 += this.m_player.Pet.Agility; num19 += this.m_player.Pet.Luck; num20 += this.m_player.Pet.Blood; } foreach (UsersCardInfo current in items) { num12 += CardMgr.GetProp(current, 0); num13 += CardMgr.GetProp(current, 1); num14 += CardMgr.GetProp(current, 2); num15 += CardMgr.GetProp(current, 3); if (current.CardID != 0) { num12 += current.Attack; num13 += current.Defence; num14 += current.Agility; num15 += current.Luck; } } num21 += ExerciseMgr.GetExercise(this.m_player.PlayerCharacter.Texp.attTexpExp, "A"); num22 += ExerciseMgr.GetExercise(this.m_player.PlayerCharacter.Texp.defTexpExp, "D"); num23 += ExerciseMgr.GetExercise(this.m_player.PlayerCharacter.Texp.spdTexpExp, "AG"); num24 += ExerciseMgr.GetExercise(this.m_player.PlayerCharacter.Texp.lukTexpExp, "L"); num25 += ExerciseMgr.GetExercise(this.m_player.PlayerCharacter.Texp.hpTexpExp, "H"); for (int j = 0; j < PlayerEquipInventory.StyleIndex.Length; j++) { text += ","; text2 += ","; if (this.m_items[PlayerEquipInventory.StyleIndex[j]] != null) { object obj = text; text = string.Concat(new object[] { obj, this.m_items[PlayerEquipInventory.StyleIndex[j]].TemplateID, "|", this.m_items[PlayerEquipInventory.StyleIndex[j]].Template.Pic }); text2 += this.m_items[PlayerEquipInventory.StyleIndex[j]].Color; } } this.EquipBuffer(); } finally { Monitor.Exit(@lock); } num += num7 + num12 + num16 + num21; num2 += num8 + num13 + num17 + num22; num3 += num9 + num14 + num18 + num23; num4 += num10 + num15 + num19 + num24; num5 += num11 + num20 + num25; this.m_player.UpdateBaseProperties(num, num2, num3, num4, num5); this.m_player.UpdateStyle(text, text2, skin); this.m_player.ApertureEquip(num6); this.m_player.UpdateWeapon(this.m_items[6]); this.m_player.UpdateSecondWeapon(this.m_items[15]); this.m_player.UpdatePlayerProperty("Texp", this.GetProp(num21, num22, num23, num24, num25)); this.m_player.UpdatePlayerProperty("Card", this.GetProp(num12, num13, num14, num15, 0)); this.m_player.UpdatePlayerProperty("Pet", this.GetProp(num16, num17, num18, num19, num20)); this.m_player.UpdatePlayerProperty("Gem", this.GetProp(num7, num8, num9, num10, num11)); this.m_player.UpdateFightPower(); this.GetUserNimbus(); } finally { this.m_player.CommitChanges(); } }
public int HandlePacket(GameClient client, GSPacketIn packet) { int num = packet.ReadInt(); PlayerInfo arg_12_0 = client.Player.PlayerCharacter; CardInventory cardBag = client.Player.CardBag; string text = ""; switch (num) { case 0: { int num2 = packet.ReadInt(); int num3 = packet.ReadInt(); int templateID = cardBag.GetItemAt(num2).TemplateID; if (cardBag.FindEquipCard(templateID) && num2 != num3) { text = "Thẻ này đã trang bị!"; } else { if (num2 != num3) { text = "Trang bị thành công!"; } cardBag.MoveItem(num2, num3); client.Player.MainBag.UpdatePlayerProperties(); } if (text != "") { client.Out.SendMessage(eMessageType.Normal, text); } break; } case 1: { int slot = packet.ReadInt(); int count = packet.ReadInt(); ItemInfo itemAt = client.Player.MainBag.GetItemAt(slot); int property = itemAt.Template.Property5; int place = client.Player.CardBag.FindFirstEmptySlot(5); UsersCardInfo usersCardInfo = new UsersCardInfo(); CardTemplateInfo card = CardMgr.GetCard(itemAt.Template.Property5); bool flag = false; if (card != null) { if (client.Player.CardBag.FindPlaceByTamplateId(5, property) == -1) { usersCardInfo.CardType = card.CardType; usersCardInfo.UserID = client.Player.PlayerCharacter.ID; usersCardInfo.Place = place; usersCardInfo.TemplateID = card.CardID; usersCardInfo.isFirstGet = true; usersCardInfo.Attack = 0; usersCardInfo.Agility = 0; usersCardInfo.Defence = 0; usersCardInfo.Luck = 0; usersCardInfo.Damage = 0; usersCardInfo.Guard = 0; client.Player.CardBag.AddCardTo(usersCardInfo, place); client.Out.SendGetCard(client.Player.PlayerCharacter, usersCardInfo); } else { flag = true; } } else { flag = true; } if (flag) { int num4 = CardDataHander.random.Next(5, 50); client.Player.AddCardSoul(num4); client.Player.Out.SendPlayerCardSoul(client.Player.PlayerCharacter, true, num4); } client.Player.MainBag.RemoveCountFromStack(itemAt, count); break; } case 4: { int slot2 = packet.ReadInt(); int count = packet.ReadInt(); ItemInfo itemAt = client.Player.PropBag.GetItemAt(slot2); int id = CardDataHander.random.Next(CardMgr.CardCount()); CardTemplateInfo singleCard = CardMgr.GetSingleCard(id); bool flag2 = false; if (singleCard == null) { flag2 = true; } else { int place2 = client.Player.CardBag.FindFirstEmptySlot(5); int cardID = singleCard.CardID; CardTemplateInfo card2 = CardMgr.GetCard(cardID); UsersCardInfo usersCardInfo2 = new UsersCardInfo(); if (card2 == null) { flag2 = true; } else { if (client.Player.CardBag.FindPlaceByTamplateId(5, cardID) == -1) { usersCardInfo2.CardType = card2.CardType; usersCardInfo2.UserID = client.Player.PlayerCharacter.ID; usersCardInfo2.Place = place2; usersCardInfo2.TemplateID = card2.CardID; usersCardInfo2.isFirstGet = true; usersCardInfo2.Attack = 0; usersCardInfo2.Agility = 0; usersCardInfo2.Defence = 0; usersCardInfo2.Luck = 0; usersCardInfo2.Damage = 0; usersCardInfo2.Guard = 0; client.Player.CardBag.AddCardTo(usersCardInfo2, place2); client.Out.SendGetCard(client.Player.PlayerCharacter, usersCardInfo2); } else { flag2 = true; } } } if (flag2) { int num5 = CardDataHander.random.Next(5, 50); client.Player.AddCardSoul(num5); client.Player.Out.SendPlayerCardSoul(client.Player.PlayerCharacter, true, num5); } client.Player.PropBag.RemoveCountFromStack(itemAt, count); break; } } cardBag.SaveToDatabase(); return(0); }
public int HandlePacket(GameClient client, GSPacketIn packet) { int num = packet.ReadInt(); int num2 = packet.ReadInt(); int num3 = packet.ReadInt(); string text = ""; List <UsersCardInfo> items = client.Player.CardBag.GetItems(0, 5); switch (num) { case 0: if (num3 <= client.Player.PlayerCharacter.CardSoul && num3 > 0) { int type = items[num2].Type; int gP = items[num2].CardGP + num3; int level = CardMgr.GetLevel(gP, type); int num4 = CardMgr.GetGP(level, type) - items[num2].CardGP; if (level == 40) { num3 = num4; } client.Player.CardBag.UpGraceSlot(num3, level, num2); client.Player.RemoveCardSoul(num3); client.Player.Out.SendPlayerCardSlot(client.Player.PlayerCharacter, items[num2]); client.Player.MainBag.UpdatePlayerProperties(); } else { text = "Thẻ hồn không đủ!"; } break; case 1: if (client.Player.PlayerCharacter.Money >= 300) { int num5 = 0; for (int i = 0; i < items.Count; i++) { num5 += items[i].CardGP; } client.Player.CardBag.ResetCardSoul(); client.Player.AddCardSoul(num5); text = LanguageMgr.GetTranslation("UpdateSLOT.ResetComplete", new object[] { num5 }); client.Player.RemoveMoney(300); client.Player.Out.SendPlayerCardSlot(client.Player.PlayerCharacter, items); client.Player.MainBag.UpdatePlayerProperties(); } else { text = "Xu không đủ!"; } break; } if (text != "") { client.Out.SendMessage(eMessageType.Normal, text); } return(0); }