少年修仙传客户端代码仓库
client_Hale
2018-08-30 f2c2f38ee90214d7549d149a46f6e53b808f8767
Fixed #3125 自动战斗中技能释放中点击翻滚没反应
4个文件已修改
103 ■■■■ 已修改文件
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0419_tagPlayerReborn.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/AI/HeroAI_Auto.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/AI/HeroAI_KillUntilDie.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/HeroBehaviour.cs 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0419_tagPlayerReborn.cs
@@ -1,7 +1,7 @@
using Snxxz.UI;
using TableConfig;
using UnityEngine;
//04 19 玩家重生#tagPlayerReborn
//04 19 �������#tagPlayerReborn
@@ -50,19 +50,18 @@
                PlayerDatas.Instance.baseData.PosY = vNetData.PosY;
                _hero.LockTarget = null;
                // 副本中 或者 非副本中但是勾选了自动复活
                if (DungeonStage.CurrentMapType != MapType.OpenCountry
                 || (DungeonStage.CurrentMapType == MapType.OpenCountry
                  && HangUpSetModel.Instance.GetBool(HangUpAutoBoolType.isAutoReborn)))
                {
                    switch (vNetData.Type)
                    {
                        case 0:// 安全区复活
                        case 0:
                            _hero.Behaviour.StopHandupAI();
                            _hero.Behaviour.StopKillUntilDieAI();
                            break;
                        case 2:// 花钱复活
                        case 3:// 道具复活
                        case 2:
                        case 3:
                            if (DTC0609_tagPlayerDie.isAutoFight)
                            {
                                _hero.Behaviour.StartHandupAI();
Fight/Actor/AI/HeroAI_Auto.cs
@@ -258,7 +258,6 @@
                    }
                }
                break;
        }
@@ -267,7 +266,7 @@
        {
            return;
        }
        if (m_DecideSkill != null)
        {
            _skill = m_DecideSkill;
@@ -280,8 +279,7 @@
        bool _forceMove = _skill.skillInfo.soFile != null && _skill.skillInfo.soFile.forceMove;
        if (!_forceMove && !IsSkillNeedMove(_skill.skillInfo.config.Tag,
                            (E_SkillType)_skill.skillInfo.config.SkillType))
        if (!_forceMove && !IsSkillNeedMove(_skill.skillInfo.config.Tag, (E_SkillType)_skill.skillInfo.config.SkillType))
        {
            _hero.Behaviour.DoAttack(_skill);
            m_DecideSkill = null;
@@ -361,14 +359,26 @@
            if (_hero.Behaviour.IsComAtk(_skill.id))
            {
                _hero.Behaviour.DoCommonAttack();
                m_DecideSkill = null;
                m_UserClickSkillID = -1;
                if (m_DecideSkill != null && m_DecideSkill.id == _skill.id)
                {
                    m_DecideSkill = null;
                }
                if (_skill.id == m_UserClickSkillID)
                {
                    m_UserClickSkillID = -1;
                }
            }
            else
            {
                _hero.Behaviour.DoAttack(_skill);
                m_DecideSkill = null;
                m_UserClickSkillID = -1;
                if (m_DecideSkill != null && m_DecideSkill.id == _skill.id)
                {
                    m_DecideSkill = null;
                }
                if (_skill.id == m_UserClickSkillID)
                {
                    m_UserClickSkillID = -1;
                }
            }
        }
Fight/Actor/AI/HeroAI_KillUntilDie.cs
@@ -113,7 +113,6 @@
            m_TargetID = 0;
            _hero.aiHandler.currentType = E_HeroAIType.None;
            _hero.StopRush();
            return;
        }
        // 攻击间隔中
@@ -174,10 +173,11 @@
        bool _forceMove = _skill.skillInfo.soFile != null && _skill.skillInfo.soFile.forceMove;
        if (!_forceMove
        if (_target == null ||
            (!_forceMove
         && !_hero.IsRushing // 不处于移动至目标
         && !IsSkillNeedMove(_skill.skillInfo.config.Tag,
                            (E_SkillType)_skill.skillInfo.config.SkillType))
                            (E_SkillType)_skill.skillInfo.config.SkillType)))
        {
            _hero.Behaviour.DoAttack(_skill);
            m_LimitOnce = true;
Fight/Actor/HeroBehaviour.cs
@@ -116,61 +116,6 @@
        m_WillUsedSkillID = skillID;
        GActorFight _fightTarget = m_Hero.LockTarget as GActorFight;
        if (_fightTarget != null)
        {
            m_Hero.SelectTarget = _fightTarget;
        }
        else
        {
            _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.SelectTarget as GActorFight;
        // 找不到可以攻击的目标, 这里直接释放技能
        if (_fightTarget == null
         || !_fightTarget.CanAtked()
         || (_skill.skillInfo.config.Skillactmark == GAStaticDefine.Act_Roll
          && !m_Hero.IsRushing))
        {
            bool _canCast = true;
            if (m_Hero.SkillMgr.CurCastSkill != null)
            {
                if (m_Hero.SkillMgr.CurCastSkill.SkillCompelete == false)
                {
                    _canCast = false;
                }
            }
            if (_canCast)
            {
                if (skillID >= 0 && !IsComAtk(skillID))
                {
                    DoAttack(_skill);
                }
                else
                {
                    DoCommonAttack();
                }
            }
            m_WillUsedSkillID = -1;
            return;
        }
        if (_skill.skillInfo.config.CastTime > 0)
        {
            _skill.CSkillPrepareEnd = false;
@@ -180,12 +125,15 @@
        {
            byte _type = (byte)E_HeroAIType.KillUntilDie;
            KillUntilDieData _data = m_Hero.aiHandler.aiData[_type] as KillUntilDieData;
            _data.targetServerInstID = m_Hero.SelectTarget.ServerInstID;
            if (m_Hero.SelectTarget != null)
            {
                _data.targetServerInstID = m_Hero.SelectTarget.ServerInstID;
            }
            _data.defaultSkillID = m_WillUsedSkillID;
            m_Hero.aiHandler.currentType = E_HeroAIType.KillUntilDie;
        }
        if(OnUserClickSkill != null)
        if (OnUserClickSkill != null)
        {
            OnUserClickSkill(m_WillUsedSkillID);
        }