Exemplo n.º 1
0
        /// <summary>
        /// 对随从动作
        /// </summary>
        /// <param name="game"></param>
        /// <param name="Minion"></param>
        /// <returns></returns>
        String IAtomicEffect.DealMinion(ActionStatus game, Card.MinionCard Minion)
        {
            int TurnCount = int.Parse(持续回合);

            if (TurnCount == CardUtility.Max)
            {
                Minion.攻击力   = ExpressHandler.PointProcess(Minion.攻击力, 攻击力);
                Minion.生命值   = ExpressHandler.PointProcess(Minion.生命值, 生命值);
                Minion.生命值上限 = ExpressHandler.PointProcess(Minion.生命值上限, 生命值);
                return(Server.ActionCode.strPoint + CardUtility.strSplitMark + Minion.战场位置.ToString() + CardUtility.strSplitMark +
                       Minion.攻击力.ToString() + CardUtility.strSplitMark + Minion.生命值.ToString() + CardUtility.strSplitMark + Minion.生命值上限.ToString());
            }
            else
            {
                //本回合攻击力翻倍的对应
                Minion.本回合攻击力加成 = ExpressHandler.PointProcess(Minion.攻击力, 攻击力) - Minion.攻击力;
                Minion.本回合生命力加成 = ExpressHandler.PointProcess(Minion.生命值上限, 生命值) - Minion.生命值上限;
                return(Server.ActionCode.strPoint + CardUtility.strSplitMark + Minion.战场位置.ToString() + CardUtility.strSplitMark +
                       Minion.本回合攻击力加成.ToString() + CardUtility.strSplitMark + Minion.本回合生命力加成.ToString());
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 对法力水晶的法术实施
        /// </summary>
        /// <param name="role"></param>
        /// <param name="Ability"></param>
        public List <string> RunEffect(ActionStatus game, Utility.CardUtility.目标选择方向枚举 Direct)
        {
            List <string> Result = new List <string>();

            switch (Direct)
            {
            case CardUtility.目标选择方向枚举.本方:
                game.AllRole.MyPublicInfo.crystal.CurrentRemainPoint = ExpressHandler.PointProcess(game.AllRole.MyPublicInfo.crystal.CurrentRemainPoint, 获得法力水晶);
                game.AllRole.MyPublicInfo.crystal.CurrentFullPoint   = ExpressHandler.PointProcess(game.AllRole.MyPublicInfo.crystal.CurrentFullPoint, 获得空法力水晶);
                break;

            case CardUtility.目标选择方向枚举.对方:
                game.AllRole.YourPublicInfo.crystal.CurrentRemainPoint = ExpressHandler.PointProcess(game.AllRole.YourPublicInfo.crystal.CurrentRemainPoint, 获得法力水晶);
                game.AllRole.YourPublicInfo.crystal.CurrentFullPoint   = ExpressHandler.PointProcess(game.AllRole.YourPublicInfo.crystal.CurrentFullPoint, 获得空法力水晶);
                break;

            case CardUtility.目标选择方向枚举.双方:
                game.AllRole.MyPublicInfo.crystal.CurrentRemainPoint   = ExpressHandler.PointProcess(game.AllRole.MyPublicInfo.crystal.CurrentRemainPoint, 获得法力水晶);
                game.AllRole.MyPublicInfo.crystal.CurrentFullPoint     = ExpressHandler.PointProcess(game.AllRole.MyPublicInfo.crystal.CurrentFullPoint, 获得空法力水晶);
                game.AllRole.YourPublicInfo.crystal.CurrentRemainPoint = ExpressHandler.PointProcess(game.AllRole.YourPublicInfo.crystal.CurrentRemainPoint, 获得法力水晶);
                game.AllRole.YourPublicInfo.crystal.CurrentFullPoint   = ExpressHandler.PointProcess(game.AllRole.YourPublicInfo.crystal.CurrentFullPoint, 获得空法力水晶);
                break;

            default:
                break;
            }
            //Crystal#ME#4#4
            if (Direct == CardUtility.目标选择方向枚举.本方)
            {
                Result.Add(ActionCode.strCrystal + CardUtility.strSplitMark + CardUtility.strMe + CardUtility.strSplitMark +
                           game.AllRole.MyPublicInfo.crystal.CurrentRemainPoint + CardUtility.strSplitMark + game.AllRole.MyPublicInfo.crystal.CurrentFullPoint);
            }
            else
            {
                Result.Add(ActionCode.strCrystal + CardUtility.strSplitMark + CardUtility.strYou + CardUtility.strSplitMark +
                           game.AllRole.YourPublicInfo.crystal.CurrentRemainPoint + CardUtility.strSplitMark + game.AllRole.YourPublicInfo.crystal.CurrentFullPoint);
            }
            return(Result);
        }