From ac0dbed900eac50f0de2606e3a6b129981c22e46 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期三, 15 八月 2018 16:23:55 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 Fight/Actor/HeroBehaviour.cs |   34 +++++++++++++++++++++++++++-------
 1 files changed, 27 insertions(+), 7 deletions(-)

diff --git a/Fight/Actor/HeroBehaviour.cs b/Fight/Actor/HeroBehaviour.cs
index aa46d77..f384cd5 100644
--- a/Fight/Actor/HeroBehaviour.cs
+++ b/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)
         {

--
Gitblit v1.8.0