示例#1
0
        // 执行删除
        override public void processOneAttack()
        {
            Ctx.m_instance.m_logSys.fightLog(string.Format("[Fight] 开始处理死亡 {0}", m_card.getDesc()));
            // 死亡
            DieItem dieItem = null;

            dieItem = m_card.fightData.hurtData.createItem(EHurtType.eDie) as DieItem;
            dieItem.initDieItemData(m_card, m_msg);
            m_card.fightData.hurtData.allHurtExecEndDisp.uniqueId = UniqueId.DEBUG_ID_1;
            m_card.fightData.hurtData.allHurtExecEndDisp.addEventHandle(onDieEndHandle);
        }
示例#2
0
        // 攻击者攻击被击者
        protected void attackTo(SceneCardBase att, SceneCardBase def, EAttackType attackType, stNotifyBattleCardPropertyUserCmd msg)
        {
            if (att != null && def != null)
            {
                Ctx.m_instance.m_logSys.fightLog(string.Format("[Fight] 被击者详细信息 {0}", def.getDesc()));
                // 受伤
                HurtItemBase hurtItem = null;
                hurtItem = def.fightData.hurtData.createItem((EHurtType)attackType);
                hurtItem.initItemData(att, def, msg);
                def.fightData.hurtData.allHurtExecEndDisp.addEventHandle(onOneAttackAndHurtEndHandle);

                m_hurtList.Add(def.fightData.hurtData);
            }
        }
示例#3
0
 // 生成攻击数据,普通攻击 def 是有值的,技能攻击没有值
 protected void startAtt(SceneCardBase att, SceneCardBase def, EAttackType attackType, stNotifyBattleCardPropertyUserCmd msg)
 {
     if (att != null)
     {
         Ctx.m_instance.m_logSys.fightLog(string.Format("[Fight] 攻击者详细信息 {0}", att.getDesc()));
         // 攻击
         AttackItemBase attItem = null;
         attItem = att.fightData.attackData.createItem(attackType);
         attItem.initItemData(att, def, msg);
     }
 }
示例#4
0
        // 法术攻击有攻击木目标,如果不用选择攻击目标的法术攻击,服务器发送过来的攻击者是释放一边的英雄,技能攻击可能给自己回血,也可能给对方伤血
        protected void skillAttack(stNotifyBattleCardPropertyUserCmd msg)
        {
            Ctx.m_instance.m_logSys.fightLog("[Fight] 开始一次技能攻击");

            SceneCardBase att = null;
            SceneCardBase def = null;

            if (!attackCheck(msg.A_object.qwThisID, ref att))
            {
                Ctx.m_instance.m_logSys.fightLog("[Fight] 技能攻击攻击者无效");
            }

            if (att == null || att.sceneCardItem == null)
            {
                Ctx.m_instance.m_logSys.fightLog(string.Format("[Fight] 技能攻击攻击者卡牌 {0} 数据为null", att.getDesc()));
            }

            msg.m_origAttObject       = att.sceneCardItem.svrCard;
            att.sceneCardItem.svrCard = msg.A_object;

            startAtt(att, null, EAttackType.eSkill, msg);

            foreach (var svrCard in msg.defList)
            {
                if (!attackCheck(svrCard.qwThisID, ref def))
                {
                    Ctx.m_instance.m_logSys.fightLog("[Fight] 技能攻击被击者无效");
                }
                else
                {
                    msg.m_origDefObject       = def.sceneCardItem.svrCard;
                    def.sceneCardItem.svrCard = svrCard;

                    attackTo(att, def, EAttackType.eSkill, msg);
                }
            }
        }
示例#5
0
        // 攻击者攻击被击者
        protected void attackTo(SceneCardBase att, SceneCardBase def, EAttackType attackType, stNotifyBattleCardPropertyUserCmd msg)
        {
            if (att != null && def != null)
            {
                Ctx.m_instance.m_logSys.fightLog(string.Format("[Fight] 被击者详细信息 {0}", def.getDesc()));
                // 受伤
                HurtItemBase hurtItem = null;
                hurtItem = def.fightData.hurtData.createItem((EHurtType)attackType);
                hurtItem.initItemData(att, def, msg);
                def.fightData.hurtData.allHurtExecEndDisp.addEventHandle(onOneAttackAndHurtEndHandle);

                m_hurtList.Add(def.fightData.hurtData);
            }
        }
示例#6
0
 // 生成攻击数据,普通攻击 def 是有值的,技能攻击没有值
 protected void startAtt(SceneCardBase att, SceneCardBase def, EAttackType attackType, stNotifyBattleCardPropertyUserCmd msg)
 {
     if (att != null)
     {
         Ctx.m_instance.m_logSys.fightLog(string.Format("[Fight] 攻击者详细信息 {0}", att.getDesc()));
         // 攻击
         AttackItemBase attItem = null;
         attItem = att.fightData.attackData.createItem(attackType);
         attItem.initItemData(att, def, msg);
     }
 }