コード例 #1
0
ファイル: Action1005.cs プロジェクト: daneric/Scut-samples
        private void CreateGeneral(CareerInfo careerInfo)
        {
            GeneralInfo general = new ShareCacheStruct<GeneralInfo>().FindKey(generalID);
            List<UserGeneral> userGeneralArray = new PersonalCacheStruct<UserGeneral>().FindAll(UserId.ToString());
            if (userGeneralArray.Count > 0 || general == null)
            {
                return;
            }

            UserGeneral userGeneral = new UserGeneral();
            userGeneral.UserID = UserId.ToString();
            userGeneral.GeneralID = general.GeneralID;
            userGeneral.GeneralName = general.GeneralName;
            userGeneral.HeadID = general.HeadID;
            userGeneral.PicturesID = general.PicturesID;
            userGeneral.GeneralLv = (short)careerInfo.Lv;
            userGeneral.GeneralType = GeneralType.YongHu;
            userGeneral.CareerID = _careerID;
            userGeneral.PowerNum = general.PowerNum;
            userGeneral.SoulNum = general.SoulNum;
            userGeneral.IntellectNum = general.IntellectNum;
            userGeneral.TrainingPower = 0;
            userGeneral.TrainingSoul = 0;
            userGeneral.TrainingIntellect = 0;
            userGeneral.AbilityID = general.AbilityID;
            userGeneral.Momentum = 0;
            userGeneral.Description = string.Empty;
            userGeneral.HitProbability = ConfigEnvSet.GetDecimal("Combat.HitiNum");
            userGeneral.GeneralStatus = GeneralStatus.DuiWuZhong;
            userGeneral.CurrExperience = 0;
            userGeneral.Experience1 = 0;
            userGeneral.Experience2 = 0;
            //userGeneral.LifeNum = MathUtils.Addition(general.LifeNum, careerInfo.LifeIncreaseNum * (MathUtils.Subtraction(careerInfo.Lv, (short)1, (short)0)), int.MaxValue);
            userGeneral.RefreshMaxLife();
            userGeneral.HeritageType = HeritageType.Normal;
            userGeneral.AbilityNum = 3;
            var cacheSet = new PersonalCacheStruct<UserGeneral>();
            cacheSet.Add(userGeneral);
            cacheSet.Update();
            UserAbilityHelper.AddUserAbility(general.AbilityID, UserId, generalID, 1);
          
        }
コード例 #2
0
ファイル: UserHelper.cs プロジェクト: rongxiong/Scut
        /// <summary>
        /// 佣兵升级
        /// </summary>
        /// <param name="general"></param>
        /// <param name="exprience"></param>
        public static void TriggerGeneral(UserGeneral general, int exprience)
        {
            if (general == null)
            {
                return;
            }
            GameUser user = new GameDataCacheSet<GameUser>().FindKey(general.UserID);
            short generalMaxLv = user == null ? _currMaxLv : (user.UserLv * 3).ToShort();
            if (general.GeneralLv >= generalMaxLv)
            {
                return;
            }
            short nextLv = MathUtils.Addition(general.GeneralLv, 1.ToShort());
            var generalEscalateInfo = new ConfigCacheSet<GeneralEscalateInfo>().FindKey(nextLv, GeneralType.YongBing);
            int tempExpri = generalEscalateInfo.UpExperience - general.CurrExperience;
            if ((general.GeneralLv+1).ToShort() >= (user.UserLv * 3).ToShort() && exprience > tempExpri)
            {
                general.CurrExperience = MathUtils.Addition(general.CurrExperience, tempExpri);
            }
            else
            {

                general.CurrExperience = MathUtils.Addition(general.CurrExperience, exprience);
            }

            while (nextLv <= generalMaxLv)
            {
                GeneralEscalateInfo generalEscalate = new ConfigCacheSet<GeneralEscalateInfo>().FindKey(nextLv, GeneralType.YongBing);
                if (general.GeneralLv >= _currMaxLv)
                {
                    break;
                }
                else if (generalEscalate != null && general.CurrExperience >= generalEscalate.UpExperience)
                {
                    general.RefreshMaxLife();
                    general.SetEscalate(generalEscalate.UpExperience);
                    general.GeneralLv = MathUtils.Addition(general.GeneralLv, (short)1, short.MaxValue);
                    general.LifeNum = general.LifeMaxNum;
                    GeneralHelper.GeneralUpgradeproperty(general); //佣兵升级加属性
                    nextLv = MathUtils.Addition(general.GeneralLv, 1.ToShort());
                    if (general.GeneralLv >= _currMaxLv)
                    {
                        general.CurrExperience = 0;
                    }
                }
                else
                {
                    break;
                }
            }
            if (general.GeneralLv >= generalMaxLv)
            {
                general.CurrExperience = 0;
            }
        }
コード例 #3
0
ファイル: GiftHelper.cs プロジェクト: jinfei426/Scut
 /// <summary>
 /// 好感度升级
 /// </summary>
 /// <param name="general"></param>
 /// <param name="experience"></param>
 public static void GeneralFeelUpgrade(UserGeneral general, int experience, short saturationNum)
 {
     if (general != null)
     {
         int maxSatiationNum = ConfigEnvSet.GetInt("User.FeelMaxSatiationNum");
         general.FeelExperience = MathUtils.Addition(general.FeelExperience, experience);
         general.SaturationNum = MathUtils.Addition(general.SaturationNum, saturationNum, (short)maxSatiationNum);
         while (true)
         {
             short feelLv = MathUtils.Addition(general.FeelLv, (short)1, maxFeelLv);
             FeelLvInfo upfeelLvInfo = new ConfigCacheSet<FeelLvInfo>().FindKey(feelLv);
             if (general.FeelLv < feelLv && upfeelLvInfo != null)
             {
                 if (general.FeelExperience >= upfeelLvInfo.Experience)
                 {
                     general.FeelLv = MathUtils.Addition(general.FeelLv, (short)1, maxFeelLv);
                     general.FeelExperience = MathUtils.Subtraction(general.FeelExperience, upfeelLvInfo.Experience, 0);
                     general.RefreshMaxLife();
                     GeneralInfo generalInfo = new ConfigCacheSet<GeneralInfo>().FindKey(general.GeneralID);
                     if (generalInfo != null && generalInfo.ReplaceSkills != null)
                     {
                         if (general.FeelLv >= generalInfo.ReplaceSkills.FeelLv && general.AbilityID != generalInfo.ReplaceSkills.AbilityID)
                         {
                             general.AbilityID = generalInfo.ReplaceSkills.AbilityID;
                         }
                     }
                 }
                 else
                 {
                     break;
                 }
             }
             else
             {
                 break;
             }
         }
     }
 }