少年修仙传客户端代码仓库
client_Hale
2018-08-15 c25bc04c1201f68bfa0373165985cd1a776892b3
Fight/Actor/HeroBehaviour.cs
@@ -106,20 +106,28 @@
        m_WillUsedSkillID = skillID;
        GActorFight _fightTarget = m_Hero.SelectTarget as GActorFight;
        GActorFight _fightTarget = m_Hero.LockTarget as GActorFight;
        if (_fightTarget != null && _fightTarget.CanAtked())
        if (_fightTarget != null)
        {
            m_Hero.LockTarget = m_Hero.SelectTarget;
            m_Hero.SelectTarget = _fightTarget;
        }
        else
        {
            float _range = m_Hero.JobSetup.SearchEnemyDist * Constants.F_DELTA;
            GActorFight _findTarget = GAMgr.Instance.FindAtkTarget(m_Hero.Pos, _range, 360);
            m_Hero.LockTarget = m_Hero.SelectTarget = _findTarget;
            _fightTarget = m_Hero.SelectTarget as GActorFight;
            if (_fightTarget != null && _fightTarget.CanAtked())
            {
                m_Hero.LockTarget = m_Hero.SelectTarget;
            }
            else
            {
                float _range = m_Hero.JobSetup.SearchEnemyDist * Constants.F_DELTA;
                m_Hero.LockTarget = m_Hero.SelectTarget = GAMgr.Instance.FindAtkTarget(m_Hero.Pos, _range, 360);
            }
        }
        _fightTarget = m_Hero.LockTarget as GActorFight;
        _fightTarget = m_Hero.SelectTarget as GActorFight;
        // 找不到可以攻击的目标, 这里直接释放技能
        if (_fightTarget == null
@@ -382,6 +390,7 @@
            _hitTestLimit = 10;
        }
        E_SkillCastType _castType = (E_SkillCastType)(skill.skillInfo.config.Tag % 10);
        E_SkillCastTarget _targetType = (E_SkillCastTarget)(skill.skillInfo.config.Tag / 10);
        if (UserInputHandler.isTouched)
        {
@@ -494,6 +503,17 @@
            skill.targetPosition = m_Hero.Pos;
        }
        if (_targetType == E_SkillCastTarget.CanAttacked)
        {
            if (m_Hero.SelectTarget != null)
            {
                if (StatusMgr.Instance.IsInvincible(m_Hero.SelectTarget.ServerInstID))
                {
                    GAStaticDefine.PopHp(m_Hero, m_Hero.SelectTarget, (int)HurtAttackType.Immune, 0);
                }
            }
        }
        // 判断当前目标是否可以加入可攻击列表中
        if (m_Hero.LockTarget is GA_NpcClientFightNorm)
        {