public static void AddUniversalInfo(List <UniversalInfo> universalInfoList, ItemBaseInfo itemInfo, int num) { if (universalInfoList != null) { var universalInfo = universalInfoList.Find(s => s.HeadID == itemInfo.HeadID); if (universalInfo != null) { universalInfo.UpdateNotify(obj => { universalInfo.Num = MathUtils.Addition(universalInfo.Num, num); return(true); } ); } else { universalInfo = new UniversalInfo(); universalInfo.Name = itemInfo.ItemName; universalInfo.HeadID = itemInfo.HeadID; universalInfo.Num = num; universalInfo.ItemID = itemInfo.ItemID; universalInfo.MaxHeadID = itemInfo.MaxHeadID; universalInfo.ItemDesc = itemInfo.ItemDesc; universalInfo.QualityType = itemInfo.QualityType.ToInt(); universalInfoList.Add(universalInfo); } } }
private static string SetUserItem(UserItemInfo userItem, string userID, ItemBaseInfo itemInfo, ItemStatus itemStatus, short itemLv) { string uitemID = System.Guid.NewGuid().ToString(); userItem.UserItemID = uitemID; userItem.ItemID = itemInfo.ItemID; userItem.ItemStatus = itemStatus; userItem.GeneralID = itemStatus == ItemStatus.YongBing ? UserGeneral.MainID : 0; userItem.ItemLv = itemLv; userItem.ItemType = itemInfo.ItemType; return(uitemID); }
/// <summary> /// ˢ����ȴʱ�� /// </summary> /// <returns>����ʣ����ȴʱ��</returns> public int DoRefresh() { int coldTime = 0; var cache = new ConfigCacheSet <ItemBaseInfo>(); ItemBaseInfo itemInfo = cache.FindKey(ItemID); if (itemInfo != null && (itemInfo.PropType == 3 || itemInfo.PropType == 9)) { TimeSpan ts = DateTime.Now - ChangeTime; coldTime = MathUtils.Subtraction(itemInfo.EffectNum, (int)Math.Floor(ts.TotalSeconds), 0); coldTime = MathUtils.Addition(coldTime, 0, itemInfo.EffectNum); } return(coldTime); }
public override bool TakeAction() { itemInfo = new ConfigCacheSet<ItemBaseInfo>().FindKey(itemID); List<MonsterInfo> monsterArray = new ConfigCacheSet<MonsterInfo>().FindAll(m => m.ItemID == itemID); if (monsterArray.Count > 0) { PlotNPCInfo npcInfo = new ConfigCacheSet<PlotNPCInfo>().FindKey(monsterArray[0].MonsterID); if (npcInfo != null) { PlotInfo plotInfo = new ConfigCacheSet<PlotInfo>().FindKey(plotID); if (plotInfo != null) { plotID = plotInfo.PlotID; plotName = plotInfo.PlotName; } } } return true; }
public override bool TakeAction() { int uItemID = 0; if (itemID == 0 && userItemID != "") { var package = UserItemPackage.Get(Uid); UserItemInfo userItem = package.ItemPackage.Find(m => !m.IsRemove && m.UserItemID.Equals(userItemID)); if (userItem != null) { uItemID = userItem.ItemID; } } else { uItemID = itemID; } List<ItemSynthesisInfo> itemSynthesisArray = new ShareCacheStruct<ItemSynthesisInfo>().FindAll(u => u.SynthesisID.Equals(uItemID)); if (itemSynthesisArray.Count > 0) { itemInfo = new ShareCacheStruct<ItemBaseInfo>().FindKey(itemSynthesisArray[0].ItemID); //合成物品的信息 //synthesisArray = new ShareCacheStruct<ItemSynthesisInfo>().FindAll(u => u.ItemID.Equals(itemInfo.ItemID) && u.SynthesisID != itemID); synthesisArray = new ShareCacheStruct<ItemSynthesisInfo>().FindAll(u => u.ItemID.Equals(itemInfo.ItemID)); equAttrInfo = new ShareCacheStruct<ItemEquAttrInfo>().FindAll(u => u.ItemID.Equals(itemInfo.ItemID)); } synthesisMinLv = ConfigEnvSet.GetInt("ItemInfo.SynthesisMinLv"); return true; }
private static string SetUserItem(UserItemInfo userItem, string userID, ItemBaseInfo itemInfo, ItemStatus itemStatus, short itemLv) { string uitemID = System.Guid.NewGuid().ToString(); userItem.UserItemID = uitemID; userItem.ItemID = itemInfo.ItemID; userItem.ItemStatus = itemStatus; userItem.GeneralID = itemStatus == ItemStatus.YongBing ? UserGeneral.MainID : 0; userItem.ItemLv = itemLv; userItem.ItemType = itemInfo.ItemType; return uitemID; }
// 重载构造函数,用于强化 10 次 public UserItemHelper(UserItemInfo item, int count) { _item = item; _itemInfo = new ConfigCacheSet<ItemBaseInfo>().FindKey(_item.ItemID) ?? new ItemBaseInfo(); _strongCount = count; }
private static int _strongCount = 1; // 强化次数 public UserItemHelper(UserItemInfo item) { _item = item; _itemInfo = new ConfigCacheSet<ItemBaseInfo>().FindKey(_item.ItemID) ?? new ItemBaseInfo(); }
private static int _strongCount = 1; // 强化次数 public UserItemHelper(UserItemInfo item) { _item = item; _itemInfo = new ShareCacheStruct <ItemBaseInfo>().FindKey(_item.ItemID) ?? new ItemBaseInfo(); }
private static bool UseProps(string userID, ItemBaseInfo itemInfo) { var cacheSet = new GameDataCacheSet<UserProps>(); List<UserProps> propsArray = cacheSet.FindAll(userID, u => u.PropType == itemInfo.PropType); if (itemInfo.PropType == 9 && propsArray.Count > 0) { int refreshNum = propsArray[0].DoRefresh(); if (refreshNum > 0) { return false; } } bool isUsed = false; foreach (UserProps propse in propsArray) { if (propse.ItemID == 7003 || propse.ItemID == 5200) { continue; } if (!isUsed && propse.ItemID == itemInfo.ItemID) { isUsed = true; propse.SurplusNum += itemInfo.EffectNum; propse.ChangeTime = DateTime.Now; //propse.Update(); } else { cacheSet.Delete(propse); } } //List<UserProps> propsArray1 = new GameDataCacheSet<UserProps>().FindAll(UserProps.Index_UserID, u => u.PropType == itemInfo.PropType && u.ItemID == itemInfo.ItemID, userID); if (!isUsed) { UserProps uProps = new UserProps(userID, itemInfo.ItemID) { SurplusNum = itemInfo.EffectNum, ChangeTime = DateTime.Now }; new GameDataCacheSet<UserProps>().Add(uProps, GameEnvironment.CacheUserPeriod); } return true; }
/// <summary> /// 获取配置信息 /// </summary> /// <param name="itemInfo"></param> /// <returns></returns> public static List<PrizeInfo> GetPrizeInfo(ItemBaseInfo itemInfo) { if (itemInfo.ItemPack == null || itemInfo.ItemPack.Count <= 0) return null; return PrizeHelper.GetPrizeInfo(itemInfo.ItemPack).ToList(); }
public override bool TakeAction() { int maxEquNum = ConfigEnvSet.GetInt("UserQueue.EquStrengMaxNum"); UserItemPackage package; if (!string.IsNullOrEmpty(_toUserId)) { package = UserItemPackage.Get(_toUserId); } else { package = UserItemPackage.Get(ContextUser.UserID); } _userItem = package.ItemPackage.Find(m => !m.IsRemove && m.UserItemID.Equals(_userItemId)) ?? new UserItemInfo(); _itemInfo = new ConfigCacheSet<ItemBaseInfo>().FindKey(_userItem.ItemID); if (_itemInfo == null) { SaveDebuLog(string.Format("玩家{0}物品ID={1}[{2}]不存在!", Uid, _userItem.UserItemID, _userItem.ItemID)); ErrorCode = LanguageManager.GetLang().ErrorCode; ErrorInfo = LanguageManager.GetLang().St1107_UserItemNotEnough; return false; } if (_userItem.ItemLv > _itemInfo.DemandLv) { _demandLv = _userItem.ItemLv; } else { _demandLv = _itemInfo.DemandLv; } _strongMoney = new UserItemHelper(_userItem, 1).StrongMoney; _tenTimesStrongMoney = new UserItemHelper(_userItem, 10).StrongMoney; // 强化 10 次用钱 _itemEquArray = new ConfigCacheSet<ItemEquAttrInfo>().FindAll(m => m.ItemID == _userItem.ItemID); if (_userItem.ItemLv >= ContextUser.UserLv || _strongMoney > ContextUser.GameCoin) { _isStrong = 1; } List<UserQueue> userQueueArray = new GameDataCacheSet<UserQueue>().FindAll(ContextUser.UserID, m => m.QueueType == QueueType.EquipmentStrong); userQueueArray.QuickSort((x, y) => { if (x == null && y == null) return 0; if (x != null && y == null) return 1; if (x == null) return -1; return y.Timing.CompareTo(x.Timing); }); if (userQueueArray.Count == ContextUser.QueueNum) { DateTime minDateTime = DateTime.MinValue; foreach (UserQueue queue in userQueueArray) { if (queue.DoRefresh() > 0 && !queue.IsSuspend && minDateTime < queue.Timing && queue.StrengNum >= maxEquNum) { _coldTime = queue.DoRefresh(); } } } UserHelper.SparePartPropertyList(Uid, _userItemId); //灵件属性 return true; }
// 重载构造函数,用于强化 10 次 public UserItemHelper(UserItemInfo item, int count) { _item = item; _itemInfo = new ConfigCacheSet <ItemBaseInfo>().FindKey(_item.ItemID) ?? new ItemBaseInfo(); _strongCount = count; }
private static int _strongCount = 1; // 强化次数 public UserItemHelper(UserItemInfo item) { _item = item; _itemInfo = new ConfigCacheSet <ItemBaseInfo>().FindKey(_item.ItemID) ?? new ItemBaseInfo(); }
public override bool TakeAction() { if (!string.IsNullOrEmpty(_toUserID)) { packUser = _toUserID; } else { packUser = ContextUser.UserID; } var package = UserItemPackage.Get(packUser); _useritem = package.ItemPackage.Find(m => string.Equals(m.UserItemID, _userItemID)) ?? new UserItemInfo(); if (_useritem == null || _useritem.ItemID == 0) { ErrorCode = LanguageManager.GetLang().ErrorCode; ErrorInfo = LanguageManager.GetLang().St1107_UserItemNotEnough; return false; } _itemInfo = new ShareCacheStruct<ItemBaseInfo>().FindKey(_useritem.ItemID); if (_itemInfo == null) { ErrorInfo = LanguageManager.GetLang().St1107_UserItemNotEnough; ErrorCode = LanguageManager.GetLang().ErrorCode; return false; } if (_useritem.ItemLv > _itemInfo.DemandLv) { demandLv = _useritem.ItemLv; } else { demandLv = _itemInfo.DemandLv; } if (_itemInfo.ItemType == ItemType.ZhuangBei) { _salePrice = UserHelper.StrongEquPayPrice(packUser, _userItemID); } else { if (isShow > 0) { _salePrice = (_itemInfo.SalePrice / 4); } else { _salePrice = ((_itemInfo.SalePrice / 4) * _useritem.Num); } } _itemEquArray = new ShareCacheStruct<ItemEquAttrInfo>().FindAll(m => m.ItemID == _useritem.ItemID); List<ItemSynthesisInfo> synthsisArray = new ShareCacheStruct<ItemSynthesisInfo>().FindAll(m => m.SynthesisID == _useritem.ItemID); if (synthsisArray.Count > 0) { var synthsis = synthsisArray[0]; if (_itemInfo.ItemType == ItemType.TuZhi || _itemInfo.ItemType == ItemType.TuZhi) { _itemSynthsisArray = new ShareCacheStruct<ItemSynthesisInfo>().FindAll(m => m.ItemID == synthsis.ItemID && m.SynthesisID != _useritem.ItemID); } } if (_itemInfo.CareerRange != null && _itemInfo.CareerRange.Trim() != "0") { _careerList = _itemInfo.CareerRange.Split(','); } PropertyArray = UserHelper.SparePartPropertyList(packUser, _userItemID); //灵件属性 return true; }
public override bool TakeAction() { //int maxEquNum = ConfigEnvSet.GetInt("UserQueue.EquStrengMaxNum"); //int coldTime = ConfigEnvSet.GetInt("UserItem.EquColdTime"); //铜钱不足 var package = UserItemPackage.Get(Uid); userItem = package.ItemPackage.Find(m => !m.IsRemove && m.UserItemID.Equals(userItemID)) ?? new UserItemInfo(); if (ops == StrongOnce) { // 强化 1 次用钱 strongMoney = new UserItemHelper(userItem, 1).StrongMoney; } else if (ops == StrongTenTimes) { // 强化 10 次用钱 strongMoney = new UserItemHelper(userItem, 10).StrongMoney; } short strongMaxLv = (ContextUser.UserLv * 3).ToShort(); //MathUtils.Addition(ContextUser.UserLv, 1.ToShort()); //强化最高等级 if (ContextUser.GameCoin < strongMoney) { ErrorCode = LanguageManager.GetLang().ErrorCode; ErrorInfo = LanguageManager.GetLang().St_GameCoinNotEnough; return false; } //UserGeneral userGeneral = new GameDataCacheSet<UserGeneral>().FindKey(ContextUser.UserID, userItem.GeneralID); //if (userGeneral != null && userItem.ItemLv >= strongMaxLv) //{ // ErrorCode = LanguageManager.GetLang().ErrorCode; // ErrorInfo = LanguageManager.GetLang().St1204_EquGeneralMaxLv; // return false; //} if (userItem.ItemLv >= strongMaxLv) { ErrorCode = LanguageManager.GetLang().ErrorCode; ErrorInfo = LanguageManager.GetLang().St1204_EquMaxLv; return false; } itemInfo = new ConfigCacheSet<ItemBaseInfo>().FindKey(userItem.ItemID); if (itemInfo != null) { itemEquArray = new ConfigCacheSet<ItemEquAttrInfo>().FindAll(m => m.ItemID == itemInfo.ItemID); } if (strongMoney > ContextUser.GameCoin) { isStrong = 1; } else if (userItem.ItemLv >= strongMaxLv) { isStrong = 2; } UpdateUserItem(ContextUser, userItem, strongMoney); //日常任务-强化 TaskHelper.TriggerDailyTask(Uid, 4001); UserGeneral general = new GameDataCacheSet<UserGeneral>().FindKey(ContextUser.UserID, userItem.GeneralID); if (general != null) { general.RefreshMaxLife(); } return true; }
public override bool TakeAction() { curLevel = 1; itemInfo = new ShareCacheStruct<ItemBaseInfo>().FindKey(itemID); if (itemInfo == null) { return false; } itemEquArray = new ShareCacheStruct<ItemEquAttrInfo>().FindAll(m => m.ItemID == itemID); if (mallType == ShopType.Blackmarket) { price = itemInfo.SalePrice; } else { MallItemsInfo mallitemsInfo = new ShareCacheStruct<MallItemsInfo>().FindKey(itemID, cityID, mallType); if (mallitemsInfo != null) { ItemBaseInfo qishiItemInfo = new ShareCacheStruct<ItemBaseInfo>().FindKey(mallitemsInfo.QishiID); if (qishiItemInfo != null) { qiShiName = qishiItemInfo.ItemName; } price = mallitemsInfo.Price; } } if (itemInfo.ItemType == ItemType.TuZhi || itemInfo.ItemType == ItemType.ZhuangBei || itemInfo.ItemType == ItemType.TuZhi) { List<ItemSynthesisInfo> synthsisArray = new ShareCacheStruct<ItemSynthesisInfo>().FindAll(s => s.SynthesisID.Equals(itemID)); if (synthsisArray.Count > 0) { itemSynthsisArray = new ShareCacheStruct<ItemSynthesisInfo>().FindAll( s => s.ItemID.Equals(synthsisArray[0].ItemID) && s.SynthesisID != itemID); } } return true; }
public static void AddUniversalInfo(List<UniversalInfo> universalInfoList, ItemBaseInfo itemInfo,int num) { if (universalInfoList != null) { var universalInfo = universalInfoList.Find(s => s.HeadID == itemInfo.HeadID); if (universalInfo != null) { universalInfo.UpdateNotify(obj => { universalInfo.Num = MathUtils.Addition(universalInfo.Num, num); return true; } ); } else { universalInfo = new UniversalInfo(); universalInfo.Name = itemInfo.ItemName; universalInfo.HeadID = itemInfo.HeadID; universalInfo.Num = num; universalInfo.ItemID = itemInfo.ItemID; universalInfo.MaxHeadID = itemInfo.MaxHeadID; universalInfo.ItemDesc = itemInfo.ItemDesc; universalInfo.QualityType = itemInfo.QualityType.ToInt(); universalInfoList.Add(universalInfo); } } }
/// <summary> /// 双倍材料,月饼道具使用 /// </summary> /// <param name="userItem"></param> /// <param name="itemInfo"></param> /// <returns></returns> private bool DoCaiLiaoYueBingItem(UserItemInfo userItem, ItemBaseInfo itemInfo) { UserProps props = new GameDataCacheSet<UserProps>().FindKey(ContextUser.UserID, userItem.ItemID); if (props != null) { if (userItem.ItemID == 5200 && props.DoRefresh() > 0) { ErrorCode = LanguageManager.GetLang().ErrorCode; ErrorInfo = LanguageManager.GetLang().St1608_CombatPowerNotEnough; return false; } props.SurplusNum += itemInfo.EffectNum; props.ChangeTime = DateTime.Now; //props.Update(); } else { UserProps uProps = new UserProps(ContextUser.UserID, itemInfo.ItemID) { SurplusNum = itemInfo.EffectNum, ChangeTime = DateTime.Now }; new GameDataCacheSet<UserProps>().Add(uProps, GameEnvironment.CacheUserPeriod); } return true; }
private static int _strongCount = 1; // 强化次数 public UserItemHelper(UserItemInfo item) { _item = item; _itemInfo = new ShareCacheStruct<ItemBaseInfo>().FindKey(_item.ItemID) ?? new ItemBaseInfo(); }