Пример #1
0
        // 判断能否进行法术攻击
        public bool cardSkillAttack(DZPlayer user, stCardAttackMagicUserCmd rev)
        {
            SceneCardItem pAtt = getCardItemByThisID(rev.dwAttThisID);

            if (pAtt == null)
            {
                return(false);
            }
            if (!pAtt.isMagicCard() && !pAtt.isHeroMagicCard())
            {
                (Ctx.m_instance.m_uiMgr.getForm(UIFormID.eUIChat) as IUIChat).outMsg("释放技能失败  技能拥有者既不是法术 也不是英雄能力");
                return(false);
            }
            if (!user.checkMp(pAtt.m_cardTableItem.m_magicConsume))
            {
                (Ctx.m_instance.m_uiMgr.getForm(UIFormID.eUIChat) as IUIChat).outMsg(string.Format("释放技能失败  这个技能需要你有{0}个法力水晶才可以", pAtt.m_cardTableItem.m_magicConsume));
                return(false);
            }
            if (pAtt.m_cardTableItem.m_bNeedFaShuTarget > 0 && (rev.dwDefThisID == 0))
            {
                (Ctx.m_instance.m_uiMgr.getForm(UIFormID.eUIChat) as IUIChat).outMsg("释放技能失败  这个技能需要你手动选择一个目标");
                return(false);
            }
            if (pAtt.isHeroMagicCard() && !pAtt.checkAttackTimes())
            {
                (Ctx.m_instance.m_uiMgr.getForm(UIFormID.eUIChat) as IUIChat).outMsg("释放技能失败  英雄能力每回合只能使用一次");
                return(false);
            }

            return(true);
        }