Пример #1
0
        /// <summary>
        /// 法宝加经验,升级
        /// </summary>
        /// <param name="userID"></param>
        /// <param name="experience"></param>
        public static void CheckTrumpEscalate(string userID, int experience)
        {
            UserTrump userTrump = new GameDataCacheSet<UserTrump>().FindKey(userID, TrumpInfo.CurrTrumpID);
            if (userTrump != null)
            {
                userTrump.Experience = MathUtils.Addition(userTrump.Experience, experience);
                while (userTrump.TrumpLv < GameConfigSet.MaxTrumpLv)
                {
                    short upLv = MathUtils.Addition(userTrump.TrumpLv, (short)1, GameConfigSet.MaxTrumpLv.ToShort());
                    TrumpInfo trumpInfo = new ConfigCacheSet<TrumpInfo>().FindKey(TrumpInfo.CurrTrumpID, upLv);
                    if (trumpInfo != null && userTrump.Experience >= trumpInfo.Experience)
                    {
                        userTrump.TrumpLv = MathUtils.Addition(userTrump.TrumpLv, (short)1, GameConfigSet.MaxTrumpLv.ToShort());
                        userTrump.Experience = MathUtils.Subtraction(userTrump.Experience, trumpInfo.Experience);
                        if (trumpInfo.SkillID > 0)
                        {
                            SkillInfo skillInfo = new SkillInfo();
                            skillInfo.AbilityID = trumpInfo.SkillID.ToInt();
                            skillInfo.AbilityLv = 1;
                            userTrump.SkillInfo.Add(skillInfo);
                        }
                    }
                    else
                    {
                        break;
                    }

                }
                if (userTrump.TrumpLv >= GameConfigSet.MaxTrumpLv)
                {
                    userTrump.Experience = 0;
                }
            }
        }
Пример #2
0
 /// <summary>
 /// 修复玩家法宝技能
 /// </summary>
 /// <param name="userID"></param>
 public static void RepairMagicSkills(string userID)
 {
     UserTrump userTrump = new GameDataCacheSet<UserTrump>().FindKey(userID, TrumpInfo.CurrTrumpID);
     if (userTrump != null)
     {
         Dictionary<int, short> skillList = GetSkillList();
         while (userTrump.SkillInfo.Count > skillList.Count)
         {
             userTrump.SkillInfo.Remove(userTrump.SkillInfo[skillList.Count]);
         }
         int i = 0;
         foreach (KeyValuePair<int, short> pair in skillList)
         {
             if (userTrump.TrumpLv >= pair.Value && userTrump.SkillInfo.Count <= i)
             {
                 SkillInfo skillInfo = new SkillInfo();
                 skillInfo.AbilityID = pair.Key;
                 skillInfo.AbilityLv = 1;
                 userTrump.SkillInfo.Add(skillInfo);
             }
             i++;
         }
     }
 }
Пример #3
0
 protected override object this[string index]
 {
     get
     {
         #region
         switch (index)
         {
             case "GeneralID": return GeneralID;
             case "HeadID": return HeadID;
             case "PicturesID": return PicturesID;
             case "GeneralName": return GeneralName;
             case "GeneralLv": return GeneralLv;
             case "LifeNum": return LifeNum;
             case "CareerID": return CareerID;
             case "PowerNum": return PowerNum;
             case "SoulNum": return SoulNum;
             case "IntellectNum": return IntellectNum;
             case "HitProbability": return HitProbability;
             case "AbilityID": return AbilityID;
             case "IsRecruit": return IsRecruit;
             case "ShowFilter": return ShowFilter;
             case "RecruitFilter": return RecruitFilter;
             case "GiftType": return GiftType;
             case "Description": return Description;
             case "ReplaceSkills": return ReplaceSkills;
             case "GeneralType": return GeneralType;
             case "SoulID": return SoulID;
             case "DemandNum": return DemandNum;
             case "Mature": return Mature;
             case "GeneralQuality": return GeneralQuality;
             case "ItemID": return ItemID;
             case "BattleHeadID": return BattleHeadID;
             case "IsConscribe": return IsConscribe;
             default: throw new ArgumentException(string.Format("GeneralInfo index[{0}] isn't exist.", index));
         }
         #endregion
     }
     set
     {
         #region
         switch (index)
         {
             case "GeneralID":
                 _GeneralID = value.ToInt();
                 break;
             case "HeadID":
                 _HeadID = value.ToNotNullString();
                 break;
             case "PicturesID":
                 _PicturesID = value.ToNotNullString();
                 break;
             case "GeneralName":
                 _GeneralName = value.ToNotNullString();
                 break;
             case "GeneralLv":
                 _GeneralLv = value.ToShort();
                 break;
             case "LifeNum":
                 _LifeNum = value.ToInt();
                 break;
             case "CareerID":
                 _CareerID = value.ToShort();
                 break;
             case "PowerNum":
                 _PowerNum = value.ToShort();
                 break;
             case "SoulNum":
                 _SoulNum = value.ToShort();
                 break;
             case "IntellectNum":
                 _IntellectNum = value.ToShort();
                 break;
             case "HitProbability":
                 _HitProbability = value.ToDecimal();
                 break;
             case "AbilityID":
                 _AbilityID = value.ToInt();
                 break;
             case "IsRecruit":
                 _IsRecruit = value.ToBool();
                 break;
             case "ShowFilter":
                 _ShowFilter = ConvertCustomField<CacheList<ShowFilterInfo>>(value, index);
                 break;
             case "RecruitFilter":
                 _RecruitFilter = ConvertCustomField<CacheList<RecruitFilter>>(value, index);
                 break;
             case "Description":
                 _Description = value.ToNotNullString();
                 break;
             case "GiftType":
                 _GiftType = value.ToEnum<GiftType>();
                 break;
             case "ReplaceSkills":
                 _ReplaceSkills = ConvertCustomField<SkillInfo>(value, index);
                 break;
             case "GeneralType":
                 _GeneralType = value.ToEnum<GeneralType>();
                 break;
             case "SoulID":
                 _SoulID = value.ToInt();
                 break;
             case "DemandNum":
                 _DemandNum = value.ToInt();
                 break;
             case "Mature":
                 _Mature = ConvertCustomField<CacheList<GeneralProperty>>(value, index);
                 break;
             case "GeneralQuality":
                 _GeneralQuality = value.ToEnum<GeneralQuality>();
                 break;
             case "ItemID":
                 _ItemID = value.ToInt();
                 break;
             case "BattleHeadID":
                 _BattleHeadID = value.ToNotNullString();
                 break;
             case "IsConscribe":
                 _IsConscribe = value.ToBool();
                 break;
             default: throw new ArgumentException(string.Format("GeneralInfo index[{0}] isn't exist.", index));
         }
         #endregion
     }
 }
Пример #4
0
 /// <summary>
 /// 法宝触发技能施放
 /// </summary>
 /// <param name="abilityType"></param>
 /// <param name="Num"></param>
 /// <returns></returns>
 public static SkillInfo GetSkillprocess(AbilityType abilityType, int num)
 {
     SkillInfo skillInfo = new SkillInfo();
     skillInfo.AbilityID = (int)abilityType;
     skillInfo.Num = num;
     return skillInfo;
     //var skillLvList = new ConfigCacheSet<SkillLvInfo>().FindAll(m => m.EffType == abilityType);
     //if (skillLvList.Count > 0)
     //{
     //    skillInfo.AbilityID = skillLvList[0].SkillID;
     //    skillInfo.Num = num;
     //}
     //return skillInfo;
 }