Exemple #1
0
        /// <summary>RoleFightSkills 实体转换</summary>
        public static RoleFightSkill ToRoleFightSkills(tg_role_fight_skill model, string name)
        {
            var skill = new RoleFightSkill()
            {
                id     = model.id,
                name   = name,
                baseid = model.skill_id,
                level  = model.skill_level,
                genre  = model.skill_genre,
            };

            switch (model.skill_genre)
            {
            case 1: skill.genreName = "流派通用"; break;

            case 2: skill.genreName = "宝藏院流"; break;

            case 3: skill.genreName = "佐分利流"; break;

            case 4: skill.genreName = "二天一流"; break;

            case 5: skill.genreName = "吉冈流"; break;

            case 6: skill.genreName = "林崎梦想流"; break;

            case 7: skill.genreName = "柳生新阴流"; break;

            case 8: skill.genreName = "体舍流"; break;

            case 9: skill.genreName = "香取神道流"; break;

            case 10: skill.genreName = "新阴流"; break;

            case 11: skill.genreName = "严流"; break;

            case 12: skill.genreName = "一刀流"; break;

            case 13: skill.genreName = "钵屋众"; break;

            case 14: skill.genreName = "风魔众"; break;

            case 15: skill.genreName = "根来众"; break;

            case 16: skill.genreName = "户隐众"; break;

            case 17: skill.genreName = "甲贺众"; break;

            case 18: skill.genreName = "山潜众"; break;

            case 19: skill.genreName = "透波众"; break;

            case 20: skill.genreName = "轩猿众"; break;

            case 21: skill.genreName = "伊贺众"; break;

            case 22: skill.genreName = "忍者众通用"; break;
            }
            return(skill);
        }
Exemple #2
0
 /// <summary> tg_role_fight_skill 实体转换 SkillVo </summary>
 /// <param name="model">个人战技能实体</param>
 /// <returns>前端SkillVo</returns>
 public static SkillVo ToFightSkillVo(tg_role_fight_skill model)
 {
     return(new SkillVo
     {
         id = Convert.ToDouble(model.id),
         baseId = model.skill_id,
         level = model.skill_level,
     });
 }
Exemple #3
0
 /// <summary> tg_role_fight_skill 实体转换 FightSkillVo </summary>
 /// <param name="model">个人战技能实体</param>
 /// <returns>前端FightSkillVo</returns>
 public static FightSkillVo ToRoleFightSkillVo(tg_role_fight_skill model)
 {
     return(new FightSkillVo()
     {
         id = model.id,
         baseId = model.skill_id,
         level = model.skill_level,
         costTimer = model.skill_time,
         genre = model.skill_genre,
         state = model.skill_state,
     });
 }
Exemple #4
0
        /// <summary>插入战斗技能</summary>
        private bool InsertSkill(Int64 rid, BaseFightSkill fight, Int64 time)
        {
            var skill = new tg_role_fight_skill
            {
                rid         = rid,
                skill_id    = fight.id,
                skill_type  = fight.type,
                skill_genre = fight.genre,
                type_sub    = fight.typeSub,
                skill_state = (int)SkillLearnType.STUDYING,
                skill_level = 0,
                skill_time  = time,
            };

#if DEBUG
            XTrace.WriteLine("{0}:   {1}   {2}:   {3}", "当前技能的等级", skill.skill_level, "技能的学习状态 0:正在学习;1:学习完成", skill.skill_state);
#endif
            try
            {
                skill.Insert(); return(true);
            }
            catch { return(false); }
        }
Exemple #5
0
 /// <summary> 组装技能</summary>
 private Skill BuildSkill(tg_role_fight_skill skill)
 {
     return(skill == null ? null : new Skill {
         id = skill.id, baseid = skill.skill_id, level = skill.skill_level
     });
 }
Exemple #6
0
        /// <summary>技能升级过程处理</summary>
        public ASObject UpgradeSkill(TGGSession session, BaseFightSkillEffect nextskilleffect, tg_role_fight_skill skill, tg_role role, int power)
        {
            var user = session.Player.User.CloneEntity();
            var coin = user.coin;

            user.coin = user.coin - nextskilleffect.costCoin;
            if (user.coin < 0)
            {
                return(Result((int)ResultType.BASE_PLAYER_COIN_ERROR));                 //验证用户金钱信息
            }
            user.Update();
            session.Player.User = user;
            (new Share.User()).REWARDS_API((int)GoodsType.TYPE_COIN, user);  //向用户推送更新

            var time = nextskilleffect.costTimer * 60 * 1000;

            skill.skill_state = (int)SkillLearnType.STUDYING;
            skill.skill_time  = Common.GetInstance().Time(time);         //升级到达时间
            skill.Update();

            new Share.Role().PowerUpdateAndSend(role, power, user.id);    //推送体力更新
            var rolevo = (new Share.Role()).BuildRole(skill.rid);

            Common.GetInstance().SkillUpgrade(user.id, skill, time);                //开启升级线程

            //日志记录金钱消费
            var logdata = string.Format("{0}_{1}_{2}_{3}", "Coin", coin, nextskilleffect.costCoin, user.coin);

            (new Share.Log()).WriteLog(user.id, (int)LogType.Use, (int)ModuleNumber.SKILL, (int)SkillCommand.SKILL_FIGHT_UPGRADE, logdata);


            (new Share.DaMing()).CheckDaMing(user.id, (int)DaMingType.技能);
            return(new ASObject(Common.GetInstance().DataBuild((int)ResultType.SUCCESS, rolevo)));
        }
Exemple #7
0
 public SkillEntity()
 {
     skill       = new tg_role_fight_skill();
     skillEffect = new List <SkillEffects>();
 }