Example #1
0
        /// <summary>初始用户武将生活技能信息</summary>
        public tg_role_life_skill InitLifeSkill(Int64 rid)
        {
            if (rid == 0)
            {
                return(null);
            }
            var model = new tg_role_life_skill
            {
                rid            = rid,
                sub_archer     = CommonHelper.EnumLifeType(LifeSkillType.ARCHER),
                sub_artillery  = CommonHelper.EnumLifeType(LifeSkillType.ARTILLERY),
                sub_ashigaru   = CommonHelper.EnumLifeType(LifeSkillType.ASHIGARU),
                sub_build      = CommonHelper.EnumLifeType(LifeSkillType.BUILD),
                sub_calculate  = CommonHelper.EnumLifeType(LifeSkillType.CALCULATE),
                sub_craft      = CommonHelper.EnumLifeType(LifeSkillType.CRAFT),
                sub_eloquence  = CommonHelper.EnumLifeType(LifeSkillType.ELOQUENCE),
                sub_equestrian = CommonHelper.EnumLifeType(LifeSkillType.EQUESTRIAN),
                sub_etiquette  = CommonHelper.EnumLifeType(LifeSkillType.ETIQUETTE),
                sub_martial    = CommonHelper.EnumLifeType(LifeSkillType.MARTIAL),
                sub_medical    = CommonHelper.EnumLifeType(LifeSkillType.MEDICAL),
                sub_mine       = CommonHelper.EnumLifeType(LifeSkillType.MINE),
                sub_ninjitsu   = CommonHelper.EnumLifeType(LifeSkillType.NINJITSU),
                sub_reclaimed  = CommonHelper.EnumLifeType(LifeSkillType.RECLAIMED),
                sub_tactical   = CommonHelper.EnumLifeType(LifeSkillType.TACTICAL),
                sub_tea        = CommonHelper.EnumLifeType(LifeSkillType.TEA)
            };

            model.Save();
            return(model);
        }
Example #2
0
        /// <summary>更改后置技能状态</summary>
        /// <returns>生活技能实体</returns>
        public tg_role_life_skill SkillStateChange(BaseLifeSkill baselife, tg_role_life_skill life)
        {
            var ids = SkillBeforePracticeSplit(baselife.studypostposition);//后置技能id集合

            ids = GetNoShoolIds(ids, life);
            if (ids.Count > 0)
            {
                var st = GetSkillLevel(baselife.type, life);
                life = SkillStateChange(ids, life, st.level);
            }
            return(life);
        }
Example #3
0
        /// <summary>把技能学习状态标志为可学</summary>
        public tg_role_life_skill SkillStateChange(IEnumerable <int> ids, tg_role_life_skill life, int level)
        {
            var list_lifeskillid = SkillStudied(life);

            foreach (var baseid in ids)
            {
                var temp = Variable.BASE_LIFESKILL.FirstOrDefault(m => m.id == baseid);
                var type = temp != null ? temp.type : 0;
                if (!IsStudied(temp, temp.studyCondition, list_lifeskillid, life))
                {
                    continue;
                }
                switch (type)
                {
                    #region
                case (int)LifeSkillType.ASHIGARU: life.sub_ashigaru_state = (int)SkillLearnType.TOLEARN; break;

                case (int)LifeSkillType.ARTILLERY: life.sub_artillery_state = (int)SkillLearnType.TOLEARN; break;

                case (int)LifeSkillType.ARCHER: life.sub_archer_state = (int)SkillLearnType.TOLEARN; break;

                case (int)LifeSkillType.BUILD: life.sub_build_state = (int)SkillLearnType.TOLEARN; break;

                case (int)LifeSkillType.CALCULATE: life.sub_calculate_state = (int)SkillLearnType.TOLEARN; break;

                case (int)LifeSkillType.CRAFT: life.sub_craft_state = (int)SkillLearnType.TOLEARN; break;

                case (int)LifeSkillType.ELOQUENCE: life.sub_eloquence_state = (int)SkillLearnType.TOLEARN; break;

                case (int)LifeSkillType.EQUESTRIAN: life.sub_equestrian_state = (int)SkillLearnType.TOLEARN; break;

                case (int)LifeSkillType.ETIQUETTE: life.sub_etiquette_state = (int)SkillLearnType.TOLEARN; break;

                case (int)LifeSkillType.MARTIAL: life.sub_martial_state = (int)SkillLearnType.TOLEARN; break;

                case (int)LifeSkillType.MEDICAL: life.sub_medical_state = (int)SkillLearnType.TOLEARN; break;

                case (int)LifeSkillType.MINE: life.sub_mine_state = (int)SkillLearnType.TOLEARN; break;

                case (int)LifeSkillType.NINJITSU: life.sub_ninjitsu_state = (int)SkillLearnType.TOLEARN; break;

                case (int)LifeSkillType.RECLAIMED: life.sub_reclaimed_state = (int)SkillLearnType.TOLEARN; break;

                case (int)LifeSkillType.TACTICAL: life.sub_tactical_state = (int)SkillLearnType.TOLEARN; break;

                case (int)LifeSkillType.TEA: life.sub_tea_state = (int)SkillLearnType.TOLEARN; break;
                    #endregion
                }
            }
            return(life);
        }
Example #4
0
        /// <summary>获取默认可学生活技能</summary>
        private tg_role_life_skill GetToLearnSkill(tg_role_life_skill life)
        {
            var tolearns   = GetBase();
            var enumerable = tolearns as string[] ?? tolearns.ToArray();

            if (!enumerable.Any())
            {
                return(life);
            }
            foreach (var item in enumerable)
            {
                switch (Convert.ToInt32(item))
                {
                case (int)LifeSkillType.ASHIGARU: { life.sub_ashigaru_state = (int)SkillLearnType.TOLEARN; break; }

                case (int)LifeSkillType.ARTILLERY: { life.sub_artillery_state = (int)SkillLearnType.TOLEARN; break; }

                case (int)LifeSkillType.ARCHER: { life.sub_archer_state = (int)SkillLearnType.TOLEARN; break; }

                case (int)LifeSkillType.BUILD: { life.sub_build_state = (int)SkillLearnType.TOLEARN; break; }

                case (int)LifeSkillType.CALCULATE: { life.sub_calculate_state = (int)SkillLearnType.TOLEARN; break; }

                case (int)LifeSkillType.CRAFT: { life.sub_craft_state = (int)SkillLearnType.TOLEARN; break; }

                case (int)LifeSkillType.ELOQUENCE: { life.sub_eloquence_state = (int)SkillLearnType.TOLEARN; break; }

                case (int)LifeSkillType.EQUESTRIAN: { life.sub_equestrian_state = (int)SkillLearnType.TOLEARN; break; }

                case (int)LifeSkillType.ETIQUETTE: { life.sub_etiquette_state = (int)SkillLearnType.TOLEARN; break; }

                case (int)LifeSkillType.MARTIAL: { life.sub_martial_state = (int)SkillLearnType.TOLEARN; break; }

                case (int)LifeSkillType.MEDICAL: { life.sub_medical_state = (int)SkillLearnType.TOLEARN; break; }

                case (int)LifeSkillType.MINE: { life.sub_mine_state = (int)SkillLearnType.TOLEARN; break; }

                case (int)LifeSkillType.NINJITSU: { life.sub_ninjitsu_state = (int)SkillLearnType.TOLEARN; break; }

                case (int)LifeSkillType.RECLAIMED: { life.sub_reclaimed_state = (int)SkillLearnType.TOLEARN; break; }

                case (int)LifeSkillType.TACTICAL: { life.sub_tactical_state = (int)SkillLearnType.TOLEARN; break; }

                case (int)LifeSkillType.TEA: { life.sub_tea_state = (int)SkillLearnType.TOLEARN; break; }
                }
            }
            return(life);
        }
Example #5
0
        public tg_role_life_skill StateChange(tg_role_life_skill life, int baseid)
        {
            #region
            var type      = (int)SkillLearnType.TOLEARN;
            var base_life = Variable.BASE_LIFESKILL.FirstOrDefault(m => m.id == baseid);
            if (base_life == null)
            {
                return(life);
            }
            switch (base_life.type)
            {
            case (int)LifeSkillType.ASHIGARU: life.sub_ashigaru_state = type; break;

            case (int)LifeSkillType.ARTILLERY: life.sub_artillery_state = type; break;

            case (int)LifeSkillType.ARCHER: life.sub_archer_state = type; break;

            case (int)LifeSkillType.BUILD: life.sub_build_state = type; break;

            case (int)LifeSkillType.CALCULATE: life.sub_calculate_state = type; break;

            case (int)LifeSkillType.CRAFT: life.sub_craft_state = type; break;

            case (int)LifeSkillType.ELOQUENCE: life.sub_eloquence_state = type; break;

            case (int)LifeSkillType.EQUESTRIAN: life.sub_equestrian_state = type; break;

            case (int)LifeSkillType.ETIQUETTE: life.sub_etiquette_state = type; break;

            case (int)LifeSkillType.MARTIAL: life.sub_martial_state = type; break;

            case (int)LifeSkillType.MEDICAL: life.sub_medical_state = type; break;

            case (int)LifeSkillType.MINE: life.sub_mine_state = type; break;

            case (int)LifeSkillType.NINJITSU: life.sub_ninjitsu_state = type; break;

            case (int)LifeSkillType.RECLAIMED: life.sub_reclaimed_state = type; break;

            case (int)LifeSkillType.TACTICAL: life.sub_tactical_state = type; break;

            case (int)LifeSkillType.TEA: life.sub_tea_state = type; break;
            }
            return(life);

            #endregion
        }
Example #6
0
        /// <summary>处理喝茶获得魂信息</summary>
        private ASObject AcquireSpirit(Int64 userid, tg_train_home npc, tg_role_life_skill lifeskill)
        {
            var spirit = (new Share.RoleTrain()).GetSpirit(lifeskill.sub_tea, lifeskill.sub_tea_level);   //喝茶获得的魂数
            var sp     = npc.npc_spirit;

            sp = sp - spirit;
            if (sp < 0)
            {
                spirit         = npc.npc_spirit;
                npc.npc_spirit = 0;
            }
            else
            {
                npc.npc_spirit = sp;
            }

            return(!tg_train_home.UpdateNpc(npc) ? Error((int)ResultType.DATABASE_ERROR) : TeaInfo(userid, npc.npc_spirit, spirit));
        }
Example #7
0
        /// <summary>获取技能等级和时间</summary>
        public SkillLevelAndTime GetSkillLevel(int type, tg_role_life_skill life)
        {
            Int32 level = 0; Int64 time = 0;

            switch (type)
            {
                #region
            case (int)LifeSkillType.ASHIGARU: { level = life.sub_ashigaru_level; time = life.sub_ashigaru_time; break; }

            case (int)LifeSkillType.ARTILLERY: { level = life.sub_artillery_level; time = life.sub_artillery_time; break; }

            case (int)LifeSkillType.ARCHER: { level = life.sub_archer_level; time = life.sub_archer_time; break; }

            case (int)LifeSkillType.BUILD: { level = life.sub_build_level; time = life.sub_build_time; break; }

            case (int)LifeSkillType.CALCULATE: { level = life.sub_calculate_level; time = life.sub_calculate_time; break; }

            case (int)LifeSkillType.CRAFT: { level = life.sub_craft_level; time = life.sub_craft_time; break; }

            case (int)LifeSkillType.ELOQUENCE: { level = life.sub_eloquence_level; time = life.sub_eloquence_time; break; }

            case (int)LifeSkillType.EQUESTRIAN: { level = life.sub_equestrian_level; time = life.sub_equestrian_time; break; }

            case (int)LifeSkillType.ETIQUETTE: { level = life.sub_etiquette_level; time = life.sub_etiquette_time; break; }

            case (int)LifeSkillType.MARTIAL: { level = life.sub_martial_level; time = life.sub_martial_time; break; }

            case (int)LifeSkillType.MEDICAL: { level = life.sub_medical_level; time = life.sub_medical_time; break; }

            case (int)LifeSkillType.MINE: { level = life.sub_mine_level; time = life.sub_mine_time; break; }

            case (int)LifeSkillType.NINJITSU: { level = life.sub_ninjitsu_level; time = life.sub_ninjitsu_time; break; }

            case (int)LifeSkillType.RECLAIMED: { level = life.sub_reclaimed_level; time = life.sub_reclaimed_time; break; }

            case (int)LifeSkillType.TACTICAL: { level = life.sub_tactical_level; time = life.sub_tactical_time; break; }

            case (int)LifeSkillType.TEA: { level = life.sub_tea_level; time = life.sub_tea_time; break; }
                #endregion
            }
            return(new SkillLevelAndTime {
                level = level, time = time
            });
        }
Example #8
0
        /// <summary> 获取攻击城门的几率 </summary>
        /// <param name="skill">生活技能</param>
        /// <returns>几率</returns>
        private int GetBaseProbability(tg_role_life_skill skill)
        {
            var list = Common.GetInstance().GetBaseSieges((int)SiegeType.GATE_ODDS);

            if (!list.Any())
            {
                return(0);
            }
            var basesiege = list.FirstOrDefault();

            if (basesiege == null)
            {
                return(0);
            }
            var level = Common.GetInstance().GetLifeLevel(basesiege.skillType, skill);
            var bl    = list.FirstOrDefault(m => m.level <= level);

            return(bl == null ? 0 : bl.probability);
        }
Example #9
0
 /// <summary>RoleLifeSkill 实体转换</summary>
 public static RoleLifeSkill ToRoleLifeSkills(tg_role_life_skill model)
 {
     return(new RoleLifeSkill()
     {
         id = model.id,
         sub_tea = model.sub_tea,
         sub_calculate = model.sub_calculate,
         sub_build = model.sub_build,
         sub_eloquence = model.sub_eloquence,
         sub_equestrian = model.sub_equestrian,
         sub_reclaimed = model.sub_reclaimed,
         sub_ashigaru = model.sub_ashigaru,
         sub_artillery = model.sub_artillery,
         sub_mine = model.sub_mine,
         sub_craft = model.sub_craft,
         sub_archer = model.sub_archer,
         sub_etiquette = model.sub_etiquette,
         sub_martial = model.sub_martial,
         sub_tactical = model.sub_tactical,
         sub_medical = model.sub_medical,
         sub_ninjitsu = model.sub_ninjitsu,
         sub_tea_level = model.sub_tea_level,
         sub_calculate_level = model.sub_calculate_level,
         sub_build_level = model.sub_build_level,
         sub_eloquence_level = model.sub_eloquence_level,
         sub_equestrian_level = model.sub_equestrian_level,
         sub_reclaimed_level = model.sub_reclaimed_level,
         sub_ashigaru_level = model.sub_ashigaru_level,
         sub_artillery_level = model.sub_artillery_level,
         sub_mine_level = model.sub_mine_level,
         sub_craft_level = model.sub_craft_level,
         sub_archer_level = model.sub_archer_level,
         sub_etiquette_level = model.sub_etiquette_level,
         sub_martial_level = model.sub_martial_level,
         sub_tactical_level = model.sub_tactical_level,
         sub_medical_level = model.sub_medical_level,
         sub_ninjitsu_level = model.sub_ninjitsu_level,
     });
 }
Example #10
0
        /// <summary>组装生活技能vo集合</summary>
        public List <LifeSkillVo> CreateListLife(decimal rid, tg_role_life_skill life)
        {
            var listlife = new List <LifeSkillVo>();

            listlife.Add(EntityToVo.ToLifeSkillVo(1, rid, life.sub_tea, life.sub_tea_level, life.sub_tea_time, life.sub_tea_progress, life.sub_tea_state));                                     //茶道
            listlife.Add(EntityToVo.ToLifeSkillVo(2, rid, life.sub_medical, life.sub_medical_level, life.sub_medical_time, life.sub_medical_progress, life.sub_medical_state));                 //医术
            listlife.Add(EntityToVo.ToLifeSkillVo(3, rid, life.sub_ninjitsu, life.sub_ninjitsu_level, life.sub_ninjitsu_time, life.sub_ninjitsu_progress, life.sub_ninjitsu_state));            //忍术
            listlife.Add(EntityToVo.ToLifeSkillVo(4, rid, life.sub_calculate, life.sub_calculate_level, life.sub_calculate_time, life.sub_calculate_progress, life.sub_calculate_state));       //算数
            listlife.Add(EntityToVo.ToLifeSkillVo(5, rid, life.sub_eloquence, life.sub_eloquence_level, life.sub_eloquence_time, life.sub_eloquence_progress, life.sub_eloquence_state));       //辩才
            listlife.Add(EntityToVo.ToLifeSkillVo(6, rid, life.sub_martial, life.sub_martial_level, life.sub_martial_time, life.sub_martial_progress, life.sub_martial_state));                 //武艺
            listlife.Add(EntityToVo.ToLifeSkillVo(7, rid, life.sub_craft, life.sub_craft_level, life.sub_craft_time, life.sub_craft_progress, life.sub_craft_state));                           //艺术
            listlife.Add(EntityToVo.ToLifeSkillVo(8, rid, life.sub_etiquette, life.sub_etiquette_level, life.sub_etiquette_time, life.sub_etiquette_progress, life.sub_etiquette_state));       //礼法
            listlife.Add(EntityToVo.ToLifeSkillVo(9, rid, life.sub_reclaimed, life.sub_reclaimed_level, life.sub_reclaimed_time, life.sub_reclaimed_progress, life.sub_reclaimed_state));       //开垦
            listlife.Add(EntityToVo.ToLifeSkillVo(10, rid, life.sub_build, life.sub_build_level, life.sub_build_time, life.sub_build_progress, life.sub_build_state));                          //建筑
            listlife.Add(EntityToVo.ToLifeSkillVo(11, rid, life.sub_mine, life.sub_mine_level, life.sub_mine_time, life.sub_mine_progress, life.sub_mine_state));                               //矿山
            listlife.Add(EntityToVo.ToLifeSkillVo(12, rid, life.sub_tactical, life.sub_tactical_level, life.sub_tactical_time, life.sub_tactical_progress, life.sub_tactical_state));           //军学
            listlife.Add(EntityToVo.ToLifeSkillVo(13, rid, life.sub_ashigaru, life.sub_ashigaru_level, life.sub_ashigaru_time, life.sub_ashigaru_progress, life.sub_ashigaru_state));           //足轻
            listlife.Add(EntityToVo.ToLifeSkillVo(14, rid, life.sub_equestrian, life.sub_equestrian_level, life.sub_equestrian_time, life.sub_equestrian_progress, life.sub_equestrian_state)); //马术
            listlife.Add(EntityToVo.ToLifeSkillVo(15, rid, life.sub_archer, life.sub_archer_level, life.sub_archer_time, life.sub_archer_progress, life.sub_archer_state));                     //弓术
            listlife.Add(EntityToVo.ToLifeSkillVo(16, rid, life.sub_artillery, life.sub_artillery_level, life.sub_artillery_time, life.sub_artillery_progress, life.sub_artillery_state));      //铁炮
            return(listlife);
        }
Example #11
0
        /// <summary>获取生活技能等级</summary>
        /// <param name="type">生活技能类型</param>
        /// <param name="skill">生活技能</param>
        public int GetLifeLevel(int type, tg_role_life_skill skill)
        {
            switch (type)
            {
            case (int)LifeSkillType.ASHIGARU: return(skill.sub_ashigaru_level);

            case (int)LifeSkillType.ARTILLERY: return(skill.sub_artillery_level);

            case (int)LifeSkillType.ARCHER: return(skill.sub_archer_level);

            case (int)LifeSkillType.BUILD: return(skill.sub_build_level);

            case (int)LifeSkillType.CALCULATE: return(skill.sub_calculate_level);

            case (int)LifeSkillType.CRAFT: return(skill.sub_craft_level);

            case (int)LifeSkillType.ELOQUENCE: return(skill.sub_eloquence_level);

            case (int)LifeSkillType.EQUESTRIAN: return(skill.sub_equestrian_level);

            case (int)LifeSkillType.ETIQUETTE: return(skill.sub_etiquette_level);

            case (int)LifeSkillType.MARTIAL: return(skill.sub_martial_level);

            case (int)LifeSkillType.MEDICAL: return(skill.sub_medical_level);

            case (int)LifeSkillType.MINE: return(skill.sub_mine_level);

            case (int)LifeSkillType.NINJITSU: return(skill.sub_ninjitsu_level);

            case (int)LifeSkillType.RECLAIMED: return(skill.sub_reclaimed_level);

            case (int)LifeSkillType.TACTICAL: return(skill.sub_tactical_level);

            case (int)LifeSkillType.TEA: return(skill.sub_tea_level);
            }
            return(0);
        }
Example #12
0
        /// <summary>获取未学技能id集合</summary>
        public List <int> GetNoShoolIds(IEnumerable <int> ids, tg_role_life_skill life)
        {
            List <int> _ids = new List <int>();

            foreach (var baseid in ids)
            {
                var temp = Variable.BASE_LIFESKILL.FirstOrDefault(m => m.id == baseid);
                var type = temp != null ? temp.type : 0;
                switch (type)
                {
                    #region
                case (int)LifeSkillType.ASHIGARU: if (IsTolearn(life.sub_ashigaru_state))
                    {
                        _ids.Add(baseid);
                    }
                    break;

                case (int)LifeSkillType.ARTILLERY: if (IsTolearn(life.sub_artillery_state))
                    {
                        _ids.Add(baseid);
                    }
                    break;

                case (int)LifeSkillType.ARCHER: if (IsTolearn(life.sub_archer_state))
                    {
                        _ids.Add(baseid);
                    }
                    break;

                case (int)LifeSkillType.BUILD: if (IsTolearn(life.sub_build_state))
                    {
                        _ids.Add(baseid);
                    }
                    break;

                case (int)LifeSkillType.CALCULATE: if (IsTolearn(life.sub_calculate_state))
                    {
                        _ids.Add(baseid);
                    }
                    break;

                case (int)LifeSkillType.CRAFT: if (IsTolearn(life.sub_craft_state))
                    {
                        _ids.Add(baseid);
                    }
                    break;

                case (int)LifeSkillType.ELOQUENCE: if (IsTolearn(life.sub_eloquence_state))
                    {
                        _ids.Add(baseid);
                    }
                    break;

                case (int)LifeSkillType.EQUESTRIAN: if (IsTolearn(life.sub_equestrian_state))
                    {
                        _ids.Add(baseid);
                    }
                    break;

                case (int)LifeSkillType.ETIQUETTE: if (IsTolearn(life.sub_etiquette_state))
                    {
                        _ids.Add(baseid);
                    }
                    break;

                case (int)LifeSkillType.MARTIAL: if (IsTolearn(life.sub_martial_state))
                    {
                        _ids.Add(baseid);
                    }
                    break;

                case (int)LifeSkillType.MEDICAL: if (IsTolearn(life.sub_medical_state))
                    {
                        _ids.Add(baseid);
                    }
                    break;

                case (int)LifeSkillType.MINE: if (IsTolearn(life.sub_mine_state))
                    {
                        _ids.Add(baseid);
                    }
                    break;

                case (int)LifeSkillType.NINJITSU: if (IsTolearn(life.sub_ninjitsu_state))
                    {
                        _ids.Add(baseid);
                    }
                    break;

                case (int)LifeSkillType.RECLAIMED: if (IsTolearn(life.sub_reclaimed_state))
                    {
                        _ids.Add(baseid);
                    }
                    break;

                case (int)LifeSkillType.TACTICAL: if (IsTolearn(life.sub_tactical_state))
                    {
                        _ids.Add(baseid);
                    }
                    break;

                case (int)LifeSkillType.TEA: if (IsTolearn(life.sub_tea_state))
                    {
                        _ids.Add(baseid);
                    }
                    break;
                    #endregion
                }
            }
            return(_ids);
        }
Example #13
0
        /// <summary> 组装已学习技能id</summary>
        public List <int> SkillStudied(tg_role_life_skill life)
        {
            var list = new List <int>();

            #region
            if (life.sub_archer_level > 0)
            {
                list.Add(life.sub_archer);
            }
            if (life.sub_artillery_level > 0)
            {
                list.Add(life.sub_artillery);
            }
            if (life.sub_ashigaru_level > 0)
            {
                list.Add(life.sub_ashigaru);
            }
            if (life.sub_build_level > 0)
            {
                list.Add(life.sub_build);
            }
            if (life.sub_calculate_level > 0)
            {
                list.Add(life.sub_calculate);
            }
            if (life.sub_craft_level > 0)
            {
                list.Add(life.sub_craft);
            }
            if (life.sub_eloquence_level > 0)
            {
                list.Add(life.sub_eloquence);
            }
            if (life.sub_equestrian_level > 0)
            {
                list.Add(life.sub_equestrian);
            }
            if (life.sub_etiquette_level > 0)
            {
                list.Add(life.sub_etiquette);
            }
            if (life.sub_martial_level > 0)
            {
                list.Add(life.sub_martial);
            }
            if (life.sub_medical_level > 0)
            {
                list.Add(life.sub_medical);
            }
            if (life.sub_mine_level > 0)
            {
                list.Add(life.sub_mine);
            }
            if (life.sub_ninjitsu_level > 0)
            {
                list.Add(life.sub_ninjitsu);
            }
            if (life.sub_reclaimed_level > 0)
            {
                list.Add(life.sub_reclaimed);
            }
            if (life.sub_tactical_level > 0)
            {
                list.Add(life.sub_tactical);
            }
            if (life.sub_tea_level > 0)
            {
                list.Add(life.sub_tea);
            }
            return(list);

            #endregion
        }
Example #14
0
 /// <summary>是否已在学习其他技能 </summary>
 public int SkillStudying(tg_role_life_skill life)
 {
     #region
     if (life.sub_archer_state == (int)SkillLearnType.STUDYING)
     {
         return(life.sub_archer);
     }
     if (life.sub_artillery_state == (int)SkillLearnType.STUDYING)
     {
         return(life.sub_artillery);
     }
     if (life.sub_ashigaru_state == (int)SkillLearnType.STUDYING)
     {
         return(life.sub_ashigaru);
     }
     if (life.sub_build_state == (int)SkillLearnType.STUDYING)
     {
         return(life.sub_build);
     }
     if (life.sub_calculate_state == (int)SkillLearnType.STUDYING)
     {
         return(life.sub_calculate);
     }
     if (life.sub_craft_state == (int)SkillLearnType.STUDYING)
     {
         return(life.sub_craft);
     }
     if (life.sub_eloquence_state == (int)SkillLearnType.STUDYING)
     {
         return(life.sub_eloquence);
     }
     if (life.sub_equestrian_state == (int)SkillLearnType.STUDYING)
     {
         return(life.sub_equestrian);
     }
     if (life.sub_etiquette_state == (int)SkillLearnType.STUDYING)
     {
         return(life.sub_etiquette);
     }
     if (life.sub_martial_state == (int)SkillLearnType.STUDYING)
     {
         return(life.sub_martial);
     }
     if (life.sub_medical_state == (int)SkillLearnType.STUDYING)
     {
         return(life.sub_medical);
     }
     if (life.sub_mine_state == (int)SkillLearnType.STUDYING)
     {
         return(life.sub_mine);
     }
     if (life.sub_ninjitsu_state == (int)SkillLearnType.STUDYING)
     {
         return(life.sub_ninjitsu);
     }
     if (life.sub_reclaimed_state == (int)SkillLearnType.STUDYING)
     {
         return(life.sub_reclaimed);
     }
     if (life.sub_tactical_state == (int)SkillLearnType.STUDYING)
     {
         return(life.sub_tactical);
     }
     if (life.sub_tea_state == (int)SkillLearnType.STUDYING)
     {
         return(life.sub_tea);
     }
     #endregion
     return(0);
 }
Example #15
0
        /// <summary>生活技能锻炼完处理</summary>
        public tg_role_life_skill GetRoleLifeSkill(int life_type, tg_role_life_skill life, int level)
        {
            var type = (int)SkillLearnType.LEARNED;

            switch (life_type)
            {
                #region
            case (int)LifeSkillType.ASHIGARU:
            {
                life.sub_ashigaru_time  = 0; life.sub_ashigaru_level = level;
                life.sub_ashigaru_state = type; break;
            }

            case (int)LifeSkillType.ARTILLERY:
            {
                life.sub_artillery_time  = 0; life.sub_artillery_level = level;
                life.sub_artillery_state = type; break;
            }

            case (int)LifeSkillType.ARCHER:
            {
                life.sub_archer_time  = 0; life.sub_archer_level = level;
                life.sub_archer_state = type; break;
            }

            case (int)LifeSkillType.BUILD:
            {
                life.sub_build_time  = 0; life.sub_build_level = level;
                life.sub_build_state = type; break;
            }

            case (int)LifeSkillType.CALCULATE:
            {
                life.sub_calculate_time  = 0; life.sub_calculate_level = level;
                life.sub_calculate_state = type; break;
            }

            case (int)LifeSkillType.CRAFT:
            {
                life.sub_craft_time  = 0; life.sub_craft_level = level;
                life.sub_craft_state = type; break;
            }

            case (int)LifeSkillType.ELOQUENCE:
            {
                life.sub_eloquence_time  = 0; life.sub_eloquence_level = level;
                life.sub_eloquence_state = type; break;
            }

            case (int)LifeSkillType.EQUESTRIAN:
            {
                life.sub_equestrian_time  = 0; life.sub_equestrian_level = level;
                life.sub_equestrian_state = type; break;
            }

            case (int)LifeSkillType.ETIQUETTE:
            {
                life.sub_etiquette_time  = 0; life.sub_etiquette_level = level;
                life.sub_etiquette_state = type; break;
            }

            case (int)LifeSkillType.MARTIAL:
            {
                life.sub_martial_time  = 0; life.sub_martial_level = level;
                life.sub_martial_state = type; break;
            }

            case (int)LifeSkillType.MEDICAL:
            {
                life.sub_medical_time  = 0; life.sub_medical_level = level;
                life.sub_medical_state = type; break;
            }

            case (int)LifeSkillType.MINE:
            {
                life.sub_mine_time  = 0; life.sub_mine_level = level;
                life.sub_mine_state = type; break;
            }

            case (int)LifeSkillType.NINJITSU:
            {
                life.sub_ninjitsu_time  = 0; life.sub_ninjitsu_level = level;
                life.sub_ninjitsu_state = type; break;
            }

            case (int)LifeSkillType.RECLAIMED:
            {
                life.sub_reclaimed_time  = 0; life.sub_reclaimed_level = level;
                life.sub_reclaimed_state = type; break;
            }

            case (int)LifeSkillType.TACTICAL:
            {
                life.sub_tactical_time  = 0; life.sub_tactical_level = level;
                life.sub_tactical_state = type; break;
            }

            case (int)LifeSkillType.TEA:
            {
                life.sub_tea_time  = 0; life.sub_tea_level = level;
                life.sub_tea_state = type; break;
            }
                #endregion
            }
            //life.Update();
            return(life);
        }
Example #16
0
        /// <summary>获取未学习的技能id集合</summary>
        public List <int> SkillNoStudy(tg_role_life_skill life)
        {
            var ids = new List <int>();

            #region
            if (life.sub_archer_level == 0 && life.sub_archer_state == (int)SkillLearnType.NOSCHOOL)
            {
                ids.Add(life.sub_archer);
            }
            if (life.sub_artillery_level == 0 && life.sub_artillery_state == (int)SkillLearnType.NOSCHOOL)
            {
                ids.Add(life.sub_artillery);
            }
            if (life.sub_ashigaru_level == 0 && life.sub_ashigaru_state == (int)SkillLearnType.NOSCHOOL)
            {
                ids.Add(life.sub_ashigaru);
            }
            if (life.sub_build_level == 0 && life.sub_build_state == (int)SkillLearnType.NOSCHOOL)
            {
                ids.Add(life.sub_build);
            }
            if (life.sub_calculate_level == 0 && life.sub_calculate_state == (int)SkillLearnType.NOSCHOOL)
            {
                ids.Add(life.sub_calculate);
            }
            if (life.sub_craft_level == 0 && life.sub_craft_state == (int)SkillLearnType.NOSCHOOL)
            {
                ids.Add(life.sub_craft);
            }
            if (life.sub_eloquence_level == 0 && life.sub_eloquence_state == (int)SkillLearnType.NOSCHOOL)
            {
                ids.Add(life.sub_eloquence);
            }
            if (life.sub_equestrian_level == 0 && life.sub_equestrian_state == (int)SkillLearnType.NOSCHOOL)
            {
                ids.Add(life.sub_equestrian);
            }
            if (life.sub_etiquette_level == 0 && life.sub_etiquette_state == (int)SkillLearnType.NOSCHOOL)
            {
                ids.Add(life.sub_etiquette);
            }
            if (life.sub_martial_level == 0 && life.sub_martial_state == (int)SkillLearnType.NOSCHOOL)
            {
                ids.Add(life.sub_martial);
            }
            if (life.sub_medical_level == 0 && life.sub_medical_state == (int)SkillLearnType.NOSCHOOL)
            {
                ids.Add(life.sub_medical);
            }
            if (life.sub_mine_level == 0 && life.sub_mine_state == (int)SkillLearnType.NOSCHOOL)
            {
                ids.Add(life.sub_mine);
            }
            if (life.sub_ninjitsu_level == 0 && life.sub_ninjitsu_state == (int)SkillLearnType.NOSCHOOL)
            {
                ids.Add(life.sub_ninjitsu);
            }
            if (life.sub_reclaimed_level == 0 && life.sub_reclaimed_state == (int)SkillLearnType.NOSCHOOL)
            {
                ids.Add(life.sub_reclaimed);
            }
            if (life.sub_tactical_level == 0 && life.sub_tactical_state == (int)SkillLearnType.NOSCHOOL)
            {
                ids.Add(life.sub_tactical);
            }
            if (life.sub_tea_level == 0 && life.sub_tea_state == (int)SkillLearnType.NOSCHOOL)
            {
                ids.Add(life.sub_tea);
            }
            #endregion

            return(ids);
        }
Example #17
0
        /// <summary>判断前置技能是否学习及前置技能等级是否足够</summary>
        public bool IsStudied(BaseLifeSkill base_life, string condition, ICollection <int> list, tg_role_life_skill life)
        {
            if (condition.Length == 0)
            {
                return(true);
            }
            var ids = SkillBeforePracticeSplit(condition);//前置技能id集合

            if (ids.Count == 0)
            {
                return(false);
            }
            foreach (var item in ids)
            {
                var id = list.FirstOrDefault(m => m == item);
                if (id > 0)
                {
                    var type = GetSkillType(id);
                    var st   = GetSkillLevel(type, life);
                    if (st.level < base_life.conditionLevel)
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }
            return(true);
        }