Exemplo n.º 1
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)));
        }
Exemplo n.º 2
0
 private static BaseHeZhanSkillEffect BuildData(BaseFightSkillEffect temp)
 {
     return(new BaseHeZhanSkillEffect
     {
         skillid = temp.skillid,
         level = temp.level,
         effects = temp.effects,
         condition = temp.condition,
     });
 }