/// <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); }
/// <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); }
/// <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); }
/// <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); }
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 }
/// <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)); }
/// <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 }); }
/// <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); }
/// <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, }); }
/// <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); }
/// <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); }
/// <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); }
/// <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 }
/// <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); }
/// <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); }
/// <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); }
/// <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); }