public override bool TakeAction() { GameUser gameUser = new GameDataCacheSet<GameUser>().FindKey(memberID); var guildCacheSet = new ShareCacheStruct<GuildMember>(); GuildMember member = guildCacheSet.FindKey(guildID, memberID); if (member != null) { if (string.IsNullOrEmpty(gameUser.MercenariesID)) { return false; } guildCacheSet.Delete(member); //gameUser.UserLocation = Location.City; gameUser.MercenariesID = string.Empty; //gameUser.Update(); CombatHelper.RemoveGuildAbility(gameUser); } int totalDate = (ConfigEnvSet.GetInt("UserQueue.GuildMemberDel") * 60 * 60); List<UserQueue> queueArray = new GameDataCacheSet<UserQueue>().FindAll(memberID, m => m.QueueType == QueueType.TuiChuGongHui); if (queueArray.Count > 0) { //new UserQueue().ReLoadUser(memberID); queueArray = new GameDataCacheSet<UserQueue>().FindAll(memberID, m => m.QueueType == QueueType.TuiChuGongHui); } if (queueArray.Count > 0) { UserQueue queue = queueArray[0]; queue.Timing = DateTime.Now; queue.TotalColdTime = totalDate; queue.ColdTime = totalDate; //queue.Update(); } else { UserQueue userQueue = new UserQueue() { QueueID = Guid.NewGuid().ToString(), QueueName = QueueType.TuiChuGongHui.ToString(), QueueType = QueueType.TuiChuGongHui, TotalColdTime = totalDate, ColdTime = totalDate, Timing = DateTime.Now, IsSuspend = false, UserID = ContextUser.UserID }; new GameDataCacheSet<UserQueue>().Add(userQueue); } return true; }
private int GetGoldNum(out UserQueue userQueue) { userQueue = null; List<UserQueue> userQueueList = new PersonalCacheStruct<UserQueue>().FindAll(ContextUser.UserID, m => m.QueueType== QueueType.SaoDang); int coldTime = 0; if (userQueueList.Count > 0) { //加速正在扫荡的队列 userQueue = userQueueList[0]; coldTime = userQueue.DoRefresh(); } else { //晶石扫荡 int userEnergyNum; coldTime = GetSweepColdTime(out userEnergyNum); } return (int)Math.Ceiling((double)coldTime / PlotInfo.BattleGold); }
public override bool TakeAction() { short currMaxLv = ConfigEnvSet.GetInt("User.CurrMaxLv").ToShort(); //NoviceHelper.CheckFestival(ContextUser); NoviceHelper.GetFunctionEnum(Uid); //默认开启金币,精力大作战功能 if (!string.IsNullOrEmpty(ContextUser.MercenariesID)) { UserHelper.ChecheDailyContribution(ContextUser.MercenariesID, ContextUser.UserID); } PaymentService.Trigger(ContextUser); if (ContextUser.UserLv > currMaxLv) { genlv = currMaxLv; } else { genlv = ContextUser.UserLv; } var cacheSetGeneralEscalate = new ConfigCacheSet<GeneralEscalateInfo>(); GeneralEscalateHelper.AddUserLv(ContextUser, 0); _honourNum = ContextUser.HonourNum; int lv = ContextUser.UserLv; lv = lv < 0 ? 1 : lv + 1; var generalEscalate = cacheSetGeneralEscalate.Find(s => s.GeneralType == GeneralType.YongHu && s.GeneralLv == lv); if (generalEscalate != null) { _nextHonourNum = generalEscalate.UpExperience; } guildID = ContextUser.MercenariesID; var userGeneralList = new GameDataCacheSet<UserGeneral>().FindAll(ContextUser.UserID); if (userGeneralList.Count == 0) { ErrorCode = LanguageManager.GetLang().ErrorCode; return false; } userGeneralInfo = userGeneralList[0]; //UserGeneral.GetMainGeneral(ContextUser.UserID); if (userGeneralInfo != null) { //wuzf 去掉刷新血量,其它改变血量接口有触发刷新 //userGeneralInfo.RefreshMaxLife(); generalID = userGeneralInfo.GeneralID; //careerInfo = new ConfigCacheSet<CareerInfo>().FindKey(userGeneralInfo.CareerID); headID = userGeneralInfo.HeadID; //ContextUser.Sex ? careerInfo.HeadID2 : careerInfo.HeadID; escalateInfo = new ConfigCacheSet<GeneralEscalateInfo>().FindKey(genlv); lifeNum = userGeneralInfo.LifeNum; careerID = userGeneralInfo.CareerID; } lifeMaxNum = UserHelper.GetMaxLife(ContextUser.UserID, generalID); maxEnergyNum = (short)ConfigEnvSet.GetInt("User.MaxEnergyNum"); sex = ContextUser.Sex ? 1 : 0; //道具图标 _blessingList = UserHelper.BlessingInfoList(ContextUser); //变身卡图标 List<UserProps> userPropsList = new GameDataCacheSet<UserProps>().FindAll(ContextUser.UserID, u => u.PropType == 3 && u.ItemID != 5200 && u.ItemID != 7003); if (userPropsList.Count > 0) { UserProps props = userPropsList[0]; int pTime = props.DoRefresh(); ItemBaseInfo itemInfo = new ConfigCacheSet<ItemBaseInfo>().FindKey(props.ItemID); if (itemInfo != null && pTime > pictureTime) { pictureID = itemInfo.PictrueID; pictureTime = pTime; } } //兼容客户端上已版本血量图标 List<UserProps> userPropsList2 = new GameDataCacheSet<UserProps>().FindAll(ContextUser.UserID, u => u.PropType == 1); if (userPropsList2.Count > 0) { UserProps props = userPropsList2[0]; int pTime = props.DoRefresh(); ItemBaseInfo itemInfo = new ConfigCacheSet<ItemBaseInfo>().FindKey(props.ItemID); if (itemInfo != null && pTime > pictureTime) { _itemLiveNum = props.SurplusNum; _itemLiveMaxNum = itemInfo.EffectNum; } } //加量,领土战不能加血wuzf) if (ContextUser.UserStatus != UserStatus.CountryCombat) { UserHelper.GetGeneralLife(ContextUser.UserID); } //精力恢复 List<UserQueue> energyQueueArray = new GameDataCacheSet<UserQueue>().FindAll(ContextUser.UserID, m => m.QueueType == QueueType.EnergyHuiFu); if (energyQueueArray.Count > 0) { UserQueue energyQueue = energyQueueArray[0]; short energyMaxNum = (short)ConfigEnvSet.GetInt("User.MaxEnergyNum"); int restorationDate = ConfigEnvSet.GetInt("UserQueue.EnergyRestorationDate"); //半小时 int restorationNum = ConfigEnvSet.GetInt("UserQueue.EnergyRestorationNum"); //恢复5点 if (energyQueue.Timing > DateTime.Now) { energyQueue.Timing = DateTime.Now; } //原因:玩家满精力时,精力恢复累加 int timeCount = (int)(DateTime.Now - energyQueue.Timing).TotalSeconds / restorationDate; if (timeCount > 0) { short energyNum = (short)(timeCount * restorationNum); if (ContextUser.EnergyNum < energyMaxNum) { ContextUser.EnergyNum = MathUtils.Addition(ContextUser.EnergyNum, energyNum, energyMaxNum); } energyQueue.Timing = DateTime.Now; } else { if (energyMaxNum > ContextUser.EnergyNum) { rstore = (int)(energyQueue.Timing.AddSeconds(restorationDate) - DateTime.Now).TotalSeconds; totalRstore = (energyQueue.Timing.AddSeconds((energyMaxNum - ContextUser.EnergyNum) * restorationDate) - DateTime.Now).TotalSeconds.ToInt(); } } } else { UserQueue queue = new UserQueue() { QueueID = Guid.NewGuid().ToString(), UserID = ContextUser.UserID, QueueType = QueueType.EnergyHuiFu, QueueName = QueueType.EnergyHuiFu.ToString(), Timing = DateTime.Now, ColdTime = 0, TotalColdTime = 0, IsSuspend = false, StrengNum = 0 }; new GameDataCacheSet<UserQueue>().Add(queue); } VipLvInfo lvInfo = new ConfigCacheSet<VipLvInfo>().FindKey(MathUtils.Addition(ContextUser.VipLv, 1, int.MaxValue)); if (lvInfo != null) { demandGold = MathUtils.Subtraction(lvInfo.PayGold, ContextUser.PayGold, 0); demandGold = MathUtils.Subtraction(demandGold, ContextUser.ExtGold, 0); } UserHelper.GetGameUserCombat(ContextUser.UserID); if ((int)(DateTime.Now - ContextUser.DailyLoginTime).TotalSeconds <= 5 && ContextUser.UserLv > 10) { isHelper = 1; } FestivalHelper.DoFestival(ContextUser); if (ContextUser.UserExtend != null) { if ((plotstatucID > 0 || ContextUser.TempEnergyNum == 0) && !ContextUser.UserExtend.IsBoss) { ContextUser.TempEnergyNum = 1; } if ((plotstatucID == 0 && ContextUser.TempEnergyNum == 0) || ContextUser.UserExtend.IsBoss) { ContextUser.UserExtend.UpdateNotify(obj => { ContextUser.UserExtend.PlotStatusID = 0; ContextUser.UserExtend.PlotNpcID = -1; ContextUser.UserExtend.MercenarySeq = 0; ContextUser.UserExtend.IsBoss = false; return true; }); } plotstatucID = ContextUser.UserExtend.PlotStatusID; mercenarySeq = ContextUser.UserExtend.MercenarySeq; cardUserID = ContextUser.UserExtend.CardUserID; } //公会晨练结束,退出公会晨练 int activeID = 11; GameActive active = new ShareCacheStruct<GameActive>().FindKey(activeID); if (active != null) { DateTime stratTime = active.BeginTime; DateTime endTime = active.BeginTime.AddMinutes(active.Minutes); if (ContextUser.UserLocation == Location.GuildExercise && (DateTime.Now < stratTime || DateTime.Now > endTime)) { ContextUser.UserLocation = Location.Guid; } } DateTime nextDate; FightStage stage = GuildFightCombat.GetStage(out nextDate); //公会战结束后 if (stage == FightStage.Apply && ContextUser.UserStatus == UserStatus.FightCombat) { ContextUser.UserStatus = UserStatus.Normal; } battleNum = EmbattleHelper.CurrEmbattle(ContextUser.UserID, true).Count; totalBattle = EmbattleHelper.CurrEmbattle(ContextUser.UserID, false).Count; var userEmbattleList = EmbattleHelper.CurrEmbattle(ContextUser.UserID, true); foreach (var userEmbattle in userEmbattleList) { _talPriority = MathUtils.Addition(_talPriority, PriorityHelper.GeneralTotalPriority(ContextUser.UserID, userEmbattle.GeneralID)); } functionList = new GameDataCacheSet<UserFunction>().FindAll(ContextUser.UserID); // 精灵祝福 if (ContextUser != null) { if (MathUtils.SqlMinDate == ContextUser.WizardDate) // 玩家第一次进入 { ContextUser.WizardDate = DateTime.Now; ContextUser.WizardNum = 1; } else { double diffHours = (DateTime.Now - ContextUser.WizardDate).TotalHours; if (diffHours >= 1) { ContextUser.WizardNum = MathUtils.Addition(ContextUser.WizardNum, Convert.ToInt32(diffHours), 3); ContextUser.WizardDate = DateTime.Now; } } } // 未读信件的数量 TjxMailService tjxMailService = new TjxMailService(ContextUser); tjxMailService.GetMail(out unReadCount); return true; }
public override bool TakeAction() { int totalDate = (ConfigEnvSet.GetInt("UserQueue.GuildMemberDel") * 60 * 60); var memberSet = new ShareCacheStruct<GuildMember>(); List<GuildMember> memberArray = memberSet.FindAll(m => m.GuildID == guildID); GuildMember userMember = memberSet.FindKey(guildID, ContextUser.UserID); if (userMember != null && userMember.PostType == PostType.Chairman && memberArray.Count > 1) { ErrorCode = LanguageManager.GetLang().ErrorCode; ErrorInfo = LanguageManager.GetLang().St6010_Chairman; return false; } if (userMember != null) { if (!string.IsNullOrEmpty(ContextUser.MercenariesID)) { memberSet.Delete(userMember); ContextUser.MercenariesID = string.Empty; //ContextUser.Update(); CombatHelper.RemoveGuildAbility(ContextUser); } var guildSet = new ShareCacheStruct<UserGuild>(); UserGuild guildInfo = guildSet.FindKey(guildID); if (guildInfo != null && userMember.PostType == PostType.Chairman && memberArray.Count <= 1) { guildSet.Delete(guildInfo); } List<UserQueue> queueArray = new PersonalCacheStruct<UserQueue>().FindAll(ContextUser.UserID, m => m.QueueType == QueueType.TuiChuGongHui); if (queueArray.Count > 0) { UserQueue queue = queueArray[0]; queue.Timing = DateTime.Now; queue.TotalColdTime = totalDate; queue.ColdTime = totalDate; //queue.Update(); } else { UserQueue userQueue = new UserQueue() { QueueID = Guid.NewGuid().ToString(), QueueName = QueueType.TuiChuGongHui.ToString(), QueueType = QueueType.TuiChuGongHui, TotalColdTime = totalDate, ColdTime = totalDate, Timing = DateTime.Now, IsSuspend = false, UserID = ContextUser.UserID }; new PersonalCacheStruct<UserQueue>().Add(userQueue); } } return true; }
/// <summary> /// 开启金币种植圣水恢复队列 /// </summary> /// <param name="userID"></param> public static void GoinUserQueue(string userID) { List<UserQueue> ququeArray = new GameDataCacheSet<UserQueue>().FindAll(userID, m => m.QueueType == QueueType.ShengShuiHuiFu); if (ququeArray.Count == 0) { UserQueue queue = new UserQueue { QueueID = Guid.NewGuid().ToString(), QueueName = QueueType.ShengShuiHuiFu.ToString(), QueueType = QueueType.ShengShuiHuiFu, UserID = userID, Timing = DateTime.Now, ColdTime = 0, TotalColdTime = 0, IsSuspend = false, StrengNum = 0 }; new GameDataCacheSet<UserQueue>().Add(queue); } }
/// <summary> /// 佣兵招募冷却时间 /// </summary> /// <param name="userID"></param> /// <param name="recruitRule"></param> /// <returns></returns> public static void UpdateRecruitColdTime(string userID, RecruitRule recruitRule) { QueueType queueType = QueueType.ShiLiTiaoYi; if (recruitRule.RecruitType == RecruitType.ShiLiTiaoYi.ToInt()) { queueType = QueueType.ShiLiTiaoYi; } else if (recruitRule.RecruitType == RecruitType.BaiLiTiaoYi.ToInt()) { queueType = QueueType.BaiLiTiaoYi; } else if (recruitRule.RecruitType == RecruitType.Golden.ToInt()) { queueType = QueueType.Golden; } var cacheSet = new PersonalCacheStruct<UserQueue>(); UserQueue userQueue = cacheSet.Find(userID, s => s.QueueType == queueType); if (userQueue == null) { userQueue = new UserQueue(); userQueue.QueueID = Guid.NewGuid().ToString(); userQueue.UserID = userID; userQueue.QueueType = queueType; cacheSet.Add(userQueue, userID.ToInt()); } userQueue.QueueName = queueType.ToString(); userQueue.Timing = DateTime.Now; userQueue.TotalColdTime = recruitRule.CodeTime; userQueue.ColdTime = recruitRule.CodeTime; userQueue.StrengNum = 1; userQueue.IsSuspend = false; }
public override bool TakeAction() { List<UserQueue> queueList = new GameDataCacheSet<UserQueue>().FindAll(ContextUser.UserID, m => m.QueueType == QueueType.SaoDang); if (queueList.Count > 0) { this.ErrorCode = LanguageManager.GetLang().ErrorCode; this.ErrorInfo = LanguageManager.GetLang().St4007_Saodanging; return false; } var itemList = UserItemHelper.GetItems(Uid).FindAll(m => m.ItemStatus == ItemStatus.BeiBao); if (itemList.Count >= ContextUser.GridNum) { this.ErrorCode = LanguageManager.GetLang().ErrorCode; this.ErrorInfo = LanguageManager.GetLang().St4007_BeiBaoTimeOut; return false; } List<PlotNPCInfo> npcList = new ConfigCacheSet<PlotNPCInfo>().FindAll(m => m.PlotID == plotID); //战斗次数 int plotNpcNum = npcList.Count; int energyNum = 0; int battleNum; if (ops == 1) { //用尽精力,玩家可扫荡轮数 energyNum = ContextUser.EnergyNum > 200 ? 200 : ContextUser.EnergyNum.ToInt(); int userTurnsNum = (int)Math.Floor((double)energyNum / PlotInfo.BattleEnergyNum); battleNum = userTurnsNum * plotNpcNum; coldTime = battleNum * PlotInfo.BattleSpeedNum; } else if (ops == 2) { //30分钟 coldTime = Time_30; battleNum = PlotHelper.GetBattleNum(Time_30); energyNum = PlotHelper.GetTurnsNum(plotNpcNum, battleNum) * PlotInfo.BattleEnergyNum; } else if (ops == 3) { //60分钟 coldTime = Time_60; battleNum = PlotHelper.GetBattleNum(Time_60); energyNum = PlotHelper.GetTurnsNum(plotNpcNum, battleNum) * PlotInfo.BattleEnergyNum; } else { this.ErrorCode = LanguageManager.GetLang().ErrorCode; return false; } if (ContextUser.EnergyNum == 0 || ContextUser.EnergyNum < energyNum) { this.ErrorCode = LanguageManager.GetLang().ErrorCode; this.ErrorInfo = LanguageManager.GetLang().St_EnergyNotEnough; return false; } //清除扫荡池 var sweepCacheSet = new GameDataCacheSet<UserSweepPool>(); List<UserSweepPool> sweepPoolList = sweepCacheSet.FindAll(ContextUser.UserID); foreach (UserSweepPool sweepPool in sweepPoolList) { if (sweepPool != null) { sweepCacheSet.Delete(sweepPool); } } if (coldTime > 0) { //在开始战斗时扣一次玩家精力,无战斗离开返还 ContextUser.ResetSweepPool(plotID); //开始扫荡暂不扣精力 //ContextUser.RemoveEnergyNum(PlotInfo.BattleEnergyNum); ContextUser.UserStatus = UserStatus.SaoDang; //ContextUser.Update(); //放入队列中 UserQueue userQueue = new UserQueue() { QueueID = Guid.NewGuid().ToString(), UserID = ContextUser.UserID, QueueType = QueueType.SaoDang, QueueName = QueueType.SaoDang.ToString(), TotalColdTime = coldTime, Timing = DateTime.Now, ColdTime = coldTime, IsSuspend = false }; new GameDataCacheSet<UserQueue>().Add(userQueue); } return true; }
public override bool TakeAction() { var cacheSet = new GameDataCacheSet<UserPlant>(); UserPlant plant = cacheSet.FindKey(ContextUser.UserID); var landCacheSet = new GameDataCacheSet<UserLand>(); List<UserLand> landArray = landCacheSet.FindAll(ContextUser.UserID); if (plant == null) { UserPlant uPlant = new UserPlant() { UserID = ContextUser.UserID, LandNum = 1, DewNum = ConfigEnvSet.GetInt("UserQueue.ShengShuiMaxNum"), PayDewTime = 0, }; cacheSet.Add(uPlant); } if (landArray.Count == 0) { UserLand userLand = new UserLand() { UserID = ContextUser.UserID, PlantType = PlantType.Experience, LandPositon = 1, IsRedLand = 2, IsBlackLand = 2, IsGain = 2 }; landCacheSet.Add(userLand); } if (new GameDataCacheSet<UserFunction>().FindKey(ContextUser.UserID, FunctionEnum.Zhongzhijingqianshu) == null) { isShow = 2; } else { isShow = 1; } userPlant = new GameDataCacheSet<UserPlant>().FindKey(ContextUser.UserID); userLandArray = new GameDataCacheSet<UserLand>().FindAll(ContextUser.UserID); //圣水恢复 var queueCacheSet = new GameDataCacheSet<UserQueue>(); List<UserQueue> ShengShuiQueueArray = queueCacheSet.FindAll(ContextUser.UserID, m => m.QueueType == QueueType.ShengShuiHuiFu); if (ShengShuiQueueArray.Count > 0) { UserQueue shengShuiQueue = ShengShuiQueueArray[0]; if (userPlant != null) { int shengshuiMaxNum = ConfigEnvSet.GetInt("UserQueue.ShengShuiMaxNum"); int restorationDate = ConfigEnvSet.GetInt("UserQueue.ShengShuiRestorationDate"); //三小时 int restorationNum = ConfigEnvSet.GetInt("UserQueue.ShengShuiRestorationNum"); //恢复1点 int timeCount = (int)(DateTime.Now - shengShuiQueue.Timing).TotalSeconds / restorationDate; if (userPlant.DewNum < shengshuiMaxNum && timeCount > 0) { userPlant.DewNum = MathUtils.Addition(userPlant.DewNum, (timeCount * restorationNum), shengshuiMaxNum); //userPlant.Update(); shengShuiQueue.Timing = DateTime.Now; //shengShuiQueue.Update(); } } } else { UserQueue queue = new UserQueue() { QueueID = Guid.NewGuid().ToString(), UserID = ContextUser.UserID, QueueType = QueueType.ShengShuiHuiFu, QueueName = QueueType.ShengShuiHuiFu.ToString(), Timing = DateTime.Now, ColdTime = 0, TotalColdTime = 0, IsSuspend = false, StrengNum = 0 }; queueCacheSet.Add(queue); } return true; }
public override bool TakeAction() { short currMaxLv = ConfigEnvSet.GetInt("User.CurrMaxLv").ToShort(); //玩家最大等级 if (ContextUser.UserStatus == UserStatus.SaoDang) { ErrorCode = LanguageManager.GetLang().ErrorCode; ErrorInfo = LanguageManager.GetLang().St4007_Saodanging; return false; } if (ops == 0 && ContextUser.UserStatus == UserStatus.XiuLian) { return false; } int totalTime = 0; int genlv = 0; if (ContextUser.UserLv > currMaxLv) { genlv = currMaxLv.ToInt(); } else { genlv = ContextUser.UserLv; } GeneralPracticeInfo generalpractice = new ConfigCacheSet<GeneralPracticeInfo>().FindKey(genlv); if (generalpractice == null || generalpractice.IntervalTime == 0) { return false; } if (VipHelper.GetVipOpenFun(ContextUser.VipLv, ExpandType.XiuLianYanChangErShiSiXiaoShi)) { totalTime = ConfigEnvSet.GetInt("User.XiuLianDate"); } else { totalTime = (generalpractice.MaxHour * 60 * 60); } List<UserQueue> userQueueArray = new GameDataCacheSet<UserQueue>().FindAll(ContextUser.UserID, m => m.QueueType == QueueType.XiuLian); if (ops == 0) { this.ErrorCode = 0; UserQueue userQueue = null; if (userQueueArray.Count > 0) { userQueue = userQueueArray[0]; } if (ContextUser.UserStatus != UserStatus.XiuLian) { ContextUser.UserStatus = UserStatus.XiuLian; //ContextUser.Update(); if (userQueue == null) { userQueue = new UserQueue() { UserID = ContextUser.UserID, QueueID = Guid.NewGuid().ToString(), QueueType = QueueType.XiuLian, QueueName = QueueType.XiuLian.ToString(), TotalColdTime = totalTime, Timing = DateTime.Now, ColdTime = totalTime, IsSuspend = false, StrengNum = 0 }; new GameDataCacheSet<UserQueue>().Add(userQueue); } else { userQueue.TotalColdTime = totalTime; userQueue.ColdTime = totalTime; userQueue.Timing = DateTime.Now; userQueue.StrengNum = 0; userQueue.DoStart(); } } } else if (ops == 1) { ErrorCode = 1; if (ContextUser.UserStatus != UserStatus.Normal && ContextUser.UserStatus != UserStatus.FightCombat) { ContextUser.UserStatus = UserStatus.Normal; //ContextUser.Update(); if (userQueueArray.Count > 0) { UserQueue userQueue = userQueueArray[0]; userQueue.IsSuspend = true; //userQueue.Update(); } List<UserMagic> userMagicArray = new GameDataCacheSet<UserMagic>().FindAll(ContextUser.UserID, u => u.IsEnabled && u.MagicType == MagicType.MoFaZhen); if (userMagicArray.Count > 0) { List<UserEmbattle> userEmbattleArray = new GameDataCacheSet<UserEmbattle>().FindAll(ContextUser.UserID, m => m.MagicID == userMagicArray[0].MagicID); int practiceTime = 0; //修炼时间 if (userQueueArray.Count > 0) { UserQueue queueInfo = userQueueArray[0]; TimeSpan ts = DateTime.Now - queueInfo.Timing; practiceTime = (int)ts.TotalSeconds; if (practiceTime <= totalTime && queueInfo.Timing <= DateTime.Now) { experience = ((practiceTime / generalpractice.IntervalTime) * generalpractice.Exprience); } foreach (UserEmbattle embattle in userEmbattleArray) { UserGeneral general = new GameDataCacheSet<UserGeneral>().FindKey(ContextUser.UserID, embattle.GeneralID); if (general != null) { general.Experience1 = MathUtils.Addition(general.Experience1, experience, int.MaxValue); if (general.GeneralLv >= UserHelper._currMaxLv) { continue; } if (general.GeneralID == LanguageManager.GetLang().GameUserGeneralID) { general.CurrExperience = MathUtils.Addition(general.CurrExperience, MathUtils.Subtraction(experience, queueInfo.StrengNum, 0), int.MaxValue); } else { general.CurrExperience = MathUtils.Addition(general.CurrExperience, experience, int.MaxValue); } //general.Update(); } } } } } } return true; }