public override void BuildPacket() { PushIntoStack(serverList.Length); foreach (ServerInfo serverInfo in serverList) { DataStruct ds = new DataStruct(); ds.PushIntoStack(serverInfo.ID); ds.PushIntoStack(serverInfo.ServerName); ds.PushIntoStack(serverInfo.Status); ds.PushIntoStack(serverInfo.ServerUrl); ds.PushIntoStack(serverInfo.Weight); ds.PushIntoStack(serverInfo.TargetServer); PushIntoStack(ds); } }
public override void BuildPacket() { PushIntoStack(generalName.ToNotNullString()); PushIntoStack(careerID); PushIntoStack(userItemID.ToNotNullString()); PushIntoStack(itemName.ToNotNullString()); PushIntoStack(headID.ToNotNullString()); PushIntoStack((short)openNum); PushIntoStack(enchantArray.Length); foreach (var enchant in enchantArray) { EnchantInfo enchantInfo = new ConfigCacheSet <EnchantInfo>().FindKey(enchant.EnchantID); DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack((short)enchant.Position); dsItem.PushIntoStack(enchant.UserEnchantID.ToNotNullString()); dsItem.PushIntoStack(enchantInfo == null ? string.Empty : enchantInfo.EnchantName.ToNotNullString()); dsItem.PushIntoStack(enchantInfo == null ? string.Empty : enchantInfo.HeadID.ToNotNullString()); dsItem.PushIntoStack((short)enchant.EnchantLv); dsItem.PushIntoStack(enchantInfo == null ? (short)0 : (short)enchantInfo.ColorType); this.PushIntoStack(dsItem); } }
public override void BuildPacket() { this.PushIntoStack(_sparePart.Propertys.Count); for (int i = 0; i < _sparePart.Propertys.Count; i++) { var property = _sparePart.Propertys[i]; short proPos = MathUtils.Addition(property.ValueIndex, (short)1, short.MaxValue); short isEnable = 0; if (property.IsEnable) { isEnable = 1; } DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(property.AbilityType.ToShort()); dsItem.PushIntoStack(property.Num.ToNotNullString()); dsItem.PushIntoStack(property.HitMinValue.ToNotNullString()); dsItem.PushIntoStack(property.HitMaxValue.ToNotNullString()); dsItem.PushIntoStack(isEnable); dsItem.PushIntoStack(proPos); this.PushIntoStack(dsItem); } }
public override void BuildPacket() { PushIntoStack(_itemInfo == null ? string.Empty : _itemInfo.ItemName.ToNotNullString()); PushIntoStack(_itemInfo == null ? string.Empty : _itemInfo.HeadID.ToNotNullString()); PushIntoStack(_itemInfo == null ? LanguageManager.GetLang().shortInt : (short)_itemInfo.QualityType); PushIntoStack(_userItem == null ? LanguageManager.GetLang().shortInt : _userItem.ItemLv); PushIntoStack(_demandLv); PushIntoStack(_userItem == null ? 0 : _strongMoney); PushIntoStack(_coldTime); PushIntoStack(_isStrong); string[] careerArray = _itemInfo == null ? new string[0] : _itemInfo.CareerRange.Split(','); PushIntoStack(careerArray.Length); foreach (string career in careerArray) { DataStruct ds = new DataStruct(); CareerInfo careerInfo = new ConfigCacheSet <CareerInfo>().FindKey(career); ds.PushIntoStack(careerInfo == null ? 0 : careerInfo.CareerID); ds.PushIntoStack(careerInfo == null ? string.Empty : careerInfo.CareerName.ToNotNullString()); PushIntoStack(ds); } //当前属性 PushIntoStack(_itemEquArray.Count); foreach (ItemEquAttrInfo equ in _itemEquArray) { int strengNum = 0; if (_userItem != null) { strengNum = MathUtils.Addition(equ.BaseNum, (equ.IncreaseNum * _userItem.ItemLv), int.MaxValue); } DataStruct ds = new DataStruct(); ds.PushIntoStack((int)equ.AttributeID); ds.PushIntoStack(strengNum); PushIntoStack(ds); } //下级别装备属性 PushIntoStack(_itemEquArray.Count); foreach (ItemEquAttrInfo equ in _itemEquArray) { DataStruct dsDetail = new DataStruct(); dsDetail.PushIntoStack((int)equ.AttributeID); if (_userItem != null) { _stengBaseNum = MathUtils.Addition(equ.BaseNum, MathUtils.Addition(_userItem.ItemLv, (short)1, short.MaxValue) * equ.IncreaseNum, int.MaxValue); } dsDetail.PushIntoStack(_stengBaseNum); PushIntoStack(dsDetail); } PushIntoStack(_itemInfo == null ? string.Empty : _itemInfo.ItemDesc); //PushIntoStack(PropertyArray.Length); //foreach (SparePartProperty item in PropertyArray) //{ // DataStruct dsItem = new DataStruct(); // dsItem.PushIntoStack((int)item.AbilityType); // dsItem.PushIntoStack(UserHelper.PropertyAbility(item.Num)); // this.PushIntoStack(dsItem); //} PushIntoStack(UserHelper.StrongEquPayPrice(Uid, _userItemId)); PushIntoStack(_userItemId.ToNotNullString()); PushIntoStack(_itemInfo == null ? string.Empty : _itemInfo.MaxHeadID); PushIntoStack(_userItem.ItemLv >= (GameConfigSet.CurrMaxLv * 3) ? 1 : 0); PushIntoStack(_userItem == null ? 0 : _tenTimesStrongMoney); }
public override void BuildPacket() { int rankID = 0; this.PushIntoStack(userTaskList.Count); foreach (UserTask userTask in userTaskList) { SaveLog("任务ID:" + userTask.TaskID + ", 任务排行:" + MathUtils.Addition(rankID, 1)); StoryTaskInfo taskInfo = new ConfigCacheSet <StoryTaskInfo>().FindKey(userTask.TaskID); CityNpcInfo reNpcInfo = null; CityNpcInfo deNpcInfo = null; PlotInfo plotInfo = null; PlotNPCInfo npcInfo = null; ItemBaseInfo itemInfo = null; string[] monsterList = new string[0]; string[] monsterNumList = new string[0]; string[] monsterCurrNumList = new string[0]; if (taskInfo != null) { reNpcInfo = new ConfigCacheSet <CityNpcInfo>().FindKey(taskInfo.ReleaseNpcID); deNpcInfo = new ConfigCacheSet <CityNpcInfo>().FindKey(taskInfo.DeliveryNpcID); plotInfo = new ConfigCacheSet <PlotInfo>().FindKey(taskInfo.PlotID); npcInfo = new ConfigCacheSet <PlotNPCInfo>().FindKey(taskInfo.PlotNpcID); itemInfo = new ConfigCacheSet <ItemBaseInfo>().FindKey(taskInfo.TargetItemID); monsterList = taskInfo.TargetMonsterID.ToNotNullString().Split(new char[] { ',' }); monsterNumList = taskInfo.TargetMonsterNum.ToNotNullString().Split(new char[] { ',' }); monsterCurrNumList = userTask.TaskTargetNum.ToNotNullString().Split(new char[] { ',' }); } DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(taskInfo == null ? 0 : taskInfo.TaskID); dsItem.PushIntoStack(taskInfo == null ? string.Empty : taskInfo.TaskName.ToNotNullString()); dsItem.PushIntoStack(taskInfo == null ? LanguageManager.GetLang().shortInt : taskInfo.TaskLv); dsItem.PushIntoStack((short)userTask.TaskState); dsItem.PushIntoStack(taskInfo == null ? string.Empty : taskInfo.TaskDescp.ToNotNullString()); dsItem.PushIntoStack(taskInfo == null ? 0 : taskInfo.ReleaseNpcID); dsItem.PushIntoStack(reNpcInfo == null ? string.Empty : reNpcInfo.NpcName.ToNotNullString()); dsItem.PushIntoStack(taskInfo == null ? 0 : taskInfo.DeliveryNpcID); dsItem.PushIntoStack(deNpcInfo == null ? string.Empty : deNpcInfo.NpcName.ToNotNullString()); dsItem.PushIntoStack(taskInfo == null ? LanguageManager.GetLang().shortInt : (short)taskInfo.TermsType); dsItem.PushIntoStack(plotInfo != null ? plotInfo.CityID : 0); dsItem.PushIntoStack(taskInfo == null ? 0 : taskInfo.PlotID); dsItem.PushIntoStack(plotInfo != null ? (short)plotInfo.PlotType : (short)0); dsItem.PushIntoStack(plotInfo != null ? plotInfo.PlotName.ToNotNullString() : string.Empty); dsItem.PushIntoStack(npcInfo == null ? string.Empty : npcInfo.NpcName.ToNotNullString()); dsItem.PushIntoStack(monsterList.Length); for (int i = 0; i < monsterList.Length; i++) { int monsterID = monsterList[i].ToInt(); int monsterNum = monsterNumList[i].ToInt(); int currNum = monsterCurrNumList.Length > i ? monsterCurrNumList[i].ToInt() : 0; MonsterInfo monsterInfo = new ConfigCacheSet <MonsterInfo>().FindKey(monsterID); DataStruct dsItem1 = new DataStruct(); dsItem1.PushIntoStack(monsterInfo != null ? monsterInfo.GeneralName.ToNotNullString() : string.Empty); dsItem1.PushIntoStack(monsterNum); dsItem1.PushIntoStack(currNum); dsItem.PushIntoStack(dsItem1); } dsItem.PushIntoStack(itemInfo != null ? itemInfo.ItemName.ToNotNullString() : string.Empty); dsItem.PushIntoStack(taskInfo == null ? 0 : taskInfo.TargetItemNum); dsItem.PushIntoStack(UserItemHelper.CheckItemNum(ContextUser.UserID, taskInfo == null ? 0 : taskInfo.TargetItemID)); dsItem.PushIntoStack(taskInfo == null ? 0 : taskInfo.Experience); dsItem.PushIntoStack(taskInfo == null ? 0 : taskInfo.GameCoin); this.PushIntoStack(dsItem); } }
public override void BuildPacket() { PushIntoStack(cityInfo == null ? string.Empty : cityInfo.CityName.ToNotNullString()); PushIntoStack(gameUserArray.Count); foreach (GameUser user in gameUserArray) { UserGeneral uGeneral = UserGeneral.GetMainGeneral(user.UserID); string HeadID = string.Empty; if (uGeneral != null) { CareerInfo careerInfo = new ShareCacheStruct <CareerInfo>().FindKey(uGeneral.CareerID); HeadID = user.Sex ? careerInfo.HeadID2 : careerInfo.HeadID; } UserGuild userGuild = new ShareCacheStruct <UserGuild>().FindKey(user.MercenariesID); string pictureID = string.Empty; //原因:排除月饼和双倍材料卡 List <UserProps> propsArray = new PersonalCacheStruct <UserProps>().FindAll(user.UserID, u => u.PropType == 3 && u.ItemID != 5200 && u.ItemID != 7003); if (propsArray.Count > 0 && propsArray[0].DoRefresh() > 0) { ItemBaseInfo itemInfo = new ShareCacheStruct <ItemBaseInfo>().FindKey(propsArray[0].ItemID); if (itemInfo != null) { pictureID = itemInfo.PictrueID; } } else { pictureID = string.Empty; } DataStruct ds = new DataStruct(); ds.PushIntoStack(user.UserID.ToNotNullString()); ds.PushIntoStack(user.NickName.ToNotNullString()); ds.PushIntoStack(HeadID.ToNotNullString()); ds.PushIntoStack(user.MercenariesID.ToNotNullString()); ds.PushIntoStack(userGuild == null ? string.Empty : userGuild.GuildName.ToNotNullString()); ds.PushIntoStack((short)user.UserStatus); ds.PushIntoStack(user.PointX); ds.PushIntoStack(user.PointY); ds.PushIntoStack(pictureID.ToNotNullString()); ds.PushIntoStack(NoviceHelper.IsWingFestivalInfo(user.UserID) ? (short)1 : (short)0); ds.PushIntoStack(0); PushIntoStack(ds); } }
public override void BuildPacket() { PushIntoStack(_itemInfo.HeadID.ToNotNullString()); PushIntoStack(_itemInfo.ItemName.ToNotNullString()); PushIntoStack((short)_useritem.ItemType); PushIntoStack((short)_itemInfo.QualityType); PushIntoStack((short)_itemInfo.QualityType); PushIntoStack(_useritem.ItemLv); PushIntoStack(demandLv); PushIntoStack(_itemEquArray.Count); foreach (ItemEquAttrInfo equ in _itemEquArray) { int strengNum = 0; if (equ != null) { strengNum = MathUtils.Addition(equ.BaseNum, (equ.IncreaseNum * _useritem.ItemLv), int.MaxValue); } DataStruct ds = new DataStruct(); ds.PushIntoStack(equ == null ? (short)0 : (short)equ.AttributeID); ds.PushIntoStack(equ == null ? 0 : strengNum); PushIntoStack(ds); } PushIntoStack(_careerList.Length); foreach (string career in _careerList) { DataStruct ds = new DataStruct(); CareerInfo careerInfo = new ConfigCacheSet <CareerInfo>().FindKey(career); ds.PushIntoStack(careerInfo == null ? (short)0 : (short)careerInfo.CareerID); ds.PushIntoStack(careerInfo == null ? string.Empty : careerInfo.CareerName.ToNotNullString()); PushIntoStack(ds); } PushIntoStack(_salePrice); PushIntoStack(_itemInfo == null ? string.Empty : _itemInfo.ItemDesc.ToNotNullString()); PushIntoStack(_itemSynthsisArray.Count); foreach (ItemSynthesisInfo synthesis in _itemSynthsisArray) { int maxNum = GetItemMaxNum(synthesis); ItemBaseInfo tempItem = new ConfigCacheSet <ItemBaseInfo>().FindKey(synthesis.SynthesisID); DataStruct ds = new DataStruct(); ds.PushIntoStack(synthesis.SynthesisID); ds.PushIntoStack(tempItem != null ? tempItem.ItemName.ToNotNullString() : string.Empty); ds.PushIntoStack((short)synthesis.DemandNum); ds.PushIntoStack((short)maxNum); PushIntoStack(ds); } PushIntoStack(PropertyArray.Length); foreach (SparePartProperty item in PropertyArray) { DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack((int)item.AbilityType); dsItem.PushIntoStack(UserHelper.PropertyAbility(item.Num)); PushIntoStack(dsItem); } }
public override void BuildPacket() { PushIntoStack(_gameActiveList.Length); foreach (GameActive gameActive in _gameActiveList) { DateTime enableTime = DateTime.MinValue; DateTime endTime = DateTime.MinValue; short isEnable = 0; RefEnableTime(gameActive, ref enableTime, ref endTime, ref isEnable); DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(gameActive.ActiveId); dsItem.PushIntoStack(gameActive.ActiveName.ToNotNullString()); dsItem.PushIntoStack(gameActive.ActiveType.ToShort()); dsItem.PushIntoStack(enableTime.ToString("HH:mm").ToNotNullString()); dsItem.PushIntoStack(endTime.ToString("HH:mm").ToNotNullString()); dsItem.PushIntoStack(isEnable); dsItem.PushIntoStack(gameActive.BossLv); dsItem.PushIntoStack(gameActive.HeadID.ToNotNullString()); dsItem.PushIntoStack(gameActive.Descption.ToNotNullString()); dsItem.PushIntoStack(gameActive.ActiveStyle); dsItem.PushIntoStack(!string.IsNullOrEmpty(ContextUser.MercenariesID) ? ContextUser.MercenariesID : string.Empty); PushIntoStack(dsItem); } }
public override void BuildPacket() { PushIntoStack(userPlotCombat.IsWin.ToShort()); PushIntoStack(userPlotCombat.Experience); PushIntoStack(prizeItems.Count); foreach (PrizeItemInfo prizeItem in prizeItems) { SparePartInfo partInfo = new ConfigCacheSet <SparePartInfo>().FindKey(prizeItem.ItemID); DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(partInfo == null ? string.Empty : partInfo.Name.ToNotNullString()); dsItem.PushIntoStack(partInfo == null ? string.Empty : partInfo.HeadID.ToNotNullString()); dsItem.PushIntoStack(partInfo == null ? (short)0 : partInfo.QualityType.ToShort()); dsItem.PushIntoStack(prizeItem.Num); PushIntoStack(dsItem); } //攻方阵形 PushIntoStack(combatProcessList.AttackList.Count); foreach (CombatEmbattle combatEmbattle in combatProcessList.AttackList) { DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(combatEmbattle.GeneralID); dsItem.PushIntoStack(combatEmbattle.GeneralName.ToNotNullString()); dsItem.PushIntoStack(combatEmbattle.HeadID.ToNotNullString()); dsItem.PushIntoStack(combatEmbattle.Position.ToShort()); dsItem.PushIntoStack(combatEmbattle.LiveNum); dsItem.PushIntoStack(combatEmbattle.LiveMaxNum); dsItem.PushIntoStack(combatEmbattle.MomentumNum); dsItem.PushIntoStack(combatEmbattle.MaxMomentumNum); dsItem.PushIntoStack(combatEmbattle.AbilityID); dsItem.PushIntoStack(combatEmbattle.GeneralLv); dsItem.PushIntoStack(combatEmbattle.IsWait ? (short)1 : (short)0); PushIntoStack(dsItem); } //防方阵形 PushIntoStack(combatProcessList.DefenseList.Count); foreach (CombatEmbattle combatEmbattle in combatProcessList.DefenseList) { DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(combatEmbattle.GeneralID); dsItem.PushIntoStack(combatEmbattle.GeneralName.ToNotNullString()); dsItem.PushIntoStack(combatEmbattle.HeadID.ToNotNullString()); dsItem.PushIntoStack(combatEmbattle.Position.ToShort()); dsItem.PushIntoStack(combatEmbattle.LiveNum); dsItem.PushIntoStack(combatEmbattle.LiveMaxNum); dsItem.PushIntoStack(combatEmbattle.MomentumNum); dsItem.PushIntoStack(combatEmbattle.MaxMomentumNum); dsItem.PushIntoStack(combatEmbattle.AbilityID); dsItem.PushIntoStack(combatEmbattle.GeneralLv); dsItem.PushIntoStack(combatEmbattle.IsWait ? (short)1 : (short)0); PushIntoStack(dsItem); } //战斗过程 PushIntoStack(combatProcessList.ProcessList.Count); foreach (CombatProcess combatProcess in combatProcessList.ProcessList) { DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(combatProcess.GeneralID); dsItem.PushIntoStack(combatProcess.LiveNum); dsItem.PushIntoStack(combatProcess.Momentum); dsItem.PushIntoStack(combatProcess.AttackTaget.ToShort()); dsItem.PushIntoStack(combatProcess.AttackUnit.ToShort()); dsItem.PushIntoStack(combatProcess.AbilityProperty.ToShort()); dsItem.PushIntoStack(combatProcess.AttStatus.ToShort()); dsItem.PushIntoStack(combatProcess.DamageNum); dsItem.PushIntoStack(combatProcess.AttEffectID.ToNotNullString()); dsItem.PushIntoStack(combatProcess.TargetEffectID.ToNotNullString()); dsItem.PushIntoStack(combatProcess.IsMove.ToShort()); dsItem.PushIntoStack(combatProcess.Position.ToShort()); dsItem.PushIntoStack(combatProcess.Role.ToShort()); dsItem.PushIntoStack(combatProcess.DamageStatusList.Count); foreach (AbilityEffectStatus effectStatus in combatProcess.DamageStatusList) { DataStruct dsItem1 = new DataStruct(); dsItem1.PushIntoStack(effectStatus.AbilityType.ToShort()); dsItem1.PushIntoStack(effectStatus.DamageNum); dsItem1.PushIntoStack(effectStatus.IsIncrease ? 1 : 0); dsItem.PushIntoStack(dsItem1); } dsItem.PushIntoStack(combatProcess.TargetList.Count); foreach (TargetProcess targetProcess in combatProcess.TargetList) { DataStruct dsItem1 = new DataStruct(); dsItem1.PushIntoStack(targetProcess.GeneralID); dsItem1.PushIntoStack(targetProcess.LiveNum); dsItem1.PushIntoStack(targetProcess.Momentum); dsItem1.PushIntoStack(targetProcess.DamageNum); dsItem1.PushIntoStack(targetProcess.IsShanBi.ToShort()); dsItem1.PushIntoStack(targetProcess.IsGeDang.ToShort()); dsItem1.PushIntoStack(targetProcess.IsBack.ToShort()); dsItem1.PushIntoStack(targetProcess.IsMove.ToShort()); dsItem1.PushIntoStack(targetProcess.BackDamageNum); dsItem1.PushIntoStack(targetProcess.TargetStatus.ToShort()); dsItem1.PushIntoStack(targetProcess.Position.ToShort()); dsItem1.PushIntoStack(targetProcess.Role.ToShort()); //目标中招效果 dsItem1.PushIntoStack(targetProcess.DamageStatusList.Count); foreach (AbilityEffectStatus effectStatus in targetProcess.DamageStatusList) { DataStruct dsItem12 = new DataStruct(); dsItem12.PushIntoStack(effectStatus.AbilityType.ToShort()); dsItem12.PushIntoStack(effectStatus.IsIncrease ? 1 : 0); dsItem1.PushIntoStack(dsItem12); } dsItem1.PushIntoStack(targetProcess.IsBaoji.ToShort()); dsItem1.PushIntoStack(targetProcess.TrumpStatusList.Count); foreach (var item in targetProcess.TrumpStatusList) { DataStruct dsItem13 = new DataStruct(); dsItem13.PushIntoStack((short)item.AbilityID); dsItem13.PushIntoStack(item.Num); dsItem1.PushIntoStack(dsItem13); } dsItem.PushIntoStack(dsItem1); } dsItem.PushIntoStack(combatProcess.TrumpStatusList.Count); foreach (var item in combatProcess.TrumpStatusList) { DataStruct dsItem14 = new DataStruct(); dsItem14.PushIntoStack((short)item.AbilityID); dsItem14.PushIntoStack(item.Num); dsItem.PushIntoStack(dsItem14); } PushIntoStack(dsItem); } PushIntoStack(universalArray.Length); foreach (var item in universalArray) { DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(item.Name.ToNotNullString()); dsItem.PushIntoStack(item.HeadID.ToNotNullString()); dsItem.PushIntoStack(item.Num); PushIntoStack(dsItem); } }
public override void BuildPacket() { PushIntoStack(equCount); PushIntoStack(currPlantNum); PushIntoStack(maxPlantNum); PushIntoStack(currExploreNum); PushIntoStack(maxExploreNum); PushIntoStack(queueArray.Count); foreach (UserQueue queue in queueArray) { int totalColdeTime = queue.DoRefresh(); if (queue.QueueType == QueueType.EquipmentStrong) { coldTime = queue.DoRefresh(); if (queue.StrengNum >= equMaxNum && totalColdeTime > 0) { typeID = 1; } else { typeID = 0; } } if (queue.QueueType == QueueType.MagicStrong) { coldTime = queue.DoRefresh(); if (queue.StrengNum >= _magicMaxNum && totalColdeTime > 0) { typeID = 1; } else { typeID = 0; } } if (queue.QueueType == QueueType.TianXianStrong) { if (totalColdeTime > 0) { coldTime = totalColdeTime; typeID = 1; } else { coldTime = 0; typeID = 0; } } DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(queue.QueueID); dsItem.PushIntoStack((short)queue.QueueType); dsItem.PushIntoStack(coldTime); dsItem.PushIntoStack(typeID); PushIntoStack(dsItem); } PushIntoStack(equOpenCount); }
public override void BuildPacket() { PushIntoStack(idolInfo == null ? LanguageManager.GetLang().shortInt : idolInfo.IdolLv); PushIntoStack(idolInfo == null ? 0 : idolInfo.CurrExperience); PushIntoStack(maxAura); PushIntoStack(guildLogArray.Count); foreach (MemberLog log in guildLogArray) { GameUser gameUser = new GameDataCacheSet <GameUser>().FindKey(log.UserID); if (gameUser == null) { gameUser = UserCacheGlobal.CheckLoadUser(log.UserID); } DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(log.UserID); dsItem.PushIntoStack(gameUser == null ? string.Empty : gameUser.NickName.ToNotNullString()); dsItem.PushIntoStack(log.LogType); dsItem.PushIntoStack(log.GainAura); dsItem.PushIntoStack(GetGainDate(log.InsertDate)); dsItem.PushIntoStack(log.IdolID); PushIntoStack(dsItem); } PushIntoStack(idolInfoArray.Count); foreach (GuildIdolInfo guildIdol in idolInfoArray) { if (isXs == 2) { isShow = 2; } else { if (guildIdol.IdolID == 1) { isShow = 1; } if (guildIdol.IdolID == 2 && VipHelper.GetVipOpenFun(ContextUser.VipLv, ExpandType.GuildMemberShangSuHeXiang)) { isShow = 1; } else if (guildIdol.IdolID == 2) { isShow = 2; } if (guildIdol.IdolID == 3 && VipHelper.GetVipOpenFun(ContextUser.VipLv, ExpandType.GuildMemberShangTianMuXiang)) { isShow = 1; } else if (guildIdol.IdolID == 3) { isShow = 2; } } DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack((short)guildIdol.IdolID); dsItem.PushIntoStack(guildIdol.GainObtion); dsItem.PushIntoStack(guildIdol.GainBlessing); dsItem.PushIntoStack(guildIdol.GainAura); dsItem.PushIntoStack(guildIdol.UseExpNum); dsItem.PushIntoStack(guildIdol.UseGold); dsItem.PushIntoStack(isShow); PushIntoStack(dsItem); } }
public override void BuildPacket() { PushIntoStack(teamPlot.MorePlot.Experience); PushIntoStack(teamPlot.MorePlot.ItemId); PushIntoStack(teamPlot.MorePlot.ItemName.ToNotNullString()); PushIntoStack(teamPlot.MorePlot.ItemNum); PushIntoStack(teamPlot.MorePlot.ExpNum); PushIntoStack(teamPlot.MorePlot.PlotID); PushIntoStack(teamPlot.MorePlot.PlotName.ToNotNullString()); PushIntoStack(plotInfo == null ? string.Empty : plotInfo.BgScene.ToNotNullString()); PushIntoStack(teamCombatResult.IsWin ? (short)1 : (short)0); PushIntoStack(teamCombatResult.ProcessList.Count); foreach (var countryProcess in teamCombatResult.ProcessList) { DataStruct ds = new DataStruct(); //攻方阵形 ds.PushIntoStack(countryProcess.ProcessContainer.AttackList.Count); foreach (CombatEmbattle combatEmbattle in countryProcess.ProcessContainer.AttackList) { DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(combatEmbattle.GeneralID); dsItem.PushIntoStack(combatEmbattle.GeneralName.ToNotNullString()); dsItem.PushIntoStack(combatEmbattle.HeadID.ToNotNullString()); dsItem.PushIntoStack(combatEmbattle.Position.ToShort()); dsItem.PushIntoStack(combatEmbattle.LiveNum); dsItem.PushIntoStack(combatEmbattle.LiveMaxNum); dsItem.PushIntoStack(combatEmbattle.MomentumNum); dsItem.PushIntoStack(combatEmbattle.MaxMomentumNum); dsItem.PushIntoStack(combatEmbattle.AbilityID); dsItem.PushIntoStack(combatEmbattle.GeneralLv); dsItem.PushIntoStack(combatEmbattle.IsWait ? (short)1 : (short)0); ds.PushIntoStack(dsItem); } //防方阵形 ds.PushIntoStack(countryProcess.ProcessContainer.DefenseList.Count); foreach (CombatEmbattle combatEmbattle in countryProcess.ProcessContainer.DefenseList) { DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(combatEmbattle.GeneralID); dsItem.PushIntoStack(combatEmbattle.GeneralName.ToNotNullString()); dsItem.PushIntoStack(combatEmbattle.HeadID.ToNotNullString()); dsItem.PushIntoStack(combatEmbattle.Position.ToShort()); dsItem.PushIntoStack(combatEmbattle.LiveNum); dsItem.PushIntoStack(combatEmbattle.LiveMaxNum); dsItem.PushIntoStack(combatEmbattle.MomentumNum); dsItem.PushIntoStack(combatEmbattle.MaxMomentumNum); dsItem.PushIntoStack(combatEmbattle.AbilityID); dsItem.PushIntoStack(combatEmbattle.GeneralLv); dsItem.PushIntoStack(combatEmbattle.IsWait ? (short)1 : (short)0); ds.PushIntoStack(dsItem); } //战斗过程 ds.PushIntoStack(countryProcess.ProcessContainer.ProcessList.Count); foreach (CombatProcess combatProcess in countryProcess.ProcessContainer.ProcessList) { DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(combatProcess.GeneralID); dsItem.PushIntoStack(combatProcess.LiveNum); dsItem.PushIntoStack(combatProcess.Momentum); dsItem.PushIntoStack(combatProcess.AttackTaget.ToShort()); dsItem.PushIntoStack(combatProcess.AttackUnit.ToShort()); dsItem.PushIntoStack(combatProcess.AbilityProperty.ToShort()); dsItem.PushIntoStack(combatProcess.AttStatus.ToShort()); dsItem.PushIntoStack(combatProcess.DamageNum); dsItem.PushIntoStack(combatProcess.AttEffectID.ToNotNullString()); dsItem.PushIntoStack(combatProcess.TargetEffectID.ToNotNullString()); dsItem.PushIntoStack(combatProcess.IsMove.ToShort()); dsItem.PushIntoStack(combatProcess.Position.ToShort()); dsItem.PushIntoStack(combatProcess.Role.ToShort()); dsItem.PushIntoStack(combatProcess.DamageStatusList.Count); foreach (AbilityEffectStatus effectStatus in combatProcess.DamageStatusList) { DataStruct dsItem1 = new DataStruct(); dsItem1.PushIntoStack(effectStatus.AbilityType.ToShort()); dsItem1.PushIntoStack(effectStatus.DamageNum); dsItem1.PushIntoStack(effectStatus.IsIncrease ? 1 : 0); dsItem.PushIntoStack(dsItem1); } dsItem.PushIntoStack(combatProcess.TargetList.Count); foreach (TargetProcess targetProcess in combatProcess.TargetList) { DataStruct dsItem1 = new DataStruct(); dsItem1.PushIntoStack(targetProcess.GeneralID); dsItem1.PushIntoStack(targetProcess.LiveNum); dsItem1.PushIntoStack(targetProcess.Momentum); dsItem1.PushIntoStack(targetProcess.DamageNum); dsItem1.PushIntoStack(targetProcess.IsShanBi.ToShort()); dsItem1.PushIntoStack(targetProcess.IsGeDang.ToShort()); dsItem1.PushIntoStack(targetProcess.IsBack.ToShort()); dsItem1.PushIntoStack(targetProcess.IsMove.ToShort()); dsItem1.PushIntoStack(targetProcess.BackDamageNum); dsItem1.PushIntoStack(targetProcess.TargetStatus.ToShort()); dsItem1.PushIntoStack(targetProcess.Position.ToShort()); dsItem1.PushIntoStack(targetProcess.Role.ToShort()); //目标中招效果 dsItem1.PushIntoStack(targetProcess.DamageStatusList.Count); foreach (AbilityEffectStatus effectStatus in targetProcess.DamageStatusList) { DataStruct dsItem12 = new DataStruct(); dsItem12.PushIntoStack(effectStatus.AbilityType.ToShort()); dsItem12.PushIntoStack(effectStatus.IsIncrease ? 1 : 0); dsItem1.PushIntoStack(dsItem12); } dsItem1.PushIntoStack(targetProcess.IsBaoji.ToShort()); dsItem1.PushIntoStack(targetProcess.TrumpStatusList.Count); foreach (var item in targetProcess.TrumpStatusList) { DataStruct dsItem13 = new DataStruct(); dsItem13.PushIntoStack((short)item.AbilityID); dsItem13.PushIntoStack(item.Num); dsItem1.PushIntoStack(dsItem13); } dsItem.PushIntoStack(dsItem1); } dsItem.PushIntoStack(combatProcess.TrumpStatusList.Count); foreach (var item in combatProcess.TrumpStatusList) { DataStruct dsItem14 = new DataStruct(); dsItem14.PushIntoStack((short)item.AbilityID); dsItem14.PushIntoStack(item.Num); dsItem.PushIntoStack(dsItem14); } ds.PushIntoStack(dsItem); } this.PushIntoStack(ds); } PushIntoStack(plotInfo != null ? plotInfo.BgScene.ToNotNullString() : string.Empty); PushIntoStack(plotInfo != null ? plotInfo.FgScene.ToNotNullString() : string.Empty); }
public override void BuildPacket() { PushIntoStack(IsWin.ToShort()); PushIntoStack(bossProcess.DamageNum); PushIntoStack(bossProcess.ObtainNum); PushIntoStack(bossProcess.GameCoin); PushIntoStack(bossProcess.KillGameCoin); //攻方阵形 PushIntoStack(bossProcess.ProcessContainer.AttackList.Count); foreach (CombatEmbattle combatEmbattle in bossProcess.ProcessContainer.AttackList) { DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(combatEmbattle.GeneralID); dsItem.PushIntoStack(combatEmbattle.GeneralName.ToNotNullString()); dsItem.PushIntoStack(combatEmbattle.HeadID.ToNotNullString()); dsItem.PushIntoStack(combatEmbattle.Position.ToShort()); dsItem.PushIntoStack(combatEmbattle.LiveNum); dsItem.PushIntoStack(combatEmbattle.LiveMaxNum); dsItem.PushIntoStack(combatEmbattle.MomentumNum); dsItem.PushIntoStack(combatEmbattle.MaxMomentumNum); dsItem.PushIntoStack(combatEmbattle.AbilityID); dsItem.PushIntoStack(combatEmbattle.GeneralLv); dsItem.PushIntoStack(combatEmbattle.IsWait ? (short)1 : (short)0); PushIntoStack(dsItem); } //防方阵形 PushIntoStack(bossProcess.ProcessContainer.DefenseList.Count); foreach (CombatEmbattle combatEmbattle in bossProcess.ProcessContainer.DefenseList) { DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(combatEmbattle.GeneralID); dsItem.PushIntoStack(combatEmbattle.GeneralName.ToNotNullString()); dsItem.PushIntoStack(combatEmbattle.HeadID.ToNotNullString()); dsItem.PushIntoStack(combatEmbattle.Position.ToShort()); dsItem.PushIntoStack(combatEmbattle.LiveNum); dsItem.PushIntoStack(combatEmbattle.LiveMaxNum); dsItem.PushIntoStack(combatEmbattle.MomentumNum); dsItem.PushIntoStack(combatEmbattle.MaxMomentumNum); dsItem.PushIntoStack(combatEmbattle.AbilityID); dsItem.PushIntoStack(combatEmbattle.GeneralLv); dsItem.PushIntoStack(combatEmbattle.IsWait ? (short)1 : (short)0); PushIntoStack(dsItem); } //战斗过程 PushIntoStack(bossProcess.ProcessContainer.ProcessList.Count); foreach (CombatProcess combatProcess in bossProcess.ProcessContainer.ProcessList) { DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(combatProcess.GeneralID); dsItem.PushIntoStack(combatProcess.LiveNum); dsItem.PushIntoStack(combatProcess.Momentum); dsItem.PushIntoStack(combatProcess.AttackTaget.ToShort()); dsItem.PushIntoStack(combatProcess.AttackUnit.ToShort()); dsItem.PushIntoStack(combatProcess.AbilityProperty.ToShort()); dsItem.PushIntoStack(combatProcess.AttStatus.ToShort()); dsItem.PushIntoStack(combatProcess.DamageNum); dsItem.PushIntoStack(combatProcess.AttEffectID.ToNotNullString()); dsItem.PushIntoStack(combatProcess.TargetEffectID.ToNotNullString()); dsItem.PushIntoStack(combatProcess.IsMove.ToShort()); dsItem.PushIntoStack(combatProcess.Position.ToShort()); dsItem.PushIntoStack(combatProcess.Role.ToShort()); dsItem.PushIntoStack(combatProcess.DamageStatusList.Count); foreach (AbilityEffectStatus effectStatus in combatProcess.DamageStatusList) { DataStruct dsItem1 = new DataStruct(); dsItem1.PushIntoStack(effectStatus.AbilityType.ToShort()); dsItem1.PushIntoStack(effectStatus.DamageNum); dsItem1.PushIntoStack(effectStatus.IsIncrease ? 1 : 0); dsItem.PushIntoStack(dsItem1); } dsItem.PushIntoStack(combatProcess.TargetList.Count); foreach (TargetProcess targetProcess in combatProcess.TargetList) { DataStruct dsItem1 = new DataStruct(); dsItem1.PushIntoStack(targetProcess.GeneralID); dsItem1.PushIntoStack(targetProcess.LiveNum); dsItem1.PushIntoStack(targetProcess.Momentum); dsItem1.PushIntoStack(targetProcess.DamageNum); dsItem1.PushIntoStack(targetProcess.IsShanBi.ToShort()); dsItem1.PushIntoStack(targetProcess.IsGeDang.ToShort()); dsItem1.PushIntoStack(targetProcess.IsBack.ToShort()); dsItem1.PushIntoStack(targetProcess.IsMove.ToShort()); dsItem1.PushIntoStack(targetProcess.BackDamageNum); dsItem1.PushIntoStack(targetProcess.TargetStatus.ToShort()); dsItem1.PushIntoStack(targetProcess.Position.ToShort()); dsItem1.PushIntoStack(targetProcess.Role.ToShort()); //目标中招效果 dsItem1.PushIntoStack(targetProcess.DamageStatusList.Count); foreach (AbilityEffectStatus effectStatus in targetProcess.DamageStatusList) { DataStruct dsItem12 = new DataStruct(); dsItem12.PushIntoStack(effectStatus.AbilityType.ToShort()); dsItem12.PushIntoStack(effectStatus.IsIncrease ? 1 : 0); dsItem1.PushIntoStack(dsItem12); } dsItem1.PushIntoStack(targetProcess.IsBaoji.ToShort()); dsItem1.PushIntoStack(targetProcess.TrumpStatusList.Count); foreach (var item in targetProcess.TrumpStatusList) { DataStruct dsItem13 = new DataStruct(); dsItem13.PushIntoStack((short)item.AbilityID); dsItem13.PushIntoStack(item.Num); dsItem1.PushIntoStack(dsItem13); } dsItem.PushIntoStack(dsItem1); } dsItem.PushIntoStack(combatProcess.TrumpStatusList.Count); foreach (var item in combatProcess.TrumpStatusList) { DataStruct dsItem14 = new DataStruct(); dsItem14.PushIntoStack((short)item.AbilityID); dsItem14.PushIntoStack(item.Num); dsItem.PushIntoStack(dsItem14); } PushIntoStack(dsItem); } }
public override void BuildPacket() { this.PushIntoStack(TaskHelper.DailyEveryMaxNum); this.PushIntoStack(currNum); this.PushIntoStack(userTaskList.Count); foreach (UserTask userTask in userTaskList) { DailyTaskInfo dtaskInfo = new ConfigCacheSet <DailyTaskInfo>().FindKey(userTask.TaskID); var userItem = userTask.GetDailyItem(userLv); ItemBaseInfo itemInfo = new ConfigCacheSet <ItemBaseInfo>().FindKey(userItem != null ? userItem.ItemID : 0); DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(userTask.TaskID); dsItem.PushIntoStack(dtaskInfo.TaskName.ToNotNullString()); dsItem.PushIntoStack((short)userTask.TaskState); dsItem.PushIntoStack((short)userTask.TaskType); dsItem.PushIntoStack((short)userTask.TaskStar); dsItem.PushIntoStack(dtaskInfo.TaskDescp.ToNotNullString()); dsItem.PushIntoStack(dtaskInfo.TaskTarget); dsItem.PushIntoStack((int)userTask.TaskStar); dsItem.PushIntoStack(userTask.TaskTargetNum.ToInt()); dsItem.PushIntoStack(userTask.GetDailyExpNum(userLv)); dsItem.PushIntoStack(itemInfo != null ? itemInfo.ItemName.ToNotNullString() : string.Empty); dsItem.PushIntoStack(userItem != null ? userItem.Num : 0); this.PushIntoStack(dsItem); } }
public override void BuildPacket() { var cacheSetItem = new ConfigCacheSet <ItemBaseInfo>(); PushIntoStack(_cityInfoList.Count); foreach (var city in _cityInfoList) { List <PlotInfo> plotList = _cacheSetPlot.FindAll(s => s.CityID == city.CityID && s.PlotType == plotType); DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(plotList.Count); foreach (PlotInfo item in plotList) { UserPlotInfo userPlot = UserPlotHelper.GetUserPlotInfo(ContextUser.UserID, item.PlotID); int isKill = PlotHelper.IsKill(ContextUser.UserID, item.PlotID, cityID) ? 1 : 0; DataStruct dsItemPlot = new DataStruct(); dsItemPlot.PushIntoStack(item.PlotID); dsItemPlot.PushIntoStack(item.PlotSeqNo.ToShort()); dsItemPlot.PushIntoStack(item.PlotName.ToNotNullString()); dsItemPlot.PushIntoStack(item.BossHeadID.ToNotNullString()); dsItemPlot.PushIntoStack(GetPlotStatus(userPlot, plotType)); dsItemPlot.PushIntoStack(userPlot == null ? 1 : (int)userPlot.StarScore); dsItemPlot.PushIntoStack(isKill); dsItemPlot.PushIntoStack(item.HonourNum); dsItemPlot.PushIntoStack(item.GameCoin); dsItemPlot.PushIntoStack(item.PlotDesc); dsItemPlot.PushIntoStack(item.PlotLv); dsItemPlot.PushIntoStack(ConfigEnvSet.GetInt("Plot.BattleEnergyNum")); dsItemPlot.PushIntoStack(PlotHelper.GetPlotChallengeNum(UserId.ToString(), item.PlotID)); dsItemPlot.PushIntoStack(item.ChallengeNum); dsItemPlot.PushIntoStack(userPlot == null ? 0 : userPlot.PlotNum); dsItem.PushIntoStack(dsItemPlot); var itemArray = item.ItemRank.Split(','); dsItemPlot.PushIntoStack(itemArray.Length); foreach (var s in itemArray) { var sArray = s.Split('='); var itemInfo = cacheSetItem.FindKey(sArray.Length > 0 ? sArray[0].ToInt() : 0); DataStruct dsItemInfo = new DataStruct(); dsItemInfo.PushIntoStack(itemInfo != null ? itemInfo.ItemName : string.Empty); dsItemInfo.PushIntoStack(sArray.Length > 1 ? sArray[1].ToInt() : 0); dsItemPlot.PushIntoStack(dsItemInfo); } } dsItem.PushIntoStack(city.CityID); dsItem.PushIntoStack(city.CityName.ToNotNullString()); PushIntoStack(dsItem); } PushIntoStack(resetNum); PushIntoStack(_backpackType); }
public override void BuildPacket() { this.PushIntoStack(itemBaseList.Count); foreach (ItemBaseInfo itemInfo in itemBaseList) { DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(itemInfo.ItemID); dsItem.PushIntoStack(itemInfo.ItemName.ToNotNullString()); dsItem.PushIntoStack(itemInfo.HeadID.ToNotNullString()); dsItem.PushIntoStack(itemInfo.ItemDesc.ToNotNullString()); dsItem.PushIntoStack(itemInfo.ItemType.ToShort()); dsItem.PushIntoStack(itemInfo.EquParts.ToShort()); dsItem.PushIntoStack(itemInfo.QualityType.ToShort()); dsItem.PushIntoStack(itemInfo.DemandLv.ToShort()); string[] careerList = itemInfo.CareerRange.Split(new char[] { ',' }); dsItem.PushIntoStack(careerList.Length); foreach (string CareerID in careerList) { CareerInfo careerInfo = new ConfigCacheSet <CareerInfo>().FindKey(CareerID.ToInt()); DataStruct dsItem1 = new DataStruct(); dsItem1.PushIntoStack(careerInfo != null ? careerInfo.CareerID.ToInt() : (int)0); dsItem1.PushIntoStack(careerInfo != null ? careerInfo.CareerName.ToNotNullString() : string.Empty); dsItem.PushIntoStack(dsItem1); } var equList = new ConfigCacheSet <ItemEquAttrInfo>().FindAll(m => m.ItemID == itemInfo.ItemID); dsItem.PushIntoStack(equList.Count); foreach (ItemEquAttrInfo equ in equList) { DataStruct dsItem1 = new DataStruct(); dsItem1.PushIntoStack(equ.AttributeID.ToInt()); dsItem1.PushIntoStack(equ.BaseNum); dsItem1.PushIntoStack(equ.IncreaseNum); dsItem.PushIntoStack(dsItem1); } dsItem.PushIntoStack(itemInfo.MedicineType); dsItem.PushIntoStack(itemInfo.MedicineLv); dsItem.PushIntoStack(itemInfo.MedicineNum); dsItem.PushIntoStack(itemInfo.PropType); dsItem.PushIntoStack(itemInfo.EffectNum.ToNotNullString()); var itemSynthesisList = new ConfigCacheSet <ItemSynthesisInfo>().FindAll(m => m.ItemID == itemInfo.ItemID); dsItem.PushIntoStack(itemSynthesisList.Count); foreach (ItemSynthesisInfo synthesisInfo in itemSynthesisList) { DataStruct dsItem1 = new DataStruct(); dsItem1.PushIntoStack(synthesisInfo.SynthesisID); dsItem1.PushIntoStack(synthesisInfo.DemandNum); dsItem1.PushIntoStack(synthesisInfo.SynthesisNum); dsItem.PushIntoStack(dsItem1); } this.PushIntoStack(dsItem); } }
public override void BuildPacket() { this.PushIntoStack(plotList.Count); foreach (PlotInfo plotInfo in plotList) { DataStruct ds = new DataStruct(); ds.PushIntoStack(plotInfo.PlotID); ds.PushIntoStack(plotInfo.CityID); ds.PushIntoStack(plotInfo.PlotType.ToShort()); ds.PushIntoStack(plotInfo.PlotSeqNo); ds.PushIntoStack(plotInfo.PlotName.ToNotNullString()); ds.PushIntoStack(plotInfo.BossHeadID.ToNotNullString()); ds.PushIntoStack(plotInfo.BgScene.ToNotNullString()); ds.PushIntoStack(plotInfo.FgScene.ToNotNullString()); ds.PushIntoStack(plotInfo.AftPlotID); ds.PushIntoStack(plotInfo.SceneY1); ds.PushIntoStack(plotInfo.SceneY2); var npcList = new ConfigCacheSet <PlotNPCInfo>().FindAll(m => m.PlotID == plotInfo.PlotID); ds.PushIntoStack(npcList.Count); foreach (PlotNPCInfo npcInfo in npcList) { DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(npcInfo.PlotNpcID); dsItem.PushIntoStack(npcInfo.NpcName.ToNotNullString()); dsItem.PushIntoStack(npcInfo.HeadID.ToNotNullString()); dsItem.PushIntoStack(npcInfo.NpcSeqNo.ToInt()); dsItem.PushIntoStack(npcInfo.PointX); dsItem.PushIntoStack(npcInfo.PointY); dsItem.PushIntoStack(npcInfo.NpcTip.ToNotNullString()); dsItem.PushIntoStack(npcInfo.PreStoryCode.ToNotNullString()); dsItem.PushIntoStack(npcInfo.AftStoryCode.ToNotNullString()); dsItem.PushIntoStack(npcInfo.IsBoss.ToShort()); var plotEmbattleList = new ConfigCacheSet <PlotEmbattleInfo>().FindAll(m => m.PlotNpcID == npcInfo.PlotNpcID); dsItem.PushIntoStack(plotEmbattleList.Count); foreach (PlotEmbattleInfo embattleInfo in plotEmbattleList) { MonsterInfo monster = new ConfigCacheSet <MonsterInfo>().FindKey(embattleInfo.MonsterID); if (monster == null) { SaveLog(new Exception(string.Format(LanguageManager.GetLang().St4011_NoMonster, plotInfo.PlotID, embattleInfo.MonsterID))); } DataStruct dsItem1 = new DataStruct(); dsItem1.PushIntoStack(embattleInfo.MonsterID); dsItem1.PushIntoStack(embattleInfo.GridSeqNo.ToInt()); dsItem1.PushIntoStack(monster == null ? (short)0 : monster.MonsterType.ToShort()); dsItem1.PushIntoStack(monster == null ? string.Empty : monster.HeadID.ToNotNullString()); dsItem1.PushIntoStack(monster == null ? string.Empty : monster.GeneralName.ToNotNullString()); dsItem1.PushIntoStack(monster == null ? (short)0 : monster.GeneralLv.ToShort()); dsItem1.PushIntoStack(monster == null ? (int)0 : monster.LifeNum); dsItem1.PushIntoStack(monster == null ? (int)0 : monster.MomentumNum); dsItem1.PushIntoStack(monster == null ? (short)0 : monster.CareerID); dsItem1.PushIntoStack(monster == null ? (int)0 : monster.ItemID); dsItem.PushIntoStack(dsItem1); } ds.PushIntoStack(dsItem); } this.PushIntoStack(ds); } }
public override void BuildPacket() { PushIntoStack(generalName.ToNotNullString()); this.PushIntoStack(headID.ToNotNullString()); this.PushIntoStack(picturesID.ToNotNullString()); this.PushIntoStack((short)generalQuality); this.PushIntoStack(currExperience); this.PushIntoStack(maxExperience); this.PushIntoStack(powerNum); this.PushIntoStack(soulNum); this.PushIntoStack(intellectNum); this.PushIntoStack(careerInfo == null ? 0 : careerInfo.CareerID); this.PushIntoStack(careerInfo == null ? string.Empty : careerInfo.CareerName.ToNotNullString()); this.PushIntoStack(lifeNum); this.PushIntoStack(lifeMaxNum); this.PushIntoStack(genLv); this.PushIntoStack(generalStatus); this.PushIntoStack(description.ToNotNullString()); this.PushIntoStack(attackNum); this.PushIntoStack(vitalityNum); this.PushIntoStack(talentAbility); this.PushIntoStack(talentName.ToNotNullString()); this.PushIntoStack(userItemArray.Count); foreach (var item in userItemArray) { int isSynthesis; DataStruct dsItem = new DataStruct(); ItemBaseInfo itemInfo = new ShareCacheStruct <ItemBaseInfo>().FindKey(item.ItemID); if (IsSynthesis(ContextUser.UserID, item.ItemID, genLv)) { isSynthesis = 1; } else { isSynthesis = 2; } dsItem.PushIntoStack(item.UserItemID.ToNotNullString()); dsItem.PushIntoStack(item.ItemID); dsItem.PushIntoStack(itemInfo == null ? string.Empty : itemInfo.ItemName.ToNotNullString()); dsItem.PushIntoStack(itemInfo == null ? 0 : (int)itemInfo.EquParts); dsItem.PushIntoStack(itemInfo == null ? string.Empty : itemInfo.HeadID.ToNotNullString()); dsItem.PushIntoStack((short)item.ItemLv); dsItem.PushIntoStack((short)isSynthesis); dsItem.PushIntoStack(itemInfo == null ? 0 : itemInfo.QualityType.ToInt()); this.PushIntoStack(dsItem); } this.PushIntoStack(abilityList.Count); foreach (var ability in abilityList) { DataStruct dsItem = new DataStruct(); AbilityInfo abilityInfo = new ShareCacheStruct <AbilityInfo>().FindKey(ability.AbilityID); dsItem.PushIntoStack(ability.AbilityID); dsItem.PushIntoStack(abilityInfo == null ? string.Empty : abilityInfo.AbilityName.ToNotNullString()); dsItem.PushIntoStack((short)ability.AbilityLv); dsItem.PushIntoStack(abilityInfo == null ? string.Empty : abilityInfo.AbilityDesc.ToNotNullString()); dsItem.PushIntoStack(abilityInfo == null ? string.Empty : abilityInfo.HeadID.ToNotNullString()); dsItem.PushIntoStack(ability.Position); dsItem.PushIntoStack(ability.UserItemID.ToNotNullString()); dsItem.PushIntoStack(abilityInfo != null ? abilityInfo.AbilityQuality : 0); this.PushIntoStack(dsItem); } this.PushIntoStack(gPropertyList.Count); foreach (var property in gPropertyList) { DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(property.AbilityType.ToShort()); if (property.AbilityType == AbilityType.MingZhong) { string value = (property.AbilityValue + _hitProbability).ToNotNullString(); dsItem.PushIntoStack(value); } else { dsItem.PushIntoStack(property.AbilityValue.ToNotNullString()); } this.PushIntoStack(dsItem); } this.PushIntoStack(functionList.Count); foreach (var function in functionList) { DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(function.FunEnum.ToShort()); this.PushIntoStack(dsItem); } PushIntoStack(_potential); this.PushIntoStack(soulGrid); this.PushIntoStack(_battleHeadId.ToNotNullString()); PushIntoStack(userGeneral != null ? userGeneral.AbilityNum : 3); // 缘分信息 if (karmaList != null) { PushIntoStack(karmaList.Count); foreach (var karmaInfo in karmaList) { DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(karmaInfo.KarmaName); dsItem.PushIntoStack(karmaInfo.KarmaDesc); dsItem.PushIntoStack(karmaInfo.IsActive); this.PushIntoStack(dsItem); } } else { PushIntoStack(0); } PushIntoStack(userCareerName); }
public override void BuildPacket() { PushIntoStack(userItemArray.Count); foreach (var item in userItemArray) { short isStrong = 0; int strongMoney = new UserItemHelper(item).StrongMoney; if (item.ItemLv >= ContextUser.UserLv || strongMoney > ContextUser.GameCoin) { isStrong = 1; } ItemBaseInfo itemInfo = new ShareCacheStruct <ItemBaseInfo>().FindKey(item.ItemID); DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(item == null ? string.Empty : item.UserItemID.ToNotNullString()); dsItem.PushIntoStack(itemInfo == null ? 0 : itemInfo.ItemID); dsItem.PushIntoStack(itemInfo == null ? string.Empty : itemInfo.ItemName.ToNotNullString()); dsItem.PushIntoStack(itemInfo == null ? string.Empty : itemInfo.HeadID.ToNotNullString()); dsItem.PushIntoStack(item == null ? LanguageManager.GetLang().shortInt : item.ItemLv); dsItem.PushIntoStack(itemInfo == null ? LanguageManager.GetLang().shortInt : (short)itemInfo.QualityType); dsItem.PushIntoStack(item == null ? 0 : strongMoney); dsItem.PushIntoStack(coldTime); dsItem.PushIntoStack(isStrong); dsItem.PushIntoStack(UserHelper.StrongEquPayPrice(Uid, item.UserItemID)); List <ItemEquAttrInfo> itemEquArray = new ShareCacheStruct <ItemEquAttrInfo>().FindAll(e => e.ItemID.Equals(item.ItemID)); //当前等级装备属性 dsItem.PushIntoStack(itemEquArray.Count); foreach (ItemEquAttrInfo equ in itemEquArray) { DataStruct dsDetail = new DataStruct(); dsDetail.PushIntoStack((int)equ.AttributeID); if (equ != null && item != null) { baseNum = MathUtils.Addition(equ.BaseNum, item.ItemLv * equ.IncreaseNum, int.MaxValue); } dsDetail.PushIntoStack(baseNum); dsItem.PushIntoStack(dsDetail); } //下级别装备属性 dsItem.PushIntoStack(itemEquArray.Count); foreach (ItemEquAttrInfo equ in itemEquArray) { DataStruct dsDetail = new DataStruct(); dsDetail.PushIntoStack((int)equ.AttributeID); if (equ != null && item != null) { stengBaseNum = MathUtils.Addition(equ.BaseNum, (int)(MathUtils.Addition(item.ItemLv, (short)1, short.MaxValue)) * equ.IncreaseNum, int.MaxValue); } dsDetail.PushIntoStack(stengBaseNum); dsItem.PushIntoStack(dsDetail); } PushIntoStack(dsItem); } }
public override void BuildPacket() { PushIntoStack(ContextUser.CityID); PushIntoStack(ContextUser.PointX); PushIntoStack(ContextUser.PointY); PushIntoStack(generalID); PushIntoStack(guildID.ToNotNullString()); PushIntoStack(ObjectExtend.ToNotNullString(ContextUser.NickName)); PushIntoStack(genlv); PushIntoStack(careerID); PushIntoStack(sex); PushIntoStack(headID.ToNotNullString()); PushIntoStack(ContextUser.GoldNum); PushIntoStack(ContextUser.GameCoin); PushIntoStack(lifeNum); PushIntoStack(lifeMaxNum); PushIntoStack((ContextUser.EnergyNum).ToShort()); PushIntoStack(maxEnergyNum); PushIntoStack(userGeneralInfo == null ? 0 : userGeneralInfo.CurrExperience); PushIntoStack(escalateInfo == null ? 0 : escalateInfo.UpExperience); PushIntoStack((short)ContextUser.VipLv); PushIntoStack((short)ContextUser.CountryID); //加状态 PushIntoStack(_itemLiveNum); PushIntoStack(_itemLiveMaxNum); PushIntoStack(_blessingList.Count); foreach (var blessing in _blessingList) { DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(blessing.BlessingType); dsItem.PushIntoStack(blessing.BlessingNum); dsItem.PushIntoStack(blessing.PropDate); dsItem.PushIntoStack(string.Empty); dsItem.PushIntoStack(blessing.PropDesc.ToNotNullString()); PushIntoStack(dsItem); } PushIntoStack((short)ContextUser.UserLocation); PushIntoStack(ContextUser.ExpNum); PushIntoStack((short)ContextUser.UserStatus); PushIntoStack(ContextUser.SweepPool == null ? 0 : ContextUser.SweepPool.PlotID); PushIntoStack(ContextUser.IsUseupItem ? (short)1 : (short)0); PushIntoStack(pictureID.ToNotNullString()); PushIntoStack(pictureTime); PushIntoStack(demandGold); PushIntoStack(ContextUser.SurplusEnergy); PushIntoStack(isHelper); PushIntoStack(plotstatucID); PushIntoStack(mercenarySeq); PushIntoStack(cardUserID.ToNotNullString()); PushIntoStack(0); this.PushIntoStack(battleNum); this.PushIntoStack(totalBattle); this.PushIntoStack(rstore); this.PushIntoStack(totalRstore); PushIntoStack(_honourNum); PushIntoStack(_nextHonourNum); PushIntoStack(ContextUser.CombatNum); PushIntoStack(_talPriority); PushIntoStack(ContextUser.IsLv ? 1.ToShort() : 0.ToShort()); this.PushIntoStack(functionList.Count); foreach (UserFunction item in functionList) { DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(item.FunEnum.ToShort()); PushIntoStack(dsItem); } if (ContextUser.OpenFun != null && ContextUser.OpenFun.Count > 0) { var OpenFun = ContextUser.OpenFun; this.PushIntoStack(OpenFun.Count); foreach (UserFunction item in OpenFun) { DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(item.FunEnum.ToShort()); PushIntoStack(dsItem); } ContextUser.OpenFun.Clear(); } else { PushIntoStack(0); } PushIntoStack(ContextUser.WizardNum); // PushIntoStack(unReadCount); // 未读的信件数目 PushIntoStack(unReadCount); }
public override void BuildPacket() { PushIntoStack(userItemList.Count); foreach (var item in userItemList) { List <ItemEquAttrInfo> itemEquList = new ShareCacheStruct <ItemEquAttrInfo>().FindAll(e => e.ItemID.Equals(item.ItemID)); ItemBaseInfo itemInfo = new ShareCacheStruct <ItemBaseInfo>().FindKey(item.ItemID); UserGeneral userGeneral = new PersonalCacheStruct <UserGeneral>().FindKey(ContextUser.UserID, item.GeneralID); int strongMoney = new UserItemHelper(item).StrongMoney; int isStrong = 0; if (strongMoney > ContextUser.GameCoin) { isStrong = 1; } else if (item.ItemLv > ContextUser.UserLv) { isStrong = 2; } DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(item.UserItemID.ToNotNullString()); dsItem.PushIntoStack(item.ItemID); dsItem.PushIntoStack(itemInfo == null ? string.Empty : itemInfo.ItemName.ToNotNullString()); dsItem.PushIntoStack(itemInfo == null ? string.Empty : itemInfo.HeadID.ToNotNullString()); dsItem.PushIntoStack(item.ItemLv); dsItem.PushIntoStack(itemInfo == null ? (short)0 : itemInfo.QualityType.ToShort()); dsItem.PushIntoStack(strongMoney); dsItem.PushIntoStack((short)isStrong); dsItem.PushIntoStack(UserHelper.StrongEquPayPrice(Uid, item.UserItemID)); dsItem.PushIntoStack(userGeneral == null ? string.Empty : userGeneral.GeneralName.ToNotNullString()); dsItem.PushIntoStack(itemInfo == null ? string.Empty : itemInfo.ItemDesc.ToNotNullString()); dsItem.PushIntoStack(itemEquList.Count); foreach (var itemEqu in itemEquList) { DataStruct dsItem1 = new DataStruct(); dsItem1.PushIntoStack(itemEqu.AttributeID.ToInt()); int strengNum = 0; if (item != null) { strengNum = MathUtils.Addition(itemEqu.BaseNum, (itemEqu.IncreaseNum * item.ItemLv), int.MaxValue); } // dsItem1.PushIntoStack(itemEqu.BaseNum); dsItem1.PushIntoStack(strengNum); dsItem.PushIntoStack(dsItem1); } PushIntoStack(dsItem); } }
public void PushLenIntoStack(DataStruct writer, object value) { var list = value as IList; writer.PushIntoStack(list == null ? 0 : list.Count); }
public override void BuildPacket() { this.PushIntoStack(lifeNum); this.PushIntoStack((short)powerNum); this.PushIntoStack((short)soulNum); this.PushIntoStack((short)intelligenceNum); this.PushIntoStack((short)isPractice); this.PushIntoStack(storyTaskArray.Length); foreach (var task in storyTaskArray) { int collectNum = TrumpHelper.GetUserItemNum(ContextUser.UserID, task.TargetItemID); iscomplete = IsComplete(ContextUser, task); PlotInfo plotInfo = new ConfigCacheSet <PlotInfo>().FindKey(task.PlotID); ItemBaseInfo itemInfo = new ConfigCacheSet <ItemBaseInfo>().FindKey(task.TargetItemID); DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(task.TaskID); dsItem.PushIntoStack(task.TaskName.ToNotNullString()); dsItem.PushIntoStack(task.TaskDescp.ToNotNullString()); dsItem.PushIntoStack(plotInfo == null ? 0 : plotInfo.CityID); dsItem.PushIntoStack(task.PlotID); dsItem.PushIntoStack(task.TargetItemID); dsItem.PushIntoStack(itemInfo == null ? string.Empty : itemInfo.ItemName.ToNotNullString()); dsItem.PushIntoStack(itemInfo == null ? string.Empty : itemInfo.HeadID.ToNotNullString()); dsItem.PushIntoStack(collectNum); dsItem.PushIntoStack(task.TargetItemNum); dsItem.PushIntoStack((short)iscomplete); this.PushIntoStack(dsItem); } }
public override void BuildPacket() { this.PushIntoStack(_lingshiNum); this.PushIntoStack(_userGeneralArray.Count); foreach (var general in _userGeneralArray) { List <UserItemInfo> userItemArray = userItemDict.ContainsKey(general.GeneralID) ? userItemDict[general.GeneralID] : new List <UserItemInfo>(); DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(general.GeneralID); dsItem.PushIntoStack(general.GeneralName.ToNotNullString()); dsItem.PushIntoStack(userItemArray.Count); foreach (var item in userItemArray) { var itemInfo = new ConfigCacheSet <ItemBaseInfo>().FindKey(item.ItemID) ?? new ItemBaseInfo(); DataStruct dsItem1 = new DataStruct(); dsItem1.PushIntoStack(item.UserItemID.ToNotNullString()); dsItem1.PushIntoStack(item.ItemID); dsItem1.PushIntoStack(itemInfo.ItemName.ToNotNullString()); dsItem1.PushIntoStack(itemInfo.HeadID.ToNotNullString()); dsItem1.PushIntoStack(itemInfo.QualityType.ToShort()); dsItem1.PushIntoStack(itemInfo.EquParts.ToShort()); dsItem.PushIntoStack(dsItem1); } PushIntoStack(dsItem); } this.PushIntoStack(_sparePartList.Length); for (int i = 0; i < _sparePartList.Length; i++) { var sparePart = _sparePartList[i] ?? new UserSparePart(); if (sparePart.Position == 0) { sparePart.SetPosition((short)(i + 1)); } short enableStatus = 0; if (sparePart.CheckEnable(user.UserExtend.MaxLayerNum)) { enableStatus = 1; } var sparePartInfo = new ConfigCacheSet <SparePartInfo>().FindKey(sparePart.SparePartId) ?? new SparePartInfo(); DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(sparePart.Position); dsItem.PushIntoStack(enableStatus); dsItem.PushIntoStack(sparePart.UserSparepartID.ToNotNullString()); dsItem.PushIntoStack(sparePartInfo.Name.ToNotNullString()); dsItem.PushIntoStack(sparePartInfo.HeadID.ToNotNullString()); dsItem.PushIntoStack(sparePartInfo.QualityType.ToShort()); dsItem.PushIntoStack(sparePartInfo.CoinPrice); dsItem.PushIntoStack(sparePartInfo.LingshiPrice); dsItem.PushIntoStack(sparePart.Propertys.Count); for (int r = 0; r < sparePart.Propertys.Count; r++) { var property = sparePart.Propertys[r]; short proPos = MathUtils.Addition(property.ValueIndex, (short)1, short.MaxValue); short isEnable = 0; if (property.IsEnable) { isEnable = 1; } DataStruct dsItem1 = new DataStruct(); dsItem1.PushIntoStack(property.AbilityType.ToShort()); dsItem1.PushIntoStack(property.Num.ToNotNullString()); dsItem1.PushIntoStack(property.HitMinValue.ToNotNullString()); dsItem1.PushIntoStack(property.HitMaxValue.ToNotNullString()); dsItem1.PushIntoStack(isEnable); dsItem1.PushIntoStack(proPos); dsItem.PushIntoStack(dsItem1); } this.PushIntoStack(dsItem); } }
public override void BuildPacket() { string sportsName = string.Empty; var userGeneralCacheSet = new GameDataCacheSet <UserGeneral>(); PushIntoStack(userRankArray.Count); foreach (UserRank rank in userRankArray) { sportsName = UserHelper.SportTitleName(rank.ObtainNum); short trend = SportTrend(rank.UserID); DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(rank.RankId); dsItem.PushIntoStack(rank.UserID.ToNotNullString()); dsItem.PushIntoStack(rank.NickName.ToNotNullString()); dsItem.PushIntoStack(rank.UserLv); dsItem.PushIntoStack(rank.TotalCombatNum > 0 ? rank.TotalCombatNum : UserHelper.GetTotalCombatNum(rank.UserID)); dsItem.PushIntoStack(trend); dsItem.PushIntoStack(sportsName); dsItem.PushIntoStack(rank.VictoryNum); var embattleList = EmbattleHelper.CurrEmbattle(rank.UserID, true); dsItem.PushIntoStack(embattleList.Count); foreach (var item in embattleList) { var userGenearl = userGeneralCacheSet.FindKey(item.UserID, item.GeneralID); DataStruct dsItem1 = new DataStruct(); dsItem1.PushIntoStack(item.GeneralID); dsItem1.PushIntoStack(userGenearl == null ? string.Empty : userGenearl.GeneralName.ToNotNullString()); dsItem1.PushIntoStack(userGenearl == null ? string.Empty : userGenearl.HeadID.ToNotNullString()); dsItem1.PushIntoStack(userGenearl == null ? 0 : userGenearl.GeneralQuality.ToInt()); dsItem1.PushIntoStack(userGenearl == null ? 0 : userGenearl.GeneralLv.ToInt()); dsItem.PushIntoStack(dsItem1); } SportsRewardInfo sportsInfo = new ConfigCacheSet <SportsRewardInfo>().FindKey(rank.RankId); var embatList = EmbattleHelper.CurrEmbattle(rank.UserID, false); dsItem.PushIntoStack(embatList.Count); dsItem.PushIntoStack(embattleList.Count); dsItem.PushIntoStack(sportsInfo == null ? 0 : sportsInfo.RewardObtian); PushIntoStack(dsItem); } }
public override void BuildPacket() { PushIntoStack(_coldTime); PushIntoStack(_userGeneralArray.Count); foreach (UserGeneral general in _userGeneralArray) { UserGeneral general1 = general; List <UserItemInfo> userItemArray = UserItemHelper.GetItems(Uid).FindAll(u => u.GeneralID.Equals(general1.GeneralID) && u.ItemStatus == ItemStatus.YongBing); userItemArray.QuickSort((x, y) => { if (x == null && y == null) { return(0); } if (x != null && y == null) { return(1); } if (x == null) { return(-1); } return(new ConfigCacheSet <ItemBaseInfo>().FindKey(x.ItemID).EquParts.CompareTo(new ConfigCacheSet <ItemBaseInfo>().FindKey(y.ItemID).EquParts)); }); DataStruct ds = new DataStruct(); ds.PushIntoStack(general == null ? 0 : general.GeneralID); ds.PushIntoStack(general == null ? string.Empty : general.GeneralName.ToNotNullString()); // List<UserItem> itemList = userItemDict.ContainsKey(general.UserID) ? userItemDict[general.UserID] : new List<UserItem>(); ds.PushIntoStack(userItemArray.Count); foreach (UserItemInfo userItem in userItemArray) { int equCodeTime = ConfigEnvSet.GetInt("UserItem.EquColdTime"); short isStrong = 0; int strongMoney = new UserItemHelper(userItem).StrongMoney; if (strongMoney > ContextUser.GameCoin) { isStrong = 1; } else if (userItem.ItemLv >= general.GeneralLv) { isStrong = 2; } ItemBaseInfo itemInfo = new ConfigCacheSet <ItemBaseInfo>().FindKey(userItem.ItemID); List <ItemSynthesisInfo> itemSynthesisInfosArray = new ConfigCacheSet <ItemSynthesisInfo>().FindAll(m => m.SynthesisID == userItem.ItemID); if (itemSynthesisInfosArray.Count > 0 && itemInfo.DemandLv <= ContextUser.UserLv) { isSynthesis = 1; } else { isSynthesis = 2; } DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(userItem.UserItemID); dsItem.PushIntoStack(itemInfo == null ? 0 : itemInfo.ItemID); dsItem.PushIntoStack(itemInfo == null ? string.Empty : itemInfo.ItemName.ToNotNullString()); dsItem.PushIntoStack(itemInfo == null ? string.Empty : itemInfo.HeadID.ToNotNullString()); dsItem.PushIntoStack(userItem.ItemLv); dsItem.PushIntoStack(itemInfo == null ? LanguageManager.GetLang().shortInt : (short)itemInfo.QualityType); dsItem.PushIntoStack(strongMoney); dsItem.PushIntoStack(equCodeTime); dsItem.PushIntoStack(isStrong); dsItem.PushIntoStack(isSynthesis); if (itemInfo != null) { List <ItemEquAttrInfo> itemEquArray = new ConfigCacheSet <ItemEquAttrInfo>().FindAll(e => e.ItemID.Equals(itemInfo.ItemID)); dsItem.PushIntoStack(itemEquArray.Count); foreach (ItemEquAttrInfo equ in itemEquArray) { DataStruct dsDetail = new DataStruct(); dsDetail.PushIntoStack((int)equ.AttributeID); int baseNum; { baseNum = MathUtils.Addition(equ.BaseNum, userItem.ItemLv * equ.IncreaseNum, int.MaxValue); } dsDetail.PushIntoStack(baseNum); dsItem.PushIntoStack(dsDetail); } dsItem.PushIntoStack(itemEquArray.Count); foreach (ItemEquAttrInfo equ in itemEquArray) { DataStruct dsDetail = new DataStruct(); dsDetail.PushIntoStack((int)equ.AttributeID); int baseNum; { baseNum = MathUtils.Addition(equ.BaseNum, (int)(MathUtils.Addition(userItem.ItemLv, (short)1, short.MaxValue)) * equ.IncreaseNum, int.MaxValue); } dsDetail.PushIntoStack(baseNum); dsItem.PushIntoStack(dsDetail); } } ds.PushIntoStack(dsItem); } PushIntoStack(ds); } PushIntoStack(queueID); }
public override void BuildPacket() { this.PushIntoStack(abilityList.Count); foreach (AbilityInfo abilityInfo in abilityList) { DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(abilityInfo.AbilityID); dsItem.PushIntoStack(abilityInfo.AbilityName.ToNotNullString()); dsItem.PushIntoStack(abilityInfo.AttackUnit.ToShort()); dsItem.PushIntoStack(abilityInfo.AttackTaget.ToShort()); dsItem.PushIntoStack(abilityInfo.EffectCount.ToShort()); dsItem.PushIntoStack(abilityInfo.IsMove ? (short)1 : (short)0); dsItem.PushIntoStack(abilityInfo.EffectDesc.ToNotNullString()); dsItem.PushIntoStack(abilityInfo.AbilityDesc.ToNotNullString()); dsItem.PushIntoStack(abilityInfo.EffectID1.ToNotNullString()); dsItem.PushIntoStack(abilityInfo.EffectID2.ToNotNullString()); dsItem.PushIntoStack(abilityInfo.HeadID.ToNotNullString()); dsItem.PushIntoStack(abilityInfo.MaxHeadID.ToNotNullString()); dsItem.PushIntoStack(abilityInfo.FntHeadID.ToNotNullString()); this.PushIntoStack(dsItem); } }
public override void BuildPacket() { this.PushIntoStack(userPlotCombat.IsWin.ToShort()); this.PushIntoStack(userPlotCombat.Experience); this.PushIntoStack(prizeItems.Count); foreach (PrizeItemInfo prizeItem in prizeItems) { ItemBaseInfo item = new ConfigCacheSet <ItemBaseInfo>().FindKey(prizeItem.ItemID); DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(item.ItemName.ToNotNullString()); dsItem.PushIntoStack(item.HeadID.ToNotNullString()); dsItem.PushIntoStack(item.QualityType.ToShort()); dsItem.PushIntoStack(prizeItem.Num); PushIntoStack(dsItem); } //攻方阵形 PushIntoStack(combatProcessList.AttackList.Count); foreach (CombatEmbattle combatEmbattle in combatProcessList.AttackList) { int isAttWait = combatEmbattle.IsWait ? 1 : 0; var general = _cacheSetGeneral.FindKey(combatEmbattle.GeneralID); DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(combatEmbattle.GeneralID); dsItem.PushIntoStack(combatEmbattle.GeneralName.ToNotNullString()); //dsItem.PushIntoStack(combatEmbattle.HeadID.ToNotNullString()); dsItem.PushIntoStack(general == null ? string.Empty : general.BattleHeadID.ToNotNullString()); dsItem.PushIntoStack(combatEmbattle.Position.ToShort()); dsItem.PushIntoStack(combatEmbattle.LiveNum); dsItem.PushIntoStack(combatEmbattle.LiveMaxNum); dsItem.PushIntoStack(combatEmbattle.MomentumNum); dsItem.PushIntoStack(combatEmbattle.MaxMomentumNum); dsItem.PushIntoStack(combatEmbattle.AbilityID); dsItem.PushIntoStack(combatEmbattle.GeneralLv); dsItem.PushIntoStack((short)isAttWait); // 增加佣兵品质 dsItem.PushShortIntoStack(general == null ? 0 : general.GeneralQuality.ToShort()); PushIntoStack(dsItem); } //防方阵形 PushIntoStack(combatProcessList.DefenseList.Count); foreach (CombatEmbattle combatEmbattle in combatProcessList.DefenseList) { int isDefWait = combatEmbattle.IsWait ? 1 : 0; DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(combatEmbattle.GeneralID); dsItem.PushIntoStack(combatEmbattle.GeneralName.ToNotNullString()); dsItem.PushIntoStack(combatEmbattle.HeadID.ToNotNullString()); dsItem.PushIntoStack(combatEmbattle.Position.ToShort()); dsItem.PushIntoStack(combatEmbattle.LiveNum); dsItem.PushIntoStack(combatEmbattle.LiveMaxNum); dsItem.PushIntoStack(combatEmbattle.MomentumNum); dsItem.PushIntoStack(combatEmbattle.MaxMomentumNum); dsItem.PushIntoStack(combatEmbattle.AbilityID); dsItem.PushIntoStack(combatEmbattle.GeneralLv); dsItem.PushIntoStack((short)isDefWait); // 增加佣兵品质 var general = _cacheSetGeneral.FindKey(combatEmbattle.GeneralID); dsItem.PushShortIntoStack(general == null ? 0 : general.GeneralQuality.ToShort()); PushIntoStack(dsItem); } //战斗过程 PushIntoStack(combatProcessList.ProcessList.Count); foreach (CombatProcess combatProcess in combatProcessList.ProcessList) { DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(combatProcess.GeneralID); dsItem.PushIntoStack(combatProcess.LiveNum); dsItem.PushIntoStack(combatProcess.Momentum); dsItem.PushIntoStack(combatProcess.AttackTaget.ToShort()); dsItem.PushIntoStack(combatProcess.AttackUnit.ToShort()); dsItem.PushIntoStack(combatProcess.AbilityProperty.ToShort()); dsItem.PushIntoStack(combatProcess.AttStatus.ToShort()); dsItem.PushIntoStack(combatProcess.DamageNum); dsItem.PushIntoStack(combatProcess.AttEffectID.ToNotNullString()); dsItem.PushIntoStack(combatProcess.TargetEffectID.ToNotNullString()); dsItem.PushIntoStack(combatProcess.IsMove.ToShort()); dsItem.PushIntoStack(combatProcess.Position.ToShort()); dsItem.PushIntoStack(combatProcess.Role.ToShort()); dsItem.PushIntoStack(combatProcess.DamageStatusList.Count); foreach (AbilityEffectStatus effectStatus in combatProcess.DamageStatusList) { DataStruct dsItem1 = new DataStruct(); dsItem1.PushIntoStack(effectStatus.AbilityType.ToShort()); dsItem1.PushIntoStack(effectStatus.DamageNum); dsItem1.PushIntoStack(effectStatus.IsIncrease ? 1 : 0); dsItem.PushIntoStack(dsItem1); } dsItem.PushIntoStack(combatProcess.TargetList.Count); foreach (TargetProcess targetProcess in combatProcess.TargetList) { DataStruct dsItem1 = new DataStruct(); dsItem1.PushIntoStack(targetProcess.GeneralID); dsItem1.PushIntoStack(targetProcess.LiveNum); dsItem1.PushIntoStack(targetProcess.Momentum); dsItem1.PushIntoStack(targetProcess.DamageNum); dsItem1.PushIntoStack(targetProcess.IsShanBi.ToShort()); dsItem1.PushIntoStack(targetProcess.IsGeDang.ToShort()); dsItem1.PushIntoStack(targetProcess.IsBack.ToShort()); dsItem1.PushIntoStack(targetProcess.IsMove.ToShort()); dsItem1.PushIntoStack(targetProcess.BackDamageNum); dsItem1.PushIntoStack(targetProcess.TargetStatus.ToShort()); dsItem1.PushIntoStack(targetProcess.Position.ToShort()); dsItem1.PushIntoStack(targetProcess.Role.ToShort()); //目标中招效果 dsItem1.PushIntoStack(targetProcess.DamageStatusList.Count); foreach (AbilityEffectStatus effectStatus in targetProcess.DamageStatusList) { DataStruct dsItem12 = new DataStruct(); dsItem12.PushIntoStack(effectStatus.AbilityType.ToShort()); dsItem12.PushIntoStack(effectStatus.IsIncrease ? 1 : 0); dsItem1.PushIntoStack(dsItem12); } dsItem1.PushIntoStack(targetProcess.IsBaoji.ToShort()); dsItem1.PushIntoStack(targetProcess.TrumpStatusList.Count); foreach (var item in targetProcess.TrumpStatusList) { DataStruct dsItem13 = new DataStruct(); dsItem13.PushIntoStack((short)item.AbilityID); dsItem13.PushIntoStack(item.Num); dsItem1.PushIntoStack(dsItem13); } dsItem.PushIntoStack(dsItem1); } dsItem.PushIntoStack(combatProcess.TrumpStatusList.Count); foreach (var item in combatProcess.TrumpStatusList) { DataStruct dsItem14 = new DataStruct(); dsItem14.PushIntoStack((short)item.AbilityID); dsItem14.PushIntoStack(item.Num); dsItem.PushIntoStack(dsItem14); } dsItem.PushIntoStack(combatProcess.FntHeadID.ToNotNullString()); dsItem.PushIntoStack(combatProcess.AbilityID); PushIntoStack(dsItem); } PushIntoStack(userPlotCombat.BlessExperience); PushIntoStack(GotoNum); PushIntoStack(selfAbilityEffectList.Count); foreach (var selfAbilityEffect in selfAbilityEffectList) { DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(selfAbilityEffect.GeneralID); dsItem.PushIntoStack(selfAbilityEffect.EffectID1.ToNotNullString()); dsItem.PushIntoStack(selfAbilityEffect.FntHeadID.ToNotNullString()); dsItem.PushIntoStack(selfAbilityEffect.IsIncrease ? 1.ToShort() : 0.ToShort()); dsItem.PushIntoStack(selfAbilityEffect.Position); dsItem.PushIntoStack(selfAbilityEffect.Role.ToInt()); PushIntoStack(dsItem); } PushIntoStack(_userTalPriority); PushIntoStack(_npcTalPriority); }
public override void BuildPacket() { this.PushIntoStack(coldTime); this.PushIntoStack(firstUser.UserName.ToNotNullString()); this.PushIntoStack(firstUser.CurrWinNum); this.PushIntoStack(_mscoreNum); this.PushIntoStack(_hscoreNum); this.PushIntoStack(countryUser.MaxWinNum); this.PushIntoStack(countryUser.CurrWinNum); this.PushIntoStack(countryUser.WinCount); this.PushIntoStack(countryUser.FailCount); this.PushIntoStack(countryUser.ObtainNum); this.PushIntoStack(countryUser.GameCoin); this.PushIntoStack(processList.Count > 0 ? processList[processList.Count - 1].Version : 0); this.PushIntoStack(processList.Count); foreach (CountryCombatProcess countryProcess in processList) { #region 战报 DataStruct ds = new DataStruct(); ds.PushIntoStack(countryProcess.WinUserName.ToNotNullString()); ds.PushIntoStack(countryProcess.FailUserName.ToNotNullString()); ds.PushIntoStack(countryProcess.KillNum); ds.PushIntoStack(countryProcess.WinGameCoin); ds.PushIntoStack(countryProcess.WinObtainNum); ds.PushIntoStack(countryProcess.FailGameCoin); ds.PushIntoStack(countryProcess.FailObtainNum); //攻方阵形 ds.PushIntoStack(countryProcess.ProcessContainer.AttackList.Count); foreach (CombatEmbattle combatEmbattle in countryProcess.ProcessContainer.AttackList) { DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(combatEmbattle.GeneralID); dsItem.PushIntoStack(combatEmbattle.GeneralName.ToNotNullString()); dsItem.PushIntoStack(combatEmbattle.HeadID.ToNotNullString()); dsItem.PushIntoStack(combatEmbattle.Position.ToShort()); dsItem.PushIntoStack(combatEmbattle.LiveNum); dsItem.PushIntoStack(combatEmbattle.LiveMaxNum); dsItem.PushIntoStack(combatEmbattle.MomentumNum); dsItem.PushIntoStack(combatEmbattle.MaxMomentumNum); dsItem.PushIntoStack(combatEmbattle.AbilityID); dsItem.PushIntoStack(combatEmbattle.GeneralLv); dsItem.PushIntoStack(combatEmbattle.IsWait ? (short)1 : (short)0); ds.PushIntoStack(dsItem); } //防方阵形 ds.PushIntoStack(countryProcess.ProcessContainer.DefenseList.Count); foreach (CombatEmbattle combatEmbattle in countryProcess.ProcessContainer.DefenseList) { DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(combatEmbattle.GeneralID); dsItem.PushIntoStack(combatEmbattle.GeneralName.ToNotNullString()); dsItem.PushIntoStack(combatEmbattle.HeadID.ToNotNullString()); dsItem.PushIntoStack(combatEmbattle.Position.ToShort()); dsItem.PushIntoStack(combatEmbattle.LiveNum); dsItem.PushIntoStack(combatEmbattle.LiveMaxNum); dsItem.PushIntoStack(combatEmbattle.MomentumNum); dsItem.PushIntoStack(combatEmbattle.MaxMomentumNum); dsItem.PushIntoStack(combatEmbattle.AbilityID); dsItem.PushIntoStack(combatEmbattle.GeneralLv); dsItem.PushIntoStack(combatEmbattle.IsWait ? (short)1 : (short)0); ds.PushIntoStack(dsItem); } //战斗过程 ds.PushIntoStack(countryProcess.ProcessContainer.ProcessList.Count); foreach (CombatProcess combatProcess in countryProcess.ProcessContainer.ProcessList) { DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(combatProcess.GeneralID); dsItem.PushIntoStack(combatProcess.LiveNum); dsItem.PushIntoStack(combatProcess.Momentum); dsItem.PushIntoStack(combatProcess.AttackTaget.ToShort()); dsItem.PushIntoStack(combatProcess.AttackUnit.ToShort()); dsItem.PushIntoStack(combatProcess.AbilityProperty.ToShort()); dsItem.PushIntoStack(combatProcess.AttStatus.ToShort()); dsItem.PushIntoStack(combatProcess.DamageNum); dsItem.PushIntoStack(combatProcess.AttEffectID.ToNotNullString()); dsItem.PushIntoStack(combatProcess.TargetEffectID.ToNotNullString()); dsItem.PushIntoStack(combatProcess.IsMove.ToShort()); dsItem.PushIntoStack(combatProcess.Position.ToShort()); dsItem.PushIntoStack(combatProcess.Role.ToShort()); dsItem.PushIntoStack(combatProcess.DamageStatusList.Count); foreach (AbilityEffectStatus effectStatus in combatProcess.DamageStatusList) { DataStruct dsItem1 = new DataStruct(); dsItem1.PushIntoStack(effectStatus.AbilityType.ToShort()); dsItem1.PushIntoStack(effectStatus.DamageNum); dsItem1.PushIntoStack(effectStatus.IsIncrease ? 1 : 0); dsItem.PushIntoStack(dsItem1); } dsItem.PushIntoStack(combatProcess.TargetList.Count); foreach (TargetProcess targetProcess in combatProcess.TargetList) { DataStruct dsItem1 = new DataStruct(); dsItem1.PushIntoStack(targetProcess.GeneralID); dsItem1.PushIntoStack(targetProcess.LiveNum); dsItem1.PushIntoStack(targetProcess.Momentum); dsItem1.PushIntoStack(targetProcess.DamageNum); dsItem1.PushIntoStack(targetProcess.IsShanBi.ToShort()); dsItem1.PushIntoStack(targetProcess.IsGeDang.ToShort()); dsItem1.PushIntoStack(targetProcess.IsBack.ToShort()); dsItem1.PushIntoStack(targetProcess.IsMove.ToShort()); dsItem1.PushIntoStack(targetProcess.BackDamageNum); dsItem1.PushIntoStack(targetProcess.TargetStatus.ToShort()); dsItem1.PushIntoStack(targetProcess.Position.ToShort()); dsItem1.PushIntoStack(targetProcess.Role.ToShort()); //目标中招效果 dsItem1.PushIntoStack(targetProcess.DamageStatusList.Count); foreach (AbilityEffectStatus effectStatus in targetProcess.DamageStatusList) { DataStruct dsItem12 = new DataStruct(); dsItem12.PushIntoStack(effectStatus.AbilityType.ToShort()); dsItem12.PushIntoStack(effectStatus.IsIncrease ? 1 : 0); dsItem1.PushIntoStack(dsItem12); } dsItem1.PushIntoStack(targetProcess.IsBaoji.ToShort()); dsItem1.PushIntoStack(targetProcess.TrumpStatusList.Count); foreach (var item in targetProcess.TrumpStatusList) { DataStruct dsItem13 = new DataStruct(); dsItem13.PushIntoStack((short)item.AbilityID); dsItem13.PushIntoStack(item.Num); dsItem1.PushIntoStack(dsItem13); } dsItem.PushIntoStack(dsItem1); } dsItem.PushIntoStack(combatProcess.TrumpStatusList.Count); foreach (var item in combatProcess.TrumpStatusList) { DataStruct dsItem14 = new DataStruct(); dsItem14.PushIntoStack((short)item.AbilityID); dsItem14.PushIntoStack(item.Num); dsItem.PushIntoStack(dsItem14); } ds.PushIntoStack(dsItem); } ds.PushIntoStack(countryProcess.FaildKillNum); this.PushIntoStack(ds); //战报结束 #endregion } this.PushIntoStack((countryUser.InspirePercent * 100).ToInt()); this.PushIntoStack(countryUser.UserExpNum); this.PushIntoStack(countryUser.Status); }
public override void BuildPacket() { this.PushIntoStack(cityList.Count); foreach (CityInfo cityInfo in cityList) { DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(cityInfo.CityID); dsItem.PushIntoStack(cityInfo.CityName.ToNotNullString()); dsItem.PushIntoStack(cityInfo.PointX); dsItem.PushIntoStack(cityInfo.PointY); dsItem.PushIntoStack(cityInfo.GoPointY1); dsItem.PushIntoStack(cityInfo.GoPointY2); dsItem.PushIntoStack(cityInfo.MinLv); dsItem.PushIntoStack(cityInfo.MaxLv); dsItem.PushIntoStack(cityInfo.HeadID.ToNotNullString()); dsItem.PushIntoStack(cityInfo.BgScence.ToNotNullString()); dsItem.PushIntoStack(cityInfo.FgScence.ToNotNullString()); dsItem.PushIntoStack(IsExistElite(cityInfo.CityID)); var cityNpcList = new ConfigCacheSet <CityNpcInfo>().FindAll(m => m.CityID == cityInfo.CityID); dsItem.PushIntoStack(cityNpcList.Count); foreach (CityNpcInfo cityNpc in cityNpcList) { DataStruct dsItem1 = new DataStruct(); dsItem1.PushIntoStack(cityNpc.NpcID); dsItem1.PushIntoStack(cityNpc.NpcName.ToNotNullString()); dsItem1.PushIntoStack(cityNpc.HeadID.ToNotNullString()); dsItem1.PushIntoStack(cityNpc.HeadID2.ToNotNullString()); dsItem1.PushIntoStack(cityNpc.PointX); dsItem1.PushIntoStack(cityNpc.PointY); dsItem1.PushIntoStack(cityNpc.CommandID); dsItem1.PushIntoStack(cityNpc.NpcDesc.ToNotNullString()); dsItem.PushIntoStack(dsItem1); } this.PushIntoStack(dsItem); } }
public override void BuildPacket() { this.PushIntoStack(_generalArray.Length); foreach (var general in _generalArray) { DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(general.GeneralID); dsItem.PushIntoStack(general.GeneralName.ToNotNullString()); this.PushIntoStack(dsItem); } this.PushIntoStack(_firstName.ToNotNullString()); this.PushIntoStack(_headID.ToNotNullString()); this.PushIntoStack(_lifeNum); this.PushIntoStack((short)_careerID); this.PushIntoStack(_careerName.ToNotNullString()); this.PushIntoStack((short)_powerNum); this.PushIntoStack((short)_soulNum); this.PushIntoStack((short)_intellectNum); this.PushIntoStack(_abilityName.ToNotNullString()); this.PushIntoStack(_abilityDesc.ToNotNullString()); this.PushIntoStack((short)_isRecruit); this.PushIntoStack(_storyTaskArray.Length); foreach (var task in _storyTaskArray) { int collectNum = TrumpHelper.GetUserItemNum(ContextUser.UserID, task.TargetItemID); PlotInfo plotInfo = new ConfigCacheSet <PlotInfo>().FindKey(task.PlotID); ItemBaseInfo itemInfo = new ConfigCacheSet <ItemBaseInfo>().FindKey(task.TargetItemID); iscomplete = GeneralHelper.IsComplete(ContextUser, task); DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(task.TaskID); dsItem.PushIntoStack(task.TaskName.ToNotNullString()); dsItem.PushIntoStack(task.TaskDescp.ToNotNullString()); dsItem.PushIntoStack(plotInfo == null ? 0 : plotInfo.CityID); dsItem.PushIntoStack(task.PlotID); dsItem.PushIntoStack(task.TargetItemID); dsItem.PushIntoStack(itemInfo == null ? string.Empty : itemInfo.ItemName.ToNotNullString()); dsItem.PushIntoStack(itemInfo == null ? string.Empty : itemInfo.HeadID.ToNotNullString()); dsItem.PushIntoStack(collectNum); dsItem.PushIntoStack(task.TargetItemNum); dsItem.PushIntoStack((short)iscomplete); dsItem.PushIntoStack(task.Reward.Count); foreach (var prize in task.Reward) { DataStruct dsItem1 = new DataStruct(); dsItem1.PushIntoStack((short)prize.Type); dsItem1.PushIntoStack(GeneralHelper.PrizeItemName(prize).ToNotNullString()); dsItem1.PushIntoStack(prize.Num); dsItem.PushIntoStack(dsItem1); } this.PushIntoStack(dsItem); } }