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

            if (pDef == null || pAtt == null)
            {
                return(false);
            }
            if (pAtt == pDef)
            {
                (Ctx.m_instance.m_uiMgr.getForm(UIFormID.eUIChat) as IUIChat).outMsg("普通攻击失败  怎么能自己打自己");
                return(false);
            }
            if (pAtt.playerSide == pDef.playerSide)
            {
                (Ctx.m_instance.m_uiMgr.getForm(UIFormID.eUIChat) as IUIChat).outMsg("普通攻击失败  普通攻击不能攻击自己的牌");
                return(false);
            }
            if (pAtt.isFreeze())
            {
                (Ctx.m_instance.m_uiMgr.getForm(UIFormID.eUIChat) as IUIChat).outMsg("普通攻击失败  你自己处于冻结中无法攻击");
                return(false);
            }
            if (!pDef.isHero() && !pDef.isAttend())
            {
                (Ctx.m_instance.m_uiMgr.getForm(UIFormID.eUIChat) as IUIChat).outMsg("普通攻击失败  你所攻击的对象既不是英雄也不是随从");
                return(false);
            }
            if (!pDef.preAttackMe(pAtt, rev))
            {
                (Ctx.m_instance.m_uiMgr.getForm(UIFormID.eUIChat) as IUIChat).outMsg("普通攻击失败  攻击验证失败");
                return(false);
            }
            if (!pAtt.hasDamage())
            {
                (Ctx.m_instance.m_uiMgr.getForm(UIFormID.eUIChat) as IUIChat).outMsg("普通攻击失败  你都没有攻击力 不能发起攻击");
                return(false);
            }
            if (pDef.isSneak())
            {
                (Ctx.m_instance.m_uiMgr.getForm(UIFormID.eUIChat) as IUIChat).outMsg("普通攻击失败  普通攻击不能打到潜行单位");
                return(false);
            }
            if (!pDef.isSneak()) //被攻击者隐形情况下,嘲讽无效
            {
                if (Ctx.m_instance.m_dataPlayer.m_dzData.m_playerArr[(int)EnDZPlayer.ePlayerEnemy].checkTaunt() && !pDef.hasTaunt())
                {
                    (Ctx.m_instance.m_uiMgr.getForm(UIFormID.eUIChat) as IUIChat).outMsg("普通攻击失败  你得攻击一个具有嘲讽的随从才行");
                    return(false);
                }
            }

            return(true);
        }