From 4d10ea9eb3ffdfbb2cf9614f417e27a9ad96fe22 Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期一, 24 六月 2019 20:41:03 +0800
Subject: [PATCH] 382 修正重击概率计算

---
 Fight/Actor/Skill/AttackHandler.cs |   54 ++++++++++++++++++++++++++++--------------------------
 1 files changed, 28 insertions(+), 26 deletions(-)

diff --git a/Fight/Actor/Skill/AttackHandler.cs b/Fight/Actor/Skill/AttackHandler.cs
index 86eda72..3cd007b 100644
--- a/Fight/Actor/Skill/AttackHandler.cs
+++ b/Fight/Actor/Skill/AttackHandler.cs
@@ -623,37 +623,12 @@
             }
         }
 
-        if (StatusMgr.Instance.TryGetSkillEffectValue(attacker.ServerInstID, 4526, out _effectValue))
-        {
-            bool _vaild = true;
-            if (_effectValue.value2 == 1)
-            {
-                if (attacker.SelectTarget == null
-                 || attacker.SelectTarget.ServerInstID != target.ServerInstID)
-                {
-                    _vaild = false;
-                }
-            }
-            if (_effectValue.value3 == 1)
-            {
-                if (skill.skillInfo.config.FuncType != (int)E_SkillFuncType.NormalAttack
-                 && skill.skillInfo.config.FuncType != (int)E_SkillFuncType.FaBaoActiveSkill)
-                {
-                    _vaild = false;
-                }
-            }
-            if (_vaild)
-            {
-                _aZhuXianHitRate += _effectValue.value1;
-            }
-        }
-
         #endregion
 
         _isMiss = IsMiss(_hitRate, _missRate);
         _isCrit = IsCrit(_aSuperHitRate);
         _isLucky = IsLucky(_aLuckyHitRate);
-        _isZhuxianHit = IsZhuXianHit(_aZhuXianHitRate);
+        _isZhuxianHit = false;//IsZhuXianHit(_aZhuXianHitRate);
         if (_isZhongJi)
         {
             _isCrit = true;
@@ -956,6 +931,33 @@
             }
         }
 
+        var _skill = _hero.SkillMgr.Get(skillId);
+
+        if (StatusMgr.Instance.TryGetSkillEffectValue(_hero.ServerInstID, 4526, out _effectValue))
+        {
+            bool _vaild = true;
+            if (_effectValue.value2 == 1)
+            {
+                if (_hero.SelectTarget == null
+                 || _hero.SelectTarget.ServerInstID != target.ServerInstID)
+                {
+                    _vaild = false;
+                }
+            }
+            if (_effectValue.value3 == 1)
+            {
+                if (_skill.skillInfo.config.FuncType != (int)E_SkillFuncType.NormalAttack
+                 && _skill.skillInfo.config.FuncType != (int)E_SkillFuncType.FaBaoActiveSkill)
+                {
+                    _vaild = false;
+                }
+            }
+            if (_vaild)
+            {
+                _rate += _effectValue.value1;
+            }
+        }
+
 #if UNITY_EDITOR
         var _random = Random.Range(0, 10000);
         var _result = _random < _rate;

--
Gitblit v1.8.0