/// <summary> /// 是否满足培养条件 /// </summary> /// <param name="user"></param> /// <param name="culTure"></param> /// <returns></returns> public static bool IsMeet(GameUser user, EnchantCulTure culTure) { if ((culTure.CultureType == EnchantCultureType.Ordinary && user.UserExtend != null && user.UserExtend.MoJingNum >= culTure.MoJingNum) || (user.GoldNum >= culTure.GoldNum && culTure.CultureType != EnchantCultureType.Ordinary)) { return(true); } return(false); }
/// <summary> /// 附魔符培养列表 /// </summary> /// <returns></returns> public static List <EnchantCulTure> EnchantCultureList() { List <EnchantCulTure> enchantList = new List <EnchantCulTure>(); string[] cultureArray = ConfigEnvSet.GetString("Enchant.EnchantCulture").Split(','); foreach (var str in cultureArray) { EnchantCulTure enchantCulTure = new EnchantCulTure(); string[] strCulture = str.Split('='); if (strCulture.Length > 4) { enchantCulTure.CultureType = strCulture[0].ToEnum <EnchantCultureType>(); enchantCulTure.GoldNum = strCulture[1].ToInt(); enchantCulTure.MoJingNum = strCulture[2].ToInt(); enchantCulTure.UpMature = strCulture[3].ToShort(); enchantCulTure.SuccessNum = strCulture[4].ToDecimal(); enchantList.Add(enchantCulTure); } } return(enchantList); }
public override bool TakeAction() { var package = UserEnchant.Get(ContextUser.UserID); if (package != null) { var userEnchant = package.EnchantPackage.Find(m => m.UserEnchantID == userEnchantID); if (userEnchant != null) { if (userEnchant.MaxMature >= GameConfigSet.MaxEnchantMature) { ErrorCode = LanguageManager.GetLang().ErrorCode; ErrorInfo = LanguageManager.GetLang().St1258_OutMaxEnchantMature; return(false); } List <EnchantCulTure> culTuresList = EnchantHelper.EnchantCultureList(); EnchantCulTure enchantCulTure = culTuresList.Find(m => m.CultureType == cultureType); if (enchantCulTure != null) { if (cultureType == EnchantCultureType.Ordinary) { if (ContextUser.UserExtend == null || ContextUser.UserExtend.MoJingNum < enchantCulTure.MoJingNum) { ErrorCode = LanguageManager.GetLang().ErrorCode; ErrorInfo = LanguageManager.GetLang().St1258_MagicCrystalNotEnough; return(false); } } else { if (ContextUser.GoldNum < enchantCulTure.GoldNum) { ErrorCode = LanguageManager.GetLang().ErrorCode; ErrorInfo = LanguageManager.GetLang().St_GoldNotEnough; return(false); } } string content = string.Empty; if (RandomUtils.IsHit(enchantCulTure.SuccessNum)) { if (cultureType == EnchantCultureType.Ordinary) { ContextUser.UserExtend.MoJingNum = MathUtils.Subtraction(ContextUser.UserExtend.MoJingNum, enchantCulTure.MoJingNum); content = string.Format(LanguageManager.GetLang().St1258_ConsumeMagicCrystalUpEnhance, enchantCulTure.MoJingNum, enchantCulTure.UpMature); } else { ContextUser.UseGold = MathUtils.Addition(ContextUser.UseGold, enchantCulTure.GoldNum); content = string.Format(LanguageManager.GetLang().St1258_ConsumeGoldNumUpEnhance, enchantCulTure.GoldNum, enchantCulTure.UpMature); } short maxMatureNum = MathUtils.Addition(userEnchant.MaxMature, enchantCulTure.UpMature, (short)GameConfigSet.MaxEnchantMature); userEnchant.UpdateNotify(obj => { userEnchant.MaxMature = maxMatureNum; return(true); }); UserLogHelper.AppenEnchantLog(ContextUser.UserID, 3, userEnchant, new CacheList <SynthesisInfo>()); } else { if (cultureType == EnchantCultureType.Ordinary) { ContextUser.UserExtend.MoJingNum = MathUtils.Subtraction(ContextUser.UserExtend.MoJingNum, enchantCulTure.MoJingNum); content = string.Format(LanguageManager.GetLang().St1258_EnhanceCultureFailedMagicCrystal, enchantCulTure.MoJingNum); } else { ContextUser.UseGold = MathUtils.Addition(ContextUser.UseGold, enchantCulTure.GoldNum); content = string.Format(LanguageManager.GetLang().St1258_EnhanceCultureFailedGold, enchantCulTure.GoldNum); } } ErrorCode = 0; ErrorInfo = content; } } } return(true); }